pub struct Transaction {
    pub smart_wallet: Pubkey,
    pub index: u64,
    pub bump: u8,
    pub proposer: Pubkey,
    pub instructions: Vec<TXInstruction>,
    pub signers: Vec<bool>,
    pub owner_set_seqno: u32,
    pub eta: i64,
    pub executor: Pubkey,
    pub executed_at: i64,
}
Expand description

A Transaction is a series of instructions that may be executed by a SmartWallet.

Fields

smart_wallet: Pubkey

The SmartWallet account this transaction belongs to.

index: u64

The auto-incremented integer index of the transaction. All transactions on the SmartWallet can be looked up via this index, allowing for easier browsing of a wallet’s historical transactions.

bump: u8

Bump seed.

proposer: Pubkey

The proposer of the Transaction.

instructions: Vec<TXInstruction>

The instruction.

signers: Vec<bool>

signers[index] is true iff [SmartWallet]::owners[index] signed the transaction.

owner_set_seqno: u32

Owner set sequence number.

eta: i64

Estimated time the Transaction will be executed.

  • If set to crate::NO_ETA, the transaction may be executed at any time.
  • Otherwise, the Transaction may be executed at any point after the ETA has elapsed.
executor: Pubkey

The account that executed the Transaction.

executed_at: i64

When the transaction was executed. -1 if not executed.

Implementations

Computes the space a Transaction uses.

Number of signers.

Trait Implementations

Deserializes previously initialized account data. Should fail for all uninitialized accounts, where the bytes are zeroed. Implementations should be unique to a particular account type so that one can never successfully deserialize the data of one account type into another. For example, if the SPL token program were to implement this trait, it should be impossible to deserialize a Mint account into a token Account. Read more

Deserializes account data without checking the account discriminator. This should only be used on account initialization, when the bytes of the account are zeroed. Read more

Serializes the account data into writer.

Deserializes this instance from a given slice of bytes. Updates the buffer to point at the remaining bytes. Read more

Deserialize this instance from a slice of bytes.

Serialize this instance into a vector of bytes.

Returns a copy of the value. Read more

Performs copy-assignment from source. Read more

Formats the value using the given formatter. Read more

Returns the “default value” for a type. Read more

This method tests for self and other values to be equal, and is used by ==. Read more

This method tests for !=.

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Immutably borrows from an owned value. Read more

Mutably borrows from an owned value. Read more

Performs the conversion.

Performs the conversion.

Should always be Self

The resulting type after obtaining ownership.

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

🔬 This is a nightly-only experimental API. (toowned_clone_into)

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

The type returned in the event of a conversion error.

Performs the conversion.

The type returned in the event of a conversion error.

Performs the conversion.