-
Notifications
You must be signed in to change notification settings - Fork 3.4k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
interop: devnet InteropDeployer script #10777
Conversation
- Deploy script for multiple L2 chains in devnet - resolves ethereum-optimism#10608
Appreciate the PR @jinmel! It is going to be difficult to maintain this diff as its a big copy/paste of a lot of code, we can reduce the diff with the following pattern: contract InteropDeployer {
function run() public {
uint256 id = vm.snapshot();
vm.setEnv("", vm.envOr("", "")); // for each config value
Deployer.setUp();
Deployer.runWithStateDump();
vm.revert(id);
vm.setEnv("", vm.envOr("", "")); // for each config value
Deployer.runWithStateDump();
vm.loadAllocs("path-to-first-output.json");
vm.loadAllocs("path-to-second-output.json");
vm.dumpState("final-output.json");
}
} This pseudocode isn't exhaustive, but we should be able to use the deploy script directly instead of making a new script with the same functionality |
@tynes that is really nice set of vm funcs i didn't know. thanks for your advice |
- Reuse the same docker image as default rollup for all interop services
@tynes I am seeing the implementation of L1 contracts being equal across rollups, and their proxies are different. Is this intented? |
Yes this is intended! It was designed this way, to enable many chains to use the same implementations to make upgrades cheaper |
Need to try this out locally before approving but super appreciate the help here! Is it working locally for you? |
@tynes I am currently debugging why op-batcher is not working for first rollup. It exits immediately after printing execution reverted, which seems to be an issue related to some underlying contracts. I have confirmed that the DisputeGameFactoryProxy addresses are different for each rollups, so it must be either I messed up somewhere in other configurations. |
This PR is stale because it has been open 14 days with no activity. Remove stale label or comment or this will be closed in 5 days. |
Codecov ReportAll modified and coverable lines are covered by tests ✅
Additional details and impacted files@@ Coverage Diff @@
## develop #10777 +/- ##
========================================
Coverage 60.37% 60.37%
========================================
Files 19 19
Lines 1696 1696
Branches 71 71
========================================
Hits 1024 1024
Misses 640 640
Partials 32 32
Flags with carried forward coverage won't be shown. Click here to find out more. |
This PR is stale because it has been open 14 days with no activity. Remove stale label or comment or this will be closed in 5 days. |
This PR is stale because it has been open 14 days with no activity. Remove stale label or comment or this will be closed in 5 days. |
Description
The interop deploy script aims to enable modular deployments of L2 possible. As stated in #10608, this PR achieves:
Tests
Please describe any tests you've added. If you've added no tests, or left important behavior untested, please explain why not.
Additional context
Since there are many tech debts in the deploy script from the CI/CD, e2e integration test dependencies, interop deploy script extends the current deploy script, where the interop chain shares the superchain configuration.
Metadata