★ Immutable oracle address
OpenEden's assessment for RD-F-180 — scored green on the v1.7.0 rubric. The evidence below is the curator's reasoning for this score.
Evidence summary #
[★ CANDIDATE per PD-017; promoted ★ by T-14 2026-04-22] Oracle address is NOT immutable. Vault implementation exposes setTBillPriceFeed(address _priceFeed) allowing the owner to replace the oracle. The tbillUsdPriceFeed state variable is mutable (confirmed via tbillUsdPriceFeed() view function returning current address). No immutable keyword found on oracle-related variables in either TBillPriceOracle.sol or the vault implementation. The oracle can be swapped via a single admin action. Residual risk: setTBillPriceFeed has no timelock (a Cat 2 F033 concern), but that is timelocking risk, not oracle-immutability risk. F180 criteria (oracle address immutable with no admin-replaceable adapter) not met; score green.
Sources #
- GitHubOpenEden Vault Audit GitHub repoOpenEdenHQ/openeden.vault.audit: setTBillPriceFeed function confirmed in vault source; no immutable oracle variablesretrieved 2026-05-16
- Hacken Nov-2024 OpenEden V4Impl AuditHacken Nov-2024 audit (V4Impl scope): oracle architecture reviewed; setTBillPriceFeed not flagged as immutability concern — confirms mutable oracle designretrieved 2026-05-16
- OpenEden Vault V4/V5 Implementation — setTBillPriceFeed confirmedOpenEdenVaultV4Impl.sol: setTBillPriceFeed(address _priceFeed) function present in ABI; tbillUsdPriceFeed() is a view function returning mutable state variableretrieved 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 →