pub struct DeclarationV3<'a, A> { /* private fields */ }Expand description
Abstraction over DECLARE transactions from accounts for invoking contracts. This struct uses
v3 DECLARE 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<'a, A> DeclarationV3<'a, A>
impl<'a, A> DeclarationV3<'a, A>
Sourcepub const fn new(
contract_class: Arc<FlattenedSierraClass>,
compiled_class_hash: Felt,
account: &'a A,
) -> Self
pub const fn new( contract_class: Arc<FlattenedSierraClass>, compiled_class_hash: Felt, account: &'a A, ) -> Self
Constructs a new DeclarationV3.
Users would typically use declare_v3 on an Account instead of
directly calling this method.
Sourcepub fn nonce(self, nonce: Felt) -> Self
pub fn nonce(self, nonce: Felt) -> Self
Returns a new DeclarationV3 with the nonce.
Sourcepub fn l1_gas(self, l1_gas: u64) -> Self
pub fn l1_gas(self, l1_gas: u64) -> Self
Returns a new DeclarationV3 with the l1_gas.
Sourcepub fn l1_gas_price(self, l1_gas_price: u128) -> Self
pub fn l1_gas_price(self, l1_gas_price: u128) -> Self
Returns a new DeclarationV3 with the l1_gas_price.
Sourcepub fn l2_gas(self, l2_gas: u64) -> Self
pub fn l2_gas(self, l2_gas: u64) -> Self
Returns a new DeclarationV3 with the l2_gas.
Sourcepub fn l2_gas_price(self, l2_gas_price: u128) -> Self
pub fn l2_gas_price(self, l2_gas_price: u128) -> Self
Returns a new DeclarationV3 with the l2_gas_price.
Sourcepub fn l1_data_gas(self, l1_data_gas: u64) -> Self
pub fn l1_data_gas(self, l1_data_gas: u64) -> Self
Returns a new DeclarationV3 with the l1_data_gas.
Sourcepub fn l1_data_gas_price(self, l1_data_gas_price: u128) -> Self
pub fn l1_data_gas_price(self, l1_data_gas_price: u128) -> Self
Returns a new DeclarationV3 with the l1_data_gas_price.
Sourcepub fn gas_estimate_multiplier(self, gas_estimate_multiplier: f64) -> Self
pub fn gas_estimate_multiplier(self, gas_estimate_multiplier: f64) -> Self
Returns a new DeclarationV3 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 fn gas_price_estimate_multiplier(
self,
gas_price_estimate_multiplier: f64,
) -> Self
pub fn gas_price_estimate_multiplier( self, gas_price_estimate_multiplier: f64, ) -> Self
Returns a new DeclarationV3 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 fn tip(self, tip: u64) -> Self
pub fn tip(self, tip: u64) -> Self
Returns a new DeclarationV3 with the tip.
Sourcepub fn prepared(self) -> Result<PreparedDeclarationV3<'a, A>, NotPreparedError>
pub fn prepared(self) -> Result<PreparedDeclarationV3<'a, A>, NotPreparedError>
Calling this function after manually specifying all optional fields turns DeclarationV3
into PreparedDeclarationV3. Returns Err if any field is None.
Source§impl<'a, A> DeclarationV3<'a, A>where
A: ConnectedAccount + Sync,
impl<'a, A> DeclarationV3<'a, A>where
A: ConnectedAccount + Sync,
Sourcepub async fn estimate_fee(
&self,
) -> Result<FeeEstimate, AccountError<A::SignError>>
pub async fn estimate_fee( &self, ) -> Result<FeeEstimate, AccountError<A::SignError>>
Estimates transaction fees from a Provider.
Sourcepub async fn simulate(
&self,
skip_validate: bool,
skip_fee_charge: bool,
) -> Result<SimulatedTransaction, AccountError<A::SignError>>
pub async fn simulate( &self, skip_validate: bool, skip_fee_charge: bool, ) -> Result<SimulatedTransaction, AccountError<A::SignError>>
Simulates the transaction from a Provider. Transaction validation and fee transfer can
be skipped.
Sourcepub async fn send(
&self,
) -> Result<DeclareTransactionResult, AccountError<A::SignError>>
pub async fn send( &self, ) -> Result<DeclareTransactionResult, AccountError<A::SignError>>
Signs and broadcasts the transaction to the network.