chore: add OmmersProvider trait (#13331)

This commit is contained in:
joshieDo
2024-12-12 11:20:03 +00:00
committed by GitHub
parent 328d4937f2
commit 7764b9a038
12 changed files with 126 additions and 88 deletions

View File

@ -26,7 +26,7 @@ use reth_primitives::{
use reth_prune_types::{PruneCheckpoint, PruneModes, PruneSegment};
use reth_stages_types::{StageCheckpoint, StageId};
use reth_storage_api::{
NodePrimitivesProvider, StateCommitmentProvider, TryIntoHistoricalStateProvider,
NodePrimitivesProvider, OmmersProvider, StateCommitmentProvider, TryIntoHistoricalStateProvider,
};
use reth_storage_errors::provider::ProviderResult;
use reth_trie::HashedPostState;
@ -404,10 +404,6 @@ impl<N: ProviderNodeTypes> BlockReader for ProviderFactory<N> {
self.provider()?.pending_block_and_receipts()
}
fn ommers(&self, id: BlockHashOrNumber) -> ProviderResult<Option<Vec<Self::Header>>> {
self.provider()?.ommers(id)
}
fn block_body_indices(
&self,
number: BlockNumber,
@ -576,6 +572,12 @@ impl<N: ProviderNodeTypes> WithdrawalsProvider for ProviderFactory<N> {
}
}
impl<N: ProviderNodeTypes> OmmersProvider for ProviderFactory<N> {
fn ommers(&self, id: BlockHashOrNumber) -> ProviderResult<Option<Vec<Self::Header>>> {
self.provider()?.ommers(id)
}
}
impl<N: ProviderNodeTypes> StageCheckpointReader for ProviderFactory<N> {
fn get_stage_checkpoint(&self, id: StageId) -> ProviderResult<Option<StageCheckpoint>> {
self.provider()?.get_stage_checkpoint(id)