Uniswap V3源码阅读(1)

UniswapV3PoolDeployer 源码阅读

UniswapV3PoolDeployer

1、变量

Parameters public override parameters;

image.png factory:本合约的地址(Factory合约继承了Deployer合约,其实就是address(this)) token0:币种0地址 token1:币种1地址 fee:当前仅支持 500、3000、10000 三个参数,分别代表手续费率 万5、千3、百1 tickSpacing:粒度控制参数,越小代表质押流动性时可选择的价格粒度越细,目前仅支持 10、60、200三个参数,分别对应上述三个手续费参数,也就是手续费越低、粒度越细。这三个参数也代表了你提供流动性时最极端情况的覆盖范围,可以用 1.0001 ** x来计算。10对应了最小的流动性范围也要覆盖千1的价格变动。同样最小的流动性范围也对应了最大的资金利用效率,官方给出的4000倍资金利用率,就是在 tickSpacing=10 的情况下,提供一个最小单位的流动性,大概资金利用率为4000倍。

2、方法

deploy image.png

(1)入参

同 Parameters 结构体内的参数

(2)返回

返回部署好的 UniV3Pool 合约地址

(3)代码解释

第一步,将参数写入 parameters 变量 在Pool合约 的 constructor 中,会回调 Deploy合约,读取parameters 内的内容

第二步,用Create2的方法 部署 UniswapV3Pool 合约 通过 盐值的方式 可以确定部署合约的地址

第三步,清空 parameters 变量 清空变量,可以得到15000Gas的退款

  • 发表于 2021-08-27 12:05
  • 阅读 ( 553 )
  • 学分 ( 5 )
  • 分类:Uniswap

0 条评论

请先 登录 后评论
moraceae
moraceae

智能合约工程师

1 篇文章, 17 学分