Fallback behavior on oracle failure
Dolomite's assessment for RD-F-051 — scored yellow on the v1.7.0 rubric. The evidence below is the curator's reasoning for this score.
Evidence summary #
No automatic fallback oracle exists. ChainlinkPriceOracleV1 has a single tokenToAggregatorMap per token with no fallback branch. If oracle reverts, the getPrice() call reverts. If oracle returns stale data (latestAnswer with no timestamp check), the stale value passes through. The Pause Sentinel allows admin to manually disable borrowing or liquidations for an asset — reactive manual intervention, not automated failover. L2 sequencer flag provides sequencer-downtime protection on Arbitrum only.
Sources #
- GitHubChainlinkPriceOracleV1.sol — source inspectiondolomite-exchange/dolomite-margin/blob/master/contracts/external/oracles/ChainlinkPriceOracleV1.sol — no fallback code path, no try/catch for oracle failureretrieved 2026-05-16
- Risk Management — Dolomitedocs.dolomite.io/risk-management — Pause Sentinel described as market-level manual intervention, not automatic failoverretrieved 2026-05-16
Methodology #
Identify the declared fallback behavior (pause, secondary source, last-known-price, revert) when the primary oracle reverts or reports a stale value.
See the full factor methodology and distribution across all protocols →