记得朋友圈看到过一句话,如果Defi是以太坊的皇冠,那么Uniswap就是这顶皇冠中的明珠。Uniswap目前已经是V2版本,相对V1,它的功能更加全面优化,然而其合约源码却并不复杂。本文为个人学习UniswapV2核心合约源码的系列文章的第二篇。
在上一篇文章中已经学习了UniswapV2核心合约中的第一个源码–合约UniswapV2Factory.sol
的源码。这次我们来学第二个核心合约–UniswapV2ERC20.sol
的源码。它是交易对合约的父合约,主要实现了ERC20代币功能并增加了对线下签名消息进行授权的支持。它除了标准的ERC20接口外还有自己的接口,因此取名为UniswapV2ERC20
。
建议读者在开始学习之前阅读我的另一篇文章:UniswapV2介绍 来对UniswapV2的整体机制有个大致了解,这样更有助于理解源码。
一、合约源码照例先贴出合约源码,该合约也不长,代码只有94行(包括空行):
pragma solidity =0.5.16;
import