Frax(FRAX)
调整的 ERC-20 合约代表FRAX稳定币
区块链 | 地址 |
---|---|
Arbitrum | 0x17FC002b466eEc40DaE837Fc4bE5c67993ddBd6F |
Avalanche | 0xD24C2Ad096400B6FBcd2ad8B24E7acBc21A1da64 |
BSC | 0x90C97F71E18723b0Cf0dfa30ee176Ab653E89F40 |
Ethereum | 0x853d955aCEf822Db058eb8505911ED77F175b99e |
Fantom | 0xdc301622e621166BD8E82f2cA0A26c13Ad0BE355 |
Harmony | 0xFa7191D292d5633f702B0bd7E3E3BcCC0e633200 |
Moonriver | 0x1A93B23281CC1CDE4C4741353F3064709A16197d |
Polygon | 0x45c32fA6DF82ead1e2EF74d17b76547EDdFaFF89 |
Solana | FR87nWEUxVgerFGhZM8Y4AggKGLnaXswr1Pd8wZ4kZcp |
enum PriceChoice { FRAX, FXS }
枚举FRAX和FXS的说明。预言机使用。
ChainlinkETHUSDPriceConsumer eth_usd_pricer
采用 Chainlink ETH/USD交易对举例。结合FRAX/ WETH、FXS/ WETH、抵押品/ FRAX和抵押品/FXS交易对,可以用来计算FRAX/FXS/抵押品的美元价格。
uint8 eth_usd_pricer_decimals
Chainlink ETH/USD交易对价格的小数点位数。
UniswapPairOracle fraxEthOracle
FRAX / WETH 在Uniswap上的价格预言机实例。
UniswapPairOracle fxsEthOracle
FXS / WETH 在Uniswap上的价格预言机实例。
address[] public owners
拥有特权操作的所有者地址数组。
address governance_address
治理合约的地址。
address public creator_address
合约创造者的地址。
address public timelock_address
时间锁合约的地址。
address public fxs_address
FXS合约地址
address public frax_eth_oracle_address
fraxEthOracle
地址address public fxs_eth_oracle_address
fxsEthOracle
地址address public weth_address
标准Wrapped-Ethereum(WETH)合约地址。主网地址应该是
0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2
。address public eth_usd_consumer_address
ChainlinkETHUSDPriceConsumer
地址uint256 public genesis_supply
FRAX创世供应。应该为一个小的非零数量。大部分FRAX供应来自铸币,但一开始需要少量,以防止各种功能中的零除错误。
address[] frax_pools_array
所有
FraxPool
合约地址。mapping(address => bool) public frax_pools
本质上与
frax_pools_array
一样, 但是映射模式,有助于在不同功能如globalCollateralValue()
上节省Gas费。 uint256 public global_collateral_ratio
在所有
FraxPool
中,当前FRAX与抵押品的比率。uint256 public redemption_fee
将FRAX兑换成FXS和/或抵押品的费用。以及用FXS回购多余抵押品的费用。参见
FraxPool
合约用例。uint256 public minting_fee
用FXS和/或其他抵押物铸造FRAX的费用。参见
FraxPool
合约用例。address public DEFAULT_ADMIN_ADDRESS
构造函数设置。用于
AccessControl
。bytes32 public constant COLLATERAL_RATIO_PAUSER
抵押品比率暂停时使用的常数。
bool public collateral_ratio_paused
抵押品比率是否暂停。
oracle_price
oracle_price(PriceChoice choice) internal view returns (uint256)
获取FRAX或者FXS的美金价格。
frax_price
frax_price() public view returns (uint256)
从FRAX-ETH Chainlink价格预言机返回FRAX价格。
fxs_price
fxs_price() public view returns (uint256)
从FRAX-ETH Chainlink价格预言机返回FXS价格。
frax_info
frax_info() public view returns (uint256, uint256, uint256, uint256, uint256, uint256, uint256)
返回一些常用的状态变量和计算值。这是为了避免对不同的getter函数的昂贵重复调用。扔掉所有的东西,只使用一些信息,使得Gas费更便宜。
globalCollateralValue
globalCollateralValue() public view returns (uint256)
遍历所有FRAX池并全局计算所有池中的抵押品价值。这采用了每个抵押品的预言机价格。
refreshCollateralRatio
refreshCollateralRatio() public
这个函数检查FRAX的价格,如果价格不是1美元,则刷新抵押品比率。如果价格高于1美元,则比率降低0.5%。如果价格低于1美元,则比率增加0.5%。任何人都可以点击这个函数来改变比率。这个函数每小时只能调用一次。
mint
mint(uint256 amount) public virtual onlyByOwnerOrGovernance
Public implementation of internal _mint().
pool_burn_from
pool_burn_from(address b_address, uint256 b_amount) public onlyPools
当用户赎回时由池子使用。
pool_mint
pool_mint(address m_address, uint256 m_amount) public onlyPools
这个函数是其他frax池将调用的,以铸造新的frax。
addPool
addPool(address pool_address) public onlyByOwnerOrGovernance
添加抵押物地址,如tether和busd,必须是ERC20。
removePool
removePool(address pool_address) public onlyByOwnerOrGovernance
移除一个池子
setOwner
setOwner(address owner_address) public onlyByOwnerOrGovernance
设置合约管理
setFraxStep
setFraxStep(uint256 _new_step) public onlyByOwnerOrGovernance
设置抵押品比率在执行refreshCollateralRatio()时改变的数量
setPriceTarget
setPriceTarget(uint256 _new_price_target) public onlyByOwnerOrGovernance
设置用于刷新抵押品比率()的价格目标(不影响铸造/赎回)。
setRefreshCooldown
setRefreshCooldown(uint256 _new_cooldown) public onlyByOwnerOrGovernance
设置refreshCollateralRatio()的刷新冷却时间。
setRedemptionFee
setRedemptionFee(uint256 red_fee) public onlyByOwnerOrGovernance
设置赎回费。
setMintingFee
setMintingFee(uint256 min_fee) public onlyByOwnerOrGovernance
设置铸造费。
setFXSAddress
setFXSAddress(address _fxs_address) public onlyByOwnerOrGovernance
设置FXS地址。
setETHUSDOracle
setETHUSDOracle(address _eth_usd_consumer_address) public onlyByOwnerOrGovernance
设置ETH / USD oracle地址。
setFRAXEthOracle
setFRAXEthOracle(address _frax_addr, address _weth_address) public onlyByOwnerOrGovernance
设置 FRAX / ETH Uniswap oracle 地址
setFXSEthOracle
setFXSEthOracle(address _fxs_addr, address _weth_address) public onlyByOwnerOrGovernance
设置 FXS / ETH Uniswap oracle 地址
toggleCollateralRatio
toggleCollateralRatio() public onlyCollateralRatioPauser
切换抵押品比率的暂停/取消暂停功能。
FRAXBurned
FRAXBurned(address indexed from, address indexed to, uint256 amount)
当FRAX被烧毁时发生,通常是来自一笔池子的赎回。
onlyCollateralRatioPauser
onlyCollateralRatioPauser()
针对指定抵押品比率的限制操作。
onlyPools
onlyPools()
针对池子合约的限制操作,如铸造新的FRAX。
onlyByGovernance
onlyByGovernance()
针对治理合约的限制操作,如设置铸造和赎回费用,以及Oracle和池地址。
onlyByOwnerOrGovernance
onlyByOwnerOrGovernance()
针对治理合约或所有者账户的限制操作,例如设置铸币和赎回费用,以及Oracle和池地址。
最近更新 1yr ago