pub struct AccountDeploymentV3<'f, F> { /* private fields */ }Expand description
Abstraction over DEPLOY_ACCOUNT transactions for account contract deployment. This struct uses
v3 DEPLOY_ACCOUNT transactions under the hood, and hence pays transaction fees in STRK.
This is an intermediate type allowing users to optionally specify nonce and transaction fee
options.
Implementations§
Source§impl<'f, F> AccountDeploymentV3<'f, F>
impl<'f, F> AccountDeploymentV3<'f, F>
Sourcepub const fn new(salt: Felt, factory: &'f F) -> Self
pub const fn new(salt: Felt, factory: &'f F) -> Self
Constructs a new AccountDeploymentV3.
Users would typically use deploy_v3 on an AccountFactory instead of
directly calling this method.
Sourcepub const fn nonce(self, nonce: Felt) -> Self
pub const fn nonce(self, nonce: Felt) -> Self
Returns a new AccountDeploymentV3 with the nonce.
Sourcepub const fn l1_gas(self, l1_gas: u64) -> Self
pub const fn l1_gas(self, l1_gas: u64) -> Self
Returns a new AccountDeploymentV3 with the l1_gas.
Sourcepub const fn l1_gas_price(self, l1_gas_price: u128) -> Self
pub const fn l1_gas_price(self, l1_gas_price: u128) -> Self
Returns a new AccountDeploymentV3 with the l1_gas_price.
Sourcepub const fn l2_gas(self, l2_gas: u64) -> Self
pub const fn l2_gas(self, l2_gas: u64) -> Self
Returns a new AccountDeploymentV3 with the l2_gas.
Sourcepub const fn l2_gas_price(self, l2_gas_price: u128) -> Self
pub const fn l2_gas_price(self, l2_gas_price: u128) -> Self
Returns a new AccountDeploymentV3 with the l2_gas_price.
Sourcepub const fn l1_data_gas(self, l1_data_gas: u64) -> Self
pub const fn l1_data_gas(self, l1_data_gas: u64) -> Self
Returns a new AccountDeploymentV3 with the l1_data_gas.
Sourcepub const fn l1_data_gas_price(self, l1_data_gas_price: u128) -> Self
pub const fn l1_data_gas_price(self, l1_data_gas_price: u128) -> Self
Returns a new AccountDeploymentV3 with the l1_data_gas_price.
Sourcepub const fn gas_estimate_multiplier(self, gas_estimate_multiplier: f64) -> Self
pub const fn gas_estimate_multiplier(self, gas_estimate_multiplier: f64) -> Self
Returns a new AccountDeploymentV3 with the gas amount estimate multiplier. The
multiplier is used when the gas amount is not manually specified and must be fetched from a
Provider instead.
Sourcepub const fn gas_price_estimate_multiplier(
self,
gas_price_estimate_multiplier: f64,
) -> Self
pub const fn gas_price_estimate_multiplier( self, gas_price_estimate_multiplier: f64, ) -> Self
Returns a new AccountDeploymentV3 with the gas price estimate multiplier. The
multiplier is used when the gas price is not manually specified and must be fetched from a
Provider instead.
Sourcepub const fn tip(self, tip: u64) -> Self
pub const fn tip(self, tip: u64) -> Self
Returns a new AccountDeploymentV3 with the tip.
Sourcepub fn prepared(
self,
) -> Result<PreparedAccountDeploymentV3<'f, F>, NotPreparedError>
pub fn prepared( self, ) -> Result<PreparedAccountDeploymentV3<'f, F>, NotPreparedError>
Calling this function after manually specifying nonce and max_fee turns
AccountDeploymentV3 into PreparedAccountDeploymentV3. Returns Err if either field is
None.
Source§impl<'f, F> AccountDeploymentV3<'f, F>where
F: AccountFactory + Sync,
impl<'f, F> AccountDeploymentV3<'f, F>where
F: AccountFactory + Sync,
Sourcepub async fn fetch_nonce(&self) -> Result<Felt, ProviderError>
pub async fn fetch_nonce(&self) -> Result<Felt, ProviderError>
Fetches the next available nonce from a Provider. In most cases this would be 0 but
it can also be non-zero if previous reverted deployment attempts exist.
Sourcepub async fn estimate_fee(
&self,
) -> Result<FeeEstimate, AccountFactoryError<F::SignError>>
pub async fn estimate_fee( &self, ) -> Result<FeeEstimate, AccountFactoryError<F::SignError>>
Estimates transaction fees from a Provider.
Sourcepub async fn simulate(
&self,
skip_validate: bool,
skip_fee_charge: bool,
) -> Result<SimulatedTransaction, AccountFactoryError<F::SignError>>
pub async fn simulate( &self, skip_validate: bool, skip_fee_charge: bool, ) -> Result<SimulatedTransaction, AccountFactoryError<F::SignError>>
Simulates the transaction from a Provider. Transaction validation and fee transfer can
be skipped.
Sourcepub async fn send(
&self,
) -> Result<DeployAccountTransactionResult, AccountFactoryError<F::SignError>>
pub async fn send( &self, ) -> Result<DeployAccountTransactionResult, AccountFactoryError<F::SignError>>
Signs and broadcasts the transaction to the network.