Skip to content
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

Closed
wants to merge 18 commits into from

Conversation

jinmel
Copy link

@jinmel jinmel commented Jun 8, 2024

Description

The interop deploy script aims to enable modular deployments of L2 possible. As stated in #10608, this PR achieves:

  • per-chain deploy configuration by each devnet
  • per-chain l1-allocs but unified L1 genesis

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

  • Fixes #[Link to Issue]

 - Deploy script for multiple L2 chains in devnet
 - resolves ethereum-optimism#10608
@jinmel jinmel requested a review from a team as a code owner June 8, 2024 07:26
@jinmel jinmel requested a review from refcell June 8, 2024 07:26
@jinmel jinmel marked this pull request as draft June 8, 2024 07:27
@tynes
Copy link
Contributor

tynes commented Jun 10, 2024

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

@jinmel
Copy link
Author

jinmel commented Jun 10, 2024

@tynes that is really nice set of vm funcs i didn't know. thanks for your advice

@jinmel jinmel changed the title Interop deployer script [WIP] Interop deployer script Jun 19, 2024
@jinmel jinmel changed the title [WIP] Interop deployer script interop: devnet InteropDeployer script Jun 20, 2024
@jinmel jinmel marked this pull request as ready for review June 20, 2024 13:58
@jinmel jinmel requested a review from a team as a code owner June 20, 2024 13:58
jinmel added 3 commits June 21, 2024 16:59
@jinmel
Copy link
Author

jinmel commented Jun 25, 2024

@tynes I am seeing the implementation of L1 contracts being equal across rollups, and their proxies are different. Is this intented?

@tynes
Copy link
Contributor

tynes commented Jun 25, 2024

Yes this is intended! It was designed this way, to enable many chains to use the same implementations to make upgrades cheaper

@tynes
Copy link
Contributor

tynes commented Jun 25, 2024

Need to try this out locally before approving but super appreciate the help here! Is it working locally for you?

@jinmel
Copy link
Author

jinmel commented Jun 27, 2024

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

Copy link
Contributor

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.

@github-actions github-actions bot added the Stale label Jul 12, 2024
Copy link

codecov bot commented Jul 12, 2024

Codecov Report

All modified and coverable lines are covered by tests ✅

Project coverage is 60.37%. Comparing base (06fa881) to head (8062943).
Report is 311 commits behind head on develop.

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           
Flag Coverage Δ
cannon-go-tests 80.62% <ø> (ø)
chain-mon-tests 27.14% <ø> (ø)
sdk-tests 16.44% <ø> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.

Copy link
Contributor

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.

@github-actions github-actions bot added Stale and removed Stale labels Jul 28, 2024
This was referenced Aug 1, 2024
Copy link
Contributor

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.

@github-actions github-actions bot added the Stale label Aug 12, 2024
@github-actions github-actions bot closed this Aug 18, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Modularize ops-bedrock devnet
2 participants