Also update executors.json with uniswap v2 address on mainnet --- don't change below this line --- ENG-4101 Took 22 minutes Took 7 seconds
How to deploy
- Install dependencies
npm install cd foundry
Deploy on a Tenderly fork
- Make a new fork in tenderly dashboard.
- Set the following environment variables:
export RPC_URL=<fork-rpc-from-tenderly>
export DEPLOY_WALLET=<wallet-address>
export PRIVATE_KEY=<private-key>
- Fund wallet:
npx hardhat run scripts/fund-wallet-tenderly-fork.js --network tenderly
Deploy on mainnet
- Set the following environment variables:
export RPC_URL=<mainnet-rpc-url>
export DEPLOY_WALLET=<wallet-address>
export PRIVATE_KEY=<private-key>
Make sure to run unset HISTFILE in your terminal before setting the private key. This will prevent the private key
from being stored in the shell history.
Deploy Tycho Router
- Deploy router:
npx hardhat run scripts/deploy-router.js --network tenderly/mainnet - Define the accounts to grant roles to in
scripts/roles.json - Export the router address to the environment variable
export ROUTER=<router-address> - Grant roles:
npx hardhat run scripts/set-roles.js --network tenderly/mainnet - Set executors:
npx hardhat run scripts/set-executors.js --network tenderly/mainnet. Make sure you change the DEPLOY_WALLET to the executor deployer wallet. If you need to deploy executors, follow the instructions below.
Deploy executors
- In
scripts/deploy-executors.jsdefine the executors to be deployed - Deploy executors:
npx hardhat run scripts/deploy-executors.js --network tenderly/mainnet - Fill in the executor addresses in
scripts/executors.json