#[non_exhaustive]pub struct NoopProvider;
Available on crate feature
test-utils
only.Expand description
Supports various api interfaces for testing purposes.
Trait Implementations§
Source§impl AccountReader for NoopProvider
impl AccountReader for NoopProvider
Source§fn basic_account(&self, _address: Address) -> ProviderResult<Option<Account>>
fn basic_account(&self, _address: Address) -> ProviderResult<Option<Account>>
Get basic account information. Read more
Source§impl BlockHashReader for NoopProvider
impl BlockHashReader for NoopProvider
Noop implementation for testing purposes
Source§fn block_hash(&self, _number: u64) -> ProviderResult<Option<B256>>
fn block_hash(&self, _number: u64) -> ProviderResult<Option<B256>>
Get the hash of the block with the given number. Returns
None
if no block with this number
exists.Source§fn canonical_hashes_range(
&self,
_start: BlockNumber,
_end: BlockNumber,
) -> ProviderResult<Vec<B256>>
fn canonical_hashes_range( &self, _start: BlockNumber, _end: BlockNumber, ) -> ProviderResult<Vec<B256>>
Get headers in range of block hashes or numbers Read more
§fn convert_block_hash(
&self,
hash_or_number: HashOrNumber,
) -> Result<Option<FixedBytes<32>>, ProviderError>
fn convert_block_hash( &self, hash_or_number: HashOrNumber, ) -> Result<Option<FixedBytes<32>>, ProviderError>
Get the hash of the block with the given number. Returns
None
if no block with this number
exists.Source§impl BlockIdReader for NoopProvider
impl BlockIdReader for NoopProvider
Source§fn pending_block_num_hash(&self) -> ProviderResult<Option<BlockNumHash>>
fn pending_block_num_hash(&self) -> ProviderResult<Option<BlockNumHash>>
Get the current pending block number and hash.
Source§fn safe_block_num_hash(&self) -> ProviderResult<Option<BlockNumHash>>
fn safe_block_num_hash(&self) -> ProviderResult<Option<BlockNumHash>>
Get the current safe block number and hash.
Source§fn finalized_block_num_hash(&self) -> ProviderResult<Option<BlockNumHash>>
fn finalized_block_num_hash(&self) -> ProviderResult<Option<BlockNumHash>>
Get the current finalized block number and hash.
§fn convert_block_number(
&self,
num: BlockNumberOrTag,
) -> Result<Option<u64>, ProviderError>
fn convert_block_number( &self, num: BlockNumberOrTag, ) -> Result<Option<u64>, ProviderError>
Converts the
BlockNumberOrTag
variants to a block number.§fn block_hash_for_id(
&self,
block_id: BlockId,
) -> Result<Option<FixedBytes<32>>, ProviderError>
fn block_hash_for_id( &self, block_id: BlockId, ) -> Result<Option<FixedBytes<32>>, ProviderError>
Get the hash of the block by matching the given id.
§fn block_number_for_id(
&self,
block_id: BlockId,
) -> Result<Option<u64>, ProviderError>
fn block_number_for_id( &self, block_id: BlockId, ) -> Result<Option<u64>, ProviderError>
Get the number of the block by matching the given id.
§fn safe_block_number(&self) -> Result<Option<u64>, ProviderError>
fn safe_block_number(&self) -> Result<Option<u64>, ProviderError>
Get the safe block number.
§fn finalized_block_number(&self) -> Result<Option<u64>, ProviderError>
fn finalized_block_number(&self) -> Result<Option<u64>, ProviderError>
Get the finalized block number.
§fn safe_block_hash(&self) -> Result<Option<FixedBytes<32>>, ProviderError>
fn safe_block_hash(&self) -> Result<Option<FixedBytes<32>>, ProviderError>
Get the safe block hash.
§fn finalized_block_hash(&self) -> Result<Option<FixedBytes<32>>, ProviderError>
fn finalized_block_hash(&self) -> Result<Option<FixedBytes<32>>, ProviderError>
Get the finalized block hash.
Source§impl BlockNumReader for NoopProvider
impl BlockNumReader for NoopProvider
Source§fn chain_info(&self) -> ProviderResult<ChainInfo>
fn chain_info(&self) -> ProviderResult<ChainInfo>
Returns the current info for the chain.
Source§fn best_block_number(&self) -> ProviderResult<BlockNumber>
fn best_block_number(&self) -> ProviderResult<BlockNumber>
Returns the best block number in the chain.
Source§fn last_block_number(&self) -> ProviderResult<BlockNumber>
fn last_block_number(&self) -> ProviderResult<BlockNumber>
Returns the last block number associated with the last canonical header in the database.
Source§fn block_number(&self, _hash: B256) -> ProviderResult<Option<BlockNumber>>
fn block_number(&self, _hash: B256) -> ProviderResult<Option<BlockNumber>>
Gets the
BlockNumber
for the given hash. Returns None
if no block with this hash exists.§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.Source§impl BlockReader for NoopProvider
impl BlockReader for NoopProvider
Source§fn find_block_by_hash(
&self,
hash: B256,
_source: BlockSource,
) -> ProviderResult<Option<Block>>
fn find_block_by_hash( &self, hash: B256, _source: BlockSource, ) -> ProviderResult<Option<Block>>
Tries to find in the given block source. Read more
Source§fn block(&self, _id: BlockHashOrNumber) -> ProviderResult<Option<Block>>
fn block(&self, _id: BlockHashOrNumber) -> ProviderResult<Option<Block>>
Returns the block with given id from the database. Read more
Source§fn pending_block(&self) -> ProviderResult<Option<SealedBlock>>
fn pending_block(&self) -> ProviderResult<Option<SealedBlock>>
Returns the pending block if available Read more
Source§fn pending_block_with_senders(
&self,
) -> ProviderResult<Option<SealedBlockWithSenders>>
fn pending_block_with_senders( &self, ) -> ProviderResult<Option<SealedBlockWithSenders>>
Returns the pending block if available Read more
Source§fn pending_block_and_receipts(
&self,
) -> ProviderResult<Option<(SealedBlock, Vec<Receipt>)>>
fn pending_block_and_receipts( &self, ) -> ProviderResult<Option<(SealedBlock, Vec<Receipt>)>>
Returns the pending block and receipts if available.
Source§fn ommers(&self, _id: BlockHashOrNumber) -> ProviderResult<Option<Vec<Header>>>
fn ommers(&self, _id: BlockHashOrNumber) -> ProviderResult<Option<Vec<Header>>>
Returns the ommers/uncle headers of the given block from the database. Read more
Source§fn block_body_indices(
&self,
_num: u64,
) -> ProviderResult<Option<StoredBlockBodyIndices>>
fn block_body_indices( &self, _num: u64, ) -> ProviderResult<Option<StoredBlockBodyIndices>>
Returns the block body indices with matching number from database. Read more
Source§fn block_with_senders(
&self,
_id: BlockHashOrNumber,
_transaction_kind: TransactionVariant,
) -> ProviderResult<Option<BlockWithSenders>>
fn block_with_senders( &self, _id: BlockHashOrNumber, _transaction_kind: TransactionVariant, ) -> ProviderResult<Option<BlockWithSenders>>
Returns the block with senders with matching number or hash from database. Read more
Source§fn sealed_block_with_senders(
&self,
_id: BlockHashOrNumber,
_transaction_kind: TransactionVariant,
) -> ProviderResult<Option<SealedBlockWithSenders>>
fn sealed_block_with_senders( &self, _id: BlockHashOrNumber, _transaction_kind: TransactionVariant, ) -> ProviderResult<Option<SealedBlockWithSenders>>
Returns the sealed block with senders with matching number or hash from database. Read more
Source§fn block_range(
&self,
_range: RangeInclusive<BlockNumber>,
) -> ProviderResult<Vec<Block>>
fn block_range( &self, _range: RangeInclusive<BlockNumber>, ) -> ProviderResult<Vec<Block>>
Returns all blocks in the given inclusive range. Read more
Source§fn block_with_senders_range(
&self,
_range: RangeInclusive<BlockNumber>,
) -> ProviderResult<Vec<BlockWithSenders>>
fn block_with_senders_range( &self, _range: RangeInclusive<BlockNumber>, ) -> ProviderResult<Vec<BlockWithSenders>>
Returns a range of blocks from the database, along with the senders of each
transaction in the blocks.
Source§fn sealed_block_with_senders_range(
&self,
_range: RangeInclusive<BlockNumber>,
) -> ProviderResult<Vec<SealedBlockWithSenders>>
fn sealed_block_with_senders_range( &self, _range: RangeInclusive<BlockNumber>, ) -> ProviderResult<Vec<SealedBlockWithSenders>>
Returns a range of sealed blocks from the database, along with the senders of each
transaction in the blocks.
§fn block_by_hash(
&self,
hash: FixedBytes<32>,
) -> Result<Option<Block>, ProviderError>
fn block_by_hash( &self, hash: FixedBytes<32>, ) -> Result<Option<Block>, ProviderError>
Returns the block with matching hash from the database. Read more
§fn block_by_number(&self, num: u64) -> Result<Option<Block>, ProviderError>
fn block_by_number(&self, num: u64) -> Result<Option<Block>, ProviderError>
Returns the block with matching number from database. Read more
Source§impl BlockReaderIdExt for NoopProvider
impl BlockReaderIdExt for NoopProvider
Source§fn block_by_id(&self, _id: BlockId) -> ProviderResult<Option<Block>>
fn block_by_id(&self, _id: BlockId) -> ProviderResult<Option<Block>>
Returns the block with the matching [
BlockId
] from the database. Read moreSource§fn sealed_header_by_id(
&self,
_id: BlockId,
) -> ProviderResult<Option<SealedHeader>>
fn sealed_header_by_id( &self, _id: BlockId, ) -> ProviderResult<Option<SealedHeader>>
Returns the sealed header with the matching
BlockId
from the database. Read moreSource§fn header_by_id(&self, _id: BlockId) -> ProviderResult<Option<Header>>
fn header_by_id(&self, _id: BlockId) -> ProviderResult<Option<Header>>
Returns the header with the matching
BlockId
from the database. Read moreSource§fn ommers_by_id(&self, _id: BlockId) -> ProviderResult<Option<Vec<Header>>>
fn ommers_by_id(&self, _id: BlockId) -> ProviderResult<Option<Vec<Header>>>
Returns the ommers with the matching
BlockId
from the database. Read more§fn block_by_number_or_tag(
&self,
id: BlockNumberOrTag,
) -> Result<Option<Block>, ProviderError>
fn block_by_number_or_tag( &self, id: BlockNumberOrTag, ) -> Result<Option<Block>, ProviderError>
Returns the block with matching tag from the database Read more
§fn pending_header(&self) -> Result<Option<SealedHeader>, ProviderError>
fn pending_header(&self) -> Result<Option<SealedHeader>, ProviderError>
Returns the pending block header if available Read more
§fn latest_header(&self) -> Result<Option<SealedHeader>, ProviderError>
fn latest_header(&self) -> Result<Option<SealedHeader>, ProviderError>
Returns the latest block header if available Read more
§fn safe_header(&self) -> Result<Option<SealedHeader>, ProviderError>
fn safe_header(&self) -> Result<Option<SealedHeader>, ProviderError>
Returns the safe block header if available Read more
§fn finalized_header(&self) -> Result<Option<SealedHeader>, ProviderError>
fn finalized_header(&self) -> Result<Option<SealedHeader>, ProviderError>
Returns the finalized block header if available Read more
§fn block_with_senders_by_id(
&self,
id: BlockId,
transaction_kind: TransactionVariant,
) -> Result<Option<BlockWithSenders>, ProviderError>
fn block_with_senders_by_id( &self, id: BlockId, transaction_kind: TransactionVariant, ) -> Result<Option<BlockWithSenders>, ProviderError>
Returns the block with senders with matching [
BlockId
]. Read more§fn header_by_number_or_tag(
&self,
id: BlockNumberOrTag,
) -> Result<Option<Header>, ProviderError>
fn header_by_number_or_tag( &self, id: BlockNumberOrTag, ) -> Result<Option<Header>, ProviderError>
Returns the header with matching tag from the database Read more
§fn sealed_header_by_number_or_tag(
&self,
id: BlockNumberOrTag,
) -> Result<Option<SealedHeader>, ProviderError>
fn sealed_header_by_number_or_tag( &self, id: BlockNumberOrTag, ) -> Result<Option<SealedHeader>, ProviderError>
Returns the header with matching tag from the database Read more
§fn ommers_by_number_or_tag(
&self,
id: BlockNumberOrTag,
) -> Result<Option<Vec<Header>>, ProviderError>
fn ommers_by_number_or_tag( &self, id: BlockNumberOrTag, ) -> Result<Option<Vec<Header>>, ProviderError>
Returns the ommers with the matching tag from the database.
Source§impl CanonStateSubscriptions for NoopProvider
impl CanonStateSubscriptions for NoopProvider
Source§fn subscribe_to_canonical_state(&self) -> CanonStateNotifications
fn subscribe_to_canonical_state(&self) -> CanonStateNotifications
Get notified when a new canonical chain was imported. Read more
§fn canonical_state_stream(&self) -> CanonStateNotificationStream
fn canonical_state_stream(&self) -> CanonStateNotificationStream
Convenience method to get a stream of
CanonStateNotification
.Source§impl ChainSpecProvider for NoopProvider
impl ChainSpecProvider for NoopProvider
Source§impl ChangeSetReader for NoopProvider
impl ChangeSetReader for NoopProvider
Source§fn account_block_changeset(
&self,
_block_number: BlockNumber,
) -> ProviderResult<Vec<AccountBeforeTx>>
fn account_block_changeset( &self, _block_number: BlockNumber, ) -> ProviderResult<Vec<AccountBeforeTx>>
Iterate over account changesets and return the account state from before this block.
Source§impl Clone for NoopProvider
impl Clone for NoopProvider
Source§fn clone(&self) -> NoopProvider
fn clone(&self) -> NoopProvider
Returns a copy of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moreSource§impl Debug for NoopProvider
impl Debug for NoopProvider
Source§impl Default for NoopProvider
impl Default for NoopProvider
Source§fn default() -> NoopProvider
fn default() -> NoopProvider
Returns the “default value” for a type. Read more
Source§impl EvmEnvProvider for NoopProvider
impl EvmEnvProvider for NoopProvider
Source§fn fill_env_at<EvmConfig>(
&self,
_cfg: &mut CfgEnvWithHandlerCfg,
_block_env: &mut BlockEnv,
_at: BlockHashOrNumber,
_evm_config: EvmConfig,
) -> ProviderResult<()>where
EvmConfig: ConfigureEvmEnv<Header = Header>,
fn fill_env_at<EvmConfig>(
&self,
_cfg: &mut CfgEnvWithHandlerCfg,
_block_env: &mut BlockEnv,
_at: BlockHashOrNumber,
_evm_config: EvmConfig,
) -> ProviderResult<()>where
EvmConfig: ConfigureEvmEnv<Header = Header>,
Fills the [
CfgEnvWithHandlerCfg
] and [BlockEnv] fields with values specific to the given
[BlockHashOrNumber].Source§fn fill_env_with_header<EvmConfig>(
&self,
_cfg: &mut CfgEnvWithHandlerCfg,
_block_env: &mut BlockEnv,
_header: &Header,
_evm_config: EvmConfig,
) -> ProviderResult<()>where
EvmConfig: ConfigureEvmEnv<Header = Header>,
fn fill_env_with_header<EvmConfig>(
&self,
_cfg: &mut CfgEnvWithHandlerCfg,
_block_env: &mut BlockEnv,
_header: &Header,
_evm_config: EvmConfig,
) -> ProviderResult<()>where
EvmConfig: ConfigureEvmEnv<Header = Header>,
Fills the [
CfgEnvWithHandlerCfg
] and [BlockEnv] fields with values specific to the given
[Header].Source§fn fill_cfg_env_at<EvmConfig>(
&self,
_cfg: &mut CfgEnvWithHandlerCfg,
_at: BlockHashOrNumber,
_evm_config: EvmConfig,
) -> ProviderResult<()>where
EvmConfig: ConfigureEvmEnv<Header = Header>,
fn fill_cfg_env_at<EvmConfig>(
&self,
_cfg: &mut CfgEnvWithHandlerCfg,
_at: BlockHashOrNumber,
_evm_config: EvmConfig,
) -> ProviderResult<()>where
EvmConfig: ConfigureEvmEnv<Header = Header>,
Fills the [
CfgEnvWithHandlerCfg
] fields with values specific to the given
[BlockHashOrNumber].Source§fn fill_cfg_env_with_header<EvmConfig>(
&self,
_cfg: &mut CfgEnvWithHandlerCfg,
_header: &Header,
_evm_config: EvmConfig,
) -> ProviderResult<()>where
EvmConfig: ConfigureEvmEnv<Header = Header>,
fn fill_cfg_env_with_header<EvmConfig>(
&self,
_cfg: &mut CfgEnvWithHandlerCfg,
_header: &Header,
_evm_config: EvmConfig,
) -> ProviderResult<()>where
EvmConfig: ConfigureEvmEnv<Header = Header>,
Fills the [
CfgEnvWithHandlerCfg
] fields with values specific to the given [Header].§fn env_with_header<EvmConfig>(
&self,
header: &Header,
evm_config: EvmConfig,
) -> Result<(CfgEnvWithHandlerCfg, BlockEnv), ProviderError>where
EvmConfig: ConfigureEvmEnv<Header = Header>,
fn env_with_header<EvmConfig>(
&self,
header: &Header,
evm_config: EvmConfig,
) -> Result<(CfgEnvWithHandlerCfg, BlockEnv), ProviderError>where
EvmConfig: ConfigureEvmEnv<Header = Header>,
Fills the default [
CfgEnvWithHandlerCfg
] and [BlockEnv] fields with values specific to the
given [Header].Source§impl ForkChoiceSubscriptions for NoopProvider
impl ForkChoiceSubscriptions for NoopProvider
Source§fn subscribe_safe_block(&self) -> ForkChoiceNotifications
fn subscribe_safe_block(&self) -> ForkChoiceNotifications
Get notified when a new safe block of the chain is selected.
Source§fn subscribe_finalized_block(&self) -> ForkChoiceNotifications
fn subscribe_finalized_block(&self) -> ForkChoiceNotifications
Get notified when a new finalized block of the chain is selected.
§fn safe_block_stream(&self) -> ForkChoiceStream<SealedHeader>
fn safe_block_stream(&self) -> ForkChoiceStream<SealedHeader>
Convenience method to get a stream of the new safe blocks of the chain.
§fn finalized_block_stream(&self) -> ForkChoiceStream<SealedHeader>
fn finalized_block_stream(&self) -> ForkChoiceStream<SealedHeader>
Convenience method to get a stream of the new finalized blocks of the chain.
Source§impl HeaderProvider for NoopProvider
impl HeaderProvider for NoopProvider
Source§fn header(&self, _block_hash: &BlockHash) -> ProviderResult<Option<Header>>
fn header(&self, _block_hash: &BlockHash) -> ProviderResult<Option<Header>>
Get header by block hash
Source§fn header_by_number(&self, _num: u64) -> ProviderResult<Option<Header>>
fn header_by_number(&self, _num: u64) -> ProviderResult<Option<Header>>
Get header by block number
Source§fn header_td(&self, _hash: &BlockHash) -> ProviderResult<Option<U256>>
fn header_td(&self, _hash: &BlockHash) -> ProviderResult<Option<U256>>
Get total difficulty by block hash.
Source§fn header_td_by_number(
&self,
_number: BlockNumber,
) -> ProviderResult<Option<U256>>
fn header_td_by_number( &self, _number: BlockNumber, ) -> ProviderResult<Option<U256>>
Get total difficulty by block number.
Source§fn headers_range(
&self,
_range: impl RangeBounds<BlockNumber>,
) -> ProviderResult<Vec<Header>>
fn headers_range( &self, _range: impl RangeBounds<BlockNumber>, ) -> ProviderResult<Vec<Header>>
Get headers in range of block numbers
Source§fn sealed_header(
&self,
_number: BlockNumber,
) -> ProviderResult<Option<SealedHeader>>
fn sealed_header( &self, _number: BlockNumber, ) -> ProviderResult<Option<SealedHeader>>
Get a single sealed header by block number.
Source§fn sealed_headers_while(
&self,
_range: impl RangeBounds<BlockNumber>,
_predicate: impl FnMut(&SealedHeader) -> bool,
) -> ProviderResult<Vec<SealedHeader>>
fn sealed_headers_while( &self, _range: impl RangeBounds<BlockNumber>, _predicate: impl FnMut(&SealedHeader) -> bool, ) -> ProviderResult<Vec<SealedHeader>>
Get sealed headers while
predicate
returns true
or the range is exhausted.§fn is_known(&self, block_hash: &FixedBytes<32>) -> Result<bool, ProviderError>
fn is_known(&self, block_hash: &FixedBytes<32>) -> Result<bool, ProviderError>
Check if block is known
§fn sealed_header_by_hash(
&self,
block_hash: FixedBytes<32>,
) -> Result<Option<SealedHeader>, ProviderError>
fn sealed_header_by_hash( &self, block_hash: FixedBytes<32>, ) -> Result<Option<SealedHeader>, ProviderError>
Retrieves the header sealed by the given block hash.
§fn header_by_hash_or_number(
&self,
hash_or_num: HashOrNumber,
) -> Result<Option<Header>, ProviderError>
fn header_by_hash_or_number( &self, hash_or_num: HashOrNumber, ) -> Result<Option<Header>, ProviderError>
Get header by block number or hash
§fn sealed_headers_range(
&self,
range: impl RangeBounds<u64>,
) -> Result<Vec<SealedHeader>, ProviderError>
fn sealed_headers_range( &self, range: impl RangeBounds<u64>, ) -> Result<Vec<SealedHeader>, ProviderError>
Get headers in range of block numbers.
Source§impl PruneCheckpointReader for NoopProvider
impl PruneCheckpointReader for NoopProvider
Source§fn get_prune_checkpoint(
&self,
_segment: PruneSegment,
) -> ProviderResult<Option<PruneCheckpoint>>
fn get_prune_checkpoint( &self, _segment: PruneSegment, ) -> ProviderResult<Option<PruneCheckpoint>>
Fetch the prune checkpoint for the given segment.
Source§fn get_prune_checkpoints(
&self,
) -> ProviderResult<Vec<(PruneSegment, PruneCheckpoint)>>
fn get_prune_checkpoints( &self, ) -> ProviderResult<Vec<(PruneSegment, PruneCheckpoint)>>
Fetch all the prune checkpoints.
Source§impl ReceiptProvider for NoopProvider
impl ReceiptProvider for NoopProvider
Source§fn receipt(&self, _id: TxNumber) -> ProviderResult<Option<Receipt>>
fn receipt(&self, _id: TxNumber) -> ProviderResult<Option<Receipt>>
Get receipt by transaction number Read more
Source§fn receipt_by_hash(&self, _hash: TxHash) -> ProviderResult<Option<Receipt>>
fn receipt_by_hash(&self, _hash: TxHash) -> ProviderResult<Option<Receipt>>
Get receipt by transaction hash. Read more
Source§fn receipts_by_block(
&self,
_block: BlockHashOrNumber,
) -> ProviderResult<Option<Vec<Receipt>>>
fn receipts_by_block( &self, _block: BlockHashOrNumber, ) -> ProviderResult<Option<Vec<Receipt>>>
Get receipts by block num or hash. Read more
Source§fn receipts_by_tx_range(
&self,
_range: impl RangeBounds<TxNumber>,
) -> ProviderResult<Vec<Receipt>>
fn receipts_by_tx_range( &self, _range: impl RangeBounds<TxNumber>, ) -> ProviderResult<Vec<Receipt>>
Get receipts by tx range.
Source§impl ReceiptProviderIdExt for NoopProvider
impl ReceiptProviderIdExt for NoopProvider
§fn receipts_by_block_id(
&self,
block: BlockId,
) -> Result<Option<Vec<Receipt>>, ProviderError>
fn receipts_by_block_id( &self, block: BlockId, ) -> Result<Option<Vec<Receipt>>, ProviderError>
Get receipt by block id
§fn receipts_by_number_or_tag(
&self,
number_or_tag: BlockNumberOrTag,
) -> Result<Option<Vec<Receipt>>, ProviderError>
fn receipts_by_number_or_tag( &self, number_or_tag: BlockNumberOrTag, ) -> Result<Option<Vec<Receipt>>, ProviderError>
Returns the block with the matching
BlockId
from the database. Read moreSource§impl StageCheckpointReader for NoopProvider
impl StageCheckpointReader for NoopProvider
Source§fn get_stage_checkpoint(
&self,
_id: StageId,
) -> ProviderResult<Option<StageCheckpoint>>
fn get_stage_checkpoint( &self, _id: StageId, ) -> ProviderResult<Option<StageCheckpoint>>
Fetch the checkpoint for the given stage.
Source§fn get_stage_checkpoint_progress(
&self,
_id: StageId,
) -> ProviderResult<Option<Vec<u8>>>
fn get_stage_checkpoint_progress( &self, _id: StageId, ) -> ProviderResult<Option<Vec<u8>>>
Get stage checkpoint progress.
Source§fn get_all_checkpoints(&self) -> ProviderResult<Vec<(String, StageCheckpoint)>>
fn get_all_checkpoints(&self) -> ProviderResult<Vec<(String, StageCheckpoint)>>
Reads all stage checkpoints and returns a list with the name of the stage and the checkpoint
data.
Source§impl StateProofProvider for NoopProvider
impl StateProofProvider for NoopProvider
Source§fn proof(
&self,
_input: TrieInput,
address: Address,
_slots: &[B256],
) -> ProviderResult<AccountProof>
fn proof( &self, _input: TrieInput, address: Address, _slots: &[B256], ) -> ProviderResult<AccountProof>
Get account and storage proofs of target keys in the
HashedPostState
on top of the current state.Source§fn multiproof(
&self,
_input: TrieInput,
_targets: HashMap<B256, HashSet<B256>>,
) -> ProviderResult<MultiProof>
fn multiproof( &self, _input: TrieInput, _targets: HashMap<B256, HashSet<B256>>, ) -> ProviderResult<MultiProof>
Generate [
MultiProof
] for target hashed account and corresponding
hashed storage slot keys.Source§fn witness(
&self,
_input: TrieInput,
_target: HashedPostState,
) -> ProviderResult<HashMap<B256, Bytes>>
fn witness( &self, _input: TrieInput, _target: HashedPostState, ) -> ProviderResult<HashMap<B256, Bytes>>
Get trie witness for provided state.
Source§impl StateProvider for NoopProvider
impl StateProvider for NoopProvider
Source§fn storage(
&self,
_account: Address,
_storage_key: StorageKey,
) -> ProviderResult<Option<StorageValue>>
fn storage( &self, _account: Address, _storage_key: StorageKey, ) -> ProviderResult<Option<StorageValue>>
Get storage of given account.
Source§fn bytecode_by_hash(&self, _code_hash: B256) -> ProviderResult<Option<Bytecode>>
fn bytecode_by_hash(&self, _code_hash: B256) -> ProviderResult<Option<Bytecode>>
Get account code by its hash
§fn account_code(&self, addr: Address) -> Result<Option<Bytecode>, ProviderError>
fn account_code(&self, addr: Address) -> Result<Option<Bytecode>, ProviderError>
Get account code by its address. Read more
§fn account_balance(
&self,
addr: Address,
) -> Result<Option<Uint<256, 4>>, ProviderError>
fn account_balance( &self, addr: Address, ) -> Result<Option<Uint<256, 4>>, ProviderError>
Get account balance by its address. Read more
§fn account_nonce(&self, addr: Address) -> Result<Option<u64>, ProviderError>
fn account_nonce(&self, addr: Address) -> Result<Option<u64>, ProviderError>
Get account nonce by its address. Read more
Source§impl StateProviderFactory for NoopProvider
impl StateProviderFactory for NoopProvider
Source§fn latest(&self) -> ProviderResult<StateProviderBox>
fn latest(&self) -> ProviderResult<StateProviderBox>
Storage provider for latest block.
Source§fn state_by_block_number_or_tag(
&self,
number_or_tag: BlockNumberOrTag,
) -> ProviderResult<StateProviderBox>
fn state_by_block_number_or_tag( &self, number_or_tag: BlockNumberOrTag, ) -> ProviderResult<StateProviderBox>
Returns a StateProvider indexed by the given block number or tag. Read more
Source§fn history_by_block_number(
&self,
_block: BlockNumber,
) -> ProviderResult<StateProviderBox>
fn history_by_block_number( &self, _block: BlockNumber, ) -> ProviderResult<StateProviderBox>
Returns a historical StateProvider indexed by the given historic block number. Read more
Source§fn history_by_block_hash(
&self,
_block: BlockHash,
) -> ProviderResult<StateProviderBox>
fn history_by_block_hash( &self, _block: BlockHash, ) -> ProviderResult<StateProviderBox>
Returns a historical StateProvider indexed by the given block hash. Read more
Source§fn state_by_block_hash(
&self,
_block: BlockHash,
) -> ProviderResult<StateProviderBox>
fn state_by_block_hash( &self, _block: BlockHash, ) -> ProviderResult<StateProviderBox>
Returns any StateProvider with matching block hash. Read more
Source§fn pending(&self) -> ProviderResult<StateProviderBox>
fn pending(&self) -> ProviderResult<StateProviderBox>
Storage provider for pending state. Read more
Source§fn pending_state_by_hash(
&self,
_block_hash: B256,
) -> ProviderResult<Option<StateProviderBox>>
fn pending_state_by_hash( &self, _block_hash: B256, ) -> ProviderResult<Option<StateProviderBox>>
Storage provider for pending state for the given block hash. Read more
§fn state_by_block_id(
&self,
block_id: BlockId,
) -> Result<Box<dyn StateProvider>, ProviderError>
fn state_by_block_id( &self, block_id: BlockId, ) -> Result<Box<dyn StateProvider>, ProviderError>
Source§impl StateRootProvider for NoopProvider
impl StateRootProvider for NoopProvider
Source§fn state_root(&self, _state: HashedPostState) -> ProviderResult<B256>
fn state_root(&self, _state: HashedPostState) -> ProviderResult<B256>
Returns the state root of the
BundleState
on top of the current state. Read moreSource§fn state_root_from_nodes(&self, _input: TrieInput) -> ProviderResult<B256>
fn state_root_from_nodes(&self, _input: TrieInput) -> ProviderResult<B256>
Returns the state root of the
HashedPostState
on top of the current state but re-uses the
intermediate nodes to speed up the computation. It’s up to the caller to construct the
prefix sets and inform the provider of the trie paths that have changes.Source§fn state_root_with_updates(
&self,
_state: HashedPostState,
) -> ProviderResult<(B256, TrieUpdates)>
fn state_root_with_updates( &self, _state: HashedPostState, ) -> ProviderResult<(B256, TrieUpdates)>
Returns the state root of the
HashedPostState
on top of the current state with trie
updates to be committed to the database.Source§fn state_root_from_nodes_with_updates(
&self,
_input: TrieInput,
) -> ProviderResult<(B256, TrieUpdates)>
fn state_root_from_nodes_with_updates( &self, _input: TrieInput, ) -> ProviderResult<(B256, TrieUpdates)>
Returns state root and trie updates.
See
StateRootProvider::state_root_from_nodes
for more info.Source§impl StaticFileProviderFactory for NoopProvider
impl StaticFileProviderFactory for NoopProvider
Source§fn static_file_provider(&self) -> StaticFileProvider
fn static_file_provider(&self) -> StaticFileProvider
Create new instance of static file provider.
Source§impl StorageRootProvider for NoopProvider
impl StorageRootProvider for NoopProvider
Source§fn storage_root(
&self,
_address: Address,
_hashed_storage: HashedStorage,
) -> ProviderResult<B256>
fn storage_root( &self, _address: Address, _hashed_storage: HashedStorage, ) -> ProviderResult<B256>
Returns the storage root of the
HashedStorage
for target address on top of the current
state.Source§fn storage_proof(
&self,
_address: Address,
slot: B256,
_hashed_storage: HashedStorage,
) -> ProviderResult<StorageProof>
fn storage_proof( &self, _address: Address, slot: B256, _hashed_storage: HashedStorage, ) -> ProviderResult<StorageProof>
Returns the storage proof of the
HashedStorage
for target slot on top of the current
state.Source§impl TransactionsProvider for NoopProvider
impl TransactionsProvider for NoopProvider
Source§fn transaction_id(&self, _tx_hash: TxHash) -> ProviderResult<Option<TxNumber>>
fn transaction_id(&self, _tx_hash: TxHash) -> ProviderResult<Option<TxNumber>>
Get internal transaction identifier by transaction hash. Read more
Source§fn transaction_by_id(
&self,
_id: TxNumber,
) -> ProviderResult<Option<TransactionSigned>>
fn transaction_by_id( &self, _id: TxNumber, ) -> ProviderResult<Option<TransactionSigned>>
Get transaction by id, computes hash every time so more expensive.
Source§fn transaction_by_id_no_hash(
&self,
_id: TxNumber,
) -> ProviderResult<Option<TransactionSignedNoHash>>
fn transaction_by_id_no_hash( &self, _id: TxNumber, ) -> ProviderResult<Option<TransactionSignedNoHash>>
Get transaction by id without computing the hash.
Source§fn transaction_by_hash(
&self,
_hash: TxHash,
) -> ProviderResult<Option<TransactionSigned>>
fn transaction_by_hash( &self, _hash: TxHash, ) -> ProviderResult<Option<TransactionSigned>>
Get transaction by transaction hash.
Source§fn transaction_by_hash_with_meta(
&self,
_hash: TxHash,
) -> ProviderResult<Option<(TransactionSigned, TransactionMeta)>>
fn transaction_by_hash_with_meta( &self, _hash: TxHash, ) -> ProviderResult<Option<(TransactionSigned, TransactionMeta)>>
Get transaction by transaction hash and additional metadata of the block the transaction was
mined in
Source§fn transaction_block(
&self,
_id: TxNumber,
) -> ProviderResult<Option<BlockNumber>>
fn transaction_block( &self, _id: TxNumber, ) -> ProviderResult<Option<BlockNumber>>
Get transaction block number
Source§fn transactions_by_block(
&self,
_block_id: BlockHashOrNumber,
) -> ProviderResult<Option<Vec<TransactionSigned>>>
fn transactions_by_block( &self, _block_id: BlockHashOrNumber, ) -> ProviderResult<Option<Vec<TransactionSigned>>>
Get transactions by block id.
Source§fn transactions_by_block_range(
&self,
_range: impl RangeBounds<BlockNumber>,
) -> ProviderResult<Vec<Vec<TransactionSigned>>>
fn transactions_by_block_range( &self, _range: impl RangeBounds<BlockNumber>, ) -> ProviderResult<Vec<Vec<TransactionSigned>>>
Get transactions by block range.
Source§fn transactions_by_tx_range(
&self,
_range: impl RangeBounds<TxNumber>,
) -> ProviderResult<Vec<TransactionSignedNoHash>>
fn transactions_by_tx_range( &self, _range: impl RangeBounds<TxNumber>, ) -> ProviderResult<Vec<TransactionSignedNoHash>>
Get transactions by tx range.
Source§fn senders_by_tx_range(
&self,
_range: impl RangeBounds<TxNumber>,
) -> ProviderResult<Vec<Address>>
fn senders_by_tx_range( &self, _range: impl RangeBounds<TxNumber>, ) -> ProviderResult<Vec<Address>>
Get Senders from a tx range.
Source§fn transaction_sender(&self, _id: TxNumber) -> ProviderResult<Option<Address>>
fn transaction_sender(&self, _id: TxNumber) -> ProviderResult<Option<Address>>
Get transaction sender. Read more
Source§impl WithdrawalsProvider for NoopProvider
impl WithdrawalsProvider for NoopProvider
Source§fn withdrawals_by_block(
&self,
_id: BlockHashOrNumber,
_timestamp: u64,
) -> ProviderResult<Option<Withdrawals>>
fn withdrawals_by_block( &self, _id: BlockHashOrNumber, _timestamp: u64, ) -> ProviderResult<Option<Withdrawals>>
Get withdrawals by block id.
Source§fn latest_withdrawal(&self) -> ProviderResult<Option<Withdrawal>>
fn latest_withdrawal(&self) -> ProviderResult<Option<Withdrawal>>
Get latest withdrawal from this block or earlier .
impl Copy for NoopProvider
Auto Trait Implementations§
impl Freeze for NoopProvider
impl RefUnwindSafe for NoopProvider
impl Send for NoopProvider
impl Sync for NoopProvider
impl Unpin for NoopProvider
impl UnwindSafe for NoopProvider
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<T> Conv for T
impl<T> Conv for T
§impl<T> EvmStateProvider for Twhere
T: StateProvider,
impl<T> EvmStateProvider for Twhere
T: StateProvider,
§fn basic_account(
&self,
address: Address,
) -> Result<Option<Account>, ProviderError>
fn basic_account( &self, address: Address, ) -> Result<Option<Account>, ProviderError>
Get basic account information. Read more
§fn block_hash(
&self,
number: u64,
) -> Result<Option<FixedBytes<32>>, ProviderError>
fn block_hash( &self, number: u64, ) -> Result<Option<FixedBytes<32>>, ProviderError>
Get the hash of the block with the given number. Returns
None
if no block with this
number exists.§fn bytecode_by_hash(
&self,
code_hash: FixedBytes<32>,
) -> Result<Option<Bytecode>, ProviderError>
fn bytecode_by_hash( &self, code_hash: FixedBytes<32>, ) -> Result<Option<Bytecode>, ProviderError>
Get account code by hash.
§fn storage(
&self,
account: Address,
storage_key: FixedBytes<32>,
) -> Result<Option<Uint<256, 4>>, ProviderError>
fn storage( &self, account: Address, storage_key: FixedBytes<32>, ) -> Result<Option<Uint<256, 4>>, ProviderError>
Get storage of the given account.
§impl<T> FmtForward for T
impl<T> FmtForward for T
§fn fmt_binary(self) -> FmtBinary<Self>where
Self: Binary,
fn fmt_binary(self) -> FmtBinary<Self>where
Self: Binary,
Causes
self
to use its Binary
implementation when Debug
-formatted.§fn fmt_display(self) -> FmtDisplay<Self>where
Self: Display,
fn fmt_display(self) -> FmtDisplay<Self>where
Self: Display,
Causes
self
to use its Display
implementation when
Debug
-formatted.§fn fmt_lower_exp(self) -> FmtLowerExp<Self>where
Self: LowerExp,
fn fmt_lower_exp(self) -> FmtLowerExp<Self>where
Self: LowerExp,
Causes
self
to use its LowerExp
implementation when
Debug
-formatted.§fn fmt_lower_hex(self) -> FmtLowerHex<Self>where
Self: LowerHex,
fn fmt_lower_hex(self) -> FmtLowerHex<Self>where
Self: LowerHex,
Causes
self
to use its LowerHex
implementation when
Debug
-formatted.§fn fmt_octal(self) -> FmtOctal<Self>where
Self: Octal,
fn fmt_octal(self) -> FmtOctal<Self>where
Self: Octal,
Causes
self
to use its Octal
implementation when Debug
-formatted.§fn fmt_pointer(self) -> FmtPointer<Self>where
Self: Pointer,
fn fmt_pointer(self) -> FmtPointer<Self>where
Self: Pointer,
Causes
self
to use its Pointer
implementation when
Debug
-formatted.§fn fmt_upper_exp(self) -> FmtUpperExp<Self>where
Self: UpperExp,
fn fmt_upper_exp(self) -> FmtUpperExp<Self>where
Self: UpperExp,
Causes
self
to use its UpperExp
implementation when
Debug
-formatted.§fn fmt_upper_hex(self) -> FmtUpperHex<Self>where
Self: UpperHex,
fn fmt_upper_hex(self) -> FmtUpperHex<Self>where
Self: UpperHex,
Causes
self
to use its UpperHex
implementation when
Debug
-formatted.§fn fmt_list(self) -> FmtList<Self>where
&'a Self: for<'a> IntoIterator,
fn fmt_list(self) -> FmtList<Self>where
&'a Self: for<'a> IntoIterator,
Formats each item in a sequence. Read more
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read more§impl<T> Pipe for Twhere
T: ?Sized,
impl<T> Pipe for Twhere
T: ?Sized,
§fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> Rwhere
Self: Sized,
fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> Rwhere
Self: Sized,
Pipes by value. This is generally the method you want to use. Read more
§fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> Rwhere
R: 'a,
fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> Rwhere
R: 'a,
Borrows
self
and passes that borrow into the pipe function. Read more§fn pipe_ref_mut<'a, R>(&'a mut self, func: impl FnOnce(&'a mut Self) -> R) -> Rwhere
R: 'a,
fn pipe_ref_mut<'a, R>(&'a mut self, func: impl FnOnce(&'a mut Self) -> R) -> Rwhere
R: 'a,
Mutably borrows
self
and passes that borrow into the pipe function. Read more§fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> R
fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> R
§fn pipe_borrow_mut<'a, B, R>(
&'a mut self,
func: impl FnOnce(&'a mut B) -> R,
) -> R
fn pipe_borrow_mut<'a, B, R>( &'a mut self, func: impl FnOnce(&'a mut B) -> R, ) -> R
§fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> R
fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> R
Borrows
self
, then passes self.as_ref()
into the pipe function.§fn pipe_as_mut<'a, U, R>(&'a mut self, func: impl FnOnce(&'a mut U) -> R) -> R
fn pipe_as_mut<'a, U, R>(&'a mut self, func: impl FnOnce(&'a mut U) -> R) -> R
Mutably borrows
self
, then passes self.as_mut()
into the pipe
function.§fn pipe_deref<'a, T, R>(&'a self, func: impl FnOnce(&'a T) -> R) -> R
fn pipe_deref<'a, T, R>(&'a self, func: impl FnOnce(&'a T) -> R) -> R
Borrows
self
, then passes self.deref()
into the pipe function.§impl<T> Pointable for T
impl<T> Pointable for T
§impl<T> Tap for T
impl<T> Tap for T
§fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Self
fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Self
Immutable access to the
Borrow<B>
of a value. Read more§fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Self
fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Self
Mutable access to the
BorrowMut<B>
of a value. Read more§fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Self
fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Self
Immutable access to the
AsRef<R>
view of a value. Read more§fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Self
fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Self
Mutable access to the
AsMut<R>
view of a value. Read more§fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Self
fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Self
Immutable access to the
Deref::Target
of a value. Read more§fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Self
fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Self
Mutable access to the
Deref::Target
of a value. Read more§fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self
fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self
Calls
.tap()
only in debug builds, and is erased in release builds.§fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self
fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self
Calls
.tap_mut()
only in debug builds, and is erased in release
builds.§fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Self
fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Self
Calls
.tap_borrow()
only in debug builds, and is erased in release
builds.§fn tap_borrow_mut_dbg<B>(self, func: impl FnOnce(&mut B)) -> Self
fn tap_borrow_mut_dbg<B>(self, func: impl FnOnce(&mut B)) -> Self
Calls
.tap_borrow_mut()
only in debug builds, and is erased in release
builds.§fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Self
fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Self
Calls
.tap_ref()
only in debug builds, and is erased in release
builds.§fn tap_ref_mut_dbg<R>(self, func: impl FnOnce(&mut R)) -> Self
fn tap_ref_mut_dbg<R>(self, func: impl FnOnce(&mut R)) -> Self
Calls
.tap_ref_mut()
only in debug builds, and is erased in release
builds.§fn tap_deref_dbg<T>(self, func: impl FnOnce(&T)) -> Self
fn tap_deref_dbg<T>(self, func: impl FnOnce(&T)) -> Self
Calls
.tap_deref()
only in debug builds, and is erased in release
builds.§impl<T> TryConv for T
impl<T> TryConv for T
§impl<T> WithSubscriber for T
impl<T> WithSubscriber for T
§fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where
S: Into<Dispatch>,
fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where
S: Into<Dispatch>,
§fn with_current_subscriber(self) -> WithDispatch<Self>
fn with_current_subscriber(self) -> WithDispatch<Self>
Source§impl<T> WithSubscriber for T
impl<T> WithSubscriber for T
Source§fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where
S: Into<Dispatch>,
fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where
S: Into<Dispatch>,
Source§fn with_current_subscriber(self) -> WithDispatch<Self>
fn with_current_subscriber(self) -> WithDispatch<Self>
impl<T> ErasedDestructor for Twhere
T: 'static,
impl<T> FullRpcProvider for Twhere
T: StateProviderFactory + EvmEnvProvider + ChainSpecProvider + BlockReaderIdExt + HeaderProvider + TransactionsProvider + StageCheckpointReader + Clone + Unpin + 'static,
<T as ChainSpecProvider>::ChainSpec: EthereumHardforks,
impl<T> MaybeDebug for Twhere
T: Debug,
impl<T> MaybeSendSync for T
Layout§
Note: Most layout information is completely unstable and may even differ between compilations. The only exception is types with certain repr(...)
attributes. Please see the Rust Reference's “Type Layout” chapter for details on type layout guarantees.
Size: 0 bytes