Trait ZKSProvider

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

Required Methods§

Source

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,

Source

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,

Returns the fee for the transaction.

Source

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,

Returns an estimate of the gas required for a L1 to L2 transaction.

Source

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.

Source

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,

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

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.

Source

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.

Source

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.

Source

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,

Returns the range of blocks contained within a batch given by batch number.

The range is given by beginning/end block numbers in hexadecimal.

Source

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,

Returns data pertaining to a given batch.

Source

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

Source

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,

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.

Source

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.

Source

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,

Returns data of transactions in a block.

Source

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.

Source

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.

Source

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.

Source

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.

Source

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.

Source

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.

Source

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,

Returns debug trace of all executed calls contained in a block given by its L2 block number.

Source

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,

Returns debug trace containing information on a specific calls given by the call request.

Source

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.

Source

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,

Source

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,

Source

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,

Source

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,

Source

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.

Implementations on Foreign Types§

Source§

impl<P: JsonRpcClient> ZKSProvider for Provider<P>

Source§

type Provider = P

Source§

type ZKProvider = P

Source§

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,

Source§

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,

Source§

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,

Source§

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,

Source§

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,

Source§

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,

Source§

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,

Source§

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,

Source§

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,

Source§

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,

Source§

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,

Source§

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,

Source§

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,

Source§

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,

Source§

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,

Source§

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,

Source§

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,

Source§

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,

Source§

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,

Source§

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,

Source§

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,

Source§

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,

Source§

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,

Source§

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> + Sync + Send + Debug + 'async_trait, D: PrehashSigner<(RecoverableSignature, RecoveryId)> + Send + Sync + 'async_trait, Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,

Source§

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,

Source§

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,

Source§

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

Source§

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,

Implementors§