Upgrade Compound v2 Oracle To Disable UAV
01Summary
Upgrade Compound v2's price oracle from Uniswap Anchored View (UAV) to a new Chainlink-based oracle contract. The new oracle retrieves prices directly from Chainlink Price Feeds, includes methods for community-managed feed updates, and uses fixed prices for deprecated assets (SAI, FEI, REP).
- Type
- contract upgrade
Key changes
- Replace Uniswap Anchored View with Chainlink-based PriceOracle for improved reliability and precision in price feeds(high)
- Update stablecoin valuation to use Chainlink Feeds instead of hardcoded values(high)
- Add write methods to PriceOracle contracts allowing Compound community to update or add new feeds without contract redeployment(high)
- Implement fixed prices for deprecated assets SAI, FEI, and REP(medium)
Notable concerns
- Dependency shift from Uniswap to Chainlink for oracle pricing
- Contract upgrade audit completed by OpenZeppelin but implementation risk remains
Generated by Kvorum
02Description
Upgrade Compound v2 Oracle To Disable UAV
Details
Set new price oracle to 0x8cf42b08ad13761345531b839487aa4d113955d9
Info
Arana is proposing on behalf of Chainlink Labs to upgrade Compound v2’s oracle to a new contract that directly consumes data from Chainlink Price Feeds, similar to Compound III.
Updates include:
- The Uniswap Anchored View is replaced by a Chainlink-based PriceOracle, improving reliability and precision by retrieving prices directly from Chainlink Price Feeds.
- Updates stablecoin valuation to use Chainlink Feeds instead of hardcoded values.
- Write methods to update configs on the PriceOracle contracts to allow the Compound community to update or add new feeds without a contract redeployment.
- Use fixed prices to account for the pricing of deprecated assets SAI, FEI, and REP.
The community can review the PriceOracle Contract <u>here</u>, with <u>OpenZeppelin’s audit here</u> and successful fork test results <u>here</u>.
03Mismatch analysis
The proposal describes a single, well-defined action: setting a new price oracle address on Compound v2's Comptroller. The decoded calldata contains exactly one action, a call to _setPriceOracle(address) on the Comptroller contract, passing the same address (0x8CF42B08AD13761345531b839487aA4d113955d9) that is explicitly named in the description's Details section (case-insensitive match, which is expected for Ethereum addresses). The other bullet points in the 'Info' section (Chainlink feed integration, stablecoin valuation logic, write methods for config updates, fixed prices for deprecated assets) describe the internal behavior/design of the new oracle contract itself, not separate on-chain governance actions — these are implemented within the referenced oracle contract's code, not as additional proposal actions, which is normal since deploying and setting an oracle contract only requires the single _setPriceOracle call. There is no mismatch in target address, value, or function called. No omitted, extra, or mismatched actions were found. Confidence is high because both the description and calldata are specific and directly comparable on the core action (the oracle address swap), and they match exactly.
Generated by Kvorum
04Actions
- Target
- 0x3d98…cd3b
- Value
- 0 wei
- Function
- _setPriceOracle(address)
- Arguments
{ "newOracle": "0x8CF42B08AD13761345531b839487aA4d113955d9" }- Calldata
05Tally
Summed from votes
06Voters
No votes recorded yet.
07Forum
- CIP-4: Upgrade Compound v2 Oracle To Disable UAV ↗discourse · high confidence
Arguments for
- The UAV's Uniswap v3 TWAP anchor frequently blocks accurate, timely Chainlink price data during volatility due to TWAP latency and Uniswap illiquidity, causing stale prices and real losses (e.g., SUSHI incident, UNI bad debt).— CL_Michael, songziyu2003, cylon
- Compound III has safely used Chainlink Price Feeds directly without a UAV since launch, demonstrating the anchor mechanism is unnecessary and the direct approach is proven.— CL_Michael, cylon, kevin
- The current UAV requires a full contract redeployment to add or change any price feed, whereas the new PriceOracle lets the community update feeds without redeployment.— CL_Michael, kevin
- Replacing hardcoded 'FixedPrice' stablecoin values with live Chainlink market prices reduces risk during stablecoin depeg events, aligning v2 with v3's approach.— CL_Michael, Chainlink_Labs
- The upgrade is designed as a low-lift change requiring no modification to the Comptroller and no downtime, minimizing migration risk.— CL_Michael
- Independent OpenZeppelin audits and fork testing found no critical/high issues and confirmed the new PriceOracle integrates correctly and prices assets accurately, including under volatility.— jbass-oz, Chainlink_Labs
- Documented real-world incidents (SUSHI price blocking, UNI-related bad debt) provide concrete evidence that the UAV design causes protocol harm and justify prompt action.— CL_Michael, songziyu2003
Arguments against
None surfaced.
Unresolved concerns
- Because the new oracle fixes SAI's price in USD rather than replicating the UAV's SAI/ETH-derived pricing, SAI valuations could diverge from the old mechanism as ETH/USD moves, affecting underwater account calculations and liquidation seizures.— jbass-oz
Notable participants
- CL_MichaelChainlink Labs proposer who authored the proposal, provided incident evidence, and posted deployment/status updates throughout the process.
- cylonOpenZeppelin representative who endorsed the proposal and explained the practical flaws of the UAV's original design.
- kevinCompound Labs representative who supported the proposal and highlighted the UAV's upgrade limitations.
- songziyu2003Community member who supplied a real-world incident report (UNI bad debt) reinforcing the case for disabling the UAV.
- jbass-ozOpenZeppelin auditor who published multiple audit and fork-test reports, resolving issues and flagging the SAI pricing divergence concern.
- Chainlink_LabsPosted updated PriceOracle deployment details and handling of deprecated asset pricing following audit feedback.
Generated by Kvorum
08Similar proposals
- compoundexecutedCompound UAV v3 Upgrade88%
- compoundexecutedCompound Oracle Upgrade v386%
- compoundexecutedOracle Improvement80%
- compoundexecutedOpen Price Feed73%
- compoundexecutedOracle Update72%
- compounddefeatedAdd Market: MATIC & Update Price Oracle61%
- compoundexecutedOracle Update59%
- compoundexecutedAdd USDT Support58%
- compoundexecutedAdd Market: USDP57%
- compoundexecutedAdd LINK Support57%