Polymesh SDK API Reference
beta
beta
  • Globals
  • Classes
    • Account
    • AccountManagement
    • Asset
    • AssetHolders
    • AssetPermissions
    • Assets
    • AuthorizationRequest
    • Authorizations
    • Checkpoint
    • CheckpointSchedule
    • Checkpoints
    • Claims
    • Compliance
    • CorporateAction
    • CorporateActionBase
    • CorporateActions
    • Count
    • CustomPermissionGroup
    • DefaultPortfolio
    • DefaultTrustedClaimIssuer
    • Distributions
    • DividendDistribution
    • Documents
    • Entity
    • Identities
    • Identity
    • IdentityAuthorizations
    • Instruction
    • Issuance
    • KnownPermissionGroup
    • Network
    • NumberedPortfolio
    • Offering
    • Offerings
    • Percentage
    • PermissionGroup
    • Permissions
    • Polymesh
    • PolymeshError
    • PolymeshTransaction
    • PolymeshTransactionBase
    • PolymeshTransactionBatch
    • Portfolio
    • Portfolios
    • Requirements
    • Schedules
    • Settlements
    • Subsidy
    • TickerReservation
    • TransactionQueue
    • TransferRestrictionBase
    • TransferRestrictions
    • TrustedClaimIssuers
    • Venue
  • Enums
  • Interfaces
Powered by GitBook
On this page
  • Type parameters
  • Hierarchy
  • Index
  • Constructors
  • Properties
  • Methods
  • Constructors
  • constructor
  • Properties
  • Optional error
  • status
  • transactions
  • Methods
  • getMinFees
  • onProcessedByMiddleware
  • onStatusChange
  • onTransactionStatusChange
  • run

Was this helpful?

  1. Classes

TransactionQueue

PreviousTickerReservationNextTransferRestrictionBase

Last updated 2 years ago

Was this helpful?

Class to manage procedural transaction queues

Type parameters

▪ ProcedureReturnType

▪ ReturnType

▪ TransactionArgs: unknown[][]

Hierarchy

  • TransactionQueue

Index

Constructors

Properties

Methods

Constructors

constructor

Create a transaction queue

Parameters:

▪ args: object

Name
Type
Description

procedureResult

MaybePostTransactionValue‹ProcedureReturnType›

value that will be returned by the queue after it is run. It can be a {@link PostTransactionValue}

transactions

PolymeshTransactionArray‹TransactionArgs›

list of transactions to be run in this queue

transformer?

undefined | function

function that transforms the procedure's return value before returning it after the queue is run

▪ context: Context

Properties

Optional error

optional error information


status

status of the queue


transactions

• transactions: PolymeshTransactionArray‹TransactionArgs›

transactions that will be run in the queue

Methods

getMinFees

Retrieve a lower bound of the fees required to execute this transaction queue. Transaction fees can be higher at execution time for three reasons:

  • One or more transaction arguments depend on the result of another transaction in the queue. This means fees can't be calculated for said transaction until previous transactions in the queue have run

  • Protocol or gas fees may vary between when this value is fetched and when the transaction is actually executed because of a governance vote

Transaction fees are broken down between those that have to be paid by the signing Account and those that will be paid by third parties. In most cases, the entirety of the fees will be paid by either the signing Account or a single third party Account


onProcessedByMiddleware

▸ onProcessedByMiddleware(listener: function): function

Subscribe to the results of this queue being processed by the harvester (and as such, available to the middleware)

note this event will be fired even if the queue fails

throws if the middleware wasn't enabled when instantiating the SDK client

Parameters:

▪ listener: function

callback function that will be called whenever the middleware is updated with the latest data. If there is an error (timeout or middleware offline) it will be passed to this callback

Parameters:

Name
Type

err?

Returns: function

unsubscribe function

▸ (): void


onStatusChange

▸ onStatusChange(listener: function): function

Subscribe to status changes on the Transaction Queue

Parameters:

▪ listener: function

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

Parameters:

Name
Type

transactionQueue

this

err?

Returns: function

unsubscribe function

▸ (): void


onTransactionStatusChange

▸ onTransactionStatusChange‹Values›(listener: function): function

Subscribe to status changes on individual transactions

Type parameters:

▪ Values: unknown[]

Parameters:

▪ listener: function

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

Parameters:

Name
Type

transaction

transactionQueue

this

Returns: function

unsubscribe function

▸ (): void


run

▸ run(): Promise‹ReturnType›

Run the transactions in the queue in sequential order. If a transaction fails or the user refuses to sign it, one of two things can happen:

  1. If transaction.isCritical === true, the entire queue fails and the corresponding error is stored in this.error as well as thrown

  2. Otherwise, the queue continues executing and the error is stored in transaction.error

Returns: Promise‹ReturnType›

+ new TransactionQueue(args: object, context: Context):

Defined in

Returns:

• error? :

Defined in

• status: = TransactionQueueStatus.Idle

Defined in

Defined in

▸ getMinFees(): Promise‹›

Defined in

Returns: Promise‹›

Defined in

▸ (err?: ): void

Defined in

▸ (transactionQueue: this, err?: ): void

Defined in

▸ (transaction: ‹Values›, transactionQueue: this): void

‹Values›

Defined in

TransactionQueue
src/base/TransactionQueue.ts:92
TransactionQueue
PolymeshError
src/base/TransactionQueue.ts:60
TransactionQueueStatus
src/base/TransactionQueue.ts:55
src/base/TransactionQueue.ts:50
FeesBreakdown
src/base/TransactionQueue.ts:190
FeesBreakdown
src/base/TransactionQueue.ts:343
PolymeshError
src/base/TransactionQueue.ts:306
PolymeshError
src/base/TransactionQueue.ts:323
PolymeshTransactionBase
src/base/TransactionQueue.ts:137
constructor
error
status
transactions
getMinFees
onProcessedByMiddleware
onStatusChange
onTransactionStatusChange
run
PolymeshError
PolymeshError
PolymeshTransactionBase