COMP Distribution Patch
01Summary
This proposal upgrades the Comptroller contract with a patched refreshCompSpeeds function that changes how COMP tokens are distributed across markets. The new allocation removes borrowing interest rate as a weighting factor and instead allocates COMP based on borrowing demand, split equally between suppliers and borrowers. The function now requires external accounts rather than smart contracts to reduce griefing risks.
- Type
- contract upgrade
Key changes
- Modify refreshCompSpeeds function to remove borrowing interest rate as weighting mechanism for COMP allocation(high)
- Change COMP allocation to be based on borrowing demand with equal split between suppliers and borrowers(high)
- Require external accounts instead of smart contracts for refreshCompSpeeds calls to reduce griefing risk(medium)
- Deploy new Comptroller implementation contract(high)
Notable concerns
- Patch has not been reviewed by professional auditors due to limited scope of changes
- Changes affect core COMP distribution mechanism across all markets
Generated by Kvorum
02Description
COMP Distribution Patch
This proposal implements a new Comptroller contract, patching the refreshCompSpeeds function.
It modifies the allocation of COMP across markets, by removing the borrowing interest rate as a weighting mechanism. Each market is allocated COMP relative to borrowing demand; the allocation is then split equally between suppliers and borrowers.
The function has also been updated to require an external account (not a smart contract), reducing the risk of griefing.
This patch has been discussed and developed in the open, reviewed by members of the community, and tested on Ethereum’s Kovan and Ropsten testnets. Given the limited scope of changes, it has not been reviewed by professional auditors.
03Mismatch analysis
The description states that this proposal deploys a new Comptroller implementation to patch the refreshCompSpeeds function and change COMP allocation logic. The decoded calldata contains exactly the two actions expected for a standard Compound protocol upgrade: (1) _setPendingImplementation on the existing Unitroller pointing to the new implementation address, and (2) _become called on that new implementation, which is the standard two-step proxy upgrade pattern used by Compound governance. Both actions target the correct, matching addresses (the Unitroller and the new implementation reference each other consistently across both calls), and no unrelated transfers, role grants, or parameter changes are present. The specific internal logic changes to refreshCompSpeeds (removing interest-rate weighting, equal supplier/borrower split, EOA-only caller requirement) are implemented inside the new contract's bytecode and are not separately visible in the calldata, which is expected and normal for this type of upgrade proposal — the proposal description accurately summarizes what an implementation-upgrade of this kind entails. There are no numeric parameters, target mismatches, or omitted/extra actions to flag.'
Generated by Kvorum
04Actions
- Target
- 0x3d98…cd3b
- Value
- 0 wei
- Function
- _setPendingImplementation(address)
- Arguments
{ "0": "0xAf601CbFF871d0BE62D18F79C31e387c76fa0374" }- Calldata
- Target
- 0xaf60…0374
- Value
- 0 wei
- Function
- _become(address)
- Arguments
{ "0": "0x3d9819210A31b4961b30EF54bE2aeD79B9c9Cd3B" }- Calldata
05Tally
Summed from votes
06Voters
| Voter | Choice | % of total | Rationale | ||
|---|---|---|---|---|---|
| A10xa1b6…0241 | For | 111.1K | 14.39% | — | 6y ago |
| 5B0x5b97…66c2 | For | 100K | 12.96% | — | 6y ago |
| 540x54a3…e189 | For | 100K | 12.96% | — | 6y ago |
| 7E0x7e4a…19fa | For | 100K | 12.96% | — | 6y ago |
| E50xe5a5…beb9 | For | 65K | 8.42% | — | 6y ago |
| 5D0x5d89…9e68 | For | 61K | 7.91% | — | 6y ago |
| 1D0x1d29…5d1f | For | 50K | 6.48% | — | 6y ago |
| 500x5049…e004 | For | 31.7K | 4.11% | — | 6y ago |
| D00xd061…1fb1 | For | 28K | 3.63% | — | 6y ago |
| 2F0x2fd6…ba43 | For | 25K | 3.24% | — | 6y ago |
| 8E0x8e97…2bff | For | 17.5K | 2.27% | — | 6y ago |
| 980x98ea…4cd7 | For | 15K | 1.94% | — | 6y ago |
| E50xe5b5…4b03 | For | 15K | 1.94% | — | 6y ago |
| CF0xcfae…135a | For | 10.2K | 1.32% | — | 6y ago |
| BAbanked.eth0xfdaa…3733 | For | 10K | 1.30% | — | 6y ago |
| A80xa8c6…3985 | For | 10K | 1.30% | — | 6y ago |
| TEtennisbowling.eth0xc3aa…f546 | For | 5K | 0.65% | — | 6y ago |
| DAdakeshi.eth0xe3c9…6b21 | For | 5K | 0.65% | — | 6y ago |
| B80xb8a6…6406 | For | 5K | 0.65% | — | 6y ago |
| 8F0x8fe1…572d | For | 4.7K | 0.61% | — | 6y ago |
| 610x6161…7866 | For | 1.1K | 0.14% | — | 6y ago |
| 960x9695…893e | For | 1K | 0.13% | — | 6y ago |
| H0h0neybad9er.eth0x26a2…4cbe | For | 108.5 | 0.01% | — | 6y ago |
| 9A0x9af9…3388 | For | 41.1 | 0.01% | — | 6y ago |
| 7F0x7f84…4d0b | For | 22.2 | 0.00% | — | 6y ago |
| ED0xed69…533b | For | 14.4 | 0.00% | — | 6y ago |
| ED0xed76…a987 | For | 13.7 | 0.00% | — | 6y ago |
| AB0xabe4…5fcd | For | 13 | 0.00% | — | 6y ago |
| 870x8788…44c4 | For | 12.6 | 0.00% | — | 6y ago |
| 860x8692…168d | For | 12 | 0.00% | — | 6y ago |
| MAmaruman.eth0x371d…0f1e | For | 9.1 | 0.00% | — | 6y ago |
| 1F0x1f2d…ea7c | For | 8.4 | 0.00% | — | 6y ago |
| 890x897e…c2dc | For | 7.8 | 0.00% | — | 6y ago |
| 670x67f3…9d8e | For | 5.6 | 0.00% | — | 6y ago |
| 7D0x7de0…a044 | For | 5.4 | 0.00% | — | 6y ago |
| 850x8590…4e0e | For | 5 | 0.00% | — | 6y ago |
| 9F0x9f8d…a147 | For | 4.7 | 0.00% | — | 6y ago |
| AC0xac23…ccfe | For | 4.2 | 0.00% | — | 6y ago |
| 5B0x5b0c…3540 | For | 3.4 | 0.00% | — | 6y ago |
| E20xe21a…cc1f | For | 3 | 0.00% | — | 6y ago |
| A60xa656…c544 | For | 1.4 | 0.00% | — | 6y ago |
| D60xd6b5…2c36 | For | 1.4 | 0.00% | — | 6y ago |
| EF0xef5a…b924 | For | 1.3 | 0.00% | — | 6y ago |
| EA0xea16…a9f0 | For | 1.2 | 0.00% | — | 6y ago |
| 610x61b7…d1e0 | For | 1.2 | 0.00% | — | 6y ago |
| AF0xaf9e…61d8 | For | 1.2 | 0.00% | — | 6y ago |
| 1B0x1b88…77a5 | For | 1.2 | 0.00% | — | 6y ago |
| 900x905d…76c5 | For | 1.1 | 0.00% | — | 6y ago |
| A70xa73e…6c0b | For | 1.1 | 0.00% | — | 6y ago |
| C60xc6ed…6ff0 | For | 1 | 0.00% | — | 6y ago |
07Forum
No forum thread is confidently linked to this proposal.
08Similar proposals
- compoundexecutedDistribute COMP to Users81%
- compoundexecutedSplit COMP rewards distribution and bug fixes80%
- compoundexecutedRemove automatic COMP claims and COMP speed refresh78%
- compoundexecutedFix COMP Accrual Bug76%
- compoundexecutedInitialize Compound III COMP Distribution75%
- compoundexecutedCOMP Speed Recalibration75%
- compoundexecutedAdd COMP Support74%
- compoundcanceledTemporarily Disable COMP Rewards73%
- compoundexecutedClose Deprecated Markets, Gas Savings73%
- compoundexecutedEnd cCOMP Borrow Rewards71%