pub type RetryProviderWithSigner<N = AnyNetwork> = FillProvider<JoinFill<JoinFill<Identity, JoinFill<GasFiller, JoinFill<BlobGasFiller, JoinFill<NonceFiller, ChainIdFiller>>>>, WalletFiller<EthereumWallet>>, RootProvider<N>, N>;
Expand description
Helper type alias for a retry provider with a signer
Aliased Type§
struct RetryProviderWithSigner<N = AnyNetwork> { /* private fields */ }
Layout§
Note: Most layout information is completely unstable and may even differ between compilations. The only exception is types with certain repr(...)
attributes. Please see the Rust Reference's “Type Layout” chapter for details on type layout guarantees.
Size: 80 bytes
Implementations
§impl<F, P, N> FillProvider<F, P, N>where
F: TxFiller<N>,
P: Provider<N>,
N: Network,
impl<F, P, N> FillProvider<F, P, N>where
F: TxFiller<N>,
P: Provider<N>,
N: Network,
pub fn new(inner: P, filler: F) -> FillProvider<F, P, N>
pub fn new(inner: P, filler: F) -> FillProvider<F, P, N>
Creates a new FillProvider
with the given filler and inner provider.
pub fn join_with<Other>(
self,
other: Other,
) -> FillProvider<JoinFill<F, Other>, P, N>where
Other: TxFiller<N>,
pub fn join_with<Other>(
self,
other: Other,
) -> FillProvider<JoinFill<F, Other>, P, N>where
Other: TxFiller<N>,
Joins a filler to this provider
pub async fn fill(
&self,
tx: <N as Network>::TransactionRequest,
) -> Result<SendableTx<N>, RpcError<TransportErrorKind>>
pub async fn fill( &self, tx: <N as Network>::TransactionRequest, ) -> Result<SendableTx<N>, RpcError<TransportErrorKind>>
Fills the transaction request, using the configured fillers
pub fn prepare_call(
&self,
tx: <N as Network>::TransactionRequest,
) -> Result<<N as Network>::TransactionRequest, RpcError<TransportErrorKind>>
pub fn prepare_call( &self, tx: <N as Network>::TransactionRequest, ) -> Result<<N as Network>::TransactionRequest, RpcError<TransportErrorKind>>
Prepares a transaction request for eth_call operations using the configured fillers
Trait Implementations
§impl<F, P, N> Provider<N> for FillProvider<F, P, N>where
F: TxFiller<N>,
P: Provider<N>,
N: Network,
impl<F, P, N> Provider<N> for FillProvider<F, P, N>where
F: TxFiller<N>,
P: Provider<N>,
N: Network,
§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(&self) -> ProviderCall<[(); 0], Uint<64, 1>, u64>
fn get_block_number(&self) -> ProviderCall<[(); 0], Uint<64, 1>, u64>
Get the last block number available.
§fn call<'req>(
&self,
tx: <N as Network>::TransactionRequest,
) -> EthCall<N, Bytes>
fn call<'req>( &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 Vec<Bundle>,
) -> EthCallMany<'req, N, Vec<Vec<EthCallResponse>>>
fn call_many<'req>( &self, bundles: &'req Vec<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 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<'req>(
&self,
tx: <N as Network>::TransactionRequest,
) -> EthCall<N, Uint<64, 1>, u64>
fn estimate_gas<'req>( &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 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,
FillProvider<F, P, N>: '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,
FillProvider<F, P, N>: '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(&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,
FillProvider<F, P, N>: '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,
FillProvider<F, P, N>: '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,
FillProvider<F, P, N>: '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,
FillProvider<F, P, N>: '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,
FillProvider<F, P, N>: '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,
FillProvider<F, P, N>: 'async_trait,
Watch for new blocks by polling the provider with
eth_getFilterChanges
. 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,
FillProvider<F, P, N>: '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,
FillProvider<F, P, N>: '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,
FillProvider<F, P, N>: '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,
FillProvider<F, P, N>: '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,
FillProvider<F, P, N>: '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,
FillProvider<F, P, N>: 'async_trait,
Watch for new pending transaction bodies by polling the provider with
eth_getFilterChanges
. 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,
FillProvider<F, P, N>: '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,
FillProvider<F, P, N>: '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,
FillProvider<F, P, N>: '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,
FillProvider<F, P, N>: '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,
FillProvider<F, P, N>: '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,
FillProvider<F, P, N>: '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,
FillProvider<F, P, N>: '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,
FillProvider<F, P, N>: '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,
FillProvider<F, P, N>: '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,
FillProvider<F, P, N>: '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_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,
FillProvider<F, P, N>: '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,
FillProvider<F, P, N>: '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,
FillProvider<F, P, N>: '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,
FillProvider<F, P, N>: '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,
FillProvider<F, P, N>: '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,
FillProvider<F, P, N>: '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,
FillProvider<F, P, N>: '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,
FillProvider<F, P, N>: '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,
FillProvider<F, P, N>: '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,
FillProvider<F, P, N>: '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,
FillProvider<F, P, N>: '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,
FillProvider<F, P, N>: '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,
FillProvider<F, P, N>: '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,
FillProvider<F, P, N>: 'async_trait,
Broadcasts a raw transaction RLP bytes with a conditional [
TransactionConditional
] to the
network. Read more§fn subscribe_blocks<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<Subscription<<N as Network>::HeaderResponse>, RpcError<TransportErrorKind>>> + Send + 'async_trait>>where
'life0: 'async_trait,
FillProvider<F, P, N>: 'async_trait,
fn subscribe_blocks<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<Subscription<<N as Network>::HeaderResponse>, RpcError<TransportErrorKind>>> + Send + 'async_trait>>where
'life0: 'async_trait,
FillProvider<F, P, N>: 'async_trait,
Subscribe to a stream of new block headers. Read more
§fn subscribe_pending_transactions<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<Subscription<FixedBytes<32>>, RpcError<TransportErrorKind>>> + Send + 'async_trait>>where
'life0: 'async_trait,
FillProvider<F, P, N>: 'async_trait,
fn subscribe_pending_transactions<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<Subscription<FixedBytes<32>>, RpcError<TransportErrorKind>>> + Send + 'async_trait>>where
'life0: 'async_trait,
FillProvider<F, P, N>: 'async_trait,
Subscribe to a stream of pending transaction hashes. Read more
§fn subscribe_full_pending_transactions<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<Subscription<<N as Network>::TransactionResponse>, RpcError<TransportErrorKind>>> + Send + 'async_trait>>where
'life0: 'async_trait,
FillProvider<F, P, N>: 'async_trait,
fn subscribe_full_pending_transactions<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<Subscription<<N as Network>::TransactionResponse>, RpcError<TransportErrorKind>>> + Send + 'async_trait>>where
'life0: 'async_trait,
FillProvider<F, P, N>: 'async_trait,
Subscribe to a stream of pending transaction bodies. Read more
§fn subscribe_logs<'life0, 'life1, 'async_trait>(
&'life0 self,
filter: &'life1 Filter,
) -> Pin<Box<dyn Future<Output = Result<Subscription<Log>, RpcError<TransportErrorKind>>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
FillProvider<F, P, N>: 'async_trait,
fn subscribe_logs<'life0, 'life1, 'async_trait>(
&'life0 self,
filter: &'life1 Filter,
) -> Pin<Box<dyn Future<Output = Result<Subscription<Log>, RpcError<TransportErrorKind>>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
FillProvider<F, P, N>: 'async_trait,
Subscribe to a stream of logs matching given filter. Read more
§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,
FillProvider<F, P, N>: '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,
FillProvider<F, P, N>: '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_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,
FillProvider<F, P, N>: '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,
FillProvider<F, P, N>: '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
.§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 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 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_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 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 subscribe<'life0, 'async_trait, P, R>(
&'life0 self,
params: P,
) -> Pin<Box<dyn Future<Output = Result<Subscription<R>, RpcError<TransportErrorKind>>> + Send + 'async_trait>>where
'life0: 'async_trait,
P: RpcSend + 'async_trait,
R: RpcRecv + 'async_trait,
Self: Sized + 'async_trait,
fn subscribe<'life0, 'async_trait, P, R>(
&'life0 self,
params: P,
) -> Pin<Box<dyn Future<Output = Result<Subscription<R>, RpcError<TransportErrorKind>>> + Send + 'async_trait>>where
'life0: 'async_trait,
P: RpcSend + 'async_trait,
R: RpcRecv + 'async_trait,
Self: Sized + 'async_trait,
Subscribe to an RPC event.
§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
§impl<F, P, N> WalletProvider<N> for FillProvider<F, P, N>where
F: TxFiller<N> + WalletProvider<N>,
P: Provider<N>,
N: Network,
impl<F, P, N> WalletProvider<N> for FillProvider<F, P, N>where
F: TxFiller<N> + WalletProvider<N>,
P: Provider<N>,
N: Network,
§type Wallet = <F as WalletProvider<N>>::Wallet
type Wallet = <F as WalletProvider<N>>::Wallet
The underlying [
NetworkWallet
] type contained in this stack.§fn wallet(&self) -> &<FillProvider<F, P, N> as WalletProvider<N>>::Wallet
fn wallet(&self) -> &<FillProvider<F, P, N> as WalletProvider<N>>::Wallet
Get a reference to the underlying wallet.
§fn wallet_mut(
&mut self,
) -> &mut <FillProvider<F, P, N> as WalletProvider<N>>::Wallet
fn wallet_mut( &mut self, ) -> &mut <FillProvider<F, P, N> as WalletProvider<N>>::Wallet
Get a mutable reference to the underlying wallet.
§fn default_signer_address(&self) -> Address
fn default_signer_address(&self) -> Address
Get the default signer address.
§fn has_signer_for(&self, address: &Address) -> bool
fn has_signer_for(&self, address: &Address) -> bool
Check if the signer can sign for the given address.
§fn signer_addresses(&self) -> impl Iterator<Item = Address>
fn signer_addresses(&self) -> impl Iterator<Item = Address>
Get an iterator of all signer addresses. Note that because the signer
always has at least one address, this iterator will always have at least
one element.