Struct alloy_provider::RootProvider

source ·
pub struct RootProvider<T, N: Network = Ethereum> { /* private fields */ }
Expand description

The root provider manages the RPC client and the heartbeat. It is at the base of every provider stack.

Implementations§

source§

impl<N: Network> RootProvider<Http<Client>, N>

source

pub fn new_http(url: Url) -> Self

Creates a new HTTP root provider from the given URL.

source§

impl<T: Transport + Clone, N: Network> RootProvider<T, N>

source

pub fn new(client: RpcClient<T>) -> Self

Creates a new root provider from the given RPC client.

source§

impl<N: Network> RootProvider<BoxTransport, N>

source

pub async fn connect_boxed<C: BoxTransportConnect>( conn: C, ) -> Result<Self, TransportError>

Connects to a boxed transport with the given connector.

source

pub async fn connect_builtin(s: &str) -> Result<Self, TransportError>

Creates a new root provider from the provided connection details.

source§

impl<T: Transport + Clone, N: Network> RootProvider<T, N>

source

pub fn boxed(self) -> RootProvider<BoxTransport, N>

Boxes the inner client.

This will create a new provider if this instance is not the only reference to the inner client.

Trait Implementations§

source§

impl<T, N: Network> Clone for RootProvider<T, N>

source§

fn clone(&self) -> Self

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<T: Debug, N: Network> Debug for RootProvider<T, N>

source§

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

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

impl<T: Transport + Clone, N: Network> Provider<T, N> for RootProvider<T, N>

source§

fn root(&self) -> &Self

Returns the root provider.
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 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 builder() -> ProviderBuilder<Identity, Identity, N>
where Self: Sized,

Returns the ProviderBuilder to build on.
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 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_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_transaction_count_by_hash<'life0, 'async_trait>( &'life0 self, hash: BlockHash, ) -> Pin<Box<dyn Future<Output = TransportResult<Option<u64>>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Returns the number of transactions in a block from a block matching the given block hash.
source§

fn get_block_transaction_count_by_number<'life0, 'async_trait>( &'life0 self, block_number: BlockNumberOrTag, ) -> Pin<Box<dyn Future<Output = TransportResult<Option<u64>>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Returns the number of transactions in a block matching the given block number.
source§

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

Gets the selected block BlockId receipts.
source§

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

Gets the bytecode located at the corresponding Address.
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 get_filter_logs<'life0, 'async_trait>( &'life0 self, id: U256, ) -> Pin<Box<dyn Future<Output = TransportResult<Vec<Log>>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Retrieves a Vec<Log> for the given filter ID.
source§

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

Request provider to uninstall the filter with the given ID.
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_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_transaction_by_hash( &self, hash: TxHash, ) -> ProviderCall<T, (TxHash,), Option<N::TransactionResponse>>

Gets a transaction by its TxHash.
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_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_count( &self, address: Address, ) -> RpcWithBlock<T, Address, U64, u64, fn(_: U64) -> u64>

Gets the transaction count (AKA “nonce”) of the corresponding address.
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 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 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<T, N> Freeze for RootProvider<T, N>

§

impl<T, N = Ethereum> !RefUnwindSafe for RootProvider<T, N>

§

impl<T, N> Send for RootProvider<T, N>
where T: Sync + Send,

§

impl<T, N> Sync for RootProvider<T, N>
where T: Sync + Send,

§

impl<T, N> Unpin for RootProvider<T, N>

§

impl<T, N = Ethereum> !UnwindSafe for RootProvider<T, N>

Blanket Implementations§

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,

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,

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,

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,

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,

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,

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,

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,

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,

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,

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,

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,

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,

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,

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,

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,

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,

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,

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,

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,

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,

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,

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,

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,

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,

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,

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,

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,

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,

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,

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,

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,

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,

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,

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,

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,

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,

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§

default 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<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<T> Same for T

§

type Output = T

Should always be Self
source§

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

§

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<T, U> TryFrom<U> for T
where U: Into<T>,

§

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

§

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