Coding Challenges
The second part of the onboarding process consists of Solidity and security challenges. These challenges are designed to assess your ability to write efficient, secure, and maintainable Solidity code. By completing these challenges, you will strengthen your Solidity development and testing skills, improve your understanding of security vulnerabilities, and become more familiar with Wonderland's coding standards and best practices.
📄️ Coding Challenges
The second part of the onboarding process consists of Solidity and security challenges. These challenges are designed to assess your ability to write efficient, secure, and maintainable Solidity code. By completing these challenges, you will strengthen your Solidity development and testing skills, improve your understanding of security vulnerabilities, and become more familiar with Wonderland's coding standards and best practices.
📄️ Swapper
In this challenge, you’ll create a Swapper Contract that allows users to pool tokens, swap them collectively, and withdraw the results without needing to trust a central party. Divided into three tasks, this challenge will teach you how to build DeFi tools, interact with DEXs like Uniswap, and automate workflows using Keep3r.
📄️ Oracle Relayer
The aim here is to create a Price Oracle Contract that aggregates on-chain price data from multiple sources like Uniswap, Curve, and Chainlink. Divided into three tasks, this challenge will teach you how to build a flexible and robust price oracle, interact with multiple DeFi protocols, and implement advanced pricing mechanisms like TWAP.
📄️ Flashloan
Now, you’ll create a Flash Loan Contract that enables users to borrow funds instantly and repay them within a single transaction. Divided into three tasks, you’ll learn how to build flash loans, execute arbitrage strategies between DEXs, and aggregate loans from multiple providers (Aave, Uniswap, and your contract).
📄️ Security
Flawed logic will be exploited in smart contracts, particularly when funds are involved. Therefore, it is crucial for developers to understand the intricacies of the field and learn not to write code just to finish a task. Hasty programming as well as a lack of grasp of the potential attacks employed to exploit smart contracts are recipes for disaster.