★ Immutable oracle address
crvUSD (Curve Stablecoin)'s assessment for RD-F-180 — scored yellow on the v1.7.0 rubric. The evidence below is the curator's reasoning for this score.
Evidence summary #
[★ CRITICAL — flagged for T-14 orchestrator tracking per PD-017] Two-layer picture: (1) AggregatorStablePrice pool list IS admin-mutable via add_price_pair/remove_price_pair/set_admin functions; admin = Curve Deployer 2 EOA (0xbabe61887f1de2713c6f97e567623453d3C79f67) per Etherscan constructor args — unclear if transferred to Ownership Agent. (2) Collateral price oracle contracts (CryptoWithStablePriceAndChainlinkFrxeth): all oracle addresses FULLY IMMUTABLE — no admin setter, all set at construction. set_use_chainlink toggles Chainlink activation but does NOT change the feed address. LLAMMA/Controller oracle address: set at deploy, no set_price_oracle found. YELLOW not red: AggregatorStablePrice pools must be valid Curve stableswap pool type (type-checked), and collateral oracle addresses within individual contracts are immutable. Issue: if Deployer 2 EOA still holds AggregatorStablePrice admin, this is an unchecked admin oracle-manipulation surface.
Sources #
- EtherscanCryptoWithStablePriceAndChainlinkFrxeth — Etherscan sourceCryptoWithStablePriceAndChainlinkFrxeth source analysis: all oracle addresses (chainlink_aggregator, tricrypto, stableswap, sfrxeth) are constructor-immutable; no admin setter present in ABI or sourceretrieved 2026-05-16
- AggregatorStablePrice v1 — EtherscanAggregatorStablePrice v1 constructor args: admin=0xbabe61887f1de2713c6f97e567623453d3C79f67 (Curve Deployer 2 EOA); ABI confirms add_price_pair, remove_price_pair, set_admin functionsretrieved 2026-05-16
Methodology #
Determine whether any collateral oracle address is marked `immutable` in protocol config with no admin-replaceable adapter wrapper, preventing the protocol from repricing when the upstream asset depegs.
See the full factor methodology and distribution across all protocols →