Skip to content

Staking with G$ on mainnet and fuse earning G$ rewards #207

@sirpy

Description

@sirpy
  • Upgrade StakersDistribution -> StakersGOODDistribution
    • can we modify it so GOOD rewards are updated after each deposit and not once per month?
    • that would require to update all contracts cumulative rewards so far. (simulate like user is staking in all contracts)
    • what would be the gas cost effect of doing that on stake/withdraw operations?
  • Upgrade GovernanceStaking -> GoodDollarStaking - update to also accrue rewards paid in G$
    • fuse: G$ rewards minted directly through G$ sidechain token contract
    • rewards should be based on a fixed APY (if rewards are set to 5%, your stake is compounded so it earns 5% a year)
    • user should be able to set how much of APY to give back (giveBackRatio) to DAO (min 10% - parameter)
    • notice that when transfering LP tokens, they should inherit the receiver avg donation ratio
    • define guardian role - on top of avatar - can pause, set params
    • method to collect ubi
  • Adapt GoodDollarStaking to mainnet
    • G$ rewards minted through reserve
    • should work with GoodFundManager (implement method collectInterestUBI)
    • need to have permission to mintRewardFromRR at the reserve
    • collectInterestUBI
      • mint current donated rewards according to giveback ratio
      • transfer to UBIScheme via bridge
      • emit event
  • ReserveBridgeBalancer - a new contract
    • since on fuse/sidechains G$ rewards are minted on the sidechain, the bridge needs to be able to back those rewards
    • suggest balancing/keeper mechanism and formula to mint G$ and send them to bridge
  • Strategies - staked G$ should not sit idle, it could be used for example for LP
    • research existing protocols using strategies and their contracts for that
    • suggest architecture for strategies and a strategy for LP
    • issues to consider: buffer for withdrawing, refilling buffer, buying/selling LP(or strategy) front running protection

Metadata

Metadata

Labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions