Pricing depends on a single oracle with no secondary source or deviation cross-check. If that feed is deprecated, paused, or compromised, the protocol has no safe fallback and either bricks or prices on a bad number.
// Chainlink deprecates the feed; latestRoundData reverts. // with no fallback, every deposit/withdraw/liquidation reverts // -> protocol frozen until an upgrade.
uint256 p1 = chainlink.price(); uint256 p2 = fallbackOracle.price(); require(_within(p1, p2, MAX_DEVIATION), "oracle disagreement");
Largest recorded losses in the same failure class — related, not the same bug:
The SaferICO scanner runs 201 detectors over your Solidity source, SAFE-0204 among them. Paste an address or the source itself — a small per-scan fee, shown before you sign, or unlimited on any plan.