预言机(Oracle)
用于获取FRAX-collateral和FXS-collateral的价格数据。
部署
Chainlink价格合约部署在:
0xBa6C6EaC41a24F9D39032513f66D738B3559f15a
FRAX-ETH Uniswap 交易对价格预言机部署在:
0xD18660Ab8d4eF5bE062652133fe4348e0cB996DA
FRAX-USDC Uniswap 交易对价格预言机部署在:
0x2AD064cEBA948A2B062ba9AfF91c98B9F0a1f608
FRAX-USDT Uniswap 交易对价格预言机部署在:
0x97587c990617f65A83CAb4f08b23F78472a0413b
FRAX-FXS Uniswap 交易对价格预言机部署在:
0xD0435BF68dF2B516C6382caE8847Ab5cdC5c3Ea7
FXS-ETH Uniswap 交易对价格预言机部署在:
0x9e483C76D7a66F7E1feeBEAb54c349Df2F00eBdE
FXS-USDC Uniswap 交易对价格预言机部署在:0x28fdA30a6Cf71d5fC7Ce17D6d20c788D98Ff2c46
FXS-USDT Uniswap 交易对价格预言机部署在:0x4FCb1759BD13950E7e73eEd650eb5bB355bC1CBC
描述
Frax系统从两个外部系统获取价格信息: Chainlink 和Uniswap。系统记录来自Chainlink的ETH-USD价格,并将其应用于来自Uniswap的FRAX-wETH和FXS-wETH池余额,以获得准确的FRAX-USD和FXS-USD价格。这使得FRAX可以跟踪美元的真实价格,而不是一篮子链上稳定币的价格(这可能会显著偏离)。
Chainlink 预言机是ETH-USD价格的时间加权平均值,每小时更新一次。
Chainlink
ChainlinkETHUSDPriceConsumer
合约负责以美元为单位获取ETH的价格。要从这个合同中得到以美元为单位的ETH的价格,调用getLatestPrice()
并除以getDecimals()
。
Uniswap
Uniswap V2系统包括使用时间加权平均价格的price oracles,以便稳健地计算出Uniswap池内代币的准确价格。Frax在其Uniswap池中使用这些oracle超过1小时的时间加权平均价格,以获得系统中Frax、FXS和担保代币的价格信息。时间加权平均价格的周期作为一个系统参数,可以通过治理方案来改变。
UniswapPairOracle
合约允许用户从其池子余额中获取系统内代币的价格。要从一对代币中获取一种代币的价格,调用该交易对具有代币地址和请求数量的实例consult(address token, uint amountIn)。
Last updated