Skip to main content
Version: 31.0.x

Class: DividendDistribution

Defined in: src/api/entities/DividendDistribution/index.ts:86

Represents a Corporate Action via which an Asset issuer wishes to distribute dividends between a subset of the Asset Holders (targets)

Extends​

Properties​

asset​

asset: FungibleAsset

Defined in: src/api/entities/CorporateActionBase/index.ts:85

Asset affected by this Corporate Action

Inherited from​

CorporateActionBase.asset


currency​

currency: string

Defined in: src/api/entities/DividendDistribution/index.ts:95

Asset ID of the currency in which dividends are being distributed


declarationDate​

declarationDate: Date

Defined in: src/api/entities/CorporateActionBase/index.ts:90

date at which the Corporate Action was created

Inherited from​

CorporateActionBase.declarationDate


defaultTaxWithholding​

defaultTaxWithholding: BigNumber

Defined in: src/api/entities/CorporateActionBase/index.ts:106

default percentage (0-100) of tax withholding for this Corporate Action

Inherited from​

CorporateActionBase.defaultTaxWithholding


description​

description: string

Defined in: src/api/entities/CorporateActionBase/index.ts:95

brief text description of the Corporate Action

Inherited from​

CorporateActionBase.description


expiryDate​

expiryDate: Date | null

Defined in: src/api/entities/DividendDistribution/index.ts:111

date after which dividends can no longer be paid/reclaimed. A null value means the distribution never expires


id​

id: BigNumber

Defined in: src/api/entities/CorporateActionBase/index.ts:80

internal Corporate Action ID

Inherited from​

CorporateActionBase.id


maxAmount​

maxAmount: BigNumber

Defined in: src/api/entities/DividendDistribution/index.ts:106

maximum amount of currency to be distributed. Distributions are "first come, first served", so funds can be depleted before every Asset Holder receives their corresponding amount


origin​

origin: DefaultPortfolio | NumberedPortfolio

Defined in: src/api/entities/DividendDistribution/index.ts:90

Portfolio from which the dividends will be distributed


paymentDate​

paymentDate: Date

Defined in: src/api/entities/DividendDistribution/index.ts:116

date starting from which dividends can be paid/reclaimed


perShare​

perShare: BigNumber

Defined in: src/api/entities/DividendDistribution/index.ts:100

amount of currency to pay for each share held by the Asset Holders


targets​

targets: CorporateActionTargets

Defined in: src/api/entities/CorporateActionBase/index.ts:101

Asset Holder Identities related to this Corporate action. If the treatment is Exclude, the Identities in the array will not be targeted by the Action, Identities not in the array will be targeted, and vice versa

Inherited from​

CorporateActionBase.targets


taxWithholdings​

taxWithholdings: TaxWithholding[]

Defined in: src/api/entities/CorporateActionBase/index.ts:112

percentage (0-100) of tax withholding per Identity. Any Identity not present in this array uses the default tax withholding percentage

Inherited from​

CorporateActionBase.taxWithholdings


uuid​

uuid: string

Defined in: src/api/entities/Entity.ts:46

Inherited from​

CorporateActionBase.uuid

Methods​

checkpoint()​

checkpoint(): Promise<Checkpoint | CheckpointSchedule>

Defined in: src/api/entities/DividendDistribution/index.ts:233

Retrieve the Checkpoint associated with this Dividend Distribution. If the Checkpoint is scheduled and has not been created yet, the corresponding CheckpointSchedule is returned instead

Returns​

Promise<Checkpoint | CheckpointSchedule>

Overrides​

CorporateActionBase.checkpoint


claim()​

claim(opts?: ProcedureOpts): Promise<GenericPolymeshTransaction<void, void>>

Defined in: src/api/entities/DividendDistribution/index.ts:196

Claim the Dividends corresponding to the signing Identity

Parameters​

ParameterType

opts?

ProcedureOpts

Returns​

Promise<GenericPolymeshTransaction<void, void>>

Note​

if currency is indivisible, the Identity's share will be rounded down to the nearest integer (after taxes are withheld)

Note​

this method is of type NoArgsProcedureMethod, which means you can call claim.checkAuthorization on it to see whether the signing Account and Identity have the required roles and permissions to run it


details()​

details(): Promise<DividendDistributionDetails>

Defined in: src/api/entities/DividendDistribution/index.ts:261

Retrieve details associated with this Dividend Distribution

Returns​

Promise<DividendDistributionDetails>


exists()​

exists(): Promise<boolean>

Defined in: src/api/entities/DividendDistribution/index.ts:252

Retrieve whether the Distribution exists

Returns​

Promise<boolean>

Overrides​

CorporateActionBase.exists


getDocuments()​

getDocuments(): Promise<AssetDocumentWithId[]>

Defined in: src/api/entities/CorporateActionBase/index.ts:167

Retrieve the documents linked to this Corporate Action

Returns​

Promise<AssetDocumentWithId[]>

Inherited from​

CorporateActionBase.getDocuments


getParticipant()​

getParticipant(args?: object): Promise<DistributionParticipant | null>

Defined in: src/api/entities/DividendDistribution/index.ts:354

Retrieve an Identity that is entitled to dividends in this Distribution (participant), the amount it is entitled to and whether it has been paid or not

Parameters​

ParameterTypeDescription

args?

{ identity: string | Identity; }

‐

args.identity?

string | Identity

defaults to the signing Identity

Returns​

Promise<DistributionParticipant | null>

Note​

if the Distribution Checkpoint hasn't been created yet, the result will be null. This is because the Distribution participant's corresponding payment cannot be determined without a Checkpoint


getParticipants()​

getParticipants(): Promise<DistributionParticipant[]>

Defined in: src/api/entities/DividendDistribution/index.ts:287

Retrieve a comprehensive list of all Identities that are entitled to dividends in this Distribution (participants), the amount they are entitled to and whether they have been paid or not

Returns​

Promise<DistributionParticipant[]>

Note​

this request can take a lot of time with large amounts of Asset Holders

Note​

if the Distribution Checkpoint hasn't been created yet, the result will be an empty array. This is because the Distribution participants cannot be determined without a Checkpoint


getPaymentHistory()​

getPaymentHistory(opts?: object): Promise<ResultSet<DistributionPayment>>

Defined in: src/api/entities/DividendDistribution/index.ts:493

Retrieve the payment history for this Distribution

Parameters​

ParameterType

opts

{ size?: BigNumber; start?: BigNumber; }

opts.size?

BigNumber

opts.start?

BigNumber

Returns​

Promise<ResultSet<DistributionPayment>>

Note​

uses the middleware V2

Note​

supports pagination


getWithheldTax()​

getWithheldTax(): Promise<BigNumber>

Defined in: src/api/entities/DividendDistribution/index.ts:452

Retrieve the amount of taxes that have been withheld up to this point in this Distribution

Returns​

Promise<BigNumber>

Note​

uses the middlewareV2


isEqual()​

isEqual(entity: Entity<unknown, unknown>): boolean

Defined in: src/api/entities/Entity.ts:61

Determine whether this Entity is the same as another one

Parameters​

ParameterType

entity

Entity<unknown, unknown>

Returns​

boolean

Inherited from​

CorporateActionBase.isEqual


linkDocuments()​

linkDocuments(args: LinkCaDocsParams, opts?: ProcedureOpts): Promise<GenericPolymeshTransaction<void, void>>

Defined in: src/api/entities/CorporateActionBase/index.ts:162

Link a list of documents to this corporate action

Parameters​

ParameterType

args

LinkCaDocsParams

opts?

ProcedureOpts

Returns​

Promise<GenericPolymeshTransaction<void, void>>

Note​

any previous links are removed in favor of the new list

Note​

this method is of type ProcedureMethod, which means you can call linkDocuments.checkAuthorization on it to see whether the signing Account and Identity have the required roles and permissions to run it

Inherited from​

CorporateActionBase.linkDocuments


modifyCheckpoint()​

modifyCheckpoint(args: Modify<ModifyCaCheckpointParams, { checkpoint: InputCaCheckpoint; }>, opts?: ProcedureOpts): Promise<GenericPolymeshTransaction<void, void>>

Defined in: src/api/entities/DividendDistribution/index.ts:201

Modify the Distribution's Checkpoint

Parameters​

ParameterType

args

Modify<ModifyCaCheckpointParams, { checkpoint: InputCaCheckpoint; }>

opts?

ProcedureOpts

Returns​

Promise<GenericPolymeshTransaction<void, void>>

Note​

this method is of type ProcedureMethod, which means you can call modifyCheckpoint.checkAuthorization on it to see whether the signing Account and Identity have the required roles and permissions to run it

Overrides​

CorporateActionBase.modifyCheckpoint


pay()​

pay(args: PayDividendsParams, opts?: ProcedureOpts): Promise<GenericPolymeshTransaction<void, void>>

Defined in: src/api/entities/DividendDistribution/index.ts:217

Transfer the corresponding share of the dividends to a list of Identities

Parameters​

ParameterType

args

PayDividendsParams

opts?

ProcedureOpts

Returns​

Promise<GenericPolymeshTransaction<void, void>>

Note​

due to performance issues, we do not validate that the distribution has enough remaining funds to pay the corresponding amount to the supplied Identities

Note​

if currency is indivisible, the Identity's share will be rounded down to the nearest integer (after taxes are withheld)

Note​

this method is of type ProcedureMethod, which means you can call pay.checkAuthorization on it to see whether the signing Account and Identity have the required roles and permissions to run it


reclaimFunds()​

reclaimFunds(opts?: ProcedureOpts): Promise<GenericPolymeshTransaction<void, void>>

Defined in: src/api/entities/DividendDistribution/index.ts:227

Reclaim any remaining funds back to the origin Portfolio. This can only be done after the Distribution has expired

Parameters​

ParameterType

opts?

ProcedureOpts

Returns​

Promise<GenericPolymeshTransaction<void, void>>

Note​

withheld taxes are also reclaimed in the same transaction

Note​

required roles:

  • Origin Portfolio Custodian

Note​

this method is of type NoArgsProcedureMethod, which means you can call reclaimFunds.checkAuthorization on it to see whether the signing Account and Identity have the required roles and permissions to run it


toHuman()​

toHuman(): HumanReadable

Defined in: src/api/entities/DividendDistribution/index.ts:608

Return the Dividend Distribution's static data

Returns​

HumanReadable

Overrides​

CorporateActionBase.toHuman


generateUuid()​

static generateUuid<Identifiers>(identifiers: Identifiers): string

Defined in: src/api/entities/Entity.ts:14

Generate the Entity's UUID from its identifying properties

Type Parameters​

Type Parameter

Identifiers

Parameters​

ParameterTypeDescription

identifiers

Identifiers

‐

Returns​

string

Inherited from​

CorporateActionBase.generateUuid


unserialize()​

static unserialize<Identifiers>(serialized: string): Identifiers

Defined in: src/api/entities/Entity.ts:23

Unserialize a UUID into its Unique Identifiers

Type Parameters​

Type Parameter

Identifiers

Parameters​

ParameterTypeDescription

serialized

string

UUID to unserialize

Returns​

Identifiers

Inherited from​

CorporateActionBase.unserialize