★ Immutable oracle address
Uniswap (v2 + v3)'s assessment for RD-F-180 — scored not_applicable on the v1.7.0 rubric. The evidence below is the curator's reasoning for this score.
Evidence summary #
[CRITICAL-CANDIDATE — not_applicable per T-12 PD-017 hold] No oracle address exists in any V2 or V3 contract (immutable or configurable). UniswapV2Factory.sol, UniswapV2Pair.sol, UniswapV3Factory.sol, UniswapV3Pool.sol: zero oracle state variable declarations, zero immutable oracle address fields, no setOracle() function, no oracle adapter wrapper. The immutability risk of F180 requires an oracle address to exist — structurally inapplicable. Flagged for orchestrator tracking per PD-017. NOT counted in the 19 critical total.
Detail #
Source inspection of all four key contracts: no 'address oracle', no 'immutable address feed', no 'setOracle', no 'updateFeed' in V2 or V3 core. Profile meta.json: v2_consumes_oracle: false, v3_consumes_oracle: false, oracle_consumed_by_protocol: false.
Sources #
- GitHubUniswapV2Pair.sol — no oracle addressUniswapV2Pair.sol: no oracle address variable declared anywhere in contract. No setOracle() function.retrieved 2026-05-12
- UniswapV3Pool.sol — no oracle addressUniswapV3Pool.sol: no oracle state variable, no immutable address oracle declaration, no setOracle() function.retrieved 2026-05-12
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 →