op-interop-filter: Service skeleton with flags and metrics#18456
Merged
karlfloersch merged 6 commits intodevelopfrom Dec 11, 2025
Merged
op-interop-filter: Service skeleton with flags and metrics#18456karlfloersch merged 6 commits intodevelopfrom
karlfloersch merged 6 commits intodevelopfrom
Conversation
Wiz Scan Summary
To detect these findings earlier in the dev lifecycle, try using Wiz Code VS Code Extension. |
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## develop #18456 +/- ##
===========================================
+ Coverage 75.31% 76.01% +0.70%
===========================================
Files 187 132 -55
Lines 11199 7168 -4031
===========================================
- Hits 8434 5449 -2985
+ Misses 2621 1719 -902
+ Partials 144 0 -144
Flags with carried forward coverage won't be shown. Click here to find out more. 🚀 New features to boost your workflow:
|
pcw109550
reviewed
Dec 2, 2025
9e5619b to
c602e80
Compare
pcw109550
approved these changes
Dec 5, 2025
pcw109550
reviewed
Dec 5, 2025
e1df86c to
b13c52b
Compare
* feat(op-interop-filter): add service skeleton Add op-interop-filter service scaffolding: **Core structure:** - flags/flags.go: CLI flag definitions with L2 RPC parsing - flags/flags_test.go: Unit tests for flag parsing - filter/config.go: Configuration struct and parsing - filter/service.go: Service lifecycle management - filter/frontend.go: RPC handlers (supervisor and admin) - filter/backend.go: Stub backend (returns ErrUninitialized) - metrics/metrics.go: Prometheus metrics interface and implementation - cmd/main.go: Application entry point **Build infrastructure:** - justfile and Makefile for building - docker-bake.hcl target - Dockerfile builder and target stages - Dockerfile.dockerignore allowlist entry The service compiles and starts but CheckAccessList returns ErrUninitialized until the actual implementation is added. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com> * refactor(op-interop-filter): align with op-faucet and op-interop-mon patterns - Change --l2-rpcs to StringSliceFlag (query chain ID from RPC) - Remove custom ParseL2RPCs parsing and tests - Add doc subcommand for metrics documentation - Add Document() method to metrics - Fix NewMetrics() to take procName parameter - Remove Required: true from flag (use CheckRequired only) - Use "message" key in log.Crit for consistency 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com> * fix(op-interop-filter): use v0.0.0 version to match other services 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com> --------- Co-authored-by: opsuperchain <opsuperchain@slop.bot> Co-authored-by: Claude <noreply@anthropic.com>
…fix JWT auth * op-interop-filter: Address PR review comments - Remove comment from .gitignore - Remove 'op-geth' from app description to be client-agnostic - Simplify CheckAccessList error handling to match op-supervisor - Update SetFailsafeEnabled to indicate pending implementation - Add JWT secret flag and wire up authentication for admin RPC * op-interop-filter: Add Rewind admin RPC stub Adds Rewind method to AdminFrontend as a stub for future implementation. This will allow operators to recover from reorg-induced stuck states via manual intervention.
- Fix ObtainJWTSecret to always generate if file is empty (use true) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
Add validation in Config.Check() to ensure a JWT secret path is configured when the admin RPC is enabled. This prevents exposing admin functionality without proper authentication. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
f96a0ac to
42201a2
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
Adds the op-interop-filter service skeleton:
--l2-rpcs(chain ID queried from RPC)checkAccessListdocsubcommand for documentationThis service validates interop executing messages for op-geth/op-reth transaction filtering. Any reorg triggers failsafe which disables all interop transactions.
Tests
Unit tests will be added in the follow-up logic PR. This skeleton PR focuses on service structure.