Skip to main content
Version: v29.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:82

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:87

date at which the Corporate Action was created

Inherited from

CorporateActionBase.declarationDate


defaultTaxWithholding

defaultTaxWithholding: BigNumber

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

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:92

brief text description of the Corporate Action

Inherited from

CorporateActionBase.description


expiryDate

expiryDate: null | Date

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:77

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:98

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:109

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


getParticipant()

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

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<null | DistributionParticipant>

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:159

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