Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Frax生态系统概述
Frax当前发行了三种稳定币:FRAX、FPI和frxETH,以及众多其他非稳定币代币。系统内部还有多个合约组或“子协议”,这些协议将这些代币整合,以提供实用性和稳定性。理解统一Frax Finance生态系统的核心概念包括:
三种稳定币—Frax协议目前发行三种稳定币:
FRAX:一种与美元挂钩的资产。
FPI:Frax价格指数(FPI)稳定币,首个与一篮子消费品挂钩的稳定币,创建了一个独立于任何国家法定货币的计量单位。
FraxEther (frxETH):一种与ETH挂钩的流动质押衍生代币(LSD),旨在作为智能合约中WETH的替代品。frxETH也作为Fraxtal链中的Gas代币,具体解释如下。sfrxETH是互补的ERC4626代币,捕获来自ETH质押奖励、MEV等的增值。
frxETH V2预计将允许匿名验证者池使用托管退出消息作为抵押品借入额外的ETH。
Fraxswap—原生自动化做市商(AMM),基于Uniswap V2,增加了时间加权平均做市商(TWAMM)订单,用于Frax协议的抵押品再平衡、铸造/赎回、扩展/收缩稳定币供应,以及在链上部署协议拥有的流动性。
借贷AMM(BAMM)—建立在Fraxswap之上的借贷/借款模块。无需外部预言机或外部流动性即可安全运行。借款人租用由贷款人提供的流动性,以自动杠杆上升和下降,从而在高波动情况下保持偿付能力。
Fraxlend—无权限借贷市场,为基于Frax的稳定币提供借贷服务。支持债务发起、自定义非托管贷款,以及将抵押资产引入Frax Finance经济。
AMOs / 协议拥有流动性(POL)—该协议运营多个算法市场操作(AMO)智能合约,以管理其抵押品并用于生成收益。示例包括Fraxlend AMO、Curve AMO和Uniswap V3 AMO。
Fraxtal—基于Optimism技术的模块化二层链,使用frxETH作为燃气代币。
Fraxtal积分(FXTL)—用户在Fraxtal上进行有用活动(如消耗燃气、创建广泛使用的合约、在特定池中进行收益耕种)可赚取FXTL。
FraxBond(FXB)—类似于零息债券的代币,以低于1 FRAX的价格进行拍卖,但在到期时可兑换为1 FRAX。用于帮助锁定FRAX流动性并稳定FRAX挂钩。
sFrax(sFRAX)—ERC4626质押保险库,每周将Frax协议的部分收益分配给质押者。以FRAX稳定币计价。
Fraxferry—基于Frax的代币的乐观转账协议。Fraxferry在多个区块链之间转移原生发行的Frax协议代币。
Frax Share (FXS) —整个Frax生态系统的基础治理代币。它积累费用、收入和多余的抵押品价值。
veFXS – 用户锁定FXS一段可变时间以获得投票权和农耕权重提升。灵感来源于Curve的veCRV。
Gauge 奖励系统 —社区可以提出新的Gauge奖励,用于整合基于Frax的稳定币的策略。FXS的发行量固定,每年减半,完全根据veFXS质押者的投票流向不同的Gauge。
借贷AMM(BAMM)
建立在Fraxswap之上的借贷/借款模块。无需外部预言机或外部流动性即可安全运行。借款人租用由贷款人提供的流动性,以自动杠杆上升和下降,从而在高波动情况下保持偿付能力。
Fraxlend
无权限借贷市场,为基于Frax的稳定币提供借贷服务。支持债务发起、自定义非托管贷款,以及将抵押资产引入Frax Finance经济。
AMOs / 协议拥有流动性(POL)
该协议运营多个算法市场操作(AMO)智能合约,以管理其抵押品并用于生成收益。示例包括Fraxlend AMO、Curve AMO和Uniswap V3 AMO。
Fraxtal
基于Optimism技术的模块化二层链,使用frxETH作为燃气代币。
Fraxtal积分(FXTL)
用户在Fraxtal上进行有用活动(如消耗燃气、创建广泛使用的合约、在特定池中进行农耕)可赚取FXTL。
Frax债券(FXB)
类似于零息债券的代币,以低于1 FRAX的价格进行拍卖,但在到期时可兑换为1 FRAX。用于帮助锁定FRAX流动性并稳定FRAX挂钩。
质押Frax(sFRAX)
ERC4626质押保险库,每周将Frax协议的部分收益分配给质押者。以FRAX稳定币计价。
Fraxferry
基于Frax的代币的乐观转账协议。Fraxferry在多个区块链之间转移原生发行的Frax协议代币。
Frax Share(FXS)
整个Frax生态系统的基础治理代币。它积累费用、收入和多余的抵押品价值。
veFXS
用户锁定FXS一段可变时间以获得投票权和农耕权重提升。灵感来源于Curve的veCRV。
量表奖励系统
社区可以提出新的量表奖励,用于整合基于Frax的稳定币的策略。FXS的发行量固定,每年减半,完全根据veFXS质押者的投票流向不同的量表。
网站:Frax Finance Telegram: Frax Finance Telegram(公告/新闻): Frax Finance News Discord: Frax Finance Discord Twitter: Frax Finance Twitter Medium / 博客: Frax Finance Community 治理(讨论): Frax Governance 治理(投票): Frax Voting
FXS在整个系统中的分布
DeFi协议利用流动性计划来启动增长并向社区成员分发协议代币。为此,所有FXS代币的60%将通过各种收益 farming、流动性激励和独家治理提案在几年内分发。5%则用于团队的更多自由裁量活动,如第三方补助、审计、漏洞赏金和合作伙伴关系(不用于个人团队成员的利益)。
随着DeFi领域的不断发展,这些发行量可以通过完整的Frax改进提案(FIP)治理投票进行更改,如果FIP通过,流动性池锁定和提升权重可以重新设定。完整投票需要2周的讨论,然后根据官方治理流程进行代币持有者投票。
社区治理可以决定支持哪些池子、项目和倡议,并制定发行计划,但总量不能超过1亿个FXS。因此,最多将有6,000万FXS分配给社区,用于流动性项目和其他DeFi倡议,这些都需经过治理投票。治理可以将新的项目添加到剩余的分配中,但由于1亿FXS的硬上限,分配总量不得超过6,000万FXS。这是为了对FXS的数量设置硬性上限,并规定分发FXS所需的时间长度。这个发行率的选择旨在平衡对早期采用者的大量奖励需求,同时避免过早分发所有FXS,以确保长期社区的可持续性。FXS的发行应更像是比特币挖矿的模式。FXS的分发需要是多年的、延续的,并且在协议达到广泛应用之前是可持续的。
项目财库应用于资助Frax技术的发展、开源代码的维护、未来智能合约的审计、通过负责任披露的漏洞赏金、可能的跨链实现、团队薪酬、新协议级功能和更新的创建、Frax改进提案(FIPs)、与交易所和DeFi项目的合作、以及在启动时为自动做市商提供流动性。该资金的使用由团队自行决定。
团队代币保留给创始人和原始的早期贡献者。Frax 协议在 2018 年底构思,工作在 2019 年初开始。自构思以来,Frax 概念已有超过 6 年的历史。创始人和早期成员对 Frax 的贡献对协议的发布至关重要。团队将继续与更广泛的社区一起在 Frax 上工作。这一分配于 2021 年 12 月 20 日完成。
顾问代币用于法律、技术和商业等领域的战略工作,以推动 Frax 协议的采用。这些代币在 3 年内均匀分配,并于 2023 年 12 月 20 日完成。
Frax 的第一轮融资于 2020 年 8 月进行,分配较小,2 小时内售罄。剩余部分通过私募方式进行。这一归属在启动日(Day 0)分发了少量代币(约占总供应量 1 亿的 2%)。剩余的 10% 在 1 年内均匀归属,其中一半有 6 个月的解禁期。这一分配于 2021 年 12 月 20 日完成。
调整版 ERC-20 合约,代表 FXS 代币,用于与 FRAX 稳定币相关的质押和治理活动。
FRAX 合约地址。
FXS初始供应。
FXS最大供应。
加入 DAO 组织所需的最低 FXS 量。
合约Owner地址。
oracle合约地址。
时间锁地址。
FRAX 合约实例。
借鉴自Compound Finance。用于治理投票。
在特定区块下,给定地址的投票权列表。
某个地址的Checkpoint计算。
setOracle
Change the address of the price oracle.
setFRAXAddress
Set the address of the FRAX contract.
setFXSMinDAO
Set minimum FXS required to join DAO groups.
mint
Mint new FXS tokens.
pool_mint
This function is what other FRAX pools will call to mint new FXS (similar to the FRAX mint).
pool_burn_from
This function is what other FRAX pools will call to burn FXS.
transfer
Transfer FXS tokens.
transferFrom
Transfer FXS tokens from another account. Must have an allowance set beforehand.
getCurrentVotes
Gets the current votes balance for account
.
getPriorVotes
Determine the prior number of votes for an account as of a block number. Block number must be a finalized block or else this function will revert to prevent misinformation.
_moveDelegates
Misnomer, from Compound Finance's _moveDelegates
. Helps keep track of available voting power for FXS holders.
_writeCheckpoint
From Compound Finance's governance scheme. Helps keep track of available voting power for FXS holders at a specific block. Called when a FXS token transfer, mint, or burn occurs.
safe32
Make sure the provided int is 32 bits or less, and convert it to a uint32.
safe96
Make sure the provided int is 96 bits or less, and convert it to a uint96.
add96
Add two uint96 integers safely.
sub96
Subtract two uint96 integers safely.
getChainId
Return the Ethereum chain ID the contract is deployed on
VoterVotesChanged
Emitted when a voters account's vote balance changes
FXSBurned
Emitted when FXS is burned, usually from a redemption by the pool
onlyPools
Restrict actions to pool contracts, e.g. minting new FXS.
onlyByOracle
限制只有预言机可以执行的操作,例如设置 FRAX 和预言机地址。
用于控制FXS释放Gauge流动性权重系统
分配FXS给每个 gauge 的策略称为它的“gauge权重”。他们可以在多个gauges或单一gauge上分配投票权。这使得协议的长期用户veFXS持有者可以控制未来的FXS排放率。每个veFXS等于1票。
此外,Gauge系统降低了那些将大部分奖励卖出的FRAX交易对的影响,因为这些LP将没有veFXS继续为他们的流动性池投票。该系统非常青睐那些不断将自己的奖励用于veFXS,以增加其流动性池的Gauge权重。从本质上讲,FRAX平衡了veFXS持有者的激励措施,使得最长期的FXS持有者控制FXS释放的方向,直到整个社区的FXS分配完成。每周三太平洋标准时间下午5点,Gauge权重会更新一次。这意味着每个池子的FXS排放速率在一周内是不变的,然后在每个星期三更新到新的速率。任何用户都可以每10天改变他们的权重分配。
由于FXS Gauge排放量是固定的,并且每年减半,在几年后,可以通过治理来决定是否分配部分协议现金流或铸造新的FRAX来衡量奖励。因此,veFXS质押者可以自信地质押最长时间4年,因为他们知道Gauges程序不是临时的,不会被弃用。目前,Gauges策略是激励Frax生态系统增长的重要组成部分。
LP Gauge: LP gauge是最常见的gauge合约类型,以ERC20 LP代币作为存款。大多数Gauge鼓励Fraxswap, Curve, Uniswap v2等的LP头寸。通常,这些Gauge支持在每一个LP头寸中的1FRAX匹配4veFXS,则可以获得2倍veFXS加成,以及每额外锁1年,可以获得2倍锁仓加成(除非另有说明)。 Gauge:贷款gauge通常用于激励货币市场中的FRAX贷款活动,如Aave, Fraxlend, Compound等。存款代币是aFRAX, fFRAX, cFRAX等。贷款Gauge通常不提供锁仓时间加成,但每4个veFXS提供1个FRAX贷款最多可以获得2倍veFXS加成。 Uniswap V3 Gauge: Uniswap v3 gauges 将NFT LP仓位作为存款。这些gauge在发布时预先配置,以在特定的刻度范围内接受NFT lp,以仅激励治理批准的确切集中的流动性头寸。这些gauge的LP中,如果每1 FRAX提供4veFXS则可以获得2倍veFXS加成,并为1-3年锁定提供额外的2x-3x时间锁仓加成(每个Gauge在其相应的质押页面)。
金库Gauge:金库Gauge将金库策略代币作为存款,如Stake DAO或Yearn Finance金库代币。金库代币通常如果每1 FRAX提供4veFXS则可以获得2倍veFXS加成,并为1-3年锁定提供额外的2x-3x时间锁仓加成(每个gauge都有说明)
FRAX Gauges允许veFXS质押者直接控制任何集成FRAX池的FXS释放速率。除了要求使用FRAX稳定币并且通过Gauge治理投票之外,对于哪些协议或者交易对没有任何限制。虽然Uniswap V3稳定币区间Gauge将是首次亮相的Gauge(以及Curve的FRAX3CRV池),任何FRAX池(包括跨链池)可以在未来添加为一个Gauge。与Curve相比,veFXS Gauge系统完全支持未知的交易对,因为FRAX Gauges仅要求池子中有FRAX,而Curve要求所有的Gauge系统必须有Curve池。本质上,veFXS Gauges是Defi的货币层Gauge 权重,而Curve Gauge则是DEX层Gauge权重。由于veFXS质押者可以控制FXS释放到任何集成FRAX的协议中,许多协议和社区可能会为控制算法稳定币协议的未来现金流而竞争。
锁定的FXS,提供投票权和其他好处
veFXS是基于Curve的veCRV机制的一种锁仓和收益系统。用户可以将他们的FXS锁定最多4年,以获得四倍的veFXS(例如,锁定100个FXS 4年可得到400个veFXS)。veFXS不是可转让代币,也不在流动市场上交易。它更像是一个基于账户的积分系统,表示钱包中锁定FXS代币在协议内的锁定时间。
随着代币接近锁定到期,veFXS余额线性减少,最终接近于每个FXS对应1个veFXS,当剩余锁定时间为零时。这鼓励长期质押和活跃的社区。
智能合约和DAO需要通过治理进行白名单认证,以质押获得veFXS。只有外部拥有的账户和普通用户钱包可以直接调用veFXS质押锁定功能。为了将veFXS功能集成到您的协议中,请通过提交白名单提案,在gov.frax.finance上与FRAX社区开始治理流程。
每个veFXS在治理提案中拥有1票。将1个FXS质押至最大时间4年,将生成4个veFXS。这个veFXS余额将在4年后逐渐减少到1个veFXS,届时用户可以将veFXS兑换回FXS。在此期间,用户还可以通过锁定FXS、延长锁定结束日期或两者兼而有之来增加他们的veFXS余额。需要注意的是,veFXS不可转让,每个账户只能有一个锁定期限,这意味着同一个地址不能将某些FXS代币锁定2年,然后再将另一组FXS代币锁定3年等。每个账户的FXS必须具有统一的锁定时间。
持有veFXS将使用户在获取某些收益耕种奖励时获得更多权重。所有通过协议直接分配的农耕奖励都可以获得veFXS的提升。由其他协议(如Sushi Onsen)推广的外部收益耕种通常不适用于veFXS提升,因为它们独立于Frax协议本身。其他协议可以选择通过Frax的量表农耕合约分配他们的奖励,以获取veFXS提升功能。FXS量表农耕合约支持每个量表最多4种不同代币的奖励。
用户的veFXS提升不会增加奖励的整体发行量。提升是一个附加的提升,将根据每个农民的veFXS余额添加到他们的收益中。每个LP对的veFXS提升可能会因社区的合作协议和治理投票而有所不同。每个Gauge将显示可用提升的具体条款。
收益耕种提升是以每1 FRAX的LP存款代币对应的veFXS比例进行的。例如,一个FRAX-IQ Gauge的2倍提升比例为每1 FRAX 10个veFXS,意味着拥有50,000个veFXS的用户在包含5,000 FRAX(总价值10,000美元)的LP头寸上获得2倍提升。
目前大多数Gauge提供2倍的收益提升,要求为4个veFXS对应1个FRAX。
Frax协议的主要现金流分配机制是向veFXS持有者分配。来自AMO、Fraxlend贷款、Fraxswap费用等的现金流通常用于从市场回购FXS,然后分配给veFXS质押者作为收益。发行率根据协议盈利能力、现金流来源、FXS市场价格和治理行动而有所不同。
veFXS系统是模块化和多功能的。未来,它可以扩展以投票AMO权重,在新的地方/功能中获得额外收益,并帮助为Frax Finance经济创造长期一致性。
这将为Frax整体带来好处,包括:
通过veFXS将投票权分配给长期持有FXS的用户。
激励Gauge收益耕种用户质押FXS。
允许DAO和其他项目建立大规模和长期的veFXS头寸,并参与Frax治理。
为FXS创造类似债券的效用,并为质押的FXS创建基准APR利率。
FXS是整个Frax生态系统的质押和治理代币。所有的效用都集中在FXS及其锁定变体veFXS上。
Frax Share代币(FXS)是该协议中的非稳定性实用代币,与稳定币FRAX相对。FXS旨在具有波动性,持有治理权及系统的所有实用性。通过FXS进行治理的参数包括调整各种费用、分配协议资产,以及为Fraxlend启用新的借贷对。超额协议收入也会分配给锁定的FXS(veFXS)持有者,而这些veFXS持有者还可以获得农耕权重提升和其他收益。FXS的初始供应量设定为1亿个代币(分配情况见此处)。截至2024年10月2日,FXS的硬性供应上限仍为1亿个代币。
FXS代币具有系统的上行和下行实用性潜力,其价值的变化始终与FRAX代币本身脱钩,不会影响其挂钩机制。
在FRAX的原始(V1)模型中,铸造FRAX需要同时使用FXS和另一种稳定币,例如USDC。每种代币的比例(例如15% FXS,85% USDC)根据市场条件而变化。有关详细信息,请参见Frax V1背景。
FXS代币的市值将计算为FRAX代币铸币税未来预期的净价值创造、费用的现金流和未使用抵押品的利用。此外,随着FXS市值的增加,系统保持FRAX稳定的能力也随之增强。因此,设计的优先事项是在保持FRAX作为稳定货币的同时,最大化FXS代币的价值。正如Robert Sams在原始的Seigniorage Shares白皮书中所描述的:“股份代币就像中央银行资产负债表的资产方。任何时刻股份的市值固定了货币供应量可以减少的上限。”同样,Frax协议从Sams的提议中获得灵感,因为Frax是一种混合(部分)铸币税股份模型。只要FRAX的需求增长,FXS的供应将大幅通缩。
在当前模型中,FXS仍用于治理,获得超额协议收入,并为持有者提供其他各项收益(通过veFXS)。然而,铸造FRAX不再需要FXS。这一功能已被委托给AMOs。
委托您的合并的veFXS 用于快照投票
由于 Fraxtal 链上快照的限制,多对一的委托将不再可能。如果您 1) 正在委托,或者 2) 无法访问您在主网(委托人)上的地址,我们部署了一个简单的 1:1 委托合约来帮助您。
首先,获取一个可以进行任意调用的 Fraxtal 地址。可以是新地址或现有地址。这将被称为被委托地址。您需要通过 L1CrossDomainMessenger(在以太坊上)向 Fraxtal 发送跨链消息,目标合约为 DoubleOptInVeFXSDelegation(在 Fraxtal 上)。以下是一些有用的地址和函数签名:
您的委托人地址在 Fraxtal 将能够使用其自身的投票权和委托人的投票权进行投票。
1) 准备一个十六进制消息
2) 在以太坊上用您的委托人地址调用以下内容:
这将调用 Fraxtal 上的
DoubleOptInVeFXSDelegation.nominateDelegateeCrossChain
3) 等待几分钟
4) 使用您的 Fraxtal 被委托人地址,调用:
1) 与委托人一起,调用:
2) 与被委托人一起调用:
委托人或被委托人可以随时单方面撤销委托。
1) 在以太坊上用您的委托人地址调用以下内容:
这将调用 Fraxtal 上的
DoubleOptInVeFXSDelegation.rescindDelegationAsDelegatorCrossChain
2) 等待几分钟,然后您的 Fraxtal 上的委托应被撤销
1) 与委托人一起调用:
1) 与被委托人一起调用:
完全链上、无信任和去中心化的治理,基于 Compound/OpenZeppelin Governor 控制 Gnosis Safes
在 Frax 治理实施之前,Frax 协议的操作并未完全去中心化。大多数操作由关键的 Frax 利益相关者通过 Gnosis Safes 执行。隐含的信任假设是,Frax 利益相关者不会恶意行为,且外部参与者不会迫使利益相关者执行恶意操作。随着 Frax 治理的引入,这一信任假设被消除,Frax 协议由 veFXS 持有者通过链上治理控制。
Frax 治理的最终状态将全面控制所有主要的安全库,让 veFXS 持有者对协议中的一切拥有最终决定权。veFXS 持有者可以对所有提案进行投票,可以在达到法定人数并通过的情况下,替换 Frax 团队成员作为底层安全库的所有者并执行任何行动。
Frax 团队成员可以通过 FraxGovernorOmega 创建乐观提案,这些提案默认成功。通常情况下,提案默认失败,但在 Frax 治理中,veFXS 持有者也可以对乐观提案进行支持或反对的投票。如果一个乐观提案达到法定人数且反对票多于支持票,该提案将失败。
根据FXS分发的原始设计规范,FXS的供应量将在每年的12月20日减半。最初,根据 每天向FXS指标的发行量为25,000个FXS。截至2024年10月2日,由于进行了3次减半(见下文),当前的日发行量为3,125个FXS。这些变化不会解锁已锁定的流动性池,因为它们是FXS供应的正常发行计划。
社区财库合约地址:
团队(裁定)合约地址
团队分配财库合约地址:
顾问分配财库合约地址:
投资者分配财库合约地址:
区块链 | 地址 |
---|
“gauge”是一种收益耕种智能合约,它在一种资产(通常是LP代币、金库代币、NFT头寸等)中吸收存款,并以FXS(可能还有其他)代币奖励存款用户。Gauge合约可以采用多种形式的存款,如FRAX贷款存款(Aave中的aFRAX, Compound中的cFRAX, Fraxlend中的fFRAX), LP代币(Curve LP代币或Fraxswap LP代币),甚至NFT(如Uniswap v3 NFT头寸)。Gauge用于激励对协议有利的特定“策略”和行为,如增加FRAX贷款,加深某些交易对的流动性,或增加另一个项目之间的合作/集成。Gauge完整列表可以在这里找到:
在Gauge权重合约中持有LP代币的用户将根据他们拥有的veFXS的数量进一步提高APR。此外,锁定期LP代币到质押合约中的用户在一个特定期间将在顶部进一步获得加成,从而使两个加成叠加以获得最大的APR。由于 Gauge权重每周都会改变,如果Gauge权重改变,锁定在Gauge中的LPs不会被解锁。请参阅页面,了解如何计算加成。每个Gauge策略都可以有不同的加成条款,这取决于它所激励的最终行为。例如,由于FRAX贷款不提供锚定稳定性,因此不需要额外奖励,继而该策略只需要非常低的锁仓加成。然而, Curve、Uniswap或Fraxswap流动性gauge可能会提供较高的时间锁仓加成,因为锁定流动性有助于FRAX在波动期间保持坚挺。
值得注意的是,在任何智能合约(非EOA钱包)上质押veFXS都必须通过治理投票列入白名单。有关持有veFXS的完整好处列表,如AMO利润和收益耕种加成,请参阅。
有关veFXS收益的历史视图,可以在此查看: 。
在讨论完提案后,可以使用。投票权是持有的 FXS 和来自其他来源的 veFXS 的总和。历史上,投票是在以太坊上进行的,但现在已经转移到 Fraxtal()。快照将获取您所有的投票权来源(主网 veFXS、Fraxtal FXS、Fraxtal veFXS 和 Fraxtal FPISLocker),除了主网 FXS。您需要将 FXS 桥接到 Fraxtal 才能获得 1:1 的投票权,或者将其锁定在主网 veFXS(在 Fraxtal 上有现有的余额证明系统)。
⚠️(截至 2024 年 10 月 2 日)在迁移过程中,投票将通过 Snapshot 在 Frax 自有的 链上进行。⚠️
Arbitrum | 0x9d2F299715D94d8A7E6F5eaa8E654E8c74a988A7 |
Aurora | 0xBb8831701E68B99616bF940b7DafBeb4CDb23e0b |
Avalanche | 0x214DB107654fF987AD859F34125307783fC8e387 |
Base (LayerZero) | 0x23432452B720C80553458496D4D9d7C5003280d0 |
Blast (LayerZero) | 0x23432452B720C80553458496D4D9d7C5003280d0 |
Boba | 0xae8871A949F255B12704A98c00C2293354a36013 |
BSC | 0xe48A3d7d0Bc88d552f730B62c006bC925eadB9eE |
Ethereum (native) | 0x3432B6A60D23Ca0dFCa7761B7ab56459D9C964D0 |
Ethereum (LayerZero) | 0x23432452B720C80553458496D4D9d7C5003280d0 |
Evmos | 0xd8176865DD0D672c6Ab4A427572f80A72b4B4A9C |
Fantom | 0x7d016eec9c25232b01F23EF992D98ca97fc2AF5a |
Fraxtal (native) | 0xFc00000000000000000000000000000000000002 |
Fraxtal (LayerZero) | 0x64445f0aecc51e94ad52d8ac56b7190e764e561a |
Harmony | 0x0767D8E1b05eFA8d6A301a65b324B6b66A1CC14c |
Metis (LayerZero) | 0x23432452B720C80553458496D4D9d7C5003280d0 |
Mode (LayerZero) | 0x64445f0aecc51e94ad52d8ac56b7190e764e561a |
Moonbeam | 0x2CC0A9D8047A5011dEfe85328a6f26968C8aaA1C |
Moonriver | 0x6f1D1Ee50846Fcbc3de91723E61cb68CFa6D0E98 |
Optimism | 0x67CCEA5bb16181E7b4109c9c2143c24a1c2205Be |
Polygon | 0x1a3acf6D19267E2d3e7f898f42803e90C9219062 |
Sei (LayerZero) | 0x64445f0aecc51e94ad52d8ac56b7190e764e561a |
Solana | 6LX8BhMQ4Sy2otmAWj7Y5sKd9YTVVUgfMsBzT6B9W7ct |
X-Layer | 0x64445f0aecc51e94ad52d8ac56b7190e764e561a |
用于铸造和赎回 FRAX 的合约,以及回购多余抵押品。
⚠️ 此池已被弃用,取而代之的是 FRAX V2 及更高版本的机制 ⚠️
Frax Pool 合约由治理系统部署和管理,这意味着在治理提案成功并执行后,可以随时添加新的抵押类型。当前池为 USDC,未来池将开放更多的抵押类型。
USDC: 0x3C2982CA260e870eee70c423818010DfeF212659
Frax Pool 是一个智能合约,通过抵押品向用户铸造 FRAX 代币,或通过赎回发送到合约中的 FRAX 代币来返回抵押品。每个 Frax Pool 接受不同类型的抵押品。Frax Pools 可以采用任何类型的加密货币,但由于其价格波动较小,稳定币的实现最为简单。Frax 旨在接受任何类型的加密货币作为抵押品,但在初始阶段优先选择低波动性的池,因为它们不会导致抵押比率剧烈变化。有一些有前景的新项目,如 Reflex Bonds,能够抑制其基础加密资产的波动性。未来,Reflex Bonds 可能成为理想的 FRAX 抵押品。新的 Frax Pools 可以通过 FXS 治理投票添加。
每个池合约都有一个池上限(可存储以铸造 FRAX 的最大抵押品)和资产的价格馈送。创世时的初始 Frax Pool 将是 USDC(美元硬币)和 USDT(泰达币),因为它们具有较大的市值、稳定性,并且在以太坊上可用。
这些池通过对 FRAX 稳定币(FRAX)和 FRAX 股份(FXS)合约的授权调用来铸造和赎回协议代币。
该合约有 3 个铸造功能:mint1t1FRAX()
、mintFractionalFRAX()
和 mintAlgorithmicFRAX()
。合约还具有与铸造功能对应的 3 个赎回功能:redeem1t1FRAX()
、redeemFractionalFRAX()
和 redeemAlgorithmicFRAX()
。
这些功能被分为 1 对 1、分数和算法三个阶段,以优化 Gas 使用。1 对 1 的铸造和赎回功能仅在抵押比率为 100% 时可用。分数铸造和赎回功能仅在抵押比率为 99.99% 到 0.01% 之间可用。算法铸造和赎回功能仅在抵押比率为 0% 时可用。
每个铸造和赎回功能都有一个 AMOUNT_out_min
参数,用于指定期望从交易中获得的最低代币单位。这在提交交易时作为滑点容忍度的限制,因为价格可能会在创建交易和被包含在区块中的时间之间更新。
https://docs.openzeppelin.com/contracts/3.x/api/access#AccessControl
池中抵押代币的实例。
抵押代币的地址。
池子的所有者列表。
预言机合约的地址。
FRAX 合约的地址。
FXS 合约的地址。
时间锁合约的地址。
FXS 合约的实例。
FRAX 合约的实例。
预言机合约的实例。
记录给定地址的赎回余额。赎回者不能在同一个区块中同时请求赎回和实际赎回他们的 FRAX。这是为了防止闪电贷攻击,可能导致 FRAX 和/或 FXS 价格崩溃。赎回者必须等到下一个区块。这一特定变量用于赎回的 FXS 部分。
记录给定地址的赎回余额。赎回者不能在同一个区块中同时请求赎回和实际赎回他们的 FRAX。这是为了防止闪电贷攻击,可能导致 FRAX 和/或 FXS 价格崩溃。赎回者必须等到下一个区块。这一特定变量用于赎回的抵押品部分。
redeemCollateralBalances
的总和。
redeemFXSBalances
的总和
记录给定地址最后一次赎回的区块。
池子可以接受的最大抵押品金额。
铸造暂停的 AccessControl
角色。
AccessControl
role for the redeem pauser.
赎回暂停的 AccessControl
角色。
铸造是否已暂停。
赎回是否已暂停。
回购是否已暂停。
unclaimedFXS
返回未领取的 FXS 总金额。
unclaimedCollateral
返回未领取的抵押品总金额。
collatDollarBalance
返回池中抵押代币的总余额(以美元计)。
availableExcessCollatDV
返回池中抵押代币的多余余额(超过抵押比率所需的部分,以美元计)。
getCollateralPrice
返回池中抵押品的价格(以美元计)。
mint1t1FRAX
从抵押品中铸造 FRAX。仅在抵押比率为 1 时有效。
mintFractionalFRAX
从抵押品和 FXS 中铸造 FRAX。仅在抵押比率介于 0 和 1 之间时有效。
mintAlgorithmicFRAX
从 FXS 中铸造 FRAX。仅在抵押比率为 0 时有效。
redeem1t1FRAX
从 FRAX 赎回抵押品。仅在抵押比率为 1 时有效。必须在之后调用 collectionRedemption()
以进行收集。
redeemFractionalFRAX
Redeem collateral and FXS from FRAX. Valid only when the collateral ratio is between 0 and 1. Must call collectionRedemption()
later to collect.
redeemAlgorithmicFRAX
Redeem FXS from FRAX. Valid only when the collateral ratio is 0. Must call collectionRedemption()
later to collect.
collectRedemption
After a redemption happens, transfer the newly minted FXS and owed collateral from this pool contract to the user. Redemption is split into two functions to prevent flash loans from being able to take out FRAX / collateral from the system, use an AMM to trade the new price, and then mint back into the system.
buyBackFXS
Function can be called by an FXS holder to have the protocol buy back FXS with excess collateral value from a desired collateral pool. This can also happen if the collateral ratio > 1
recollateralizeAmount
When the protocol is recollateralizing, we need to give a discount of FXS to hit the new CR target. Returns value of collateral that must increase to reach recollateralization target (if 0 means no recollateralization)
recollateralizeFrax
Thus, if the target collateral ratio is higher than the actual value of collateral, minters get FXS for adding collateral. This function simply rewards anyone that sends collateral to a pool with the same amount of FXS + .75%. Anyone can call this function to recollateralize the protocol and take the hardcoded .75% arb opportunity
toggleMinting
Toggle the ability to mint.
toggleRedeeming
Toggle the ability to redeem.
toggleBuyBack
Toggle the ability to buyback.
setPoolCeiling
Set the pool_ceiling
, which is the total units of collateral that the pool contract can hold.
setOracle
Set the oracle_address
.
setCollateralAdd
Set the collateral_address
.
addOwner
Add an address to the array of owners.
removeOwner
Remove an owner from the owners array.
onlyByOwnerOrGovernance
Restrict actions to the governance contract or the owner(s).
notRedeemPaused
Ensure redemption is not paused.
notMintPaused
Ensure minting is not paused.
允许质押 Uniswap 交易对流动性池代币以换取 FXS 奖励。
⚠️ 本页面仅适用于非常早期的流动性挖矿池,尽管许多新农场共享功能和名称 ⚠️
基于 Synthetix 的质押合约:
https://docs.synthetix.io/incentives/
Frax 用户能够在选定的 Uniswap 流动性池代币中质押,以换取 FXS 奖励。未来的池和激励措施可以由治理添加。
流动性池代币(LP)
Uniswap FRAX/WETH LP: 0xFD0A40Bc83C5faE4203DEc7e5929B446b07d1C76
Uniswap FRAX/USDC LP: 0x97C4adc5d28A86f9470C70DD91Dc6CC2f20d2d4D
Uniswap FRAX/FXS LP: 0xE1573B9D29e2183B1AF0e743Dc2754979A40D237
Uniswap FXS/WETH LP: 0xecBa967D84fCF0405F6b32Bc45F4d36BfDBB2E81
质押合约
Uniswap FRAX/WETH staking: 0xD875628B942f8970De3CcEaf6417005F68540d4f
Uniswap FRAX/USDC staking: 0xa29367a3f057F3191b62bd4055845a33411892b6
Uniswap FRAX/FXS staking: 0xda2c338350a0E59Ce71CDCED9679A3A590Dd9BEC
Uniswap FXS/WETH staking (deprecated): 0xDc65f3514725206Dd83A8843AAE2aC3D99771C88
FRAX合约的实例。
奖励代币的实例。
质押代币的实例。
质押周期结束的区块。
每秒最大奖励。
奖励周期,以秒为单位。
合约最后一次更新或状态改变的时间戳。
当前周期内每个代币的实际奖励。
锁定质押的最大提升/权重倍增器。
达到 locked_stake_max_multiplier
的时间(以秒为单位)。
锁定质押的最低质押时间(以秒为单位)。
字符串版本为 locked_stake_min_time_str
。
来自抵押比例(CR)的最大提升/权重乘数。这适用于锁定和未锁定的质押。
记录某个地址上次领取奖励的时间。如果他们在之后的某个时间领取奖励,他们将获得正确的奖励金额,因为 rewardPerTokenStored
是在不断变化的。
给定地址的当前奖励余额。
质押的池代币总量。
考虑了时间和CR加成的 _staking_token_supply
。这不是实际的池代币数量,而是一个“加权分母”。
给定地址质押的池代币余额。
考虑了时间和CR加成的 _balances
,类似于 _staking_token_boosted_supply
。
提供给定地址的锁定质押批次列表。
一个锁定的质押“批次”。
totalSupply
获取质押的流动性池代币总数。
stakingMultiplier
根据质押的秒数获取基于时间的质押倍增器。
crBoostMultiplier
获取基于抵押比率(CR)的质押倍增器。
stakingTokenSupply
与 totalSupply()
相同。
balanceOf
获取给定账户质押的流动性池代币数量。
boostedBalanceOf
获取给定账户质押的流动性池代币的加成数量。加成考虑了抵押比率(CR)和基于时间的倍增器。
lockedBalanceOf
获取给定账户锁定的质押流动性池代币数量。
unlockedBalanceOf
获取给定账户解锁的/自由的质押流动性池代币数量。
lockedStakesOf
返回给定账户的所有锁定质押“批次”的数组。
stakingDecimals
返回 stakingToken
的小数位数 (decimals()
)。
rewardsFor
获取给定账户的 FXS 奖励数量。
lastTimeRewardApplicable
在内部用于跟踪 rewardPerTokenStored
。
rewardPerToken
当前质押流动性池代币的 FXS 奖励数量。
earned
返回给定账户的未领取 FXS 奖励数量。
getRewardForDuration
计算给定奖励持续时间(rewardsDuration
)内的 FXS 奖励。
stake
质押一些 Uniswap 流动性池代币。这些代币可以自由提取,仅受 crBoostMultiplier()
的加成。
stakeLocked
质押一些 Uniswap 流动性池代币,并将其锁定指定的秒数。作为锁定代币的回报,质押者的基础金额将通过线性时间倍增器进行乘法计算,该倍增器在 secs = 0
时为 1,在 locked_stake_time_for_max_multiplier
时为 locked_stake_max_multiplier
。质押的价值还会乘以 crBoostMultiplier()
。这个乘积值会被加到 _boosted_balances
中,并在计算质押者在给定奖励周期中的份额时作为加权金额。
withdraw
提取解锁的 Uniswap 流动性池代币。
withdrawLocked
提取锁定的 Uniswap 流动性池代币。如果特定 kek_id
质押批次的质押时间尚未到期,则会失败。
getReward
零取 FXS 奖励。
exit
提取所有解锁的池代币并领取奖励。
renewIfApplicable
如果奖励周期的结束时间已到,则续期奖励周期。调用 retroCatchUp()
。
retroCatchUp
续期并更新 periodFinish
、rewardPerTokenStored
和 lastUpdateTime
。
notifyRewardAmount
通过事件 RewardAdded
通知人们奖励正在被更改。
recoverERC20
添加此功能以支持从其他系统恢复流动性池奖励,并将其分发给持有者。
setRewardsDuration
设置奖励周期的持续时间。
setLockedStakeMaxMultiplierUpdated
设置锁定质押的最大倍增器。
setLockedStakeTimeForMaxMultiplier
设置锁定质押倍增器达到 locked_stake_max_multiplier
的时间(以秒为单位)。
setLockedStakeMinTime
设置锁定质押的最短时间(以秒为单位)。
setMaxCRBoostMultiplier
initializeDefault
仅在合约生命周期中调用一次。初始化 lastUpdateTime
和 periodFinish
。
updateReward
调用 retroCatchUp()
(如果适用),否则同步 rewardPerTokenStored
和 lastUpdateTime
。此外,还会同步提供账户的奖励和 userRewardPerTokenPaid
。
Frax 更新后的 FRAX 铸造结构以及铸造和赎回的处理流程
⚠️ 此合约已弃用,转为使用 FRAX V3 机制 ⚠️
2021年10月,系统转向使用 FraxPoolV3 系统合约(0x2fE065e6FFEf9ac95ab39E5042744d695F560729
)的更新模型,该合约处理协议的响应式铸造和赎回,降低了攻击风险。通过这个新池,Frax AMO 铸币器合约被设计为根据附属于 FraxPoolV3 的新 AMO 规范进行算法化铸币。
其结果是,基于 FraxPoolV2(0x1864Ca3d47AaB98Ee78D11fc9DCC5E7bADdA1c0d
)构建的旧 AMO 被升级为使用 FraxPoolV3 抵押和铸造系统的新版本,所有操作都通过控制器多重签名(msig)和时间锁定系统进行控制。
新系统允许自动收集收益并将抵押品返还至 FraxPoolV3,利润可以通过 FXS1559 AMO 分配给 FXS 持有者。
AMO 铸币器已部署在以太坊主网的以下地址:0xcf37B62109b537fa0Cb9A90Af4CA72f6fb85E241
一个为可组合、自治的中央银行模块提供框架的体系
第二版 (V2) FRAX 的扩展着重于分数-算法稳定性的概念,提出了“算法化市场操作控制器”(AMO)的想法。AMO 模块是一个自治的合约,执行任意的货币政策,只要它不改变 FRAX 的挂钩价格。这意味着 AMO 控制器可以通过算法进行公开市场操作(正如名称所示),但它们不能随意凭空铸造 FRAX,从而打破挂钩。这保证了 FRAX 的基础层稳定机制的纯粹性和不受影响,这也是使我们的协议独特的核心,并激励了其他较小的项目。
我们可以将 V1 机制推广到任意复杂的市场操作中,创造一个图灵完备的稳定机制设计空间。因此,每个 AMO 可以被视为一个中央银行货币拼图模块。每个 AMO 都有三个特性:
去抵押化 - 策略中降低抵押率(CR)的部分。
市场操作 - 在平衡状态下运行的部分,不改变抵押率。
再抵押化 - 策略中提高抵押率的部分。
通过清晰定义的上述框架,我们现在可以很容易地看出 Frax V1 是最简单形式的 AMO。它本质上是任何可能的 AMO 的基本情况。在 V1 中,去抵押化允许货币供应扩展,过剩的抵押品流向销毁 FXS。再抵押化铸造 FXS 以提高抵押率并减少负债(赎回 FRAX)。
基础层的分数-算法机制始终像以前一样运行。如果 FRAX 价格高于挂钩,抵押率将下降,FRAX 供应像往常一样扩展,AMO 控制器继续运行。如果抵押率下降到挂钩价格滑动的地步,AMO 具有预定义的再抵押化操作来提高抵押率。系统将像以前一样再抵押化,随着协议负债(稳定币)的赎回,抵押率上升以恢复到挂钩水平。这使得所有 AMO 都能够在市场力量的输入下运行,并保留 V1 基础案例的完整设计规范。
AMO 模块使 FRAX 成为最强大的稳定币协议之一,因为它创造了最大的灵活性和机会,而不会改变使 FRAX 成为算法稳定币领域领导者的基础稳定机制。AMO 模块打开了一个模块化设计空间,允许不断的升级和改进,而不会破坏设计的优雅性、可组合性或增加技术复杂性。最后,由于 AMO 是一个完整的“盒中机制”,任何人都可以提出、构建和创建 AMO,只要它们遵守上述规范,便可通过治理部署。
将FRAX借给DeFi平台而获得年化收益(APY)
这一控制器将FRAX引入诸如Compound或CREAM等货币市场,允许任何人通过支付利息借入FRAX。进入货币市场的FRAX不会进入流通,除非被借款人超额抵押。因此该AMO不会降低直接抵押率(CR)。这一控制器允许协议直接贷出FRAX,并通过现有货币市场从借款人那里赚取利息。实际上,这一AMO将MakerDAO的整个协议写入了单份合约。借贷产生的现金流可用于回购和销毁FXS(类似于MakerDAO从稳定费中销毁MKR的方式)。从本质上讲,Lending AMO通过支付货币市场设定的利率,为FRAX进入流通创造了一个新的途径。
非抵押化—铸造的FRAX进入货币市场。直接铸造的FRAX数量不会降低抵押率,因为所有借来的FRAX都是过度抵押的。
市场操作—从借款人那里获得利息收入。
再抵押—将铸造的FRAX撤出货币市场。
FXS1559—在CR上累积超额价值的每日利息收入(目前正在开发中)。
AMO可以通过铸造更多的FRAX(降低利率)或移除FRAX并烧掉它(提高利率)来提高或降低借贷FRAX的利率。这是一个强大的经济杠杆,因为它改变了所有贷款人借贷FRAX的成本。这渗透到所有市场,因为AMO可以以一个具体的目标比率铸造和移除FRAX。这也使得协议能够有效地根据希望瞄准的方向来调节做空FRAX的成本。
此外,与其他稳定币相比,该协议的部分算法设计允许不匹配的借款利率。因为Frax协议可以随意铸造Frax稳定币,直到市场将其定价为1$。这意味着与其他协议相比,创造货币的成本是最小的。如果协议决定在贷款利率上比其他稳定币更具优势,这将为借贷创造无与伦比的、同类中最好的利率。因此,AMO策略可以优化何时降低利率的条件(也依然低于其他稳定币的利率),也可以在相反的条件下提高利率。具有讽刺意味的是,基于自己代币的贷款利率是其他稳定币项目难以控制的东西。Frax通过AMO可以完全控制这些资产。
Frax 治理主要基于 Compound/OpenZeppelin Governor 合约。关于 Governor 提案的生命周期,可参考此处:OpenZeppelin Governance 文档。
Frax 治理是一个双 Governor 系统,包含 FraxGovernorAlpha 和 FraxGovernorOmega。Alpha 和 Omega 有不同的用途和配置。
FraxGovernorOmega 对底层安全库的控制有限。只有 Frax 团队和安全库所有者可以创建 Omega 提案。每个提案与安全库交易一一对应。Omega 被配置为额外的安全库所有者,必须批准安全库交易,安全库所有者才能执行该交易。这是通过自定义 Gnosis Safe Guard 实现的(https://docs.safe.global/safe-core-protocol/hooks)。
Omega 具有非常短的投票延迟、短的投票期和低的法定人数要求。安全库所有者只能在获得该安全库交易的阈值签名后将提案添加到 Omega。例如,如果一个安全库是 3/6(5 个所有者 + Omega),则必须有 3 个所有者签名才能将提案放入 Omega。
将提案添加到 Omega 后,它遵循与 Governor 提案相同的生命周期。如果提案通过,Omega 会在安全库上调用 approveHash,任何所有者可以通过 Gnosis Safe 用户界面照常执行该提案。如果提案失败,可以在 Omega 上调用 rejectTransaction 来批准 0 以太的转移。其他所有者可以签名并执行相同的 0 以太转移,这只是递增安全库上的 nonce,从而允许创建新的 Gnosis 交易。
Omega 具有一个称为短路阈值的功能。如果 51% 的 veFXS 总供应量投票支持某个 Omega 提案,该提案将立即成功并可执行。这在特殊情况下很有帮助,例如 Frax 团队需要快速采取行动以保护协议时。
Omega 不能更改其自身的治理参数或更改底层安全库的任何配置。这些值必须通过 FraxGovernorAlpha 进行更改。
FraxGovernorAlpha 对底层安全库拥有完全控制权。任何 veFXS 持有者只要其 veFXS 余额达到或超过提案阈值,就可以创建提案。FraxGovernorAlpha 与 OpenZeppelin Governor 几乎相同。由于其 TimelockController 被配置为安全库上的模块(Gnosis Safe 模块文档),因此它可以对每个 Gnosis Safe 执行任何操作。模块不受 Gnosis Safe Guards 的限制。
Alpha 具有较长的投票延迟、较长的投票期和比 Omega 更高的法定人数要求。一旦 Alpha 提案通过,它必须被排队,并在配置的时间锁定期后才能执行。
veFXS 持有者是系统中最重要的部分。提案的成功与否最终取决于 veFXS 持有者,因为他们直接对提案进行投票。您的 veFXS 余额等于您的投票权。
veFXS 持有者可以将他们的投票权委托给他人。如果某个 veFXS 持有者在其自身的质押和委托质押之间拥有足够的 veFXS 投票权,他们可以通过 FraxGovernorAlpha 提出任何提案。
通过 Alpha,veFXS 持有者可以更换安全库上的所有者、更改 Alpha 或 Omega 的治理参数、修改任何 Frax 智能合约的参数、从流动性池中添加或移除协议拥有的流动性等。veFXS 持有者对整个 Frax 协议拥有最终控制权。
初始的 Frax 框架
⚠️ 这里解释的原始铸造/赎回模型已被淘汰,取而代之的是后来的机制(从 V2 开始),仅供历史和信息参考 ⚠️ Frax 于 2020 年 12 月 20 日首次推出。在 Frax V1 中,只有一个铸造/赎回的 AMO,即分数算法稳定机制。我们将其称为基础稳定机制。您可以在核心白皮书中阅读有关此机制的内容。
在 Frax V1 中,协议的抵押比例会根据 FRAX 稳定币的市场价格动态再平衡。如果 FRAX 的价格高于 1 美元,则抵押比例(CR)会下降(“去抵押化”)。如果 FRAX 的价格低于 1 美元,则 CR 会增加(“再抵押化”)。该协议始终按照 1 美元的固定汇率尊重 FRAX 的赎回,但由于 CR 是动态的,因此必须通过铸造 Frax Share 代币(FXS)来资助 FRAX 的赎回。例如,在 85% 的 CR 下,每赎回 1 个 FRAX 用户将获得 0.85 美元的 USDC 和 0.15 美元的铸造 FXS。协议直接返回给赎回者 0.15 美元的 FXS,还是以原子方式在链上出售 FXS 以返回全额 1 美元的抵押,这只是一个微不足道的实现细节——经济实现是相同的。
均衡—每次当FRAX = $1 不改变抵押率
从根本上说,Frax 协议是一个银行算法,根据市场对 FRAX 的定价调整其资产负债表比例。抵押比例仅仅是协议资本(抵押)与其负债(FRAX 稳定币)之间的比率。市场通过在比率过低时出售/退出稳定币(从而略微将价格压低到 1 美元以下)或通过持续需求 FRAX(从而略微将价格推高到 1 美元以上)来“投票”确定这个比率。去抵押化和再抵押化帮助协议找到一个均衡的储备要求,以保持紧密的固定汇率并最大化资金创造的资本效率。根据定义,该协议铸造市场所需的确切数量的 FRAX 稳定币,且其抵押比例与市场对 1 美元 FRAX 的需求相匹配。
由于 veFXS 合约的工作原理,如果您锁定更多 FXS 或延长锁定时间,您需要使用 VeFxsVotingDelegation 合约再次委托您的投票权重。
要将委托返回给自己,请调用 delegate()
函数,将您的地址作为受托人。 委托也可以通过签名进行。请参见 delegateBySig()
。
当您的 veFXS 锁定到期时,您的余额等于您锁定的 FXS 数量。在 Frax 治理中,一旦您的锁定到期,您的投票权重将变为 0。您需要保持活跃的锁定才能在 Frax 治理中拥有投票权重。
点击“提案”
填入您的交易数据
提交
Frax 治理利用了 ScopeLift 的分数投票: https://github.com/ScopeLift/flexible-voting/blob/master/src/GovernorCountingFractional.sol
这允许用户在赞成/反对/弃权之间分配他们的投票权。它还允许智能合约/保管人根据相对 LP 份额将投票权传递给流动性提供者。
为了使 Safe 正确配置为 frxGov,它必须安装 FraxGuard,设置 FraxGovernorOmega 为签名者,安装 FraxGovernorAlpha 的 TimelockController 作为模块,并将 FraxCompatibilityFallbackHandler 设置为 fallbackHandler。可以通过 Alpha 提案以类似方式将 Safes 暂停,方法是移除配置并将其从允许列表中删除。 FraxGovernorOmega 和 FraxGovernorAlpha 使用 OpenZeppelin Governor 及以下扩展:
GovernorSettings
GovernorVotesQuorumFraction
GovernorCountingFractional
此外,Alpha 使用这些治理扩展:
GovernorTimelockControl
GovernorPreventLateQuorum
查看它们的配置:
以下所有功能必须通过 Alpha 提案调用。
Alpha 和 Omega:
setVotingDelayBlocks()
setVeFxsVotingDelegation()
updateShortCircuitNumerator()
仅限 Omega:
addToSafeAllowlist()
removeFromSafeAllowlist()
addToDelegateCallAllowlist()
removeFromDelegateCallAllowlist()
setSafeVotingPeriod()
请参阅 frxGov 代码库以了解每个功能的解释。
请参阅 Gnosis Safe 代码库以查看 Alpha 控制的 Safe 配置。
完整提案流程
Alpha 与 OpenZeppelin Governor 和 GovernorTimelockControl 完全相同。
创建提案 - propose()
投票 -castVote()
如果失败则不执行任何操作
如果成功
queue()
Wait Timelock's minDelay
execute()
一个所有者使用 Gnosis Safe 发起 DeFi 交易。这会生成一个事务哈希,标识需要由其他 Safe 所有者批准或拒绝的操作。
⅗ 的外部账户(EOA)通过用户界面签署该交易
收集到 3 个签名后,任何人都可以调用fraxGovernorOmega.addTransaction(address teamSafe, TxHashArgs calldata args, bytes calldata signatures)
开始链上治理。团队有动力这样做,因为他们无法在没有 FraxGovernorOmega 批准的情况下执行任何 Gnosis 交易。
veFXS 投票者在提案投票窗口内有 2 天的时间进行投票。
如果在投票窗口内未达到法定人数,或赞成票多于反对票,任何人都可以调用 execute()
。这会在后台调用safe.approveHash()
。它提供了 FraxGovernorOmega 所需的批准,从而允许通过 Gnosis 用户界面执行 Gnosis 交易。
如果达到了法定人数且反对票多于赞成票,任何人都可以调用 fraxGovernorOmega.rejectTransaction (address teamSafe, uint256 nonce)
否决提案。这将导致 FraxGovernorOmega 签署一个具有相同 nonce 的零 ETH 转账 Safe 交易。Safe 所有者可以使用“替换交易”功能在用户界面中签署相同的交易。Safe 所有者可以执行该零 ETH 转账,从而增加 nonce。原始交易将无法执行,因为没有来自 FraxGovernorOmega 的批准,并且 nonce 已经更改,使得原始交易失效。
背景:https://help.safe.global/en/articles/40783-what-are-signed-messages
Gnosis Safes 可以提供智能合约签名。典型机制包含在 Safe 的 CompatibilityFallbackHandler 中,该机制检查所有者是否满足所需的签名数量,然后 Safe 提供其批准。这个机制对于 frxGov 来说并不充分,因为我们希望 Omega 和所有者共同提供批准,或者仅由 Alpha 提供批准。
为了解决这个问题,我们编写了 FraxCompatibilityFallbackHandler,它仅检查 safe.signedMessages(messageHash)
是否被设置。Alpha 和 Omega 都可以使用 SignMessageLib.signMessage()
调用此状态的设置器。
FraxGovernorAlpha 可能被用来创建一个提案,实质上关闭整个 Frax 协议,并将所有协议拥有的流动性归还给 FXS 持有者。我们在 Alpha 上设置了 Timelock 延迟,以应对这种情况。从提案通过到可以执行之间有一天的时间,给予 Frax 用户通过各种流动性池退出协议的机会。
我们还添加了 OpenZeppelin Governor 扩展 GovernorPreventLateQuorum。如果提案在投票期末期达到法定人数,投票期将延长 2 天。这可以阻止恶意用户在最后一刻投票支持恶意提案,为社区在这种情况下提供反应的时间。
我们还创建了 frxEth 赎回队列,以允许用户在恶意行为者获得 51% veFXS 投票权并通过提案无限铸造 frxEth 以试图盗取财库时退出 frxEth。
为了符合 ERC5805 标准,实现合约必须实现多个函数,包括getPastTotalSupply(uint256 timepoint) external view returns (uint256)
。我们在治理合约中使用时间戳,但这个函数是唯一的例外,它必须接受 block.number
。遗憾的是,veFXS.totalSupply(timestamp)
对历史值无效,因此我们必须使用 veFXS.totalSupplyAt(block.number)
。
这也影响法定人数的计算。通常法定人数是根据投票开始的时间戳(快照)计算的。我们通过使 $votingDelayBlocks
值可由治理配置,允许类似功能,从而反映时间戳功能。
代码库
https://github.com/FraxFinance/frax-governance
合约地址
VeFxsVotingDelegation: https://etherscan.io/address/0x6b83c4f3a6729fb7d5e19b720092162df439f567
FraxGovernorAlpha: https://etherscan.io/address/0xe8Ab863E629a05c73D6a23b99d37027E3763156e
FraxGovernorAlphaTimelock: https://etherscan.io/address/0x821794E69d2831975a11f80E8092c682D5Ec8F83
FraxGovernorOmega: https://etherscan.io/address/0x953791D7C5ac8Ce5fb23BBBF88963DA37a95FE7a
FraxCompatibilityFallbackHandler: https://etherscan.io/address/0x3FeFB779d737aCEa272686eA6E174ebF4273F973
修改过的 ERC-20 合约,代表 FRAX 稳定币。
https://docs.openzeppelin.com/contracts/2.x/api/token/erc20#ERC20
https://docs.openzeppelin.com/contracts/3.x/api/access#AccessControl 注意:FRAX 和 FXS 合约没有任何暂停或黑名单控制(包括系统合约)。
一个枚举,声明了 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以太坊(WETH)合约的地址。主网应为 0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2
for the mainnet.
ChainlinkETHUSDPriceConsumer
的地址.
FRAX的创世供应量。应为一个小的非零金额。大部分FRAX供应将来自铸造,但初始需要少量以防止在各种函数中出现除零错误。
所有FraxPool
合约地址的数组。
本质上与frax_pools_array
相同,但以映射的形式存在。在诸如globalCollateralValue()
等函数中有助于节省gas。
当前所有FraxPool
中FRAX与抵押品的比例。
将FRAX兑换为FXS和/或抵押品的费用。同时也是使用FXS回购多余抵押品的费用。有关使用方法,请参见 FraxPool
合约。
从FXS和/或抵押品铸造FRAX的费用。有关使用方法,请参见FraxPool
合约。
在构造函数中设置。用于AccessControl
。
用于暂停抵押比率的常量。
抵押比率是否已暂停。
oracle_price
获取FRAX或FXS的价格,以美元计算。
frax_price
从FRAX-ETH Chainlink价格预言机返回FRAX的价格。
fxs_price
从FXS-ETH Chainlink价格预言机返回FXS的价格。
frax_info
返回一些常用的状态变量和计算值。这是为了避免对不同获取函数的重复调用,减少成本。在燃气费用方面,直接返回所有信息并只使用其中的一部分更为经济。
globalCollateralValue
遍历所有 FRAX 池,计算所有池中抵押物的总价值。这将使用每种抵押物的预言机价格。
refreshCollateralRatio
该函数检查 FRAX 的价格,并在价格不为 $1 时刷新抵押比率。如果价格高于 $1,则比率降低 0.5%。如果价格低于 $1,则比率增加 0.5%。任何人都可以调用该函数来更改比率。此函数每小时只能调用一次。
mint
internal _mint()的公共实现。
pool_burn_from
用户赎回时由池子使用。
pool_mint
这个函数是其他 Frax 池调用以铸造新 FRAX 的。
addPool
添加支持的抵押地址,例如 Tether 和 BUSD,必须是 ERC20。
removePool
移除一个池子
setOwner
设置合约的管理员。
setFraxStep
设置在执行 refreshCollateralRatio()
时,抵押比率将改变的金额。
setPriceTarget
设置用于 refreshCollateralRatio()
的价格目标(不影响铸造/赎回)。
setRefreshCooldown
设置 refreshCollateralRatio()
的冷却时间。
setRedemptionFee
设置赎回费用。
setMintingFee
设置铸造费用。
setFXSAddress
设置 FXS 地址。
setETHUSDOracle
设置 ETH / USD 预言机地址。
setFRAXEthOracle
设置 FRAX / ETH Uniswap 预言机地址。
setFXSEthOracle
设置 FXS / ETH Uniswap 预言机地址。
toggleCollateralRatio
切换暂停/恢复抵押比例。
FRAXBurned
当FRAX被销毁时触发,通常是由于池子的赎回。
onlyCollateralRatioPauser
限制操作仅限于指定的抵押比例暂停者。
onlyPools
限制操作仅限于池合约,例如铸造新的 FRAX。
onlyByGovernance
限制操作仅限于治理合约,例如设置铸造和赎回费用,以及预言机和池地址。
onlyByOwnerOrGovernance
限制操作仅限于治理合约或所有者账户,例如设置铸造和赎回费用,以及预言机和池地址。
将闲置抵押物和Frax部署到Uni v3 稳定币池子
Uniswap v3的AMM算法的关键创新允许做市商在特定价格区间之间部署流动性,支持稳定币对稳定币池子(例如FRAX-USDC)在紧紧锚定的情况下积累极深的流动性。与Uniswap v2相比,Uniswap v3的区间订单集中了流动性,而不是分散在无限的价格范围内。
Uniswap v3流动性AMO通过向其他稳定币提供针对FRAX的流动性,使FRAX和抵押品发挥作用。由于AMO能够进入Uni v3上的任何位置并铸造FRAX,因此它允许扩展到Uni v3上的任何其他稳定币以及后续的不稳定抵押品。此外,可以定期调用 collectFees()
函数,将AMO利润分配给超额抵押品的市场操作。
UniV3LiquidityAMO (已弃用): 0x3814307b86b54b1d8e7B2Ac34662De9125F8f4E6
UniV3LiquidityAMO_V2: 0xc91Bb4b0696e3b48c0C501B4ce8E7244Fc363A79
减少抵押 — 将闲置抵押资产和新铸造的FRAX存入到Uni v3 池子。
市场操作 — 累积Uni v3交易费用和抵押品类型之间的互换。
再抵押 — 从Uni v3池子中取出并燃烧FRAX并返还USDC以增加抵押率。
FXS1559 — 在抵押率之上积累每日交易费用。
请注意,实际实现使用价格的平方根,因为它节省了计算tick内交换的平方根操作,从而有助于防止舍入错误。
将闲置的抵押品投资于各种 DeFi 保险库/协议中
⚠️ 此 AMO 已弃用。其许多功能已迁移至 V3 AMO ⚠️
Collateral Investor AMO 将闲置的 USDC 抵押品转移到一些提供可靠收益的 DeFi 协议中。目前集成的协议包括:Aave、Compound 和 Yearn。更多协议可以通过治理添加。该 AMO 的主要要求是能够在发生大规模 FRAX 赎回时,立即提取投资的抵押品,不需要等待期。能够随时立即提取的抵押品不会被视为降低协议的抵押率(CR),因为这些资金始终可以随时供协议使用。然而,规范中的去抵押化功能从投资中提取抵押品,优先提取那些有时间延迟的取款(当前没有,并且目前没有计划引入这样的延迟)。
任何超过 CR 的投资收入都通过 FXS1559 被销毁。
去抵押化 - 将闲置的抵押品投入到各种产生收益的协议中。无法立即提取的投资会降低 CR 计算。像 Yearn USDC v2 和 Compound 这样可以随时以 1:1 比例提取的投资不会被视为降低 CR。
市场操作 - 在 CR 水平上复利投资。
再抵押化 - 从保险库中提取投资,释放用于赎回的抵押品。
FXS1559 - 每天来自超出 CR 的投资收入。
教程:如何在Curve.fi上为FRAX3CRV池提供流动性。
在本文中,我们将解释如何增加Curve上FRAX3CRV池的流动性。
需要注意的是,当你向一个池子提供流动性时,你基本上获得了池子里所有代币的敞口;因此,你应该希望找一个能让你舒服持币的池子。
您将看到如下页面:
连接您的钱包。
一个包含不同选项的新窗口将会出现来连接您的钱包,我们将在本指南中使用MetaMask。
一个MetaMask窗口将弹出,点击“Connect”,让Curve访问您的钱包。
输入您想要添加到Curve池的FRAX代币的期望数量。
点击 “Deposit & stake In guage”
一个MetaMask交易将会弹出“Confirm”窗口,然后等待交易完成。
搜索FRAX流动性指标,输入您想存入的FRAX LP代币的期望金额,然后点击“Deposit”
MetaMask的存款交易将弹出“Confirm”窗口。
恭喜!您现在已经成功质押了您的LP代币。
点击 “Stake unstaked in guage”.
一笔MetaMask交易将会弹出,点击“Confirm” 。
点击“Claim” ,然后确认交易。
Frax 是第一个也是唯一一个部分供应由抵押品和部分供应由算法支持的稳定币。稳定币(FRAX)以“部分算法”稳定机制命名。抵押品和算法的比例取决于FRAX稳定币的市场价格。如果FRAX的交易价格高于1美元,该协议将降低抵押比率。如果FRAX的交易价格低于1美元,则该协议将提高抵押品比率。
FRAX : 一种始终紧紧围绕1美元锚定的稳定币。 Frax Shares (FXS) : 捕获手续费、铸币税收入和超额担保价值的治理代币。
减少对中心化资产的依赖
Frax去中心化比率(DR)是去中心化抵押品价值与由这些资产支持/可赎回的稳定币供应总量的比率。具有过多链下风险的抵押品(如法币、证券和黄金/石油等托管资产)被视为0%去中心化。DR检查了协议所要求的抵押品的基本组成部分,而不仅仅是其系统合约中的内容。DR是一个递归函数,用于发现每个资产的底层值。
例如,FRAX3CRV LP是50% FRAX,所以移除它,因为你不能用自己的代币支撑自己。另一半是3CRV,即33% USDC, 33% USDT和33% DAI。DAI本身大约是60%的法币。所以每1美元的FRAX3CRV LP只有大约0.066美元(1美元x 0.5 * 0.33 * 0.4)是属于去中心化来源的价值。
相比之下,以太坊以及CVX和CRV等奖励代币被视为100%去中心化。通过Lending AMOs铸造的FRAX也被认为是去中心化的,因为借款人通过加密sOHM、RGT等过度抵押来换取他们的贷款。这也是DAI的金库给它高DR的原因。
DR是一种广义算法,可用于计算任何稳定币的过度链下风险。其他稳定币,如LUSD,更容易计算:它们的DR是100%。FEI的DR大约是90%。
教程:如何将FRAX桥接到Fantom网络,并为SpiritSwap增加流动性。
我们将解释如何将您的FRAX稳定币桥接到Fantom网络,以及如何为SpiritSwap提供流动性。
Frax Finance & SpiritSwap 流动性计划鼓励矿工以1274%的年利率向FRAX-FTM 资金池SpiritSwap提供流动性。
要获得FTM代币,您可以从币安交易所购买,并通过FTM网络将其发送到您的钱包。
或者你可以从UNISWAP购买,然后使用多链桥接,我们将在本指南的后面解释如何使用多链桥接。
(注意:您将需要同等美元价值的FRAX和FTM,例如,如果您想增加100 FRAX,您将需要100美元的FTM).
现在您的ETH钱包中有FRAX,你需要桥接它。
您将看到以下页面:
在“from”下拉菜单中选择FRAX (FTM),然后单击上/下交换箭头。
输入您想要连接到Fantom网络的FRAX金额,然后点击“Transfer”。
MetaMask交易将弹出“Confirm”。
一个未决的存款和转账交易将出现,直到他们都成功。
现在您的FRAX代币已经桥接,您需要切换到fantom Network (FTM)。
为了将您的MetaMask切换到Fantom网络,你将看到顶部的“Ethereum Mainnet”按钮单击它打开下拉菜单。
在列表的底部,您将找到“Custom RPC”。点击它。
将会出现下面的窗口,输入这些细节,然后点击“Save”:
Network Name: Fantom Opera
Chain ID: 250
Symbol: FTM
您现在已经连接到Fantom Network (FTM)!)
您的MetaMask钱包现在已经连接到Fantom网络,您需要给SpiritSwap增加流动性。
您将看到以下页面:
输入您想要添加到流动性池的FRAX的数量,SpiritSwap会自动计算要添加的FTM的等价价值。
(注意: Y您将需要额外的FTM用于gas费)
点击 “Approve” 批准 FRAX支出,MetaMask交易将出现,点击“确认”。
点击“Supply”.
点击 “Confirm Supply”.
一笔MetaMask 交易将会出现,点击 “Confirm” 。
您将收到FRAX-FTM LP代币,SpiritSwap将在这里显示您的流动性头寸。
您已经成功添加流动性了,现在您需要质押您的LP代币。
您将看到以下页面:
在搜索框中输入Frax,然后点击 “Approve”。
一笔MetaMask 交易将会出现,点击 “Confirm” 。
点击 “Deposit”.
点击 “Max” ,然后 “Confirm”。
一笔MetaMask 交易将会出现,点击 “Confirm” 。
SpiritSwap 会显示您收获的奖励,目前的APR是1274%。
(注意:APR可能会因TVL及价格变动而变化)
恭喜您,您已经成功地提供了流动性,您现在应该开始收到SPIRIT 奖励!
Frax 是第一个也是唯一一个部分供应由抵押品和部分供应由算法支持的稳定币。稳定币(FRAX)以“部分算法”稳定机制命名。抵押品和算法的比例取决于FRAX稳定币的市场价格。如果FRAX的交易价格高于1美元,该协议将降低抵押比率。如果FRAX的交易价格低于1美元,则该协议将提高抵押品比率。
FRAX : 一种始终紧紧围绕1美元锚定的稳定币。 Frax Shares (FXS) : 捕获手续费、铸币税收入和超额担保价值的治理代币。
教程: 如何质押你的FXS并获取veFXS收益
Frax Finance推出了一项FXS质押计划(veFXS),将AMO利润的50%奖励给FXS质押者。
您可以在币安或者UNISWAP购买。
币安:
前往币安交易所购买FXS:
从币安将您的FXS通过以太坊主网(ERC2.0)提币到您的MetaMask 钱包。
UNISWAP:
链接您的MetaMask钱包插件到UNISWAP,然后通过以下链接购买您期望数量的FXS:
现在您已经在MetaMask钱包里拥有FXS,您将需要质押它们。
现在您的FXS 代币应该出现在“Lock FXS for veFXS”区域,点击“Available”添加它们。
您可以选择锁定您的FXS代币7天到4年不等,您选择锁定的时间越久,您获得的veFXS则越多。
APR是基于veFXS = 0.25 FXS(目前为790%),在这个例子中,我们将选择365天锁定。
点击“LOCK”
(注意 : APR 可能随着TVL和价格的变动而变化)
一笔MetaMask交易将会弹出以批准您的FXS代币支出,确认该交易。
第二笔MetaMask交易将会弹出,质押您的FXS代币,确认该交易。
在您第一次创建veFXS之后,您将需要初始化。这样收益分配合约才可以开始记录您的收益。你只需要做一次即可。
点击“Initialize”,一笔MetaMask交易将弹出“confirm”。
恭喜,您已经成功的质押了您的FXS,您现在已经开始获取您的FXS收益了!
Frax 是第一个也是唯一一个部分供应由抵押品和部分供应由算法支持的稳定币。稳定币(FRAX)以“部分算法”稳定机制命名。抵押品和算法的比例取决于FRAX稳定币的市场价格。如果FRAX的交易价格高于1美元,该协议将降低抵押比率。如果FRAX的交易价格低于1美元,则该协议将提高抵押品比率。
FRAX : 一种始终紧紧围绕1美元锚定的稳定币。 Frax Shares (FXS) : 捕获手续费、铸币税收入和超额担保价值的治理代币。
一个主要由协议控制和拥有流动性的稳定交换池
⚠️ 此特定 AMO 已弃用,但其基本原理(Curve/Convex 协议拥有的流动性以实现挂钩稳定性和协议收入)和数学仍被新版本 AMO 使用。请参见 V3 AMO ⚠️
去抵押化 - 将闲置的抵押品和新铸造的 FRAX 放入 FRAX3CRV 池中。
市场操作 - 累积交易费用、CRV 奖励,并定期重新平衡池。FRAX3CRV LP 代币存入 Yearn crvFRAX 保险库、Stake DAO 和 Convex Finance 以获取额外收益。
再抵押化 - 首先从池中提取多余的 FRAX,然后提取 USDC 以增加 CR。
FXS1559 - 每日交易费用和在 CR 以上累积的 LP 价值(目前正在开发中)。
Curve 的稳定交换不变量允许在稳定币交换之间减缓价格波动,前提是储备没有极度失衡,从而近似于线性交换曲线。
在极度失衡的情况下,不变量接近 Uniswap 的常数乘积曲线。
协议通过找到可在 FRAX 价格跌至抵押率(CR)时提取的 USDC 余额,来计算 AMO 可访问的基础抵押品的数量。由于 FRAX 始终由抵押品支持,价值不低于 CR,因此它的价格不应低于抵押品的实际价值。例如,在 85% 的抵押率下,FRAX 的价格不应低于 0.85 美元。这一计算是评估曲线 AMO 可访问的抵押品数量的最安全、最保守的方法。这使得曲线 AMO 能够铸造 FRAX 并将其放入池中,除了 USDC 抵押品外,还可以收紧挂钩,同时准确了解在 FRAX 打破挂钩时可访问多少抵押品。
此外,AMO 的整体策略允许优化最小 FRAX 供应 Y,使得一次性将 Y 全部出售到一个 TVL 为 Z、放大因子为 A 的曲线池中时,对 FRAX 价格的影响低于 X%,其中 X 是 CR 的带敏感度。换句话说,曲线 AMO 可以将 FRAX+USDC 放入自己的曲线池并控制 TVL。由于当 FRAX 价格下跌超过 1 美分低于 1 美元时,CR 会再抵押化,这意味着可以在 FRAX 价格下滑 1% 之前,直接在曲线池中出售一定价值的 FRAX。协议可以在开放市场上流通至少该数量的算法 FRAX,因为将该数量的全部一次性销售到曲线池的 TVL 中不会对价格造成足够影响,从而导致 CR 移动。当考虑到曲线的稳定币优化曲线时,这些数量非常大且令人印象深刻。例如,一个 TVL 为 3.3 亿的 FRAX3Pool(假设基础 3Pool 平衡)可以支持至少 3920 万美元的 FRAX 卖单,而不会使价格波动超过 1 美分。如果 CR 带为 1%,那么协议至少应该在开放市场上有 3920 万算法 FRAX。
上述策略是一种极为强大的市场操作,数学上可以创造出一个算法 FRAX 的底线,该底线在不打破挂钩的情况下可以流通。
此外,Curve 为选择的池中的流动性提供者分配 CRV 代币作为奖励(称为计量奖励)。由于 Frax 协议可能是 FRAX3CRV 池的最大流动性提供者,因此可以将其所有的 FRAX3CRV LP 代币分配到 Curve 计量中,以赚取可观的回报。存放在曲线 AMO 中的 CRV 代币可以用来投票参与未来的 Curve DAO 治理,由 FXS 持有者控制。这基本上意味着,协议越多地利用流动性进入自己的曲线池,它在 Curve 协议中拥有和控制的份额就越多,来自所赚取的 CRV 奖励。曲线 AMO 的长期效应是 Frax 可能成为 Curve 自身的大型治理参与者。
iterate()
该函数计算在 FRAX 价格跌至 CR 时,元池中 FRAX 和 3CRV 的余额,假设这是最坏的情况。首先,该函数获取元池的当前实时余额,并模拟一个外部套利者将当前元池中 10% 的 FRAX 进行交换,直到所给出的价格等于(或接近)CR,随之交换相应数量的 3CRV。这模拟了 FRAX 在开放市场价格跌至 CR 的情况,元池通常提供的 1:1 兑换被套利者利用,直到在其他地方以 CR 价格购买 FRAX 以获利的机会消失。第 282 行是检查 FRAX 价格的具体位置。
然后,元池检查在该最坏情况下,其 LP 代币可以提取的 FRAX 和 3CRV 数量。两者之间的比例通常在可提取的 FRAX 与可提取的 3CRV 之间大约是 10 比 1。为了对协议的抵押品数量进行会计,它将每个可提取的 3CRV 以基础抵押品价值(即可赎回的 USDC 价值)进行估值,每个 FRAX 则以抵押率进行估值。由于协议在正常情况下并不会实际将如此多的 FRAX 投放流通,这实际上是对其在 USDC 方面的抵押品数量的高度保守估计。
要检查在其他价格下曲线 AMO 应负担的储备情况,可以通过设置 custom_floor
在本地测试中简单调整 fraxFloor()
的值。
如何添加流动性到Uniswap上的Frax Finance池子。
在本指南中,我们将演示如何在UNISWAP上为我们的底池增加流动性,我们将使用MetaMask插件,您也可以链接其他UNISWAP交易所支持的钱包。
Frax Finance流动性挖矿仅对UNISWAP以下几个池子奖励FXS: FRAX-USDC 33% FRAX-FXS 33% FRAX-ETH 33%
在下面的例子中,我们将为FRAX-FXS池增加流动性。
连接您的MetaMask插件到UNISWAP,然后购买所需金额的FRAX&FXS,通过以下链接来提供流动性:
(注意 :您将需要等值美元的FRAX和FXS,例如,如果您想添加100枚FRAX,您将需要价值100美金的FXS)。
现在您同时持有FRAX和FXS,您将可以增加流动性。
您将看到以下页面:
填入您希望添加到流动性池的FRAX金额,UNISWAP会自动计算需要添加的等值的FXS,我们将添加400 FRAX +54.011 FXS。
对FRAX和FXS的支出点击“Approve”,每一笔批准都会出现一个MetaMask交易,确认它,并在每个事务之间等待,直到它被执行。
(注意: 建议提供足够的gas费来执行交易)
一旦 FRAX & FXS 被批准, 点击 “Supply”:
点击 “Confirm Supply”:
一条MetaMask交易将会出现,点击 “Confirm” 确认:
点击添加UNI-V2到MetaMask。
等待交易完成后,您将收到FRAX-FXS LP代币,UNISWAP将在这里显示您的流动性情况状况:
在下拉菜单中选择“Uniswap FRAX/FXS ”池。
现在您的LP代币应该出现在存款区域,点击“Available”添加它们。
您可以选择无锁定或者锁定,如下图所示,无锁定的正常APY为89.33%,锁定3年的最大APR为268.00%。
在本例中,我们将选择365天锁定期。
点击“Stake”
(注意 : APR会根据TVL,价格&抵押比例动态变化)
一条MetaMask交易将会弹出以批准您的 UNI-V2 代币支出, 确认该交易。
第二个MetaMask交易将弹出,以质押您的UNI-V2代币,确认该交易。
恭喜,您已经成功提供了流动性,您现在应该开始接受FXS奖励了!
Frax 是第一个也是唯一一个部分供应由抵押品和部分供应由算法支持的稳定币。稳定币(FRAX)以“部分算法”稳定机制命名。抵押品和算法的比例取决于FRAX稳定币的市场价格。如果FRAX的交易价格高于1美元,该协议将降低抵押比率。如果FRAX的交易价格低于1美元,则该协议将提高抵押品比率。
FRAX : 一种始终紧紧围绕1美元锚定的稳定币。 Frax Shares (FXS) : 捕获手续费、铸币税收入和超额担保价值的治理代币。
教程:如何将FRAX桥接到Avalanche网络,并为Snowball增加流动性。
在本指南中,我们将演示如何将您的FRAX稳定币桥接到Avalanche网络,并为Snowball增加流动性。
Frax Finance & Snowball 的S3F流动性池以APR收益率54.85%奖励矿工SNOB代币。
(注意NOTE : APR会根据TVL和价格而变动。 )
现在您的ETH钱包中有FRAX,你需要桥接它。
您将看到以下页面:
在“从”下拉菜单中选择FRAX(Avalanche),然后单击上/下交换箭头。
输入您希望桥接到Avalanche网络的FRAX的数量,然后点击“Transfer”。
一条MetaMask交易将会弹出,点击 “Confirm” 。
一个未决的存款和转账交易将出现,直到他们都成功。
您的FRAX代币现在已经被桥接。
要将您的MetaMask切换到Avalanche网络,您可以找到顶部的“Ethereum Mainnet”,单击它打开下拉菜单。
在菜单的底部,您将发现 “Custom RPC”,点击它。
将会出现下面的窗口,输入以下细节,然后点击“Save”:
Network Name: Avalanche Network
ChainID: 0xa86a
Symbol: AVAX
现在您已经成功的连接到了 Avalanche 网络 (AVAX)!
你需要AVAX来购买Avalanche网络上的Gas。
选择X chain 地址。
在币安上购买AVAX,然后通过AVAX作为转账网络发送到这个X Chain地址。
现在您的X链地址已经有了AVAX,您需要将资金发送到您的C chain地址。
在左侧,点击“Cross-Chain”,然后选择“C Chain (Contract)”作为目标链。
输入您想转账的金额,点击“Confirm”,然后点击“Transfer”。
现在您可以从您的Avalanche钱包发送AVAX到你的MetaMask钱包。
选择“Send”,选择“C Contract”作为源链。
复制您的MetaMask钱包地址。
将其粘贴到Avalanche钱包的“To Address”字段,输入您想要发送的AVAX的数量,然后点击“Confirm”,然后“Send Transaction”。
恭喜!您现在已经转账到了MetaMask钱包,可以开始通过MetaMask使用Avalanche了。
您的MetaMask钱包现在已经连接到Avalanche网络,您需要给Snowball增加流动性。
您将看到以下页面:
输入您想要添加到流动性池的FRAX数量。
点击 “Approve” 批准 FRAX支出,MetaMask交易将出现,点击“Confirm”。
点击 “Deposit”.
点击 “Confirm Deposit”.
一笔MetaMask 交易将会出现,点击 “Confirm” 。
您已经成功添加流动性了,现在您需要质押您的LP代币。
您将看到以下页面:
点击 “Approve”, 一笔MetaMask 交易将会出现,点击 “Confirm” 。
点击 “Stake S3F”,一笔MetaMask 交易将会出现,点击 “Confirm” 。
Snowball 将显示您的池子份额,目前APR是54.85%。
(注意: APR 将会因为 TVL 和 Price而变动 )
恭喜您,您已经成功地质押了您的LP代币,您现在应该开始收到SNOB奖励!
Frax 是第一个也是唯一一个部分供应由抵押品和部分供应由算法支持的稳定币。稳定币(FRAX)以“部分算法”稳定机制命名。抵押品和算法的比例取决于FRAX稳定币的市场价格。如果FRAX的交易价格高于1美元,该协议将降低抵押比率。如果FRAX的交易价格低于1美元,则该协议将提高抵押品比率。
FRAX : 一种始终紧紧围绕1美元锚定的稳定币。 Frax Shares (FXS) : 捕获手续费、铸币税收入和超额担保价值的治理代币。
去抵押化—每次当 FRAX > $1 时,降低一定量 的抵押率
再抵押化—每次当 FRAX < $1 增加一定量 的抵押率
Chain | Address |
---|---|
Name | Address |
---|---|
Chain | Address |
---|---|
区块链 | 地址 |
---|---|
所有价格都以一个实体与另一个实体之间的比率存在。通常,我们选择一种货币作为分母中的共享记账单位(例如美元)来比较日常商品和服务的价格。在Uniswap中,价格是由储备数量 与池中储备 的比例来定义的。
Uniswap v3的区间订单机制符合现有的恒定乘积做市公式(CPMM),通过在特定的价格点或 tick
“虚拟化”储备。通过指定流动性头寸以哪个位置为界限,就可以创建遵循恒定乘积不变式的区间订单,而不必将流动性分散到特定资产的整个范围内。
Uniswap v3中的价格由值1.0001
到tick 值 。 tick价格的边界可以用代数群 表示。这种机制允许简单地将整数转换为价格边界,并且方便地将每个价格边界分离为价格的一个基点(0.01%)。
虚拟储备是通过跟踪每个头寸的流动性和刻度界限来跟踪的。越过一个tick边界,该tick可用的流动性 可能会改变,以反映进入和离开各自的价格区间的头寸。在tick边界内,掉期根据虚拟储备改变价格 ,即它就像恒定乘积()不变量一样。虚拟储备 x
和 y
可以由流动性和价格计算:
流动性可以被认为是CPMM 中的一个虚拟 ,而 对应于资产的数量 以及 代表了tick内的价格滑点。
由于 针对intra-tick是固定的, 和 可以从流动性和平方根的价格计算得出。当跨越一个刻度时,交易滑点必须只滑到 边界,然后重新调整可用于下一个刻度的流动性。
FraxPoolInvestorForV2(已弃用)地址:
连接您的MetaMask插件到UNISWAP,然后购买所需金额的FRAX,通过以下链接来提供流动性: FRAX :
或者您可以在我们的web应用程序通过USDC+FXS来铸造FRAX:
请前往
请前往 or click on DAO.
请前往 或者点击“withdraw”。
| | | | |
有关支持 FRAX 的资产列表,请阅读 .。
连接您的MetaMask插件到UNISWAP,然后购买所需金额的FRAX,通过以下链接来提供流动性: FRAX :
或者您可以在我们的web应用程序通过USDC+FXS来铸造FRAX:
前往Multichain桥接链接:
New RPC URL:
Block Explorer URL:
请前往SpiritSwap添加流动性链接,并连接您的MetaMask钱包:
您可以通过以下链接前往 SpiritSwap 挖矿页面:
| | | | |
在本教程中,我们将展示如何通过质押您的FXS代币。
前往我们veFXS数据盘链接: 并链接您的MetaMask钱包.
| | | | |
曲线 AMO 使 FRAX 和 USDC 抵押品得以利用,为协议提供流动性并收紧挂钩。Frax 已部署自己的 。这意味着 Frax 部署者地址拥有其曲线池的管理权限。这允许曲线 AMO 控制器为 FXS 持有者设置和收取管理费用以及执行各种未来功能。协议可以将闲置的 USDC 抵押品或新铸造的 FRAX 转移到自己的曲线池中,以创造更多流动性并收紧挂钩,同时赚取交易收入。
CurveAMO (已弃用):
两个这样的曲线的组合使得可以根据池中余额的比例,通过一个系数表达出一种或另一种情况。使用无量纲参数 作为系数,可以将这两条曲线的组合推广到 N 种币种。
FRAX :
或者您可以在我们的web应用程序通过USDC+FXS来铸造FRAX:
FXS :
请通过以下链接前往UNISWAP FRAX-FXS增加流动性:
前往我们的质押数据面板 并且连接你的MetaMask。
| | | | |
连接您的MetaMask插件到UNISWAP,然后购买所需金额的FRAX,通过以下链接来提供流动性: FRAX :
或者您可以在我们的web应用程序通过USDC+FXS来铸造FRAX:
前往Multichain桥接链接:
New RPC URL:
Explorer:
前往 , 并且生成一个新钱包。
请前往Snowball添加流动性链接,并连接您的MetaMask钱包:
您可以通过以下链接前往Snowball质押页面:
| | | | |
Arbitrum
0xe61D9ed1e5Dc261D1e90a99304fADCef2c76FD10
Aurora
0x85F61CC39dB983948671b03B8EcB36877d9A337d
Avalanche
0xc036Caff65c1A31eAa53e60F6E17f1E6689937AA
Base
0xCBfd4Ef00a8cf91Fd1e1Fe97dC05910772c15E53
Boba
0x3849Ff242Ff385F5124e6420BE681963d3977685
Boba BNB
0x1b0772073Fc00de6dD760F734e94DB526F9B1307
Blast
0x33A133020b2C2CD41a24F74033B11EC2fC0bF97a
BSC
0x8811Da0385cCf1848B21475A42eA4D07Fc5d964a
Ethereum
Evmos
0x18B34258F0972b19C3B757B2169b42b4D5b0856A
Fantom
0xE838c61635dd1D41952c68E47159329443283d90
Fraxtal
Harmony
0x5D91bA85cfbC0A3673F312f3FD0BA75a85AD73e6
Linea
0x6b603B58d7781a5967172e2FEa75f7E34c25F96d
Mantle
0xC51585F9C1938fcE489da89d24d7A623d4BEDf35
Metis
0xF4A4F32732F9B2fB84Ee28c58616946F3bF80F7d
Mode
0x6336CFA6eDBeC2A459d869031DB77fC2770Eaa66
Moonbeam
0x343e4f06BF240d22FbdFd4a2Fe5858BC66e79F12
Moonriver
0x2bBbE751E8C36CD6c92767776067f8Dd3A21941f
Optimism
0x0dF840dCbf1229262A4125C1fc559bd338eC9491
Polygon
0xDCB5A4b6Ee39447D700F4FA3303B1d1c25Ea9cA7
Polygon zkEVM
0x030BD43af99cb72B51dA233A73F7697Cd2461C0b
Scroll
0x7efB8A3b929D1e12640Caf8E4889A3d08e4b9039
Sei
0x0357D02fc95320b990322d3ff69204c3D251171b
Solana
FSRTW4KPGifKL8yKcZ8mfoR9mKtAjwZiTHbHwgix8AQo
TRON
TNpqBqghn37FLcpWWQVcRAxuBvhUYu2FEB
zkSync
0xd492dF0ce7905D7d91aE48F5e893AcAa38221486
Advisors
Business Development
Community
Fraxtal L1
Investors
Team
Treasury
Base
Blast
Fraxtal
Metis
Mode
Sei
Solana
X-Layer
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
锁定FXS获取多重收益
veFXS是从Curve的veCRV代码分叉过来的。用户锁定FXS的时间最长可达4年,以获得4倍数量的veFXS(例如100个FXS锁定4年可获得400个veFXS)。随着代币接近锁定到期,veFXS的余额会线性下降,在剩余锁定时间为零时,每1个FXS对应接近1个veFXS。这能够激励长期的质押和促进社区的活跃。Sushiswap提出了一个类似的实现,他们最近公布了 oSushi token,在这个地址可以找到一个样本图(Curve的veCRV)来说明衰减情况
veFXS的目的是奖励长期的FXS持有者,激励矿工质押FXS。
每个veFXS将在治理提案中拥有1票投票权。最长4年,锁定1个FXS,将产生4个veFXS。这个veFXS余额本身会在4年后慢慢衰减为1个veFXS,此时用户可以赎回veFXS来换回FXS。同时,用户还可以通过锁定FXS、延长锁定结束日期或两者同时使用来增加其veFXS余额。需要注意的是,veFXS是不可转让的。
持有veFXS会让用户在获取挖矿奖励时获得更多权重。总体释放量将保持不变。Curve的最大值是2.5倍,我们的建议是一样的。[1][2]
veFXS实施后,持有者可以定期获得奖励。释放速率将取决于yield收益和FXS的市场价格。
veFXS系统是模块化和通用的。在未来,它可以扩展到对AMO的权重,对在新地方/功能上获得额外收益等进行投票,并被视为某种治理代币式债券。
这对Frax整体有利:
通过veFXS将投票权分配给FXS的长期持有者
激励矿工质押FXS
升级后的模块化veFPIS
veFPIS是FPIS治理代币的升级和授予+收益系统。与veFXS类似,用户可以锁定FPIS长达4年以获得4倍数量的veFPIS(例如,锁定4年的100个FPIS将获得400个veFPIS)。veFPIS是不可转让的代币,也不在流动性市场上交易。它类似于基于账户的积分系统,表示协议中钱包锁定FXS代币的权属时间。
veFPIS余额随着代币接近其锁定到期日而线性减少,在临近解锁日期时,每1个FPIS接近对应1个veFPIS。
veFPIS 有一个额外针对智能合约的“DeFi白名单”,为质押系统添加了模块化功能。治理程序可以批准每个新的DeFi功能白名单。例如,治理程序可以将清算合约列入白名单,如果质押者从其veFPIS余额中借款,则允许清算其基础FPIS代币。在为每个用户解锁新功能之前,用户必须批准每个DeFi白名单合约来使用他们的FPIS代币。这使得质押系统保持完全免信任,因此没有额外的逻辑可以在没有质押人批准的情况下访问质押人的veFPIS余额,从而保持每个钱包地址的模块化选项。该系统允许治理向veFPIS质押添加新的迭代功能,如“削减条件”和通过添加智能合约来获得更高收益的新方法(如果用户选择加入,可能会被削减),允许veFPIS持有者投票决定CPI指标权重,借出FPI,或控制流动性部署等等。
Frax价格指数股票(FPIS)是Frax价格指数(FPI)稳定币的治理代币。FPIS与Frax Share (FXS)代币相关联,因此被称为“关联治理代币”。FXS和FPIS在经济上以可编程方式连接,类似于一层网络代币连接到其网络上的dapp代币。 FXS是Frax生态系统的基础代币,因此无论如何,随着Frax和FPI稳定币的增长,FXS将始终积累价值。FXS积累的价值与整个Frax经济的整体增长成正比,类似于ETH从所有dapp经济活动的总和中获取价值,这些活动都需要向以太坊区块空间的访问支付gas。FPIS跟踪FPI的增长,特别类似于特定的ERC20代币跟踪其自身协议的增长,而不是整个L1经济。如果你认为Frax经济整体上被低估了,你应该想拥有更多的FXS。如果你认为人们低估了FPI的增长,你应该增加对FPIS的敞口。这与你是投资于一个特定的项目还是投资于ETH是完全相同的。如果你认为整个ETH经济被低估了,你会购买更多的ETH。但如果你认为一个特定的项目的增长速度会快于以太坊生态经济的总和,你会想要拥有那个特定的代币,而不是L1代币。
Frax抵押品比率(FCR)是直接支持FPI代币的Frax稳定币的比率。FCR在价值分配给FPIS和veFPIS代币持有者之前直接计算。FCR专门用于系统的FXS价值捕获。
每当多余的FPI资产负债表价值被分配回FPIS代币持有者时,它将通过一个“FCR合约”或函数调用来计算“FRAX抵押品FPI使用了多少”。
从本质上讲,任何高于通货膨胀率的经济生产率都归FPIS持有者所有。由于FPI与一篮子消费品挂钩,它代表了对这一篮子价值的主张。协议产生的超过该篮子的价值由FPIS持有者捕获。
除了保持FPI与CPI的挂钩并保持CR恒定在100%之外,没有FPIS代币可以超过1亿的创世供应而被铸造。
30% Frax Finance 国库 30,000,000 FXS持有者可以通过治理投票完全控制分配这些代币。 25% FPI Protocol 国库 25,000,000 FPIS持有者自己可以通过投票完全控制如何分发这些代币。 10% veFPIS 排放 10,000,000 FPIS从太平洋标准时间2023年2月20日下午4点开始,按照每年减半的排放计划分配给veFPIS股东。第一年排放500万FPIS,第二年排放225万FPIS,第三年排放112.5万FPIS,以此类推。当FPI稳定币高于治理规定的一定抵押品比例时,这一排放将通过分配给veFPIS持有者的额外FPI协议利润来增加。 25% 核心开发者&贡献者国库25,000,000 从2022年2月20日与创世空投同时开始,锁定期6个月,分4年释放,每个月20号左右发放。 10% 2022年2月空投给所有FXS持有者10,000,000 快照时间为2月20日11:59:59 UTC 2022,可申领时间为8月20日11:59:59 UTC 2022
*本文件中关于价值获取的讨论不是投资建议。治理代币机制只是为了描述Frax/FPI系统如何工作。
在本指南中,我们将解释如何使用Fraxswap的AMM/TWAMM功能
链接您的MetaMask插件到Uniswap,然后通过以下链接购买您想要的Frax或者FPI数量: https://info.uniswap.org/#/pools/0xd2a9f2b88d6df8830522d624db491445362a2797
前往Fraxswap主页然后链接您的MetaMask钱包: https://app.frax.finance/fraxswap
您将前往以下页面 :
现在您已经链接您的MetaMask钱包了:
点击 “AMM”:
点击 “Select Token”:
我们在这里选择 FRAX:
选择您想用Frax兑换的币种。
这里我们选择用FRX兑换FPI:
输入您想兑换通过FRAX兑换FPI的数量
点击 “SWAP”:
一条MetaMask交易将会弹出以授权协议使用您的代币。
点击 “Confirm”:
另一条MetaMask交易将会弹出。
点击“Confirm”:
一条 “Processing Swap” 通知将会出现, 等待您的交易完成。
恭喜,您已经成功的将FRAX兑换为了FPI。
前往Fraxswap主页然后链接您的MetaMask钱包: https://app.frax.finance/fraxswap
您将前往以下页面 :
点击“TWAMM”:
现在我们可以兑换FPI为FRAX了。
输入您想通过“TWAMM”兑换FPI的数量:
点击选择 “Swap Period”.
(注意:如果您想均匀的建仓,或者慢慢的减仓,选择更长的周期。)
点击 “SWAP”:
一条MetaMask交易将会弹出以授权协议使用您的代币。
点击 “Confirm”:
另 一条MetaMask交易将会弹出。
点击 “Confirm”:
一条 “Processing Swap” 通知将会弹出,等待您交易完成。
恭喜,您已经成功的通过TWAMM将FPI兑换为FRAX了。
一种与一篮子消费品挂钩的新型稳定币
Frax价格指数(FPI)是Frax金融生态系统的第二个稳定币。FPI是第一个与美国CPI-U平均值定义的一篮子现实世界消费品挂钩的稳定币。FPI稳定币旨在保持其价格与CPI篮子中所有项目的价格一致,从而通过链上稳定机制保持其购买力。与FRAX稳定币一样,所有FPI资产和市场操作都是链上的,并使用AMO合约。
Frax价格指数股票(FPIS)代币是系统的治理代币,它也有权从协议中获得铸币税。与FXS的结构类似,超额收益率将直接从国债流向FPIS持有者。当由于通货膨胀,FPI国库不能创造足够的收益来维持每FPI增加的价值时,新的FPIS可能被铸造和出售来增加国库资金。由于该协议是在Frax生态系统内推出的,FPIS代币也会将其一些浮动收入导向FXS的持有者。
FPI使用美国联邦政府报告的未经调整的CPI-U 12个月通货膨胀率:https://www.bls.gov/news.release/cpi.nr0.htm 一个专用的Chainlink预言机在该信息公开发布后立即将该数据提交到链上。然后,预言机报告的通货膨胀率应用于系统合约中FPI稳定币的赎回价格。这个赎回价格在链上每秒增长(或在罕见的通货紧缩情况下下降)。当bls.gov发布每月CPI价格数据时,挂钩计算率每30天更新一次。
因此,FPI锚定跟踪以上12个月的通货膨胀率,并从FPI赎回合约中始终保持锚定。因此,当出售另一种资产(如ETH)购买FPI稳定币时,交易员会认为CPI购买力随着时间的推移会比出售的ETH增长的快。如果卖出FPI换取ETH,那么交易员认为ETH的增长速度超过了美元CPI的通货膨胀率。
FPI的目标是成为第一个拥有自己记账单位的链上稳定币,这些单位来自一篮子商品,包括加密资产和非加密资产。虽然FPI可以被认为是一种抗通胀的收益资产,但它的主要动机是创建一种新的稳定币来命名交易、价值和债务。对DAO国债进行计价,并以FPI衡量收入,以及以FPI交易对为基准,有助于更好地衡量价值应计额是否在实际通货膨胀的情况下积极增长。它还有助于将链上经济学根植于现实世界的资产篮子。
首先,国库将仅由$FRAX组成,但未来将扩大到包括其他加密原生资产,如桥接BTC、ETH和非加密消费品和服务。
FPI使用与FRAX稳定币相同类型的AMOs,但它的建模目的是始终保持100%的抵押品比率(CR)。这意味着,为了保证抵押品比率保持在100%,协议资产负债表必须至少以CPI通胀的速度增长。因此,AMO策略合约必须获得与CPI成比例的收益,否则CR将下降到100%以下。在AMO收益率低于CPI利率期间,TWAMM AMO将出售FPIS代币换取FRAX稳定币,以始终将CR保持在100%。当CR恢复到100%时,FPIS twamm将被移除。
教程:如何将FRAX & FXS与币安智能链(BSC)桥接起来,并向 PANCAKESWAP增加流动性
我们将演示如何将FRAX和FXS桥接到BSC,并在PancakeSwap上增加FRAX-FXS池的流动性。
Frax Finance & PancakeSwap 流动性程序每60天向币安智能链上的PancakeSwap FRAX -FXS Pool分发1000个FXS和250个Cake奖励。
连接您的MetaMask插件到UNISWAP,然后购买所需金额的FRAX&FXS,通过以下链接来提供流动性:
或者您可以在我们的web应用程序通过USDC+FXS来铸造FRAX:https://app.frax.finance/mint
(注意 :您将需要等值美元的FRAX和FXS,例如,如果您想添加100枚FRAX,您将需要价值100美金的FXS)。
现在你的eth钱包里有FRAX和FXS,你需要桥接它们,有多种迁移至Binance智能链(BSC)的方法。 币安交易所(仅支持FXS) 币安桥(仅支持FXS) 多链桥(仅支持FRAX)
在本例中,我们将使用多链和币安桥将FRAX和FXS迁移到BSC。
前往多链桥链接并链接你的MetaMask 钱包:https://multichain.xyz/swap
你将看到如下页面:
在“from”菜单中选择FRAX (ETH),在“To”菜单中选择FRAX (BSC),然后填写您希望桥接到BSC的所需金额,然后单击“Transfer”。
一条MetaMask交易将弹出“Confirm”按钮。
一个待确认的存款交易将出现,直到它完成。
现在您的FRAX代币已经桥接,您也需要桥接您的FXS代币。
前往币安桥链接并且链接你的MetaMask钱包:https://www.binance.org/en/bridge
你将看到如下页面:
在下拉菜单中选择FXS,输入你想桥接的FXS数量,添加目的地址,然后点击“Next”。
点击 “Confirm”.
点击 “Submit transaction via MetaMask”.
将会出现一个MetaMask交易,点击“Confirm”。
等待,直到通过所有确认以接收BSC钱包中的FXS代币。
要将您的MetaMask切换到币安智能链(BSC)上,您将在顶部发现“Ethereum Mainnet”,单击它打开下拉菜单。
在列表的底部,您将找到“Custom RPC”。点击它。
将会出现以下窗口,输入这些详细信息,然后点击“Save”:
Network Name: Binance Smart Chain
New RPC URL: https://bsc-dataseed.binance.org/
ChainID: 56
Symbol: BNB
Block Explorer URL: https://bscscan.com
现在您已经链接至币安智能链!
您的MetaMask钱包现已链接至币安智能链,你将需要在PancakeSwap上添加流动性
请前往添加PancakeSwap流动性链接并链接您的MetaMask钱包:https://exchange.pancakeswap.finance/#/add/0x29ced01c447166958605519f10dcf8b0255fb379/0xde2f075f6f14eb9d96755b24e416a53e736ca363
你将看到如下页面:
(注意 : 你的钱包需要有BNB用作Gas费).
选择您希望添加到流动性池的FRAX数量,PancakeSwap将自动计算要添加的FXS的等值,我们将添加750 FRAX + 96.2353 FXS。
确认花费FRAX和FXS,每批准一个MetaMask交易将弹出,确认交易并在每笔事务之间等待。
一旦FRAX&FXS被确认,点击“Supply”:
点击 “Confirm Supply”:
一笔MetaMask交易将会弹出,确认交易:
等待交易完成
你将会收到FRAX-FXS的LP代币,PancakeSwap将会在这里显示你的流动性仓位:
前往我们的质押仪表盘链接:https://app.frax.finance/staking
你将前往以下页面,点击“Connect Wallet”。
在下拉菜单中选择[BSC] PancakeSwap FRAX/FXS 池。
现在您的LP代币应该出现在存款区域,点击“Available”添加它们。
可选择无锁定和锁定两种,如下图所示,无锁定的正常APR为102.21%,60天锁定的最大APR为306.63%。
在此例中,我们选择60天锁定。
点击 “Stake”
(备注 : APY 将根据 TVL, 价格& 抵押比例而动态变化)
一条MetaMask交易会弹出以批准您的CAKE-LP代币支出,确认交易。
第二个MetaMask交易将弹出,以质押您的CAKE-LP代币,确认交易。
恭喜!您已经成功提供流动性,现在你应该开始赚取FXS&CAKE奖励了!
Frax 是第一个也是唯一一个部分供应由抵押品和部分供应由算法支持的稳定币。稳定币(FRAX)以“部分算法”稳定机制命名。抵押品和算法的比例取决于FRAX稳定币的市场价格。如果FRAX的交易价格高于1美元,该协议将降低抵押比率。如果FRAX的交易价格低于1美元,则该协议将提高抵押品比率。
FRAX : 一种始终紧紧围绕1美元锚定的稳定币。 Frax Shares (FXS) : 捕获手续费、铸币税收入和超额担保价值的治理代币。
在本指南中,我们将解释如何使用FraxSwap 铸造/赎回 FPI 功能。
链接您的MetaMask插件到Uniswap,然后通过以下链接购买您想要的Frax或者FPI数量: https://info.uniswap.org/#/pools/0xd2a9f2b88d6df8830522d624db491445362a2797
现在您已经有了FRAX在您的MetaMask钱包,您将需要铸造FPI。
前往Fraxswap主页然后链接您的MetaMask钱包: https://app.frax.finance/fraxswap
您将前往以下页面 :
点击 “Mint FPI”.
选择您想铸造FPI的Frax数量。
点击 “MINT”.
一个MetaMask交易将会弹出以授权协议使用您的代币,点击 “Confirm” 。
另一条MetaMask交易将会弹出,点击 “confirm” 。
恭喜 !您已经成功铸造了FPI稳定币。
现在您已经有了FPI在您的MetaMask钱包里,您将可以赎回它。
前往Fraxswap主页然后链接您的MetaMask钱包:https://app.frax.finance/fraxswap
您将前往以下页面:
点击“Redeem FPI”.
选择您想要赎回的FPI数量。
点击“REDEEM”.
一个MetaMask交易将会弹出以授权协议使用您的代币,点击 “Confirm” 。
另一条MetaMask交易将会弹出以赎回您的FPI,点击 “confirm”。
恭喜!您已经成功赎回FPI稳定币了。
多链FRAX+FXS可以在许多网络上兑换
Frax协议是一个多链协议,在所有部署中全局状态一致。FRAX+FXS代币是跨所有网络的单一分布。每个链上都没有独立的Frax实现。由于这个原因,该协议有一个桥接系统,允许它以一种独特和新颖的方式保持紧密的连接和可替代性。
该协议将每个单独桥接的FRAX/FXS视为该桥接系统的唯一责任,并使用桥接的标识符来命名从其他链转移过来的FRAX/FXS。例如,AnySwap桥接FRAX称为anyFRAX,使用Wormhole桥接FRAX称为wormFRAX。
每条链都有1个标准的FRAX和标准的FXS合约,简称为“FRAX”和“FXS”(没有前缀)。这些代币是AMOs扩展/合约的内容,用户自己可以放心地铸造/赎回。
标准(原生)FRAX/FXS:由协议和AMOs本身发行/铸造/赎回的纯协议责任。标准的FRAX有该特定网络默认颜色和该网络的LOGO在中心。原生 FXS的右下角是该区块链的原生颜色和logo。因此,任何标准的/原生的FRAX/FXS总是在代币的某个地方显示网络标识。 桥接的 FRAX/FXS: 使用受支持的桥接协议从另一个网络带到当前链的代币。桥接代币的命名约定维护了用于将它们带到当前网络的桥接的前缀指定。例如:answap将FRAX从ETH桥接到AVAX被称为AVAX上的anyFRAX,而它只是ETH上的标准FRAX。桥接协议的颜色和标识显著地显示在FRAX/FXS代币上,以清楚地区分它们来自当前网络中的哪个桥接。
每个标准FRAX/FXS ERC20代币合约都有一个内置在代币中的1对1稳定交换自动化做市商(AMM),允许为任何受支持的桥接的FRAX/FXS与网络中的标准的FRAX/FXS进行交换。这使得FRAX可以进行紧密的套利,同时也保持了FXS在所有链上的单一分布。例如,让我们假设Fantom上的标准FRAX是0.990美元。套利者可以以美元的价格购买尽可能多的标准FRAX。套利者知道他可以在ERC20代币合约的稳定交换池中以1对1的方式交换anyFRAX,然后将anyFRAX桥接回ETH主网(或任何其他链),在那里FRAX是锚定的,以赚取利润。
因此,在一条链上购买FRAX/FXS和在另一条链上购买FRAX/FXS是一样的。如果你使用任何受支持的桥(很快还会添加更多)来桥接FRAX/FXS,你可以将桥接代币兑换为该链上的原生FRAX/FXS代币来进行耕种/LP/持有等等。此外,当在任何链上使用AMOs铸造标准FRAX/FXS时,协议将检查token合约是否有足够的交换流动性,以跨链移动标准代币,从而使锚定始终是全局的和可被套利的。
兑换可以随时在https://app.frax.finance/crosschain上完成,也可以直接与任何链上的原生代币的智能合约交互。交换机制内置在每条链上的ERC20 FRAX/FXS代币中(以太坊L1除外)。
Fraxswap是首个内置时间加权平均做市商(TWAMM)的恒定乘积自动做市商,可在无需信任的情况下进行长周期的大宗交易。它完全无需许可,核心的AMM是基于Uniswap V2。这种新型AMM可以帮助交易者高效地执行大额订单,并将被Frax协议大量使用,以增加Frax和FPI稳定币挂钩的稳定性,以及通过TWAMM将协议超额利润返还给FXS持有者。
Fraxswap的Core AMM是采用Uniswap V2,基于xy=k恒积常数的全系列产品设计。Fraxswap遵循了Uniswap V2的许多设计决策,因为它扩展了代码库以支持TWAMMs。Fraxswap v2计划以一种独特和新颖的方式支持集中流动性和相关资产流动性,允许TWAMM在这些交易对之间也发挥作用。
预言机数据采用Chainlink的2021年12月CPI-U数据点(由Fiews提供)作为确定挂钩价格的“基础”指数。每个月,该指数的变化/ delta百分比应用于前一个月的数据点,以确定锚定价格。之所以选择2021年12月,是因为预言机合约需要两个初始的“历史”数据点。
2021年12月 CPI-U: 280.126
2022年1月 CPI-U: 281.933
Delta 为 (281.933 / 280.126) - 1 = 0.64506686%
假设2021年12月是1美元,对应Delta百分比,则锚定价格为
$1 x (1.0064506686) = $1.0064506686
如果2022年2月CPI-U数据为284.182,delta值为(284.182 / 281.933)- 1 = 0.79770726%。
将次数据应用于此前挂钩价,则新的锚定价格为:$1.0064506686 * (1 + 0.0079770726) = $1.0144791987
换言之,2021年12月的1美元价值2022年2月的这么多美元。
Fraxlend是一个借贷平台,允许任何人在一对ERC-20代币之间创建一个市场。Chainlink数据流的任何代币都可以借给借款人或用作抵押品。每一个借贷对都是一个独立的、无需许可的市场,任何人都可以创建和参与借贷活动。
出借方可以将ERC-20资产存入这个借贷对,并获得具有收益率的ftoken。随着利息的赚取,ftoken可以赎回标的资产的金额不断增加。
Fraxlend还支持为场外债务市场创建自定义Term sheet的能力。Fraxlend 借贷对可以创建如下功能:到期日、受限制的借款人和贷款人、非足额抵押贷款和有限清算。
Fraxlend的主要参与者是贷款人和借款人。
出借人向池子提供资产代币,以换取ftoken
借款人向借贷对提供抵押品代币,并作为交换获得资产代币。借款会产生一个利率,该利率被资本化并在赎回ftoken时支付给出借人。
除了借贷双方,生态系统的其他部分还包括:预言机、利率计算和Fraxlend 借贷对部署方
每一个借贷对都可以使用不同的利率计算器进行部署。这些合约根据可借款资金的数量计算利率。通常情况下,更少的借贷会导致更低的利率,而更多的借贷会导致更高的利率。
每一个借贷对都有单一的部署合约进行部署。
关于Uniswap核心功能的大量文档可以在这里找到:
Fraxswap是第一个实时TWAMM的实现。内置TWAMM遵循Paradigm最初的。白皮书中提到的功能用于优化长期订单的执行,包括:订单池和撮合订单过期时间(每小时)。长期订单将在与Fraxswap的任何交互之前执行,这意味着长期订单在与AMM交互之前首先执行,每个区块执行一次(见上图)。Fraxswap实现了Paradigm原始公式的近似公式,并使得TWAMM更简单,节省gas费。
Paradigm的TWAMM公式与Fraxswap的TWAMM公式的交互比较可在以下网址找到:
Raw data source:
Chainlink / Fiews Job:
每一个借贷对依赖于一个(或两个) 来确定资产代币和抵押品代币的市场利率。
每一个借贷对都有一个配置好的最大贷款价值比(LTV)。随着时间的推移,随着利息的资本化,借款人必须增加更多的抵押品或偿还部分债务。否则,他们的头寸可能会变得不健康。为了确定借款人的LTV,我们使用抵押品的价值和ftoken的价值。
股价为1个fToken的资产代币单位价格(即资产代币:fToken比率)
汇率是1个资产代币的抵押品单位价格(即抵押品代币:资产比率)
当借款人的LTV高于最高LTV时,任何用户都可以代表借款人偿还债务,并获得同等价值的抵押品和清算费用。清算费用是不可更改的,并在部署时确定。默认情况下,该值被设置为10%,可以通过调用借贷对上的 liquidationFee()
view函数来访问。通过在借贷对上调用 maxLTV()
函数可以找到配置的最大LTV。
每一个借贷对都是一个独立的市场,通过存入一个不同的ERC-20代币(称为抵押品代币)来借入一个ERC-20代币(称为资产代币)。
当出借人将资产代币存入资产对池子时,他们将收到ftoken。ftoken是ERC-20代币,可兑换为资产代币,有时被称为基础资产。
借款人将抵押品代币存入资产对池子,作为交换,获得借入资产代币的权利
每个借款人的头寸都有一个贷款价值比(LTV)。这表示借入资产的价值与存入的抵押品价值之间的比率。当资产和抵押代币之间的汇率移动或当利息资本化时,LTV会发生变化。
如果借款人的LTV超过了最大LTV,他们的头寸就被认为是不健康的。为了解决这一问题,借款人可以添加抵押品或偿还债务,从而将LTV拉回到一个健康的范围。
最大LTV值是不可变的,并在部署时配置。对于公共的、无需许可的借贷对,该值设置为75%。自定义条款清单部署可以手动设置该值,甚至通过将该值设置为100%以上来创建担保不足的贷款。最大LTV配置在100%以上,必须附有借款人白名单,以防止恶意行为者。通过调用pair上的 maxLTV()
函数可以找到配置的值。
每个借贷对都配置为使用特定的利率计算器合约来确定利率。在启动时,frxlend支持两种类型的利率计算器。
时间加权可变利率计算器- 允许利率根据所借资产的数量变化,称为利用率。当利用率低于目标时,利率向下调整,当利用率高于目标时,利率向上调整。有关更多信息,请参见高级概念:时间加权动态利率
Linear Rate Calculator - 线性利率计算器-计算利率纯粹作为一个函数的利用率。较低的利用率导致较低的借款利率,而较高的利用率导致较高的借款利率。有关更多信息,请参见高级概念:线性利率
当借款人的LTV高于最高LTV时,任何用户都可以代表借款人偿还全部或部分债务,并获得同等价值的抵押品和清算费用。清算费用是不可更改的,并在部署时确定。默认情况下,该值被设置为10%,可以通过调用借贷对上的liquidationFee()
view函数来访问。
当出借人存入资产代币时,他们以当前的fToken股价收到fToken。ftoken代表贷款人在存入对中的基础资产总额中所占的份额,加上来自借款人的资本化利息。随着利息的增加,股价也会上升。赎回时,ftoken可赎回数量不断增加的资产代币,其中包括资本化的利息。要检查当前的fToken股价,调用totalAsset()
view函数并比较amount/shares的值。
金库账户是借贷对中所有会计的核心概念。金库帐号是一个包含两个值的结构体:
Frax生态系统中的ETH有两种形式,frxETH (Frax Ether)和sfrxETH (质押的 Frax Ether)。
frxETH作为稳定币松散地与ETH挂钩,因此1 frxETH总是代表1 ETH,并且frxETH在流通中的数量与frxETH系统中的ETH数量相匹配。当ETH发送到frxETHMinter时,会产生等量的frxETH。单独持有frxETH是没有资格获得质押收益的,应该被认为与持有ETH类似。
sfrxETH是一个ERC-4626标准的金库,设计用于累积Frax ETH验证节点的质押收益。在任何时候,frxETH可以通过存入sfrxETH金库来交换sfrxETH,这使得用户通过他们的frxETH赚取质押收益。随着时间的推移,由于验证节点收益累积,等量的frxETH被铸造并添加到库中,使得用户赎回他们的sfrxETH时可以获得比他们存入frxETH更多。
frxETH与sfrxETH的汇率随着时间的推移而增加,因为质押奖励被添加到金库中。通过持有sfrxETH,您持有金库的frxETH不断增加可赎回收益的权利,在sfrxETH持有者之间按他们在总sfrxETH中的份额比例分配质押奖励。这类似于其他自动复合收益代币,如Aave的aUSDC和Compound的cUSDC。
frxETH与Frax和FPI稳定币共享了很多代码,并实现ERC-2612标准,允许通过传递给permit()函数的ERC-712签名进行支出批准。
sfrxETH是一个符合ERC-4626标准的金库。sfrxETH的获取方式是:首先批准sfrxETH合约作为frxETH的支出者,然后调用mint()(铸造特定数量的sfrxETH)或deposit()(铸造特定数量的frxETH)。授权步骤和铸造步骤可以与depositWithSignature()或mintWithSignature()结合,从而不需要两笔单独的交易。
当验证节点产生质押收益时,将铸造等量的frxETH并发送到sfrxETH合约。这意味着一旦奖励是同步的,一个人的sfrxETH可能会被兑换成比它所铸造的更多的frxETH。
为了防止恶意用户窃取验证节点收益分布到保险库,奖励分布随着时间周期进行平滑。无论何时在sfrxETH合约上调用syncRewards(),在合约内部余额上添加到合约的任何额外frxETH都将排队,并在循环窗口的剩余时间内线性分配。
sfrxETH也符合ERC-2612,允许使用签名许可。
frxETHMinter在通过submit()或receive()函数接收ETH时铸造frxETH。每当一个提交将minter余额推到32 ETH以上时,智能合约就会从堆栈中弹出验证节点的存款凭证,并将32 ETH的存款连同凭证一起传递到ETH 2.0存款合约中,自动启动一个新的验证节点。
根据需要,将新的凭证添加到堆栈中,以确保始终有验证节点准备接受存款。如果在任何时候合约用完验证节点,frxETH将继续正常生成(除非暂停),但在向堆栈添加更多验证节点之前不会生成新的验证节点。
提现凭据由堆栈上的所有验证节点共享,这意味着所有验证节点共享相同的提现地址。这个地址设置为Frax Multisig启动,以便一旦上线,取款可以安全处理。
此外,在添加验证节点时,需要在生成存款数据时传递提供的DepositDataRoot,这是为了提供冗余,以确保在存入ETH时不接受输入错误参数的验证节点。
该协议可以在提交ETH时设置要扣缴的资金比例。当收集32个ETH存款来启动验证节点时,这些资金不被计算在内,而是用于跨DeFi做市,确保frxETH的流动性市场。
(文档将会很快推出......)
出借方(Lenders)将资产代币存入借贷对,并根据当前股价获得相应数量的资产股份(ftoken)。
贷款人可以在任何时候以当前价格给出的利率将其ftoken兑换为基础资产代币。fToken股价随着利息的增加而增加。
利息的积累是唯一可以改变股价的操作。因为利息产生总是正的,每个fToken可赎回的资产代币的数量不能减少。
Alice存了100个FRAX代币要借给借款人,初始的fToken股价为1.00,她收到了100个fToken。从她的第一笔存款开始,借贷对已经赚了10 FRAX 的利息。因此金额显示为110(100 Frax存款+ 10 Frax利息)。目前fToken的股价为1.10 (110 FRAX / 100 fToken)
如果Bob现在存入100FRAX 用于贷款,我们将看到以下变化。首先,借贷对中的金额将增加100。fTokens的当前股价为1.10。因此Bob将收到90.91 (100 / 1.10)ftoken作为他的存款。资产库账户现在看起来像这样:
随着利息的增加,金额增加。如果额外的20Frax作为利息应计,资产金库帐户看起来像这样:
股价现已上涨至1.2048(230 Frax / 190.91 fToken)。这意味着Bob可以用90.91 ftoken赎回109.52 FRAX。同样,Alice可以用她的100 ftoken赎回120.48 Frax。
随着时间的推移,随着利息的增加,Alice和Bob可以用他们的ftoken赎回不断增加的标的资产。
每一个借贷对都配置为根据Utilization的函数来更改利率。利用率是指已贷给借款人的存款资产总额。Fraxlend目前有两种利率模型可供使用:
线性利率
时间加权动态利率
线性利率是一个可配置的函数,它允许有两个形式为y = mx +b
的线性函数。该函数接受在创建借贷对时定义的参数。
最小利率:利用率为0%时的利率 顶峰利率:当利用率等于顶峰利用率时的利率(即当两个斜率相交时) 顶峰利用率: 两个斜率相交处的利用率 最大利率: 当利用率为100%时的利率
这些配置值是不可变的,并且在借贷对创建时是确定的。
利率的计算公式如下:
如果利用率等于顶峰利用率,那么:
如果利用率低于顶峰利用率,那么:
如果利用率大于顶峰利用率,那么:
时间加权动态利率随时间调整当前利率。动态利率配置了一个半衰期值,以秒为单位,它决定了利率调整的速度。
最低利率:利率可降至的最低利率。 目标利用率区间:利率不调整,认为与市场预期均衡的利用率区间。 最高利率:利率可以上升到的最高利率。 利率半衰期:当利用率为0%时,利息减半所需的时间。这是利率调整的速度。在目前可用的利率计算器,利率半衰期是12小时。
时间加权动态利率允许市场发出合适的利率信号。
当利用率低于目标范围时,利率降低,这鼓励更多的借款和出借人抽回他们的资本,这两者都将利用率推回到目标范围。
当利用率高于目标范围时,利率上升,鼓励更多的贷款和更少的借款,使利用率回到目标范围。作为时间和利用率函数鼓励参与者贷款和借款。
下图显示了当利率半衰期为4小时,目标利用率范围为75% - 85%时,利率的变化情况:
这使得市场,而不是借贷对的创造者,来决定给定资产抵押借贷对的适当利率,借贷对的创造者只需要提供一个目标利用率。
每个借贷对都为用户提供了借入资产代币的机会,作为回报,借款人必须向借贷对提供适当数量的抵押品代币。
只要借款人有一个公开的头寸,利息就会产生并资本化。这意味着,随着时间的推移,借款人所欠的金额增加的金额等于他们所欠的利息。为了让借款人收回他们的抵押品,他们必须归还原始贷款金额加上所有应计利息。
就像我们使用资产金库帐户来跟踪总资产金额和相应的股份数量一样,我们使用借款金库帐户来跟踪借款总额、资本化利息和已发行的借款股份数量。
假设Alice用150美元的ETH借了100Frax(价值100美元)。自从她第一次借款以来,她已经积累了10Frax的利息。借款金库帐户将显示如下:
记住,借款人的头寸必须保持在最大贷款价值比(LTV)以下。因为Alice的LTV是73.33%,她低于75%的最大值,所以她的位置是健康的。
我们用以下方法计算Alice的LTV。首先,我们将她的借款股份余额(100股)乘以借款股票价格(1.10),然后乘以以美元为单位的FRAX价格(1.00),计算出她的贷款价值为110美元。她的贷款价值是100美元(100x1.10x1.00)。她的抵押品价值是150美元。110美元/ 150美元= 73.33%
Bob现在借了100 Frax,用了价值175美元的ETH。鉴于目前的借入股价为1.10,他的借入股票余额将约为90.91。与出借人不同的是,借款人不会收到代表其债务的ERC20令牌,而是简单地存储在借贷对中。现在借款金库账户看起来是这样的:
假设借贷对又增加了20Frax的利息。借款金库帐户现在看起来像这样:
新的借款股价为1.2048(230 / 190.91)。这意味着为了让Alice偿还她的债务,她将需要偿还120.48Frax(Alice股份(100)x股价(1.2048))。同样,Bob需要偿还109.52Frax(Bob股份(90.91)x股价(1.2048))。
随着利息的增加,偿还贷款所需的金额增加,每个头寸的LTV也在变化。
Frax Ether是一种流动的ETH质押衍生品,旨在独特地利用Frax Finance生态系统,以最大限度地提高质押收益率,并让以太坊质押过程更加顺畅,以一种简单、安全和defi原生的方式在ETH上赚取利息。Frax Ether系统包括三个主要组件,Frax Ether(frxETH), staked Frax Ether(sfrxETH)和Frax ETH Minter:
frxETH 作为一种利用Frax在稳定币上的成功的方法与ETH松散挂钩的稳定币,并将ETH引入Frax生态系统。
sfrxETH 是可以积累收益的frxETH。从Frax以太验证节点产生的所有利润都分配给sfrxETH持有者。通过将frxETH交换为sfrxETH,用户就有资格获得质押收益,在将sfrxETH转换回frxETH时赎回。
Frax ETH Minter (frxETHMinter)允许ETH交换frxETH,将ETH带入Frax生态系统,在条件允许的情况下创建新的验证节点,并铸造与发送的ETH数量相等的新的frxETH。
单独质押以太坊需要运行验证节点相关的技术知识和初始设置,而且一次需要存入32个ETH。通过选择使用流动ETH质押衍生品,而不是以另一种形式质押ETH,质押收益可以更简单地积累,抽象了运行验证节点的条件,允许在任何数量的ETH获得收益,允许在任何时间和任何规模的取款,并使得整个DeFi有更大的可组合性。
金库账户(Vault Account)是frxlend对中用于记账的结构:
金库账户The Vault Account cont包含两个元素
amount
- 表示总数
shares
- 表示可以申领的份额
在借出中,amount
代表存款的资产总额和应计利息。
当出借人存入资产时,存入的资产amount
增加,shares
价值也增加一定数量,但数量与股票的比率不变。
当产生利息时, amount
增加,shares
保持不变。每个出借人在基础资产中的份额以股份来衡量。
当贷款机构消除流动性时,他们赎回相关资产的股票。shares数量
将根据赎回的股票数量而减少,amount
将减少,但amount
/shares
的比率保持不变。
贷款会计
贷款时,amount
代表贷款资产总额和应计利息。
当贷款人收到资产时,收到的代币amount
增加,shares
价值也增加了一定值,使amount
/shares
之间的比率保持不变。
当产生利息时,amount
增加,shares
保持不变。每个贷款人的债务都以股份来衡量。
当贷款人偿还债务时, amount
减去归还的资产数量,shares
减少一定数额,使amount
/shares
的比率保持不变。单个贷款人的股份余额按此数量递减。
Ferry可以用于代币在不同区块链之间转移
一种更慢、更简单但更安全的桥接代币的方法。
太多跨链桥因为各种原因被黑,例如Bugs,团队跑路,匿名开发等等
无限铸造风险
一些区块链桥太慢(如Arbitrum,Optimism等)
风险上限由跨链桥合约里面的代币金额决定,没有无限铸造的风险。
更慢的交易使得有更多的时间可以捕获和停止恶意事务,假设它们没有被机器人自动取消。
船员可以暂停合约,以便对任何问题进行调查。
船长被骗提供了一个带有错误哈希值的事务处理,所有的船员机器人都离线/被谴责/被妥协,并且没有人质疑这个提案。
在源链上重新组织,通过只返回源链上至少一小时前的交易,可以避免这种情况。
Optimistic的rollup交易回滚。通过运行节点可以避免。
在假提案之后,运营商没有足够的时间暂停这个链。通过在发送提案和执行提案之间要求最短的时间来避免这种情况。
中心化。
Asset Vault Account | Total |
---|---|
Asset Vault Account | Total |
---|---|
Asset Vault Account | Total |
---|---|
Borrow Vault Account | Total |
---|---|
Borrow Vault Account | Total |
---|---|
Borrow Vault Account | Total |
---|---|
Amount
110
Shares
100
Alice Share Balance (fToken)
100
Bob Share Balance (fToken)
0
Amount
210
Shares
190.91
Alice Share Balance (fToken)
100
Bob Share Balance (fToken)
90.91
Amount
230
Shares
190.91
Alice Share Balance (fToken)
100
Bob Share Balance (fToken)
90.91
Amount
110 FRAX
Shares
100
Alice Collateral Amount
$150 ETH
Alice Borrow Shares Balance
100
Amount
210 FRAX
Shares
190.91
Alice Collateral Amount
$150 ETH
Alice Borrow Shares Balance
100
Bob Collateral Amount
$175 ETH
Bob Borrow Shares Balance
90.91
Amount
230 FRAX
Shares
190.91
Alice Collateral Amount
$150 ETH
Alice Borrow Shares Balance
100
Bob Collateral Amount
$175 ETH
Bob Borrow Shares Balance
90.91
用于FRAX、FXS、质押和池合约的治理。
AlphaGovernor 合约部署在: 0xd74034C6109A23B6c7657144cAcBbBB82BDCB00E
Timelock 合约部署在: 0x8412ebf45bAC1B340BbE8F318b928C466c4E39CA
Frax治理模块是从Compound派生出来的,FXS作为系统中的投票代币。
如果用户持有一定阈值的FXS(占总票数的1%,相当于1,000,000 FXS),用户可以提出新的协议修改,或者可以将他们的投票加在一起提交提案。
提案一旦提交,即开始为期3天的积极投票期,在此期间提案可被投票赞成或反对。如果在期限结束时,提案获得了多数人的支持,并且该提案至少有400万FXS的支持,那么提议的改变将被排队进入Timelock,在2天后可以实施。
Frax对某些权限使用OpenZepplin's Access Control 的访问控制模块。在Frax中,每个通过 hasRole
获得权限的角色也可以通过治理模块中的提议去中心化,然后治理模块可以在其他地址上调用grantRole
。
Timelock合约负责执行在投票阶段成功的提案,并通过访问控制对其他系统合约(如FRAXStablecoin、FRAXShares和FRAXPool)拥有权限。Timelock协议为影响Frax协议的更改提供了透明度,因为排队的提议可能只有在等待时间满足合约逻辑后才会被激活。
Frax治理合约控制Timelock合同,Timelock接受已通过的提案,并使用其对系统合约的权力,根据需要对其进行更新。Frax管理地址是系统的初始管理器,在部署时将角色授予给它。随着时间的推移,这些角色将被授予给Timelock合约,将该合约的治理控制权交给社区。
用于铸造和赎回FRAX,以及回购多余抵押品的合约
Frax池合约是由治理系统部署和批准的,这意味着在治理提案成功执行后,可以随时添加新的抵押品类型。目前的池是USDC,未来池将开放更多的抵押品类型。
USDC: 0x3C2982CA260e870eee70c423818010DfeF212659
Frax池是一种智能合约,为用户存入抵押品来铸造Frax代币,或通过赎回发送到合约中的Frax来取回抵押品。每个Frax池都有不同类型的可接受抵押品。Frax 池可以支持任何类型的加密货币,但稳定币由于其价格的小波动,是最容易实现的。Frax的设计初衷是接受任何类型的加密货币作为抵押品,但低波动性池在一开始是首选,因为它们不会不规则地改变抵押品比率。有一些很有前途的新项目,比如Reflex Bonds,它们抑制了基础加密资产的波动性。Reflex Bonds可能成为未来理想的FRAX抵押品。新的Frax池可以通过FXS治理投票添加。
每个池合约都有一个池上限(可存储用于铸造FRAX的最大允许抵押品)和资产的价格信息流。最初的Frax池将是USDC (USD Coin)和USDT (Tether),因为它们在以太坊上拥有巨大市值、稳定性和可用性。
这些池通过对FRAXStablecoin (FRAX)和FRAXShare (FXS)合约的授权调用来创建和赎回协议代币。
合约有3个铸造函数:mint1t1FRAX(), mintFractionalFRAX()和mintAlgorithmicFRAX()。该合约还有3个赎回函数,它们与铸造函数对应:redeem1t1FRAX(), redeemFractionalFRAX(), redeemAlgorithmicFRAX()。
这些函数被分成1比1阶段、部分抵押阶段和纯算法阶段,以优化Gas费。1比1的铸币和赎回功能只有在抵押率为100%时才可用。部分抵押铸造和赎回函数仅在担保比率为99.99%和0.01%之间可用。纯算法铸造和赎回函数只能在0%的比例可用。
每个铸造和赎回函数都有一个AMOUNT_out_min
参数,该参数指定交易者预期的最小代币单元。这作为提交交易时滑点范围的限制,因为从交易创建时到区块打包期间价格可能会发生变化。
https://docs.openzeppelin.com/contracts/3.x/api/access#AccessControl
Instance for the collateral token in the pool.
Address of the collateral token.
List of the pool owners.
Address of the oracle contract.
Address of the FRAX contract.
Address of the FXS contract.
Address of the timelock contract.
Instance of the FXS contract.
Instance of the FRAX contract.
Instance of the oracle contract.
Keeps track of redemption balances for a given address. A redeemer cannot both request redemption and actually redeem their FRAX in the same block. This is to prevent flash loan exploits that could crash FRAX and/or FXS prices. They have to wait until the next block. This particular variable is for the FXS portion of the redemption.
Keeps track of redemption balances for a given address. A redeemer cannot both request redemption and actually redeem their FRAX in the same block. This is to prevent flash loan exploits that could crash FRAX and/or FXS prices. They have to wait until the next block. This particular variable is for the collateral portion of the redemption.
Sum of the redeemCollateralBalances
.
Sum of the redeemFXSBalances
.
Keeps track of the last block a given address redeemed.
Maximum amount of collateral the pool can take.
AccessControl
role for the mint pauser.
AccessControl
role for the redeem pauser.
AccessControl
role for the buyback pauser.
Whether or not minting is paused.
Whether or not redeem is paused.
Whether or not buyback is paused.
unclaimedFXS
Return the total amount of unclaimed FXS.
unclaimedCollateral
Return the total amount of unclaimed collateral.
collatDollarBalance
Return the pool's total balance of the collateral token, in USD.
availableExcessCollatDV
Return the pool's excess balance of the collateral token (over that required by the collateral ratio), in USD.
getCollateralPrice
Return the price of the pool's collateral in USD.
mint1t1FRAX
Mint FRAX from collateral. Valid only when the collateral ratio is 1.
mintFractionalFRAX
Mint FRAX from collateral and FXS. Valid only when the collateral ratio is between 0 and 1.
mintAlgorithmicFRAX
Mint FRAX from FXS. Valid only when the collateral ratio is 0.
redeem1t1FRAX
Redeem collateral from FRAX. Valid only when the collateral ratio is 1. Must call collectionRedemption()
later to collect.
redeemFractionalFRAX
Redeem collateral and FXS from FRAX. Valid only when the collateral ratio is between 0 and 1. Must call collectionRedemption()
later to collect.
redeemAlgorithmicFRAX
Redeem FXS from FRAX. Valid only when the collateral ratio is 0. Must call collectionRedemption()
later to collect.
collectRedemption
After a redemption happens, transfer the newly minted FXS and owed collateral from this pool contract to the user. Redemption is split into two functions to prevent flash loans from being able to take out FRAX / collateral from the system, use an AMM to trade the new price, and then mint back into the system.
buyBackFXS
Function can be called by an FXS holder to have the protocol buy back FXS with excess collateral value from a desired collateral pool. This can also happen if the collateral ratio > 1
recollateralizeAmount
When the protocol is recollateralizing, we need to give a discount of FXS to hit the new CR target. Returns value of collateral that must increase to reach recollateralization target (if 0 means no recollateralization)
recollateralizeFrax
Thus, if the target collateral ratio is higher than the actual value of collateral, minters get FXS for adding collateral. This function simply rewards anyone that sends collateral to a pool with the same amount of FXS + .75%. Anyone can call this function to recollateralize the protocol and take the hardcoded .75% arb opportunity
toggleMinting
Toggle the ability to mint.
toggleRedeeming
Toggle the ability to redeem.
toggleBuyBack
Toggle the ability to buyback.
setPoolCeiling
Set the pool_ceiling
, which is the total units of collateral that the pool contract can hold.
setOracle
Set the oracle_address
.
setCollateralAdd
Set the collateral_address
.
addOwner
Add an address to the array of owners.
removeOwner
Remove an owner from the owners array.
onlyByOwnerOrGovernance
Restrict actions to the governance contract or the owner(s).
notRedeemPaused
Ensure redemption is not paused.
notMintPaused
Ensure minting is not paused.
用于获取FRAX-collateral和FXS-collateral的价格数据。
Chainlink价格合约部署在:
0xBa6C6EaC41a24F9D39032513f66D738B3559f15a
FRAX-ETH Uniswap 交易对价格预言机部署在:
0xD18660Ab8d4eF5bE062652133fe4348e0cB996DA
FRAX-USDC Uniswap 交易对价格预言机部署在:
0x2AD064cEBA948A2B062ba9AfF91c98B9F0a1f608
FRAX-USDT Uniswap 交易对价格预言机部署在:
0x97587c990617f65A83CAb4f08b23F78472a0413b
FRAX-FXS Uniswap 交易对价格预言机部署在:
0xD0435BF68dF2B516C6382caE8847Ab5cdC5c3Ea7
FXS-ETH Uniswap 交易对价格预言机部署在:
0x9e483C76D7a66F7E1feeBEAb54c349Df2F00eBdE
FXS-USDC Uniswap 交易对价格预言机部署在:0x28fdA30a6Cf71d5fC7Ce17D6d20c788D98Ff2c46
FXS-USDT Uniswap 交易对价格预言机部署在:0x4FCb1759BD13950E7e73eEd650eb5bB355bC1CBC
Frax系统从两个外部系统获取价格信息: Chainlink 和Uniswap。系统记录来自Chainlink的ETH-USD价格,并将其应用于来自Uniswap的FRAX-wETH和FXS-wETH池余额,以获得准确的FRAX-USD和FXS-USD价格。这使得FRAX可以跟踪美元的真实价格,而不是一篮子链上稳定币的价格(这可能会显著偏离)。
Chainlink 预言机是ETH-USD价格的时间加权平均值,每小时更新一次。
ChainlinkETHUSDPriceConsumer
合约负责以美元为单位获取ETH的价格。要从这个合同中得到以美元为单位的ETH的价格,调用getLatestPrice()
并除以getDecimals()
。
Uniswap V2系统包括使用时间加权平均价格的price oracles,以便稳健地计算出Uniswap池内代币的准确价格。Frax在其Uniswap池中使用这些oracle超过1小时的时间加权平均价格,以获得系统中Frax、FXS和担保代币的价格信息。时间加权平均价格的周期作为一个系统参数,可以通过治理方案来改变。
UniswapPairOracle
合约允许用户从其池子余额中获取系统内代币的价格。要从一对代币中获取一种代币的价格,调用该交易对具有代币地址和请求数量的实例consult(address token, uint amountIn)。
Modified ERC-20 合约表示 FXS 代币, 用于围绕FRAX稳定币的质押和治理代币。
https://docs.openzeppelin.com/contracts/2.x/api/token/erc20#ERC20
https://docs.openzeppelin.com/contracts/3.x/api/access#AccessControl
Address of the FRAX contract.
Genesis supply of FXS.
Maximum supply of FXS.
Minimum FXS required to join DAO groups.
Address of the contract owner.
Address of the oracle.
Address of the timelock.
The FRAX contract instance.
From Compound Finance. Used for governance voting.
List of voting power for a given address, at a given block.
Checkpoint count for an address.
setOracle
Change the address of the price oracle.
setFRAXAddress
Set the address of the FRAX contract.
setFXSMinDAO
Set minimum FXS required to join DAO groups.
mint
Mint new FXS tokens.
pool_mint
This function is what other FRAX pools will call to mint new FXS (similar to the FRAX mint).
pool_burn_from
This function is what other FRAX pools will call to burn FXS.
transfer
Transfer FXS tokens.
transferFrom
Transfer FXS tokens from another account. Must have an allowance set beforehand.
getCurrentVotes
Gets the current votes balance for account
.
getPriorVotes
Determine the prior number of votes for an account as of a block number. Block number must be a finalized block or else this function will revert to prevent misinformation.
_moveDelegates
Misnomer, from Compound Finance's _moveDelegates
. Helps keep track of available voting power for FXS holders.
_writeCheckpoint
From Compound Finance's governance scheme. Helps keep track of available voting power for FXS holders at a specific block. Called when a FXS token transfer, mint, or burn occurs.
safe32
Make sure the provided int is 32 bits or less, and convert it to a uint32.
safe96
Make sure the provided int is 96 bits or less, and convert it to a uint96.
add96
Add two uint96 integers safely.
sub96
Subtract two uint96 integers safely.
getChainId
Return the Ethereum chain ID the contract is deployed on
VoterVotesChanged
Emitted when a voters account's vote balance changes
FXSBurned
Emitted when FXS is burned, usually from a redemption by the pool
onlyPools
Restrict actions to pool contracts, e.g. minting new FXS.
onlyByOracle
Restrict actions to the oracle, such as setting the FRAX and oracle addresses
用户向合约发送代币。该交易存储在合约中。embark()
, embarkWithRecipient()
, 或 embarkWithSignature()。
船长(Captain)查询要发送的交易的源链。
船长(Captain)发送批次(开始、结束、哈希)以开始转移 depart()
至少等待24小时。
船员(Crewmembers) 检查事务,如果是无效的,也可以进行质疑 disputeBatch()
或 do nothing
.
无争议的批次可以由大副通过提供作为calldata的交易执行。用户在另一条链上接收他们的代币。disembark()
交易的哈希值必须等于批处理中的哈希值。
如果存在欺诈交易(例如黑客),所有者可以取消单笔交易,这样它就不会被执行。jettison()
, jettisonGroup()
, removeBatches()。
所有者可以手动管理合约中的代币,并必须确保有足够的资金。
调整的 ERC-20 合约代表FRAX稳定币
https://docs.openzeppelin.com/contracts/2.x/api/token/erc20#ERC20
https://docs.openzeppelin.com/contracts/3.x/api/access#AccessControl
枚举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
。
抵押品比率暂停时使用的常数。
抵押品比率是否暂停。
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和池地址。
区块链 | 地址 |
---|---|
Name | Address |
---|---|
区块链 | 地址 |
---|---|
Arbitrum
0x9d2F299715D94d8A7E6F5eaa8E654E8c74a988A7
Aurora
0xBb8831701E68B99616bF940b7DafBeb4CDb23e0b
Avalanche
0x214DB107654fF987AD859F34125307783fC8e387
Boba
0xae8871A949F255B12704A98c00C2293354a36013
BSC
0xe48A3d7d0Bc88d552f730B62c006bC925eadB9eE
Ethereum
0x3432B6A60D23Ca0dFCa7761B7ab56459D9C964D0
Fantom
0x7d016eec9c25232b01F23EF992D98ca97fc2AF5a
Harmony
0x0767D8E1b05eFA8d6A301a65b324B6b66A1CC14c
Moonbeam
0x2CC0A9D8047A5011dEfe85328a6f26968C8aaA1C
Moonriver
0x6f1D1Ee50846Fcbc3de91723E61cb68CFa6D0E98
Optimism
0x67CCEA5bb16181E7b4109c9c2143c24a1c2205Be
Polygon
0x1a3acf6D19267E2d3e7f898f42803e90C9219062
Solana
6LX8BhMQ4Sy2otmAWj7Y5sKd9YTVVUgfMsBzT6B9W7ct
Community
0x63278bF9AcdFC9fA65CFa2940b89A34ADfbCb4A1
Team
0x8D4392F55bC76A046E443eb3bab99887F4366BB0
Investors
0xa95f86fE0409030136D6b82491822B3D70F890b3
Treasury
0x9AA7Db8E488eE3ffCC9CdFD4f2EaECC8ABeDCB48
Advisors
0x874a873e4891fB760EdFDae0D26cA2c00922C404
Comptroller
0xB1748C79709f4Ba2Dd82834B8c82D4a505003f27
Arbitrum
0x17FC002b466eEc40DaE837Fc4bE5c67993ddBd6F
Avalanche
0xD24C2Ad096400B6FBcd2ad8B24E7acBc21A1da64
BSC
0x90C97F71E18723b0Cf0dfa30ee176Ab653E89F40
Ethereum
0x853d955aCEf822Db058eb8505911ED77F175b99e
Fantom
0xdc301622e621166BD8E82f2cA0A26c13Ad0BE355
Harmony
0xFa7191D292d5633f702B0bd7E3E3BcCC0e633200
Moonriver
0x1A93B23281CC1CDE4C4741353F3064709A16197d
Polygon
0x45c32fA6DF82ead1e2EF74d17b76547EDdFaFF89
Solana
FR87nWEUxVgerFGhZM8Y4AggKGLnaXswr1Pd8wZ4kZcp