> For the complete documentation index, see [llms.txt](https://developers.polymath.network/classic-sdk/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://developers.polymath.network/classic-sdk/beta/external-modules/_entities_transactionqueue_.transactionqueue.md).

# TransactionQueue

Class to manage procedural transaction queues

## Type parameters

▪ **Args**: *any*

▪ **ReturnType**: *any*

## Hierarchy

* [Entity](broken://pages/-M-tw-_WeBJcuS0_s0nR)‹void›

  ↳ **TransactionQueue**

## Index

### Constructors

* [constructor](broken://pages/-M-tw-_ttRjEt_eA5M8H#constructor)

### Properties

* [args](broken://pages/-M-tw-_ttRjEt_eA5M8H#args)
* [entityType](broken://pages/-M-tw-_ttRjEt_eA5M8H#entitytype)
* [error](broken://pages/-M-tw-_ttRjEt_eA5M8H#optional-error)
* [fees](broken://pages/-M-tw-_ttRjEt_eA5M8H#fees)
* [procedureType](broken://pages/-M-tw-_ttRjEt_eA5M8H#proceduretype)
* [status](broken://pages/-M-tw-_ttRjEt_eA5M8H#status)
* [transactions](broken://pages/-M-tw-_ttRjEt_eA5M8H#transactions)
* [uid](broken://pages/-M-tw-_ttRjEt_eA5M8H#uid)

### Methods

* [\_refresh](broken://pages/-M-tw-_ttRjEt_eA5M8H#_refresh)
* [onStatusChange](broken://pages/-M-tw-_ttRjEt_eA5M8H#onstatuschange)
* [onTransactionStatusChange](broken://pages/-M-tw-_ttRjEt_eA5M8H#ontransactionstatuschange)
* [run](broken://pages/-M-tw-_ttRjEt_eA5M8H#run)
* [toPojo](broken://pages/-M-tw-_ttRjEt_eA5M8H#topojo)
* [generateId](broken://pages/-M-tw-_ttRjEt_eA5M8H#static-generateid)

## Constructors

### constructor

\+ **new TransactionQueue**(`transactions`: [TransactionSpec](broken://pages/-M-tw-d2sxRCDJJsD8Q5)\[], `fees`: [Fees](broken://pages/-M-tw-cRf8gW2vbD2nnc), `returnValue`: [MaybeResolver](/classic-sdk/beta/external-modules/_types_index_.md#mayberesolver)‹ReturnType›, `args`: Args, `procedureType`: [ProcedureType](broken://pages/-M-tw-awanLJUxGQ6Ike)): [*TransactionQueue*](broken://pages/-M-tw-_ttRjEt_eA5M8H)

*Defined in* [*src/entities/TransactionQueue.ts:95*](https://github.com/PolymathNetwork/polymath-sdk/blob/550676f/src/entities/TransactionQueue.ts#L95)

Create a transaction queue

**Parameters:**

| Name            | Type                                                                                           | Default                        | Description                                                                                     |
| --------------- | ---------------------------------------------------------------------------------------------- | ------------------------------ | ----------------------------------------------------------------------------------------------- |
| `transactions`  | [TransactionSpec](broken://pages/-M-tw-d2sxRCDJJsD8Q5)\[]                                      | -                              | list of transactions to be run in this queue                                                    |
| `fees`          | [Fees](broken://pages/-M-tw-cRf8gW2vbD2nnc)                                                    | -                              | -                                                                                               |
| `returnValue`   | [MaybeResolver](/classic-sdk/beta/external-modules/_types_index_.md#mayberesolver)‹ReturnType› | -                              | value that will be returned by the queue after it is run. It can be a Post Transaction Resolver |
| `args`          | Args                                                                                           | -                              | arguments with which the Procedure that generated this queue was instanced                      |
| `procedureType` | [ProcedureType](broken://pages/-M-tw-awanLJUxGQ6Ike)                                           | ProcedureType.UnnamedProcedure | -                                                                                               |

**Returns:** [*TransactionQueue*](broken://pages/-M-tw-_ttRjEt_eA5M8H)

## Properties

### args

• **args**: *Args*

*Defined in* [*src/entities/TransactionQueue.ts:65*](https://github.com/PolymathNetwork/polymath-sdk/blob/550676f/src/entities/TransactionQueue.ts#L65)

arguments provided to the transaction queue

### entityType

• **entityType**: *string* = "transactionQueue"

*Defined in* [*src/entities/TransactionQueue.ts:40*](https://github.com/PolymathNetwork/polymath-sdk/blob/550676f/src/entities/TransactionQueue.ts#L40)

type of entity

### `Optional` error

• **error**? : [*Error*](broken://pages/-M-tw-_TDPVhHNsUafkc#static-error)

*Defined in* [*src/entities/TransactionQueue.ts:70*](https://github.com/PolymathNetwork/polymath-sdk/blob/550676f/src/entities/TransactionQueue.ts#L70)

optional error information

### fees

• **fees**: [*Fees*](broken://pages/-M-tw-cRf8gW2vbD2nnc)

*Defined in* [*src/entities/TransactionQueue.ts:75*](https://github.com/PolymathNetwork/polymath-sdk/blob/550676f/src/entities/TransactionQueue.ts#L75)

total cost of running the transactions in the queue. This does not include gas

### procedureType

• **procedureType**: [*ProcedureType*](broken://pages/-M-tw-awanLJUxGQ6Ike)

*Defined in* [*src/entities/TransactionQueue.ts:45*](https://github.com/PolymathNetwork/polymath-sdk/blob/550676f/src/entities/TransactionQueue.ts#L45)

type of procedure being run

### status

• **status**: *TransactionQueueStatus* = TransactionQueueStatus.Idle

*Defined in* [*src/entities/TransactionQueue.ts:60*](https://github.com/PolymathNetwork/polymath-sdk/blob/550676f/src/entities/TransactionQueue.ts#L60)

status of the transaction queue

### transactions

• **transactions**: [*PolyTransaction*](broken://pages/-M-tw-_Zu-SuwEUJmlzy)*\[]*

*Defined in* [*src/entities/TransactionQueue.ts:55*](https://github.com/PolymathNetwork/polymath-sdk/blob/550676f/src/entities/TransactionQueue.ts#L55)

array of poly transactions

### uid

• **uid**: *string*

*Overrides* [*Entity*](broken://pages/-M-tw-_WeBJcuS0_s0nR)*.*[*uid*](broken://pages/-M-tw-_WeBJcuS0_s0nR#abstract-uid)

*Defined in* [*src/entities/TransactionQueue.ts:50*](https://github.com/PolymathNetwork/polymath-sdk/blob/550676f/src/entities/TransactionQueue.ts#L50)

generated transaction queue unique identifier

## Methods

### \_refresh

▸ **\_refresh**(): *void*

*Overrides* [*Entity*](broken://pages/-M-tw-_WeBJcuS0_s0nR)*.*[*\_refresh*](broken://pages/-M-tw-_WeBJcuS0_s0nR#abstract-_refresh)

*Defined in* [*src/entities/TransactionQueue.ts:269*](https://github.com/PolymathNetwork/polymath-sdk/blob/550676f/src/entities/TransactionQueue.ts#L269)

Hydrate the entity

**Returns:** *void*

### onStatusChange

▸ **onStatusChange**(`listener`: function): *(Anonymous function)*

*Defined in* [*src/entities/TransactionQueue.ts:188*](https://github.com/PolymathNetwork/polymath-sdk/blob/550676f/src/entities/TransactionQueue.ts#L188)

Subscribe to status changes on the Transaction Queue

**Parameters:**

▪ **listener**: *function*

callback function that will be called whenever the Transaction Queue's status changes

▸ (`transactionQueue`: this): *void*

**Parameters:**

| Name               | Type |
| ------------------ | ---- |
| `transactionQueue` | this |

**Returns:** *(Anonymous function)*

unsubscribe function

### onTransactionStatusChange

▸ **onTransactionStatusChange**(`listener`: function): *(Anonymous function)*

*Defined in* [*src/entities/TransactionQueue.ts:203*](https://github.com/PolymathNetwork/polymath-sdk/blob/550676f/src/entities/TransactionQueue.ts#L203)

Subscribe to status changes on individual transactions

**Parameters:**

▪ **listener**: *function*

callback function that will be called whenever the individual transaction's status changes

▸ (`transaction`: [PolyTransaction](broken://pages/-M-tw-_Zu-SuwEUJmlzy), `transactionQueue`: this): *void*

**Parameters:**

| Name               | Type                                                   |
| ------------------ | ------------------------------------------------------ |
| `transaction`      | [PolyTransaction](broken://pages/-M-tw-_Zu-SuwEUJmlzy) |
| `transactionQueue` | this                                                   |

**Returns:** *(Anonymous function)*

unsubscribe function

### run

▸ **run**(): *Promise‹ReturnType›*

*Defined in* [*src/entities/TransactionQueue.ts:155*](https://github.com/PolymathNetwork/polymath-sdk/blob/550676f/src/entities/TransactionQueue.ts#L155)

Run the transactions in the queue

**Returns:** *Promise‹ReturnType›*

### toPojo

▸ **toPojo**(): *object*

*Overrides* [*Entity*](broken://pages/-M-tw-_WeBJcuS0_s0nR)*.*[*toPojo*](broken://pages/-M-tw-_WeBJcuS0_s0nR#abstract-topojo)

*Defined in* [*src/entities/TransactionQueue.ts:139*](https://github.com/PolymathNetwork/polymath-sdk/blob/550676f/src/entities/TransactionQueue.ts#L139)

Convert entity to a POJO (Plain Old Javascript Object)

**Returns:** *object*

* **args**: *Args*
* **fees**: [*Fees*](broken://pages/-M-tw-cRf8gW2vbD2nnc)
* **procedureType**: [*ProcedureType*](broken://pages/-M-tw-awanLJUxGQ6Ike)
* **status**: *TransactionQueueStatus*
* **transactions**: *object\[]* = transactions.map(transaction => transaction.toPojo())
* **uid**: *string*

### `Static` generateId

▸ **generateId**(): *string*

*Defined in* [*src/entities/TransactionQueue.ts:31*](https://github.com/PolymathNetwork/polymath-sdk/blob/550676f/src/entities/TransactionQueue.ts#L31)

Generate UUID for this Transaction Queue

**Returns:** *string*
