refactor: used new fn earliest_block_number for ::Earliest tag (#16859)

This commit is contained in:
Ishika Choudhury
2025-06-17 23:42:53 +05:30
committed by GitHub
parent 051cef53bc
commit e8d305bcce
5 changed files with 13 additions and 7 deletions

View File

@@ -599,7 +599,9 @@ impl<N: ProviderNodeTypes> StateProviderFactory for BlockchainProvider<N> {
let hash = self.safe_block_hash()?.ok_or(ProviderError::SafeBlockNotFound)?;
self.state_by_block_hash(hash)
}
BlockNumberOrTag::Earliest => self.history_by_block_number(0),
BlockNumberOrTag::Earliest => {
self.history_by_block_number(self.earliest_block_number()?)
}
BlockNumberOrTag::Pending => self.pending(),
BlockNumberOrTag::Number(num) => {
let hash = self

View File

@@ -1250,7 +1250,7 @@ impl<N: ProviderNodeTypes> BlockReaderIdExt for ConsistentProvider<N> {
BlockNumberOrTag::Safe => {
self.canonical_in_memory_state.get_safe_header().map(|h| h.unseal())
}
BlockNumberOrTag::Earliest => self.header_by_number(0)?,
BlockNumberOrTag::Earliest => self.header_by_number(self.earliest_block_number()?)?,
BlockNumberOrTag::Pending => self.canonical_in_memory_state.pending_header(),
BlockNumberOrTag::Number(num) => self.header_by_number(num)?,
@@ -1270,7 +1270,7 @@ impl<N: ProviderNodeTypes> BlockReaderIdExt for ConsistentProvider<N> {
}
BlockNumberOrTag::Safe => Ok(self.canonical_in_memory_state.get_safe_header()),
BlockNumberOrTag::Earliest => self
.header_by_number(0)?
.header_by_number(self.earliest_block_number()?)?
.map_or_else(|| Ok(None), |h| Ok(Some(SealedHeader::seal_slow(h)))),
BlockNumberOrTag::Pending => Ok(self.canonical_in_memory_state.pending_sealed_header()),
BlockNumberOrTag::Number(num) => self

View File

@@ -917,7 +917,9 @@ impl<T: NodePrimitives, ChainSpec: EthChainSpec + Send + Sync + 'static> StatePr
self.history_by_block_hash(hash)
}
BlockNumberOrTag::Earliest => self.history_by_block_number(0),
BlockNumberOrTag::Earliest => {
self.history_by_block_number(self.earliest_block_number()?)
}
BlockNumberOrTag::Pending => self.pending(),
BlockNumberOrTag::Number(num) => self.history_by_block_number(num),
}

View File

@@ -61,7 +61,7 @@ pub trait BlockIdReader: BlockNumReader + Send + Sync {
fn convert_block_number(&self, num: BlockNumberOrTag) -> ProviderResult<Option<BlockNumber>> {
let num = match num {
BlockNumberOrTag::Latest => self.best_block_number()?,
BlockNumberOrTag::Earliest => 0,
BlockNumberOrTag::Earliest => self.earliest_block_number()?,
BlockNumberOrTag::Pending => {
return self
.pending_block_num_hash()
@@ -89,7 +89,7 @@ pub trait BlockIdReader: BlockNumReader + Send + Sync {
.map(|res_opt| res_opt.map(|num_hash| num_hash.hash)),
BlockNumberOrTag::Finalized => self.finalized_block_hash(),
BlockNumberOrTag::Safe => self.safe_block_hash(),
BlockNumberOrTag::Earliest => self.block_hash(0),
BlockNumberOrTag::Earliest => self.block_hash(self.earliest_block_number()?),
BlockNumberOrTag::Number(num) => self.block_hash(num),
},
}

View File

@@ -486,7 +486,9 @@ impl<C: Send + Sync + 'static, N: NodePrimitives> StateProviderFactory for NoopP
self.history_by_block_hash(hash)
}
BlockNumberOrTag::Earliest => self.history_by_block_number(0),
BlockNumberOrTag::Earliest => {
self.history_by_block_number(self.earliest_block_number()?)
}
BlockNumberOrTag::Pending => self.pending(),
BlockNumberOrTag::Number(num) => self.history_by_block_number(num),
}