fix: Unify both executor addresses in one file
- Move executor_addresses.json to a top level directory - Delete executors.json - Use the same file for both encoding and setting executors --- don't change below this line --- ENG-4260 Took 19 minutes Took 11 seconds
This commit is contained in:
@@ -15,7 +15,7 @@ libs = ['lib']
|
|||||||
auto_detect_sol = true
|
auto_detect_sol = true
|
||||||
evm_version = 'cancun'
|
evm_version = 'cancun'
|
||||||
optimizer = true
|
optimizer = true
|
||||||
optimizer_runs = 44444444
|
optimizer_runs = 1000
|
||||||
via_ir = true
|
via_ir = true
|
||||||
|
|
||||||
[rpc_endpoints]
|
[rpc_endpoints]
|
||||||
|
|||||||
@@ -9,6 +9,10 @@ module.exports = {
|
|||||||
settings: {
|
settings: {
|
||||||
evmVersion: "cancun",
|
evmVersion: "cancun",
|
||||||
viaIR: true,
|
viaIR: true,
|
||||||
|
optimizer: {
|
||||||
|
enabled: true,
|
||||||
|
runs: 1000,
|
||||||
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
|
||||||
|
|||||||
@@ -43,4 +43,5 @@ from being stored in the shell history.
|
|||||||
|
|
||||||
1. In `scripts/deploy-executors.js` define the executors to be deployed
|
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`
|
2. Deploy executors: `npx hardhat run scripts/deploy-executors.js --network tenderly/mainnet`
|
||||||
3. Fill in the executor addresses in `scripts/executors.json`
|
3. Fill in the executor addresses in `config/executor_addresses.json`. Note that the naming there needs to match the one
|
||||||
|
from tycho-indexer.
|
||||||
|
|||||||
@@ -1,6 +0,0 @@
|
|||||||
[
|
|
||||||
{
|
|
||||||
"name": "UniswapV2Executor",
|
|
||||||
"executor": "0x00C1b81e3C8f6347E69e2DDb90454798A6Be975E"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
@@ -17,15 +17,16 @@ async function main() {
|
|||||||
const TychoRouter = await ethers.getContractFactory("TychoRouter");
|
const TychoRouter = await ethers.getContractFactory("TychoRouter");
|
||||||
const router = TychoRouter.attach(routerAddress);
|
const router = TychoRouter.attach(routerAddress);
|
||||||
|
|
||||||
const executorsFilePath = path.join(__dirname, "executors.json");
|
const executorsFilePath = path.join(__dirname, "../../config/executor_addresses.json");
|
||||||
const executors = JSON.parse(fs.readFileSync(executorsFilePath, "utf8"));
|
const executors = Object.entries(JSON.parse(fs.readFileSync(executorsFilePath, "utf8"))["ethereum"]);
|
||||||
|
|
||||||
|
|
||||||
// Filter out executors that are already set
|
// Filter out executors that are already set
|
||||||
const executorsToSet = [];
|
const executorsToSet = [];
|
||||||
for (const executor of executors) {
|
for (const [name, executor] of executors) {
|
||||||
const isExecutorSet = await router.executors(executor.executor);
|
const isExecutorSet = await router.executors(executor);
|
||||||
if (!isExecutorSet) {
|
if (!isExecutorSet) {
|
||||||
executorsToSet.push(executor);
|
executorsToSet.push({name: name, executor: executor});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -49,7 +50,9 @@ async function main() {
|
|||||||
|
|
||||||
// Set executors
|
// Set executors
|
||||||
const executorAddresses = executorsToSet.map(executor => executor.executor);
|
const executorAddresses = executorsToSet.map(executor => executor.executor);
|
||||||
const tx = await router.setExecutors(executorAddresses);
|
const tx = await router.setExecutors(executorAddresses, {
|
||||||
|
gasLimit: 100000
|
||||||
|
});
|
||||||
await tx.wait(); // Wait for the transaction to be mined
|
await tx.wait(); // Wait for the transaction to be mined
|
||||||
console.log(`Executors set at transaction: ${tx.hash}`);
|
console.log(`Executors set at transaction: ${tx.hash}`);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,7 +1,6 @@
|
|||||||
use std::{collections::HashSet, sync::LazyLock};
|
use std::{collections::HashSet, sync::LazyLock};
|
||||||
|
|
||||||
pub const DEFAULT_EXECUTORS_JSON: &str =
|
pub const DEFAULT_EXECUTORS_JSON: &str = include_str!("../../../config/executor_addresses.json");
|
||||||
include_str!("../../../src/encoding/config/executor_addresses.json");
|
|
||||||
|
|
||||||
/// These protocols support the optimization of grouping swaps.
|
/// These protocols support the optimization of grouping swaps.
|
||||||
///
|
///
|
||||||
|
|||||||
Reference in New Issue
Block a user