# 高级概念

## 获取最新价格

由于Frax协议每天只更新一次Frax Oracle的价格，因此价格可能会有最多23小时59分钟的延迟。如果您需要更新的价格，可以在Dual Oracle上调用addRoundData()来写入一个最新价格，然后在Frax Oracle上调用latestRoundData() / getRoundData() / getPrice()来获取最新价格。

## 智能合约设计

<figure><img src="/files/cbSf1DRCGIaBlgwlndos" alt=""><figcaption><p>L1 -> L2</p></figcaption></figure>

## 时间锁配置

控制所有L1上Frax Oracle的所有配置：[`0x8412ebf45bAC1B340BbE8F318b928C466c4E39CA`](https://etherscan.io/address/0x8412ebf45bac1b340bbe8f318b928c466c4e39ca)

控制所有Arbitrum上Frax Oracle的所有配置：[`0xB426B13372B7c967C4a2371B5e95FC7dc37545Db`](https://arbiscan.io/address/0xb426b13372b7c967c4a2371b5e95fc7dc37545db)

## 攻击与缓解

对Oracle操纵攻击的处理是经济性的。协议拥有的流动性太多，以至于操纵Curve/Uniswap池子不会带来利润。

价格限制确保frxEth/sfrxEth永远不会被高估，并且不会被低估超过30%。frxEth完全由验证者中的ETH支持，因此它面临的唯一风险是时间延续风险。

## 合约地址

### L1

#### Dual Oracles / Price Sources

FrxEthEthDualOracle: [`0x350a9841956D8B0212EAdF5E14a449CA85FAE1C0`](https://etherscan.io/address/0x350a9841956D8B0212EAdF5E14a449CA85FAE1C0)

SfrxEthEthDualOracle: [`0x584902BCe4282003E420Cf5b7ae5063D6C1c182a`](https://etherscan.io/address/0x584902bce4282003e420cf5b7ae5063d6c1c182a)

#### Frax Oracles

SfrxEthFraxOracle: [`0x3d3D868522b5a4035ADcb67BF0846D61597A6a6F`](https://etherscan.io/address//0x3d3d868522b5a4035adcb67bf0846d61597a6a6f)

#### Crosschain

ArbitrumBlockHashRelay: [`0x784906554d44d33c2764c86e8848a2bd71c2e3a7`](https://etherscan.io/address/0x784906554d44d33c2764c86e8848a2bd71c2e3a7)

### L2 (Arbitrum)

ArbitrumBlockHashProvider:  [`0x240ff0894c584d39f992de5fdb603e03fc7e8a98`](https://arbiscan.io/address/0x240ff0894c584d39f992de5fdb603e03fc7e8a98)

StateRootOracle: [`0x11afa1d35f246fdc00d789e4a06f682b206f88c9`](https://arbiscan.io/address/0x11afa1d35f246fdc00d789e4a06f682b206f88c9)

#### Price Source

MerkleProofPriceSource: [`0xb032b46f835fa9e3d95d1e3f46fd307429505f9a`](https://arbiscan.io/address/0xb032b46f835fa9e3d95d1e3f46fd307429505f9a)

双重预言机 / 价格来源

FrxEthEthDualOracle: TBD

SfrxEthEthDualOracle: TBD

#### Frax Oracles

SfrxEthFraxOracle: TBD


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.frax.finance/zh/frax-yu-yan-ji/gao-ji-gai-nian.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
