Staking Dapp with front-end that allows users to stake various ERC20 tokens and earn a yield in a custom token ProjectToken
. The contract interact with Aave and Compound to deposit the token received from the users and earn a yield.
- ERC20 Token:
ProjectToken.sol
- Staking contract:
StakingContract.sol
, current version on kovan: 0x31d314c0eC0A3d78Ce559D575DB2072334d5F354 - Interface to interact with lending protocol:
ILendingProtocol
- Implementation of that interface for Aave and Compound.
- Unit tests for every functions
- Integrations test on Kovan testnet
- Remove contracts not related to StakingContract: flashloan stuff, uniswap, ...
- get second account and differentiate between deployer and user in integratioins tests
- rewrite integration test for new implementation
- add nicer interface for front-end: graphs with token staked, yield earned, ...
- Token: deployment script
- Token: tests
- better way of issuing token to stakers
- deploy script
- test
- add Aave deposit/withdraw
- test "
- proxy to deposit on aave or compound, contract that take care of sending token x to one protocol and x to another
- Add Aave interaction
- Aave: deployment script
- Aave: tests
- Add Compound interaction
- C: deployment script
- C: tests
- Lending protocol Interface
- Adapt contract to use several lending protocol
- security/error handling
- DAO