Struct alloy_zksync::network::Zksync
source · pub struct Zksync { /* private fields */ }
Expand description
ZKsync Network implementation.
Defines main types used in the network:
Trait Implementations§
source§impl Network for Zksync
impl Network for Zksync
§type TxEnvelope = TxEnvelope
type TxEnvelope = TxEnvelope
The network transaction envelope type.
§type UnsignedTx = TypedTransaction
type UnsignedTx = TypedTransaction
An enum over the various transaction types.
§type ReceiptEnvelope = ReceiptEnvelope
type ReceiptEnvelope = ReceiptEnvelope
The network receipt envelope type.
§type TransactionRequest = TransactionRequest
type TransactionRequest = TransactionRequest
The JSON body of a transaction request.
§type TransactionResponse = TransactionResponse
type TransactionResponse = TransactionResponse
The JSON body of a transaction response.
§type ReceiptResponse = ReceiptResponse
type ReceiptResponse = ReceiptResponse
The JSON body of a transaction receipt.
§type HeaderResponse = HeaderResponse
type HeaderResponse = HeaderResponse
The JSON body of a header response.
§type BlockResponse = Block<<Zksync as Network>::TransactionResponse, <Zksync as Network>::HeaderResponse>
type BlockResponse = Block<<Zksync as Network>::TransactionResponse, <Zksync as Network>::HeaderResponse>
The JSON body of a block response.
source§impl NetworkWallet<Zksync> for ZksyncWallet
impl NetworkWallet<Zksync> for ZksyncWallet
source§fn default_signer_address(&self) -> Address
fn default_signer_address(&self) -> Address
Get the default signer address. This address should be used
in [
NetworkWallet::sign_transaction_from
] when no specific signer is
specified.source§fn has_signer_for(&self, address: &Address) -> bool
fn has_signer_for(&self, address: &Address) -> bool
Return true if the signer contains a credential for the given address.
source§fn signer_addresses(&self) -> impl Iterator<Item = Address>
fn signer_addresses(&self) -> impl Iterator<Item = Address>
Return an iterator of all signer addresses.
source§async fn sign_transaction_from(
&self,
sender: Address,
tx: TypedTransaction,
) -> Result<TxEnvelope>
async fn sign_transaction_from( &self, sender: Address, tx: TypedTransaction, ) -> Result<TxEnvelope>
Asynchronously sign an unsigned transaction, with a specified
credential.
§fn sign_transaction(
&self,
tx: <N as Network>::UnsignedTx,
) -> impl Send + Future<Output = Result<<N as Network>::TxEnvelope, Error>>
fn sign_transaction( &self, tx: <N as Network>::UnsignedTx, ) -> impl Send + Future<Output = Result<<N as Network>::TxEnvelope, Error>>
Asynchronously sign an unsigned transaction.
§fn sign_request(
&self,
request: <N as Network>::TransactionRequest,
) -> impl Send + Future<Output = Result<<N as Network>::TxEnvelope, Error>>
fn sign_request( &self, request: <N as Network>::TransactionRequest, ) -> impl Send + Future<Output = Result<<N as Network>::TxEnvelope, Error>>
Asynchronously sign a transaction request, using the sender specified
in the
from
field.source§impl<P> Provider<Zksync> for AnvilZKsyncProvider<P>where
P: Provider<Zksync>,
impl<P> Provider<Zksync> for AnvilZKsyncProvider<P>where
P: Provider<Zksync>,
§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 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(&self, tx: <N as Network>::TransactionRequest) -> EthCall<N, Bytes>
fn call(&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 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 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(
&self,
tx: <N as Network>::TransactionRequest,
) -> EthCall<N, Uint<64, 1>, u64>
fn estimate_gas( &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 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_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,
Self: '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,
Self: '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,
Self: '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,
Self: '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,
Self: '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,
Self: '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,
Self: '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,
Self: '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,
Self: '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,
Self: '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,
Self: '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,
Self: '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,
Self: '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,
Self: 'async_trait,
Watch for new pending transaction bodies by polling the provider with
eth_getFilterChanges
. Read more§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 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,
Self: '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,
Self: '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,
Self: '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,
Self: '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,
Self: '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,
Self: '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,
Self: '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,
Self: '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,
Self: '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,
Self: '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,
Self: '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,
Self: '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,
Self: '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,
Self: '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,
Self: '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,
Self: '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,
Self: '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,
Self: '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,
Self: '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,
Self: '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,
Self: '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,
Self: '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,
Self: '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,
Self: 'async_trait,
Broadcasts a raw transaction RLP bytes with a conditional [
TransactionConditional
] to the
network. 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 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<'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
§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,
Self: '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,
Self: '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
.source§impl<P> ProviderLayer<P, Zksync> for AnvilZKsyncLayerwhere
P: Provider<Zksync>,
impl<P> ProviderLayer<P, Zksync> for AnvilZKsyncLayerwhere
P: Provider<Zksync>,
source§impl RecommendedFillers for Zksync
impl RecommendedFillers for Zksync
§type RecommendedFillers = JoinFill<Eip712FeeFiller, JoinFill<NonceFiller, ChainIdFiller>>
type RecommendedFillers = JoinFill<Eip712FeeFiller, JoinFill<NonceFiller, ChainIdFiller>>
Recommended fillers for this network.
source§fn recommended_fillers() -> Self::RecommendedFillers
fn recommended_fillers() -> Self::RecommendedFillers
Returns the recommended filler for this provider.
source§impl TransactionBuilder<Zksync> for TransactionRequest
impl TransactionBuilder<Zksync> for TransactionRequest
source§fn set_chain_id(&mut self, chain_id: ChainId)
fn set_chain_id(&mut self, chain_id: ChainId)
Set the chain ID for the transaction.
source§fn clear_kind(&mut self)
fn clear_kind(&mut self)
Clear the kind of transaction.
source§fn set_gas_price(&mut self, gas_price: u128)
fn set_gas_price(&mut self, gas_price: u128)
Set the legacy gas price for the transaction.
source§fn max_fee_per_gas(&self) -> Option<u128>
fn max_fee_per_gas(&self) -> Option<u128>
Get the max fee per gas for the transaction.
source§fn set_max_fee_per_gas(&mut self, max_fee_per_gas: u128)
fn set_max_fee_per_gas(&mut self, max_fee_per_gas: u128)
Set the max fee per gas for the transaction.
source§fn max_priority_fee_per_gas(&self) -> Option<u128>
fn max_priority_fee_per_gas(&self) -> Option<u128>
Get the max priority fee per gas for the transaction.
source§fn set_max_priority_fee_per_gas(&mut self, max_priority_fee_per_gas: u128)
fn set_max_priority_fee_per_gas(&mut self, max_priority_fee_per_gas: u128)
Set the max priority fee per gas for the transaction.
source§fn set_gas_limit(&mut self, gas_limit: u64)
fn set_gas_limit(&mut self, gas_limit: u64)
Set the gas limit for the transaction.
source§fn access_list(&self) -> Option<&AccessList>
fn access_list(&self) -> Option<&AccessList>
Get the EIP-2930 access list for the transaction.
source§fn set_access_list(&mut self, access_list: AccessList)
fn set_access_list(&mut self, access_list: AccessList)
Sets the EIP-2930 access list.
source§fn complete_type(
&self,
ty: <Zksync as Network>::TxType,
) -> Result<(), Vec<&'static str>>
fn complete_type( &self, ty: <Zksync as Network>::TxType, ) -> Result<(), Vec<&'static str>>
Check if all necessary keys are present to build the specified type,
returning a list of missing keys.
source§fn can_submit(&self) -> bool
fn can_submit(&self) -> bool
True if the builder contains all necessary information to be submitted
to the
eth_sendTransaction
endpoint.source§fn can_build(&self) -> bool
fn can_build(&self) -> bool
True if the builder contains all necessary information to be built into
a valid transaction.
source§fn output_tx_type(&self) -> <Zksync as Network>::TxType
fn output_tx_type(&self) -> <Zksync as Network>::TxType
Returns the transaction type that this builder will attempt to build.
This does not imply that the builder is ready to build.
source§fn output_tx_type_checked(&self) -> Option<<Zksync as Network>::TxType>
fn output_tx_type_checked(&self) -> Option<<Zksync as Network>::TxType>
Returns the transaction type that this builder will build.
None
if
the builder is not ready to build.source§fn prep_for_submission(&mut self)
fn prep_for_submission(&mut self)
Trim any conflicting keys and populate any computed fields (like blob
hashes). Read more
source§fn build_unsigned(self) -> BuildResult<TypedTransaction, Zksync>
fn build_unsigned(self) -> BuildResult<TypedTransaction, Zksync>
Build an unsigned, but typed, transaction.
source§async fn build<W: NetworkWallet<Zksync>>(
self,
wallet: &W,
) -> Result<<Zksync as Network>::TxEnvelope, TransactionBuilderError<Zksync>>
async fn build<W: NetworkWallet<Zksync>>( self, wallet: &W, ) -> Result<<Zksync as Network>::TxEnvelope, TransactionBuilderError<Zksync>>
Build a signed transaction.
§fn with_chain_id(self, chain_id: u64) -> Self
fn with_chain_id(self, chain_id: u64) -> Self
Builder-pattern method for setting the chain ID.
§fn with_nonce(self, nonce: u64) -> Self
fn with_nonce(self, nonce: u64) -> Self
Builder-pattern method for setting the nonce.
§fn with_input<T>(self, input: T) -> Selfwhere
T: Into<Bytes>,
fn with_input<T>(self, input: T) -> Selfwhere
T: Into<Bytes>,
Builder-pattern method for setting the input data.
§fn with_kind(self, kind: TxKind) -> Self
fn with_kind(self, kind: TxKind) -> Self
Builder-pattern method for setting the kind of transaction.
§fn set_create(&mut self)
fn set_create(&mut self)
Set the
to
field to a create call.§fn into_create(self) -> Self
fn into_create(self) -> Self
Set the
to
field to a create call.§fn set_deploy_code<T>(&mut self, code: T)where
T: Into<Bytes>,
fn set_deploy_code<T>(&mut self, code: T)where
T: Into<Bytes>,
Deploy the code by making a create call with data. This will set the
to
field to [TxKind::Create
].§fn with_deploy_code<T>(self, code: T) -> Selfwhere
T: Into<Bytes>,
fn with_deploy_code<T>(self, code: T) -> Selfwhere
T: Into<Bytes>,
Deploy the code by making a create call with data. This will set the
to
field to [TxKind::Create
].§fn set_call<T>(&mut self, t: &T)where
T: SolCall,
fn set_call<T>(&mut self, t: &T)where
T: SolCall,
Set the data field to a contract call. This will clear the
to
field
if it is set to [TxKind::Create
].§fn calculate_create_address(&self) -> Option<Address>
fn calculate_create_address(&self) -> Option<Address>
Calculates the address that will be created by the transaction, if any. Read more
§fn with_value(self, value: Uint<256, 4>) -> Self
fn with_value(self, value: Uint<256, 4>) -> Self
Builder-pattern method for setting the value.
§fn with_gas_price(self, gas_price: u128) -> Self
fn with_gas_price(self, gas_price: u128) -> Self
Builder-pattern method for setting the legacy gas price.
§fn with_max_fee_per_gas(self, max_fee_per_gas: u128) -> Self
fn with_max_fee_per_gas(self, max_fee_per_gas: u128) -> Self
Builder-pattern method for setting max fee per gas .
§fn with_max_priority_fee_per_gas(self, max_priority_fee_per_gas: u128) -> Self
fn with_max_priority_fee_per_gas(self, max_priority_fee_per_gas: u128) -> Self
Builder-pattern method for setting max priority fee per gas.
§fn with_gas_limit(self, gas_limit: u64) -> Self
fn with_gas_limit(self, gas_limit: u64) -> Self
Builder-pattern method for setting the gas limit.
§fn with_access_list(self, access_list: AccessList) -> Self
fn with_access_list(self, access_list: AccessList) -> Self
Builder-pattern method for setting the access list.
§fn complete_preferred(&self) -> Result<(), Vec<&'static str>>
fn complete_preferred(&self) -> Result<(), Vec<&'static str>>
Check if all necessary keys are present to build the currently-preferred
transaction type, returning a list of missing keys.
§fn assert_preferred(&self, ty: <N as Network>::TxType)
fn assert_preferred(&self, ty: <N as Network>::TxType)
Assert that the builder prefers a certain transaction type. This does
not indicate that the builder is ready to build. This function uses a
dbg_assert_eq!
to check the builder status, and will have no affect
in release builds.§fn assert_preferred_chained(self, ty: <N as Network>::TxType) -> Self
fn assert_preferred_chained(self, ty: <N as Network>::TxType) -> Self
Assert that the builder prefers a certain transaction type. This does
not indicate that the builder is ready to build. This function uses a
dbg_assert_eq!
to check the builder status, and will have no affect
in release builds.source§impl TxFiller<Zksync> for Eip712FeeFiller
impl TxFiller<Zksync> for Eip712FeeFiller
§type Fillable = Eip712Fee
type Fillable = Eip712Fee
The properties that this filler retrieves from the RPC. to fill in the
TransactionRequest.
source§fn status(&self, tx: &TransactionRequest) -> FillerControlFlow
fn status(&self, tx: &TransactionRequest) -> FillerControlFlow
Return a control-flow enum indicating whether the filler is ready to
fill in the transaction request, or if it is missing required
properties.
source§fn fill_sync(&self, _tx: &mut SendableTx<Zksync>)
fn fill_sync(&self, _tx: &mut SendableTx<Zksync>)
Performs any synchronous filling. This should be called before
[
TxFiller::prepare
] and [TxFiller::fill
] to fill in any properties
that can be filled synchronously.source§async fn prepare<P>(
&self,
provider: &P,
tx: &TransactionRequest,
) -> TransportResult<Self::Fillable>where
P: Provider<Zksync>,
async fn prepare<P>(
&self,
provider: &P,
tx: &TransactionRequest,
) -> TransportResult<Self::Fillable>where
P: Provider<Zksync>,
Prepares fillable properties, potentially by making an RPC request.
source§async fn fill(
&self,
fee: Self::Fillable,
tx: SendableTx<Zksync>,
) -> TransportResult<SendableTx<Zksync>>
async fn fill( &self, fee: Self::Fillable, tx: SendableTx<Zksync>, ) -> TransportResult<SendableTx<Zksync>>
Fills in the transaction request with the fillable properties.
§fn join_with<T>(self, other: T) -> JoinFill<Self, T>where
T: TxFiller<N>,
fn join_with<T>(self, other: T) -> JoinFill<Self, T>where
T: TxFiller<N>,
Joins this filler with another filler to compose multiple fillers.
§fn continue_filling(&self, tx: &SendableTx<N>) -> bool
fn continue_filling(&self, tx: &SendableTx<N>) -> bool
Returns
true
if the filler is should continue filling.§fn ready(&self, tx: &<N as Network>::TransactionRequest) -> bool
fn ready(&self, tx: &<N as Network>::TransactionRequest) -> bool
Returns
true
if the filler is ready to fill in the transaction request.§fn finished(&self, tx: &<N as Network>::TransactionRequest) -> bool
fn finished(&self, tx: &<N as Network>::TransactionRequest) -> bool
Returns
true
if the filler is finished filling in the transaction request.§fn prepare_and_fill<P>(
&self,
provider: &P,
tx: SendableTx<N>,
) -> impl Send + Future<Output = Result<SendableTx<N>, RpcError<TransportErrorKind>>>where
P: Provider<N>,
fn prepare_and_fill<P>(
&self,
provider: &P,
tx: SendableTx<N>,
) -> impl Send + Future<Output = Result<SendableTx<N>, RpcError<TransportErrorKind>>>where
P: Provider<N>,
Prepares and fills the transaction request with the fillable properties.
§fn prepare_call(
&self,
tx: &mut <N as Network>::TransactionRequest,
) -> impl Send + Future<Output = Result<(), RpcError<TransportErrorKind>>>
fn prepare_call( &self, tx: &mut <N as Network>::TransactionRequest, ) -> impl Send + Future<Output = Result<(), RpcError<TransportErrorKind>>>
Prepares transaction request with necessary fillers required for eth_call operations
asyncronously
§fn prepare_call_sync(
&self,
tx: &mut <N as Network>::TransactionRequest,
) -> Result<(), RpcError<TransportErrorKind>>
fn prepare_call_sync( &self, tx: &mut <N as Network>::TransactionRequest, ) -> Result<(), RpcError<TransportErrorKind>>
Prepares transaction request with necessary fillers required for eth_call operations
syncronously
impl Copy for Zksync
Auto Trait Implementations§
impl Freeze for Zksync
impl RefUnwindSafe for Zksync
impl Send for Zksync
impl Sync for Zksync
impl Unpin for Zksync
impl UnwindSafe for Zksync
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
source§impl<T> CloneToUninit for Twhere
T: Copy,
impl<T> CloneToUninit for Twhere
T: Copy,
source§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
🔬This is a nightly-only experimental API. (
clone_to_uninit
)source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
source§default unsafe fn clone_to_uninit(&self, dst: *mut T)
default unsafe fn clone_to_uninit(&self, dst: *mut T)
🔬This is a nightly-only experimental API. (
clone_to_uninit
)§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
source§impl<T> IntoEither for T
impl<T> IntoEither for T
source§fn into_either(self, into_left: bool) -> Either<Self, Self>
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 moresource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
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