Files
tycho-execution/foundry/scripts/README.md
Diana Carvalho 34563c3eb7 feat: Deploy on mainnet
Also update executors.json with uniswap v2 address on mainnet

--- don't change below this line ---
ENG-4101 Took 22 minutes


Took 7 seconds
2025-02-26 09:49:00 +00:00

1.6 KiB

How to deploy

  • Install dependencies npm install
  • cd foundry

Deploy on a Tenderly fork

  1. Make a new fork in tenderly dashboard.
  2. Set the following environment variables:
export RPC_URL=<fork-rpc-from-tenderly>
export DEPLOY_WALLET=<wallet-address>
export PRIVATE_KEY=<private-key>
  1. Fund wallet: npx hardhat run scripts/fund-wallet-tenderly-fork.js --network tenderly

Deploy on mainnet

  1. 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

  1. Deploy router: npx hardhat run scripts/deploy-router.js --network tenderly/mainnet
  2. Define the accounts to grant roles to in scripts/roles.json
  3. Export the router address to the environment variable export ROUTER=<router-address>
  4. Grant roles: npx hardhat run scripts/set-roles.js --network tenderly/mainnet
  5. 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

  1. In scripts/deploy-executors.js define the executors to be deployed
  2. Deploy executors: npx hardhat run scripts/deploy-executors.js --network tenderly/mainnet
  3. Fill in the executor addresses in scripts/executors.json