Update cWETHv3 and cWstETHv3 Comets on Mainnet to the service patch version
01Summary
Update cWETHv3 and cWstETHv3 Comet markets on Mainnet to a new service patch version (1.2.1) introducing security enhancements including extended pause controls, collateral deactivation mechanism, utilization peaking protection, interest accrual fixes, and price feed improvements from the USDM incident response.
- Type
- contract upgrade
Key changes
- Extended Pause Controls: collateral interactions can now be paused independently per collateral asset(medium)
- Price Feed Patch: skips price feed calls for assets with zero collateral factor, preventing unnecessary reverts from USDM incident(high)
- Collateral Deactivation Mechanism: introduces Guardian-controlled emergency mechanism to deactivate unsafe collateral assets with governance-required reactivation(high)
- Utilization Peaking Protection: caps utilization at 200% to prevent additional borrowing when post-borrow utilization exceeds threshold while preserving lender withdrawals(high)
- Borrow Index Fix: prevents borrow interest accrual in markets without active borrowers(medium)
- Supply Index Fix: ensures supply index only accrues when lenders are present(medium)
- Lender Illiquidity Fix: prevents reserve depletion in zero-borrow markets by capping supply rate to zero when utilization is zero and reserves are exhausted(medium)
- Accrue Interest on Collateral Actions: collateral actions now trigger interest accrual for affected accounts in response to USDM incident(high)
Notable concerns
- Updates deployed using bytecode repository requiring verification of deterministic deployment process
- Changes address vulnerabilities from USDM incident requiring community validation of fixes
- Multiple smart contract upgrades affecting two major markets require careful monitoring of post-upgrade behavior
Generated by Kvorum
02Description
Update cWETHv3 and cWstETHv3 Comets on Mainnet to the service patch version
Proposal summary
WOOF! proposes to update Mainnet cWETHv3 and cWstETHv3 Comet markets to a new service patch version introducing several improvements and security enhancements:
- Extended Pause Controls: collateral interactions can now be paused independently per collateral asset.
- Price Feed Patch (Post-USDM incident response): skips price feed calls for assets with zero collateral factor, preventing unnecessary reverts.
- Collateral Deactivation Mechanism: introduces a Guardian-controlled emergency mechanism to deactivate unsafe collateral assets, with reactivation requiring a governance proposal.
- Utilization Peaking Protection: caps utilization at 200%, preventing additional borrowing when post-borrow utilization exceeds this threshold, while preserving lender withdrawals.
- Borrow Index Fix (Empty Market): prevents borrow interest accrual in markets without active borrowers.
- Supply Index Fix (Empty Market): ensures supply index only accrues when lenders are present.
- Lender Illiquidity Fix in Zero-Borrow Markets: prevents reserve depletion in markets with no borrowers by capping supply rate to zero when utilization is zero and reserves are exhausted.
- Accrue Interest on Collateral Actions (Post-USDM incident response): collateral actions (supply, withdraw, transfer) now trigger interest accrual for affected accounts.
- Technical Improvements: includes removal of redundant arguments in supplyInternal() and optimized price caching in absorbInternal(), improving gas efficiency without affecting protocol behavior.
This proposal takes the governance steps recommended and necessary to update Compound III WETH and wstETH markets on Mainnet. Simulations have confirmed the market's readiness, as much as possible, using the Comet scenario suite.
Detailed information can be found on the corresponding proposal pull request.
Bytecode Repository
This update is done with the use of the bytecode repository, which provides trustless and deterministic deployments.
Further details on the deployment can be found in the Bytecode Repository git and forum discussion.
Audit
Both service patch Comet update and Bytecode Repository have been audited by Certora and full reports can be found here:
Proposal Actions
The first proposal action updates the version in the new Comet factory to the recent service patch version.
The second proposal action updates the factory of the WETH Comet to the new V2 factory.
The third proposal action sets the extension delegate for the WETH Comet to the new service patch version.
The fourth proposal action deploys and upgrades the WETH Comet to the new service patch version.
The fifth proposal action updates the factory of the wstETH Comet to the new V2 factory.
The sixth proposal action sets the extension delegate for the wstETH Comet to the new service patch version.
The seventh proposal action deploys and upgrades the wstETH Comet to the new service patch version.
03Mismatch analysis
The description enumerates seven sequential actions (version set, WETH factory update, WETH extension delegate set, WETH deploy/upgrade, wstETH factory update, wstETH extension delegate set, wstETH deploy/upgrade). The decoded calldata contains exactly seven actions in the same order, targeting the same contract roles (factory registry, configurator, comet factory) with consistent proxy addresses split between two distinct comet proxies (presumably WETH and wstETH markets). Each decoded function (setVersion, setFactory, setExtensionDelegate, deployAndUpgradeTo) directly corresponds to the plain-language description of that step, and no extraneous transfers, role grants, or parameter changes appear in the calldata that aren't mentioned in the prose. The detailed technical feature list (pause controls, price feed patch, utilization cap, etc.) describes code-level behavior baked into the new Comet implementation being deployed via deployAndUpgradeTo, which is not independently verifiable from calldata parameters but is a reasonable summarization consistent with a version bump action. No value mismatches, target mismatches, or omitted/extra actions were found. Confidence is high because the action count, order, and function types cleanly map to the narrative with no ambiguous or unexplained calldata operations Overall, the proposal description faithfully represents the on-chain actions.]
Generated by Kvorum
04Actions
- Target
- 0x298a…d9c4
- Value
- 0 wei
- Function
- setVersion(((uint64,uint64,uint64),string))
- Arguments
{ "_newVersion": [ [ "1", "2", "1" ], "" ] }- Calldata
- Target
- 0x316f…36e3
- Value
- 0 wei
- Function
- setFactory(address,address)
- Arguments
{ "cometProxy": "0xA17581A9E3356d9A858b789D68B4d866e593aE94", "newFactory": "0x298aC0E463cEAd4aaA73fb91Df7C639A8eFBd9c4" }- Calldata
- Target
- 0x316f…36e3
- Value
- 0 wei
- Function
- setExtensionDelegate(address,address)
- Arguments
{ "cometProxy": "0xA17581A9E3356d9A858b789D68B4d866e593aE94", "newExtensionDelegate": "0x931268907F9CD41d451aEa01F8B70ea4051fB8FB" }- Calldata
- Target
- 0x1ec6…8779
- Value
- 0 wei
- Function
- deployAndUpgradeTo(address,address)
- Arguments
{ "cometProxy": "0xA17581A9E3356d9A858b789D68B4d866e593aE94", "configuratorProxy": "0x316f9708bB98af7dA9c68C1C3b5e79039cD336E3" }- Calldata
- Target
- 0x316f…36e3
- Value
- 0 wei
- Function
- setFactory(address,address)
- Arguments
{ "cometProxy": "0x3D0bb1ccaB520A66e607822fC55BC921738fAFE3", "newFactory": "0x298aC0E463cEAd4aaA73fb91Df7C639A8eFBd9c4" }- Calldata
- Target
- 0x316f…36e3
- Value
- 0 wei
- Function
- setExtensionDelegate(address,address)
- Arguments
{ "cometProxy": "0x3D0bb1ccaB520A66e607822fC55BC921738fAFE3", "newExtensionDelegate": "0x4ca064049a575d2F70ecB17dca6867547B701Cd6" }- Calldata
- Target
- 0x1ec6…8779
- Value
- 0 wei
- Function
- deployAndUpgradeTo(address,address)
- Arguments
{ "cometProxy": "0x3D0bb1ccaB520A66e607822fC55BC921738fAFE3", "configuratorProxy": "0x316f9708bB98af7dA9c68C1C3b5e79039cD336E3" }- Calldata
05Tally
Summed from votes
06Voters
No votes recorded yet.
07Forum
No forum thread is confidently linked to this proposal.
08Similar proposals
- compoundexecutedUpdate All L2 Comets to the service patch version91%
- compoundexecutedUpdate Linea and Scroll Comets to the service patch version91%
- compoundexecutedUpdate Comet version on Linea and Scroll81%
- compoundexecutedInitialize cWETHv3 on Base80%
- compoundexecutedInitialize cUSDSv3 on Ethereum Mainnet80%
- compoundexecutedComplete Arbitrum and Base Comet Upgrade79%
- compoundexecutedInitialize cUSDCv3 on Polygon77%
- compoundexecutedInitialize cUSDbCv3 on Base77%
- compoundcanceledInitialize cUSDSv3 on Base76%
- compoundexecutedInitialize cUSDSv3 on Base76%