A dummy staking pool implementation based on EVM.
Liquidity providers (of an arbitrary automated market making protocol) should be rewarded for long-term liquidity provision. Therefore they can stake their LP tokens in a smart contract that, over time, rewards them with honorable badges.
- liquidity providers can stake their LP tokens
- after a certain time period has passed they can claim a non-transferable badge once
- the badge should follow the non-fungible token or multi-token standard
- how long this time period takes should be dependent on the amount of staked tokens (large-scale LPs should get their badge faster)
- there are three badge levels, distinguishable by their metadata
- stakers first can claim a "level-1 badge", if they continue to stake, they can at some point claim a "level-2 badge" and so forth
- every time a staker claims their badge from the next level they lose all badges from lower levels
- NodeJs: ^16.15.0
- NPM: ^8.11.0
Install dependencies:
npm install
- Deploy contracts to local network:
npm run deploy
- Test contracts:
npm run test