因此,对于任意范围,我们都可以使用上面的公式来计算secondsPerLiquidityInside该范围。Uniswap v3会为你执行此计算,并通过便捷snapshotCumulativesInside 函数公开结果。 当用户解押时,解押合约可以简单地对此secondsPerLiquidityInside进行快照。当他们以后解押时,解押合约会查看新合约secondsPerLiquidityInside,取其差额,并将其乘以 R·l ,以获得该时期内该头寸赚取的总奖励。 妥协 我们确实需要根据新系统的技术局限性作出一些妥协: 模糊的截止时间:无法在激励结束的确切时刻自动快照所有accumulators。截止后,合约不能完全区分截止前存入的流动性和之后存入的流动性。为了适应这一点,合约可以对激励结束后解押的人的奖励率进行衰减处理。想要锁定确切奖励率的人需要在此之前解押。·非质押(Unstaked)的流动性:该算法使用核心合约中的活跃流动性总量,这可能高于总质押的流动性。非质押的流动性仍将被分配一部分奖励,就像它已被质押但未被领取一样。激励措施的创建者可以指定一个认领期限,在此期限之后他们可以收回所有无人认领的奖励。结论 Uniswap v3并没“破坏”流动性挖矿,而是为其开辟了广阔的设计空间。尽管这篇文章描述了一种在Uniswap v3之上实现“经典”流动性挖矿的算法,但我认为谈得还是太浅了。如白皮书第6.3节所述,Uniswap v3核心合约公开了其他几个索引(例如secondsOutside和tickCumulativeOutside)。我期待看到协议是如何利用这些新功能的。 在以后的文章中,我将解决关于Uniswap v3头寸的另一个普遍关注的问题:贷款协议如何将其用作抵押品。 (责任编辑:admin) |