针对uniswapV2的逻辑遇到问题,以简易版代码为例

图片.png 在添加流动性时,如果我没有往已存在的币对按它的比例去添加流动性,假设原来A和B的数量是1:2,我现在发送50个A和50个B,那么按合约逻辑来说,我得到的LP是按较小的,即如同我发送25个A和50个B来算的,可是这个函数为什么最后两行还是把我发送的都更新了,这样不会导致A和B不是1:2了吗? 另一个地方,就是移除流动性的时候,同样我拿不回之前白白发送的额外的25个A了。

请先 登录 后评论

最佳答案 2023-11-20 19:22

uniswapV2 添加流动性时,会先计算本次添加流动性实际应提供的tokenA和tokenB的数量,再去transferFrom,因此不存在多收你的币不退回的情况。

请先 登录 后评论

其它 0 个回答

  • 1 关注
  • 0 收藏,600 浏览
  • 0xBEA 提出于 2023-11-19 17:51