Frax(FRAX)
调整的 ERC-20 合约代表FRAX稳定币
部署
区块链 | 地址 |
---|---|
Arbitrum | 0x17FC002b466eEc40DaE837Fc4bE5c67993ddBd6F |
Avalanche | 0xD24C2Ad096400B6FBcd2ad8B24E7acBc21A1da64 |
BSC | 0x90C97F71E18723b0Cf0dfa30ee176Ab653E89F40 |
Ethereum | 0x853d955aCEf822Db058eb8505911ED77F175b99e |
Fantom | 0xdc301622e621166BD8E82f2cA0A26c13Ad0BE355 |
Harmony | 0xFa7191D292d5633f702B0bd7E3E3BcCC0e633200 |
Moonriver | 0x1A93B23281CC1CDE4C4741353F3064709A16197d |
Polygon | 0x45c32fA6DF82ead1e2EF74d17b76547EDdFaFF89 |
Solana | FR87nWEUxVgerFGhZM8Y4AggKGLnaXswr1Pd8wZ4kZcp |
状态变量
ERC-20 (继承)
https://docs.openzeppelin.com/contracts/2.x/api/token/erc20#ERC20
访问控制 (继承)
https://docs.openzeppelin.com/contracts/3.x/api/access#AccessControl
FRAX-Specific
枚举FRAX和FXS的说明。预言机使用。
采用 Chainlink ETH/USD交易对举例。结合FRAX/ WETH、FXS/ WETH、抵押品/ FRAX和抵押品/FXS交易对,可以用来计算FRAX/FXS/抵押品的美元价格。
Chainlink ETH/USD交易对价格的小数点位数。
FRAX / WETH 在Uniswap上的价格预言机实例。
FXS / WETH 在Uniswap上的价格预言机实例。
拥有特权操作的所有者地址数组。
治理合约的地址。
合约创造者的地址。
时间锁合约的地址。
FXS合约地址
fraxEthOracle
地址
fxsEthOracle
地址
标准Wrapped-Ethereum(WETH)合约地址。主网地址应该是0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2
。
ChainlinkETHUSDPriceConsumer
地址
FRAX创世供应。应该为一个小的非零数量。大部分FRAX供应来自铸币,但一开始需要少量,以防止各种功能中的零除错误。
所有 FraxPool
合约地址。
本质上与 frax_pools_array
一样, 但是映射模式,有助于在不同功能如globalCollateralValue()
上节省Gas费。
在所有FraxPool
中,当前FRAX与抵押品的比率。
将FRAX兑换成FXS和/或抵押品的费用。以及用FXS回购多余抵押品的费用。参见FraxPool
合约用例。
用FXS和/或其他抵押物铸造FRAX的费用。参见 FraxPool
合约用例。
构造函数设置。用于AccessControl
。
抵押品比率暂停时使用的常数。
抵押品比率是否暂停。
View 函数
oracle_price
获取FRAX或者FXS的美金价格。
frax_price
从FRAX-ETH Chainlink价格预言机返回FRAX价格。
fxs_price
从FRAX-ETH Chainlink价格预言机返回FXS价格。
frax_info
返回一些常用的状态变量和计算值。这是为了避免对不同的getter函数的昂贵重复调用。扔掉所有的东西,只使用一些信息,使得Gas费更便宜。
globalCollateralValue
遍历所有FRAX池并全局计算所有池中的抵押品价值。这采用了每个抵押品的预言机价格。
公共函数
refreshCollateralRatio
这个函数检查FRAX的价格,如果价格不是1美元,则刷新抵押品比率。如果价格高于1美元,则比率降低0.5%。如果价格低于1美元,则比率增加0.5%。任何人都可以点击这个函数来改变比率。这个函数每小时只能调用一次。
限制函数
mint
Public implementation of internal _mint().
pool_burn_from
当用户赎回时由池子使用。
pool_mint
这个函数是其他frax池将调用的,以铸造新的frax。
addPool
添加抵押物地址,如tether和busd,必须是ERC20。
removePool
移除一个池子
setOwner
设置合约管理
setFraxStep
设置抵押品比率在执行refreshCollateralRatio()时改变的数量
setPriceTarget
设置用于刷新抵押品比率()的价格目标(不影响铸造/赎回)。
setRefreshCooldown
设置refreshCollateralRatio()的刷新冷却时间。
setRedemptionFee
设置赎回费。
setMintingFee
设置铸造费。
setFXSAddress
设置FXS地址。
setETHUSDOracle
设置ETH / USD oracle地址。
setFRAXEthOracle
设置 FRAX / ETH Uniswap oracle 地址
setFXSEthOracle
设置 FXS / ETH Uniswap oracle 地址
toggleCollateralRatio
切换抵押品比率的暂停/取消暂停功能。
事件
FRAXBurned
当FRAX被烧毁时发生,通常是来自一笔池子的赎回。
编辑器
onlyCollateralRatioPauser
针对指定抵押品比率的限制操作。
onlyPools
针对池子合约的限制操作,如铸造新的FRAX。
onlyByGovernance
针对治理合约的限制操作,如设置铸造和赎回费用,以及Oracle和池地址。
onlyByOwnerOrGovernance
针对治理合约或所有者账户的限制操作,例如设置铸币和赎回费用,以及Oracle和池地址。
Last updated