# PolymeshTransactionBase

Wrapper class for a Polymesh Transaction

## Type parameters

▪ **Args**: *unknown\[]*

▪ **Values**: *unknown\[]*

## Hierarchy

* **PolymeshTransactionBase**

  ↳ [PolymeshTransaction](https://developers.polymath.network/polymesh-sdk-api-reference/docs-v10/classes/polymeshtransaction)

  ↳ [PolymeshTransactionBatch](https://developers.polymath.network/polymesh-sdk-api-reference/docs-v10/classes/polymeshtransactionbatch)

## Index

### Properties

* [blockHash](#optional-blockhash)
* [context](#protected-context)
* [error](#optional-error)
* [isCritical](#iscritical)
* [receipt](#optional-receipt)
* [status](#status)
* [tag](#tag)
* [txHash](#optional-txhash)

### Methods

* [getFees](#getfees)
* [getPayingAccount](#getpayingaccount)
* [onStatusChange](#onstatuschange)
* [run](#run)

## Properties

### `Optional` blockHash

• **blockHash**? : *undefined | string*

*Defined in* [*src/base/PolymeshTransactionBase.ts:50*](https://github.com/PolymathNetwork/polymesh-sdk/blob/959efb76/src/base/PolymeshTransactionBase.ts#L50)

hash of the block where this transaction resides (status: `Succeeded`, `Failed`)

### `Protected` context

• **context**: [*Context*](https://developers.polymath.network/polymesh-sdk-api-reference/docs-v10/classes/context)

*Defined in* [*src/base/PolymeshTransactionBase.ts:113*](https://github.com/PolymathNetwork/polymesh-sdk/blob/959efb76/src/base/PolymeshTransactionBase.ts#L113)

### `Optional` error

• **error**? : [*PolymeshError*](https://developers.polymath.network/polymesh-sdk-api-reference/docs-v10/classes/polymesherror)

*Defined in* [*src/base/PolymeshTransactionBase.ts:35*](https://github.com/PolymathNetwork/polymesh-sdk/blob/959efb76/src/base/PolymeshTransactionBase.ts#L35)

stores errors thrown while running the transaction (status: `Failed`, `Aborted`)

### isCritical

• **isCritical**: *boolean*

*Defined in* [*src/base/PolymeshTransactionBase.ts:55*](https://github.com/PolymathNetwork/polymesh-sdk/blob/959efb76/src/base/PolymeshTransactionBase.ts#L55)

whether this transaction failing makes the entire transaction queue fail or not

### `Optional` receipt

• **receipt**? : *ISubmittableResult*

*Defined in* [*src/base/PolymeshTransactionBase.ts:40*](https://github.com/PolymathNetwork/polymesh-sdk/blob/959efb76/src/base/PolymeshTransactionBase.ts#L40)

stores the transaction receipt (if successful)

### status

• **status**: [*TransactionStatus*](https://developers.polymath.network/polymesh-sdk-api-reference/docs-v10/enums/transactionstatus) = TransactionStatus.Idle

*Defined in* [*src/base/PolymeshTransactionBase.ts:30*](https://github.com/PolymathNetwork/polymesh-sdk/blob/959efb76/src/base/PolymeshTransactionBase.ts#L30)

current status of the transaction

### tag

• **tag**: *TxTag*

*Defined in* [*src/base/PolymeshTransactionBase.ts:60*](https://github.com/PolymathNetwork/polymesh-sdk/blob/959efb76/src/base/PolymeshTransactionBase.ts#L60)

type of transaction represented by this instance (mostly for display purposes)

### `Optional` txHash

• **txHash**? : *undefined | string*

*Defined in* [*src/base/PolymeshTransactionBase.ts:45*](https://github.com/PolymathNetwork/polymesh-sdk/blob/959efb76/src/base/PolymeshTransactionBase.ts#L45)

transaction hash (status: `Running`, `Succeeded`, `Failed`)

## Methods

### getFees

▸ **getFees**(): *Promise‹*[*Fees*](https://developers.polymath.network/polymesh-sdk-api-reference/docs-v10/interfaces/fees) *| null›*

*Defined in* [*src/base/PolymeshTransactionBase.ts:306*](https://github.com/PolymathNetwork/polymesh-sdk/blob/959efb76/src/base/PolymeshTransactionBase.ts#L306)

Get all (protocol and gas) fees associated with this transaction. Returns null if the transaction is not ready yet (this can happen if it depends on the execution of a previous transaction in the queue)

**`note`** this value might change if the transaction is run at a later time. This can be due to a governance vote

**Returns:** *Promise‹*[*Fees*](https://developers.polymath.network/polymesh-sdk-api-reference/docs-v10/interfaces/fees) *| null›*

### getPayingAccount

▸ **getPayingAccount**(): *Promise‹object | null›*

*Defined in* [*src/base/PolymeshTransactionBase.ts:269*](https://github.com/PolymathNetwork/polymesh-sdk/blob/959efb76/src/base/PolymeshTransactionBase.ts#L269)

Retrieve the Account that would pay for the transaction fees if it was run at this moment, as well as the maximum amount that can be charged to it. A null allowance means that there is no limit to that amount

A null return value signifies that the current Account will pay for the fees

**`note`** this value might change if, before running the transaction, the current Account enters (or leaves) a subsidizer relationship

**Returns:** *Promise‹object | null›*

### onStatusChange

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

*Defined in* [*src/base/PolymeshTransactionBase.ts:252*](https://github.com/PolymathNetwork/polymesh-sdk/blob/959efb76/src/base/PolymeshTransactionBase.ts#L252)

Subscribe to status changes

**Parameters:**

▪ **listener**: *function*

callback function that will be called whenever the status changes

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

**Parameters:**

| Name          | Type |
| ------------- | ---- |
| `transaction` | this |

**Returns:** *function*

unsubscribe function

▸ (): *void*

### run

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

*Defined in* [*src/base/PolymeshTransactionBase.ts:139*](https://github.com/PolymathNetwork/polymesh-sdk/blob/959efb76/src/base/PolymeshTransactionBase.ts#L139)

Run the transaction and update its status

**Returns:** *Promise‹void›*
