ethereum-optimism / ethereum-optimism/optimism

OPCM L2: Make interop contracts compatible with OPCM L2 deployment

Open
#19,406 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

H-interop
Dominant language
Go
Stars
6.5k
Forks
4k
Avg merge
2d 18h
Merged PRs (30d)
134

Description

Context

OPCM L2 currently only supports deploying contracts on all chains at once. The interop contracts (CrossL2Inbox, L2ToL2CrossDomainMessenger, etc.) may need to be modified to be OPCM L2 compatible so they can be deployed through the standard OPCM L2 flow.

Problem

Since OPCM L2 deploys to all chains, the interop contracts need to handle being present on chains that may not have interop activated yet. This means we may need to:

  • Ensure interop contracts are safe to deploy on all chains (inert/no-op when interop is not enabled)
  • Make the contracts compatible with OPCM L2's deployment patterns
  • Consider how interop activation interacts with the OPCM L2 upgrade path

Questions to resolve

  • What changes are needed to make the interop contracts OPCM L2 compatible?
  • Should the contracts be inert (reverting or no-op) until interop is explicitly activated on a given chain?
  • How should interop activation be gated when the contracts are deployed everywhere via OPCM L2?
    • SystemConfig flag (enable/disable at runtime)
    • Some other mechanism
  • What are the implications for chains that may never enable interop but will have these contracts deployed?

Motivation

OPCM L2 is the standard deployment mechanism going forward. Making interop contracts compatible with OPCM L2 ensures a smooth upgrade path and simplifies the deployment process across all chains.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

No files or tests are named. Start by tracing the interop contracts and the OPCM L2 deployment flow, then resolve how activation is gated across chains. Done means a defined behavior for inactive chains and a compatible upgrade path.

Written by the indexing model from the issue text.

Assessment

Domain
blockchain
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.