pub struct AnvilDebugProvider<PN, PA, N>where
N: Network,
PN: Provider<N> + Send + Sync + Clone + 'static,
PA: Provider<N> + Send + Sync + Clone + 'static,{
_node: PN,
_anvil: PA,
_anvil_instance: Option<Arc<AnvilInstance>>,
block_number: BlockNumberOrTag,
_n: PhantomData<N>,
}
Fields§
§_node: PN
§_anvil: PA
§_anvil_instance: Option<Arc<AnvilInstance>>
§block_number: BlockNumberOrTag
§_n: PhantomData<N>
Implementations§
Source§impl<PN, PA, N> AnvilDebugProvider<PN, PA, N>
impl<PN, PA, N> AnvilDebugProvider<PN, PA, N>
Trait Implementations§
Source§impl<PN, PA, N> AnvilProviderExt<N> for AnvilDebugProvider<PN, PA, N>
impl<PN, PA, N> AnvilProviderExt<N> for AnvilDebugProvider<PN, PA, N>
fn snapshot(&self) -> impl Future<Output = TransportResult<u64>> + Send
fn revert( &self, snap_id: u64, ) -> impl Future<Output = TransportResult<bool>> + Send
fn mine(&self) -> impl Future<Output = TransportResult<u64>> + Send
fn set_automine( &self, to_mine: bool, ) -> impl Future<Output = TransportResult<()>> + Send
fn set_code( &self, address: Address, code: Bytes, ) -> impl Future<Output = TransportResult<()>> + Send
fn set_balance( &self, address: Address, balance: U256, ) -> impl Future<Output = TransportResult<()>> + Send
fn set_storage( &self, address: Address, cell: B256, value: B256, ) -> impl Future<Output = TransportResult<bool>> + Send
Source§impl<PN, PA, N> Clone for AnvilDebugProvider<PN, PA, N>
impl<PN, PA, N> Clone for AnvilDebugProvider<PN, PA, N>
Source§fn clone(&self) -> AnvilDebugProvider<PN, PA, N>
fn clone(&self) -> AnvilDebugProvider<PN, PA, N>
Returns a duplicate 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<PN, PA, N> Debug for AnvilDebugProvider<PN, PA, N>
impl<PN, PA, N> Debug for AnvilDebugProvider<PN, PA, N>
Source§impl<PN, PA, N> DebugProviderExt<N> for AnvilDebugProvider<PN, PA, N>
impl<PN, PA, N> DebugProviderExt<N> for AnvilDebugProvider<PN, PA, N>
fn geth_debug_trace_call<'life0, 'async_trait>(
&'life0 self,
tx: N::TransactionRequest,
block: BlockId,
trace_options: GethDebugTracingCallOptions,
) -> Pin<Box<dyn Future<Output = TransportResult<GethTrace>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn geth_debug_trace_block_by_number<'life0, 'async_trait>(
&'life0 self,
block: BlockNumberOrTag,
trace_options: GethDebugTracingOptions,
) -> Pin<Box<dyn Future<Output = TransportResult<Vec<TraceResult>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn geth_debug_trace_block_by_hash<'life0, 'async_trait>(
&'life0 self,
block: BlockHash,
trace_options: GethDebugTracingOptions,
) -> Pin<Box<dyn Future<Output = TransportResult<Vec<TraceResult>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Source§impl<PN, PA> Provider for AnvilDebugProvider<PN, PA, Ethereum>
impl<PN, PA> Provider for AnvilDebugProvider<PN, PA, Ethereum>
Source§fn get_block_number(&self) -> ProviderCall<NoParams, U64, BlockNumber>
fn get_block_number(&self) -> ProviderCall<NoParams, U64, BlockNumber>
Get the last block number available.
§fn builder() -> ProviderBuilder<Identity, Identity, N>where
Self: Sized,
fn builder() -> ProviderBuilder<Identity, Identity, N>where
Self: Sized,
Returns the [
ProviderBuilder
] to build on.§fn weak_client(&self) -> Weak<RpcClientInner>
fn weak_client(&self) -> Weak<RpcClientInner>
§fn erased(self) -> DynProvider<N>where
Self: Sized + 'static,
fn erased(self) -> DynProvider<N>where
Self: Sized + 'static,
Returns a type erased provider wrapped in Arc. See [
DynProvider
]. Read more§fn get_accounts(&self) -> ProviderCall<[(); 0], Vec<Address>>
fn get_accounts(&self) -> ProviderCall<[(); 0], Vec<Address>>
Gets the accounts in the remote node. This is usually empty unless you’re using a local
node.
§fn get_blob_base_fee(&self) -> ProviderCall<[(); 0], Uint<128, 2>, u128>
fn get_blob_base_fee(&self) -> ProviderCall<[(); 0], Uint<128, 2>, u128>
Returns the base fee per blob gas (blob gas price) in wei.
§fn get_block_number_by_id<'life0, 'async_trait>(
&'life0 self,
block_id: BlockId,
) -> Pin<Box<dyn Future<Output = Result<Option<u64>, RpcError<TransportErrorKind>>> + Send + 'async_trait>>where
'life0: 'async_trait,
Self: 'async_trait,
fn get_block_number_by_id<'life0, 'async_trait>(
&'life0 self,
block_id: BlockId,
) -> Pin<Box<dyn Future<Output = Result<Option<u64>, RpcError<TransportErrorKind>>> + Send + 'async_trait>>where
'life0: 'async_trait,
Self: 'async_trait,
Get the block number for a given block identifier. Read more
§fn call(&self, tx: <N as Network>::TransactionRequest) -> EthCall<N, Bytes>
fn call(&self, tx: <N as Network>::TransactionRequest) -> EthCall<N, Bytes>
Execute a smart contract call with a transaction request and state
overrides, without publishing a transaction. Read more
§fn call_many<'req>(
&self,
bundles: &'req [Bundle],
) -> EthCallMany<'req, N, Vec<Vec<EthCallResponse>>>
fn call_many<'req>( &self, bundles: &'req [Bundle], ) -> EthCallMany<'req, N, Vec<Vec<EthCallResponse>>>
Execute a list of [
Bundle
] against the provided StateContext
and StateOverride
,
without publishing a transaction. Read more§fn multicall(&self) -> MulticallBuilder<Empty, &Self, N>where
Self: Sized,
fn multicall(&self) -> MulticallBuilder<Empty, &Self, N>where
Self: Sized,
Execute a multicall by leveraging the [
MulticallBuilder
]. Read more§fn simulate<'req>(
&self,
payload: &'req SimulatePayload,
) -> RpcWithBlock<&'req SimulatePayload, Vec<SimulatedBlock<<N as Network>::BlockResponse>>>
fn simulate<'req>( &self, payload: &'req SimulatePayload, ) -> RpcWithBlock<&'req SimulatePayload, Vec<SimulatedBlock<<N as Network>::BlockResponse>>>
Executes an arbitrary number of transactions on top of the requested state. Read more
§fn get_chain_id(&self) -> ProviderCall<[(); 0], Uint<64, 1>, u64>
fn get_chain_id(&self) -> ProviderCall<[(); 0], Uint<64, 1>, u64>
Gets the chain ID.
§fn create_access_list<'a>(
&self,
request: &'a <N as Network>::TransactionRequest,
) -> RpcWithBlock<&'a <N as Network>::TransactionRequest, AccessListResult>
fn create_access_list<'a>( &self, request: &'a <N as Network>::TransactionRequest, ) -> RpcWithBlock<&'a <N as Network>::TransactionRequest, AccessListResult>
Create an EIP-2930 access list.
§fn estimate_gas(
&self,
tx: <N as Network>::TransactionRequest,
) -> EthCall<N, Uint<64, 1>, u64>
fn estimate_gas( &self, tx: <N as Network>::TransactionRequest, ) -> EthCall<N, Uint<64, 1>, u64>
Create an [
EthCall
] future to estimate the gas required for a
transaction. Read more§fn estimate_eip1559_fees_with<'life0, 'async_trait>(
&'life0 self,
estimator: Eip1559Estimator,
) -> Pin<Box<dyn Future<Output = Result<Eip1559Estimation, RpcError<TransportErrorKind>>> + Send + 'async_trait>>where
'life0: 'async_trait,
Self: 'async_trait,
fn estimate_eip1559_fees_with<'life0, 'async_trait>(
&'life0 self,
estimator: Eip1559Estimator,
) -> Pin<Box<dyn Future<Output = Result<Eip1559Estimation, RpcError<TransportErrorKind>>> + Send + 'async_trait>>where
'life0: 'async_trait,
Self: 'async_trait,
§fn estimate_eip1559_fees<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<Eip1559Estimation, RpcError<TransportErrorKind>>> + Send + 'async_trait>>where
'life0: 'async_trait,
Self: 'async_trait,
fn estimate_eip1559_fees<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<Eip1559Estimation, RpcError<TransportErrorKind>>> + Send + 'async_trait>>where
'life0: 'async_trait,
Self: 'async_trait,
§fn get_fee_history<'life0, 'life1, 'async_trait>(
&'life0 self,
block_count: u64,
last_block: BlockNumberOrTag,
reward_percentiles: &'life1 [f64],
) -> Pin<Box<dyn Future<Output = Result<FeeHistory, RpcError<TransportErrorKind>>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
Self: 'async_trait,
fn get_fee_history<'life0, 'life1, 'async_trait>(
&'life0 self,
block_count: u64,
last_block: BlockNumberOrTag,
reward_percentiles: &'life1 [f64],
) -> Pin<Box<dyn Future<Output = Result<FeeHistory, RpcError<TransportErrorKind>>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
Self: 'async_trait,
Returns a collection of historical gas information [FeeHistory] which
can be used to calculate the EIP1559 fields
maxFeePerGas
and maxPriorityFeePerGas
.
block_count
can range from 1 to 1024 blocks in a single request.§fn get_gas_price(&self) -> ProviderCall<[(); 0], Uint<128, 2>, u128>
fn get_gas_price(&self) -> ProviderCall<[(); 0], Uint<128, 2>, u128>
Gets the current gas price in wei.
§fn get_account_info(
&self,
address: Address,
) -> RpcWithBlock<Address, AccountInfo>
fn get_account_info( &self, address: Address, ) -> RpcWithBlock<Address, AccountInfo>
§fn get_account(&self, address: Address) -> RpcWithBlock<Address, TrieAccount>
fn get_account(&self, address: Address) -> RpcWithBlock<Address, TrieAccount>
Retrieves account information (Account) for the given [Address]
at the particular [BlockId].
§fn get_balance(&self, address: Address) -> RpcWithBlock<Address, Uint<256, 4>>
fn get_balance(&self, address: Address) -> RpcWithBlock<Address, Uint<256, 4>>
Gets the balance of the account. Read more
§fn get_block(
&self,
block: BlockId,
) -> EthGetBlock<<N as Network>::BlockResponse>
fn get_block( &self, block: BlockId, ) -> EthGetBlock<<N as Network>::BlockResponse>
Gets a block by either its hash, tag, or number Read more
§fn get_block_by_hash(
&self,
hash: FixedBytes<32>,
) -> EthGetBlock<<N as Network>::BlockResponse>
fn get_block_by_hash( &self, hash: FixedBytes<32>, ) -> EthGetBlock<<N as Network>::BlockResponse>
Gets a block by its [BlockHash] Read more
§fn get_block_by_number(
&self,
number: BlockNumberOrTag,
) -> EthGetBlock<<N as Network>::BlockResponse>
fn get_block_by_number( &self, number: BlockNumberOrTag, ) -> EthGetBlock<<N as Network>::BlockResponse>
Gets a block by its [BlockNumberOrTag] Read more
§fn get_block_transaction_count_by_hash<'life0, 'async_trait>(
&'life0 self,
hash: FixedBytes<32>,
) -> Pin<Box<dyn Future<Output = Result<Option<u64>, RpcError<TransportErrorKind>>> + Send + 'async_trait>>where
'life0: 'async_trait,
Self: 'async_trait,
fn get_block_transaction_count_by_hash<'life0, 'async_trait>(
&'life0 self,
hash: FixedBytes<32>,
) -> Pin<Box<dyn Future<Output = Result<Option<u64>, RpcError<TransportErrorKind>>> + Send + 'async_trait>>where
'life0: 'async_trait,
Self: 'async_trait,
Returns the number of transactions in a block from a block matching the given block hash.
§fn get_block_transaction_count_by_number<'life0, 'async_trait>(
&'life0 self,
block_number: BlockNumberOrTag,
) -> Pin<Box<dyn Future<Output = Result<Option<u64>, RpcError<TransportErrorKind>>> + Send + 'async_trait>>where
'life0: 'async_trait,
Self: 'async_trait,
fn get_block_transaction_count_by_number<'life0, 'async_trait>(
&'life0 self,
block_number: BlockNumberOrTag,
) -> Pin<Box<dyn Future<Output = Result<Option<u64>, RpcError<TransportErrorKind>>> + Send + 'async_trait>>where
'life0: 'async_trait,
Self: 'async_trait,
Returns the number of transactions in a block matching the given block number.
§fn get_block_receipts(
&self,
block: BlockId,
) -> ProviderCall<(BlockId,), Option<Vec<<N as Network>::ReceiptResponse>>>
fn get_block_receipts( &self, block: BlockId, ) -> ProviderCall<(BlockId,), Option<Vec<<N as Network>::ReceiptResponse>>>
Gets the selected block [BlockId] receipts.
§fn get_code_at(&self, address: Address) -> RpcWithBlock<Address, Bytes>
fn get_code_at(&self, address: Address) -> RpcWithBlock<Address, Bytes>
Gets the bytecode located at the corresponding [Address].
§fn watch_blocks<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<PollerBuilder<(Uint<256, 4>,), Vec<FixedBytes<32>>>, RpcError<TransportErrorKind>>> + Send + 'async_trait>>where
'life0: 'async_trait,
Self: 'async_trait,
fn watch_blocks<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<PollerBuilder<(Uint<256, 4>,), Vec<FixedBytes<32>>>, RpcError<TransportErrorKind>>> + Send + 'async_trait>>where
'life0: 'async_trait,
Self: 'async_trait,
Watch for new blocks by polling the provider with
eth_getFilterChanges
. Read more§fn watch_full_blocks<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<WatchBlocks<<N as Network>::BlockResponse>, RpcError<TransportErrorKind>>> + Send + 'async_trait>>where
'life0: 'async_trait,
Self: 'async_trait,
fn watch_full_blocks<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<WatchBlocks<<N as Network>::BlockResponse>, RpcError<TransportErrorKind>>> + Send + 'async_trait>>where
'life0: 'async_trait,
Self: 'async_trait,
Watch for new blocks by polling the provider with
eth_getFilterChanges
and transforming the returned block
hashes into full blocks bodies. Read more§fn watch_pending_transactions<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<PollerBuilder<(Uint<256, 4>,), Vec<FixedBytes<32>>>, RpcError<TransportErrorKind>>> + Send + 'async_trait>>where
'life0: 'async_trait,
Self: 'async_trait,
fn watch_pending_transactions<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<PollerBuilder<(Uint<256, 4>,), Vec<FixedBytes<32>>>, RpcError<TransportErrorKind>>> + Send + 'async_trait>>where
'life0: 'async_trait,
Self: 'async_trait,
Watch for new pending transaction by polling the provider with
eth_getFilterChanges
. Read more§fn watch_logs<'life0, 'life1, 'async_trait>(
&'life0 self,
filter: &'life1 Filter,
) -> Pin<Box<dyn Future<Output = Result<PollerBuilder<(Uint<256, 4>,), Vec<Log>>, RpcError<TransportErrorKind>>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
Self: 'async_trait,
fn watch_logs<'life0, 'life1, 'async_trait>(
&'life0 self,
filter: &'life1 Filter,
) -> Pin<Box<dyn Future<Output = Result<PollerBuilder<(Uint<256, 4>,), Vec<Log>>, RpcError<TransportErrorKind>>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
Self: 'async_trait,
Watch for new logs using the given filter by polling the provider with
eth_getFilterChanges
. Read more§fn watch_full_pending_transactions<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<PollerBuilder<(Uint<256, 4>,), Vec<<N as Network>::TransactionResponse>>, RpcError<TransportErrorKind>>> + Send + 'async_trait>>where
'life0: 'async_trait,
Self: 'async_trait,
fn watch_full_pending_transactions<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<PollerBuilder<(Uint<256, 4>,), Vec<<N as Network>::TransactionResponse>>, RpcError<TransportErrorKind>>> + Send + 'async_trait>>where
'life0: 'async_trait,
Self: 'async_trait,
Watch for new pending transaction bodies by polling the provider with
eth_getFilterChanges
. Read more§fn get_filter_changes<'life0, 'async_trait, R>(
&'life0 self,
id: Uint<256, 4>,
) -> Pin<Box<dyn Future<Output = Result<Vec<R>, RpcError<TransportErrorKind>>> + Send + 'async_trait>>where
'life0: 'async_trait,
Self: Sized + 'async_trait,
R: 'async_trait + RpcRecv,
fn get_filter_changes<'life0, 'async_trait, R>(
&'life0 self,
id: Uint<256, 4>,
) -> Pin<Box<dyn Future<Output = Result<Vec<R>, RpcError<TransportErrorKind>>> + Send + 'async_trait>>where
'life0: 'async_trait,
Self: Sized + 'async_trait,
R: 'async_trait + RpcRecv,
Get a list of values that have been added since the last poll. Read more
§fn get_filter_changes_dyn<'life0, 'async_trait>(
&'life0 self,
id: Uint<256, 4>,
) -> Pin<Box<dyn Future<Output = Result<FilterChanges, RpcError<TransportErrorKind>>> + Send + 'async_trait>>where
'life0: 'async_trait,
Self: 'async_trait,
fn get_filter_changes_dyn<'life0, 'async_trait>(
&'life0 self,
id: Uint<256, 4>,
) -> Pin<Box<dyn Future<Output = Result<FilterChanges, RpcError<TransportErrorKind>>> + Send + 'async_trait>>where
'life0: 'async_trait,
Self: 'async_trait,
Get a list of values that have been added since the last poll. Read more
§fn get_filter_logs<'life0, 'async_trait>(
&'life0 self,
id: Uint<256, 4>,
) -> Pin<Box<dyn Future<Output = Result<Vec<Log>, RpcError<TransportErrorKind>>> + Send + 'async_trait>>where
'life0: 'async_trait,
Self: 'async_trait,
fn get_filter_logs<'life0, 'async_trait>(
&'life0 self,
id: Uint<256, 4>,
) -> Pin<Box<dyn Future<Output = Result<Vec<Log>, RpcError<TransportErrorKind>>> + Send + 'async_trait>>where
'life0: 'async_trait,
Self: 'async_trait,
Retrieves a
Vec<Log>
for the given filter ID.§fn uninstall_filter<'life0, 'async_trait>(
&'life0 self,
id: Uint<256, 4>,
) -> Pin<Box<dyn Future<Output = Result<bool, RpcError<TransportErrorKind>>> + Send + 'async_trait>>where
'life0: 'async_trait,
Self: 'async_trait,
fn uninstall_filter<'life0, 'async_trait>(
&'life0 self,
id: Uint<256, 4>,
) -> Pin<Box<dyn Future<Output = Result<bool, RpcError<TransportErrorKind>>> + Send + 'async_trait>>where
'life0: 'async_trait,
Self: 'async_trait,
Request provider to uninstall the filter with the given ID.
§fn watch_pending_transaction<'life0, 'async_trait>(
&'life0 self,
config: PendingTransactionConfig,
) -> Pin<Box<dyn Future<Output = Result<PendingTransaction, PendingTransactionError>> + Send + 'async_trait>>where
'life0: 'async_trait,
Self: 'async_trait,
fn watch_pending_transaction<'life0, 'async_trait>(
&'life0 self,
config: PendingTransactionConfig,
) -> Pin<Box<dyn Future<Output = Result<PendingTransaction, PendingTransactionError>> + Send + 'async_trait>>where
'life0: 'async_trait,
Self: 'async_trait,
Watch for the confirmation of a single pending transaction with the given configuration. Read more
§fn get_logs<'life0, 'life1, 'async_trait>(
&'life0 self,
filter: &'life1 Filter,
) -> Pin<Box<dyn Future<Output = Result<Vec<Log>, RpcError<TransportErrorKind>>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
Self: 'async_trait,
fn get_logs<'life0, 'life1, 'async_trait>(
&'life0 self,
filter: &'life1 Filter,
) -> Pin<Box<dyn Future<Output = Result<Vec<Log>, RpcError<TransportErrorKind>>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
Self: 'async_trait,
Retrieves a
Vec<Log>
with the given [Filter].§fn get_proof(
&self,
address: Address,
keys: Vec<FixedBytes<32>>,
) -> RpcWithBlock<(Address, Vec<FixedBytes<32>>), EIP1186AccountProofResponse>
fn get_proof( &self, address: Address, keys: Vec<FixedBytes<32>>, ) -> RpcWithBlock<(Address, Vec<FixedBytes<32>>), EIP1186AccountProofResponse>
Get the account and storage values of the specified account including the merkle proofs. Read more
§fn get_storage_at(
&self,
address: Address,
key: Uint<256, 4>,
) -> RpcWithBlock<(Address, Uint<256, 4>), Uint<256, 4>>
fn get_storage_at( &self, address: Address, key: Uint<256, 4>, ) -> RpcWithBlock<(Address, Uint<256, 4>), Uint<256, 4>>
Gets the specified storage value from [Address].
§fn get_transaction_by_sender_nonce(
&self,
sender: Address,
nonce: u64,
) -> ProviderCall<(Address, Uint<64, 1>), Option<<N as Network>::TransactionResponse>>
fn get_transaction_by_sender_nonce( &self, sender: Address, nonce: u64, ) -> ProviderCall<(Address, Uint<64, 1>), Option<<N as Network>::TransactionResponse>>
Gets a transaction by its sender and nonce. Read more
§fn get_transaction_by_hash(
&self,
hash: FixedBytes<32>,
) -> ProviderCall<(FixedBytes<32>,), Option<<N as Network>::TransactionResponse>>
fn get_transaction_by_hash( &self, hash: FixedBytes<32>, ) -> ProviderCall<(FixedBytes<32>,), Option<<N as Network>::TransactionResponse>>
Gets a transaction by its [TxHash].
§fn get_transaction_by_block_hash_and_index(
&self,
block_hash: FixedBytes<32>,
index: usize,
) -> ProviderCall<(FixedBytes<32>, Index), Option<<N as Network>::TransactionResponse>>
fn get_transaction_by_block_hash_and_index( &self, block_hash: FixedBytes<32>, index: usize, ) -> ProviderCall<(FixedBytes<32>, Index), Option<<N as Network>::TransactionResponse>>
Gets a transaction by block hash and transaction index position.
§fn get_raw_transaction_by_block_hash_and_index(
&self,
block_hash: FixedBytes<32>,
index: usize,
) -> ProviderCall<(FixedBytes<32>, Index), Option<Bytes>>
fn get_raw_transaction_by_block_hash_and_index( &self, block_hash: FixedBytes<32>, index: usize, ) -> ProviderCall<(FixedBytes<32>, Index), Option<Bytes>>
Gets a raw transaction by block hash and transaction index position.
§fn get_transaction_by_block_number_and_index(
&self,
block_number: BlockNumberOrTag,
index: usize,
) -> ProviderCall<(BlockNumberOrTag, Index), Option<<N as Network>::TransactionResponse>>
fn get_transaction_by_block_number_and_index( &self, block_number: BlockNumberOrTag, index: usize, ) -> ProviderCall<(BlockNumberOrTag, Index), Option<<N as Network>::TransactionResponse>>
Gets a transaction by block number and transaction index position.
§fn get_raw_transaction_by_block_number_and_index(
&self,
block_number: BlockNumberOrTag,
index: usize,
) -> ProviderCall<(BlockNumberOrTag, Index), Option<Bytes>>
fn get_raw_transaction_by_block_number_and_index( &self, block_number: BlockNumberOrTag, index: usize, ) -> ProviderCall<(BlockNumberOrTag, Index), Option<Bytes>>
Gets a raw transaction by block number and transaction index position.
§fn get_raw_transaction_by_hash(
&self,
hash: FixedBytes<32>,
) -> ProviderCall<(FixedBytes<32>,), Option<Bytes>>
fn get_raw_transaction_by_hash( &self, hash: FixedBytes<32>, ) -> ProviderCall<(FixedBytes<32>,), Option<Bytes>>
Returns the EIP-2718 encoded transaction if it exists, see also
Decodable2718. Read more
§fn get_transaction_count(
&self,
address: Address,
) -> RpcWithBlock<Address, Uint<64, 1>, u64>
fn get_transaction_count( &self, address: Address, ) -> RpcWithBlock<Address, Uint<64, 1>, u64>
Gets the transaction count (AKA “nonce”) of the corresponding address.
§fn get_transaction_receipt(
&self,
hash: FixedBytes<32>,
) -> ProviderCall<(FixedBytes<32>,), Option<<N as Network>::ReceiptResponse>>
fn get_transaction_receipt( &self, hash: FixedBytes<32>, ) -> ProviderCall<(FixedBytes<32>,), Option<<N as Network>::ReceiptResponse>>
Gets a transaction receipt if it exists, by its [TxHash].
§fn get_uncle<'life0, 'async_trait>(
&'life0 self,
tag: BlockId,
idx: u64,
) -> Pin<Box<dyn Future<Output = Result<Option<<N as Network>::BlockResponse>, RpcError<TransportErrorKind>>> + Send + 'async_trait>>where
'life0: 'async_trait,
Self: 'async_trait,
fn get_uncle<'life0, 'async_trait>(
&'life0 self,
tag: BlockId,
idx: u64,
) -> Pin<Box<dyn Future<Output = Result<Option<<N as Network>::BlockResponse>, RpcError<TransportErrorKind>>> + Send + 'async_trait>>where
'life0: 'async_trait,
Self: 'async_trait,
Gets an uncle block through the tag [BlockId] and index u64.
§fn get_uncle_count<'life0, 'async_trait>(
&'life0 self,
tag: BlockId,
) -> Pin<Box<dyn Future<Output = Result<u64, RpcError<TransportErrorKind>>> + Send + 'async_trait>>where
'life0: 'async_trait,
Self: 'async_trait,
fn get_uncle_count<'life0, 'async_trait>(
&'life0 self,
tag: BlockId,
) -> Pin<Box<dyn Future<Output = Result<u64, RpcError<TransportErrorKind>>> + Send + 'async_trait>>where
'life0: 'async_trait,
Self: 'async_trait,
Gets the number of uncles for the block specified by the tag [BlockId].
§fn get_max_priority_fee_per_gas(
&self,
) -> ProviderCall<[(); 0], Uint<128, 2>, u128>
fn get_max_priority_fee_per_gas( &self, ) -> ProviderCall<[(); 0], Uint<128, 2>, u128>
Returns a suggestion for the current
maxPriorityFeePerGas
in wei.§fn new_block_filter<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<Uint<256, 4>, RpcError<TransportErrorKind>>> + Send + 'async_trait>>where
'life0: 'async_trait,
Self: 'async_trait,
fn new_block_filter<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<Uint<256, 4>, RpcError<TransportErrorKind>>> + Send + 'async_trait>>where
'life0: 'async_trait,
Self: 'async_trait,
Notify the provider that we are interested in new blocks. Read more
§fn new_filter<'life0, 'life1, 'async_trait>(
&'life0 self,
filter: &'life1 Filter,
) -> Pin<Box<dyn Future<Output = Result<Uint<256, 4>, RpcError<TransportErrorKind>>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
Self: 'async_trait,
fn new_filter<'life0, 'life1, 'async_trait>(
&'life0 self,
filter: &'life1 Filter,
) -> Pin<Box<dyn Future<Output = Result<Uint<256, 4>, RpcError<TransportErrorKind>>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
Self: 'async_trait,
Notify the provider that we are interested in logs that match the given filter. Read more
§fn new_pending_transactions_filter<'life0, 'async_trait>(
&'life0 self,
full: bool,
) -> Pin<Box<dyn Future<Output = Result<Uint<256, 4>, RpcError<TransportErrorKind>>> + Send + 'async_trait>>where
'life0: 'async_trait,
Self: 'async_trait,
fn new_pending_transactions_filter<'life0, 'async_trait>(
&'life0 self,
full: bool,
) -> Pin<Box<dyn Future<Output = Result<Uint<256, 4>, RpcError<TransportErrorKind>>> + Send + 'async_trait>>where
'life0: 'async_trait,
Self: 'async_trait,
Notify the provider that we are interested in new pending transactions. Read more
§fn send_raw_transaction<'life0, 'life1, 'async_trait>(
&'life0 self,
encoded_tx: &'life1 [u8],
) -> Pin<Box<dyn Future<Output = Result<PendingTransactionBuilder<N>, RpcError<TransportErrorKind>>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
Self: 'async_trait,
fn send_raw_transaction<'life0, 'life1, 'async_trait>(
&'life0 self,
encoded_tx: &'life1 [u8],
) -> Pin<Box<dyn Future<Output = Result<PendingTransactionBuilder<N>, RpcError<TransportErrorKind>>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
Self: 'async_trait,
Broadcasts a raw transaction RLP bytes to the network. Read more
§fn send_raw_transaction_conditional<'life0, 'life1, 'async_trait>(
&'life0 self,
encoded_tx: &'life1 [u8],
conditional: TransactionConditional,
) -> Pin<Box<dyn Future<Output = Result<PendingTransactionBuilder<N>, RpcError<TransportErrorKind>>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
Self: 'async_trait,
fn send_raw_transaction_conditional<'life0, 'life1, 'async_trait>(
&'life0 self,
encoded_tx: &'life1 [u8],
conditional: TransactionConditional,
) -> Pin<Box<dyn Future<Output = Result<PendingTransactionBuilder<N>, RpcError<TransportErrorKind>>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
Self: 'async_trait,
Broadcasts a raw transaction RLP bytes with a conditional [
TransactionConditional
] to the
network. Read more§fn send_transaction<'life0, 'async_trait>(
&'life0 self,
tx: <N as Network>::TransactionRequest,
) -> Pin<Box<dyn Future<Output = Result<PendingTransactionBuilder<N>, RpcError<TransportErrorKind>>> + Send + 'async_trait>>where
'life0: 'async_trait,
Self: 'async_trait,
fn send_transaction<'life0, 'async_trait>(
&'life0 self,
tx: <N as Network>::TransactionRequest,
) -> Pin<Box<dyn Future<Output = Result<PendingTransactionBuilder<N>, RpcError<TransportErrorKind>>> + Send + 'async_trait>>where
'life0: 'async_trait,
Self: 'async_trait,
Broadcasts a transaction to the network. Read more
§fn send_tx_envelope<'life0, 'async_trait>(
&'life0 self,
tx: <N as Network>::TxEnvelope,
) -> Pin<Box<dyn Future<Output = Result<PendingTransactionBuilder<N>, RpcError<TransportErrorKind>>> + Send + 'async_trait>>where
'life0: 'async_trait,
Self: 'async_trait,
fn send_tx_envelope<'life0, 'async_trait>(
&'life0 self,
tx: <N as Network>::TxEnvelope,
) -> Pin<Box<dyn Future<Output = Result<PendingTransactionBuilder<N>, RpcError<TransportErrorKind>>> + Send + 'async_trait>>where
'life0: 'async_trait,
Self: 'async_trait,
Broadcasts a transaction envelope to the network. Read more
§fn sign_transaction<'life0, 'async_trait>(
&'life0 self,
tx: <N as Network>::TransactionRequest,
) -> Pin<Box<dyn Future<Output = Result<Bytes, RpcError<TransportErrorKind>>> + Send + 'async_trait>>where
'life0: 'async_trait,
Self: 'async_trait,
fn sign_transaction<'life0, 'async_trait>(
&'life0 self,
tx: <N as Network>::TransactionRequest,
) -> Pin<Box<dyn Future<Output = Result<Bytes, RpcError<TransportErrorKind>>> + Send + 'async_trait>>where
'life0: 'async_trait,
Self: 'async_trait,
Signs a transaction that can be submitted to the network later using
[
Provider::send_raw_transaction
]. Read more§fn subscribe_blocks(
&self,
) -> GetSubscription<(SubscriptionKind,), <N as Network>::HeaderResponse>
fn subscribe_blocks( &self, ) -> GetSubscription<(SubscriptionKind,), <N as Network>::HeaderResponse>
Subscribe to a stream of new block headers. Read more
§fn subscribe_full_blocks(&self) -> SubFullBlocks<N>
fn subscribe_full_blocks(&self) -> SubFullBlocks<N>
Subscribe to a stream of full block bodies. Read more
§fn subscribe_pending_transactions(
&self,
) -> GetSubscription<(SubscriptionKind,), FixedBytes<32>>
fn subscribe_pending_transactions( &self, ) -> GetSubscription<(SubscriptionKind,), FixedBytes<32>>
Subscribe to a stream of pending transaction hashes. Read more
§fn subscribe_full_pending_transactions(
&self,
) -> GetSubscription<(SubscriptionKind, Params), <N as Network>::TransactionResponse>
fn subscribe_full_pending_transactions( &self, ) -> GetSubscription<(SubscriptionKind, Params), <N as Network>::TransactionResponse>
Subscribe to a stream of pending transaction bodies. Read more
§fn subscribe_logs(
&self,
filter: &Filter,
) -> GetSubscription<(SubscriptionKind, Params), Log>
fn subscribe_logs( &self, filter: &Filter, ) -> GetSubscription<(SubscriptionKind, Params), Log>
Subscribe to a stream of logs matching given filter. Read more
§fn subscribe<P, R>(&self, params: P) -> GetSubscription<P, R>where
P: RpcSend,
R: RpcRecv,
Self: Sized,
fn subscribe<P, R>(&self, params: P) -> GetSubscription<P, R>where
P: RpcSend,
R: RpcRecv,
Self: Sized,
Subscribe to an RPC event.
§fn unsubscribe<'life0, 'async_trait>(
&'life0 self,
id: FixedBytes<32>,
) -> Pin<Box<dyn Future<Output = Result<(), RpcError<TransportErrorKind>>> + Send + 'async_trait>>where
'life0: 'async_trait,
Self: 'async_trait,
fn unsubscribe<'life0, 'async_trait>(
&'life0 self,
id: FixedBytes<32>,
) -> Pin<Box<dyn Future<Output = Result<(), RpcError<TransportErrorKind>>> + Send + 'async_trait>>where
'life0: 'async_trait,
Self: 'async_trait,
Cancels a subscription given the subscription ID.
§fn get_client_version(&self) -> ProviderCall<[(); 0], String>
fn get_client_version(&self) -> ProviderCall<[(); 0], String>
Gets the client version.
§fn get_sha3(&self, data: &[u8]) -> ProviderCall<(String,), FixedBytes<32>>
fn get_sha3(&self, data: &[u8]) -> ProviderCall<(String,), FixedBytes<32>>
Gets the
Keccak-256
hash of the given data.§fn get_net_version(&self) -> ProviderCall<[(); 0], Uint<64, 1>, u64>
fn get_net_version(&self) -> ProviderCall<[(); 0], Uint<64, 1>, u64>
Gets the network ID. Same as
eth_chainId
.§fn raw_request<'life0, 'async_trait, P, R>(
&'life0 self,
method: Cow<'static, str>,
params: P,
) -> Pin<Box<dyn Future<Output = Result<R, RpcError<TransportErrorKind>>> + Send + 'async_trait>>where
'life0: 'async_trait,
P: RpcSend + 'async_trait,
R: RpcRecv + 'async_trait,
Self: Sized + 'async_trait,
fn raw_request<'life0, 'async_trait, P, R>(
&'life0 self,
method: Cow<'static, str>,
params: P,
) -> Pin<Box<dyn Future<Output = Result<R, RpcError<TransportErrorKind>>> + Send + 'async_trait>>where
'life0: 'async_trait,
P: RpcSend + 'async_trait,
R: RpcRecv + 'async_trait,
Self: Sized + 'async_trait,
Sends a raw JSON-RPC request. Read more
§fn raw_request_dyn<'life0, 'life1, 'async_trait>(
&'life0 self,
method: Cow<'static, str>,
params: &'life1 RawValue,
) -> Pin<Box<dyn Future<Output = Result<Box<RawValue>, RpcError<TransportErrorKind>>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
Self: 'async_trait,
fn raw_request_dyn<'life0, 'life1, 'async_trait>(
&'life0 self,
method: Cow<'static, str>,
params: &'life1 RawValue,
) -> Pin<Box<dyn Future<Output = Result<Box<RawValue>, RpcError<TransportErrorKind>>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
Self: 'async_trait,
Sends a raw JSON-RPC request with type-erased parameters and return. Read more
§fn transaction_request(&self) -> <N as Network>::TransactionRequest
fn transaction_request(&self) -> <N as Network>::TransactionRequest
Creates a new
TransactionRequest
.Auto Trait Implementations§
impl<PN, PA, N> Freeze for AnvilDebugProvider<PN, PA, N>
impl<PN, PA, N> !RefUnwindSafe for AnvilDebugProvider<PN, PA, N>
impl<PN, PA, N> Send for AnvilDebugProvider<PN, PA, N>
impl<PN, PA, N> Sync for AnvilDebugProvider<PN, PA, N>
impl<PN, PA, N> Unpin for AnvilDebugProvider<PN, PA, N>
impl<PN, PA, N> !UnwindSafe for AnvilDebugProvider<PN, PA, N>
Blanket Implementations§
§impl<N, P> AnvilApi<N> for Pwhere
N: Network,
P: Provider<N>,
impl<N, P> AnvilApi<N> for Pwhere
N: Network,
P: Provider<N>,
§fn anvil_impersonate_account<'life0, 'async_trait>(
&'life0 self,
address: Address,
) -> Pin<Box<dyn Future<Output = Result<(), RpcError<TransportErrorKind>>> + Send + 'async_trait>>where
'life0: 'async_trait,
P: 'async_trait,
fn anvil_impersonate_account<'life0, 'async_trait>(
&'life0 self,
address: Address,
) -> Pin<Box<dyn Future<Output = Result<(), RpcError<TransportErrorKind>>> + Send + 'async_trait>>where
'life0: 'async_trait,
P: 'async_trait,
Send transactions impersonating specific account and contract addresses.
§fn anvil_stop_impersonating_account<'life0, 'async_trait>(
&'life0 self,
address: Address,
) -> Pin<Box<dyn Future<Output = Result<(), RpcError<TransportErrorKind>>> + Send + 'async_trait>>where
'life0: 'async_trait,
P: 'async_trait,
fn anvil_stop_impersonating_account<'life0, 'async_trait>(
&'life0 self,
address: Address,
) -> Pin<Box<dyn Future<Output = Result<(), RpcError<TransportErrorKind>>> + Send + 'async_trait>>where
'life0: 'async_trait,
P: 'async_trait,
Stops impersonating an account if previously set with
anvil_impersonateAccount
.§fn anvil_auto_impersonate_account<'life0, 'async_trait>(
&'life0 self,
enabled: bool,
) -> Pin<Box<dyn Future<Output = Result<(), RpcError<TransportErrorKind>>> + Send + 'async_trait>>where
'life0: 'async_trait,
P: 'async_trait,
fn anvil_auto_impersonate_account<'life0, 'async_trait>(
&'life0 self,
enabled: bool,
) -> Pin<Box<dyn Future<Output = Result<(), RpcError<TransportErrorKind>>> + Send + 'async_trait>>where
'life0: 'async_trait,
P: 'async_trait,
If set to true will make every account impersonated.
§fn anvil_get_auto_mine<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<bool, RpcError<TransportErrorKind>>> + Send + 'async_trait>>where
'life0: 'async_trait,
P: 'async_trait,
fn anvil_get_auto_mine<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<bool, RpcError<TransportErrorKind>>> + Send + 'async_trait>>where
'life0: 'async_trait,
P: 'async_trait,
Returns true if auto mining is enabled, and false.
§fn anvil_set_auto_mine<'life0, 'async_trait>(
&'life0 self,
enabled: bool,
) -> Pin<Box<dyn Future<Output = Result<(), RpcError<TransportErrorKind>>> + Send + 'async_trait>>where
'life0: 'async_trait,
P: 'async_trait,
fn anvil_set_auto_mine<'life0, 'async_trait>(
&'life0 self,
enabled: bool,
) -> Pin<Box<dyn Future<Output = Result<(), RpcError<TransportErrorKind>>> + Send + 'async_trait>>where
'life0: 'async_trait,
P: 'async_trait,
Enables or disables, based on the single boolean argument, the automatic mining of new
blocks with each new transaction submitted to the network.
§fn anvil_mine<'life0, 'async_trait>(
&'life0 self,
num_blocks: Option<u64>,
interval: Option<u64>,
) -> Pin<Box<dyn Future<Output = Result<(), RpcError<TransportErrorKind>>> + Send + 'async_trait>>where
'life0: 'async_trait,
P: 'async_trait,
fn anvil_mine<'life0, 'async_trait>(
&'life0 self,
num_blocks: Option<u64>,
interval: Option<u64>,
) -> Pin<Box<dyn Future<Output = Result<(), RpcError<TransportErrorKind>>> + Send + 'async_trait>>where
'life0: 'async_trait,
P: 'async_trait,
Mines a series of blocks.
§fn anvil_set_interval_mining<'life0, 'async_trait>(
&'life0 self,
secs: u64,
) -> Pin<Box<dyn Future<Output = Result<(), RpcError<TransportErrorKind>>> + Send + 'async_trait>>where
'life0: 'async_trait,
P: 'async_trait,
fn anvil_set_interval_mining<'life0, 'async_trait>(
&'life0 self,
secs: u64,
) -> Pin<Box<dyn Future<Output = Result<(), RpcError<TransportErrorKind>>> + Send + 'async_trait>>where
'life0: 'async_trait,
P: 'async_trait,
Sets the mining behavior to interval with the given interval (seconds).
§fn anvil_drop_transaction<'life0, 'async_trait>(
&'life0 self,
tx_hash: FixedBytes<32>,
) -> Pin<Box<dyn Future<Output = Result<Option<FixedBytes<32>>, RpcError<TransportErrorKind>>> + Send + 'async_trait>>where
'life0: 'async_trait,
P: 'async_trait,
fn anvil_drop_transaction<'life0, 'async_trait>(
&'life0 self,
tx_hash: FixedBytes<32>,
) -> Pin<Box<dyn Future<Output = Result<Option<FixedBytes<32>>, RpcError<TransportErrorKind>>> + Send + 'async_trait>>where
'life0: 'async_trait,
P: 'async_trait,
Removes transactions from the pool.
§fn anvil_drop_all_transactions<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<(), RpcError<TransportErrorKind>>> + Send + 'async_trait>>where
'life0: 'async_trait,
P: 'async_trait,
fn anvil_drop_all_transactions<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<(), RpcError<TransportErrorKind>>> + Send + 'async_trait>>where
'life0: 'async_trait,
P: 'async_trait,
Removes all transactions from the pool.
§fn anvil_reset<'life0, 'async_trait>(
&'life0 self,
forking: Option<Forking>,
) -> Pin<Box<dyn Future<Output = Result<(), RpcError<TransportErrorKind>>> + Send + 'async_trait>>where
'life0: 'async_trait,
P: 'async_trait,
fn anvil_reset<'life0, 'async_trait>(
&'life0 self,
forking: Option<Forking>,
) -> Pin<Box<dyn Future<Output = Result<(), RpcError<TransportErrorKind>>> + Send + 'async_trait>>where
'life0: 'async_trait,
P: 'async_trait,
Reset the fork to a fresh forked state, and optionally update the fork config. Read more
§fn anvil_set_chain_id<'life0, 'async_trait>(
&'life0 self,
chain_id: u64,
) -> Pin<Box<dyn Future<Output = Result<(), RpcError<TransportErrorKind>>> + Send + 'async_trait>>where
'life0: 'async_trait,
P: 'async_trait,
fn anvil_set_chain_id<'life0, 'async_trait>(
&'life0 self,
chain_id: u64,
) -> Pin<Box<dyn Future<Output = Result<(), RpcError<TransportErrorKind>>> + Send + 'async_trait>>where
'life0: 'async_trait,
P: 'async_trait,
Sets the chain ID.
§fn anvil_set_balance<'life0, 'async_trait>(
&'life0 self,
address: Address,
balance: Uint<256, 4>,
) -> Pin<Box<dyn Future<Output = Result<(), RpcError<TransportErrorKind>>> + Send + 'async_trait>>where
'life0: 'async_trait,
P: 'async_trait,
fn anvil_set_balance<'life0, 'async_trait>(
&'life0 self,
address: Address,
balance: Uint<256, 4>,
) -> Pin<Box<dyn Future<Output = Result<(), RpcError<TransportErrorKind>>> + Send + 'async_trait>>where
'life0: 'async_trait,
P: 'async_trait,
Modifies the balance of an account.
§fn anvil_set_code<'life0, 'async_trait>(
&'life0 self,
address: Address,
code: Bytes,
) -> Pin<Box<dyn Future<Output = Result<(), RpcError<TransportErrorKind>>> + Send + 'async_trait>>where
'life0: 'async_trait,
P: 'async_trait,
fn anvil_set_code<'life0, 'async_trait>(
&'life0 self,
address: Address,
code: Bytes,
) -> Pin<Box<dyn Future<Output = Result<(), RpcError<TransportErrorKind>>> + Send + 'async_trait>>where
'life0: 'async_trait,
P: 'async_trait,
Sets the code of a contract.
§fn anvil_set_nonce<'life0, 'async_trait>(
&'life0 self,
address: Address,
nonce: u64,
) -> Pin<Box<dyn Future<Output = Result<(), RpcError<TransportErrorKind>>> + Send + 'async_trait>>where
'life0: 'async_trait,
P: 'async_trait,
fn anvil_set_nonce<'life0, 'async_trait>(
&'life0 self,
address: Address,
nonce: u64,
) -> Pin<Box<dyn Future<Output = Result<(), RpcError<TransportErrorKind>>> + Send + 'async_trait>>where
'life0: 'async_trait,
P: 'async_trait,
Sets the nonce of an address.
§fn anvil_set_storage_at<'life0, 'async_trait>(
&'life0 self,
address: Address,
slot: Uint<256, 4>,
val: FixedBytes<32>,
) -> Pin<Box<dyn Future<Output = Result<bool, RpcError<TransportErrorKind>>> + Send + 'async_trait>>where
'life0: 'async_trait,
P: 'async_trait,
fn anvil_set_storage_at<'life0, 'async_trait>(
&'life0 self,
address: Address,
slot: Uint<256, 4>,
val: FixedBytes<32>,
) -> Pin<Box<dyn Future<Output = Result<bool, RpcError<TransportErrorKind>>> + Send + 'async_trait>>where
'life0: 'async_trait,
P: 'async_trait,
Writes a single slot of the account’s storage.
§fn anvil_set_logging<'life0, 'async_trait>(
&'life0 self,
enable: bool,
) -> Pin<Box<dyn Future<Output = Result<(), RpcError<TransportErrorKind>>> + Send + 'async_trait>>where
'life0: 'async_trait,
P: 'async_trait,
fn anvil_set_logging<'life0, 'async_trait>(
&'life0 self,
enable: bool,
) -> Pin<Box<dyn Future<Output = Result<(), RpcError<TransportErrorKind>>> + Send + 'async_trait>>where
'life0: 'async_trait,
P: 'async_trait,
Enable or disable logging.
§fn anvil_set_min_gas_price<'life0, 'async_trait>(
&'life0 self,
gas: u128,
) -> Pin<Box<dyn Future<Output = Result<(), RpcError<TransportErrorKind>>> + Send + 'async_trait>>where
'life0: 'async_trait,
P: 'async_trait,
fn anvil_set_min_gas_price<'life0, 'async_trait>(
&'life0 self,
gas: u128,
) -> Pin<Box<dyn Future<Output = Result<(), RpcError<TransportErrorKind>>> + Send + 'async_trait>>where
'life0: 'async_trait,
P: 'async_trait,
Set the minimum gas price for the node.
§fn anvil_set_next_block_base_fee_per_gas<'life0, 'async_trait>(
&'life0 self,
basefee: u128,
) -> Pin<Box<dyn Future<Output = Result<(), RpcError<TransportErrorKind>>> + Send + 'async_trait>>where
'life0: 'async_trait,
P: 'async_trait,
fn anvil_set_next_block_base_fee_per_gas<'life0, 'async_trait>(
&'life0 self,
basefee: u128,
) -> Pin<Box<dyn Future<Output = Result<(), RpcError<TransportErrorKind>>> + Send + 'async_trait>>where
'life0: 'async_trait,
P: 'async_trait,
Sets the base fee of the next block.
§fn anvil_set_coinbase<'life0, 'async_trait>(
&'life0 self,
address: Address,
) -> Pin<Box<dyn Future<Output = Result<(), RpcError<TransportErrorKind>>> + Send + 'async_trait>>where
'life0: 'async_trait,
P: 'async_trait,
fn anvil_set_coinbase<'life0, 'async_trait>(
&'life0 self,
address: Address,
) -> Pin<Box<dyn Future<Output = Result<(), RpcError<TransportErrorKind>>> + Send + 'async_trait>>where
'life0: 'async_trait,
P: 'async_trait,
Sets the coinbase address.
§fn anvil_dump_state<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<Bytes, RpcError<TransportErrorKind>>> + Send + 'async_trait>>where
'life0: 'async_trait,
P: 'async_trait,
fn anvil_dump_state<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<Bytes, RpcError<TransportErrorKind>>> + Send + 'async_trait>>where
'life0: 'async_trait,
P: 'async_trait,
Create a buffer that represents all state on the chain, which can be loaded to separate
process by calling
anvil_loadState
§fn anvil_load_state<'life0, 'async_trait>(
&'life0 self,
buf: Bytes,
) -> Pin<Box<dyn Future<Output = Result<bool, RpcError<TransportErrorKind>>> + Send + 'async_trait>>where
'life0: 'async_trait,
P: 'async_trait,
fn anvil_load_state<'life0, 'async_trait>(
&'life0 self,
buf: Bytes,
) -> Pin<Box<dyn Future<Output = Result<bool, RpcError<TransportErrorKind>>> + Send + 'async_trait>>where
'life0: 'async_trait,
P: 'async_trait,
Append chain state buffer to current chain. Will overwrite any conflicting addresses or
storage.
§fn anvil_node_info<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<NodeInfo, RpcError<TransportErrorKind>>> + Send + 'async_trait>>where
'life0: 'async_trait,
P: 'async_trait,
fn anvil_node_info<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<NodeInfo, RpcError<TransportErrorKind>>> + Send + 'async_trait>>where
'life0: 'async_trait,
P: 'async_trait,
Retrieves the Anvil node configuration params.
§fn anvil_metadata<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<Metadata, RpcError<TransportErrorKind>>> + Send + 'async_trait>>where
'life0: 'async_trait,
P: 'async_trait,
fn anvil_metadata<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<Metadata, RpcError<TransportErrorKind>>> + Send + 'async_trait>>where
'life0: 'async_trait,
P: 'async_trait,
Retrieves metadata about the Anvil instance.
§fn anvil_remove_pool_transactions<'life0, 'async_trait>(
&'life0 self,
address: Address,
) -> Pin<Box<dyn Future<Output = Result<(), RpcError<TransportErrorKind>>> + Send + 'async_trait>>where
'life0: 'async_trait,
P: 'async_trait,
fn anvil_remove_pool_transactions<'life0, 'async_trait>(
&'life0 self,
address: Address,
) -> Pin<Box<dyn Future<Output = Result<(), RpcError<TransportErrorKind>>> + Send + 'async_trait>>where
'life0: 'async_trait,
P: 'async_trait,
Removes all transactions from the pool for a specific address.
§fn anvil_snapshot<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<Uint<256, 4>, RpcError<TransportErrorKind>>> + Send + 'async_trait>>where
'life0: 'async_trait,
P: 'async_trait,
fn anvil_snapshot<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<Uint<256, 4>, RpcError<TransportErrorKind>>> + Send + 'async_trait>>where
'life0: 'async_trait,
P: 'async_trait,
Snapshot the state of the blockchain at the current block.
§fn anvil_revert<'life0, 'async_trait>(
&'life0 self,
id: Uint<256, 4>,
) -> Pin<Box<dyn Future<Output = Result<bool, RpcError<TransportErrorKind>>> + Send + 'async_trait>>where
'life0: 'async_trait,
P: 'async_trait,
fn anvil_revert<'life0, 'async_trait>(
&'life0 self,
id: Uint<256, 4>,
) -> Pin<Box<dyn Future<Output = Result<bool, RpcError<TransportErrorKind>>> + Send + 'async_trait>>where
'life0: 'async_trait,
P: 'async_trait,
Revert the state of the blockchain to a previous snapshot.
Takes a single parameter, which is the snapshot id to revert to.
§fn anvil_increase_time<'life0, 'async_trait>(
&'life0 self,
seconds: u64,
) -> Pin<Box<dyn Future<Output = Result<i64, RpcError<TransportErrorKind>>> + Send + 'async_trait>>where
'life0: 'async_trait,
P: 'async_trait,
fn anvil_increase_time<'life0, 'async_trait>(
&'life0 self,
seconds: u64,
) -> Pin<Box<dyn Future<Output = Result<i64, RpcError<TransportErrorKind>>> + Send + 'async_trait>>where
'life0: 'async_trait,
P: 'async_trait,
Jump forward in time by the given amount of time, in seconds.
§fn anvil_set_next_block_timestamp<'life0, 'async_trait>(
&'life0 self,
seconds: u64,
) -> Pin<Box<dyn Future<Output = Result<(), RpcError<TransportErrorKind>>> + Send + 'async_trait>>where
'life0: 'async_trait,
P: 'async_trait,
fn anvil_set_next_block_timestamp<'life0, 'async_trait>(
&'life0 self,
seconds: u64,
) -> Pin<Box<dyn Future<Output = Result<(), RpcError<TransportErrorKind>>> + Send + 'async_trait>>where
'life0: 'async_trait,
P: 'async_trait,
Similar to
evm_increaseTime
but takes the exact timestamp that you want in the next block.§fn anvil_set_time<'life0, 'async_trait>(
&'life0 self,
timestamp: u64,
) -> Pin<Box<dyn Future<Output = Result<u64, RpcError<TransportErrorKind>>> + Send + 'async_trait>>where
'life0: 'async_trait,
P: 'async_trait,
fn anvil_set_time<'life0, 'async_trait>(
&'life0 self,
timestamp: u64,
) -> Pin<Box<dyn Future<Output = Result<u64, RpcError<TransportErrorKind>>> + Send + 'async_trait>>where
'life0: 'async_trait,
P: 'async_trait,
Sets the specific timestamp and returns the number of seconds between the given timestamp
and the current time.
§fn anvil_set_block_gas_limit<'life0, 'async_trait>(
&'life0 self,
gas_limit: u64,
) -> Pin<Box<dyn Future<Output = Result<bool, RpcError<TransportErrorKind>>> + Send + 'async_trait>>where
'life0: 'async_trait,
P: 'async_trait,
fn anvil_set_block_gas_limit<'life0, 'async_trait>(
&'life0 self,
gas_limit: u64,
) -> Pin<Box<dyn Future<Output = Result<bool, RpcError<TransportErrorKind>>> + Send + 'async_trait>>where
'life0: 'async_trait,
P: 'async_trait,
Set the next block gas limit.
§fn anvil_set_block_timestamp_interval<'life0, 'async_trait>(
&'life0 self,
seconds: u64,
) -> Pin<Box<dyn Future<Output = Result<(), RpcError<TransportErrorKind>>> + Send + 'async_trait>>where
'life0: 'async_trait,
P: 'async_trait,
fn anvil_set_block_timestamp_interval<'life0, 'async_trait>(
&'life0 self,
seconds: u64,
) -> Pin<Box<dyn Future<Output = Result<(), RpcError<TransportErrorKind>>> + Send + 'async_trait>>where
'life0: 'async_trait,
P: 'async_trait,
Sets an interval for the block timestamp.
§fn anvil_remove_block_timestamp_interval<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<bool, RpcError<TransportErrorKind>>> + Send + 'async_trait>>where
'life0: 'async_trait,
P: 'async_trait,
fn anvil_remove_block_timestamp_interval<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<bool, RpcError<TransportErrorKind>>> + Send + 'async_trait>>where
'life0: 'async_trait,
P: 'async_trait,
Unsets the interval for the block timestamp.
§fn evm_mine<'life0, 'async_trait>(
&'life0 self,
opts: Option<MineOptions>,
) -> Pin<Box<dyn Future<Output = Result<String, RpcError<TransportErrorKind>>> + Send + 'async_trait>>where
'life0: 'async_trait,
P: 'async_trait,
fn evm_mine<'life0, 'async_trait>(
&'life0 self,
opts: Option<MineOptions>,
) -> Pin<Box<dyn Future<Output = Result<String, RpcError<TransportErrorKind>>> + Send + 'async_trait>>where
'life0: 'async_trait,
P: 'async_trait,
Mine blocks, instantly.
This will mine the blocks regardless of the configured mining mode.
§fn anvil_mine_detailed<'life0, 'async_trait>(
&'life0 self,
opts: Option<MineOptions>,
) -> Pin<Box<dyn Future<Output = Result<Vec<Block>, RpcError<TransportErrorKind>>> + Send + 'async_trait>>where
'life0: 'async_trait,
P: 'async_trait,
fn anvil_mine_detailed<'life0, 'async_trait>(
&'life0 self,
opts: Option<MineOptions>,
) -> Pin<Box<dyn Future<Output = Result<Vec<Block>, RpcError<TransportErrorKind>>> + Send + 'async_trait>>where
'life0: 'async_trait,
P: 'async_trait,
Mine blocks, instantly and return the mined blocks.
This will mine the blocks regardless of the configured mining mode.
§fn anvil_set_rpc_url<'life0, 'async_trait>(
&'life0 self,
url: String,
) -> Pin<Box<dyn Future<Output = Result<(), RpcError<TransportErrorKind>>> + Send + 'async_trait>>where
'life0: 'async_trait,
P: 'async_trait,
fn anvil_set_rpc_url<'life0, 'async_trait>(
&'life0 self,
url: String,
) -> Pin<Box<dyn Future<Output = Result<(), RpcError<TransportErrorKind>>> + Send + 'async_trait>>where
'life0: 'async_trait,
P: 'async_trait,
Sets the backend rpc url.
§fn anvil_reorg<'life0, 'async_trait>(
&'life0 self,
options: ReorgOptions,
) -> Pin<Box<dyn Future<Output = Result<(), RpcError<TransportErrorKind>>> + Send + 'async_trait>>where
'life0: 'async_trait,
P: 'async_trait,
fn anvil_reorg<'life0, 'async_trait>(
&'life0 self,
options: ReorgOptions,
) -> Pin<Box<dyn Future<Output = Result<(), RpcError<TransportErrorKind>>> + Send + 'async_trait>>where
'life0: 'async_trait,
P: 'async_trait,
Reorg the chain
§fn anvil_rollback<'life0, 'async_trait>(
&'life0 self,
depth: Option<u64>,
) -> Pin<Box<dyn Future<Output = Result<(), RpcError<TransportErrorKind>>> + Send + 'async_trait>>where
'life0: 'async_trait,
P: 'async_trait,
fn anvil_rollback<'life0, 'async_trait>(
&'life0 self,
depth: Option<u64>,
) -> Pin<Box<dyn Future<Output = Result<(), RpcError<TransportErrorKind>>> + Send + 'async_trait>>where
'life0: 'async_trait,
P: 'async_trait,
Rollback the chain
§fn eth_send_unsigned_transaction<'life0, 'async_trait>(
&'life0 self,
request: <N as Network>::TransactionRequest,
) -> Pin<Box<dyn Future<Output = Result<FixedBytes<32>, RpcError<TransportErrorKind>>> + Send + 'async_trait>>where
'life0: 'async_trait,
P: 'async_trait,
fn eth_send_unsigned_transaction<'life0, 'async_trait>(
&'life0 self,
request: <N as Network>::TransactionRequest,
) -> Pin<Box<dyn Future<Output = Result<FixedBytes<32>, RpcError<TransportErrorKind>>> + Send + 'async_trait>>where
'life0: 'async_trait,
P: 'async_trait,
Execute a transaction regardless of signature status.
§fn eth_send_transaction_sync<'life0, 'async_trait>(
&'life0 self,
request: <N as Network>::TransactionRequest,
) -> Pin<Box<dyn Future<Output = Result<<N as Network>::ReceiptResponse, RpcError<TransportErrorKind>>> + Send + 'async_trait>>where
'life0: 'async_trait,
P: 'async_trait,
fn eth_send_transaction_sync<'life0, 'async_trait>(
&'life0 self,
request: <N as Network>::TransactionRequest,
) -> Pin<Box<dyn Future<Output = Result<<N as Network>::ReceiptResponse, RpcError<TransportErrorKind>>> + Send + 'async_trait>>where
'life0: 'async_trait,
P: 'async_trait,
Executes a transaction and waits for it to be mined, returning the receipt.
§fn eth_send_raw_transaction_sync<'life0, 'async_trait>(
&'life0 self,
request: Bytes,
) -> Pin<Box<dyn Future<Output = Result<<N as Network>::ReceiptResponse, RpcError<TransportErrorKind>>> + Send + 'async_trait>>where
'life0: 'async_trait,
P: 'async_trait,
fn eth_send_raw_transaction_sync<'life0, 'async_trait>(
&'life0 self,
request: Bytes,
) -> Pin<Box<dyn Future<Output = Result<<N as Network>::ReceiptResponse, RpcError<TransportErrorKind>>> + Send + 'async_trait>>where
'life0: 'async_trait,
P: 'async_trait,
Sends a raw transaction and waits for it to be mined, returning the receipt.
§fn anvil_send_impersonated_transaction<'life0, 'async_trait>(
&'life0 self,
request: <N as Network>::TransactionRequest,
) -> Pin<Box<dyn Future<Output = Result<FixedBytes<32>, RpcError<TransportErrorKind>>> + Send + 'async_trait>>where
'life0: 'async_trait,
P: 'async_trait,
fn anvil_send_impersonated_transaction<'life0, 'async_trait>(
&'life0 self,
request: <N as Network>::TransactionRequest,
) -> Pin<Box<dyn Future<Output = Result<FixedBytes<32>, RpcError<TransportErrorKind>>> + Send + 'async_trait>>where
'life0: 'async_trait,
P: 'async_trait,
Sets impersonated transaction
§fn anvil_deal_erc20<'life0, 'async_trait>(
&'life0 self,
address: Address,
token_address: Address,
balance: Uint<256, 4>,
) -> Pin<Box<dyn Future<Output = Result<(), RpcError<TransportErrorKind>>> + Send + 'async_trait>>where
'life0: 'async_trait,
P: 'async_trait,
fn anvil_deal_erc20<'life0, 'async_trait>(
&'life0 self,
address: Address,
token_address: Address,
balance: Uint<256, 4>,
) -> Pin<Box<dyn Future<Output = Result<(), RpcError<TransportErrorKind>>> + Send + 'async_trait>>where
'life0: 'async_trait,
P: 'async_trait,
Modifies the ERC20 balance of an account.
§fn anvil_set_erc20_allowance<'life0, 'async_trait>(
&'life0 self,
owner: Address,
spender: Address,
token: Address,
allowance: Uint<256, 4>,
) -> Pin<Box<dyn Future<Output = Result<(), RpcError<TransportErrorKind>>> + Send + 'async_trait>>where
'life0: 'async_trait,
P: 'async_trait,
fn anvil_set_erc20_allowance<'life0, 'async_trait>(
&'life0 self,
owner: Address,
spender: Address,
token: Address,
allowance: Uint<256, 4>,
) -> Pin<Box<dyn Future<Output = Result<(), RpcError<TransportErrorKind>>> + Send + 'async_trait>>where
'life0: 'async_trait,
P: 'async_trait,
Modifies the ERC20 allowance of an account.
§fn anvil_send_impersonated_transaction_with_config<'life0, 'async_trait>(
&'life0 self,
request: <N as Network>::TransactionRequest,
config: ImpersonateConfig,
) -> Pin<Box<dyn Future<Output = Result<PendingTransactionBuilder<N>, RpcError<TransportErrorKind>>> + Send + 'async_trait>>where
'life0: 'async_trait,
P: 'async_trait,
fn anvil_send_impersonated_transaction_with_config<'life0, 'async_trait>(
&'life0 self,
request: <N as Network>::TransactionRequest,
config: ImpersonateConfig,
) -> Pin<Box<dyn Future<Output = Result<PendingTransactionBuilder<N>, RpcError<TransportErrorKind>>> + Send + 'async_trait>>where
'life0: 'async_trait,
P: 'async_trait,
Impersonates the
from
address in the given transaction request, optionally funds the
sender, sends the transaction, and optionally stops impersonating after execution based
on the provided config.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<N, P> DebugApi<N> for Pwhere
N: Network,
P: Provider<N>,
impl<N, P> DebugApi<N> for Pwhere
N: Network,
P: Provider<N>,
§fn debug_get_raw_header<'life0, 'async_trait>(
&'life0 self,
block: BlockId,
) -> Pin<Box<dyn Future<Output = Result<Bytes, RpcError<TransportErrorKind>>> + Send + 'async_trait>>where
'life0: 'async_trait,
P: 'async_trait,
fn debug_get_raw_header<'life0, 'async_trait>(
&'life0 self,
block: BlockId,
) -> Pin<Box<dyn Future<Output = Result<Bytes, RpcError<TransportErrorKind>>> + Send + 'async_trait>>where
'life0: 'async_trait,
P: 'async_trait,
Returns an RLP-encoded header.
§fn debug_get_raw_block<'life0, 'async_trait>(
&'life0 self,
block: BlockId,
) -> Pin<Box<dyn Future<Output = Result<Bytes, RpcError<TransportErrorKind>>> + Send + 'async_trait>>where
'life0: 'async_trait,
P: 'async_trait,
fn debug_get_raw_block<'life0, 'async_trait>(
&'life0 self,
block: BlockId,
) -> Pin<Box<dyn Future<Output = Result<Bytes, RpcError<TransportErrorKind>>> + Send + 'async_trait>>where
'life0: 'async_trait,
P: 'async_trait,
Retrieves and returns the RLP encoded block by number, hash or tag.
§fn debug_get_raw_transaction<'life0, 'async_trait>(
&'life0 self,
hash: FixedBytes<32>,
) -> Pin<Box<dyn Future<Output = Result<Bytes, RpcError<TransportErrorKind>>> + Send + 'async_trait>>where
'life0: 'async_trait,
P: 'async_trait,
fn debug_get_raw_transaction<'life0, 'async_trait>(
&'life0 self,
hash: FixedBytes<32>,
) -> Pin<Box<dyn Future<Output = Result<Bytes, RpcError<TransportErrorKind>>> + Send + 'async_trait>>where
'life0: 'async_trait,
P: 'async_trait,
Returns an EIP-2718 binary-encoded transaction.
§fn debug_get_raw_receipts<'life0, 'async_trait>(
&'life0 self,
block: BlockId,
) -> Pin<Box<dyn Future<Output = Result<Vec<Bytes>, RpcError<TransportErrorKind>>> + Send + 'async_trait>>where
'life0: 'async_trait,
P: 'async_trait,
fn debug_get_raw_receipts<'life0, 'async_trait>(
&'life0 self,
block: BlockId,
) -> Pin<Box<dyn Future<Output = Result<Vec<Bytes>, RpcError<TransportErrorKind>>> + Send + 'async_trait>>where
'life0: 'async_trait,
P: 'async_trait,
Returns an array of EIP-2718 binary-encoded receipts.
§fn debug_get_bad_blocks<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<Vec<BadBlock>, RpcError<TransportErrorKind>>> + Send + 'async_trait>>where
'life0: 'async_trait,
P: 'async_trait,
fn debug_get_bad_blocks<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<Vec<BadBlock>, RpcError<TransportErrorKind>>> + Send + 'async_trait>>where
'life0: 'async_trait,
P: 'async_trait,
Returns an array of recent bad blocks that the client has seen on the network.
§fn debug_trace_chain<'life0, 'async_trait>(
&'life0 self,
start_exclusive: BlockNumberOrTag,
end_inclusive: BlockNumberOrTag,
) -> Pin<Box<dyn Future<Output = Result<Vec<BlockTraceResult>, RpcError<TransportErrorKind>>> + Send + 'async_trait>>where
'life0: 'async_trait,
P: 'async_trait,
fn debug_trace_chain<'life0, 'async_trait>(
&'life0 self,
start_exclusive: BlockNumberOrTag,
end_inclusive: BlockNumberOrTag,
) -> Pin<Box<dyn Future<Output = Result<Vec<BlockTraceResult>, RpcError<TransportErrorKind>>> + Send + 'async_trait>>where
'life0: 'async_trait,
P: 'async_trait,
Returns the structured logs created during the execution of EVM between two blocks
(excluding start) as a JSON object.
§fn debug_trace_block<'life0, 'life1, 'async_trait>(
&'life0 self,
rlp_block: &'life1 [u8],
trace_options: GethDebugTracingOptions,
) -> Pin<Box<dyn Future<Output = Result<Vec<TraceResult<GethTrace, String>>, RpcError<TransportErrorKind>>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
P: 'async_trait,
fn debug_trace_block<'life0, 'life1, 'async_trait>(
&'life0 self,
rlp_block: &'life1 [u8],
trace_options: GethDebugTracingOptions,
) -> Pin<Box<dyn Future<Output = Result<Vec<TraceResult<GethTrace, String>>, RpcError<TransportErrorKind>>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
P: 'async_trait,
The debug_traceBlock method will return a full stack trace of all invoked opcodes of all
transaction that were included in this block. Read more
§fn debug_trace_transaction<'life0, 'async_trait>(
&'life0 self,
hash: FixedBytes<32>,
trace_options: GethDebugTracingOptions,
) -> Pin<Box<dyn Future<Output = Result<GethTrace, RpcError<TransportErrorKind>>> + Send + 'async_trait>>where
'life0: 'async_trait,
P: 'async_trait,
fn debug_trace_transaction<'life0, 'async_trait>(
&'life0 self,
hash: FixedBytes<32>,
trace_options: GethDebugTracingOptions,
) -> Pin<Box<dyn Future<Output = Result<GethTrace, RpcError<TransportErrorKind>>> + Send + 'async_trait>>where
'life0: 'async_trait,
P: 'async_trait,
Reruns the transaction specified by the hash and returns the trace. Read more
§fn debug_trace_transaction_as<'life0, 'async_trait, R>(
&'life0 self,
hash: FixedBytes<32>,
trace_options: GethDebugTracingOptions,
) -> Pin<Box<dyn Future<Output = Result<R, RpcError<TransportErrorKind>>> + Send + 'async_trait>>where
'life0: 'async_trait,
R: RpcRecv + 'async_trait,
P: 'async_trait,
fn debug_trace_transaction_as<'life0, 'async_trait, R>(
&'life0 self,
hash: FixedBytes<32>,
trace_options: GethDebugTracingOptions,
) -> Pin<Box<dyn Future<Output = Result<R, RpcError<TransportErrorKind>>> + Send + 'async_trait>>where
'life0: 'async_trait,
R: RpcRecv + 'async_trait,
P: 'async_trait,
Reruns the transaction specified by the hash and returns the trace in a specified format. Read more
§fn debug_trace_transaction_js<'life0, 'async_trait>(
&'life0 self,
hash: FixedBytes<32>,
trace_options: GethDebugTracingOptions,
) -> Pin<Box<dyn Future<Output = Result<Value, RpcError<TransportErrorKind>>> + Send + 'async_trait>>where
'life0: 'async_trait,
P: 'async_trait,
fn debug_trace_transaction_js<'life0, 'async_trait>(
&'life0 self,
hash: FixedBytes<32>,
trace_options: GethDebugTracingOptions,
) -> Pin<Box<dyn Future<Output = Result<Value, RpcError<TransportErrorKind>>> + Send + 'async_trait>>where
'life0: 'async_trait,
P: 'async_trait,
Reruns the transaction specified by the hash and returns the trace as a JSON object. Read more
§fn debug_trace_transaction_call<'life0, 'async_trait>(
&'life0 self,
hash: FixedBytes<32>,
trace_options: GethDebugTracingOptions,
) -> Pin<Box<dyn Future<Output = Result<CallFrame, RpcError<TransportErrorKind>>> + Send + 'async_trait>>where
'life0: 'async_trait,
P: 'async_trait,
fn debug_trace_transaction_call<'life0, 'async_trait>(
&'life0 self,
hash: FixedBytes<32>,
trace_options: GethDebugTracingOptions,
) -> Pin<Box<dyn Future<Output = Result<CallFrame, RpcError<TransportErrorKind>>> + Send + 'async_trait>>where
'life0: 'async_trait,
P: 'async_trait,
Reruns the transaction specified by the hash and returns the trace as a call frame. Read more
§fn debug_trace_call_as<'life0, 'async_trait, R>(
&'life0 self,
tx: <N as Network>::TransactionRequest,
block: BlockId,
trace_options: GethDebugTracingCallOptions,
) -> Pin<Box<dyn Future<Output = Result<R, RpcError<TransportErrorKind>>> + Send + 'async_trait>>where
'life0: 'async_trait,
R: RpcRecv + 'async_trait,
P: 'async_trait,
fn debug_trace_call_as<'life0, 'async_trait, R>(
&'life0 self,
tx: <N as Network>::TransactionRequest,
block: BlockId,
trace_options: GethDebugTracingCallOptions,
) -> Pin<Box<dyn Future<Output = Result<R, RpcError<TransportErrorKind>>> + Send + 'async_trait>>where
'life0: 'async_trait,
R: RpcRecv + 'async_trait,
P: 'async_trait,
Reruns the transaction specified by the hash and returns the trace in a specified format. Read more
§fn debug_trace_call_js<'life0, 'async_trait>(
&'life0 self,
tx: <N as Network>::TransactionRequest,
block: BlockId,
trace_options: GethDebugTracingCallOptions,
) -> Pin<Box<dyn Future<Output = Result<Value, RpcError<TransportErrorKind>>> + Send + 'async_trait>>where
'life0: 'async_trait,
P: 'async_trait,
fn debug_trace_call_js<'life0, 'async_trait>(
&'life0 self,
tx: <N as Network>::TransactionRequest,
block: BlockId,
trace_options: GethDebugTracingCallOptions,
) -> Pin<Box<dyn Future<Output = Result<Value, RpcError<TransportErrorKind>>> + Send + 'async_trait>>where
'life0: 'async_trait,
P: 'async_trait,
Reruns the transaction specified by the hash and returns the trace as a JSON object. Read more
§fn debug_trace_call_callframe<'life0, 'async_trait>(
&'life0 self,
tx: <N as Network>::TransactionRequest,
block: BlockId,
trace_options: GethDebugTracingCallOptions,
) -> Pin<Box<dyn Future<Output = Result<CallFrame, RpcError<TransportErrorKind>>> + Send + 'async_trait>>where
'life0: 'async_trait,
P: 'async_trait,
fn debug_trace_call_callframe<'life0, 'async_trait>(
&'life0 self,
tx: <N as Network>::TransactionRequest,
block: BlockId,
trace_options: GethDebugTracingCallOptions,
) -> Pin<Box<dyn Future<Output = Result<CallFrame, RpcError<TransportErrorKind>>> + Send + 'async_trait>>where
'life0: 'async_trait,
P: 'async_trait,
Reruns the transaction specified by the hash and returns the trace as a call frame. Read more
§fn debug_trace_block_by_hash<'life0, 'async_trait>(
&'life0 self,
block: FixedBytes<32>,
trace_options: GethDebugTracingOptions,
) -> Pin<Box<dyn Future<Output = Result<Vec<TraceResult<GethTrace, String>>, RpcError<TransportErrorKind>>> + Send + 'async_trait>>where
'life0: 'async_trait,
P: 'async_trait,
fn debug_trace_block_by_hash<'life0, 'async_trait>(
&'life0 self,
block: FixedBytes<32>,
trace_options: GethDebugTracingOptions,
) -> Pin<Box<dyn Future<Output = Result<Vec<TraceResult<GethTrace, String>>, RpcError<TransportErrorKind>>> + Send + 'async_trait>>where
'life0: 'async_trait,
P: 'async_trait,
Return a full stack trace of all invoked opcodes of all transaction that were included in
this block. Read more
§fn debug_trace_block_by_number<'life0, 'async_trait>(
&'life0 self,
block: BlockNumberOrTag,
trace_options: GethDebugTracingOptions,
) -> Pin<Box<dyn Future<Output = Result<Vec<TraceResult<GethTrace, String>>, RpcError<TransportErrorKind>>> + Send + 'async_trait>>where
'life0: 'async_trait,
P: 'async_trait,
fn debug_trace_block_by_number<'life0, 'async_trait>(
&'life0 self,
block: BlockNumberOrTag,
trace_options: GethDebugTracingOptions,
) -> Pin<Box<dyn Future<Output = Result<Vec<TraceResult<GethTrace, String>>, RpcError<TransportErrorKind>>> + Send + 'async_trait>>where
'life0: 'async_trait,
P: 'async_trait,
Same as
debug_trace_block_by_hash
but block is specified by number. Read more§fn debug_trace_call<'life0, 'async_trait>(
&'life0 self,
tx: <N as Network>::TransactionRequest,
block: BlockId,
trace_options: GethDebugTracingCallOptions,
) -> Pin<Box<dyn Future<Output = Result<GethTrace, RpcError<TransportErrorKind>>> + Send + 'async_trait>>where
'life0: 'async_trait,
P: 'async_trait,
fn debug_trace_call<'life0, 'async_trait>(
&'life0 self,
tx: <N as Network>::TransactionRequest,
block: BlockId,
trace_options: GethDebugTracingCallOptions,
) -> Pin<Box<dyn Future<Output = Result<GethTrace, RpcError<TransportErrorKind>>> + Send + 'async_trait>>where
'life0: 'async_trait,
P: 'async_trait,
Executes the given transaction without publishing it like
eth_call
and returns the trace
of the execution. Read more§fn debug_trace_call_many<'life0, 'async_trait>(
&'life0 self,
bundles: Vec<Bundle>,
state_context: StateContext,
trace_options: GethDebugTracingCallOptions,
) -> Pin<Box<dyn Future<Output = Result<Vec<GethTrace>, RpcError<TransportErrorKind>>> + Send + 'async_trait>>where
'life0: 'async_trait,
P: 'async_trait,
fn debug_trace_call_many<'life0, 'async_trait>(
&'life0 self,
bundles: Vec<Bundle>,
state_context: StateContext,
trace_options: GethDebugTracingCallOptions,
) -> Pin<Box<dyn Future<Output = Result<Vec<GethTrace>, RpcError<TransportErrorKind>>> + Send + 'async_trait>>where
'life0: 'async_trait,
P: 'async_trait,
Same as
debug_trace_call
but it used to run and trace multiple transactions at once. Read more§fn debug_execution_witness<'life0, 'async_trait>(
&'life0 self,
block: BlockNumberOrTag,
) -> Pin<Box<dyn Future<Output = Result<ExecutionWitness, RpcError<TransportErrorKind>>> + Send + 'async_trait>>where
'life0: 'async_trait,
P: 'async_trait,
fn debug_execution_witness<'life0, 'async_trait>(
&'life0 self,
block: BlockNumberOrTag,
) -> Pin<Box<dyn Future<Output = Result<ExecutionWitness, RpcError<TransportErrorKind>>> + Send + 'async_trait>>where
'life0: 'async_trait,
P: 'async_trait,
The
debug_executionWitness
method allows for re-execution of a block with the purpose of
generating an execution witness. The witness comprises of a map of all hashed trie nodes to
their preimages that were required during the execution of the block, including during
state root recomputation. Read more§fn debug_code_by_hash<'life0, 'async_trait>(
&'life0 self,
hash: FixedBytes<32>,
block: Option<BlockId>,
) -> Pin<Box<dyn Future<Output = Result<Option<Bytes>, RpcError<TransportErrorKind>>> + Send + 'async_trait>>where
'life0: 'async_trait,
P: 'async_trait,
fn debug_code_by_hash<'life0, 'async_trait>(
&'life0 self,
hash: FixedBytes<32>,
block: Option<BlockId>,
) -> Pin<Box<dyn Future<Output = Result<Option<Bytes>, RpcError<TransportErrorKind>>> + Send + 'async_trait>>where
'life0: 'async_trait,
P: 'async_trait,
The
debug_codeByHash
method returns the code associated with a given hash at the specified
block. If no code is found, it returns None. If no block is provided, it defaults to the
latest block. 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<N, P> TraceApi<N> for Pwhere
N: Network,
P: Provider<N>,
impl<N, P> TraceApi<N> for Pwhere
N: Network,
P: Provider<N>,
§fn trace_call<'a>(
&self,
request: &'a <N as Network>::TransactionRequest,
) -> TraceBuilder<&'a <N as Network>::TransactionRequest, TraceResults>
fn trace_call<'a>( &self, request: &'a <N as Network>::TransactionRequest, ) -> TraceBuilder<&'a <N as Network>::TransactionRequest, TraceResults>
Executes the given transaction and returns a number of possible traces. Read more
§fn trace_call_many<'a>(
&self,
request: &'a [(<N as Network>::TransactionRequest, &'a [TraceType])],
) -> TraceBuilder<&'a [(<N as Network>::TransactionRequest, &'a [TraceType])], Vec<TraceResults>>
fn trace_call_many<'a>( &self, request: &'a [(<N as Network>::TransactionRequest, &'a [TraceType])], ) -> TraceBuilder<&'a [(<N as Network>::TransactionRequest, &'a [TraceType])], Vec<TraceResults>>
Traces multiple transactions on top of the same block, i.e. transaction
n
will be executed
on top of the given block with all n - 1
transaction applied first. Read more§fn trace_transaction<'life0, 'async_trait>(
&'life0 self,
hash: FixedBytes<32>,
) -> Pin<Box<dyn Future<Output = Result<Vec<LocalizedTransactionTrace>, RpcError<TransportErrorKind>>> + Send + 'async_trait>>where
'life0: 'async_trait,
P: 'async_trait,
fn trace_transaction<'life0, 'async_trait>(
&'life0 self,
hash: FixedBytes<32>,
) -> Pin<Box<dyn Future<Output = Result<Vec<LocalizedTransactionTrace>, RpcError<TransportErrorKind>>> + Send + 'async_trait>>where
'life0: 'async_trait,
P: 'async_trait,
Parity trace transaction.
§fn trace_get<'life0, 'async_trait>(
&'life0 self,
hash: FixedBytes<32>,
index: usize,
) -> Pin<Box<dyn Future<Output = Result<LocalizedTransactionTrace, RpcError<TransportErrorKind>>> + Send + 'async_trait>>where
'life0: 'async_trait,
P: 'async_trait,
fn trace_get<'life0, 'async_trait>(
&'life0 self,
hash: FixedBytes<32>,
index: usize,
) -> Pin<Box<dyn Future<Output = Result<LocalizedTransactionTrace, RpcError<TransportErrorKind>>> + Send + 'async_trait>>where
'life0: 'async_trait,
P: 'async_trait,
Traces of the transaction on the given positions Read more
§fn trace_raw_transaction<'a>(
&self,
data: &'a [u8],
) -> TraceBuilder<&'a [u8], TraceResults>
fn trace_raw_transaction<'a>( &self, data: &'a [u8], ) -> TraceBuilder<&'a [u8], TraceResults>
Trace the given raw transaction.
§fn trace_filter<'life0, 'life1, 'async_trait>(
&'life0 self,
tracer: &'life1 TraceFilter,
) -> Pin<Box<dyn Future<Output = Result<Vec<LocalizedTransactionTrace>, RpcError<TransportErrorKind>>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
P: 'async_trait,
fn trace_filter<'life0, 'life1, 'async_trait>(
&'life0 self,
tracer: &'life1 TraceFilter,
) -> Pin<Box<dyn Future<Output = Result<Vec<LocalizedTransactionTrace>, RpcError<TransportErrorKind>>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
P: 'async_trait,
Traces matching given filter.
§fn trace_block<'life0, 'async_trait>(
&'life0 self,
block: BlockId,
) -> Pin<Box<dyn Future<Output = Result<Vec<LocalizedTransactionTrace>, RpcError<TransportErrorKind>>> + Send + 'async_trait>>where
'life0: 'async_trait,
P: 'async_trait,
fn trace_block<'life0, 'async_trait>(
&'life0 self,
block: BlockId,
) -> Pin<Box<dyn Future<Output = Result<Vec<LocalizedTransactionTrace>, RpcError<TransportErrorKind>>> + Send + 'async_trait>>where
'life0: 'async_trait,
P: 'async_trait,
Trace all transactions in the given block. Read more
§fn trace_replay_transaction(
&self,
hash: FixedBytes<32>,
) -> TraceBuilder<FixedBytes<32>, TraceResults>
fn trace_replay_transaction( &self, hash: FixedBytes<32>, ) -> TraceBuilder<FixedBytes<32>, TraceResults>
Replays a transaction. Read more
§fn trace_replay_block_transactions(
&self,
block: BlockId,
) -> TraceBuilder<BlockId, Vec<TraceResultsWithTransactionHash>>
fn trace_replay_block_transactions( &self, block: BlockId, ) -> TraceBuilder<BlockId, Vec<TraceResultsWithTransactionHash>>
Replays all transactions in the given block. Read more
§impl<P, N> TxPoolApi<N> for Pwhere
P: Provider<N>,
N: Network,
impl<P, N> TxPoolApi<N> for Pwhere
P: Provider<N>,
N: Network,
§fn txpool_content<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<TxpoolContent<<N as Network>::TransactionResponse>, RpcError<TransportErrorKind>>> + Send + 'async_trait>>where
'life0: 'async_trait,
P: 'async_trait,
fn txpool_content<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<TxpoolContent<<N as Network>::TransactionResponse>, RpcError<TransportErrorKind>>> + Send + 'async_trait>>where
'life0: 'async_trait,
P: 'async_trait,
Returns the content of the transaction pool. Read more
§fn txpool_content_from<'life0, 'async_trait>(
&'life0 self,
from: Address,
) -> Pin<Box<dyn Future<Output = Result<TxpoolContentFrom<<N as Network>::TransactionResponse>, RpcError<TransportErrorKind>>> + Send + 'async_trait>>where
'life0: 'async_trait,
P: 'async_trait,
fn txpool_content_from<'life0, 'async_trait>(
&'life0 self,
from: Address,
) -> Pin<Box<dyn Future<Output = Result<TxpoolContentFrom<<N as Network>::TransactionResponse>, RpcError<TransportErrorKind>>> + Send + 'async_trait>>where
'life0: 'async_trait,
P: 'async_trait,
Returns the content of the transaction pool filtered by a specific address. Read more
§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> MaybeSendSync for T
Layout§
Note: Unable to compute type layout, possibly due to this type having generic parameters. Layout can only be computed for concrete, fully-instantiated types.