KVORUM
compoundSource: Compound governor bravo · #50

Close Deprecated Markets, Gas Savings

executedJul 4, 2021, 03:03 AM UTCby810x8169…9806

01Summary

AISummary by Kvorumclaude-haiku-4-5

Compound Labs proposes to upgrade the Comptroller implementation contract to optimize the claimComp function for gas savings and enable closure of deprecated markets (SAI, REP, and future migrations) by allowing complete liquidation of borrows and removal of reserves in markets with 0% Collateral Factor, 100% Reserve Factor, and Borrowing Paused status.

Type
contract upgrade

Key changes

  • Optimize claimComp function to reduce gas costs by combining all rewards into a single transfer when claiming COMP across multiple markets(high)
  • Enable closure of deprecated markets (SAI, REP, and future migrations) by allowing complete liquidation of outstanding borrows and removal of reserves in markets with 0% Collateral Factor, 100% Reserve Factor, and Borrowing Paused(high)

Notable concerns

  • Patch underwent secondary security review through Immunefi bug bounty program in addition to standard Compound Labs bug bounty program
Contracts0x3d9819210a31b4961b30ef54be2aed79b9c9cd3b0x75442Ac771a7243433e033F3F8EaB2631e22938f
Generated by Kvorum
model: claude-haiku-4-5
provider: anthropic
profile: anthropic-fast-v1
prompt: v1.0
generated: 2mo ago
Read the description ↗

02Description

129 words

Close Deprecated Markets, Gas Savings

This proposal is a patch, developed by Compound Labs, which updates the Comptroller implementation contract.

Changelog

The claimComp function has been optimized to significantly reduce the gas cost of claiming COMP across multiple markets at once, by combining all rewards into a single transfer.

Markets with a 0% Collateral Factor, 100% Reserve Factor, and Borrowing Paused are inferred to be deprecated by the Comptroller, and allowed to be completely liquidated. This allows the closure of all outstanding borrows and the removal of reserves in deprecated markets including SAI, REP, and future migrations.

Development

This patch was developed publicly, coupled with completed scenario analysis. In addition to the Compound Labs bug bounty program, a secondary bug bounty was offered through Immunefi.

Discussion

03Mismatch analysis

AIMismatch analysis by Kvorumclaude-sonnet-5
Consistent

The proposal describes a Comptroller implementation upgrade that (a) optimizes claimComp for gas savings and (b) enables full liquidation of deprecated markets. The decoded calldata contains exactly the two actions expected for a standard Compound governance implementation swap: _setPendingImplementation on the Unitroller pointing to the new implementation contract, followed by _become called on that new implementation with the Unitroller address, completing the proxy upgrade. This is the canonical two-step pattern Compound uses for Comptroller upgrades, and it directly matches the described 'patch which updates the Comptroller implementation contract.' The specific logic changes (claimComp gas optimization, deprecated market liquidation rules) are implemented in the bytecode of the new implementation contract itself and are not separately visible as discrete on-chain actions in the proposal — this is normal and expected for this contract pattern, not an omission. No value, target, or recipient mismatches are present; the two addresses reference each other consistently (Unitroller <-> new implementation). No unexplained extra actions, transfers, or role grants are included. Given the straightforward and complete match between the described intent (implementation upgrade) and the decoded actions (the standard two-call upgrade pattern), this proposal is assessed as consistent with high confidence.

Generated by Kvorum
model: claude-sonnet-5
provider: anthropic
profile: anthropic-strong-v1
prompt: v1.0
generated: 2mo ago
Review the decoded actions ↗

04Actions

2 total
#0_setPendingImplementation(address)chain 0x1
Target
0x3d98…cd3b
Value
0 wei
Function
_setPendingImplementation(address)
Arguments
{
  "0": "0x75442Ac771a7243433e033F3F8EaB2631e22938f"
}
Calldata
#1_become(address)chain 0x1
Target
0x7544…938f
Value
0 wei
Function
_become(address)
Arguments
{
  "0": "0x3d9819210A31b4961b30EF54bE2aeD79B9c9Cd3B"
}
Calldata

05Tally

Summed from votes

Voters0
VP participating0
Outcome (current)—
Current support—

06Voters

0 total

No votes recorded yet.

07Forum

No forum thread is confidently linked to this proposal.