如何在合约中集成 Uniswap v3
uniswap V3的核心是在一定区间提供流动性。相对V2,代码复杂度增加不少。整个代码主要分为两部分:核心逻辑和辅助功能。核心逻辑又分为两部分:交易池以及Position的管理和Swap功能逻辑。交易池中的每个Position设计并实现成ERC721的Token。Swap核心逻辑在Tick以及Position的管理的基础上实现。
uniswap V3版本核心思想是流动性集中。流动性提供者可以在某个区间提供流动性,提高资金使用率。在某个区间获取的交易费,由所有在该区间的流动性提供者均分。uniswap V3设计了区间粒度-Tick,并且推导了流动性添加/删除以及费用计算的过程。在之基础上,uniswap V3也更新了价格预言机的实现。
Uniswap V3 主要更新点:1. 分不同价格阶段提供流动性, 2. 提供多个收费层级 3. 单边提供流动性 4. 高级预言机
交易价格的计算有两种类型:一种是给定X(token)的数量,计算能买到的Y(token)的数量(Input);一种是给定Y的数量,计算需要的X数量(Output)。
Uniswap V2提供了简洁的x-y-k自动做市商实现。代码主要由两部分组成:Core实现某个交易的Pair的管理逻辑,Periphery实现路由,即一个或者多个交易对的兑换逻辑。理解增加/抽取流动性以及swap操作,需要结合两部分一起看。核心是在Pair中管理了reserve和total supply。所有提供的流动性都以流动性Token来衡量,所有Token的总和就是total supply。
Uniswap协议采用的是常量乘积做市商模型,又称为“恒定乘积做市商模型“。
扫一扫 - 使用登链小程序
379 篇文章,1131 学分
67 篇文章,487 学分
209 篇文章,382 学分
116 篇文章,327 学分
70 篇文章,239 学分