Uniswap v3
将闲置抵押物和Frax部署到Uni v3 稳定币池子
Uniswap v3的AMM算法的关键创新允许做市商在特定价格区间之间部署流动性,支持稳定币对稳定币池子(例如FRAX-USDC)在紧紧锚定的情况下积累极深的流动性。与Uniswap v2相比,Uniswap v3的区间订单集中了流动性,而不是分散在无限的价格范围内。

Taken from the Uniswap v3 whitepaper
Uniswap v3流动性AMO通过向其他稳定币提供针对FRAX的流动性,使FRAX和抵押品发挥作用。由于AMO能够进入Uni v3上的任何位置并铸造FRAX,因此它允许扩展到Uni v3上的任何其他稳定币以及后续的不稳定抵押品。此外,可以定期调用
collectFees()
函数,将AMO利润分配给超额抵押品的市场操作。- 1.减少抵押 — 将闲置抵押资产和新铸造的FRAX存入到Uni v3 池子。
- 2.市场操作 — 累积Uni v3交易费用和抵押品类型之间的互换。
- 3.再抵押 — 从Uni v3池子中取出并燃烧FRAX并返还USDC以增加抵押率。
- 4.FXS1559 — 在抵 押率之上积累每日交易费用

A diagram showing range-order virtualized reserves using the constant-product invariant
所有价格都以一个实体与另一个实体之间的比率存在。通常,我们选择一种货币作为分母中的共享记账单位(例如美元)来比较日常商品和服务的价格。在Uniswap中,价格是由储备数量
与池中储备
的比例来定义的。
Uniswap v3的区间订单机制符合现有的恒定乘积做市公式(CPMM),通过在特定的价格点或
tick
“虚拟化”储备。通过指定流动性头寸以哪个位置为界限,就可以创建遵循恒定乘积不变式的区间订单,而不必将流动性分散到特定资产的整个范围内。
Uniswap v3中的价格由值
1.0001
到tick 值 。 tick价格的边界可以用代数群
表示。这种机制允许简单地将整数转换为价格边界,并且方便地将每个价格边界分离为价格的一个基点(0.01%)。

Defining price in terms of ticks
虚拟储备是通过跟踪每个头寸的流动性和刻度界限来跟踪的。越过一个tick边界,该tick可用的流动性
可能会改变,以反映进入和离开各自的价格区间的头寸。在tick边界内,掉期根据虚拟储备改变价格
,即它就像恒定乘积(
)不变量一样。虚拟储备
x
和 y
可以由流动性和价格计算:
L: Liquidity; P: Price; x, y: reserves of X and Y
请注意,实际实现使用价格的平方根,因为它节省了计算tick内交换的平方根操作,从而有助于防止舍入错误。

Converting price to square root of ticks
流动性可以被认为是CPMM
中的一个虚拟
,而
对应于资产的数量
以及
代表了tick内的价格滑点。

Describing the relationship between liquidity, price, and the amount of one asset swapped
由于
针对intra-tick是固定的,
和
可以从流动性和平方根的价格计算得出。当跨越一个刻度时,交易滑点必须只滑到
边界,然后重新调整可用于下一个刻度的流动性。
Uniswap v3 流动性 AMO (stable-stable) 合约部署在:
0x3814307b86b54b1d8e7B2Ac34662De9125F8f4E6