feat: add signet-host-reth crate with RethHostNotifier#106
Merged
Conversation
3 tasks
prestwich
marked this pull request as draft
March 13, 2026 19:56
4 tasks
prestwich
force-pushed
the
feat/host-notifier-trait
branch
from
March 13, 2026 20:11
fdae9f3 to
1654673
Compare
prestwich
force-pushed
the
feat/host-reth
branch
from
March 13, 2026 20:11
466023f to
b835214
Compare
prestwich
force-pushed
the
feat/host-notifier-trait
branch
from
March 13, 2026 20:25
1654673 to
09aad33
Compare
prestwich
force-pushed
the
feat/host-reth
branch
from
March 13, 2026 20:44
b835214 to
e46fd40
Compare
8 tasks
prestwich
added a commit
that referenced
this pull request
Mar 15, 2026
- Add compile-time size/align assertions for transmute safety (chain.rs) - Add tracing::error before set_head panics for operator observability - Log swallowed provider errors when reading safe/finalized block numbers - Replace `as` casts with `From` in config conversion for type safety - Restore condensed safety rationale for Latest alias oracle - Add unit tests for config conversion helpers (5 tests) - Add rustdoc usage examples to RethChain and decompose_exex_context - Extract test_blob_cacher helper to reduce duplication in node-tests eyre convention violation tracked in ENG-2041. Co-Authored-By: Claude Opus 4.6 (1M context) <[email protected]>
3 tasks
prestwich
added a commit
that referenced
this pull request
Mar 17, 2026
- Add compile-time size/align assertions for transmute safety (chain.rs) - Add tracing::error before set_head panics for operator observability - Log swallowed provider errors when reading safe/finalized block numbers - Replace `as` casts with `From` in config conversion for type safety - Restore condensed safety rationale for Latest alias oracle - Add unit tests for config conversion helpers (5 tests) - Add rustdoc usage examples to RethChain and decompose_exex_context - Extract test_blob_cacher helper to reduce duplication in node-tests eyre convention violation tracked in ENG-2041. Co-Authored-By: Claude Opus 4.6 (1M context) <[email protected]>
prestwich
force-pushed
the
feat/host-reth
branch
from
March 17, 2026 16:03
d8ec66c to
df37553
Compare
prestwich
force-pushed
the
feat/host-notifier-trait
branch
2 times, most recently
from
March 17, 2026 16:20
0758243 to
b01e622
Compare
prestwich
force-pushed
the
feat/host-reth
branch
from
March 17, 2026 16:20
df37553 to
d8ec66c
Compare
prestwich
force-pushed
the
feat/host-notifier-trait
branch
2 times, most recently
from
March 17, 2026 16:23
4697dff to
b01e622
Compare
prestwich
force-pushed
the
feat/host-reth
branch
from
March 17, 2026 16:41
d8ec66c to
812357c
Compare
prestwich
force-pushed
the
feat/host-notifier-trait
branch
from
March 17, 2026 16:41
b01e622 to
57bf22c
Compare
prestwich
force-pushed
the
feat/host-reth
branch
from
March 17, 2026 17:03
812357c to
737a3bd
Compare
prestwich
force-pushed
the
feat/host-notifier-trait
branch
from
March 17, 2026 17:03
57bf22c to
17492c1
Compare
prestwich
added a commit
that referenced
this pull request
Mar 17, 2026
alias.rs was modified in the base branch but deleted here; it moves to signet-host-reth in PR #106. Co-Authored-By: Claude Opus 4.6 (1M context) <[email protected]>
prestwich
force-pushed
the
feat/host-reth
branch
from
March 18, 2026 12:21
737a3bd to
67bd023
Compare
Fraser999
reviewed
Mar 18, 2026
prestwich
force-pushed
the
feat/host-reth
branch
2 times, most recently
from
March 18, 2026 13:50
7d86ca0 to
384fc12
Compare
prestwich
marked this pull request as ready for review
March 18, 2026 13:55
Co-Authored-By: Claude Opus 4.6 (1M context) <[email protected]>
prestwich
force-pushed
the
feat/host-reth
branch
from
March 18, 2026 15:51
384fc12 to
087ee7e
Compare
- Delete unused ExtractableChainShim from blobber (RethChain replaces it) - Replace From<eyre::Report> with named RethHostError::notification() - Handle set_backfill_thresholds(None) by restoring defaults - Add blank line between module groups in host-reth lib.rs Co-Authored-By: Claude Opus 4.6 (1M context) <[email protected]>
Fraser999
approved these changes
Mar 19, 2026
…tions Reverted chain segments in HostNotificationKind (ChainReverted and ChainReorged) now carry a lightweight RevertRange (first, tip block numbers) instead of Arc<C>. No consumer reads block bodies or receipts from reverted segments — only block number range is needed. Adds node-side validation that the revert range tip covers the stored rollup tip, ensuring notification consistency with stored state. This unblocks signet-host-rpc where old/reverted blocks may not be available from the RPC node. Closes ENG-2069 Co-Authored-By: Claude Opus 4.6 (1M context) <[email protected]>
Fraser999
approved these changes
Mar 19, 2026
Fraser999
left a comment
Contributor
There was a problem hiding this comment.
One tiny, non-blocking suggestion.
| // state: the range tip must be at or above the host block that | ||
| // produced our current rollup tip. | ||
| let rollup_tip = self.last_rollup_block()?; | ||
| let range_tip_ru = self.constants.host_block_to_rollup_block_num(tip).unwrap_or_default(); |
Contributor
There was a problem hiding this comment.
We'd get a clearer error message if we did something like .ok_or_else(|| eyre!(...))? instead of falling through to the ensure! below with range_tip_ru set to 0.
Instead of silently defaulting to 0 via unwrap_or_default(), return an explicit error when the revert range tip doesn't map to a rollup block. Co-Authored-By: Claude Opus 4.6 (1M context) <[email protected]>
prestwich
enabled auto-merge (squash)
March 19, 2026 14:50
10 tasks
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.
[Claude Code]
Summary
Adds the
signet-host-rethcrate — a reth ExEx-backed implementation of theHostNotifiertrait introduced in #105.RethHostNotifier: wraps reth'sExExContextnotification stream, provider, and event senderRethChain: owning wrapper around rethChainimplementingExtractablewith O(1) metadata accessRethAliasOracle+RethAliasOracleFactory: moved fromsignet-nodeto this cratedecompose_exex_context(): splits anExExContextinto aRethHostNotifier+ plain config typesrpc_config_from_args()/serve_config_from_args(): extract reth-free RPC config from reth CLI argssignet-node-teststo use the newSignetNodeBuilderAPI (explicitwith_notifier,with_blob_cacher,with_serve_config,with_rpc_config)SignetNodeBuildergenerics from 6 typestate params to 3RevertRange: ReplacesArc<C>with lightweightRevertRange { first, tip }inChainRevertedandChainReorgedvariants — only committed chain segments carry full block/receipt data (ENG-2069)PR stack
This is part of the host context adapter refactor. PRs #104 and #105 are already merged.
Test plan
cargo clippy -p signet-host-reth --all-targets— cleancargo clippy -p signet-node-types --all-targets— cleancargo clippy -p signet-node --all-features --all-targets— cleancargo clippy -p signet-node-tests --all-targets— cleancargo +nightly fmt— cleancargo t -p signet-node-types— 3 unit + 3 doc-tests pass🤖 Generated with Claude Code