optimism icon indicating copy to clipboard operation
optimism copied to clipboard

[backports] op-deployer: Support custom OPCM (#15623)

Open bitwiseguy opened this issue 5 months ago • 1 comments

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

bitwiseguy avatar Jun 15 '25 18:06 bitwiseguy

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

Files with missing lines Patch % Lines
op-chain-ops/script/deploy.go 84.81% 18 Missing and 6 partials :warning:
op-deployer/pkg/deployer/pipeline/init.go 64.10% 9 Missing and 5 partials :warning:
op-chain-ops/script/cheatcodes_environment.go 0.00% 9 Missing :warning:
op-deployer/pkg/deployer/state/intent.go 72.72% 6 Missing and 3 partials :warning:
op-chain-ops/script/script.go 93.47% 3 Missing :warning:
op-deployer/pkg/env/host.go 82.35% 2 Missing and 1 partial :warning:
op-chain-ops/script/evm.go 88.88% 2 Missing :warning:
...er/pkg/deployer/opcm/read_superchain_deployment.go 0.00% 2 Missing :warning:
op-chain-ops/script/abi.go 98.80% 1 Missing :warning:
op-chain-ops/script/prank.go 50.00% 1 Missing :warning:
... and 3 more
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

... and 70 files with indirect coverage changes

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

codecov[bot] avatar Jun 15 '25 18:06 codecov[bot]

do we need absolutely all these changes?

mslipper avatar Jun 18 '25 20:06 mslipper

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

bitwiseguy avatar Jun 20 '25 15:06 bitwiseguy

closing in favor of https://github.com/ethereum-optimism/optimism/pull/16546

mslipper avatar Jun 25 '25 17:06 mslipper