    import {Transaction} from '@solana/web3'

public class | source

# Transaction

Transaction class

## Static Method Summary

Static Public Methods
public static | from(buffer: Buffer): Transaction Parse a wire transaction into a Transaction object. |

## Constructor Summary

Public Constructor
public | constructor(opts: TransactionCtorFields) Construct an empty Transaction |

## Member Summary

Public Members
public | fee: number Fee for this transaction |
public | instructions: Array<TransactionInstruction> The instructions to atomically execute |
public | lastId: TransactionId A recent transaction id. |
public get | signature: Buffer | nullliteral The first (primary) Transaction signature |
public | signatures: Array<SignaturePubkeyPair> Signatures for the transaction. |

## Method Summary

Public Methods
public | add(items: ...Array<Transaction|TransactionInstructionCtorFields>): Transaction Add one or more instructions to this Transaction |
public | addSigner(signer: Account) Fill in a signature for a partially signed Transaction. |
public | serialize(): Buffer Serialize the Transaction in the wire format. |
public | sign(signers: ...Array<Account>) Sign the Transaction with the specified accounts. |
public | signPartial(partialSigners: ...Array<PublicKey|Account>) Partially sign a Transaction with the specified accounts. |

## Static Public Methods

### public static from(buffer: Buffer): Transaction source

Parse a wire transaction into a Transaction object.

#### Params:

Name | Type | Attribute | Description
buffer | Buffer |  |

#### Return:

Transaction

## Public Constructors

### public constructor(opts: TransactionCtorFields) source

Construct an empty Transaction

#### Params:

Name | Type | Attribute | Description
opts | TransactionCtorFields |  |

## Public Members

### public fee: number source

Fee for this transaction

### public instructions: Array<TransactionInstruction> source

The instructions to atomically execute

### public lastId: TransactionId source

A recent transaction id. Must be populated by the caller

### public get signature: Buffer | nullliteral source

The first (primary) Transaction signature

### public signatures: Array<SignaturePubkeyPair> source

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

## Public Methods

### public add(items: ...Array<Transaction|TransactionInstructionCtorFields>): Transaction source

Add one or more instructions to this Transaction

#### Params:

Name | Type | Attribute | Description
items | ...Array<Transaction|TransactionInstructionCtorFields> |  |

#### Return:

Transaction

### public addSigner(signer: Account) source

Fill in a signature for a partially signed Transaction. The `signer` must be the corresponding `Account` for a `PublicKey` that was previously provided to `signPartial`

#### Params:

Name | Type | Attribute | Description
signer | Account |  |

### public serialize(): Buffer source

Serialize the Transaction in the wire format.

The Transaction must have a valid `signature` before invoking this method

#### Return:

Buffer

### public sign(signers: ...Array<Account>) source

Sign the Transaction with the specified accounts. Multiple signatures may be applied to a Transaction. The first signature is considered "primary" and is used when testing for Transaction confirmation.

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 `lastId` before invoking this method

#### Params:

Name | Type | Attribute | Description
signers | ...Array<Account> |  |

### public signPartial(partialSigners: ...Array<PublicKey|Account>) source

Partially sign a Transaction with the specified accounts. The `Account` inputs will be used to sign the Transaction immediately, while any `PublicKey` inputs will be referenced in the signed Transaction but need to be filled in later by calling `addSigner()` with the matching `Account`.

All the caveats from the `sign` method apply to `signPartial`

#### Params:

Name | Type | Attribute | Description
partialSigners | ...Array<PublicKey|Account> |  |