A decentralized finance (DeFi) project featuring Reactive smart contracts for flash lending and vault management, built on Ethereum-compatible networks.
- Flash Lending: Secure and efficient flash loan functionality
- Vault Management: AmmunitionVault for asset storage and management
- Mock ERC20 Token: For testing and development purposes
- Keeper Service: Automated monitoring and maintenance scripts
- Web Frontend: User-friendly interface built with Next.js
- AI Analytics Assistant: An AI-powered chatbot to help users analyze vault performance and strategies.
/
├── contract/ # Solidity smart contracts (Foundry)
├── frontend/ # Next.js web application
├── keeper/ # TypeScript keeper service
├── README.md # This file
└── .gitignore # Git ignore rules
- Node.js (v18 or higher)
- npm or yarn
- Foundry (for smart contracts)
-
Navigate to the contract directory:
cd contract -
Install dependencies:
forge install
-
Build the contracts:
forge build
-
Run tests:
forge test
-
Navigate to the frontend directory:
cd frontend -
Install dependencies:
npm install
-
Run the development server:
npm run dev
-
Open http://localhost:3000 in your browser.
-
Navigate to the keeper directory:
cd keeper -
Install dependencies:
npm install
-
Configure environment variables (create
.envfile if needed) -
Run the keeper service:
npm start
- MockERC20 (asset):
0x941187A0A47CEeC2fCE06AF8f19A44335339E989 - FlashLender:
0x8670a8390c8d58883CFD009AaaD928faFfa18e33 - AmmunitionVault:
0xa965aFC08A95038aC92e5eC6590d3508CE1b6ACD
- Make sure all components are set up as described above
- Use the frontend to interact with the contracts
- Monitor the keeper service logs for automated operations
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
For questions or support, please open an issue in the repository.