Circuit breaker on price deviation
GMX v2 (GMX Synthetics)'s assessment for RD-F-057 — scored green on the v1.7.0 rubric. The evidence below is the curator's reasoning for this score.
Evidence summary #
Circuit breaker present. Oracle.sol implements a reference price deviation check: GmOracleProvider prices are compared to Chainlink on-chain AggregatorV3 feed prices; if the deviation exceeds MAX_ORACLE_REF_PRICE_DEVIATION_FACTOR, the price is rejected and the transaction reverts. This guards against Data Streams delivering prices that diverge wildly from on-chain reference.
Detail #
Oracle.sol source inspection confirms: `if (diffFactor > maxRefPriceDeviationFactor)` check comparing GmOracleProvider-delivered price against ChainlinkPriceFeedProvider reference. Threshold stored in DataStore (configurable by CONTROLLER role). Per ABDK audit (2023-11), deviation checks were reviewed as part of oracle security. Template: green = circuit breaker present.
Sources #
- GitHub
- ABDK GMX Synthetics AuditABDK GMX Synthetics Audit (2023-11) — oracle price checks reviewedretrieved 2026-05-05
Methodology #
Determine whether the protocol halts or reverts if the oracle-reported price deviates by more than X% from a reference within Y blocks.
See the full factor methodology and distribution across all protocols →