您当前的位置: 首页 > 

MateZero

暂无认证

  • 1浏览

    0关注

    92博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

UniswapV2周边合约学习(四)-- UniswapV2Migrator.sol

MateZero 发布时间:2020-10-21 22:13:12 ,浏览量:1

记得朋友圈看到过一句话,如果Defi是以太坊的皇冠,那么Uniswap就是这顶皇冠中的明珠。Uniswap目前已经是V2版本,相对V1,它的功能更加全面优化,然而其合约源码却并不复杂。本文为个人学习UniswapV2源码的系列记录文章。

一、Migrator合约介绍

在上一次学习完了Router合约后,UniswapV2核心合约及周边合约的主要部分就已经学习完了,目前就只剩下一些应用示例了。Migrator合约用来将某个交易对的流动性从V1版本迁移到V2版本。其实它也可以算为应用示例的一部分,但作为一种官方实现,并没有放在examples目录。

因为UniswapV1版本的交易对为ETH/ERC20交易对,所以迁移到V2版本必然为WETH/ERC20交易对。在上一次学习中提到,Router合约有一个addLiquidityETH方法就是用来处理提供流动性时一种资产为ETH的。

因此,这个迁移的过程就很清晰了:从V1版本移除流动性,得到ETH和WETH;再调用Router合约的addLiquidityETH方法向V2版本添加流动性(注意,如果V2版本的交易对不存在,会自动创建哟)。最后,如果其中有一种资产有多余(最多一种多余),则退还给流动性提供者(调用者)。

二、合约源码
pragma solidity 
关注
打赏
1648304347
查看更多评论
立即登录/注册

微信扫码登录

0.0418s