Trait BlockNumReader
pub trait BlockNumReader:
BlockHashReader
+ Send
+ Sync {
// Required methods
fn chain_info(&self) -> Result<ChainInfo, ProviderError>;
fn best_block_number(&self) -> Result<u64, ProviderError>;
fn last_block_number(&self) -> Result<u64, ProviderError>;
fn block_number(
&self,
hash: FixedBytes<32>,
) -> Result<Option<u64>, ProviderError>;
// Provided methods
fn convert_hash_or_number(
&self,
id: HashOrNumber,
) -> Result<Option<u64>, ProviderError> { ... }
fn convert_number(
&self,
id: HashOrNumber,
) -> Result<Option<FixedBytes<32>>, ProviderError> { ... }
}
Expand description
Client trait for getting important block numbers (such as the latest block number), converting block hashes to numbers, and fetching a block hash from its block number.
This trait also supports fetching block hashes and block numbers from a BlockHashOrNumber.
Required Methods§
fn chain_info(&self) -> Result<ChainInfo, ProviderError>
fn chain_info(&self) -> Result<ChainInfo, ProviderError>
Returns the current info for the chain.
fn best_block_number(&self) -> Result<u64, ProviderError>
fn best_block_number(&self) -> Result<u64, ProviderError>
Returns the best block number in the chain.
fn last_block_number(&self) -> Result<u64, ProviderError>
fn last_block_number(&self) -> Result<u64, ProviderError>
Returns the last block number associated with the last canonical header in the database.
fn block_number(
&self,
hash: FixedBytes<32>,
) -> Result<Option<u64>, ProviderError>
fn block_number( &self, hash: FixedBytes<32>, ) -> Result<Option<u64>, ProviderError>
Gets the BlockNumber
for the given hash. Returns None
if no block with this hash exists.
Provided Methods§
fn convert_hash_or_number(
&self,
id: HashOrNumber,
) -> Result<Option<u64>, ProviderError>
fn convert_hash_or_number( &self, id: HashOrNumber, ) -> Result<Option<u64>, ProviderError>
Gets the block number for the given BlockHashOrNumber
. Returns None
if no block with
this hash exists. If the BlockHashOrNumber
is a Number
, it is returned as is.
fn convert_number(
&self,
id: HashOrNumber,
) -> Result<Option<FixedBytes<32>>, ProviderError>
fn convert_number( &self, id: HashOrNumber, ) -> Result<Option<FixedBytes<32>>, ProviderError>
Gets the block hash for the given BlockHashOrNumber
. Returns None
if no block with this
number exists. If the BlockHashOrNumber
is a Hash
, it is returned as is.