GoodDollar is a non-profit project, delivering digital basic income to tens of thousands of daily users in the form of the G$ token.
Currently the FuseStaking contract donates all earned rewards from staked Fuse. It uses the rewards to buyback G$s on Fuseswap and splits those G$s between the UBI Pool and a Community Pool
This bounty is about upgrading the FuseStaking contract with a feature that allows users to stake with G$ and also earn rewards pro-rata
There's another bounty here to Add this functionality to the wallet
Educate our citizens about savings, investment and DEFI
Details
The current FustStaking (here:``) distributes the earnings to the UBI pool and a Community pool according to pre-defined ratio.
[ ] add another ratio that will set how much out of the earnings will be allocated to reward the stakers
[ ] use BaseShare.sol to add Staking token capabilities and pro-rata rewards
[ ] add a method to set the different ratios. require that they add up to 100%
Implement the Stakers pool functionality
[ ] every day when collecting rewards update the amount that is kept for stakers
[ ] when user stakes he should be able to specify if he wants to donate his rewards or not (0 or 100) (user forfeits his G$ rewards and they will go to the UBI/community pool according to their respective ratios
Update stake method
[ ] no msg.value try to collect G$s using transferFrom
[ ] swap G$s to Fuse on fuseswap
[ ] update user stakes/productivity in Fuse tokens. (Also keep a total of the original G$ amounts he staked)
[ ] staking distributes pending rewards
Update withdraw method
[ ] allow user to specify how much to withdraw
[ ] withdrawing distributes pending rewards
[ ] update user stakes/productivity
Protect against manipulation. Currently we dont convert Fuse to G$ if price impact is more than X%. this might not be enough if price is manipulated just before. (ie deposting lots of G$ but little Fuse).
[ ] use price impact over uniswap TWAP or suggest a different protection method
GoodDollar is a non-profit project, delivering digital basic income to tens of thousands of daily users in the form of the G$ token.
Currently the FuseStaking contract donates all earned rewards from staked Fuse. It uses the rewards to buyback G$s on Fuseswap and splits those G$s between the UBI Pool and a Community Pool
This bounty is about upgrading the FuseStaking contract with a feature that allows users to stake with G$ and also earn rewards pro-rata There's another bounty
here
to Add this functionality to the walletJoin https://t.me/GoodDollarBounties to learn more
Motivation
Details