Advanced Concepts
Last updated
Last updated
Since the Frax protocol only updates Frax Oracle prices once per day, the price may be up to 23 hours and 59 minutes old. If you need a fresher price, you can call addRoundData() on the Dual Oracle to write a fresh price, and then call latestRoundData() / getRoundData() / getPrice() on the Frax Oracle to retrieve the fresh price.
Controls all configurations for all Frax Oracles on L1: 0x8412ebf45bAC1B340BbE8F318b928C466c4E39CA
Controls all configurations for all Frax Oracles on Arbitrum: 0xB426B13372B7c967C4a2371B5e95FC7dc37545Db
Oracle manipulation attacks are handled economically. There is too much protocol owned liquidity for manipulating the Curve / Uniswap pools to be profitable. Bounding prices ensures that frxEth/sfrxEth will never be overvalued and will never be undervalued by more than 30%. frxEth is fully backed with ETH in validators, so the only risk that exists with it is time duration risk.
FrxEthEthDualOracle: 0x350a9841956D8B0212EAdF5E14a449CA85FAE1C0
SfrxEthEthDualOracle: 0x584902BCe4282003E420Cf5b7ae5063D6C1c182a
SfrxEthFraxOracle: 0x3d3D868522b5a4035ADcb67BF0846D61597A6a6F
ArbitrumBlockHashRelay: 0x784906554d44d33c2764c86e8848a2bd71c2e3a7
ArbitrumBlockHashProvider: 0x240ff0894c584d39f992de5fdb603e03fc7e8a98
StateRootOracle: 0x11afa1d35f246fdc00d789e4a06f682b206f88c9
MerkleProofPriceSource: 0xb032b46f835fa9e3d95d1e3f46fd307429505f9a
Dual Oracles / Price Sources
FrxEthEthDualOracle: TBD
SfrxEthEthDualOracle: TBD
SfrxEthFraxOracle: TBD