Implementation Doc
Purpose
Develop and implement the code in the Optimism monorepo, following the design specifications and invariants defined in the previous steps.
References
Implementation Process
Code Development
- Follow the design specifications and invariants defined in previous documents
- Implement features and fixes in the Optimism monorepo
- Ensure code quality and maintainability
- Document code changes and additions
Testing Requirements
Before submitting PRs, run the following commands:
just pre-pr
: Compile, run snapshots and code checksjust semgrep
: Run semgrep rules over the codejust test
: Run the test suite (L1 and L2)just test-upgrade
: Run L1 test suite after forking and upgrading to the last version (requires RPC URL)
Workflow
- The
develop
branch in the Wonderland repo should remain stable and unchanged - For new work, create a feature branch (e.g.,
sc-feat/<feature>
orsc-fix/<fix>
) - Within this, create further branches (
feat/<X>
,fix/<Y>
) for specific tasks - Open internal PRs targeting the main feature branch
- After all internal PRs are merged, raise an external PR to the
develop
branch of the Optimism repo - CI authorization is required for external PRs:
- Can be authorized by Optimism
- Alternatively, Wonderland team members with push permissions can open PRs directly in the Optimism repo
Collaboration
- Schedule sync review calls with Optimism to:
- Present code changes
- Provide implementation overview
- Facilitate async review process
- Maintain clear communication channels for questions and feedback