Skip to content

custom op L1 network#439

Merged
antoinedc merged 10 commits intodevelopfrom
custom-op-l1-network
Jan 22, 2026
Merged

custom op L1 network#439
antoinedc merged 10 commits intodevelopfrom
custom-op-l1-network

Conversation

@antoinedc
Copy link
Member

@antoinedc antoinedc commented Jan 20, 2026

CodeAnt-AI Description

Add user-managed custom L1 parent workspaces and inline selection in Orbit/OP setup

What Changed

  • Users can create, list, and delete private "custom L1 parent" workspaces via new API endpoints; creation validates the provided RPC is reachable and prevents duplicate names.
  • When creating Orbit or OP Stack configs you can now: choose a public L1, pick an existing custom L1 parent, or create a new custom L1 inline; frontend shows appropriate fields for creating/selecting custom L1s and requires a separate frontend RPC where needed.
  • Creating a config that references or creates a custom L1 parent will enqueue a background job that ensures a server-side sync process starts for that custom L1; custom L1 parents bypass explorer/subscription checks for starting sync.
  • Custom L1 parents cannot be deleted while they have L2 children; database migration and model additions track and expose public vs. custom L1 parents.
  • UI and client API updated: new methods to fetch/create/delete custom L1 parents and form changes to select or create them; tests added for APIs and the sync job.

Impact

✅ Can create private L1 parents for custom L2s
✅ Configure OP and Orbit chains with private or public L1 parents
✅ Background sync starts automatically for new custom L1 parents

💡 Usage Guide

Checking Your Pull Request

Every time you make a pull request, our system automatically looks through it. We check for security issues, mistakes in how you're setting up your infrastructure, and common code problems. We do this to make sure your changes are solid and won't cause any trouble later.

Talking to CodeAnt AI

Got a question or need a hand with something in your pull request? You can easily get in touch with CodeAnt AI right here. Just type the following in a comment on your pull request, and replace "Your question here" with whatever you want to ask:

@codeant-ai ask: Your question here

This lets you have a chat with CodeAnt AI about your pull request, making it easier to understand and improve your code.

Example

@codeant-ai ask: Can you suggest a safer alternative to storing this secret?

Preserve Org Learnings with CodeAnt

You can record team preferences so CodeAnt AI applies them in future reviews. Reply directly to the specific CodeAnt AI suggestion (in the same thread) and replace "Your feedback here" with your input:

@codeant-ai: Your feedback here

This helps CodeAnt AI learn and adapt to your team's coding style and standards.

Example

@codeant-ai: Do not flag unused imports.

Retrigger review

Ask CodeAnt AI to review the PR again, by typing:

@codeant-ai: review

Check Your Repository Health

To analyze the health of your code repository, visit our dashboard at https://app.codeant.ai. This tool helps you identify potential issues and areas for improvement in your codebase, ensuring your repository maintains high standards of code health.

@codeant-ai
Copy link

codeant-ai bot commented Jan 20, 2026

CodeAnt AI is reviewing your PR.


Thanks for using CodeAnt! 🎉

We're free for open-source projects. if you're enjoying it, help us grow by sharing.

Share on X ·
Reddit ·
LinkedIn

@codeant-ai codeant-ai bot added the size:XXL This PR changes 1000+ lines, ignoring generated files label Jan 20, 2026
@codeant-ai
Copy link

codeant-ai bot commented Jan 20, 2026

CodeAnt AI finished reviewing your PR.

Antoine de Chevigné and others added 2 commits January 20, 2026 18:17
- Add cleanup logic to delete orphaned custom L1 parent if config creation fails
- Add tests for startCustomL1ParentSync job (10 test cases)
- Fix inconsistent error handling (res -> next) in Orbit config endpoint
- Add count method to OrbitChainConfig and OpChainConfig mocks

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Update tests to use parentWorkspaceId for parent chain selection
- Add test for missing parent chain selection error
- Update expected error messages to match new API responses
- Remove unused getCustomL1Parent mock references

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
@codeant-ai
Copy link

codeant-ai bot commented Jan 20, 2026

CodeAnt AI is running Incremental review


Thanks for using CodeAnt! 🎉

We're free for open-source projects. if you're enjoying it, help us grow by sharing.

Share on X ·
Reddit ·
LinkedIn

@codeant-ai codeant-ai bot added size:XXL This PR changes 1000+ lines, ignoring generated files and removed size:XXL This PR changes 1000+ lines, ignoring generated files labels Jan 20, 2026
@codeant-ai
Copy link

codeant-ai bot commented Jan 20, 2026

CodeAnt AI Incremental review completed.

Antoine de Chevigné and others added 7 commits January 20, 2026 19:36
- Add getAvailableL1Parents, createCustomL1Parent, deleteCustomL1Parent to server mock
- Update ExplorerOpSettings tests to use new API methods
- Update ExplorerOrbitSettings snapshots for new form fields
- Fix vitest config to exclude run/ directory (backend tests)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Update snapshots affected by date formatting locale changes.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
The previous commit accidentally used vitest format for Jest snapshots.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Update dt.js to use English locale for relative time formatting
- Update all affected snapshots with consistent English output
- This ensures CI/CD tests pass regardless of local machine locale

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Mock Number.prototype.toLocaleString to always use en-US locale
- Mock Date.prototype.toLocaleString to always use en-US locale
- Update affected snapshots

This ensures consistent snapshot output regardless of local machine locale.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Mock Date.prototype.toLocaleDateString for consistent date formatting
- Increase timeout for ContractReadMethod test (dynamic import is slow)
- Update DateRangeSelector snapshot with consistent US date format
- Write missing ContractReadMethod snapshot

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
@antoinedc antoinedc merged commit fa681ed into develop Jan 22, 2026
8 checks passed
@antoinedc antoinedc deleted the custom-op-l1-network branch January 22, 2026 19:36
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size:XXL This PR changes 1000+ lines, ignoring generated files

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant