将闲置抵押物和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内交换的平方根操作,从而有助于防止舍入错误。
所有价格都以一个实体与另一个实体之间的比率存在。通常,我们选择一种货币作为分母中的共享记账单位(例如美元)来比较日常商品和服务的价格。在Uniswap中,价格是由储备数量 与池中储备 的比例来定义的。
Uniswap v3的区间订单机制符合现有的恒定乘积做市公式(CPMM),通过在特定的价格点或 tick
“虚拟化”储备。通过指定流动性头寸以哪个位置为界限,就可以创建遵循恒定乘积不变式的区间订单,而不必将流动性分散到特定资产的整个范围内。
Uniswap v3中的价格由值1.0001
到tick 值 。 tick价格的边界可以用代数群 表示。这种机制允许简单地将整数转换为价格边界,并且方便地将每个价格边界分离为价格的一个基点(0.01%)。
虚拟储备是通过跟踪每个头寸的流动性和刻度界限来跟踪的。越过一个tick边界,该tick可用的流动性 可能会改变,以反映进入和离开各自的价格区间的头寸。在tick边界内,掉期根据虚拟储备改变价格 ,即它就像恒定乘积()不变量一样。虚拟储备 x
和 y
可以由流动性和价格计算:
流动性可以被认为是CPMM 中的一个虚拟 ,而 对应于资产的数量 以及 代表了tick内的价格滑点。
由于 针对intra-tick是固定的, 和 可以从流动性和平方根的价格计算得出。当跨越一个刻度时,交易滑点必须只滑到 边界,然后重新调整可用于下一个刻度的流动性。