部署UniswapV2
选择Foundry本地测试网
添加获取INIT_CODE的代码
在UniswapV2Factory.sol
合约中添加以下代码用来获取INIT_CODE
,然后切换编译器版本为0.5.16
,编译合约后直接部署即可。
1 | bytes32 public constant INIT_CODE_PAIR_HASH = keccak256(abi.encodePacked(type(UniswapV2Pair).creationCode)); |
获取INIT_CODE
部署好UniswapV2Factory
合约后,调用获取INIT_CODE
的值。
替换INIT_CODE
找到v2-periphery
下的UniswapV2Library.sol
文件,搜索hex
,修改pairFor
函数中对应的哈希值。
部署WETH以及router合约
在Foundry测试文件中如何调用合约?
使用 vm.createSelectFork("http://127.0.0.1:8545");
连接到本地测试网,即可直接用刚刚部署好的合约地址调用合约。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 Hoshino Bunny‘s Blog!