pub trait ZKSProvider {
type Provider: JsonRpcClient;
type ZKProvider: JsonRpcClient;
Show 28 methods
// Required methods
fn zk_estimate_gas<'life0, 'async_trait, T>(
&'life0 self,
transaction: T,
) -> Pin<Box<dyn Future<Output = Result<U256, ProviderError>> + Send + 'async_trait>>
where T: Debug + Serialize + Send + Sync + 'async_trait,
Self: 'async_trait,
'life0: 'async_trait;
fn estimate_fee<'life0, 'async_trait, T>(
&'life0 self,
transaction: T,
) -> Pin<Box<dyn Future<Output = Result<Fee, ProviderError>> + Send + 'async_trait>>
where T: Debug + Serialize + Send + Sync + 'async_trait,
Self: 'async_trait,
'life0: 'async_trait;
fn estimate_gas_l1_to_l2<'life0, 'async_trait, T>(
&'life0 self,
transaction: T,
) -> Pin<Box<dyn Future<Output = Result<U256, ProviderError>> + Send + 'async_trait>>
where T: Debug + Serialize + Send + Sync + 'async_trait,
Self: 'async_trait,
'life0: 'async_trait;
fn get_all_account_balances<'life0, 'async_trait>(
&'life0 self,
address: Address,
) -> Pin<Box<dyn Future<Output = Result<HashMap<Address, U256>, ProviderError>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
fn get_block_details<'life0, 'async_trait, T>(
&'life0 self,
block: T,
) -> Pin<Box<dyn Future<Output = Result<Option<BlockDetails>, ProviderError>> + Send + 'async_trait>>
where T: Into<U64> + Send + Sync + Serialize + Debug + 'async_trait,
Self: 'async_trait,
'life0: 'async_trait;
fn get_bridge_contracts<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<BridgeContracts, ProviderError>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
fn get_bytecode_by_hash<'life0, 'async_trait>(
&'life0 self,
hash: H256,
) -> Pin<Box<dyn Future<Output = Result<Option<Vec<u8>>, ProviderError>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
fn get_confirmed_tokens<'life0, 'async_trait>(
&'life0 self,
from: u32,
limit: u8,
) -> Pin<Box<dyn Future<Output = Result<Vec<TokenInfo>, ProviderError>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
fn get_l1_batch_block_range<'life0, 'async_trait, T>(
&'life0 self,
batch: T,
) -> Pin<Box<dyn Future<Output = Result<BlockRange, ProviderError>> + Send + 'async_trait>>
where T: Into<U64> + Send + Sync + Serialize + Debug + 'async_trait,
Self: 'async_trait,
'life0: 'async_trait;
fn get_l1_batch_details<'life0, 'async_trait, T>(
&'life0 self,
batch: T,
) -> Pin<Box<dyn Future<Output = Result<L1BatchDetails, ProviderError>> + Send + 'async_trait>>
where T: Into<U64> + Send + Sync + Serialize + Debug + 'async_trait,
Self: 'async_trait,
'life0: 'async_trait;
fn get_l2_to_l1_log_proof<'life0, 'async_trait>(
&'life0 self,
tx_hash: H256,
l2_to_l1_log_index: Option<u64>,
) -> Pin<Box<dyn Future<Output = Result<Option<Proof>, ProviderError>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
fn get_l2_to_l1_msg_proof<'life0, 'async_trait, T>(
&'life0 self,
block: T,
sender: Address,
msg: H256,
l2_log_position: Option<u64>,
) -> Pin<Box<dyn Future<Output = Result<Option<Proof>, ProviderError>> + Send + 'async_trait>>
where T: Into<U64> + Send + Sync + Serialize + Debug + 'async_trait,
Self: 'async_trait,
'life0: 'async_trait;
fn get_main_contract<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<Address, ProviderError>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
fn get_raw_block_transactions<'life0, 'async_trait, T>(
&'life0 self,
block: T,
) -> Pin<Box<dyn Future<Output = Result<Vec<Transaction>, ProviderError>> + Send + 'async_trait>>
where T: Into<U64> + Send + Sync + Serialize + Debug + 'async_trait,
Self: 'async_trait,
'life0: 'async_trait;
fn get_testnet_paymaster<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<Address, ProviderError>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
fn get_token_price<'life0, 'async_trait>(
&'life0 self,
address: Address,
) -> Pin<Box<dyn Future<Output = Result<String, ProviderError>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
fn get_transaction_details<'life0, 'async_trait>(
&'life0 self,
hash: H256,
) -> Pin<Box<dyn Future<Output = Result<Option<TransactionDetails>, ProviderError>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
fn get_l1_batch_number<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<U256, ProviderError>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
fn get_l1_chain_id<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<U256, ProviderError>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
fn debug_trace_block_by_hash<'life0, 'async_trait>(
&'life0 self,
hash: H256,
options: Option<TracerConfig>,
) -> Pin<Box<dyn Future<Output = Result<DebugTrace, ProviderError>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
fn debug_trace_block_by_number<'life0, 'async_trait, T>(
&'life0 self,
block: T,
options: Option<TracerConfig>,
) -> Pin<Box<dyn Future<Output = Result<DebugTrace, ProviderError>> + Send + 'async_trait>>
where T: Into<U64> + Send + Sync + Serialize + Debug + 'async_trait,
Self: 'async_trait,
'life0: 'async_trait;
fn debug_trace_call<'life0, 'async_trait, R, T>(
&'life0 self,
request: R,
block: Option<T>,
options: Option<TracerConfig>,
) -> Pin<Box<dyn Future<Output = Result<DebugTrace, ProviderError>> + Send + 'async_trait>>
where R: Debug + Serialize + Send + Sync + 'async_trait,
T: Into<U64> + Send + Sync + Serialize + Debug + 'async_trait,
Self: 'async_trait,
'life0: 'async_trait;
fn debug_trace_transaction<'life0, 'async_trait>(
&'life0 self,
hash: H256,
options: Option<TracerConfig>,
) -> Pin<Box<dyn Future<Output = Result<DebugTrace, ProviderError>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
fn send_eip712<'life0, 'life1, 'life2, 'async_trait, D>(
&'life0 self,
wallet: &'life1 Wallet<D>,
contract_address: Address,
function_signature: &'life2 str,
function_parameters: Option<Vec<String>>,
overrides: Option<Overrides>,
) -> Pin<Box<dyn Future<Output = Result<PendingTransaction<'_, Self::ZKProvider>, ProviderError>> + Send + 'async_trait>>
where D: PrehashSigner<(RecoverableSignature, RecoveryId)> + Send + Sync + 'async_trait,
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait;
fn send<'life0, 'life1, 'life2, 'async_trait, D>(
&'life0 self,
wallet: &'life1 Wallet<D>,
contract_address: Address,
function_signature: &'life2 str,
function_parameters: Option<Vec<String>>,
overrides: Option<Overrides>,
) -> Pin<Box<dyn Future<Output = Result<PendingTransaction<'_, Self::Provider>, ProviderError>> + Send + 'async_trait>>
where D: PrehashSigner<(RecoverableSignature, RecoveryId)> + Send + Sync + 'async_trait,
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait;
fn wait_for_finalize<'life0, 'async_trait>(
&'life0 self,
transaction_receipt: TxHash,
polling_time_in_seconds: Option<Duration>,
timeout_in_seconds: Option<Duration>,
) -> Pin<Box<dyn Future<Output = Result<TransactionReceipt, ProviderError>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
fn call<'life0, 'life1, 'async_trait>(
&'life0 self,
request: &'life1 CallRequest,
) -> Pin<Box<dyn Future<Output = Result<Vec<Token>, ProviderError>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait;
fn send_transaction_eip712<'life0, 'life1, 'async_trait, T, D>(
&'life0 self,
wallet: &'life1 Wallet<D>,
transaction: T,
) -> Pin<Box<dyn Future<Output = Result<PendingTransaction<'_, Self::ZKProvider>, ProviderError>> + Send + 'async_trait>>
where T: TryInto<Eip712TransactionRequest> + Send + Sync + Debug + 'async_trait,
D: PrehashSigner<(RecoverableSignature, RecoveryId)> + Send + Sync + 'async_trait,
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait;
}Expand description
This trait wraps every JSON-RPC call specified in zkSync Era’s documentation https://era.zksync.io/docs/api/api.html#zksync-era-json-rpc-methods
Required Associated Types§
type Provider: JsonRpcClient
type ZKProvider: JsonRpcClient
Required Methods§
fn zk_estimate_gas<'life0, 'async_trait, T>( &'life0 self, transaction: T, ) -> Pin<Box<dyn Future<Output = Result<U256, ProviderError>> + Send + 'async_trait>>
Sourcefn estimate_fee<'life0, 'async_trait, T>(
&'life0 self,
transaction: T,
) -> Pin<Box<dyn Future<Output = Result<Fee, ProviderError>> + Send + 'async_trait>>
fn estimate_fee<'life0, 'async_trait, T>( &'life0 self, transaction: T, ) -> Pin<Box<dyn Future<Output = Result<Fee, ProviderError>> + Send + 'async_trait>>
Returns the fee for the transaction.
Sourcefn estimate_gas_l1_to_l2<'life0, 'async_trait, T>(
&'life0 self,
transaction: T,
) -> Pin<Box<dyn Future<Output = Result<U256, ProviderError>> + Send + 'async_trait>>
fn estimate_gas_l1_to_l2<'life0, 'async_trait, T>( &'life0 self, transaction: T, ) -> Pin<Box<dyn Future<Output = Result<U256, ProviderError>> + Send + 'async_trait>>
Returns an estimate of the gas required for a L1 to L2 transaction.
Sourcefn get_all_account_balances<'life0, 'async_trait>(
&'life0 self,
address: Address,
) -> Pin<Box<dyn Future<Output = Result<HashMap<Address, U256>, ProviderError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn get_all_account_balances<'life0, 'async_trait>(
&'life0 self,
address: Address,
) -> Pin<Box<dyn Future<Output = Result<HashMap<Address, U256>, ProviderError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Returns all balances for confirmed tokens given by an account address.
Sourcefn get_block_details<'life0, 'async_trait, T>(
&'life0 self,
block: T,
) -> Pin<Box<dyn Future<Output = Result<Option<BlockDetails>, ProviderError>> + Send + 'async_trait>>
fn get_block_details<'life0, 'async_trait, T>( &'life0 self, block: T, ) -> Pin<Box<dyn Future<Output = Result<Option<BlockDetails>, ProviderError>> + Send + 'async_trait>>
Returns additional zkSync-specific information about the L2 block.
committed: The batch is closed and the state transition it creates exists on layer 1.proven: The batch proof has been created, submitted, and accepted on layer 1.executed: The batch state transition has been executed on L1; meaning the root state has been updated.
Sourcefn get_bridge_contracts<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<BridgeContracts, ProviderError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn get_bridge_contracts<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<BridgeContracts, ProviderError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Returns L1/L2 addresses of default bridges.
Sourcefn get_bytecode_by_hash<'life0, 'async_trait>(
&'life0 self,
hash: H256,
) -> Pin<Box<dyn Future<Output = Result<Option<Vec<u8>>, ProviderError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn get_bytecode_by_hash<'life0, 'async_trait>(
&'life0 self,
hash: H256,
) -> Pin<Box<dyn Future<Output = Result<Option<Vec<u8>>, ProviderError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Returns bytecode of a transaction given by its hash.
Sourcefn get_confirmed_tokens<'life0, 'async_trait>(
&'life0 self,
from: u32,
limit: u8,
) -> Pin<Box<dyn Future<Output = Result<Vec<TokenInfo>, ProviderError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn get_confirmed_tokens<'life0, 'async_trait>(
&'life0 self,
from: u32,
limit: u8,
) -> Pin<Box<dyn Future<Output = Result<Vec<TokenInfo>, ProviderError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Returns [address, symbol, name, and decimal] information of all tokens within a range of ids given by parameters from and limit.
Confirmed in the method name means the method returns any token bridged to zkSync via the official bridge.
This method is mainly used by the zkSync team as it relates to a database query where the primary keys relate to the given ids.
Sourcefn get_l1_batch_block_range<'life0, 'async_trait, T>(
&'life0 self,
batch: T,
) -> Pin<Box<dyn Future<Output = Result<BlockRange, ProviderError>> + Send + 'async_trait>>
fn get_l1_batch_block_range<'life0, 'async_trait, T>( &'life0 self, batch: T, ) -> Pin<Box<dyn Future<Output = Result<BlockRange, ProviderError>> + Send + 'async_trait>>
Returns the range of blocks contained within a batch given by batch number.
The range is given by beginning/end block numbers in hexadecimal.
Sourcefn get_l1_batch_details<'life0, 'async_trait, T>(
&'life0 self,
batch: T,
) -> Pin<Box<dyn Future<Output = Result<L1BatchDetails, ProviderError>> + Send + 'async_trait>>
fn get_l1_batch_details<'life0, 'async_trait, T>( &'life0 self, batch: T, ) -> Pin<Box<dyn Future<Output = Result<L1BatchDetails, ProviderError>> + Send + 'async_trait>>
Returns data pertaining to a given batch.
Sourcefn get_l2_to_l1_log_proof<'life0, 'async_trait>(
&'life0 self,
tx_hash: H256,
l2_to_l1_log_index: Option<u64>,
) -> Pin<Box<dyn Future<Output = Result<Option<Proof>, ProviderError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn get_l2_to_l1_log_proof<'life0, 'async_trait>(
&'life0 self,
tx_hash: H256,
l2_to_l1_log_index: Option<u64>,
) -> Pin<Box<dyn Future<Output = Result<Option<Proof>, ProviderError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Given a transaction hash, and an index of the L2 to L1 log produced within the transaction, it returns the proof for the corresponding L2 to L1 log.
The index of the log that can be obtained from the transaction receipt (it includes a list of every log produced by the transaction).
Sourcefn get_l2_to_l1_msg_proof<'life0, 'async_trait, T>(
&'life0 self,
block: T,
sender: Address,
msg: H256,
l2_log_position: Option<u64>,
) -> Pin<Box<dyn Future<Output = Result<Option<Proof>, ProviderError>> + Send + 'async_trait>>
fn get_l2_to_l1_msg_proof<'life0, 'async_trait, T>( &'life0 self, block: T, sender: Address, msg: H256, l2_log_position: Option<u64>, ) -> Pin<Box<dyn Future<Output = Result<Option<Proof>, ProviderError>> + Send + 'async_trait>>
Given a block, a sender, a message, and an optional message log index in the block containing the L1->L2 message, it returns the proof for the message sent via the L1Messenger system contract.
Sourcefn get_main_contract<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<Address, ProviderError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn get_main_contract<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<Address, ProviderError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Returns the address of the zkSync Era contract.
Sourcefn get_raw_block_transactions<'life0, 'async_trait, T>(
&'life0 self,
block: T,
) -> Pin<Box<dyn Future<Output = Result<Vec<Transaction>, ProviderError>> + Send + 'async_trait>>
fn get_raw_block_transactions<'life0, 'async_trait, T>( &'life0 self, block: T, ) -> Pin<Box<dyn Future<Output = Result<Vec<Transaction>, ProviderError>> + Send + 'async_trait>>
Returns data of transactions in a block.
Sourcefn get_testnet_paymaster<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<Address, ProviderError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn get_testnet_paymaster<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<Address, ProviderError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Returns the address of the testnet paymaster: the paymaster that is available on testnets and enables paying fees in ERC-20 compatible tokens.
Sourcefn get_token_price<'life0, 'async_trait>(
&'life0 self,
address: Address,
) -> Pin<Box<dyn Future<Output = Result<String, ProviderError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn get_token_price<'life0, 'async_trait>(
&'life0 self,
address: Address,
) -> Pin<Box<dyn Future<Output = Result<String, ProviderError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Returns the price of a given token in USD.
Sourcefn get_transaction_details<'life0, 'async_trait>(
&'life0 self,
hash: H256,
) -> Pin<Box<dyn Future<Output = Result<Option<TransactionDetails>, ProviderError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn get_transaction_details<'life0, 'async_trait>(
&'life0 self,
hash: H256,
) -> Pin<Box<dyn Future<Output = Result<Option<TransactionDetails>, ProviderError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Returns data from a specific transaction given by the transaction hash.
Sourcefn get_l1_batch_number<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<U256, ProviderError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn get_l1_batch_number<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<U256, ProviderError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Returns the latest L1 batch number.
Sourcefn get_l1_chain_id<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<U256, ProviderError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn get_l1_chain_id<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<U256, ProviderError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Returns the chain id of the underlying L1.
Sourcefn debug_trace_block_by_hash<'life0, 'async_trait>(
&'life0 self,
hash: H256,
options: Option<TracerConfig>,
) -> Pin<Box<dyn Future<Output = Result<DebugTrace, ProviderError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn debug_trace_block_by_hash<'life0, 'async_trait>(
&'life0 self,
hash: H256,
options: Option<TracerConfig>,
) -> Pin<Box<dyn Future<Output = Result<DebugTrace, ProviderError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Returns debug trace of all executed calls contained in a block given by its L2 hash.
Sourcefn debug_trace_block_by_number<'life0, 'async_trait, T>(
&'life0 self,
block: T,
options: Option<TracerConfig>,
) -> Pin<Box<dyn Future<Output = Result<DebugTrace, ProviderError>> + Send + 'async_trait>>
fn debug_trace_block_by_number<'life0, 'async_trait, T>( &'life0 self, block: T, options: Option<TracerConfig>, ) -> Pin<Box<dyn Future<Output = Result<DebugTrace, ProviderError>> + Send + 'async_trait>>
Returns debug trace of all executed calls contained in a block given by its L2 block number.
Sourcefn debug_trace_call<'life0, 'async_trait, R, T>(
&'life0 self,
request: R,
block: Option<T>,
options: Option<TracerConfig>,
) -> Pin<Box<dyn Future<Output = Result<DebugTrace, ProviderError>> + Send + 'async_trait>>
fn debug_trace_call<'life0, 'async_trait, R, T>( &'life0 self, request: R, block: Option<T>, options: Option<TracerConfig>, ) -> Pin<Box<dyn Future<Output = Result<DebugTrace, ProviderError>> + Send + 'async_trait>>
Returns debug trace containing information on a specific calls given by the call request.
Sourcefn debug_trace_transaction<'life0, 'async_trait>(
&'life0 self,
hash: H256,
options: Option<TracerConfig>,
) -> Pin<Box<dyn Future<Output = Result<DebugTrace, ProviderError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn debug_trace_transaction<'life0, 'async_trait>(
&'life0 self,
hash: H256,
options: Option<TracerConfig>,
) -> Pin<Box<dyn Future<Output = Result<DebugTrace, ProviderError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Uses the EVM’s callTracer to return a debug trace of a specific transaction given by its transaction hash.
fn send_eip712<'life0, 'life1, 'life2, 'async_trait, D>(
&'life0 self,
wallet: &'life1 Wallet<D>,
contract_address: Address,
function_signature: &'life2 str,
function_parameters: Option<Vec<String>>,
overrides: Option<Overrides>,
) -> Pin<Box<dyn Future<Output = Result<PendingTransaction<'_, Self::ZKProvider>, ProviderError>> + Send + 'async_trait>>where
D: PrehashSigner<(RecoverableSignature, RecoveryId)> + Send + Sync + 'async_trait,
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn send<'life0, 'life1, 'life2, 'async_trait, D>(
&'life0 self,
wallet: &'life1 Wallet<D>,
contract_address: Address,
function_signature: &'life2 str,
function_parameters: Option<Vec<String>>,
overrides: Option<Overrides>,
) -> Pin<Box<dyn Future<Output = Result<PendingTransaction<'_, Self::Provider>, ProviderError>> + Send + 'async_trait>>where
D: PrehashSigner<(RecoverableSignature, RecoveryId)> + Send + Sync + 'async_trait,
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn wait_for_finalize<'life0, 'async_trait>(
&'life0 self,
transaction_receipt: TxHash,
polling_time_in_seconds: Option<Duration>,
timeout_in_seconds: Option<Duration>,
) -> Pin<Box<dyn Future<Output = Result<TransactionReceipt, ProviderError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn call<'life0, 'life1, 'async_trait>(
&'life0 self,
request: &'life1 CallRequest,
) -> Pin<Box<dyn Future<Output = Result<Vec<Token>, ProviderError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn send_transaction_eip712<'life0, 'life1, 'async_trait, T, D>(
&'life0 self,
wallet: &'life1 Wallet<D>,
transaction: T,
) -> Pin<Box<dyn Future<Output = Result<PendingTransaction<'_, Self::ZKProvider>, ProviderError>> + Send + 'async_trait>>where
T: TryInto<Eip712TransactionRequest> + Send + Sync + Debug + 'async_trait,
D: PrehashSigner<(RecoverableSignature, RecoveryId)> + Send + Sync + 'async_trait,
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.