Enso tokens are staked in the
Staking contract, which authorizes
RewardDistribution to mint
sEnso tokens to the staker.
staking for 730 days provides 300% boost in
sEnso tokens and declines linearly to a minimum of 14 days. Stake can be extended or more tokens may be added later although full boost will not apply.
RewardDistribution contract distributes rewards to
sEnso holders proportional to balance.
sEnso token integrates ERC20VotesComp allowing GovernerBravo integration. Similar to UniSwap,
governance can choose to mint a cap of
2% additional supply per year. Governance can vote to increase cap of
2% on one occasion: this is a disaster recovery method.
- Users can stake anywhere between 14-730 days
- Minimum stake amount is 0.000000000000017520 enso
- Stake can be extended 14-n days (n = 730 - days elapsed)
- Bonus = amount (stake_days / 730) 3
- More enso tokens can be added to the stake with the boost reward relative to days remaining in current stake
- Once a stake has expired, user must call
restake()to stake again, or else
unstake()to begin a 14 day timelock to withdraw enso tokens.
- Anyone can add to another persons stake. user must send initial tx to create stake however. stakes can not be extended on behalf of someone else.
- Rewards can be claimed anytime before a user calls
unstake()and begins the process to withdraw his tokens
- If they haven't unstaked, users can continue claim rewards after the stake expires.
- Users can choose to reinvest their earning into their current stake as long as the stake time has not expired.
- Enso token is the only reward token accepted
Contract source code can be found in Github repository.