You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
refactor: rewrite block processor and node to use signet-storage (#79)
* refactor: rewrite block processor to use signet-hot storage
Replace the reth ProviderFactory-based storage with HotKv for rollup
state reads. The processor becomes a stateless executor that reads from
hot storage, runs the EVM, and returns ExecutedBlock. Extraction is
moved to the node (PR3) to avoid lifetime issues with borrowed Extracts.
- Replace Db: NodeTypesDbTrait generic with H: HotKv
- Replace state_provider_database() with revm_state() using RevmRead
- Remove on_host_commit() and commit_evm_results()
- Add process_block() returning ExecutedBlock
- Add build_executed_block() for type conversion
- Remove signet-db, signet-node-types, reth-exex, reth-node-api deps
- Add signet-hot, signet-storage-types deps
- Remove Chain/PrimitivesOf/ExExNotification type aliases from lib.rs
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
* refactor: rewrite signet-node to use unified storage and rpc-storage
Replace reth's ProviderFactory/BlockchainProvider with UnifiedStorage
and swap signet-rpc for signet-rpc-storage. The node now holds
Arc<UnifiedStorage<H>> and shares state with the RPC context through
BlockTags (atomic block tag tracking) and broadcast::Sender
(new block notifications).
Key changes:
- StorageRpcCtx accepts Arc<UnifiedStorage<H>> for shared ownership
- Node struct uses HotKv generic instead of NodeTypesDbTrait
- Block processing uses signet-extract's Extractor + ExtractableChainShim
- Genesis loading via HistoryWrite::load_genesis + UnsafeDbWrite::commit
- Fix metrics bug: record_notification_received now correctly increments
the received counter instead of the processed counter
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
* refactor: rewrite node-tests to use unified storage and align gas oracle
Replace TmpDb/ProviderFactory with MemKv/UnifiedStorage in all node test
infrastructure. Update signet-storage crates to v0.6.2 to fix MemKv
intra-transaction read visibility.
Align the cold-storage gas oracle with reth's GasPriceOracle by adding
default_gas_price (1 Gwei), ignore_price (2 wei), and max_price (500
Gwei) to StorageRpcConfig.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
* refactor: delete signet-db, signet-node-types, and signet-rpc
These crates are fully replaced by signet-storage, signet-hot, and
signet-rpc-storage respectively. Remove 6,700+ lines of dead code and
clean up 22 unused workspace dependencies.
Replace reth-db tempdir_path with tempfile in signet-node-config.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
* refactor: rename signet-rpc-storage to signet-rpc
Reclaim the signet-rpc name now that the old reth-backed crate is
deleted. Rename directory, package, and all import paths.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
* refactor: restore RUN EVM ascii art banner
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
* fix: resolve clippy empty_line_after_doc_comments warning in ascii banner
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
* fix: address PR review — bugs, style, and test infra
- Fix log_index per-receipt → per-block (kind.rs)
- Fix hash/height mismatch in update_highest_processed_height (node.rs)
- Fix serve_ipc panic: expect → ? (serve.rs)
- Use seal_unchecked to avoid redundant header re-hashing (processor.rs)
- Refactor imperative event loop → functional chain (processor.rs)
- Add #[instrument(skip_all)] to run_evm and build_executed_block
- Add TODO for two-reader consistency risk (processor.rs)
- Group signet_hot imports across 6 RPC files
- Move supported methods above "Unsupported" comment (eth/mod.rs)
- Hoist function-scoped imports to module level (eth_rpc.rs)
- Fix stale signet_rpc_storage reference (eth_rpc.rs)
- Differentiate HTTP/WS doc comments, fix Result type (serve.rs)
- Wrap cold storage polling loop in 30s timeout (context.rs)
- Remove dead signet_events_in_range method (context.rs)
- Update README to reflect new API types
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
---------
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
constEXTRACTION_TIME_HELP:&str = "Time taken to extract signet outputs from a host notification. Note: sometimes the extraction includes multiple blocks.";
0 commit comments