Options
All
  • Public
  • Public/Protected
  • All
Menu

Transaction class

Hierarchy

  • Transaction

Index

Constructors

Properties

feePayer?: PublicKey

The transaction fee payer

instructions: TransactionInstruction[]

The instructions to atomically execute

lastValidBlockHeight?: number

the last block chain can advance to before tx is exportd expired

minNonceContextSlot?: number

If this is a nonce transaction this represents the minimum slot from which to evaluate if the nonce has advanced when attempting to confirm the transaction. This protects against a case where the transaction confirmation logic loads the nonce account from an old slot and assumes the mismatch in nonce value implies that the nonce has been advanced.

nonceInfo?: NonceInformation

Optional Nonce information. If populated, transaction will use a durable Nonce hash instead of a recentBlockhash. Must be populated by the caller

recentBlockhash?: string

A recent transaction id. Must be populated by the caller

signatures: SignaturePubkeyPair[]

Signatures for the transaction. Typically created by invoking the sign() method

Accessors

  • get signature(): null | Buffer
  • The first (payer) Transaction signature

    Returns null | Buffer

Methods

  • addSignature(pubkey: PublicKey, signature: Buffer): void
  • Add an externally created signature to a transaction. The public key must correspond to either the fee payer or a signer account in the transaction instructions.

    Parameters

    Returns void

  • Compile transaction data

    Returns Message

  • getEstimatedFee(connection: Connection): Promise<null | number>
  • Get the estimated fee associated with a transaction

    Parameters

    Returns Promise<null | number>

  • partialSign(...signers: Signer[]): void
  • Partially sign a transaction with the specified accounts. All accounts must correspond to either the fee payer or a signer account in the transaction instructions.

    All the caveats from the sign method apply to partialSign

    Parameters

    Returns void

  • Serialize the Transaction in the wire format.

    Parameters

    Returns Buffer

  • serializeMessage(): Buffer
  • Get a buffer of the Transaction data that need to be covered by signatures

    Returns Buffer

  • Specify the public keys which will be used to sign the Transaction. The first signer will be used as the transaction fee payer account.

    Signatures can be added with either partialSign or addSignature

    deprecated

    Deprecated since v0.84.0. Only the fee payer needs to be specified and it can be set in the Transaction constructor or with the feePayer property.

    Parameters

    Returns void

  • sign(...signers: Signer[]): void
  • Sign the Transaction with the specified signers. Multiple signatures may be applied to a Transaction. The first signature is considered "primary" and is used identify and confirm transactions.

    If the Transaction feePayer is not set, the first signer will be used as the transaction fee payer account.

    Transaction fields should not be modified after the first call to sign, as doing so may invalidate the signature and cause the Transaction to be rejected.

    The Transaction must be assigned a valid recentBlockhash before invoking this method

    Parameters

    Returns void

  • verifySignatures(requireAllSignatures?: boolean): boolean
  • Verify signatures of a Transaction Optional parameter specifies if we're expecting a fully signed Transaction or a partially signed one. If no boolean is provided, we expect a fully signed Transaction by default.

    Parameters

    • Optional requireAllSignatures: boolean

    Returns boolean

  • from(buffer: Buffer | Uint8Array | number[]): Transaction
  • Parse a wire transaction into a Transaction object.

    Parameters

    • buffer: Buffer | Uint8Array | number[]

    Returns Transaction

  • Populate Transaction object from message and signatures

    Parameters

    • message: Message
    • Optional signatures: string[]

    Returns Transaction

Generated using TypeDoc