pub trait Sponsor: Account + Sized {
// Provided methods
fn sponsor<S: Account>(
&self,
sender: &S,
sender_sequence_number: u64,
payload: TransactionPayload,
chain_id: ChainId,
) -> AptosResult<SignedTransaction> { ... }
fn sponsor_with_gas<S: Account>(
&self,
sender: &S,
sender_sequence_number: u64,
payload: TransactionPayload,
chain_id: ChainId,
max_gas_amount: u64,
gas_unit_price: u64,
) -> AptosResult<SignedTransaction> { ... }
}Expand description
Extension trait that adds sponsorship capabilities to accounts.
This trait provides convenient methods for an account to sponsor transactions for other users.
Provided Methods§
Sourcefn sponsor<S: Account>(
&self,
sender: &S,
sender_sequence_number: u64,
payload: TransactionPayload,
chain_id: ChainId,
) -> AptosResult<SignedTransaction>
fn sponsor<S: Account>( &self, sender: &S, sender_sequence_number: u64, payload: TransactionPayload, chain_id: ChainId, ) -> AptosResult<SignedTransaction>
Sponsors a transaction for another account.
Creates and signs a sponsored transaction where self pays the gas fees.
§Arguments
sender- The account initiating the transactionsender_sequence_number- The sender’s current sequence numberpayload- The transaction payloadchain_id- The target chain ID
§Example
ⓘ
use aptos_sdk::transaction::Sponsor;
let signed_txn = sponsor_account.sponsor(
&user_account,
0,
payload,
ChainId::testnet(),
)?;§Errors
Returns an error if building the transaction fails or if any signer fails to sign.
Sourcefn sponsor_with_gas<S: Account>(
&self,
sender: &S,
sender_sequence_number: u64,
payload: TransactionPayload,
chain_id: ChainId,
max_gas_amount: u64,
gas_unit_price: u64,
) -> AptosResult<SignedTransaction>
fn sponsor_with_gas<S: Account>( &self, sender: &S, sender_sequence_number: u64, payload: TransactionPayload, chain_id: ChainId, max_gas_amount: u64, gas_unit_price: u64, ) -> AptosResult<SignedTransaction>
Sponsors a transaction with custom gas settings.
§Errors
Returns an error if building the transaction fails or if any signer fails to sign.
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.