Frax Finance ¤
中文 🇨🇳
搜索
K

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 (继承)

访问控制 (继承)

FRAX-Specific

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
抵押品比率是否暂停。

View 函数

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和池地址。