# CorporateAction

Represents an action initiated by the issuer of an Asset which may affect the positions of the Asset Holders

## Hierarchy

↳ [CorporateActionBase](https://developers.polymath.network/polymesh-sdk-api-reference/docs-beta/classes/corporateactionbase)

↳ **CorporateAction**

## Index

### Properties

* [asset](#asset)
* [context](#protected-context)
* [declarationDate](#declarationdate)
* [defaultTaxWithholding](#defaulttaxwithholding)
* [description](#description)
* [id](#id)
* [kind](#protected-kind)
* [targets](#targets)
* [taxWithholdings](#taxwithholdings)
* [uuid](#uuid)

### Methods

* [checkpoint](#checkpoint)
* [exists](#exists)
* [isEqual](#isequal)
* [linkDocuments](#linkdocuments)
* [modifyCheckpoint](#modifycheckpoint)
* [toHuman](#tohuman)
* [generateUuid](#static-generateuuid)
* [unserialize](#static-unserialize)

## Properties

### asset

• **asset**: [*Asset*](https://developers.polymath.network/polymesh-sdk-api-reference/docs-beta/classes/asset)

*Inherited from* [*CorporateActionBase*](https://developers.polymath.network/polymesh-sdk-api-reference/docs-beta/classes/corporateactionbase)*.*[*asset*](https://developers.polymath.network/polymesh-sdk-api-reference/docs-beta/corporateactionbase#asset)

*Defined in* [*src/api/entities/CorporateActionBase/index.ts:77*](https://github.com/PolymathNetwork/polymesh-sdk/blob/31a16a34/src/api/entities/CorporateActionBase/index.ts#L77)

Asset affected by this Corporate Action

***

### `Protected` context

• **context**: *Context*

*Inherited from* [*CheckpointSchedule*](https://developers.polymath.network/polymesh-sdk-api-reference/docs-beta/classes/checkpointschedule)*.*[*context*](https://developers.polymath.network/polymesh-sdk-api-reference/docs-beta/checkpointschedule#protected-context)

*Defined in* [*src/api/entities/Entity.ts:48*](https://github.com/PolymathNetwork/polymesh-sdk/blob/31a16a34/src/api/entities/Entity.ts#L48)

***

### declarationDate

• **declarationDate**: *Date*

*Inherited from* [*CorporateActionBase*](https://developers.polymath.network/polymesh-sdk-api-reference/docs-beta/classes/corporateactionbase)*.*[*declarationDate*](https://developers.polymath.network/polymesh-sdk-api-reference/docs-beta/corporateactionbase#declarationdate)

*Defined in* [*src/api/entities/CorporateActionBase/index.ts:82*](https://github.com/PolymathNetwork/polymesh-sdk/blob/31a16a34/src/api/entities/CorporateActionBase/index.ts#L82)

date at which the Corporate Action was created

***

### defaultTaxWithholding

• **defaultTaxWithholding**: *BigNumber*

*Inherited from* [*CorporateActionBase*](https://developers.polymath.network/polymesh-sdk-api-reference/docs-beta/classes/corporateactionbase)*.*[*defaultTaxWithholding*](https://developers.polymath.network/polymesh-sdk-api-reference/docs-beta/corporateactionbase#defaulttaxwithholding)

*Defined in* [*src/api/entities/CorporateActionBase/index.ts:98*](https://github.com/PolymathNetwork/polymesh-sdk/blob/31a16a34/src/api/entities/CorporateActionBase/index.ts#L98)

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

***

### description

• **description**: *string*

*Inherited from* [*CorporateActionBase*](https://developers.polymath.network/polymesh-sdk-api-reference/docs-beta/classes/corporateactionbase)*.*[*description*](https://developers.polymath.network/polymesh-sdk-api-reference/docs-beta/corporateactionbase#description)

*Defined in* [*src/api/entities/CorporateActionBase/index.ts:87*](https://github.com/PolymathNetwork/polymesh-sdk/blob/31a16a34/src/api/entities/CorporateActionBase/index.ts#L87)

brief text description of the Corporate Action

***

### id

• **id**: *BigNumber*

*Inherited from* [*CorporateActionBase*](https://developers.polymath.network/polymesh-sdk-api-reference/docs-beta/classes/corporateactionbase)*.*[*id*](https://developers.polymath.network/polymesh-sdk-api-reference/docs-beta/corporateactionbase#id)

*Defined in* [*src/api/entities/CorporateActionBase/index.ts:72*](https://github.com/PolymathNetwork/polymesh-sdk/blob/31a16a34/src/api/entities/CorporateActionBase/index.ts#L72)

internal Corporate Action ID

***

### `Protected` kind

• **kind**: [*CorporateActionKind*](https://github.com/PolymathNetwork/polymesh-sdk/blob/docs/beta/docs/enums/corporateactionkind.md)

*Inherited from* [*CorporateActionBase*](https://developers.polymath.network/polymesh-sdk-api-reference/docs-beta/classes/corporateactionbase)*.*[*kind*](https://developers.polymath.network/polymesh-sdk-api-reference/docs-beta/corporateactionbase#protected-kind)

*Defined in* [*src/api/entities/CorporateActionBase/index.ts:109*](https://github.com/PolymathNetwork/polymesh-sdk/blob/31a16a34/src/api/entities/CorporateActionBase/index.ts#L109)

type of corporate action being represented

***

### targets

• **targets**: [*CorporateActionTargets*](https://github.com/PolymathNetwork/polymesh-sdk/blob/docs/beta/docs/interfaces/corporateactiontargets.md)

*Inherited from* [*CorporateActionBase*](https://developers.polymath.network/polymesh-sdk-api-reference/docs-beta/classes/corporateactionbase)*.*[*targets*](https://developers.polymath.network/polymesh-sdk-api-reference/docs-beta/corporateactionbase#targets)

*Defined in* [*src/api/entities/CorporateActionBase/index.ts:93*](https://github.com/PolymathNetwork/polymesh-sdk/blob/31a16a34/src/api/entities/CorporateActionBase/index.ts#L93)

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

***

### taxWithholdings

• **taxWithholdings**: [*TaxWithholding*](https://github.com/PolymathNetwork/polymesh-sdk/blob/docs/beta/docs/interfaces/taxwithholding.md)*\[]*

*Inherited from* [*CorporateActionBase*](https://developers.polymath.network/polymesh-sdk-api-reference/docs-beta/classes/corporateactionbase)*.*[*taxWithholdings*](https://developers.polymath.network/polymesh-sdk-api-reference/docs-beta/corporateactionbase#taxwithholdings)

*Defined in* [*src/api/entities/CorporateActionBase/index.ts:104*](https://github.com/PolymathNetwork/polymesh-sdk/blob/31a16a34/src/api/entities/CorporateActionBase/index.ts#L104)

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

***

### uuid

• **uuid**: *string*

*Inherited from* [*CheckpointSchedule*](https://developers.polymath.network/polymesh-sdk-api-reference/docs-beta/classes/checkpointschedule)*.*[*uuid*](https://developers.polymath.network/polymesh-sdk-api-reference/docs-beta/checkpointschedule#uuid)

*Defined in* [*src/api/entities/Entity.ts:46*](https://github.com/PolymathNetwork/polymesh-sdk/blob/31a16a34/src/api/entities/Entity.ts#L46)

## Methods

### checkpoint

▸ **checkpoint**(): *Promise‹*[*Checkpoint*](https://developers.polymath.network/polymesh-sdk-api-reference/docs-beta/classes/checkpoint) *|* [*CheckpointSchedule*](https://developers.polymath.network/polymesh-sdk-api-reference/docs-beta/classes/checkpointschedule) *| null›*

*Inherited from* [*CorporateActionBase*](https://developers.polymath.network/polymesh-sdk-api-reference/docs-beta/classes/corporateactionbase)*.*[*checkpoint*](https://developers.polymath.network/polymesh-sdk-api-reference/docs-beta/corporateactionbase#checkpoint)

*Defined in* [*src/api/entities/CorporateActionBase/index.ts:183*](https://github.com/PolymathNetwork/polymesh-sdk/blob/31a16a34/src/api/entities/CorporateActionBase/index.ts#L183)

Retrieve the Checkpoint associated with this Corporate Action. If the Checkpoint is scheduled and has not been created yet, the corresponding CheckpointSchedule is returned instead. A null value means the Corporate Action was created without an associated Checkpoint

**Returns:** *Promise‹*[*Checkpoint*](https://developers.polymath.network/polymesh-sdk-api-reference/docs-beta/classes/checkpoint) *|* [*CheckpointSchedule*](https://developers.polymath.network/polymesh-sdk-api-reference/docs-beta/classes/checkpointschedule) *| null›*

***

### exists

▸ **exists**(): *Promise‹boolean›*

*Inherited from* [*CorporateActionBase*](https://developers.polymath.network/polymesh-sdk-api-reference/docs-beta/classes/corporateactionbase)*.*[*exists*](https://developers.polymath.network/polymesh-sdk-api-reference/docs-beta/corporateactionbase#exists)

*Overrides* [*Entity*](https://developers.polymath.network/polymesh-sdk-api-reference/docs-beta/classes/entity)*.*[*exists*](https://developers.polymath.network/polymesh-sdk-api-reference/docs-beta/entity#abstract-exists)

*Defined in* [*src/api/entities/CorporateActionBase/index.ts:172*](https://github.com/PolymathNetwork/polymesh-sdk/blob/31a16a34/src/api/entities/CorporateActionBase/index.ts#L172)

Determine whether this Corporate Action exists on chain

**Returns:** *Promise‹boolean›*

***

### isEqual

▸ **isEqual**(`entity`: [Entity](https://developers.polymath.network/polymesh-sdk-api-reference/docs-beta/classes/entity)‹unknown, unknown›): *boolean*

*Inherited from* [*CheckpointSchedule*](https://developers.polymath.network/polymesh-sdk-api-reference/docs-beta/classes/checkpointschedule)*.*[*isEqual*](https://developers.polymath.network/polymesh-sdk-api-reference/docs-beta/checkpointschedule#isequal)

*Defined in* [*src/api/entities/Entity.ts:61*](https://github.com/PolymathNetwork/polymesh-sdk/blob/31a16a34/src/api/entities/Entity.ts#L61)

Determine whether this Entity is the same as another one

**Parameters:**

| Name     | Type                                                                                                                |
| -------- | ------------------------------------------------------------------------------------------------------------------- |
| `entity` | [Entity](https://developers.polymath.network/polymesh-sdk-api-reference/docs-beta/classes/entity)‹unknown, unknown› |

**Returns:** *boolean*

***

### linkDocuments

▸ **linkDocuments**(`args`: [LinkCaDocsParams](https://github.com/PolymathNetwork/polymesh-sdk/blob/docs/beta/docs/interfaces/linkcadocsparams.md), `opts?`: [ProcedureOpts](https://github.com/PolymathNetwork/polymesh-sdk/blob/docs/beta/docs/interfaces/procedureopts.md)): *Promise‹*[*TransactionQueue*](https://developers.polymath.network/polymesh-sdk-api-reference/docs-beta/classes/transactionqueue)*‹void››*

*Inherited from* [*CorporateActionBase*](https://developers.polymath.network/polymesh-sdk-api-reference/docs-beta/classes/corporateactionbase)*.*[*linkDocuments*](https://developers.polymath.network/polymesh-sdk-api-reference/docs-beta/corporateactionbase#linkdocuments)

*Defined in* [*src/api/entities/CorporateActionBase/index.ts:152*](https://github.com/PolymathNetwork/polymesh-sdk/blob/31a16a34/src/api/entities/CorporateActionBase/index.ts#L152)

Link a list of documents to this corporate action

**`note`** any previous links are removed in favor of the new list

**`note`** this method is of type [ProcedureMethod](https://github.com/PolymathNetwork/polymesh-sdk/blob/docs/beta/docs/interfaces/proceduremethod.md), which means you can call [linkDocuments.checkAuthorization](https://github.com/PolymathNetwork/polymesh-sdk/blob/docs/beta/docs/interfaces/proceduremethod.md#checkauthorization) on it to see whether the signing Account and Identity have the required roles and permissions to run it

**Parameters:**

| Name    | Type                                                                                                                   |
| ------- | ---------------------------------------------------------------------------------------------------------------------- |
| `args`  | [LinkCaDocsParams](https://github.com/PolymathNetwork/polymesh-sdk/blob/docs/beta/docs/interfaces/linkcadocsparams.md) |
| `opts?` | [ProcedureOpts](https://github.com/PolymathNetwork/polymesh-sdk/blob/docs/beta/docs/interfaces/procedureopts.md)       |

**Returns:** *Promise‹*[*TransactionQueue*](https://developers.polymath.network/polymesh-sdk-api-reference/docs-beta/classes/transactionqueue)*‹void››*

***

### modifyCheckpoint

▸ **modifyCheckpoint**(`args`: ModifyCaCheckpointParams, `opts?`: [ProcedureOpts](https://github.com/PolymathNetwork/polymesh-sdk/blob/docs/beta/docs/interfaces/procedureopts.md)): *Promise‹*[*TransactionQueue*](https://developers.polymath.network/polymesh-sdk-api-reference/docs-beta/classes/transactionqueue)*‹void››*

*Overrides* [*CorporateActionBase*](https://developers.polymath.network/polymesh-sdk-api-reference/docs-beta/classes/corporateactionbase)*.*[*modifyCheckpoint*](https://developers.polymath.network/polymesh-sdk-api-reference/docs-beta/corporateactionbase#abstract-modifycheckpoint)

*Defined in* [*src/api/entities/CorporateAction.ts:72*](https://github.com/PolymathNetwork/polymesh-sdk/blob/31a16a34/src/api/entities/CorporateAction.ts#L72)

Modify the Corporate Action's Checkpoint

**`note`** this method is of type [ProcedureMethod](https://github.com/PolymathNetwork/polymesh-sdk/blob/docs/beta/docs/interfaces/proceduremethod.md), which means you can call [modifyCheckpoint.checkAuthorization](https://github.com/PolymathNetwork/polymesh-sdk/blob/docs/beta/docs/interfaces/proceduremethod.md#checkauthorization) on it to see whether the signing Account and Identity have the required roles and permissions to run it

**Parameters:**

| Name    | Type                                                                                                             |
| ------- | ---------------------------------------------------------------------------------------------------------------- |
| `args`  | ModifyCaCheckpointParams                                                                                         |
| `opts?` | [ProcedureOpts](https://github.com/PolymathNetwork/polymesh-sdk/blob/docs/beta/docs/interfaces/procedureopts.md) |

**Returns:** *Promise‹*[*TransactionQueue*](https://developers.polymath.network/polymesh-sdk-api-reference/docs-beta/classes/transactionqueue)*‹void››*

***

### toHuman

▸ **toHuman**(): *HumanReadable*

*Inherited from* [*CorporateActionBase*](https://developers.polymath.network/polymesh-sdk-api-reference/docs-beta/classes/corporateactionbase)*.*[*toHuman*](https://developers.polymath.network/polymesh-sdk-api-reference/docs-beta/corporateactionbase#tohuman)

*Overrides* [*Entity*](https://developers.polymath.network/polymesh-sdk-api-reference/docs-beta/classes/entity)*.*[*toHuman*](https://developers.polymath.network/polymesh-sdk-api-reference/docs-beta/entity#abstract-tohuman)

*Defined in* [*src/api/entities/CorporateActionBase/index.ts:262*](https://github.com/PolymathNetwork/polymesh-sdk/blob/31a16a34/src/api/entities/CorporateActionBase/index.ts#L262)

Return the Corporate Action's static data

**Returns:** *HumanReadable*

***

### `Static` generateUuid

▸ **generateUuid**‹**Identifiers**›(`identifiers`: Identifiers): *string*

*Inherited from* [*CheckpointSchedule*](https://developers.polymath.network/polymesh-sdk-api-reference/docs-beta/classes/checkpointschedule)*.*[*generateUuid*](https://developers.polymath.network/polymesh-sdk-api-reference/docs-beta/checkpointschedule#static-generateuuid)

*Defined in* [*src/api/entities/Entity.ts:14*](https://github.com/PolymathNetwork/polymesh-sdk/blob/31a16a34/src/api/entities/Entity.ts#L14)

Generate the Entity's UUID from its identifying properties

**Type parameters:**

▪ **Identifiers**

**Parameters:**

| Name          | Type        | Description |
| ------------- | ----------- | ----------- |
| `identifiers` | Identifiers |             |

**Returns:** *string*

***

### `Static` unserialize

▸ **unserialize**‹**Identifiers**›(`serialized`: string): *Identifiers*

*Inherited from* [*CheckpointSchedule*](https://developers.polymath.network/polymesh-sdk-api-reference/docs-beta/classes/checkpointschedule)*.*[*unserialize*](https://developers.polymath.network/polymesh-sdk-api-reference/docs-beta/checkpointschedule#static-unserialize)

*Defined in* [*src/api/entities/Entity.ts:23*](https://github.com/PolymathNetwork/polymesh-sdk/blob/31a16a34/src/api/entities/Entity.ts#L23)

Unserialize a UUID into its Unique Identifiers

**Type parameters:**

▪ **Identifiers**

**Parameters:**

| Name         | Type   | Description         |
| ------------ | ------ | ------------------- |
| `serialized` | string | UUID to unserialize |

**Returns:** *Identifiers*
