# api\_entities\_CorporateAction.CorporateAction

[@polymeshassociation/polymesh-sdk](https://developers.polymath.network/polymesh-sdk-api-reference/docs-alpha/classes) / [Modules](https://developers.polymath.network/polymesh-sdk-api-reference/docs-alpha/modules) / [api/entities/CorporateAction](https://developers.polymath.network/polymesh-sdk-api-reference/docs-alpha/modules-1/api_entities_corporateaction) / CorporateAction

## Class: CorporateAction

[api/entities/CorporateAction](https://developers.polymath.network/polymesh-sdk-api-reference/docs-alpha/modules-1/api_entities_corporateaction).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-alpha/classes/api_entities_corporateactionbase.corporateactionbase)

  ↳ **`CorporateAction`**

### Table of contents

#### Properties

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

#### Methods

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

### Properties

#### asset

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

Asset affected by this Corporate Action

**Inherited from**

[CorporateActionBase](https://developers.polymath.network/polymesh-sdk-api-reference/docs-alpha/classes/api_entities_corporateactionbase.corporateactionbase).[asset](https://developers.polymath.network/polymesh-sdk-api-reference/docs-alpha/api_entities_corporateactionbase.corporateactionbase#asset)

**Defined in**

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

***

#### declarationDate

• **declarationDate**: `Date`

date at which the Corporate Action was created

**Inherited from**

[CorporateActionBase](https://developers.polymath.network/polymesh-sdk-api-reference/docs-alpha/classes/api_entities_corporateactionbase.corporateactionbase).[declarationDate](https://developers.polymath.network/polymesh-sdk-api-reference/docs-alpha/api_entities_corporateactionbase.corporateactionbase#declarationdate)

**Defined in**

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

***

#### defaultTaxWithholding

• **defaultTaxWithholding**: `BigNumber`

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

**Inherited from**

[CorporateActionBase](https://developers.polymath.network/polymesh-sdk-api-reference/docs-alpha/classes/api_entities_corporateactionbase.corporateactionbase).[defaultTaxWithholding](https://developers.polymath.network/polymesh-sdk-api-reference/docs-alpha/api_entities_corporateactionbase.corporateactionbase#defaulttaxwithholding)

**Defined in**

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

***

#### description

• **description**: `string`

brief text description of the Corporate Action

**Inherited from**

[CorporateActionBase](https://developers.polymath.network/polymesh-sdk-api-reference/docs-alpha/classes/api_entities_corporateactionbase.corporateactionbase).[description](https://developers.polymath.network/polymesh-sdk-api-reference/docs-alpha/api_entities_corporateactionbase.corporateactionbase#description)

**Defined in**

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

***

#### id

• **id**: `BigNumber`

internal Corporate Action ID

**Inherited from**

[CorporateActionBase](https://developers.polymath.network/polymesh-sdk-api-reference/docs-alpha/classes/api_entities_corporateactionbase.corporateactionbase).[id](https://developers.polymath.network/polymesh-sdk-api-reference/docs-alpha/api_entities_corporateactionbase.corporateactionbase#id)

**Defined in**

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

***

#### targets

• **targets**: [`CorporateActionTargets`](https://developers.polymath.network/polymesh-sdk-api-reference/docs-alpha/interfaces/api_entities_corporateactionbase_types.corporateactiontargets)

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](https://developers.polymath.network/polymesh-sdk-api-reference/docs-alpha/classes/api_entities_corporateactionbase.corporateactionbase).[targets](https://developers.polymath.network/polymesh-sdk-api-reference/docs-alpha/api_entities_corporateactionbase.corporateactionbase#targets)

**Defined in**

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

***

#### taxWithholdings

• **taxWithholdings**: [`TaxWithholding`](https://developers.polymath.network/polymesh-sdk-api-reference/docs-alpha/interfaces/api_entities_corporateactionbase_types.taxwithholding)\[]

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

**Inherited from**

[CorporateActionBase](https://developers.polymath.network/polymesh-sdk-api-reference/docs-alpha/classes/api_entities_corporateactionbase.corporateactionbase).[taxWithholdings](https://developers.polymath.network/polymesh-sdk-api-reference/docs-alpha/api_entities_corporateactionbase.corporateactionbase#taxwithholdings)

**Defined in**

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

***

#### uuid

• **uuid**: `string`

**Inherited from**

[CorporateActionBase](https://developers.polymath.network/polymesh-sdk-api-reference/docs-alpha/classes/api_entities_corporateactionbase.corporateactionbase).[uuid](https://developers.polymath.network/polymesh-sdk-api-reference/docs-alpha/api_entities_corporateactionbase.corporateactionbase#uuid)

**Defined in**

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

### Methods

#### checkpoint

▸ **checkpoint**(): `Promise`<`null` | [`CheckpointSchedule`](https://developers.polymath.network/polymesh-sdk-api-reference/docs-alpha/classes/api_entities_checkpointschedule.checkpointschedule) | [`Checkpoint`](https://developers.polymath.network/polymesh-sdk-api-reference/docs-alpha/classes/api_entities_checkpoint.checkpoint)>

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`<`null` | [`CheckpointSchedule`](https://developers.polymath.network/polymesh-sdk-api-reference/docs-alpha/classes/api_entities_checkpointschedule.checkpointschedule) | [`Checkpoint`](https://developers.polymath.network/polymesh-sdk-api-reference/docs-alpha/classes/api_entities_checkpoint.checkpoint)>

**Inherited from**

[CorporateActionBase](https://developers.polymath.network/polymesh-sdk-api-reference/docs-alpha/classes/api_entities_corporateactionbase.corporateactionbase).[checkpoint](https://developers.polymath.network/polymesh-sdk-api-reference/docs-alpha/api_entities_corporateactionbase.corporateactionbase#checkpoint)

**Defined in**

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

***

#### exists

▸ **exists**(): `Promise`<`boolean`>

Determine whether this Corporate Action exists on chain

**Returns**

`Promise`<`boolean`>

**Inherited from**

[CorporateActionBase](https://developers.polymath.network/polymesh-sdk-api-reference/docs-alpha/classes/api_entities_corporateactionbase.corporateactionbase).[exists](https://developers.polymath.network/polymesh-sdk-api-reference/docs-alpha/api_entities_corporateactionbase.corporateactionbase#exists)

**Defined in**

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

***

#### isEqual

▸ **isEqual**(`entity`): `boolean`

Determine whether this Entity is the same as another one

**Parameters**

| Name     | Type                                                                                                                                           |
| -------- | ---------------------------------------------------------------------------------------------------------------------------------------------- |
| `entity` | [`Entity`](https://developers.polymath.network/polymesh-sdk-api-reference/docs-alpha/classes/api_entities_entity.entity)<`unknown`, `unknown`> |

**Returns**

`boolean`

**Inherited from**

[CorporateActionBase](https://developers.polymath.network/polymesh-sdk-api-reference/docs-alpha/classes/api_entities_corporateactionbase.corporateactionbase).[isEqual](https://developers.polymath.network/polymesh-sdk-api-reference/docs-alpha/api_entities_corporateactionbase.corporateactionbase#isequal)

**Defined in**

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

***

#### linkDocuments

▸ **linkDocuments**(`args`, `opts?`): `Promise`<`TransactionQueue`<`void`, `void`, `unknown`\[]\[]>>

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://developers.polymath.network/polymesh-sdk-api-reference/docs-alpha/interfaces/types.proceduremethod), which means you can call [linkDocuments.checkAuthorization](https://developers.polymath.network/polymesh-sdk-api-reference/docs-alpha/interfaces/types.proceduremethod#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://developers.polymath.network/polymesh-sdk-api-reference/docs-alpha/interfaces/api_procedures_linkcadocs.linkcadocsparams) |
| `opts?` | [`ProcedureOpts`](https://developers.polymath.network/polymesh-sdk-api-reference/docs-alpha/interfaces/types.procedureopts)                           |

**Returns**

`Promise`<`TransactionQueue`<`void`, `void`, `unknown`\[]\[]>>

**Inherited from**

[CorporateActionBase](https://developers.polymath.network/polymesh-sdk-api-reference/docs-alpha/classes/api_entities_corporateactionbase.corporateactionbase).[linkDocuments](https://developers.polymath.network/polymesh-sdk-api-reference/docs-alpha/api_entities_corporateactionbase.corporateactionbase#linkdocuments)

**Defined in**

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

***

#### modifyCheckpoint

▸ **modifyCheckpoint**(`args`, `opts?`): `Promise`<`TransactionQueue`<`void`, `void`, `unknown`\[]\[]>>

Modify the Corporate Action's Checkpoint

**`note`** this method is of type [ProcedureMethod](https://developers.polymath.network/polymesh-sdk-api-reference/docs-alpha/interfaces/types.proceduremethod), which means you can call [modifyCheckpoint.checkAuthorization](https://developers.polymath.network/polymesh-sdk-api-reference/docs-alpha/interfaces/types.proceduremethod#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://developers.polymath.network/polymesh-sdk-api-reference/docs-alpha/interfaces/types.procedureopts) |

**Returns**

`Promise`<`TransactionQueue`<`void`, `void`, `unknown`\[]\[]>>

**Overrides**

[CorporateActionBase](https://developers.polymath.network/polymesh-sdk-api-reference/docs-alpha/classes/api_entities_corporateactionbase.corporateactionbase).[modifyCheckpoint](https://developers.polymath.network/polymesh-sdk-api-reference/docs-alpha/api_entities_corporateactionbase.corporateactionbase#modifycheckpoint)

**Defined in**

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

***

#### toHuman

▸ **toHuman**(): [`HumanReadable`](https://developers.polymath.network/polymesh-sdk-api-reference/docs-alpha/interfaces/api_entities_corporateactionbase.humanreadable)

Return the Corporate Action's static data

**Returns**

[`HumanReadable`](https://developers.polymath.network/polymesh-sdk-api-reference/docs-alpha/interfaces/api_entities_corporateactionbase.humanreadable)

**Inherited from**

[CorporateActionBase](https://developers.polymath.network/polymesh-sdk-api-reference/docs-alpha/classes/api_entities_corporateactionbase.corporateactionbase).[toHuman](https://developers.polymath.network/polymesh-sdk-api-reference/docs-alpha/api_entities_corporateactionbase.corporateactionbase#tohuman)

**Defined in**

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

***

#### generateUuid

▸ `Static` **generateUuid**<`Identifiers`>(`identifiers`): `string`

Generate the Entity's UUID from its identifying properties

**Type parameters**

| Name          |
| ------------- |
| `Identifiers` |

**Parameters**

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

**Returns**

`string`

**Inherited from**

[CorporateActionBase](https://developers.polymath.network/polymesh-sdk-api-reference/docs-alpha/classes/api_entities_corporateactionbase.corporateactionbase).[generateUuid](https://developers.polymath.network/polymesh-sdk-api-reference/docs-alpha/api_entities_corporateactionbase.corporateactionbase#generateuuid)

**Defined in**

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

***

#### unserialize

▸ `Static` **unserialize**<`Identifiers`>(`serialized`): `Identifiers`

Unserialize a UUID into its Unique Identifiers

**Type parameters**

| Name          |
| ------------- |
| `Identifiers` |

**Parameters**

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

**Returns**

`Identifiers`

**Inherited from**

[CorporateActionBase](https://developers.polymath.network/polymesh-sdk-api-reference/docs-alpha/classes/api_entities_corporateactionbase.corporateactionbase).[unserialize](https://developers.polymath.network/polymesh-sdk-api-reference/docs-alpha/api_entities_corporateactionbase.corporateactionbase#unserialize)

**Defined in**

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