fix(staged-sync): prevent StaticFileProducer from running with an unwinded target on legacy engine (#11717)

This commit is contained in:
joshieDo
2024-10-17 12:00:25 +09:00
committed by GitHub
parent 24287e8562
commit 1b97b1d942
3 changed files with 29 additions and 7 deletions

View File

@ -5,8 +5,8 @@ use alloy_primitives::BlockNumber;
use parking_lot::Mutex;
use rayon::prelude::*;
use reth_provider::{
providers::StaticFileWriter, BlockReader, DBProvider, DatabaseProviderFactory,
StageCheckpointReader, StaticFileProviderFactory,
providers::StaticFileWriter, BlockReader, ChainStateBlockReader, DBProvider,
DatabaseProviderFactory, StageCheckpointReader, StaticFileProviderFactory,
};
use reth_prune_types::PruneModes;
use reth_stages_types::StageId;
@ -106,6 +106,16 @@ impl<Provider> StaticFileProducerInner<Provider> {
}
}
impl<Provider> StaticFileProducerInner<Provider>
where
Provider: StaticFileProviderFactory + DatabaseProviderFactory<Provider: ChainStateBlockReader>,
{
/// Returns the last finalized block number on disk.
pub fn last_finalized_block(&self) -> ProviderResult<Option<BlockNumber>> {
self.provider.database_provider_ro()?.last_finalized_block_number()
}
}
impl<Provider> StaticFileProducerInner<Provider>
where
Provider: StaticFileProviderFactory