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
This commit is contained in:
Diana Carvalho
2025-02-24 17:45:25 +00:00
parent 02a9da183e
commit 34563c3eb7
7 changed files with 39 additions and 34 deletions

View File

@@ -14,7 +14,11 @@ module.exports = {
networks: {
tenderly: {
url: process.env.TENDERLY_RPC_URL,
url: process.env.RPC_URL,
accounts: [process.env.PRIVATE_KEY]
},
mainnet: {
url: process.env.RPC_URL,
accounts: [process.env.PRIVATE_KEY]
}
},

View File

@@ -1,6 +1,7 @@
# How to deploy
- Install dependencies `npm install`
- `cd foundry`
## Deploy on a Tenderly fork
@@ -8,24 +9,38 @@
2. Set the following environment variables:
```
export TENDERLY_RPC_URL=<fork-rpc-from-tenderly>
export RPC_URL=<fork-rpc-from-tenderly>
export DEPLOY_WALLET=<wallet-address>
export PRIVATE_KEY=<private-key>
```
3. Fund wallet: `npx hardhat run scripts/fund-wallet-tenderly-fork.js --network tenderly`
### Deploy Tycho Router
## Deploy on mainnet
1. Deploy router: `npx hardhat run scripts/deploy-router.js --network tenderly`
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`
5. Set executors: `npx hardhat run scripts/set-executors.js --network tenderly`. Make sure you change the DEPLOY_WALLET
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`
2. Deploy executors: `npx hardhat run scripts/deploy-executors.js --network tenderly/mainnet`
3. Fill in the executor addresses in `scripts/executors.json`

View File

@@ -5,9 +5,9 @@ const hre = require("hardhat");
// Comment out the executors you don't want to deploy
const executors_to_deploy = [
{exchange: "UniswapV2Executor", args: []},
{exchange: "UniswapV3Executor", args: ["0x1F98431c8aD98523631AE4a59f267346ea31F984"]},
{exchange: "UniswapV4Executor", args: ["0x000000000004444c5dc75cB358380D2e3dE08A90"]},
{exchange: "BalancerV2Executor", args: []},
// {exchange: "UniswapV3Executor", args: ["0x1F98431c8aD98523631AE4a59f267346ea31F984"]},
// {exchange: "UniswapV4Executor", args: ["0x000000000004444c5dc75cB358380D2e3dE08A90"]},
// {exchange: "BalancerV2Executor", args: []},
]
async function main() {

View File

@@ -1,18 +1,6 @@
[
{
"name": "UniswapV2Executor",
"executor": "0xFF804342b632bd2C210643c005Ef139c0AaeBa0c"
},
{
"name": "UniswapV3Executor",
"executor": "0xb45f428357174C8d9DfB56E7ccf87EDdB8fDa5C6"
},
{
"name": "UniswapV4Executor",
"executor": "0x0E759000F3C1FFEe31ecc56D125EB796151F556E"
},
{
"name": "BalancerV2Executor",
"executor": "0x14702382b81e6d8677321ed904edd6ec3ea7e3dc"
"executor": "0x00C1b81e3C8f6347E69e2DDb90454798A6Be975E"
}
]

View File

@@ -1,17 +1,15 @@
{
"EXECUTOR_SETTER_ROLE": [
"0xcd09f75E2BF2A4d11F3AB23f1389FcC1621c0cc2"
],
"FEE_SETTER_ROLE": [
"0xcd09f75E2BF2A4d11F3AB23f1389FcC1621c0cc2"
"0x58Dc7Bf9eD1f4890A7505D5bE4E4252978eAF655"
],
"FEE_SETTER_ROLE": [],
"PAUSER_ROLE": [
"0xcd09f75E2BF2A4d11F3AB23f1389FcC1621c0cc2"
"0x58Dc7Bf9eD1f4890A7505D5bE4E4252978eAF655"
],
"UNPAUSER_ROLE": [
"0xcd09f75E2BF2A4d11F3AB23f1389FcC1621c0cc2"
"0x58Dc7Bf9eD1f4890A7505D5bE4E4252978eAF655"
],
"FUND_RESCUER_ROLE": [
"0xcd09f75E2BF2A4d11F3AB23f1389FcC1621c0cc2"
"0x58Dc7Bf9eD1f4890A7505D5bE4E4252978eAF655"
]
}