ethereum-optimism / ethereum-optimism/optimism
OPCM L2: Make interop contracts compatible with OPCM L2 deployment
Nobody has claimed this yet.
- 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
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- 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