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