fix(op-supernode): error on uninitialized chain sync status#39
Merged
karlfloersch merged 21 commits intodevelopfrom Mar 13, 2026
Merged
fix(op-supernode): error on uninitialized chain sync status#39karlfloersch merged 21 commits intodevelopfrom
karlfloersch merged 21 commits intodevelopfrom
Conversation
Bump all reth dependencies from v1.11.2 to v1.11.3 in the rust workspace, including op-reth crate versions and the Cargo.lock.
* chore(cannon): migrate Makefile to justfile Migrate cannon build targets from Make to Just. The Makefile now delegates to just with a deprecation warning, preserving backwards compatibility for existing make invocations. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * fix(cannon): add missing lint target and include justfiles in Docker context - Add `lint` to DEPRECATED_TARGETS and justfile (CI compatibility stub) - Copy justfiles/ into kona cannon-repro.dockerfile for deprecated.mk shim - Install `just` binary in cannon Docker build for the Make shim Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * fix(cannon): remove [default] attribute for just <1.38 compat The Alpine 3.21 just package is v1.37.0 which doesn't support the [default] attribute. Move cannon recipe to first position instead. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * fix(cannon): include justfiles/ in op-program Docker build context The cannon Makefile deprecated shim requires justfiles/deprecated.mk, which is resolved relative to cannon/ inside the Docker container. The op-program Dockerfile.repro.dockerignore was excluding justfiles/ from the build context, causing the cannon make shim to fail. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * docs(cannon): update README to use just instead of make Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * fix(cannon): call just directly in cannon-repro.dockerfile Instead of going through the deprecated Make shim, invoke just cannon directly in the Docker build. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * fix(cannon): update Dockerfile.diff to use just diff-cannon directly The diff-%-cannon Make pattern target was converted to a parameterized just recipe (just diff-cannon VM). Update the Dockerfile to call just directly instead of through make, which would fail since the deprecated shim doesn't support pattern targets. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * fix(cannon): add diff-%-cannon pattern target to deprecated Makefile Preserves backwards compatibility for make diff-<vm>-cannon invocations (used by Dockerfile.diff and potentially other scripts) by translating the pattern to just diff-cannon <vm>. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * fix: install just via system package manager in Dockerfiles - cannon/Dockerfile.diff: use `apk add just` instead of curl install script, drop unnecessary `make` dependency - cannon-repro.dockerfile: switch cannon-build stage from ubuntu:22.04 to golang:1.23.8-alpine3.21, matching the monorepo's Go builder image, so just can be installed via `apk add` instead of curl install script Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * fix(cannon): bump Go to 1.24.10 in cannon-repro.dockerfile The golang Docker image sets GOTOOLCHAIN=local which prevents automatic toolchain downloading. Since go.mod requires go 1.24.0, the 1.23.8 image fails to build. Match Dockerfile.diff which already uses 1.24.10. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
…-optimism#19508) Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
…optimism#19500) Returns NotEnoughData instead of NewTemporaryError when a span batch is encountered before Delta activation. This drains the channel immediately rather than taking O(N×backoff) cycles. Fixes ethereum-optimism#19493.
…thereum-optimism#19502) Classifies non-critical errors from DeriveSpanBatch (malformed tx type, invalid encoding, etc.) as NotEnoughData so the pipeline drops the batch immediately without backoff. Critical errors (logic errors) still propagate as-is. Fixes ethereum-optimism#19494.
…red after Ecotone (ethereum-optimism#19501) Wraps the "beacon endpoint not configured" error with NewCriticalError so the node stops with a clear fatal error instead of retrying indefinitely on an unrecoverable operator misconfiguration. Fixes ethereum-optimism#19495.
…reum-optimism#19499) * op-node/derive: drop bad channel decompression as NotEnoughData Fixes WriteChannel error classification in ChannelInReader.NextBatch: returns NotEnoughData (immediate continue, no backoff) instead of NewTemporaryError when channel data fails to decompress. Also downgrades the log.Error in WriteChannel to log.Warn since this is bad batcher data, not an infrastructure failure. Fixes ethereum-optimism#19492. * op-node/derive: address review comments
* chore(cannon): migrate Makefile to justfile Migrate cannon build targets from Make to Just. The Makefile now delegates to just with a deprecation warning, preserving backwards compatibility for existing make invocations. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * fix(cannon): add missing lint target and include justfiles in Docker context - Add `lint` to DEPRECATED_TARGETS and justfile (CI compatibility stub) - Copy justfiles/ into kona cannon-repro.dockerfile for deprecated.mk shim - Install `just` binary in cannon Docker build for the Make shim Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * fix(cannon): remove [default] attribute for just <1.38 compat The Alpine 3.21 just package is v1.37.0 which doesn't support the [default] attribute. Move cannon recipe to first position instead. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * fix(cannon): include justfiles/ in op-program Docker build context The cannon Makefile deprecated shim requires justfiles/deprecated.mk, which is resolved relative to cannon/ inside the Docker container. The op-program Dockerfile.repro.dockerignore was excluding justfiles/ from the build context, causing the cannon make shim to fail. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * docs(cannon): update README to use just instead of make Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * fix(cannon): call just directly in cannon-repro.dockerfile Instead of going through the deprecated Make shim, invoke just cannon directly in the Docker build. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * fix(cannon): update Dockerfile.diff to use just diff-cannon directly The diff-%-cannon Make pattern target was converted to a parameterized just recipe (just diff-cannon VM). Update the Dockerfile to call just directly instead of through make, which would fail since the deprecated shim doesn't support pattern targets. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * fix(cannon): add diff-%-cannon pattern target to deprecated Makefile Preserves backwards compatibility for make diff-<vm>-cannon invocations (used by Dockerfile.diff and potentially other scripts) by translating the pattern to just diff-cannon <vm>. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * fix: install just via system package manager in Dockerfiles - cannon/Dockerfile.diff: use `apk add just` instead of curl install script, drop unnecessary `make` dependency - cannon-repro.dockerfile: switch cannon-build stage from ubuntu:22.04 to golang:1.23.8-alpine3.21, matching the monorepo's Go builder image, so just can be installed via `apk add` instead of curl install script Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * fix(cannon): bump Go to 1.24.10 in cannon-repro.dockerfile The golang Docker image sets GOTOOLCHAIN=local which prevents automatic toolchain downloading. Since go.mod requires go 1.24.0, the 1.23.8 image fails to build. Match Dockerfile.diff which already uses 1.24.10. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * chore(op-e2e): migrate Makefile to justfile Migrate op-e2e build targets from Make to Just. The Makefile now delegates to just with a deprecation warning, preserving backwards compatibility for existing make invocations. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * docs(op-e2e): update README to use just instead of make Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * fix(justfiles): pass Make variable overrides as env vars in deprecated shim The deprecated.mk shim was changed to pass JUSTFLAGS as just CLI variable overrides (`just VAR=val target`), but just rejects overrides for variables not declared in the justfile. This broke CI jobs where Make variable assignments propagate through sub-makes (e.g. GO_TEST_FLAGS, GUEST_PROGRAM). Revert to passing them as environment variables via `env`, which is how the shim originally worked in the cannon migration PR. Fixes: go-tests-short, sanitize-op-program CI failures Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * fix(op-e2e): manual shim for gen-binding positional arg The generic deprecated.mk shim converts make variables to env vars, but gen-binding CONTRACT: is a positional parameter in just. Write a manual shim that passes CONTRACT correctly as a positional arg. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
) * docs(op-e2e): update README to use just instead of make Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * fix(justfiles): pass Make variable overrides as env vars in deprecated shim The deprecated.mk shim was changed to pass JUSTFLAGS as just CLI variable overrides (`just VAR=val target`), but just rejects overrides for variables not declared in the justfile. This broke CI jobs where Make variable assignments propagate through sub-makes (e.g. GO_TEST_FLAGS, GUEST_PROGRAM). Revert to passing them as environment variables via `env`, which is how the shim originally worked in the cannon migration PR. Fixes: go-tests-short, sanitize-op-program CI failures Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * chore(op-program): migrate Makefile to justfile Migrate op-program build targets from Make to Just. The Makefile now delegates to just with a deprecation warning, preserving backwards compatibility for existing make invocations. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * fix(op-program): include justfiles/ in Docker contexts for Make shim The Makefile shim includes ../justfiles/deprecated.mk which delegates to just. Docker builds for vmcompat and repro excluded justfiles/ from the build context, causing "No such file or directory" errors in CI. - Add !justfiles/ to both .dockerignore files - Install just in Dockerfile.vmcompat (Dockerfile.repro already has it) Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * ci: re-trigger cannon-prestate build Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * fix(op-program): remove unnecessary MIPS variable overrides from repro.justfile The op-program-client-mips target hardcodes GOOS/GOARCH/GOMIPS64 in its build commands, so passing GOOS=linux GOARCH=mips GOMIPS=softfloat from repro.justfile was always redundant. With the Make-to-just migration, the deprecated.mk shim forwards these as just variables, and just rejects GOMIPS since it's not defined in the justfile. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * docs(op-program): update README to use just instead of make Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * fix(op-program): use just in Dockerfile.vmcompat, restore TODO - Update Dockerfile.vmcompat to call just directly for the analyze target instead of going through the deprecated make shim. - Restore TODO(ethereum-optimism#18334) comment for go1.25 vm-compat support that was dropped during migration. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * fix(op-program): use just instead of make in repro.justfile Convert repro.justfile to call just directly instead of going through make's deprecated shim. GOOS/GOARCH are passed as env vars for cannon (read by go.just), while VERSION/GITCOMMIT/GITDATE are passed as just variable overrides. The op-program mips targets hardcode their own GOOS/GOARCH/GOMIPS so they don't need to be passed. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
* docs(op-e2e): update README to use just instead of make Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * fix(justfiles): pass Make variable overrides as env vars in deprecated shim The deprecated.mk shim was changed to pass JUSTFLAGS as just CLI variable overrides (`just VAR=val target`), but just rejects overrides for variables not declared in the justfile. This broke CI jobs where Make variable assignments propagate through sub-makes (e.g. GO_TEST_FLAGS, GUEST_PROGRAM). Revert to passing them as environment variables via `env`, which is how the shim originally worked in the cannon migration PR. Fixes: go-tests-short, sanitize-op-program CI failures Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * ci: re-trigger cannon-prestate build Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * chore: migrate root Makefile to justfile Migrate root build targets from Make to Just. The Makefile now delegates to just with a deprecation warning, preserving backwards compatibility for existing make invocations. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * docs: update CONTRIBUTING.md to use just instead of make Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * fix: convert make -C calls to just and restore GOPRIVATE comment All subdirectories now have justfiles with deprecated Make shims, so convert remaining make -C calls to cd && just. Also restores the explanatory comment on mod-tidy's GOPRIVATE usage. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * fix: run reproducible-prestate builds in parallel just doesn't parallelize dependencies like make -j does. Use background processes with wait to run op-program and kona prestate builds concurrently. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * fix: use subshell for cd in _go-tests-ci-internal The cd into cannon/ was changing the CWD for the rest of the script, causing gotestsum to run from cannon/ instead of the repo root. The original Makefile used $(MAKE) -C which spawns a subprocess. Use a subshell to match that behavior. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * fix: use subshells for sequential cd in reproducible-prestate The bare `cd op-program` on line 180 changed cwd persistently, so the following `cd rust` tried to resolve `op-program/rust/` which doesn't exist. Wrap both in subshells to preserve the original working directory. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * fix: remove devnet-sdk and kurtosis-devnet from TEST_PKGS These directories were removed in ethereum-optimism#19506 but the justfile still referenced them, causing go-tests-short-ci to fail with "lstat ./devnet-sdk/: no such file or directory". Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
…mism#19482) * docs(op-e2e): update README to use just instead of make Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * fix(justfiles): pass Make variable overrides as env vars in deprecated shim The deprecated.mk shim was changed to pass JUSTFLAGS as just CLI variable overrides (`just VAR=val target`), but just rejects overrides for variables not declared in the justfile. This broke CI jobs where Make variable assignments propagate through sub-makes (e.g. GO_TEST_FLAGS, GUEST_PROGRAM). Revert to passing them as environment variables via `env`, which is how the shim originally worked in the cannon migration PR. Fixes: go-tests-short, sanitize-op-program CI failures Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * ci: re-trigger cannon-prestate build Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * chore: migrate root Makefile to justfile Migrate root build targets from Make to Just. The Makefile now delegates to just with a deprecation warning, preserving backwards compatibility for existing make invocations. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * docs: update CONTRIBUTING.md to use just instead of make Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * fix: convert make -C calls to just and restore GOPRIVATE comment All subdirectories now have justfiles with deprecated Make shims, so convert remaining make -C calls to cd && just. Also restores the explanatory comment on mod-tidy's GOPRIVATE usage. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * fix: run reproducible-prestate builds in parallel just doesn't parallelize dependencies like make -j does. Use background processes with wait to run op-program and kona prestate builds concurrently. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * fix: use subshell for cd in _go-tests-ci-internal The cd into cannon/ was changing the CWD for the rest of the script, causing gotestsum to run from cannon/ instead of the repo root. The original Makefile used $(MAKE) -C which spawns a subprocess. Use a subshell to match that behavior. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * fix: use subshells for sequential cd in reproducible-prestate The bare `cd op-program` on line 180 changed cwd persistently, so the following `cd rust` tried to resolve `op-program/rust/` which doesn't exist. Wrap both in subshells to preserve the original working directory. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * fix: remove devnet-sdk and kurtosis-devnet from TEST_PKGS These directories were removed in ethereum-optimism#19506 but the justfile still referenced them, causing go-tests-short-ci to fail with "lstat ./devnet-sdk/: no such file or directory". Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * ci: update CircleCI config to use just instead of make Migrates all CircleCI make invocations to just for targets that have been migrated to justfiles. Remaining make calls are for packages not yet migrated (op-challenger, op-node, op-service, op-chain-ops fuzz targets) and cannon/testdata which has its own Makefile. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
…mism#19483) * docs(op-e2e): update README to use just instead of make Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * fix(justfiles): pass Make variable overrides as env vars in deprecated shim The deprecated.mk shim was changed to pass JUSTFLAGS as just CLI variable overrides (`just VAR=val target`), but just rejects overrides for variables not declared in the justfile. This broke CI jobs where Make variable assignments propagate through sub-makes (e.g. GO_TEST_FLAGS, GUEST_PROGRAM). Revert to passing them as environment variables via `env`, which is how the shim originally worked in the cannon migration PR. Fixes: go-tests-short, sanitize-op-program CI failures Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * ci: re-trigger cannon-prestate build Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * chore: migrate root Makefile to justfile Migrate root build targets from Make to Just. The Makefile now delegates to just with a deprecation warning, preserving backwards compatibility for existing make invocations. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * docs: update CONTRIBUTING.md to use just instead of make Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * fix: convert make -C calls to just and restore GOPRIVATE comment All subdirectories now have justfiles with deprecated Make shims, so convert remaining make -C calls to cd && just. Also restores the explanatory comment on mod-tidy's GOPRIVATE usage. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * fix: run reproducible-prestate builds in parallel just doesn't parallelize dependencies like make -j does. Use background processes with wait to run op-program and kona prestate builds concurrently. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * fix: use subshell for cd in _go-tests-ci-internal The cd into cannon/ was changing the CWD for the rest of the script, causing gotestsum to run from cannon/ instead of the repo root. The original Makefile used $(MAKE) -C which spawns a subprocess. Use a subshell to match that behavior. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * fix: use subshells for sequential cd in reproducible-prestate The bare `cd op-program` on line 180 changed cwd persistently, so the following `cd rust` tried to resolve `op-program/rust/` which doesn't exist. Wrap both in subshells to preserve the original working directory. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * fix: remove devnet-sdk and kurtosis-devnet from TEST_PKGS These directories were removed in ethereum-optimism#19506 but the justfile still referenced them, causing go-tests-short-ci to fail with "lstat ./devnet-sdk/: no such file or directory". Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * ci: update CircleCI config to use just instead of make Migrates all CircleCI make invocations to just for targets that have been migrated to justfiles. Remaining make calls are for packages not yet migrated (op-challenger, op-node, op-service, op-chain-ops fuzz targets) and cannon/testdata which has its own Makefile. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * chore(cannon): migrate testdata Makefiles to justfiles Migrates cannon/testdata/, cannon/testdata/go-1-24/, and cannon/testdata/go-1-25/ Makefiles to justfiles. The Make pattern rules for building ELF binaries from go.mod directories are replaced with shell loops that discover and build all directories dynamically. Also updates cannon/justfile to call just instead of make -C for testdata targets, and updates the CI config accordingly. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * fix(cannon): manual shim for diff-cannon positional arg The generic deprecated.mk shim converts make variables to env vars, but diff-cannon VM: is a positional parameter in just. Write a manual shim that passes VM correctly. Also add deprecation warning to the diff-%-cannon pattern target. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * fix: restore dump discovery from go.mod and TODO comment Match the original Makefile behavior by iterating */go.mod directories instead of bin/*.64.elf to avoid dumping stale ELFs. Restore the TODO about the little-endian vs big-endian toolchain. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
…ptimism#19252) * feat: add binary entry point for external proofs in OP (op-rs/op-reth#222) Closes op-rs/op-reth#164 --------- Co-authored-by: Arun Dhyani <dhyaniarun7@gmail.com> * feat: add support for `eth_getProof` (op-rs/op-reth#257) Adds support for `eth_getProof` RPC method. This required reworking the launch command to still work with an alternative DB provider. Closes op-rs/op-reth#173 --------- Co-authored-by: Emilia Hane <elsaemiliaevahane@gmail.com> * perf(trie): feature gate `reth-optimism-trie` metrics (op-rs/op-reth#282) Closes https://github.com/op-rs/bin/issues/281 - Feature gates `reth-optimism-trie` metrics - Moves cursor impls out of proofs module into new module `cursor` - Moves cursor factory impls into new module `cursor_factory` - Updates cursor factory impls to return cursor types with metrics wrapper if metrics feature is enabled * fix(test): Enable live collector tests with metrics feature (op-rs/op-reth#291) Closes https://github.com/op-rs/bin/issues/283 Enable live collector tests when metrics feature is enabled * feat: implement `debug_executePayload` (op-rs/op-reth#276) Closes https://github.com/op-rs/bin/issues/189 --------- Co-authored-by: Emilia Hane <elsaemiliaevahane@gmail.com> * feat: live collector integration (op-rs/op-reth#306) Closes op-rs/op-reth#296 --------- Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> Co-authored-by: Emilia Hane <elsaemiliaevahane@gmail.com> * fix: rebase conflicts (op-rs/op-reth#367) Fix conflicts rebasing onto latest upstream main * feat: implemented `OpProofStorage` Database metrics (op-rs/op-reth#407) Closes op-rs/op-reth#224 Closes op-rs/op-reth#387 --------- Co-authored-by: Arun Dhyani <dhyaniarun7@gmail.com> * feat: Implemented `OpProofStoragePrunerTask` (op-rs/op-reth#375) Closes op-rs/op-reth#361 Closes op-rs/op-reth#395 --------- Co-authored-by: Emilia Hane <elsaemiliaevahane@gmail.com> * chore: inmem proof storage removed (op-rs/op-reth#465) This PR removes the CLI support for in-memory proof storage (proofs_history_storage_in_mem). The in-memory storage implementation was primarily intended for unit testing and is not feasible for running a node due to the large memory requirements of storing historical trie nodes. Closes op-rs/op-reth#466 * chore(exex): Add metrics feature in `reth-optimism-exex` (op-rs/op-reth#438) Closes https://github.com/op-rs/bin/issues/427 --------- Co-authored-by: itschaindev <jagrutk@protonmail.com> * feat: prune cli added (op-rs/op-reth#507) Closes op-rs/op-reth#452 * refactor(trie): return `OpProofsStorageError` from `execute_and_store_block_updates` (op-rs/op-reth#535) Closes op-rs/op-reth#523 --------- Co-authored-by: Emilia Hane <elsaemiliaevahane@gmail.com> * fix: reduce default proofs pruning interval (op-rs/op-reth#560) Closes op-rs/op-reth#559 * feat: add verification interval for integrity check (op-rs/op-reth#577) Closes op-rs/op-reth#449 The approach used is to perform full block verification after every N blocks to ensure the state is still correct. --------- Co-authored-by: Arun Dhyani <dhyaniarun7@gmail.com> * chore: getProof benchmark utility added (op-rs/op-reth#550) Utility for op-rs/op-reth#446 * chore: mv proof args to rollup node (op-rs/op-reth#625) Closes op-rs/op-reth#613 * chore: ExEx config builder (op-rs/op-reth#642) Closes op-rs/op-reth#641 --------- Co-authored-by: Himess <semihcvlk53@gmail.com> * chore: moved proof initialization to `reth-optimism-node` (op-rs/op-reth#640) Closes op-rs/op-reth#612 --------- Co-authored-by: Arun Dhyani <dhyaniarun7@gmail.com> * chore(rust): fix compilation errors * docs(op-reth): add historical proofs README to exex crate Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> * chore(op-reth): move proof-bench to rust/op-reth/bin/proof-bench Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> * fix(op-reth): fix go-lint and rust-clippy CI failures - Replace big.Int.Uint64() calls with bigs.Uint64Strict() in proof tests - Fix goimports ordering in proof test files (move ethereum-optimism/* before ethereum/go-ethereum/*) - Fix const alignment in preset.go - Fix uninlined_format_args clippy lint in proof-bench report.rs Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> fix(op-reth): update proofs preset to use stack.ComponentID Replace removed type aliases (L1NetworkID, L1ELNodeID, L2CLNodeID, etc.) with unified stack.ComponentID type. Also fix L2NodeMatcher generics and match.Not calls to use stack.ByID wrapper. fix(op-reth): remove duplicate crates/tests/proofs preset This was a partial copy of rust/op-reth/tests/proofs/utils with no go.mod, no test files, and no other sources. It caused go-lint CI failures due to stale type references. --------- Co-authored-by: jagroot <4516586+itschaindev@users.noreply.github.com> Co-authored-by: Arun Dhyani <dhyaniarun7@gmail.com> Co-authored-by: Julian Meyer <julianmeyer2000@gmail.com> Co-authored-by: Emilia Hane <elsaemiliaevahane@gmail.com> Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> Co-authored-by: Sadiqur Rahman <sadiqurr8@gmail.com> Co-authored-by: itschaindev <jagrutk@protonmail.com> Co-authored-by: Himess <95512809+Himess@users.noreply.github.com> Co-authored-by: Himess <semihcvlk53@gmail.com> Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
* docs(ai): add Go development guidance for AI agents Replace the placeholder go-dev.md with practical workflow guidance covering tool versions (via mise), build system (just), linting (custom golangci-lint build), and pre-commit/pre-PR checklists. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * docs(ai): add Rust development guidance for AI agents Replace the placeholder rust-dev.md with practical workflow guidance covering the workspace layout, build system (just), linting (including nightly formatting and no_std checks), and pre-commit/pre-PR checklists. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * docs(ai): extract shared dev workflow to dev-workflow.md Move tool versions (mise), PR workflow (rebase on develop, PR guidelines), and CI notes into a shared doc referenced by both go-dev.md and rust-dev.md. Reduces duplication and gives a single place to update cross-language guidance. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
…optimism#19521) Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
…-optimism#19523) The compute-git-versions target was moved to a deprecated shim that delegates to just, but the GitHub Actions prep job doesn't have just installed. Restore it as a native make target that calls the shell script directly. Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
…#19522) * fix(rust/op-reth): prefix function args with underscore in test contracts Fixes semgrep-scan-local CI failure on develop caused by sol-style-input-arg-fmt rule violations in SimpleStorage.sol and TokenVault.sol test contracts. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * fix(ci): restore compute-git-versions as native make target The compute-git-versions target was moved to a deprecated shim that delegates to just, but the GitHub Actions prep job doesn't have just installed. Restore it as a native make target that calls the shell script directly. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * Revert "fix(ci): restore compute-git-versions as native make target" This reverts commit 69dd757. * fix(ci): add rust/op-reth/tests/ to .semgrepignore The path was moved from rust/op-reth/crates/tests/ (already ignored) to rust/op-reth/tests/ in ethereum-optimism#19252, taking test contracts out of the ignore scope and breaking semgrep-scan-local on develop. Revert the Solidity file changes and ignore the new path instead — these are test contracts, not production code. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
* chore: add nut bundle check to just pr * chore: add nut bundle generation step for just pr * chore: remove output suppression from bundle checks
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.
Closes ethereum-optimism#19538
Summary
virtual_node.ErrVirtualNodeNotRunningwhenChainContainer.SyncStatus()is called before the virtual node is initializedeth.SyncStatusfor an unready chain containerTesting
./linter/bin/op-golangci-lint run ./op-supernode/...go test ./op-supernode/...