Improving Angle Staking Contracts

For the moment our staking contracts only support one staking token and one reward token. There are some better staking contracts and models that have been implemented and that could help us grow faster and integrate with more protocols.

Two models which are worth looking:

Sushi / FEI Model with the MasterChefV2 / TribalChief Contracts
Pros:

  • Basically instead of having one RewardsDistributor and multiple StakingRewards contracts, we would just need one contract. This could allow us to support multiple reward tokens for a given staking contract, to facilitate the way rewards are distributed across the different staking pools.
  • There would in addition be the possibility to claim all rewards in a single function call
    Cons:
  • Our infrastructure has been audited, it is based on forked contracts, and there would be some time to migrate to this new infrastructure (and for us to be fully comfortable with our implementation in the Angle protocol)
  • Besides, people have spent gas to stake, we cannot ask them to migrate right away

** Curve / FRAX with voting escrowed tokens **

Pros:

  • This is a battle tested infrastructure which works super well in terms of tokenomics: people need to lock up their tokens to gain voting power. It creates virtuous circles of “no dumping” and incentivizes long term holders to come. The two main benefits are that it allocates voting power to long-term holders of ANGLE through what would be veANGLE and it incentivizes farmers to stake ANGLE
  • We could imagine protocols like Convex being built on top of Angle
  • The gauge system is close to what we have now where the rewards distributor allocates it to the different staking contracts
    Cons:
  • This is hard to implement, the contracts are complex and we would need to adapt it to our system. it took several months to Frax
  • You cannot do multiple reward tokens with this