Correct Over-Accrued COMP
Objective
Correct the amounts of over-accrued COMP due to the bug in Proposal 62 and fully restore the functionality of COMP rewards.
Justification
Proposal 62 introduced a bug in the COMP distribution logic that allowed users borrowing certain assets to claim more than their intended share of COMP. Proposal 64 patched the bug introduced in Proposal 62 and disabled COMP claiming for users active in the affected markets (cSUSHI, cMKR, cYFI, cAAVE, cTUSD, and cSAI).
Details
Now that proposal 64 has been executed, we’re able to compile a definite list of users who have over-accrued COMP along with the exact amounts they over-accrued.
This proposal contains that exact list and calls a newly introduced one-off function - fixBadAccruals - to correct the over-accrued COMP. This function behaves the following way:
- If the user’s amount of accrued COMP is greater than the amount they over-accrued, the amount over-accrued is subtracted from their accrued amount (compAccrued).
- If the user’s amount of accrued COMP is less than the amount they over-accrued (i.e. they successfully claimed more COMP than they should have), their accrued amount (compAccrued) is set to 0 and the difference (i.e. what they owe the protocol) is saved to compReceivable. This new storage variable is only used for record-keeping at the moment.
- An event - CompReceivableUpdated - is emitted when compReceivable is updated.
- An event - CompAccruedAdjusted - is emitted when this function updates compAccrued.
Note: Record-keeping for the users who successfully claimed more COMP than they should have and then subsequently returned the funds will have to be updated in a different proposal.
Since this proposal corrects all of the amounts of over-accrued COMP, the functionality of claimComp has been restored for all users.
Upon execution of this proposal, Compound protocol will return to its fully functioning state.
Verification
Everyone is encouraged to verify that the list of users along with their over-accrued amounts exactly matches the output of the script used to create this list.
Review
This proposal has only been thoroughly reviewed by myself, so I urge everyone to also thoroughly review this proposal before voting on it.
The proposal has been simulated from a fork of mainnet at block #13380217. The simulation passes with the proposal behaving exactly as expected.
Credits
TylerEther (me)
References
| Voter | Cast Power | Vote & Rationale |
|---|---|---|
0x9AA8...62cCF1 | 321,018 | FOR |
0x6626...15c35c | 126,082 | ABSTAIN |
0x8d07...e6A265 | 77,533 | FOR |
0x9B68...002984 | 66,052 | FOR |
0x2B38...77bf33 | 7,741 | FOR |
VOTE POWER
Proposal Status
- Published Onchain
0xc8A6...9ddfFC
- Thu October 14 2021, 12:23 amVoting Period Starts
- Sun October 17 2021, 02:51 amEnd Voting Period
- Sun October 17 2021, 03:19 amQueue Proposal
- Tue October 19 2021, 05:50 pmExecute Proposal
Current Results
1-FOR
477,533.06
2-ABSTAIN
126,082.76
3-AGAINST
N/A Tokens
