pub struct MockEthProvider<T: NodePrimitives = EthPrimitives, ChainSpec = ChainSpec> {
pub blocks: Arc<Mutex<HashMap<B256, T::Block>>>,
pub headers: Arc<Mutex<HashMap<B256, Header>>>,
pub accounts: Arc<Mutex<HashMap<Address, ExtendedAccount>>>,
pub chain_spec: Arc<ChainSpec>,
pub state_roots: Arc<Mutex<Vec<B256>>>,
/* private fields */
}
Available on crate feature
test-utils
only.Expand description
A mock implementation for Provider interfaces.
Fields§
§blocks: Arc<Mutex<HashMap<B256, T::Block>>>
local block store
headers: Arc<Mutex<HashMap<B256, Header>>>
Local header store
accounts: Arc<Mutex<HashMap<Address, ExtendedAccount>>>
Local account store
chain_spec: Arc<ChainSpec>
Local chain spec
state_roots: Arc<Mutex<Vec<B256>>>
Local state roots
Implementations§
Source§impl<T: NodePrimitives> MockEthProvider<T, ChainSpec>
impl<T: NodePrimitives> MockEthProvider<T, ChainSpec>
Source§impl<ChainSpec> MockEthProvider<EthPrimitives, ChainSpec>
impl<ChainSpec> MockEthProvider<EthPrimitives, ChainSpec>
Sourcepub fn extend_blocks(&self, iter: impl IntoIterator<Item = (B256, Block)>)
pub fn extend_blocks(&self, iter: impl IntoIterator<Item = (B256, Block)>)
Add multiple blocks to local block store
Sourcepub fn add_header(&self, hash: B256, header: Header)
pub fn add_header(&self, hash: B256, header: Header)
Add header to local header store
Sourcepub fn extend_headers(&self, iter: impl IntoIterator<Item = (B256, Header)>)
pub fn extend_headers(&self, iter: impl IntoIterator<Item = (B256, Header)>)
Add multiple headers to local header store
Sourcepub fn add_account(&self, address: Address, account: ExtendedAccount)
pub fn add_account(&self, address: Address, account: ExtendedAccount)
Add account to local account store
Sourcepub fn extend_accounts(
&self,
iter: impl IntoIterator<Item = (Address, ExtendedAccount)>,
)
pub fn extend_accounts( &self, iter: impl IntoIterator<Item = (Address, ExtendedAccount)>, )
Add account to local account store
Sourcepub fn add_state_root(&self, state_root: B256)
pub fn add_state_root(&self, state_root: B256)
Add state root to local state root store
Sourcepub fn with_chain_spec<C>(
self,
chain_spec: C,
) -> MockEthProvider<EthPrimitives, C>
pub fn with_chain_spec<C>( self, chain_spec: C, ) -> MockEthProvider<EthPrimitives, C>
Set chain spec.
Trait Implementations§
Source§impl<T: NodePrimitives, ChainSpec: Send + Sync> AccountReader for MockEthProvider<T, ChainSpec>
impl<T: NodePrimitives, ChainSpec: Send + Sync> AccountReader for MockEthProvider<T, ChainSpec>
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<T: NodePrimitives, ChainSpec: Send + Sync> BlockBodyIndicesProvider for MockEthProvider<T, ChainSpec>
impl<T: NodePrimitives, ChainSpec: Send + Sync> BlockBodyIndicesProvider for MockEthProvider<T, ChainSpec>
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_body_indices_range(
&self,
_range: RangeInclusive<BlockNumber>,
) -> ProviderResult<Vec<StoredBlockBodyIndices>>
fn block_body_indices_range( &self, _range: RangeInclusive<BlockNumber>, ) -> ProviderResult<Vec<StoredBlockBodyIndices>>
Returns the block body indices within the requested range matching number from storage.
Source§impl<T: NodePrimitives, ChainSpec: Send + Sync + 'static> BlockHashReader for MockEthProvider<T, ChainSpec>
impl<T: NodePrimitives, ChainSpec: Send + Sync + 'static> BlockHashReader for MockEthProvider<T, ChainSpec>
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<T: NodePrimitives, ChainSpec: EthChainSpec + Send + Sync + 'static> BlockIdReader for MockEthProvider<T, ChainSpec>
impl<T: NodePrimitives, ChainSpec: EthChainSpec + Send + Sync + 'static> BlockIdReader for MockEthProvider<T, ChainSpec>
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<T: NodePrimitives, ChainSpec: Send + Sync + 'static> BlockNumReader for MockEthProvider<T, ChainSpec>
impl<T: NodePrimitives, ChainSpec: Send + Sync + 'static> BlockNumReader for MockEthProvider<T, ChainSpec>
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<ChainSpec: EthChainSpec + Send + Sync + 'static> BlockReader for MockEthProvider<EthPrimitives, ChainSpec>
impl<ChainSpec: EthChainSpec + Send + Sync + 'static> BlockReader for MockEthProvider<EthPrimitives, ChainSpec>
Source§fn find_block_by_hash(
&self,
hash: B256,
_source: BlockSource,
) -> ProviderResult<Option<Self::Block>>
fn find_block_by_hash( &self, hash: B256, _source: BlockSource, ) -> ProviderResult<Option<Self::Block>>
Tries to find in the given block source. Read more
Source§fn block(&self, id: BlockHashOrNumber) -> ProviderResult<Option<Self::Block>>
fn block(&self, id: BlockHashOrNumber) -> ProviderResult<Option<Self::Block>>
Returns the block with given id from the database. Read more
Source§fn pending_block(&self) -> ProviderResult<Option<SealedBlock<Self::Block>>>
fn pending_block(&self) -> ProviderResult<Option<SealedBlock<Self::Block>>>
Returns the pending block if available Read more
Source§fn pending_block_with_senders(
&self,
) -> ProviderResult<Option<RecoveredBlock<Self::Block>>>
fn pending_block_with_senders( &self, ) -> ProviderResult<Option<RecoveredBlock<Self::Block>>>
Returns the pending block if available Read more
Source§fn pending_block_and_receipts(
&self,
) -> ProviderResult<Option<(SealedBlock<Self::Block>, Vec<Receipt>)>>
fn pending_block_and_receipts( &self, ) -> ProviderResult<Option<(SealedBlock<Self::Block>, Vec<Receipt>)>>
Returns the pending block and receipts if available.
Source§fn recovered_block(
&self,
_id: BlockHashOrNumber,
_transaction_kind: TransactionVariant,
) -> ProviderResult<Option<RecoveredBlock<Self::Block>>>
fn recovered_block( &self, _id: BlockHashOrNumber, _transaction_kind: TransactionVariant, ) -> ProviderResult<Option<RecoveredBlock<Self::Block>>>
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<RecoveredBlock<Self::Block>>>
fn sealed_block_with_senders( &self, _id: BlockHashOrNumber, _transaction_kind: TransactionVariant, ) -> ProviderResult<Option<RecoveredBlock<Self::Block>>>
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<Self::Block>>
fn block_range( &self, range: RangeInclusive<BlockNumber>, ) -> ProviderResult<Vec<Self::Block>>
Returns all blocks in the given inclusive range. Read more
Source§fn block_with_senders_range(
&self,
_range: RangeInclusive<BlockNumber>,
) -> ProviderResult<Vec<RecoveredBlock<Self::Block>>>
fn block_with_senders_range( &self, _range: RangeInclusive<BlockNumber>, ) -> ProviderResult<Vec<RecoveredBlock<Self::Block>>>
Returns a range of blocks from the database, along with the senders of each
transaction in the blocks.
Source§fn recovered_block_range(
&self,
_range: RangeInclusive<BlockNumber>,
) -> ProviderResult<Vec<RecoveredBlock<Self::Block>>>
fn recovered_block_range( &self, _range: RangeInclusive<BlockNumber>, ) -> ProviderResult<Vec<RecoveredBlock<Self::Block>>>
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<Self::Block>, ProviderError>
fn block_by_hash( &self, hash: FixedBytes<32>, ) -> Result<Option<Self::Block>, ProviderError>
Returns the block with matching hash from the database. Read more
§fn block_by_number(
&self,
num: u64,
) -> Result<Option<Self::Block>, ProviderError>
fn block_by_number( &self, num: u64, ) -> Result<Option<Self::Block>, ProviderError>
Returns the block with matching number from database. Read more
Source§impl<ChainSpec> BlockReaderIdExt for MockEthProvider<EthPrimitives, ChainSpec>
impl<ChainSpec> BlockReaderIdExt for MockEthProvider<EthPrimitives, ChainSpec>
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<Self::Block>, ProviderError>
fn block_by_number_or_tag( &self, id: BlockNumberOrTag, ) -> Result<Option<Self::Block>, ProviderError>
Returns the block with matching tag from the database Read more
§fn pending_header(
&self,
) -> Result<Option<SealedHeader<Self::Header>>, ProviderError>
fn pending_header( &self, ) -> Result<Option<SealedHeader<Self::Header>>, ProviderError>
Returns the pending block header if available Read more
§fn latest_header(
&self,
) -> Result<Option<SealedHeader<Self::Header>>, ProviderError>
fn latest_header( &self, ) -> Result<Option<SealedHeader<Self::Header>>, ProviderError>
Returns the latest block header if available Read more
§fn safe_header(
&self,
) -> Result<Option<SealedHeader<Self::Header>>, ProviderError>
fn safe_header( &self, ) -> Result<Option<SealedHeader<Self::Header>>, ProviderError>
Returns the safe block header if available Read more
§fn finalized_header(
&self,
) -> Result<Option<SealedHeader<Self::Header>>, ProviderError>
fn finalized_header( &self, ) -> Result<Option<SealedHeader<Self::Header>>, ProviderError>
Returns the finalized block header if available Read more
§fn block_with_senders_by_id(
&self,
id: BlockId,
transaction_kind: TransactionVariant,
) -> Result<Option<RecoveredBlock<Self::Block>>, ProviderError>
fn block_with_senders_by_id( &self, id: BlockId, transaction_kind: TransactionVariant, ) -> Result<Option<RecoveredBlock<Self::Block>>, ProviderError>
Returns the block with senders with matching [
BlockId
]. Read more§fn header_by_number_or_tag(
&self,
id: BlockNumberOrTag,
) -> Result<Option<Self::Header>, ProviderError>
fn header_by_number_or_tag( &self, id: BlockNumberOrTag, ) -> Result<Option<Self::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<Self::Header>>, ProviderError>
fn sealed_header_by_number_or_tag( &self, id: BlockNumberOrTag, ) -> Result<Option<SealedHeader<Self::Header>>, ProviderError>
Returns the header with matching tag from the database Read more
§fn ommers_by_number_or_tag(
&self,
id: BlockNumberOrTag,
) -> Result<Option<Vec<Self::Header>>, ProviderError>
fn ommers_by_number_or_tag( &self, id: BlockNumberOrTag, ) -> Result<Option<Vec<Self::Header>>, ProviderError>
Returns the ommers with the matching tag from the database.
Source§impl<T: NodePrimitives, ChainSpec: Send + Sync> CanonStateSubscriptions for MockEthProvider<T, ChainSpec>
impl<T: NodePrimitives, ChainSpec: Send + Sync> CanonStateSubscriptions for MockEthProvider<T, ChainSpec>
Source§fn subscribe_to_canonical_state(&self) -> CanonStateNotifications<T>
fn subscribe_to_canonical_state(&self) -> CanonStateNotifications<T>
Get notified when a new canonical chain was imported. Read more
§fn canonical_state_stream(
&self,
) -> CanonStateNotificationStream<Self::Primitives>
fn canonical_state_stream( &self, ) -> CanonStateNotificationStream<Self::Primitives>
Convenience method to get a stream of
CanonStateNotification
.Source§impl<T, ChainSpec> ChainSpecProvider for MockEthProvider<T, ChainSpec>
impl<T, ChainSpec> ChainSpecProvider for MockEthProvider<T, ChainSpec>
Source§impl<T: NodePrimitives, ChainSpec: Send + Sync> ChangeSetReader for MockEthProvider<T, ChainSpec>
impl<T: NodePrimitives, ChainSpec: Send + Sync> ChangeSetReader for MockEthProvider<T, ChainSpec>
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<T: NodePrimitives, ChainSpec> Clone for MockEthProvider<T, ChainSpec>where
T::Block: Clone,
impl<T: NodePrimitives, ChainSpec> Clone for MockEthProvider<T, ChainSpec>where
T::Block: Clone,
Source§impl<T: NodePrimitives, ChainSpec: EthChainSpec + 'static> DBProvider for MockEthProvider<T, ChainSpec>
impl<T: NodePrimitives, ChainSpec: EthChainSpec + 'static> DBProvider for MockEthProvider<T, ChainSpec>
Source§fn tx_mut(&mut self) -> &mut Self::Tx
fn tx_mut(&mut self) -> &mut Self::Tx
Returns a mutable reference to the underlying transaction.
Source§fn prune_modes_ref(&self) -> &PruneModes
fn prune_modes_ref(&self) -> &PruneModes
Returns a reference to prune modes.
§fn disable_long_read_transaction_safety(self) -> Self
fn disable_long_read_transaction_safety(self) -> Self
Disables long-lived read transaction safety guarantees for leaks prevention and
observability improvements. Read more
§fn commit(self) -> Result<bool, ProviderError>
fn commit(self) -> Result<bool, ProviderError>
Commit database transaction
§fn table<T>(
&self,
) -> Result<Vec<(<T as Table>::Key, <T as Table>::Value)>, DatabaseError>
fn table<T>( &self, ) -> Result<Vec<(<T as Table>::Key, <T as Table>::Value)>, DatabaseError>
Return full table as Vec
§fn get<T>(
&self,
range: impl RangeBounds<<T as Table>::Key>,
) -> Result<Vec<(<T as Table>::Key, <T as Table>::Value)>, DatabaseError>where
T: Table,
fn get<T>(
&self,
range: impl RangeBounds<<T as Table>::Key>,
) -> Result<Vec<(<T as Table>::Key, <T as Table>::Value)>, DatabaseError>where
T: Table,
Return a list of entries from the table, based on the given range.
§fn cursor_read_collect<T>(
&self,
range: impl RangeBounds<<T as Table>::Key>,
) -> Result<Vec<<T as Table>::Value>, ProviderError>where
T: Table<Key = u64>,
fn cursor_read_collect<T>(
&self,
range: impl RangeBounds<<T as Table>::Key>,
) -> Result<Vec<<T as Table>::Value>, ProviderError>where
T: Table<Key = u64>,
Iterates over read only values in the given table and collects them into a vector. Read more
§fn cursor_collect<T>(
&self,
cursor: &mut impl DbCursorRO<T>,
range: impl RangeBounds<<T as Table>::Key>,
) -> Result<Vec<<T as Table>::Value>, ProviderError>where
T: Table<Key = u64>,
fn cursor_collect<T>(
&self,
cursor: &mut impl DbCursorRO<T>,
range: impl RangeBounds<<T as Table>::Key>,
) -> Result<Vec<<T as Table>::Value>, ProviderError>where
T: Table<Key = u64>,
Iterates over read only values in the given table and collects them into a vector.
§fn cursor_collect_with_capacity<T>(
&self,
cursor: &mut impl DbCursorRO<T>,
range: impl RangeBounds<<T as Table>::Key>,
capacity: usize,
) -> Result<Vec<<T as Table>::Value>, ProviderError>where
T: Table<Key = u64>,
fn cursor_collect_with_capacity<T>(
&self,
cursor: &mut impl DbCursorRO<T>,
range: impl RangeBounds<<T as Table>::Key>,
capacity: usize,
) -> Result<Vec<<T as Table>::Value>, ProviderError>where
T: Table<Key = u64>,
Iterates over read only values in the given table and collects them into a vector with
capacity.
§fn remove<T>(
&self,
range: impl RangeBounds<<T as Table>::Key>,
) -> Result<usize, DatabaseError>where
T: Table,
Self::Tx: DbTxMut,
fn remove<T>(
&self,
range: impl RangeBounds<<T as Table>::Key>,
) -> Result<usize, DatabaseError>where
T: Table,
Self::Tx: DbTxMut,
Remove list of entries from the table. Returns the number of entries removed.
§fn take<T>(
&self,
range: impl RangeBounds<<T as Table>::Key>,
) -> Result<Vec<(<T as Table>::Key, <T as Table>::Value)>, DatabaseError>where
T: Table,
Self::Tx: DbTxMut,
fn take<T>(
&self,
range: impl RangeBounds<<T as Table>::Key>,
) -> Result<Vec<(<T as Table>::Key, <T as Table>::Value)>, DatabaseError>where
T: Table,
Self::Tx: DbTxMut,
Return a list of entries from the table, and remove them, based on the given range.
Source§impl<T: NodePrimitives, ChainSpec: EthChainSpec + Clone + 'static> DatabaseProviderFactory for MockEthProvider<T, ChainSpec>
impl<T: NodePrimitives, ChainSpec: EthChainSpec + Clone + 'static> DatabaseProviderFactory for MockEthProvider<T, ChainSpec>
Source§type Provider = MockEthProvider<T, ChainSpec>
type Provider = MockEthProvider<T, ChainSpec>
Provider type returned by the factory.
Source§type ProviderRW = MockEthProvider<T, ChainSpec>
type ProviderRW = MockEthProvider<T, ChainSpec>
Read-write provider type returned by the factory.
Source§fn database_provider_ro(&self) -> ProviderResult<Self::Provider>
fn database_provider_ro(&self) -> ProviderResult<Self::Provider>
Create new read-only database provider.
Source§fn database_provider_rw(&self) -> ProviderResult<Self::ProviderRW>
fn database_provider_rw(&self) -> ProviderResult<Self::ProviderRW>
Create new read-write database provider.
Source§impl<T: Debug + NodePrimitives, ChainSpec: Debug> Debug for MockEthProvider<T, ChainSpec>where
T::Block: Debug,
impl<T: Debug + NodePrimitives, ChainSpec: Debug> Debug for MockEthProvider<T, ChainSpec>where
T::Block: Debug,
Source§impl Default for MockEthProvider
impl Default for MockEthProvider
Source§impl<T: NodePrimitives, ChainSpec: EthChainSpec + 'static> HashedPostStateProvider for MockEthProvider<T, ChainSpec>
impl<T: NodePrimitives, ChainSpec: EthChainSpec + 'static> HashedPostStateProvider for MockEthProvider<T, ChainSpec>
Source§fn hashed_post_state(&self, _state: &BundleState) -> HashedPostState
fn hashed_post_state(&self, _state: &BundleState) -> HashedPostState
Returns the
HashedPostState
of the provided [BundleState
].Source§impl<ChainSpec: EthChainSpec + Send + Sync + 'static> HeaderProvider for MockEthProvider<EthPrimitives, ChainSpec>
impl<ChainSpec: EthChainSpec + Send + Sync + 'static> HeaderProvider for MockEthProvider<EthPrimitives, ChainSpec>
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<Self::Header>>, ProviderError>
fn sealed_header_by_hash( &self, block_hash: FixedBytes<32>, ) -> Result<Option<SealedHeader<Self::Header>>, ProviderError>
Retrieves the header sealed by the given block hash.
§fn header_by_hash_or_number(
&self,
hash_or_num: HashOrNumber,
) -> Result<Option<Self::Header>, ProviderError>
fn header_by_hash_or_number( &self, hash_or_num: HashOrNumber, ) -> Result<Option<Self::Header>, ProviderError>
Get header by block number or hash
§fn sealed_headers_range(
&self,
range: impl RangeBounds<u64>,
) -> Result<Vec<SealedHeader<Self::Header>>, ProviderError>
fn sealed_headers_range( &self, range: impl RangeBounds<u64>, ) -> Result<Vec<SealedHeader<Self::Header>>, ProviderError>
Get headers in range of block numbers.
Source§impl<T: NodePrimitives, ChainSpec: Send + Sync> NodePrimitivesProvider for MockEthProvider<T, ChainSpec>
impl<T: NodePrimitives, ChainSpec: Send + Sync> NodePrimitivesProvider for MockEthProvider<T, ChainSpec>
Source§type Primitives = T
type Primitives = T
The node primitive types.
Source§impl<T, ChainSpec> OmmersProvider for MockEthProvider<T, ChainSpec>
impl<T, ChainSpec> OmmersProvider for MockEthProvider<T, ChainSpec>
Source§impl<T, ChainSpec> ReceiptProvider for MockEthProvider<T, ChainSpec>
impl<T, ChainSpec> ReceiptProvider for MockEthProvider<T, ChainSpec>
Source§fn receipt(&self, _id: TxNumber) -> ProviderResult<Option<Self::Receipt>>
fn receipt(&self, _id: TxNumber) -> ProviderResult<Option<Self::Receipt>>
Get receipt by transaction number Read more
Source§fn receipt_by_hash(
&self,
_hash: TxHash,
) -> ProviderResult<Option<Self::Receipt>>
fn receipt_by_hash( &self, _hash: TxHash, ) -> ProviderResult<Option<Self::Receipt>>
Get receipt by transaction hash. Read more
Source§fn receipts_by_block(
&self,
_block: BlockHashOrNumber,
) -> ProviderResult<Option<Vec<Self::Receipt>>>
fn receipts_by_block( &self, _block: BlockHashOrNumber, ) -> ProviderResult<Option<Vec<Self::Receipt>>>
Get receipts by block num or hash. Read more
Source§fn receipts_by_tx_range(
&self,
_range: impl RangeBounds<TxNumber>,
) -> ProviderResult<Vec<Self::Receipt>>
fn receipts_by_tx_range( &self, _range: impl RangeBounds<TxNumber>, ) -> ProviderResult<Vec<Self::Receipt>>
Get receipts by tx range.
Source§impl<T, ChainSpec> ReceiptProviderIdExt for MockEthProvider<T, ChainSpec>where
T: NodePrimitives,
Self: ReceiptProvider + BlockIdReader,
impl<T, ChainSpec> ReceiptProviderIdExt for MockEthProvider<T, ChainSpec>where
T: NodePrimitives,
Self: ReceiptProvider + BlockIdReader,
§fn receipts_by_block_id(
&self,
block: BlockId,
) -> Result<Option<Vec<Self::Receipt>>, ProviderError>
fn receipts_by_block_id( &self, block: BlockId, ) -> Result<Option<Vec<Self::Receipt>>, ProviderError>
Get receipt by block id
§fn receipts_by_number_or_tag(
&self,
number_or_tag: BlockNumberOrTag,
) -> Result<Option<Vec<Self::Receipt>>, ProviderError>
fn receipts_by_number_or_tag( &self, number_or_tag: BlockNumberOrTag, ) -> Result<Option<Vec<Self::Receipt>>, ProviderError>
Returns the block with the matching
BlockId
from the database. Read moreSource§impl<T: NodePrimitives, ChainSpec: Send + Sync> StageCheckpointReader for MockEthProvider<T, ChainSpec>
impl<T: NodePrimitives, ChainSpec: Send + Sync> StageCheckpointReader for MockEthProvider<T, ChainSpec>
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<T, ChainSpec> StateCommitmentProvider for MockEthProvider<T, ChainSpec>
impl<T, ChainSpec> StateCommitmentProvider for MockEthProvider<T, ChainSpec>
Source§type StateCommitment = <MockNode as NodeTypes>::StateCommitment
type StateCommitment = <MockNode as NodeTypes>::StateCommitment
The [
reth_trie_db::StateCommitment
] type that can be used to perform state commitment
operations.Source§impl<T, ChainSpec> StateProofProvider for MockEthProvider<T, ChainSpec>
impl<T, ChainSpec> StateProofProvider for MockEthProvider<T, ChainSpec>
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: MultiProofTargets,
) -> ProviderResult<MultiProof>
fn multiproof( &self, _input: TrieInput, _targets: MultiProofTargets, ) -> ProviderResult<MultiProof>
Generate [
MultiProof
] for target hashed account and corresponding
hashed storage slot keys.Source§fn witness(
&self,
_input: TrieInput,
_target: HashedPostState,
) -> ProviderResult<Vec<Bytes>>
fn witness( &self, _input: TrieInput, _target: HashedPostState, ) -> ProviderResult<Vec<Bytes>>
Get trie witness for provided state.
Source§impl<T, ChainSpec> StateProvider for MockEthProvider<T, ChainSpec>
impl<T, ChainSpec> StateProvider for MockEthProvider<T, ChainSpec>
Source§fn storage(
&self,
account: Address,
storage_key: StorageKey,
) -> ProviderResult<Option<FlaggedStorage>>
fn storage( &self, account: Address, storage_key: StorageKey, ) -> ProviderResult<Option<FlaggedStorage>>
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<T: NodePrimitives, ChainSpec: EthChainSpec + Send + Sync + 'static> StateProviderFactory for MockEthProvider<T, ChainSpec>
impl<T: NodePrimitives, ChainSpec: EthChainSpec + Send + Sync + 'static> StateProviderFactory for MockEthProvider<T, ChainSpec>
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<T: NodePrimitives, ChainSpec: Send + Sync> StateReader for MockEthProvider<T, ChainSpec>
impl<T: NodePrimitives, ChainSpec: Send + Sync> StateReader for MockEthProvider<T, ChainSpec>
Source§type Receipt = Receipt
type Receipt = Receipt
Receipt type in
ExecutionOutcome
.Source§fn get_state(
&self,
_block: BlockNumber,
) -> ProviderResult<Option<ExecutionOutcome>>
fn get_state( &self, _block: BlockNumber, ) -> ProviderResult<Option<ExecutionOutcome>>
Get the
ExecutionOutcome
for the given blockSource§impl<T, ChainSpec> StateRootProvider for MockEthProvider<T, ChainSpec>
impl<T, ChainSpec> StateRootProvider for MockEthProvider<T, ChainSpec>
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 reuses 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<T, ChainSpec> StorageRootProvider for MockEthProvider<T, ChainSpec>
impl<T, ChainSpec> StorageRootProvider for MockEthProvider<T, ChainSpec>
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§fn storage_multiproof(
&self,
_address: Address,
_slots: &[B256],
_hashed_storage: HashedStorage,
) -> ProviderResult<StorageMultiProof>
fn storage_multiproof( &self, _address: Address, _slots: &[B256], _hashed_storage: HashedStorage, ) -> ProviderResult<StorageMultiProof>
Returns the storage multiproof for target slots.
Source§impl<ChainSpec: EthChainSpec + 'static> TransactionsProvider for MockEthProvider<EthPrimitives, ChainSpec>
impl<ChainSpec: EthChainSpec + 'static> TransactionsProvider for MockEthProvider<EthPrimitives, ChainSpec>
Source§type Transaction = EthereumTxEnvelope<TxEip4844>
type Transaction = EthereumTxEnvelope<TxEip4844>
The transaction type this provider reads.
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<Self::Transaction>>
fn transaction_by_id( &self, id: TxNumber, ) -> ProviderResult<Option<Self::Transaction>>
Get transaction by id, computes hash every time so more expensive.
Source§fn transaction_by_id_unhashed(
&self,
id: TxNumber,
) -> ProviderResult<Option<Self::Transaction>>
fn transaction_by_id_unhashed( &self, id: TxNumber, ) -> ProviderResult<Option<Self::Transaction>>
Get transaction by id without computing the hash.
Source§fn transaction_by_hash(
&self,
hash: TxHash,
) -> ProviderResult<Option<Self::Transaction>>
fn transaction_by_hash( &self, hash: TxHash, ) -> ProviderResult<Option<Self::Transaction>>
Get transaction by transaction hash.
Source§fn transaction_by_hash_with_meta(
&self,
hash: TxHash,
) -> ProviderResult<Option<(Self::Transaction, TransactionMeta)>>
fn transaction_by_hash_with_meta( &self, hash: TxHash, ) -> ProviderResult<Option<(Self::Transaction, 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,
id: BlockHashOrNumber,
) -> ProviderResult<Option<Vec<Self::Transaction>>>
fn transactions_by_block( &self, id: BlockHashOrNumber, ) -> ProviderResult<Option<Vec<Self::Transaction>>>
Get transactions by block id.
Source§fn transactions_by_block_range(
&self,
range: impl RangeBounds<BlockNumber>,
) -> ProviderResult<Vec<Vec<Self::Transaction>>>
fn transactions_by_block_range( &self, range: impl RangeBounds<BlockNumber>, ) -> ProviderResult<Vec<Vec<Self::Transaction>>>
Get transactions by block range.
Source§fn transactions_by_tx_range(
&self,
range: impl RangeBounds<TxNumber>,
) -> ProviderResult<Vec<Self::Transaction>>
fn transactions_by_tx_range( &self, range: impl RangeBounds<TxNumber>, ) -> ProviderResult<Vec<Self::Transaction>>
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<T: NodePrimitives, ChainSpec: Send + Sync> WithdrawalsProvider for MockEthProvider<T, ChainSpec>
impl<T: NodePrimitives, ChainSpec: Send + Sync> WithdrawalsProvider for MockEthProvider<T, ChainSpec>
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.
Auto Trait Implementations§
impl<T, ChainSpec> Freeze for MockEthProvider<T, ChainSpec>
impl<T = EthPrimitives, ChainSpec = ChainSpec> !RefUnwindSafe for MockEthProvider<T, ChainSpec>
impl<T, ChainSpec> Send for MockEthProvider<T, ChainSpec>
impl<T, ChainSpec> Sync for MockEthProvider<T, ChainSpec>
impl<T, ChainSpec> Unpin for MockEthProvider<T, ChainSpec>
impl<T = EthPrimitives, ChainSpec = ChainSpec> !UnwindSafe for MockEthProvider<T, ChainSpec>
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> 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<TxEnv, T> FromRecoveredTx<&T> for TxEnvwhere
TxEnv: FromRecoveredTx<T>,
impl<TxEnv, T> FromRecoveredTx<&T> for TxEnvwhere
TxEnv: FromRecoveredTx<T>,
§fn from_recovered_tx(tx: &&T, sender: Address) -> TxEnv
fn from_recovered_tx(tx: &&T, sender: Address) -> TxEnv
Builds a
TxEnv
from a transaction and a sender address.§impl<TxEnv, T> FromTxWithEncoded<&T> for TxEnvwhere
TxEnv: FromTxWithEncoded<T>,
impl<TxEnv, T> FromTxWithEncoded<&T> for TxEnvwhere
TxEnv: FromTxWithEncoded<T>,
§fn from_encoded_tx(tx: &&T, sender: Address, encoded: Bytes) -> TxEnv
fn from_encoded_tx(tx: &&T, sender: Address, encoded: Bytes) -> TxEnv
Builds a
TxEnv
from a transaction, its sender, and encoded transaction bytes.§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> MaybeDebug for Twhere
T: Debug,
impl<T> MaybeSend for Twhere
T: Send,
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: 72 bytes