Struct alloy_zksync::network::Zksync

source ·
pub struct Zksync { /* private fields */ }
Expand description

Trait Implementations§

source§

impl Clone for Zksync

source§

fn clone(&self) -> Zksync

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for Zksync

source§

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

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

impl Network for Zksync

§

type TxType = TxType

The network transaction type enum. Read more
§

type TxEnvelope = TxEnvelope

The network transaction envelope type.
§

type UnsignedTx = TypedTransaction

An enum over the various transaction types.
§

type ReceiptEnvelope = ReceiptEnvelope

The network receipt envelope type.
§

type Header = Header

The network header type.
§

type TransactionRequest = TransactionRequest

The JSON body of a transaction request.
§

type TransactionResponse = TransactionResponse

The JSON body of a transaction response.
§

type ReceiptResponse = ReceiptResponse

The JSON body of a transaction receipt.
§

type HeaderResponse = HeaderResponse

The JSON body of a header response.
§

type BlockResponse = Block<<Zksync as Network>::TransactionResponse, <Zksync as Network>::HeaderResponse>

The JSON body of a block response.
source§

impl NetworkWallet<Zksync> for ZksyncWallet

source§

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

Return true if the signer contains a credential for the given address.
source§

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>

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

Asynchronously sign an unsigned transaction.
§

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

source§

fn root(&self) -> &RootProvider<Zksync>

Returns the root provider.
§

fn builder() -> ProviderBuilder<Identity, Identity, N>
where Self: Sized,

Returns the ProviderBuilder to build on.
§

fn client(&self) -> &RpcClientInner

Returns the RPC client used to send requests. Read more
§

fn weak_client(&self) -> Weak<RpcClientInner>

Returns a Weak RPC client used to send requests. Read more
§

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

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>

Returns the base fee per blob gas (blob gas price) in wei.
§

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>

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

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,

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

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>

Gets the chain ID.
§

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>

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,

Estimates the EIP1559 maxFeePerGas and maxPriorityFeePerGas fields. Read more
§

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,

Estimates the EIP1559 maxFeePerGas and maxPriorityFeePerGas fields. 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, 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>

Gets the current gas price in wei.
§

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

Gets the balance of the account. Read more
§

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>

Gets a block by its [BlockHash] Read more
§

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,

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,

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

Gets the selected block [BlockId] receipts.
§

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,

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,

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,

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,

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,

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,

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,

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,

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,

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,

Retrieves a Vec<Log> with the given [Filter].
§

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

Gets the specified storage value from [Address].
§

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

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

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

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

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

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>

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

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,

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,

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>

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,

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,

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,

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,

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,

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,

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,

Broadcasts a transaction envelope to the network. Read more
§

fn syncing(&self) -> ProviderCall<[(); 0], SyncStatus>

Gets syncing info.
§

fn get_client_version(&self) -> ProviderCall<[(); 0], String>

Gets the client version.
§

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>

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,

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,

Sends a raw JSON-RPC request with type-erased parameters and return. Read more
§

fn transaction_request(&self) -> <N as Network>::TransactionRequest

Creates a new TransactionRequest.
source§

impl<P> ProviderLayer<P, Zksync> for AnvilZKsyncLayer
where P: Provider<Zksync>,

§

type Provider = AnvilZKsyncProvider<P>

The provider constructed by this layer.
source§

fn layer(&self, inner: P) -> Self::Provider

Wrap the given provider in the layer’s provider.
source§

impl RecommendedFillers for Zksync

§

type RecommendedFillers = JoinFill<Eip712FeeFiller, JoinFill<NonceFiller, ChainIdFiller>>

Recommended fillers for this network.
source§

fn recommended_fillers() -> Self::RecommendedFillers

Returns the recommended filler for this provider.
source§

impl TransactionBuilder<Zksync> for TransactionRequest

source§

fn chain_id(&self) -> Option<ChainId>

Get the chain ID for the transaction.
source§

fn set_chain_id(&mut self, chain_id: ChainId)

Set the chain ID for the transaction.
source§

fn nonce(&self) -> Option<u64>

Get the nonce for the transaction.
source§

fn set_nonce(&mut self, nonce: u64)

Set the nonce for the transaction.
source§

fn input(&self) -> Option<&Bytes>

Get the input data for the transaction.
source§

fn set_input<T: Into<Bytes>>(&mut self, input: T)

Set the input data for the transaction.
source§

fn from(&self) -> Option<Address>

Get the sender for the transaction.
source§

fn set_from(&mut self, from: Address)

Set the sender for the transaction.
source§

fn kind(&self) -> Option<TxKind>

Get the kind of transaction.
source§

fn clear_kind(&mut self)

Clear the kind of transaction.
source§

fn set_kind(&mut self, kind: TxKind)

Set the kind of transaction.
source§

fn value(&self) -> Option<U256>

Get the value for the transaction.
source§

fn set_value(&mut self, value: U256)

Set the value for the transaction.
source§

fn gas_price(&self) -> Option<u128>

Get the legacy gas price for the transaction.
source§

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>

Get the max fee per gas for the transaction.
source§

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>

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)

Set the max priority fee per gas for the transaction.
source§

fn gas_limit(&self) -> Option<u64>

Get the gas limit for the transaction.
source§

fn set_gas_limit(&mut self, gas_limit: u64)

Set the gas limit for the transaction.
source§

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)

Sets the EIP-2930 access list.
source§

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

True if the builder contains all necessary information to be submitted to the eth_sendTransaction endpoint.
source§

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

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>

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)

Trim any conflicting keys and populate any computed fields (like blob hashes). Read more
source§

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

Build a signed transaction.
§

fn with_chain_id(self, chain_id: u64) -> Self

Builder-pattern method for setting the chain ID.
§

fn with_nonce(self, nonce: u64) -> Self

Builder-pattern method for setting the nonce.
§

fn with_input<T>(self, input: T) -> Self
where T: Into<Bytes>,

Builder-pattern method for setting the input data.
§

fn with_from(self, from: Address) -> Self

Builder-pattern method for setting the sender.
§

fn with_kind(self, kind: TxKind) -> Self

Builder-pattern method for setting the kind of transaction.
§

fn to(&self) -> Option<Address>

Get the recipient for the transaction.
§

fn set_to(&mut self, to: Address)

Set the recipient for the transaction.
§

fn with_to(self, to: Address) -> Self

Builder-pattern method for setting the recipient.
§

fn set_create(&mut self)

Set the to field to a create call.
§

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

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) -> Self
where 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,

Set the data field to a contract call. This will clear the to field if it is set to [TxKind::Create].
§

fn with_call<T>(self, t: &T) -> Self
where T: SolCall,

Make a contract call with data.
§

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

Builder-pattern method for setting the value.
§

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

Builder-pattern method for setting max fee per gas .
§

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

Builder-pattern method for setting the gas limit.
§

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

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)

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

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 apply<F>(self, f: F) -> Self
where F: FnOnce(Self) -> Self,

Apply a function to the builder, returning the modified builder.
§

fn try_apply<F, E>(self, f: F) -> Result<Self, E>
where F: FnOnce(Self) -> Result<Self, E>,

Apply a fallible function to the builder, returning the modified builder or an error.
source§

impl TxFiller<Zksync> for Eip712FeeFiller

§

type Fillable = Eip712Fee

The properties that this filler retrieves from the RPC. to fill in the TransactionRequest.
source§

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

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

Prepares fillable properties, potentially by making an RPC request.
source§

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

Joins this filler with another filler to compose multiple fillers.
§

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

Returns true if the filler is ready to fill in the transaction request.
§

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

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

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

Prepares transaction request with necessary fillers required for eth_call operations syncronously
source§

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> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> CloneToUninit for T
where T: Copy,

source§

unsafe fn clone_to_uninit(&self, dst: *mut T)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dst. Read more
source§

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

source§

default unsafe fn clone_to_uninit(&self, dst: *mut T)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dst. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

§

impl<T> Instrument for T

§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided [Span], returning an Instrumented wrapper. Read more
§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
source§

impl<T, U> Into<U> for T
where U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T> IntoEither for T

source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> if into_left is true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> if into_left(&self) returns true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
source§

impl<T> Same for T

§

type Output = T

Should always be Self
source§

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

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

§

fn vzip(self) -> V

§

impl<T> WithSubscriber for T

§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a [WithDispatch] wrapper. Read more
§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a [WithDispatch] wrapper. Read more
§

impl<T> ErasedDestructor for T
where T: 'static,

§

impl<T> MaybeSendSync for T