Requires checking out the Uniswap Periphery: https://github.com/1Hive/uniswap-v2-periphery
- Install dependencies in both this repo and the periphery repo:
$ yarn install
- Copy private key that contains xDAI into this repo and the the periphery repo's
truffle-config.js
where specified.
-
Update the
FEE_TO_SETTER_ADDRESS
in themigrations/2_deploy.js
file if required. -
Deploy to xDAI:
$ npx truffle migrate --network xdai
- Get the
init code hash
:
$ npx truffle exec scripts/getUniswapV2PairBytecode.js
-
Copy the previously output
UniswapV2Factory
address to theFACTORY_ADDRESS
in themigrations/2_deploy.js
file. -
Update the
WRAPPED_ETH
address in themigrations/2_deploy.js
file if required. -
Copy the
init code hash
previously output tocontracts/libraries/UniswapV2Library.sol
at line 24. -
Deploy to xDAI:
$ npx truffle migrate --network xdai
Note it seems xdai doesn't currently impose the contract size limit of 24576 bytes so we can enable 10000 optimizer runs making individual transaction executions cheaper. There's a chance xdai will introduce the limit in future in which case the current optimizer runs will need to be reduced. The current size of the UniswapV2Router02 is 26887 bytes.