Skip to content

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

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

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Labels

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions