About the Hackathon
# 🧭 Overview
Join [Dexponent's Discord Channel](https://discord.com/invite/yermEKz6rc)
Welcome to the inaugural round of the Dexponent Hackathon Festival! This event invites developers worldwide to contribute to the Dexponent ecosystem by building innovative solutions. In this round, participants will focus on creating an intuitive, multi-step wizard that enables Asset Managers to define and deploy new Farms within the Dexponent protocol.
**Objective:**
Develop a user-friendly, multi-step wizard interface that allows Asset Managers to:
1. - Define Farm parameters (e.g., strategy type, target APY, collateral assets).
2. - Set verifier requirements and risk profiles.
3. - Preview expected Sharpe benchmarks and fee structures.
4. - Deploy the Farm with a clear transaction summary.
# 🛠️ What to Build
**Objective:** Develop a user-friendly, multi-step wizard interface that enables Asset Managers to define and deploy new Farms within the Dexponent protocol.
**🔹 Core Features**
**1. Multi-Step Form Wizard:**
- Implement a multi-step form that guides users through the Farm creation process.
- Each step should collect specific information, such as strategy type, target APY, collateral assets, and verifier requirements.
- Ensure smooth navigation between steps, with the ability to go back and edit previous inputs.
**2. Real-Time Data Integration:**
- Integrate with Uniswap V3's TWAP oracle to fetch real-time price data for selected assets.
- Use this data to provide immediate feedback on expected Sharpe benchmarks and fee structures.
**3. Form Validation and User Feedback:**
- Implement client-side validation for each form step to ensure data integrity.
- Provide clear error messages and guidance to assist users in correcting input errors.
**4. Deployment Summary:**
- Before final submission, present a comprehensive summary of all inputs and calculated metrics.
- Allow users to review and confirm their configurations before deploying the Farm.
**🔹 Recommended Technologies**
**Frontend:**
- React.js with libraries like Formik or React Hook Form for form management.
- Tailwind CSS for styling and responsive design.
- State management tools like Zustand or Context API.
**Data Fetching:**
- React Query or Axios for API calls to fetch real-time data.
**Blockchain Interaction:**
- Ethers.js or Web3.js for interacting with smart contracts.
- Integration with MetaMask or WalletConnect for user authentication and transaction signing.
# 📤 What to Submit
Participants are expected to submit the following components:
**Source Code Repository:**
- A public GitHub repository containing all source code, organized and documented.
- Include a README file with setup instructions, technologies used, and any other relevant information.
**Deployed Application:**
- A live, deployed version of the application accessible via a public URL (e.g., Vercel, Netlify).
- Ensure the application is fully functional and mirrors the features described in the "What to Build" section.
**Documentation:**
- Detailed documentation explaining the application's architecture, components, and any assumptions made.
- Instructions for setting up the development environment and deploying the application.
# 🛠️ Technical Requirements
**Frontend:**
- Implement a multi-step form wizard using frameworks like React with react-hook-form and Tailwind CSS for styling.
- Ensure responsive design and intuitive navigation between steps.
- Include real-time validation and contextual help for form fields.
**Backend/Smart Contracts:**
- Integrate with Uniswap V3's TWAP oracle to fetch real-time price data for assets.
- Utilize or extend existing smart contracts to handle Farm deployment logic.
- Ensure secure and efficient interaction with the blockchain for deploying Farms.
**Data Handling:**
- Manage form state across steps using state management libraries like Zustand.
- Handle user inputs securely and validate data before submission.
# 📥 Input Data
Participants will work with the following inputs:
**User Inputs:**
- Strategy type selection (e.g., yield farming, liquidity provision).
- Target APY and risk tolerance levels.
- Selection of collateral assets from a predefined list.
- Verifier requirements and staking rules.
**External Data:**
- Real-time price feeds from Uniswap V3 TWAP oracle for selected assets.
- Predefined templates or examples of existing Farms for reference.
# ✅ Expected Outcomes
**Functional Wizard Interface:**
- A seamless, multi-step form guiding Asset Managers through Farm creation.
- Real-time previews of expected returns and risk assessments based on inputs.
- Clear transaction summaries before deployment.
**Smart Contract Interaction:**
- Successful deployment of new Farms to the blockchain via the wizard.
- Proper handling of verifier staking requirements and collateral management.
**User Experience:**
- Responsive and accessible design suitable for various devices.
- Informative feedback and error messages to guide users.
- Integration of contextual help and tooltips for complex fields.
# 📚 Resources & References
**Uniswap V3 TWAP Oracle Integration:**
- [Uniswap V3 Oracle Guide](https://docs.uniswap.org/sdk/v3/guides/advanced/price-oracle)
- [Uniswap V3 TWAP Oracle in Proof of Stake ](https://blog.uniswap.org/uniswap-v3-oracles)
**Form Wizard Implementation:**
- [React Hook Form Wizard Tutorial](https://betweendata.io/posts/build-wizard-react/)
- [Tailwind CSS Multi-Step Form Guide ](https://lexingtonthemes.com/tutorials/how-to-create-a-dynamic-multiple-step-form-with-tailwind-css-and-alpinejs/)
**Smart Contract Examples:**
- [OpenZeppelin ERC20 Token Example ](https://forum.openzeppelin.com/t/simple-erc20-token-example/4403)
# 🎯 Evaluation Criteria
Submissions will be assessed based on:
**Functionality**: Completeness and correctness of the wizard's features.
**User Experience**: Ease of use, clarity, and responsiveness of the interface.
**Technical Implementation**: Quality of code, integration with smart contracts, and use of best practices.
**Innovation**: Creative approaches to enhancing the Farm creation process.
# 🎁 Rewards & Recognition
Participants in this round will earn contribution points based on the quality and impact of their submissions. These points will accumulate over the course of the Hackathon Festival and will determine the distribution of rewards from the $500,000 prize pool.
By contributing to this challenge, developers become integral members of the Dexponent community, gaining recognition and the opportunity to shape the future of the protocol.
# 📣 Join the Community
Engage with fellow participants, seek guidance, and share your progress on our Discord channels. Stay updated with announcements and showcase your work on Twitter using the hashtag #DexponentHackathon.
*Let's build the future of decentralized finance together!*