KVORUM
aaveSource: Aave governor v2 · #236

Price feeds operational update

executedJun 2, 2023, 12:58 PM UTCbyF70xf71f…1e02

01Summary

AISummary by Kvorumclaude-haiku-4-5

This proposal updates price feed adapters across multiple Aave markets (Ethereum v2, Optimism, Arbitrum, and Polygon) to reduce artificial volatility from de-synchronized LST feeds. Changes include: WBTC on Ethereum v2 to custom adapter, wstETH on Optimism/Arbitrum to synchronized adapters, MATICX and stMATIC on Polygon to custom adapters using on-chain rates, and configuration of price oracle sentinel for Optimism V3.

Type
parameter change

Key changes

  • Replace WBTC price feed on Ethereum v2 with custom CLSynchronicityPriceAdapterPegToBase using WBTC/BTC/ETH(high)
  • Update wstETH price feed on Optimism to custom adapter calculating wstETH/ETH/USD using Chainlink feeds(high)
  • Update wstETH price feed on Arbitrum to custom adapter calculating wstETH/ETH/USD using Chainlink feeds(high)
  • Replace MATICX price feed on Polygon with custom MaticSynchronicityPriceAdapter using MATIC/USD CL feed and MATICX/MATIC on-chain rate(high)
  • Replace stMATIC price feed on Polygon with custom MaticSynchronicityPriceAdapter using MATIC/USD CL feed and stMATIC/MATIC on-chain rate(high)
  • Configure price oracle sentinel for Aave V3 Optimism with Chainlink sequencer feed(medium)

Notable concerns

  • MATICX feed shows 2.03% difference between 0.5-1% for historical data
  • Historical testing shows potential feed discrepancies up to 1% in edge cases
  • Custom adapters depend on on-chain rate manipulation resistance for MATICX and stMATIC
ContractsAave V2 Oracle (Ethereum)Aave V3 OptimismAave V3 ArbitrumAave V3 PolygonWBTC price adapterwstETH Optimism price adapterwstETH Arbitrum price adapterMATICX price adapterstMATIC price adapter
Generated by Kvorum
model: claude-haiku-4-5
provider: anthropic
profile: anthropic-fast-v1
prompt: v1.0
generated: 2mo ago
Read the description ↗

02Description

584 words

Simple Summary

This proposal changes the following price adapters and price oracle sentinel:

  • WBTC on Ethereum v2 to the custom WBTC / BTC / ETH
  • wstETH on Optimism and Arbitrum v3 to wstETH / ETH / USD
  • MATICX on Polygon v3 to the custom adapter, which uses MATIC / USD CL feed and MATICX / MATIC on-chain rate
  • stMATIC on Polygon v3 to the custom adapter, which utilizes MATIC / USD CL feed and stMATIC / MATIC on-chain rate
  • price oracle sentinel is configured for Optimism V3

Motivation

The current price feeds for certain ETH and MATIC LSTs can result in artificial volatility due to de-synchronization between different asset/PEG feeds. Additionally, the Aave community already pre-approved pricing WBTC on Aave v2 based on a WBTC feed, and not assuming that its price is the one provided by BTC/ETH.

To address this problem and enhance the stability of the Aave platform, we propose to change the price feeds for wstETH on Optimism and Arbitrum to a custom price adapter that calculates the wstETH / ETH / USD price and is based on Chainlink's feeds under the hood. The same approach is already used for the wstETH on Polygon and WBTC on Aave V3.

WBTC price feed will use the same adapter implementation, but with the WBTC / BTC / ETH inside.

MaticX and stMatic price feeds will be swapped for a special adapter, which utilizes on-chain rate.

As the Chainlink sequencer feed is available for Optimism, it also makes sense to configure the price oracle sentinel for Aave V3 Optimism, so that all L2 Aave V3 markets where the the Chainlink feed is available, are in sync.

Specification

Upon execution, the proposal will:

Security and additional considerations

Custom price adapters are already widely used in the system for price-correlated assets and were reviewed by the auditors.

  • MaticX Historical Feeds Comparison: Comparing the answers from the current feed with the new one for the last 280 days (since CL feed was deployed) with a 4-hour step gave the following results:

    • 35.91% of results differ for less than 0.1%
    • 62.06% have between 0.1% and 0.5% difference
    • 2.03% is between 0.5% and 1%

We also additionally double-checked all points of centralisation of MaticX to be sure that no on-chain manipulation of rates is possible.

  • stMatic Historical Feeds Comparison: Comparing the answers from the current feed with the new one for the last 327 days (since CL feed was deployed) with a 4-hour step gave the following results:
    • 95.39% of results differ for less than 0.1%
    • 4.5% have between 0.1% and 0.5% difference
    • 0.11% is between 0.5% and 1%

All points of centralisation of stMatic were also checked to be sure that on-chain manipulation of rates is impossible.

References

Tests: Ethereum V2, Optimism, Arbitrum, Polygon

Proposal payload implementation: Ethereum V2, Optimism, Arbitrum, Polygon

Price Adapters: WBTC, wstETH Optimism, wstETH Arbitrum, MaticX, stMATIC

Copyright

Copyright and related rights waived via CC0.

03Mismatch analysis

AIMismatch analysis by Kvorumlow confidenceclaude-sonnet-5
Consistent

The decoded calldata consists of four high-level 'execute' calls: one direct fallback execution on Ethereum mainnet and three execute(address) calls that forward execution to per-chain payload contracts (presumably via Aave's cross-chain governance bridge). This structurally matches the description's four target networks (Ethereum V2 WBTC change, Optimism wstETH+sentinel, Arbitrum wstETH, Polygon MATICX+stMATIC). However, the specific low-level operations described in the prose (setAssetSources, setPriceOracleSentinel, Config Engine updates with exact addresses) are not visible in this decoded calldata — they would be encoded inside the target payload contracts (0x3105C27..., 0x80f2c02..., 0x6acCc15...) which are not expanded here. One payload address (0x3105C276558Dd4cf7E7be71d73Be8D33bD18F211) does match the wstETH Arbitrum address cited in the description, lending some corroboration, but the other two payload addresses (Optimism and Polygon executors) are not directly named in the description text, so a full byte-for-byte verification of asset sources, sentinel address, and feed addresses is not possible from this data alone. Given the lack of granularity in the decoded actions, I cannot confirm or deny exact value/target matches for the sentinel address or the WBTC/MATICX/stMATIC feed addresses cited in the description. There is no evidence of contradiction, extra actions, or omitted actions relative to the description — the action count and general flow align with what's described — but confidence is low because the underlying payload contents are opaque in this decoded data.'}

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

04Actions

4 total
#0fallback()chain 0x1
Target
0xab22…d9cc
Value
0 wei
Function
fallback()
Arguments
{}
Calldata
#1execute(address)chain 0x1
Target
0x5f5c…6711
Value
0 wei
Function
execute(address)
Arguments
{
  "0": "0x3105C276558Dd4cf7E7be71d73Be8D33bD18F211"
}
Calldata
#2execute(address)chain 0x1
Target
0xd1b3…cfa3
Value
0 wei
Function
execute(address)
Arguments
{
  "0": "0x80f2c02224a2E548FC67c0bF705eBFA825dd5439"
}
Calldata
#3execute(address)chain 0x1
Target
0x158a…d45b
Value
0 wei
Function
execute(address)
Arguments
{
  "0": "0x6acCc155626E0CF8bFe97e68A17a567394D51238"
}
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.