GIP-12: Compensate users who received fewer GFI rewards due to StakingRewards bug

Summary

To compensate users who received fewer GFI rewards due to an unintentional bug in the StakingRewards contract, we propose transferring the equivalent amount of GFI from the Goldfinch Treasury to the affected users.

If approved, ~2923 GFI will be transferred to the affected 23 unique wallet addresses.

Motivation

We should do our best to honor and uphold the intended design of the protocol. The StakingRewards contract behaved in an unexpected way, and users should not be penalized for interacting with the contract.

Background

Due to a missing modifier on the unstakeMultiple function in StakingRewards, users received less GFI rewards than they should have when unstaking their positions. The modifier contained logic to checkpoint rewards before unstaking. Omitting the modifier meant that users only received GFI rewards up to the previous checkpoint.

The usage of the erroneous unstakeMultiple function has been temporarily removed from the frontend, so the bug is no longer affecting users of the Goldfinch dApp. The proper smart contract fix has been put in place, and will be deployed in the upcoming weeks.

In total, 23 unique wallet addresses lost ~2923 GFI rewards between April 30 to May 13.

Methodology

To calculate the amount of GFI that should have been disbursed to each affected user, we simulated a getReward transaction at the block number in which the original unstakeMultiple transaction was executed. The output of the getReward transaction represents the exact amount of GFI that should have been claimable when the user unstaked a position at that block number; it accounts for checkpointing and slashing rewards for early unstaking.

Data

See this spreadsheet for full details.

Specification & Requirements

To transfer GFI, will execute a multisend transaction from the Goldfinch Council multisig. No smart contract changes will be required for transferring GFI to affected users.

Benefits

Increase trust between the team, protocol participants, and community members.

Drawbacks and Risks

No real downsides except usage of the token, but if the proposal passes, then it is assumed the community believes this is a worthwhile use of the token.

Voting

YES: Transfer GFI to compensate affected users

NO: Do not transfer GFI to compensate affected users

Resources

2 Likes

I guess that’s a really worthy use of the token, so I support this proposal.

// Yes.

Agree with benefits. My vote is YES

agree. I think mistakes should be corrected. my vote is yes.

I support and vote ‘yes’

I think it’s fair. My vote is yes.

I agree. My vote is yes.

Agreed. My vote is yes.

Agree that affected users should be compensated. The team’s honesty and speedy response to rectify the situation will definitely create a positive image for Goldfinch!

Yes, we need to vote for yes. there is no harm for us.

I also support this update, especially to align with the purpose of honest distributed governance. Equally. It’s a “yes” for me!

Update:

Council has approved the proposal.

1 Like

Agree with benefits. My vote is YES

I agree. My vote is yes.

Vote for yes! It is right.