chore(provider): rename to get_in_memory_or_storage_by_block_range_while (#11421)

This commit is contained in:
joshieDo
2024-10-02 14:23:02 +02:00
committed by GitHub
parent b66e4f5ad3
commit da23e1ce8d

View File

@ -122,7 +122,8 @@ impl<N: ProviderNodeTypes> BlockchainProvider2<N> {
(start, end) (start, end)
} }
/// Fetches a range of data from both in-memory state and storage while a predicate is met. /// Fetches a range of data from both in-memory state and persistent storage while a predicate
/// is met.
/// ///
/// Creates a snapshot of the in-memory chain state and database provider to prevent /// Creates a snapshot of the in-memory chain state and database provider to prevent
/// inconsistencies. Splits the range into in-memory and storage sections, prioritizing /// inconsistencies. Splits the range into in-memory and storage sections, prioritizing
@ -132,7 +133,7 @@ impl<N: ProviderNodeTypes> BlockchainProvider2<N> {
/// user to retrieve the required items from the database using [`RangeInclusive`]. /// user to retrieve the required items from the database using [`RangeInclusive`].
/// * `map_block_state_item` function (`G`) provides each block of the range in the in-memory /// * `map_block_state_item` function (`G`) provides each block of the range in the in-memory
/// state, allowing for selection or filtering for the desired data. /// state, allowing for selection or filtering for the desired data.
fn fetch_db_mem_range_while<T, F, G, P>( fn get_in_memory_or_storage_by_block_range_while<T, F, G, P>(
&self, &self,
range: impl RangeBounds<BlockNumber>, range: impl RangeBounds<BlockNumber>,
fetch_db_range: F, fetch_db_range: F,
@ -252,7 +253,8 @@ impl<N: ProviderNodeTypes> BlockchainProvider2<N> {
S: FnOnce(DatabaseProviderRO<N::DB, N::ChainSpec>) -> ProviderResult<Option<R>>, S: FnOnce(DatabaseProviderRO<N::DB, N::ChainSpec>) -> ProviderResult<Option<R>>,
M: Fn(usize, TxNumber, Arc<BlockState>) -> ProviderResult<Option<R>>, M: Fn(usize, TxNumber, Arc<BlockState>) -> ProviderResult<Option<R>>,
{ {
// Order of instantiation matters. More information on: `fetch_db_mem_range_while`. // Order of instantiation matters. More information on:
// `get_in_memory_or_storage_by_block_range_while`.
let in_mem_chain = self.canonical_in_memory_state.canonical_chain().collect::<Vec<_>>(); let in_mem_chain = self.canonical_in_memory_state.canonical_chain().collect::<Vec<_>>();
let provider = self.database.provider()?; let provider = self.database.provider()?;
@ -426,7 +428,7 @@ impl<N: ProviderNodeTypes> HeaderProvider for BlockchainProvider2<N> {
} }
fn headers_range(&self, range: impl RangeBounds<BlockNumber>) -> ProviderResult<Vec<Header>> { fn headers_range(&self, range: impl RangeBounds<BlockNumber>) -> ProviderResult<Vec<Header>> {
self.fetch_db_mem_range_while( self.get_in_memory_or_storage_by_block_range_while(
range, range,
|db_provider, range, _| db_provider.headers_range(range), |db_provider, range, _| db_provider.headers_range(range),
|block_state, _| Some(block_state.block().block().header.header().clone()), |block_state, _| Some(block_state.block().block().header.header().clone()),
@ -446,7 +448,7 @@ impl<N: ProviderNodeTypes> HeaderProvider for BlockchainProvider2<N> {
&self, &self,
range: impl RangeBounds<BlockNumber>, range: impl RangeBounds<BlockNumber>,
) -> ProviderResult<Vec<SealedHeader>> { ) -> ProviderResult<Vec<SealedHeader>> {
self.fetch_db_mem_range_while( self.get_in_memory_or_storage_by_block_range_while(
range, range,
|db_provider, range, _| db_provider.sealed_headers_range(range), |db_provider, range, _| db_provider.sealed_headers_range(range),
|block_state, _| Some(block_state.block().block().header.clone()), |block_state, _| Some(block_state.block().block().header.clone()),
@ -459,7 +461,7 @@ impl<N: ProviderNodeTypes> HeaderProvider for BlockchainProvider2<N> {
range: impl RangeBounds<BlockNumber>, range: impl RangeBounds<BlockNumber>,
predicate: impl FnMut(&SealedHeader) -> bool, predicate: impl FnMut(&SealedHeader) -> bool,
) -> ProviderResult<Vec<SealedHeader>> { ) -> ProviderResult<Vec<SealedHeader>> {
self.fetch_db_mem_range_while( self.get_in_memory_or_storage_by_block_range_while(
range, range,
|db_provider, range, predicate| db_provider.sealed_headers_while(range, predicate), |db_provider, range, predicate| db_provider.sealed_headers_while(range, predicate),
|block_state, predicate| { |block_state, predicate| {
@ -484,7 +486,7 @@ impl<N: ProviderNodeTypes> BlockHashReader for BlockchainProvider2<N> {
start: BlockNumber, start: BlockNumber,
end: BlockNumber, end: BlockNumber,
) -> ProviderResult<Vec<B256>> { ) -> ProviderResult<Vec<B256>> {
self.fetch_db_mem_range_while( self.get_in_memory_or_storage_by_block_range_while(
start..end, start..end,
|db_provider, inclusive_range, _| { |db_provider, inclusive_range, _| {
db_provider db_provider
@ -654,7 +656,7 @@ impl<N: ProviderNodeTypes> BlockReader for BlockchainProvider2<N> {
} }
fn block_range(&self, range: RangeInclusive<BlockNumber>) -> ProviderResult<Vec<Block>> { fn block_range(&self, range: RangeInclusive<BlockNumber>) -> ProviderResult<Vec<Block>> {
self.fetch_db_mem_range_while( self.get_in_memory_or_storage_by_block_range_while(
range, range,
|db_provider, range, _| db_provider.block_range(range), |db_provider, range, _| db_provider.block_range(range),
|block_state, _| Some(block_state.block().block().clone().unseal()), |block_state, _| Some(block_state.block().block().clone().unseal()),
@ -666,7 +668,7 @@ impl<N: ProviderNodeTypes> BlockReader for BlockchainProvider2<N> {
&self, &self,
range: RangeInclusive<BlockNumber>, range: RangeInclusive<BlockNumber>,
) -> ProviderResult<Vec<BlockWithSenders>> { ) -> ProviderResult<Vec<BlockWithSenders>> {
self.fetch_db_mem_range_while( self.get_in_memory_or_storage_by_block_range_while(
range, range,
|db_provider, range, _| db_provider.block_with_senders_range(range), |db_provider, range, _| db_provider.block_with_senders_range(range),
|block_state, _| Some(block_state.block_with_senders()), |block_state, _| Some(block_state.block_with_senders()),
@ -678,7 +680,7 @@ impl<N: ProviderNodeTypes> BlockReader for BlockchainProvider2<N> {
&self, &self,
range: RangeInclusive<BlockNumber>, range: RangeInclusive<BlockNumber>,
) -> ProviderResult<Vec<SealedBlockWithSenders>> { ) -> ProviderResult<Vec<SealedBlockWithSenders>> {
self.fetch_db_mem_range_while( self.get_in_memory_or_storage_by_block_range_while(
range, range,
|db_provider, range, _| db_provider.sealed_block_with_senders_range(range), |db_provider, range, _| db_provider.sealed_block_with_senders_range(range),
|block_state, _| Some(block_state.sealed_block_with_senders()), |block_state, _| Some(block_state.sealed_block_with_senders()),