mirror of
https://github.com/hl-archive-node/nanoreth.git
synced 2025-12-06 10:59:55 +00:00
feat: add NetworkPrimitives to NetworkBuilder (#13169)
Co-authored-by: Arsenii Kulikov <klkvrr@gmail.com>
This commit is contained in:
@ -215,7 +215,7 @@ where
|
||||
impl<P, H, B> OnlineStages<P, H, B>
|
||||
where
|
||||
P: HeaderSyncGapProvider + 'static,
|
||||
H: HeaderDownloader<Header = alloy_consensus::Header> + 'static,
|
||||
H: HeaderDownloader + 'static,
|
||||
B: BodyDownloader + 'static,
|
||||
{
|
||||
/// Create a new builder using the given headers stage.
|
||||
@ -236,7 +236,7 @@ where
|
||||
provider: P,
|
||||
tip: watch::Receiver<B256>,
|
||||
header_downloader: H,
|
||||
consensus: Arc<dyn Consensus>,
|
||||
consensus: Arc<dyn Consensus<H::Header, B::Body>>,
|
||||
stages_config: StageConfig,
|
||||
) -> StageSetBuilder<Provider>
|
||||
where
|
||||
@ -258,7 +258,7 @@ where
|
||||
impl<Provider, P, H, B> StageSet<Provider> for OnlineStages<P, H, B>
|
||||
where
|
||||
P: HeaderSyncGapProvider + 'static,
|
||||
H: HeaderDownloader<Header = alloy_consensus::Header> + 'static,
|
||||
H: HeaderDownloader + 'static,
|
||||
B: BodyDownloader + 'static,
|
||||
HeaderStage<P, H>: Stage<Provider>,
|
||||
BodyStage<B>: Stage<Provider>,
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
use crate::stages::MERKLE_STAGE_DEFAULT_CLEAN_THRESHOLD;
|
||||
use alloy_consensus::{BlockHeader, Header};
|
||||
use alloy_consensus::{BlockHeader, Header, Sealable};
|
||||
use alloy_eips::{eip1898::BlockWithParent, NumHash};
|
||||
use alloy_primitives::BlockNumber;
|
||||
use num_traits::Zero;
|
||||
@ -194,10 +194,7 @@ where
|
||||
unwind_to: Option<u64>,
|
||||
) -> Result<(), StageError>
|
||||
where
|
||||
Provider: StaticFileProviderFactory
|
||||
+ DBProvider
|
||||
+ BlockReader
|
||||
+ HeaderProvider<Header = reth_primitives::Header>,
|
||||
Provider: StaticFileProviderFactory + DBProvider + BlockReader + HeaderProvider,
|
||||
{
|
||||
// If thre's any receipts pruning configured, receipts are written directly to database and
|
||||
// inconsistencies are expected.
|
||||
@ -267,7 +264,7 @@ where
|
||||
|
||||
impl<E, Provider> Stage<Provider> for ExecutionStage<E>
|
||||
where
|
||||
E: BlockExecutorProvider<Primitives: NodePrimitives<BlockHeader = alloy_consensus::Header>>,
|
||||
E: BlockExecutorProvider,
|
||||
Provider: DBProvider
|
||||
+ BlockReader<
|
||||
Block = <E::Primitives as NodePrimitives>::Block,
|
||||
|
||||
@ -136,7 +136,7 @@ where
|
||||
Provider: DBProvider<Tx: DbTxMut>
|
||||
+ TrieWriter
|
||||
+ StatsReader
|
||||
+ HeaderProvider<Header = alloy_consensus::Header>
|
||||
+ HeaderProvider
|
||||
+ StageCheckpointReader
|
||||
+ StageCheckpointWriter,
|
||||
{
|
||||
@ -344,18 +344,18 @@ where
|
||||
|
||||
/// Check that the computed state root matches the root in the expected header.
|
||||
#[inline]
|
||||
fn validate_state_root(
|
||||
fn validate_state_root<H: BlockHeader + Debug>(
|
||||
got: B256,
|
||||
expected: SealedHeader,
|
||||
expected: SealedHeader<H>,
|
||||
target_block: BlockNumber,
|
||||
) -> Result<(), StageError> {
|
||||
if got == expected.state_root {
|
||||
if got == expected.state_root() {
|
||||
Ok(())
|
||||
} else {
|
||||
error!(target: "sync::stages::merkle", ?target_block, ?got, ?expected, "Failed to verify block state root! {INVALID_STATE_ROOT_ERROR_MESSAGE}");
|
||||
Err(StageError::Block {
|
||||
error: BlockErrorKind::Validation(ConsensusError::BodyStateRootDiff(
|
||||
GotExpected { got, expected: expected.state_root }.into(),
|
||||
GotExpected { got, expected: expected.state_root() }.into(),
|
||||
)),
|
||||
block: Box::new(expected.block_with_parent()),
|
||||
})
|
||||
|
||||
@ -59,7 +59,7 @@ impl Default for SenderRecoveryStage {
|
||||
impl<Provider> Stage<Provider> for SenderRecoveryStage
|
||||
where
|
||||
Provider: DBProvider<Tx: DbTxMut>
|
||||
+ BlockReader<Header = reth_primitives::Header>
|
||||
+ BlockReader
|
||||
+ StaticFileProviderFactory<Primitives: NodePrimitives<SignedTx: Value + SignedTransaction>>
|
||||
+ StatsReader
|
||||
+ PruneCheckpointReader,
|
||||
@ -146,8 +146,7 @@ fn recover_range<Provider, CURSOR>(
|
||||
senders_cursor: &mut CURSOR,
|
||||
) -> Result<(), StageError>
|
||||
where
|
||||
Provider:
|
||||
DBProvider + HeaderProvider<Header = reth_primitives::Header> + StaticFileProviderFactory,
|
||||
Provider: DBProvider + HeaderProvider + StaticFileProviderFactory,
|
||||
CURSOR: DbCursorRW<tables::TransactionSenders>,
|
||||
{
|
||||
debug!(target: "sync::stages::sender_recovery", ?tx_range, "Sending batch for processing");
|
||||
|
||||
Reference in New Issue
Block a user