FRAX ABI & 代币地址
修改过的 ERC-20 合约,代表 FRAX 稳定币。
部署
Arbitrum
0x17FC002b466eEc40DaE837Fc4bE5c67993ddBd6F
Aurora
0xE4B9e004389d91e4134a28F19BD833cBA1d994B6
Avalanche
0xD24C2Ad096400B6FBcd2ad8B24E7acBc21A1da64
Base (LayerZero)
0x909DBdE1eBE906Af95660033e478D59EFe831fED
Blast (LayerZero)
0x909DBdE1eBE906Af95660033e478D59EFe831fED
Boba
0x7562F525106F5d54E891e005867Bf489B5988CD9
BSC
0x90C97F71E18723b0Cf0dfa30ee176Ab653E89F40
Ethereum (native)
Ethereum (LayerZero)
0x909DBdE1eBE906Af95660033e478D59EFe831fED
Evmos
0xE03494D0033687543a80c9B1ca7D6237F2EA8BD8
Fantom
0xdc301622e621166BD8E82f2cA0A26c13Ad0BE355
Fraxtal (Native)
Fraxtal (LayerZero)
0x80eede496655fb9047dd39d9f418d5483ed600df
Harmony
0xFa7191D292d5633f702B0bd7E3E3BcCC0e633200
Linea (Axelar)
0x406cde76a3fd20e48bc1e0f60651e60ae204b040
Mantle (Axelar)
0x406Cde76a3fD20e48bc1E0F60651e60Ae204B040
Metis (LayerZero)
0x909DBdE1eBE906Af95660033e478D59EFe831fED
Mode (LayerZero)
0x80eede496655fb9047dd39d9f418d5483ed600df
Moonbeam
0x322E86852e492a7Ee17f28a78c663da38FB33bfb
Moonriver
0x1A93B23281CC1CDE4C4741353F3064709A16197d
Optimism
0x2E3D870790dC77A83DD1d18184Acc7439A53f475
Polygon
0x45c32fA6DF82ead1e2EF74d17b76547EDdFaFF89
Sei (LayerZero)
0x80eede496655fb9047dd39d9f418d5483ed600df
Scroll (Axelar)
0x406cde76a3fd20e48bc1e0f60651e60ae204b040
Solana
FR87nWEUxVgerFGhZM8Y4AggKGLnaXswr1Pd8wZ4kZcp
TRON
TBD
X-Layer (LayerZero)
0x80eede496655fb9047dd39d9f418d5483ed600df
状态变量
ERC-20 (Inherited)
https://docs.openzeppelin.com/contracts/2.x/api/token/erc20#ERC20
接入控制(Inherited)
https://docs.openzeppelin.com/contracts/3.x/api/access#AccessControl 注意:FRAX 和 FXS 合约没有任何暂停或黑名单控制(包括系统合约)。
关于FRAX
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以太坊(WETH)合约的地址。主网应为 0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2
for the mainnet.
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)
从FXS-ETH Chainlink价格预言机返回FXS的价格。
frax_info
frax_info() public view returns (uint256, uint256, uint256, uint256, uint256, uint256, uint256)
返回一些常用的状态变量和计算值。这是为了避免对不同获取函数的重复调用,减少成本。在燃气费用方面,直接返回所有信息并只使用其中的一部分更为经济。
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
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
设置用于 refreshCollateralRatio()
的价格目标(不影响铸造/赎回)。
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 预言机地址。
setFRAXEthOracle
setFRAXEthOracle(address _frax_addr, address _weth_address) public onlyByOwnerOrGovernance
设置 FRAX / ETH Uniswap 预言机地址。
setFXSEthOracle
setFXSEthOracle(address _fxs_addr, address _weth_address) public onlyByOwnerOrGovernance
设置 FXS / ETH Uniswap 预言机地址。
toggleCollateralRatio
toggleCollateralRatio() public onlyCollateralRatioPauser
切换暂停/恢复抵押比例。
事件
FRAXBurned
FRAXBurned(address indexed from, address indexed to, uint256 amount)
当FRAX被销毁时触发,通常是由于池子的赎回。
修饰符
onlyCollateralRatioPauser
onlyCollateralRatioPauser()
限制操作仅限于指定的抵押比例暂停者。
onlyPools
onlyPools()
限制操作仅限于池合约,例如铸造新的 FRAX。
onlyByGovernance
onlyByGovernance()
限制操作仅限于治理合约,例如设置铸造和赎回费用,以及预言机和池地址。
onlyByOwnerOrGovernance
onlyByOwnerOrGovernance()
限制操作仅限于治理合约或所有者账户,例如设置铸造和赎回费用,以及预言机和池地址。
Last updated
Was this helpful?