Staking System Mechanics
When a User stakes their SPOOL Tokens they interact with the SpoolStaking Contract. This contract in turn interacts with the voSPOOL Contract, the voSPOOL Rewards contract and the RewardDistributor Contract.
The form of the voSPOOL Token Contract is that of a of non-standard ERC20 implementation. The Contract tracks the respective voSPOOL holdings of Users. The voSPOOL Rewards Contract grants voSPOOL Holders rewards in SPOOL Tokens. The RewardDistributor both holds and sends the aforementioned rewards as well as the regular SPOOL Staking Rewards.
- 1.User deposits their SPOOL Tokens to the SpoolStaking Contract
- 1.
- 2.User accrues SPOOL Token Rewards for staking
- 3.User accrues SPOOL Token Rewards for holding voSPOOL
- 2.User claims their SPOOL Rewards
- 1.The RewardDistributor Contract is responsible for sending out the following rewards:
- 1.SPOOL Token Rewards for staking
- 2.voSPOOL SPOOL Token rewards for holding
- 3.User (partially) withdraws their staked SPOOL
- 1.voSPOOL for the User is set to zero
- 2.All accumulated rewards can still be claimed
- 3.User receives their initial SPOOL Token stake from the SpoolStaking Contract