Skip to main content

Sponsor

Trait Sponsor 

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

Source

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 transaction
  • sender_sequence_number - The sender’s current sequence number
  • payload - The transaction payload
  • chain_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.

Source

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.

Implementors§

Source§

impl<A: Account + Sized> Sponsor for A