UniswapV3PoolDeployer 源码阅读
Parameters public override parameters;
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倍。
deploy
同 Parameters 结构体内的参数
返回部署好的 UniV3Pool 合约地址
第一步,将参数写入 parameters 变量 在Pool合约 的 constructor 中,会回调 Deploy合约,读取parameters 内的内容
第二步,用Create2的方法 部署 UniswapV3Pool 合约 通过 盐值的方式 可以确定部署合约的地址
第三步,清空 parameters 变量 清空变量,可以得到15000Gas的退款
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!