feat(exex/trie): Wire up the Engine in Exex#27
Draft
dhyaniarun1993 wants to merge 20 commits intofeat/engine-pr3-corefrom
Draft
feat(exex/trie): Wire up the Engine in Exex#27dhyaniarun1993 wants to merge 20 commits intofeat/engine-pr3-corefrom
dhyaniarun1993 wants to merge 20 commits intofeat/engine-pr3-corefrom
Conversation
Analyses all monorepo dependencies on op-geth–specific APIs for op-node, op-service, and op-batcher, and proposes decoupling strategies. Introduces the target op-core/ package layout. Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
…timism#20417) Base was removed from the superchain registry in ethereum-optimism#20366, so BASE_MAINNET_CHAIN_ID no longer resolves to a known parent and test_bootnodes_from_chain_id panicked when it expected 24 bootnodes for that lookup. PR ethereum-optimism#20406 fixed the analogous kona-genesis test but missed this one. Replace the Base lookup with Ink (another mainnet OP Stack chain still in the registry) and add an explicit assertion that BASE_MAINNET_CHAIN_ID now yields no bootnodes, so a future re-addition trips this test. Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
…ation (ethereum-optimism#20213) * fix(kona-peers): align bootnodes test with registry data Base was removed from the superchain registry in ethereum-optimism#20366, so BASE_MAINNET_CHAIN_ID no longer resolves to a known parent and test_bootnodes_from_chain_id panicked when it expected 24 bootnodes for that lookup. PR ethereum-optimism#20406 fixed the analogous kona-genesis test but missed this one. Replace the Base lookup with Ink (another mainnet OP Stack chain still in the registry) and add an explicit assertion that BASE_MAINNET_CHAIN_ID now yields no bootnodes, so a future re-addition trips this test. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> * feat(alloy-op-evm): post-exec block executor and SDM warming inspector Add the canonical post-exec block executor, along with the first feature riding on it — SDM (Sequencer-Defined Metering) block-level warming refunds, delivered by the SDMWarmingInspector. - OpBlockExecutor gains three PostExecModes (Disabled / Produce / Verify(payload) / Invalid). Produce accumulates per-tx refund entries for the payload builder to append as a synthetic 0x7D tx; Verify validates an embedded payload against local replay; Disabled is the legacy path (byte-identical to pre-SDM). - SDMWarmingInspector tracks first-warmer provenance for accounts and storage slots, emits exact refund attribution events for every re-touch past the EIP-2929 warm threshold, and suppresses claims from Deposit and synthetic PostExec tx kinds. - Verify-mode validations reject duplicate payload indexes, payload entries targeting deposits or the 0x7D tx itself, and refunds that exceed the tx's raw gas. `apply_pre_execution_changes` debug_asserts the Produce hooks are wired so a downstream fork can't silently drop refunds. - Canonical gas settlement credits the sender, debits the beneficiary and base-fee recipient by the refunded-gas component of their share, and commits the deltas when canonical gas falls below raw gas. - beneficiary_gas_price can legitimately saturate at zero when a legacy tx's gas price equals basefee; inline comment documents the consensus-valid zero case. * docs(alloy-op-evm): clarify post-exec settlement comments * test(alloy-op-evm): simplify SDM post-exec tests * test(sdm): cover post-exec EVM config plumbing * refactor(sdm): address PR feedback + tests * test(alloy-op-evm): deduplicate block executor test helpers * test(sdm): split SDM tests into dedicated test modules Move inline #[cfg(test)] blocks out of inspector.rs and the OP payload builder.rs into sibling tests.rs files. Tighten each test with small helpers (run_account/run_slot for the inspector; entries/unwrap_post_exec for the builder) so the assertions read directly. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> * docs(op-reth): use # Returns format on try_include_post_exec_tx Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> * docs(alloy-op-evm): name SDMWarmingInspector in composite doc Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
…imism#20302) * docs: remove op-supervisor references from interop docs The standalone op-supervisor service no longer exists in the interop architecture. Scrub references from user-facing interop docs (explainer, message-passing, reading-logs, message-expiration), the chain-operator absolute-prestate tutorial, the nav + redirects in docs.json, and the keyword config. Delete the orphaned chain-operators/reference/components/ op-supervisor.mdx reference page. Intentionally untouched: kona node supervisor actor/RPC, op-reth --rollup.supervisor-* flags, op-node interop-RPC copy (different concept), and the Cayman Islands "Supervisor" in gov-faq. Deeper rewrites (safety levels, cluster terminology, interop-security nits) flagged in the audit are left for follow-up PRs. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> * docs: redirect legacy op-supervisor URLs to interop explainer Address review feedback: keep external links and search-indexed paths working by redirecting the three legacy op-supervisor paths to the interop explainer instead of 404'ing. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> --------- Co-authored-by: Zak <zak@oplabs.co> Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
…optimism#20425) The monorepo published us-docker.pkg.dev/oplabs-tools-artifacts/images/op-rbuilder:<sha> on every develop commit and every non-fork PR, but no consumer reads that tag — prod pulls from a private-fork pipeline that publishes to internal-images/op-rbuilder, and the upstream Flashbots build is pushed manually under separate version tags. The submodule pointer is also frozen since ethereum-optimism#18540, so the per-commit images are byte-identical apart from baked-in GIT_COMMIT. It is also currently red-gating develop on a cargo-chef MSRV bump (cargo-platform 0.3.3 → rustc 1.91, vs the image's pinned 1.88). Removing the registry entry alone drops it from the matrix; the bake target is removed for cleanliness. The CircleCI rust-build-submodule binary build for acceptance tests is intentionally untouched. Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
…imism#20407) Interop startup now proves the first verifiable timestamp can resolve optimistic L2/L1 data before declaring readiness, avoiding a later halt after virtual nodes only partially sync. Made-with: Cursor
…0433) * feat(interopgen): add UseL2CM toggle to L2Config * feat(interopgen): add L2CM recipe support * chore(interopgen): add L2CM cleanup TODOs
…ethereum-optimism#20442) * feat(op-interop-filter): add access list duration and rejection metrics Add two new Prometheus metrics for CheckAccessList observability: - check_access_list_duration_seconds (Histogram): SLI-IF-7 latency tracking - check_access_list_rejections_total (CounterVec): SLI-IF-8 rejection breakdown by reason (failsafe, unknown_chain, parse_error, expired_message, invalid_executing_message) Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> * fix(op-interop-filter): fix goimports struct field alignment Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
…thereum-optimism#20253) Strips Rust toolchain, target spec, and env vars from the `cannon-builder` image. What remains is the set of apt packages that cannot be deterministically pinned outside a Docker image (MIPS64 cross-compiler, llvm, clang, cmake, etc.). Rust, the target spec, and build env vars are provided by consumers of this image from pinned version sources (mise, rust-toolchain.toml, source tree) at build time. This decouples the base image from toolchain drift and makes it a stable long-lived artifact. Consumers must be updated separately to install Rust on top of this image and supply their own `mips64-unknown-none.json`. The existing `cannon-builder:v1.0.0` tag remains immutable; this change takes effect when a new version tag is cut.
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.
Just to check diff. Not to be merged