[hackathon] feat: add signet-host-reth crate with RethHostNotifier#106
Draft
prestwich wants to merge 7 commits intofeat/host-notifier-traitfrom
Draft
[hackathon] feat: add signet-host-reth crate with RethHostNotifier#106prestwich wants to merge 7 commits intofeat/host-notifier-traitfrom
prestwich wants to merge 7 commits intofeat/host-notifier-traitfrom
Conversation
2 tasks
4 tasks
fdae9f3 to
1654673
Compare
466023f to
b835214
Compare
1654673 to
09aad33
Compare
Introduces the signet-host-reth crate which isolates all reth ExEx dependencies behind the HostNotifier trait. This includes: - RethChain: owning wrapper around reth's Chain implementing Extractable with O(1) metadata accessors via inlined transmute logic - RethHostNotifier: ExEx-backed implementation of HostNotifier that handles hash resolution internally - RethAliasOracle/Factory: moved from signet-node for reuse - RPC config helpers: rpc_config_from_args and serve_config_from_args - decompose_exex_context: splits ExExContext into notifier + config - RethHostError: proper error type satisfying core::error::Error Also re-exports RecoveredBlockShim from signet-blobber. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
…t_head Eliminates num_hash_slow() calls by using the provider's sealed_header method, which returns pre-cached hashes instead of recomputing from RLP. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Use decompose_exex_context to construct RethHostNotifier and pass it through the new builder API. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
The decomposed reth context has IPC/HTTP disabled by default. Tests need the Signet-configured IPC path for RPC communication. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Update RethAliasOracle::should_alias to async RPITIT signature - Update RethChain::blocks_and_receipts to return BlockAndReceipts - Remove orphan alias.rs from signet-node (now in host-reth) Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
The updated base branch removed chain_name from the SignetNodeBuilder API. Remove the now-invalid calls in node-tests and apply nightly fmt. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
b835214 to
e46fd40
Compare
5 tasks
- 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) <noreply@anthropic.com>
4 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.
Summary
signet-host-rethcrate providing reth ExEx-backedHostNotifierimplementationRethChain: owning wrapper around rethChainimplementingExtractablewith O(1) metadataRethHostNotifier:ExExContext-backedHostNotifierRethAliasOracle+RethAliasOracleFactory: moved fromsignet-nodedecompose_exex_context(),rpc_config_from_args(),serve_config_from_args()signet-node-teststo use newHostNotifierAPIPR 3 of 5 in the host context adapter refactor.
Precursor: #105
Test plan
cargo clippy -p signet-host-reth --all-features --all-targetscargo clippy -p signet-node-tests --all-features --all-targetscargo +nightly fmt🤖 Generated with Claude Code