alloy_provider::layers

Struct CacheProvider

Source
pub struct CacheProvider<P, T, N> { /* private fields */ }
Available on non-WebAssembly only.
Expand description

The CacheProvider holds the underlying in-memory LRU cache and overrides methods from the Provider trait. It attempts to fetch from the cache and fallbacks to the RPC in case of a cache miss.

Most importantly, the CacheProvider adds save_cache and load_cache methods to the provider interface, allowing users to save the cache to disk and load it from there on demand.

Implementations§

Source§

impl<P, T, N> CacheProvider<P, T, N>
where P: Provider<T, N>, T: Transport + Clone, N: Network,

Source

pub const fn new(inner: P, cache: SharedCache) -> Self

Instantiate a new cache provider.

Trait Implementations§

Source§

impl<P: Clone, T: Clone, N: Clone> Clone for CacheProvider<P, T, N>

Source§

fn clone(&self) -> CacheProvider<P, T, N>

Returns a copy of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl<P: Debug, T: Debug, N: Debug> Debug for CacheProvider<P, T, N>

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl<P, T, N> Provider<T, N> for CacheProvider<P, T, N>
where P: Provider<T, N>, T: Transport + Clone, N: Network,

Source§

fn root(&self) -> &RootProvider<T, N>

Returns the root provider.
Source§

fn get_block_by_number<'life0, 'async_trait>( &'life0 self, number: BlockNumberOrTag, kind: BlockTransactionsKind, ) -> Pin<Box<dyn Future<Output = TransportResult<Option<N::BlockResponse>>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Get a block by its number.
Source§

fn get_block_by_hash<'life0, 'async_trait>( &'life0 self, hash: BlockHash, kind: BlockTransactionsKind, ) -> Pin<Box<dyn Future<Output = TransportResult<Option<N::BlockResponse>>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Gets a block by its BlockHash, with full transactions or only hashes.
Source§

fn get_block_receipts( &self, block: BlockId, ) -> ProviderCall<T, (BlockId,), Option<Vec<N::ReceiptResponse>>>

Gets the selected block BlockId receipts.
Source§

fn get_proof( &self, address: Address, keys: Vec<StorageKey>, ) -> RpcWithBlock<T, (Address, Vec<StorageKey>), EIP1186AccountProofResponse>

Get the account and storage values of the specified account including the merkle proofs. Read more
Source§

fn get_storage_at( &self, address: Address, key: U256, ) -> RpcWithBlock<T, (Address, U256), StorageValue>

Gets the specified storage value from Address.
Source§

fn get_code_at(&self, address: Address) -> RpcWithBlock<T, Address, Bytes>

Gets the bytecode located at the corresponding Address.
Source§

fn get_transaction_count( &self, address: Address, ) -> RpcWithBlock<T, Address, U64, u64>

Gets the transaction count (AKA “nonce”) of the corresponding address.
Source§

fn get_logs<'life0, 'life1, 'async_trait>( &'life0 self, filter: &'life1 Filter, ) -> Pin<Box<dyn Future<Output = TransportResult<Vec<Log>>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,

Retrieves a Vec<Log> with the given Filter.
Source§

fn get_transaction_by_hash( &self, hash: TxHash, ) -> ProviderCall<T, (TxHash,), Option<N::TransactionResponse>>

Gets a transaction by its TxHash.
Source§

fn get_raw_transaction_by_hash( &self, hash: TxHash, ) -> ProviderCall<T, (TxHash,), Option<Bytes>>

Returns the EIP-2718 encoded transaction if it exists, see also Decodable2718. Read more
Source§

fn get_transaction_receipt( &self, hash: TxHash, ) -> ProviderCall<T, (TxHash,), Option<N::ReceiptResponse>>

Gets a transaction receipt if it exists, by its TxHash.
Source§

fn builder() -> ProviderBuilder<Identity, Identity, N>
where Self: Sized,

Returns the ProviderBuilder to build on.
Source§

fn client(&self) -> ClientRef<'_, T>

Returns the RPC client used to send requests. Read more
Source§

fn weak_client(&self) -> WeakClient<T>

Returns a Weak RPC client used to send requests. Read more
Source§

fn get_accounts(&self) -> ProviderCall<T, NoParams, Vec<Address>>

Gets the accounts in the remote node. This is usually empty unless you’re using a local node.
Source§

fn get_blob_base_fee(&self) -> ProviderCall<T, NoParams, U128, u128>

Returns the base fee per blob gas (blob gas price) in wei.
Source§

fn get_block_number(&self) -> ProviderCall<T, NoParams, U64, BlockNumber>

Get the last block number available.
Source§

fn call<'req>( &self, tx: &'req N::TransactionRequest, ) -> EthCall<'req, T, N, Bytes>

Execute a smart contract call with a transaction request and state overrides, without publishing a transaction. Read more
Source§

fn simulate<'req>( &self, payload: &'req SimulatePayload, ) -> RpcWithBlock<T, &'req SimulatePayload, Vec<SimulatedBlock<N::BlockResponse>>>

Executes an arbitrary number of transactions on top of the requested state. Read more
Source§

fn get_chain_id(&self) -> ProviderCall<T, NoParams, U64, u64>

Gets the chain ID.
Source§

fn create_access_list<'a>( &self, request: &'a N::TransactionRequest, ) -> RpcWithBlock<T, &'a N::TransactionRequest, AccessListResult>

Create an EIP-2930 access list.
Source§

fn estimate_gas<'req>( &self, tx: &'req N::TransactionRequest, ) -> EthCall<'req, T, N, U64, u64>

Create an EthCall future to estimate the gas required for a transaction. Read more
Source§

fn estimate_eip1559_fees<'life0, 'async_trait>( &'life0 self, estimator: Option<EstimatorFunction>, ) -> Pin<Box<dyn Future<Output = TransportResult<Eip1559Estimation>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Estimates the EIP1559 maxFeePerGas and maxPriorityFeePerGas fields. Read more
Source§

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 = TransportResult<FeeHistory>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: '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.
Source§

fn get_gas_price(&self) -> ProviderCall<T, NoParams, U128, u128>

Gets the current gas price in wei.
Source§

fn get_account(&self, address: Address) -> RpcWithBlock<T, Address, Account>

Retrieves account information (Account) for the given Address at the particular BlockId.
Source§

fn get_balance(&self, address: Address) -> RpcWithBlock<T, Address, U256, U256>

Gets the balance of the account. Read more
Source§

fn get_block<'life0, 'async_trait>( &'life0 self, block: BlockId, kind: BlockTransactionsKind, ) -> Pin<Box<dyn Future<Output = TransportResult<Option<N::BlockResponse>>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Gets a block by either its hash, tag, or number, with full transactions or only hashes.
Source§

fn watch_blocks<'life0, 'async_trait>( &'life0 self, ) -> Pin<Box<dyn Future<Output = TransportResult<FilterPollerBuilder<T, B256>>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Watch for new blocks by polling the provider with eth_getFilterChanges. Read more
Source§

fn watch_pending_transactions<'life0, 'async_trait>( &'life0 self, ) -> Pin<Box<dyn Future<Output = TransportResult<FilterPollerBuilder<T, B256>>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Watch for new pending transaction by polling the provider with eth_getFilterChanges. Read more
Source§

fn watch_logs<'life0, 'life1, 'async_trait>( &'life0 self, filter: &'life1 Filter, ) -> Pin<Box<dyn Future<Output = TransportResult<FilterPollerBuilder<T, Log>>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,

Watch for new logs using the given filter by polling the provider with eth_getFilterChanges. Read more
Source§

fn watch_full_pending_transactions<'life0, 'async_trait>( &'life0 self, ) -> Pin<Box<dyn Future<Output = TransportResult<FilterPollerBuilder<T, N::TransactionResponse>>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Watch for new pending transaction bodies by polling the provider with eth_getFilterChanges. Read more
Source§

fn get_filter_changes<'life0, 'async_trait, R>( &'life0 self, id: U256, ) -> Pin<Box<dyn Future<Output = TransportResult<Vec<R>>> + Send + 'async_trait>>
where Self: Sized + 'async_trait, R: 'async_trait + RpcReturn, 'life0: 'async_trait,

Get a list of values that have been added since the last poll. Read more
Source§

fn get_filter_changes_dyn<'life0, 'async_trait>( &'life0 self, id: U256, ) -> Pin<Box<dyn Future<Output = TransportResult<FilterChanges>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Get a list of values that have been added since the last poll. Read more
Source§

fn watch_pending_transaction<'life0, 'async_trait>( &'life0 self, config: PendingTransactionConfig, ) -> Pin<Box<dyn Future<Output = Result<PendingTransaction, PendingTransactionError>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Watch for the confirmation of a single pending transaction with the given configuration. Read more
Source§

fn get_transaction_by_block_hash_and_index( &self, block_hash: B256, index: usize, ) -> ProviderCall<T, (B256, Index), Option<N::TransactionResponse>>

Gets a transaction by block hash and transaction index position.
Source§

fn get_raw_transaction_by_block_hash_and_index( &self, block_hash: B256, index: usize, ) -> ProviderCall<T, (B256, Index), Option<Bytes>>

Gets a raw transaction by block hash and transaction index position.
Source§

fn get_transaction_by_block_number_and_index( &self, block_number: BlockNumberOrTag, index: usize, ) -> ProviderCall<T, (BlockNumberOrTag, Index), Option<N::TransactionResponse>>

Gets a transaction by block number and transaction index position.
Source§

fn get_raw_transaction_by_block_number_and_index( &self, block_number: BlockNumberOrTag, index: usize, ) -> ProviderCall<T, (BlockNumberOrTag, Index), Option<Bytes>>

Gets a raw transaction by block number and transaction index position.
Source§

fn get_uncle<'life0, 'async_trait>( &'life0 self, tag: BlockId, idx: u64, ) -> Pin<Box<dyn Future<Output = TransportResult<Option<N::BlockResponse>>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Gets an uncle block through the tag BlockId and index u64.
Source§

fn get_uncle_count<'life0, 'async_trait>( &'life0 self, tag: BlockId, ) -> Pin<Box<dyn Future<Output = TransportResult<u64>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Gets the number of uncles for the block specified by the tag BlockId.
Source§

fn get_max_priority_fee_per_gas(&self) -> ProviderCall<T, NoParams, U128, u128>

Returns a suggestion for the current maxPriorityFeePerGas in wei.
Source§

fn new_block_filter<'life0, 'async_trait>( &'life0 self, ) -> Pin<Box<dyn Future<Output = TransportResult<U256>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Notify the provider that we are interested in new blocks. Read more
Source§

fn new_filter<'life0, 'life1, 'async_trait>( &'life0 self, filter: &'life1 Filter, ) -> Pin<Box<dyn Future<Output = TransportResult<U256>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,

Notify the provider that we are interested in logs that match the given filter. Read more
Source§

fn new_pending_transactions_filter<'life0, 'async_trait>( &'life0 self, full: bool, ) -> Pin<Box<dyn Future<Output = TransportResult<U256>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Notify the provider that we are interested in new pending transactions. Read more
Source§

fn send_raw_transaction<'life0, 'life1, 'async_trait>( &'life0 self, encoded_tx: &'life1 [u8], ) -> Pin<Box<dyn Future<Output = TransportResult<PendingTransactionBuilder<T, N>>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,

Broadcasts a raw transaction RLP bytes to the network. Read more
Source§

fn send_transaction<'life0, 'async_trait>( &'life0 self, tx: N::TransactionRequest, ) -> Pin<Box<dyn Future<Output = TransportResult<PendingTransactionBuilder<T, N>>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Broadcasts a transaction to the network. Read more
Source§

fn send_tx_envelope<'life0, 'async_trait>( &'life0 self, tx: N::TxEnvelope, ) -> Pin<Box<dyn Future<Output = TransportResult<PendingTransactionBuilder<T, N>>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Broadcasts a transaction envelope to the network. Read more
Source§

fn subscribe_blocks<'life0, 'async_trait>( &'life0 self, ) -> Pin<Box<dyn Future<Output = TransportResult<Subscription<N::HeaderResponse>>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Available on crate feature pubsub only.
Subscribe to a stream of new block headers. Read more
Source§

fn subscribe_pending_transactions<'life0, 'async_trait>( &'life0 self, ) -> Pin<Box<dyn Future<Output = TransportResult<Subscription<B256>>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Available on crate feature pubsub only.
Subscribe to a stream of pending transaction hashes. Read more
Source§

fn subscribe_full_pending_transactions<'life0, 'async_trait>( &'life0 self, ) -> Pin<Box<dyn Future<Output = TransportResult<Subscription<N::TransactionResponse>>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Available on crate feature pubsub only.
Subscribe to a stream of pending transaction bodies. Read more
Source§

fn subscribe_logs<'life0, 'life1, 'async_trait>( &'life0 self, filter: &'life1 Filter, ) -> Pin<Box<dyn Future<Output = TransportResult<Subscription<Log>>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,

Available on crate feature pubsub only.
Subscribe to a stream of logs matching given filter. Read more
Source§

fn subscribe<'life0, 'async_trait, P, R>( &'life0 self, params: P, ) -> Pin<Box<dyn Future<Output = TransportResult<Subscription<R>>> + Send + 'async_trait>>
where P: RpcParam + 'async_trait, R: RpcReturn + 'async_trait, Self: Sized + 'async_trait, 'life0: 'async_trait,

Available on crate feature pubsub only.
Subscribe to an RPC event.
Source§

fn unsubscribe<'life0, 'async_trait>( &'life0 self, id: B256, ) -> Pin<Box<dyn Future<Output = TransportResult<()>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Available on crate feature pubsub only.
Cancels a subscription given the subscription ID.
Source§

fn syncing(&self) -> ProviderCall<T, NoParams, SyncStatus>

Gets syncing info.
Source§

fn get_client_version(&self) -> ProviderCall<T, NoParams, String>

Gets the client version.
Source§

fn get_sha3(&self, data: &[u8]) -> ProviderCall<T, (String,), B256>

Gets the Keccak-256 hash of the given data.
Source§

fn get_net_version(&self) -> ProviderCall<T, NoParams, U64, u64>

Gets the network ID. Same as eth_chainId.
Source§

fn raw_request<'life0, 'async_trait, P, R>( &'life0 self, method: Cow<'static, str>, params: P, ) -> Pin<Box<dyn Future<Output = TransportResult<R>> + Send + 'async_trait>>
where P: RpcParam + 'async_trait, R: RpcReturn + 'async_trait, Self: Sized + 'async_trait, 'life0: 'async_trait,

Sends a raw JSON-RPC request. Read more
Source§

fn raw_request_dyn<'life0, 'life1, 'async_trait>( &'life0 self, method: Cow<'static, str>, params: &'life1 RawValue, ) -> Pin<Box<dyn Future<Output = TransportResult<Box<RawValue>>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,

Sends a raw JSON-RPC request with type-erased parameters and return. Read more
Source§

fn transaction_request(&self) -> N::TransactionRequest

Creates a new TransactionRequest.

Auto Trait Implementations§

§

impl<P, T, N> Freeze for CacheProvider<P, T, N>
where P: Freeze,

§

impl<P, T, N> !RefUnwindSafe for CacheProvider<P, T, N>

§

impl<P, T, N> Send for CacheProvider<P, T, N>
where P: Send, T: Send, N: Send,

§

impl<P, T, N> Sync for CacheProvider<P, T, N>
where P: Sync, T: Sync, N: Sync,

§

impl<P, T, N> Unpin for CacheProvider<P, T, N>
where P: Unpin, T: Unpin, N: Unpin,

§

impl<P, T, N> !UnwindSafe for CacheProvider<P, T, N>

Blanket Implementations§

Source§

impl<N, T, P> AdminApi<N, T> for P
where N: Network, T: Transport + Clone, P: Provider<T, N>,

Source§

fn add_peer<'life0, 'life1, 'async_trait>( &'life0 self, record: &'life1 str, ) -> Pin<Box<dyn Future<Output = Result<bool, RpcError<TransportErrorKind>>> + Send + 'async_trait>>
where 'life0: 'async_trait, 'life1: 'async_trait, P: 'async_trait,

Available on crate feature admin-api only.
Requests adding the given peer, returning a boolean representing whether or not the peer was accepted for tracking.
Source§

fn add_trusted_peer<'life0, 'life1, 'async_trait>( &'life0 self, record: &'life1 str, ) -> Pin<Box<dyn Future<Output = Result<bool, RpcError<TransportErrorKind>>> + Send + 'async_trait>>
where 'life0: 'async_trait, 'life1: 'async_trait, P: 'async_trait,

Available on crate feature admin-api only.
Requests adding the given peer as a trusted peer, which the node will always connect to even when its peer slots are full.
Source§

fn remove_peer<'life0, 'life1, 'async_trait>( &'life0 self, record: &'life1 str, ) -> Pin<Box<dyn Future<Output = Result<bool, RpcError<TransportErrorKind>>> + Send + 'async_trait>>
where 'life0: 'async_trait, 'life1: 'async_trait, P: 'async_trait,

Available on crate feature admin-api only.
Requests to remove the given peer, returning true if the enode was successfully parsed and the peer was removed.
Source§

fn remove_trusted_peer<'life0, 'life1, 'async_trait>( &'life0 self, record: &'life1 str, ) -> Pin<Box<dyn Future<Output = Result<bool, RpcError<TransportErrorKind>>> + Send + 'async_trait>>
where 'life0: 'async_trait, 'life1: 'async_trait, P: 'async_trait,

Available on crate feature admin-api only.
Requests to remove the given peer, returning a boolean representing whether or not the enode url passed was validated. A return value of true does not necessarily mean that the peer was disconnected.
Source§

fn peers<'life0, 'async_trait>( &'life0 self, ) -> Pin<Box<dyn Future<Output = Result<Vec<PeerInfo>, RpcError<TransportErrorKind>>> + Send + 'async_trait>>
where 'life0: 'async_trait, P: 'async_trait,

Available on crate feature admin-api only.
Returns the list of peers currently connected to the node.
Source§

fn 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,

Available on crate feature admin-api only.
Returns general information about the node as well as information about the running p2p protocols (e.g. eth, snap).
Source§

fn subscribe_peer_events<'life0, 'async_trait>( &'life0 self, ) -> Pin<Box<dyn Future<Output = Result<Subscription<PeerEvent>, RpcError<TransportErrorKind>>> + Send + 'async_trait>>
where 'life0: 'async_trait, P: 'async_trait,

Available on crate features admin-api and pubsub only.
Subscribe to events received by peers over the network.
Source§

impl<N, T, P> AnvilApi<N, T> for P
where N: Network, T: Transport + Clone, P: Provider<T, N>,

Source§

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,

Available on crate feature anvil-api only.
Send transactions impersonating specific account and contract addresses.
Source§

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,

Available on crate feature anvil-api only.
Stops impersonating an account if previously set with anvil_impersonateAccount.
Source§

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,

Available on crate feature anvil-api only.
If set to true will make every account impersonated.
Source§

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,

Available on crate feature anvil-api only.
Returns true if auto mining is enabled, and false.
Source§

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,

Available on crate feature anvil-api only.
Enables or disables, based on the single boolean argument, the automatic mining of new blocks with each new transaction submitted to the network.
Source§

fn anvil_mine<'life0, 'async_trait>( &'life0 self, num_blocks: Option<Uint<256, 4>>, interval: Option<Uint<256, 4>>, ) -> Pin<Box<dyn Future<Output = Result<(), RpcError<TransportErrorKind>>> + Send + 'async_trait>>
where 'life0: 'async_trait, P: 'async_trait,

Available on crate feature anvil-api only.
Mines a series of blocks.
Source§

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,

Available on crate feature anvil-api only.
Sets the mining behavior to interval with the given interval (seconds).
Source§

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,

Available on crate feature anvil-api only.
Removes transactions from the pool.
Source§

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,

Available on crate feature anvil-api only.
Removes all transactions from the pool.
Source§

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,

Available on crate feature anvil-api only.
Reset the fork to a fresh forked state, and optionally update the fork config. Read more
Source§

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,

Available on crate feature anvil-api only.
Sets the chain ID.
Source§

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,

Available on crate feature anvil-api only.
Modifies the balance of an account.
Source§

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,

Available on crate feature anvil-api only.
Sets the code of a contract.
Source§

fn anvil_set_nonce<'life0, 'async_trait>( &'life0 self, address: Address, nonce: Uint<256, 4>, ) -> Pin<Box<dyn Future<Output = Result<(), RpcError<TransportErrorKind>>> + Send + 'async_trait>>
where 'life0: 'async_trait, P: 'async_trait,

Available on crate feature anvil-api only.
Sets the nonce of an address.
Source§

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,

Available on crate feature anvil-api only.
Writes a single slot of the account’s storage.
Source§

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,

Available on crate feature anvil-api only.
Enable or disable logging.
Source§

fn anvil_set_min_gas_price<'life0, 'async_trait>( &'life0 self, gas: Uint<256, 4>, ) -> Pin<Box<dyn Future<Output = Result<(), RpcError<TransportErrorKind>>> + Send + 'async_trait>>
where 'life0: 'async_trait, P: 'async_trait,

Available on crate feature anvil-api only.
Set the minimum gas price for the node.
Source§

fn anvil_set_next_block_base_fee_per_gas<'life0, 'async_trait>( &'life0 self, basefee: Uint<256, 4>, ) -> Pin<Box<dyn Future<Output = Result<(), RpcError<TransportErrorKind>>> + Send + 'async_trait>>
where 'life0: 'async_trait, P: 'async_trait,

Available on crate feature anvil-api only.
Sets the base fee of the next block.
Source§

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,

Available on crate feature anvil-api only.
Sets the coinbase address.
Source§

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,

Available on crate feature anvil-api only.
Create a buffer that represents all state on the chain, which can be loaded to separate process by calling anvil_loadState
Source§

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,

Available on crate feature anvil-api only.
Append chain state buffer to current chain. Will overwrite any conflicting addresses or storage.
Source§

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,

Available on crate feature anvil-api only.
Retrieves the Anvil node configuration params.
Source§

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,

Available on crate feature anvil-api only.
Retrieves metadata about the Anvil instance.
Source§

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,

Available on crate feature anvil-api only.
Removes all transactions from the pool for a specific address.
Source§

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,

Available on crate feature anvil-api only.
Snapshot the state of the blockchain at the current block.
Source§

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,

Available on crate feature anvil-api only.
Revert the state of the blockchain to a previous snapshot. Takes a single parameter, which is the snapshot id to revert to.
Source§

fn anvil_increase_time<'life0, 'async_trait>( &'life0 self, seconds: Uint<256, 4>, ) -> Pin<Box<dyn Future<Output = Result<i64, RpcError<TransportErrorKind>>> + Send + 'async_trait>>
where 'life0: 'async_trait, P: 'async_trait,

Available on crate feature anvil-api only.
Jump forward in time by the given amount of time, in seconds.
Source§

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,

Available on crate feature anvil-api only.
Similar to evm_increaseTime but takes the exact timestamp that you want in the next block.
Source§

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,

Available on crate feature anvil-api only.
Sets the specific timestamp and returns the number of seconds between the given timestamp and the current time.
Source§

fn anvil_set_block_gas_limit<'life0, 'async_trait>( &'life0 self, gas_limit: Uint<256, 4>, ) -> Pin<Box<dyn Future<Output = Result<bool, RpcError<TransportErrorKind>>> + Send + 'async_trait>>
where 'life0: 'async_trait, P: 'async_trait,

Available on crate feature anvil-api only.
Set the next block gas limit.
Source§

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,

Available on crate feature anvil-api only.
Sets an interval for the block timestamp.
Source§

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,

Available on crate feature anvil-api only.
Unsets the interval for the block timestamp.
Source§

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,

Available on crate feature anvil-api only.
Mine blocks, instantly. This will mine the blocks regardless of the configured mining mode.
Source§

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,

Available on crate feature anvil-api only.
Mine blocks, instantly and return the mined blocks. This will mine the blocks regardless of the configured mining mode.
Source§

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,

Available on crate feature anvil-api only.
Sets the backend rpc url.
Source§

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,

Available on crate feature anvil-api only.
Reorg the chain
Source§

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,

Available on crate feature anvil-api only.
Execute a transaction regardless of signature status.
Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dst: *mut T)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dst. Read more
Source§

impl<N, T, P> DebugApi<N, T> for P
where N: Network, T: Transport + Clone, P: Provider<T, N>,

Source§

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,

Available on crate feature debug-api only.
Returns an RLP-encoded header.
Source§

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,

Available on crate feature debug-api only.
Retrieves and returns the RLP encoded block by number, hash or tag.
Source§

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,

Available on crate feature debug-api only.
Returns an EIP-2718 binary-encoded transaction.
Source§

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,

Available on crate feature debug-api only.
Returns an array of EIP-2718 binary-encoded receipts.
Source§

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,

Available on crate feature debug-api only.
Returns an array of recent bad blocks that the client has seen on the network.
Source§

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,

Available on crate feature debug-api only.
Returns the structured logs created during the execution of EVM between two blocks (excluding start) as a JSON object.
Source§

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,

Available on crate feature debug-api only.
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
Source§

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,

Available on crate feature debug-api only.
Reruns the transaction specified by the hash and returns the trace. Read more
Source§

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,

Available on crate feature debug-api only.
Return a full stack trace of all invoked opcodes of all transaction that were included in this block. Read more
Source§

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,

Available on crate feature debug-api only.
Same as debug_trace_block_by_hash but block is specified by number. Read more
Source§

fn debug_trace_call<'life0, 'async_trait>( &'life0 self, tx: 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,

Available on crate feature debug-api only.
Executes the given transaction without publishing it like eth_call and returns the trace of the execution. Read more
Source§

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,

Available on crate feature debug-api only.
Same as debug_trace_call but it used to run and trace multiple transactions at once. Read more
Source§

impl<N, T, P> EngineApi<N, T> for P
where N: Network, T: Transport + Clone, P: Provider<T, N>,

Source§

fn new_payload_v1<'life0, 'async_trait>( &'life0 self, payload: ExecutionPayloadV1, ) -> Pin<Box<dyn Future<Output = Result<PayloadStatus, RpcError<TransportErrorKind>>> + Send + 'async_trait>>
where 'life0: 'async_trait, P: 'async_trait,

Available on crate feature engine-api only.
Sends the given payload to the execution layer client, as specified for the Paris fork. Read more
Source§

fn new_payload_v2<'life0, 'async_trait>( &'life0 self, payload: ExecutionPayloadInputV2, ) -> Pin<Box<dyn Future<Output = Result<PayloadStatus, RpcError<TransportErrorKind>>> + Send + 'async_trait>>
where 'life0: 'async_trait, P: 'async_trait,

Available on crate feature engine-api only.
Sends the given payload to the execution layer client, as specified for the Shanghai fork. Read more
Source§

fn new_payload_v3<'life0, 'async_trait>( &'life0 self, payload: ExecutionPayloadV3, versioned_hashes: Vec<FixedBytes<32>>, parent_beacon_block_root: FixedBytes<32>, ) -> Pin<Box<dyn Future<Output = Result<PayloadStatus, RpcError<TransportErrorKind>>> + Send + 'async_trait>>
where 'life0: 'async_trait, P: 'async_trait,

Available on crate feature engine-api only.
Sends the given payload to the execution layer client, as specified for the Cancun fork. Read more
Source§

fn new_payload_v4<'life0, 'async_trait>( &'life0 self, payload: ExecutionPayloadV3, versioned_hashes: Vec<FixedBytes<32>>, parent_beacon_block_root: FixedBytes<32>, execution_requests: Vec<Bytes>, ) -> Pin<Box<dyn Future<Output = Result<PayloadStatus, RpcError<TransportErrorKind>>> + Send + 'async_trait>>
where 'life0: 'async_trait, P: 'async_trait,

Available on crate feature engine-api only.
Sends the given payload to the execution layer client, as specified for the Prague fork. Read more
Source§

fn fork_choice_updated_v1<'life0, 'async_trait>( &'life0 self, fork_choice_state: ForkchoiceState, payload_attributes: Option<PayloadAttributes>, ) -> Pin<Box<dyn Future<Output = Result<ForkchoiceUpdated, RpcError<TransportErrorKind>>> + Send + 'async_trait>>
where 'life0: 'async_trait, P: 'async_trait,

Available on crate feature engine-api only.
Updates the execution layer client with the given fork choice, as specified for the Paris fork. Read more
Source§

fn fork_choice_updated_v2<'life0, 'async_trait>( &'life0 self, fork_choice_state: ForkchoiceState, payload_attributes: Option<PayloadAttributes>, ) -> Pin<Box<dyn Future<Output = Result<ForkchoiceUpdated, RpcError<TransportErrorKind>>> + Send + 'async_trait>>
where 'life0: 'async_trait, P: 'async_trait,

Available on crate feature engine-api only.
Updates the execution layer client with the given fork choice, as specified for the Shanghai fork. Read more
Source§

fn fork_choice_updated_v3<'life0, 'async_trait>( &'life0 self, fork_choice_state: ForkchoiceState, payload_attributes: Option<PayloadAttributes>, ) -> Pin<Box<dyn Future<Output = Result<ForkchoiceUpdated, RpcError<TransportErrorKind>>> + Send + 'async_trait>>
where 'life0: 'async_trait, P: 'async_trait,

Available on crate feature engine-api only.
Updates the execution layer client with the given fork choice, as specified for the Cancun fork. Read more
Source§

fn get_payload_v1<'life0, 'async_trait>( &'life0 self, payload_id: PayloadId, ) -> Pin<Box<dyn Future<Output = Result<ExecutionPayloadV1, RpcError<TransportErrorKind>>> + Send + 'async_trait>>
where 'life0: 'async_trait, P: 'async_trait,

Available on crate feature engine-api only.
Retrieves an execution payload from a previously started build process, as specified for the Paris fork. Read more
Source§

fn get_payload_v2<'life0, 'async_trait>( &'life0 self, payload_id: PayloadId, ) -> Pin<Box<dyn Future<Output = Result<ExecutionPayloadEnvelopeV2, RpcError<TransportErrorKind>>> + Send + 'async_trait>>
where 'life0: 'async_trait, P: 'async_trait,

Available on crate feature engine-api only.
Retrieves an execution payload from a previously started build process, as specified for the Shanghai fork. Read more
Source§

fn get_payload_v3<'life0, 'async_trait>( &'life0 self, payload_id: PayloadId, ) -> Pin<Box<dyn Future<Output = Result<ExecutionPayloadEnvelopeV3, RpcError<TransportErrorKind>>> + Send + 'async_trait>>
where 'life0: 'async_trait, P: 'async_trait,

Available on crate feature engine-api only.
Retrieves an execution payload from a previously started build process, as specified for the Cancun fork. Read more
Source§

fn get_payload_v4<'life0, 'async_trait>( &'life0 self, payload_id: PayloadId, ) -> Pin<Box<dyn Future<Output = Result<ExecutionPayloadEnvelopeV4, RpcError<TransportErrorKind>>> + Send + 'async_trait>>
where 'life0: 'async_trait, P: 'async_trait,

Available on crate feature engine-api only.
Returns the most recent version of the payload that is available in the corresponding payload build process at the time of receiving this call. Read more
Source§

fn get_payload_bodies_by_hash_v1<'life0, 'async_trait>( &'life0 self, block_hashes: Vec<FixedBytes<32>>, ) -> Pin<Box<dyn Future<Output = Result<Vec<Option<ExecutionPayloadBodyV1>>, RpcError<TransportErrorKind>>> + Send + 'async_trait>>
where 'life0: 'async_trait, P: 'async_trait,

Available on crate feature engine-api only.
Returns the execution payload bodies by the given hash. Read more
Source§

fn get_payload_bodies_by_range_v1<'life0, 'async_trait>( &'life0 self, start: u64, count: u64, ) -> Pin<Box<dyn Future<Output = Result<Vec<Option<ExecutionPayloadBodyV1>>, RpcError<TransportErrorKind>>> + Send + 'async_trait>>
where 'life0: 'async_trait, P: 'async_trait,

Available on crate feature engine-api only.
Returns the execution payload bodies by the range starting at start, containing count blocks. Read more
Source§

fn get_client_version_v1<'life0, 'async_trait>( &'life0 self, client_version: ClientVersionV1, ) -> Pin<Box<dyn Future<Output = Result<Vec<ClientVersionV1>, RpcError<TransportErrorKind>>> + Send + 'async_trait>>
where 'life0: 'async_trait, P: 'async_trait,

Available on crate feature engine-api only.
Returns the execution client version information. Read more
Source§

fn exchange_capabilities<'life0, 'async_trait>( &'life0 self, capabilities: Vec<String>, ) -> Pin<Box<dyn Future<Output = Result<Vec<String>, RpcError<TransportErrorKind>>> + Send + 'async_trait>>
where 'life0: 'async_trait, P: 'async_trait,

Available on crate feature engine-api only.
Returns the list of Engine API methods supported by the execution layer client software. Read more
Source§

impl<N, T, P> Erc4337Api<N, T> for P
where N: Network, T: Transport + Clone, P: Provider<T, N>,

Source§

fn send_user_operation<'life0, 'async_trait>( &'life0 self, user_op: SendUserOperation, entry_point: Address, ) -> Pin<Box<dyn Future<Output = Result<SendUserOperationResponse, RpcError<TransportErrorKind>>> + Send + 'async_trait>>
where 'life0: 'async_trait, P: 'async_trait,

Available on crate feature erc4337-api only.
Sends a user operation to the bundler, as defined in ERC-4337. Read more
Source§

fn supported_entry_points<'life0, 'async_trait>( &'life0 self, ) -> Pin<Box<dyn Future<Output = Result<Vec<Address>, RpcError<TransportErrorKind>>> + Send + 'async_trait>>
where 'life0: 'async_trait, P: 'async_trait,

Available on crate feature erc4337-api only.
Returns the list of supported entry points.
Source§

fn get_user_operation_receipt<'life0, 'async_trait>( &'life0 self, user_op_hash: Bytes, ) -> Pin<Box<dyn Future<Output = Result<UserOperationReceipt, RpcError<TransportErrorKind>>> + Send + 'async_trait>>
where 'life0: 'async_trait, P: 'async_trait,

Available on crate feature erc4337-api only.
Returns the receipt for any user operation. Read more
Source§

fn estimate_user_operation_gas<'life0, 'async_trait>( &'life0 self, user_op: SendUserOperation, entry_point: Address, ) -> Pin<Box<dyn Future<Output = Result<UserOperationGasEstimation, RpcError<TransportErrorKind>>> + Send + 'async_trait>>
where 'life0: 'async_trait, P: 'async_trait,

Available on crate feature erc4337-api only.
Estimates the gas for a user operation. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> IntoEither for T

Source§

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 more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

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
Source§

impl<N, T, P> NetApi<N, T> for P
where N: Network, T: Transport + Clone, P: Provider<T, N>,

Source§

fn net_listening<'life0, 'async_trait>( &'life0 self, ) -> Pin<Box<dyn Future<Output = Result<bool, RpcError<TransportErrorKind>>> + Send + 'async_trait>>
where 'life0: 'async_trait, P: 'async_trait,

Available on crate feature net-api only.
Returns a bool indicating whether or not the node is listening for network connections.
Source§

fn net_peer_count<'life0, 'async_trait>( &'life0 self, ) -> Pin<Box<dyn Future<Output = Result<u64, RpcError<TransportErrorKind>>> + Send + 'async_trait>>
where 'life0: 'async_trait, P: 'async_trait,

Available on crate feature net-api only.
Returns the number of peers connected to the node.
Source§

fn net_version<'life0, 'async_trait>( &'life0 self, ) -> Pin<Box<dyn Future<Output = Result<u64, RpcError<TransportErrorKind>>> + Send + 'async_trait>>
where 'life0: 'async_trait, P: 'async_trait,

Available on crate feature net-api only.
Returns the network ID (e.g. 1 for mainnet).
Source§

impl<N, T, P> RpcApi<N, T> for P
where N: Network, T: Transport + Clone, P: Provider<T, N>,

Source§

fn rpc_modules<'life0, 'async_trait>( &'life0 self, ) -> Pin<Box<dyn Future<Output = Result<RpcModules, RpcError<TransportErrorKind>>> + Send + 'async_trait>>
where 'life0: 'async_trait, P: 'async_trait,

Available on crate feature rpc-api only.
Lists the enabled RPC namespaces and the versions of each.
Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<N, T, P> TraceApi<N, T> for P
where N: Network, T: Transport + Clone, P: Provider<T, N>,

Source§

fn trace_call<'a, 'b>( &self, request: &'a <N as Network>::TransactionRequest, trace_types: &'b [TraceType], ) -> RpcWithBlock<T, (&'a <N as Network>::TransactionRequest, &'b [TraceType]), TraceResults>

Available on crate feature trace-api only.
Executes the given transaction and returns a number of possible traces. Read more
Source§

fn trace_call_many<'a>( &self, request: &'a [(<N as Network>::TransactionRequest, &'a [TraceType])], ) -> RpcWithBlock<T, (&'a [(<N as Network>::TransactionRequest, &'a [TraceType])],), Vec<TraceResults>>

Available on crate feature trace-api only.
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
Source§

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,

Available on crate feature trace-api only.
Parity trace transaction.
Source§

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,

Available on crate feature trace-api only.
Traces of the transaction on the given positions Read more
Source§

fn trace_raw_transaction<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, data: &'life1 [u8], trace_types: &'life2 [TraceType], ) -> Pin<Box<dyn Future<Output = Result<TraceResults, RpcError<TransportErrorKind>>> + Send + 'async_trait>>
where 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait, P: 'async_trait,

Available on crate feature trace-api only.
Trace the given raw transaction.
Source§

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,

Available on crate feature trace-api only.
Traces matching given filter.
Source§

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,

Available on crate feature trace-api only.
Trace all transactions in the given block. Read more
Source§

fn trace_replay_transaction<'life0, 'life1, 'async_trait>( &'life0 self, hash: FixedBytes<32>, trace_types: &'life1 [TraceType], ) -> Pin<Box<dyn Future<Output = Result<TraceResults, RpcError<TransportErrorKind>>> + Send + 'async_trait>>
where 'life0: 'async_trait, 'life1: 'async_trait, P: 'async_trait,

Available on crate feature trace-api only.
Replays a transaction.
Source§

fn trace_replay_block_transactions<'life0, 'life1, 'async_trait>( &'life0 self, block: BlockId, trace_types: &'life1 [TraceType], ) -> Pin<Box<dyn Future<Output = Result<Vec<TraceResultsWithTransactionHash>, RpcError<TransportErrorKind>>> + Send + 'async_trait>>
where 'life0: 'async_trait, 'life1: 'async_trait, P: 'async_trait,

Available on crate feature trace-api only.
Replays all transactions in the given block.
Source§

impl<T> TryClone for T
where T: Clone,

Source§

fn try_clone(&self) -> Result<T, Error>

Clones self, possibly returning an error.
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<P, T, N> TxPoolApi<T, N> for P
where P: Provider<T, N>, T: Transport + Clone, N: Network,

Source§

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,

Available on crate feature txpool-api only.
Returns the content of the transaction pool. Read more
Source§

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,

Available on crate feature txpool-api only.
Returns the content of the transaction pool filtered by a specific address. Read more
Source§

fn txpool_inspect<'life0, 'async_trait>( &'life0 self, ) -> Pin<Box<dyn Future<Output = Result<TxpoolInspect, RpcError<TransportErrorKind>>> + Send + 'async_trait>>
where 'life0: 'async_trait, P: 'async_trait,

Available on crate feature txpool-api only.
Returns a textual summary of each transaction in the pool. Read more
Source§

fn txpool_status<'life0, 'async_trait>( &'life0 self, ) -> Pin<Box<dyn Future<Output = Result<TxpoolStatus, RpcError<TransportErrorKind>>> + Send + 'async_trait>>
where 'life0: 'async_trait, P: 'async_trait,

Available on crate feature txpool-api only.
Returns the current status of the transaction pool. Read more
Source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V

Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

impl<T> ErasedDestructor for T
where T: 'static,

Source§

impl<T> MaybeSendSync for T