[backports] op-deployer: Support custom OPCM (#15623)
Overview
Cherry-picks the following commits for backport into op-deployer/v0.3:
- op-deployer: Improve error behavior
- 2767cb95d199994876c5fb6b39281bb04527876c
- 2025-03-19 00:10:30 +0000
- fix(op-deployer): ManagerImplementationAddrFor handle unproxied opcm
- 8d0ccf4a17e4a2f22126a18dfa82fc34a0423c96
- 2025-03-25 20:17:35 +0000
- chore: Simplify op-deployer scripts: DeploySuperchain [1/N]
- d8ef5002fb5801f32d0757a7f1e136c99508f9ce
- 2025-04-01 15:25:27 +0000
- feat: Simplify op-deployer scripts: Add runtime ABI validation [2/N]
- 7266b118e2589663088c318afd52267b9bd5052d
- 2025-04-01 19:18:59 +0000
- feat: Simplify op-deployer scripts: Type-safe forge script execution [3/N]
- 97fa1b5cd6dd5cbab093e31c2b31c236c1bdb432
- 2025-04-02 04:15:32 +0000
- feat: Simplify op-deployer scripts: DeploySuperchain2 [4/N]
- 90e25a5c7b5b31e1adb7f4f4979bc44d4ded6f44
- 2025-04-02 23:19:32 +0000
- op-deployer: Support custom OPCM
- 5a258d8d09a47689f7ab151056ed25a6fff532d5
- 2025-04-30 16:37:37 +0000
- op-deployer: Fix intent validation with pre-deployed OPCM
- b1c9cd150bb18139c189eb7aa2960ca6aebd1976
- 2025-05-06 14:33:36 +0000
Related Issues
- Progress on https://github.com/ethereum-optimism/platforms-team/issues/876
Codecov Report
Attention: Patch coverage is 83.25472% with 71 lines in your changes missing coverage. Please review.
Project coverage is 45.25%. Comparing base (
06265e0) to head (3bb233a).
Additional details and impacted files
@@ Coverage Diff @@
## backports/op-deployer/v0.3.0 #16430 +/- ##
================================================================
- Coverage 46.13% 45.25% -0.88%
================================================================
Files 1046 992 -54
Lines 90600 86241 -4359
================================================================
- Hits 41795 39026 -2769
+ Misses 45706 44279 -1427
+ Partials 3099 2936 -163
| Flag | Coverage Δ | |
|---|---|---|
| cannon-go-tests-32 | ? |
|
| cannon-go-tests-64 | ? |
|
| contracts-bedrock-tests | 94.29% <ø> (ø) |
Flags with carried forward coverage won't be shown. Click here to find out more.
| Files with missing lines | Coverage Δ | |
|---|---|---|
| op-deployer/pkg/deployer/opcm/superchain2.go | 100.00% <100.00%> (ø) |
|
| op-deployer/pkg/deployer/state/chain_intent.go | 82.35% <ø> (ø) |
|
| op-deployer/pkg/deployer/state/state.go | 0.00% <ø> (ø) |
|
| op-chain-ops/script/abi.go | 98.80% <98.80%> (ø) |
|
| op-chain-ops/script/prank.go | 48.38% <50.00%> (ø) |
|
| ...-deployer/pkg/deployer/pipeline/implementations.go | 0.00% <0.00%> (ø) |
|
| op-deployer/pkg/deployer/pipeline/superchain.go | 0.00% <0.00%> (ø) |
|
| op-deployer/pkg/deployer/standard/standard.go | 59.48% <91.66%> (+16.89%) |
:arrow_up: |
| op-chain-ops/script/evm.go | 88.88% <88.88%> (ø) |
|
| ...er/pkg/deployer/opcm/read_superchain_deployment.go | 0.00% <0.00%> (ø) |
|
| ... and 6 more |
:rocket: New features to boost your workflow:
- :snowflake: Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
- :package: JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.
do we need absolutely all these changes?
do we need absolutely all these changes?
If we want to use the cherry-pick method with minimal/no manual modifications for backporting, then all of these commits are required to make everything compatible. The biggest challenge was getting all the commits needed for opcm.NewReadSuperchainDeploymentScript to run (it uses the updated solidity script go functions). Alternatively, we could try reimplementing that solidity script via go rpc calls and then wouldn't need several of the cherry-picked commits
closing in favor of https://github.com/ethereum-optimism/optimism/pull/16546