Oracle staleness check present
Liquity V1 + V2 (LUSD / BOLD)'s assessment for RD-F-059 — scored green on the v1.7.0 rubric. The evidence below is the curator's reasoning for this score.
Evidence summary #
v1: TIMEOUT = 14400 (4 hours) hardcoded constant. Chainlink data older than 4h triggers Tellor fallback. v2: staleness threshold set at construction per oracle. WETH branch: _ethUsdStalenessThreshold = 86400 (24h) confirmed from Etherscan constructor arg decode. _isValidChainlinkPrice checks block.timestamp - chainlinkResponse.timestamp < _stalenessThreshold AND answer > 0. Staleness check is present and verified in source. Note: 86400s (24h) is longer than the 3600s threshold marked green in taxonomy for volatile assets -- curator should flag as a borderline observation. Chainlink ETH/USD heartbeat is 1h so 24h allows up to 24 stale rounds; however this is within industry norms for ETH/USD and Chainlink guarantees updates on 0.5% deviation anyway.
Sources #
- GitHubLiquity v1 PriceFeed -- 4h staleness timeoutliquity/dev PriceFeed.sol -- TIMEOUT = 14400 constant (4 hours)retrieved 2026-05-16
- Etherscan WETHPriceFeed constructor args -- staleness threshold 86400sWETHPriceFeed 0xcc5f8102eb670c89a4a3c567c13851260303c24f -- constructor arg _ethUsdStalenessThreshold = 86400retrieved 2026-05-16
Methodology #
Determine whether the protocol rejects oracle reads older than a declared maximum age (i.e., checks `updatedAt > block.timestamp - maxStaleness`).
See the full factor methodology and distribution across all protocols →