# CorporateActions

Handles all Security Token Corporate Actions related functionality

## Hierarchy

* Namespace‹[SecurityToken](https://developers.polymath.network/polymesh-sdk-api-reference/docs-v7/classes/securitytoken)›

  ↳ **CorporateActions**

## Index

### Properties

* [context](#protected-context)
* [distributions](#distributions)
* [parent](#protected-parent)

### Methods

* [getAgents](#getagents)
* [getDefaults](#getdefaults)
* [remove](#remove)
* [removeAgent](#removeagent)
* [setAgent](#setagent)
* [setDefaults](#setdefaults)

## Properties

### `Protected` context

• **context**: [*Context*](https://developers.polymath.network/polymesh-sdk-api-reference/docs-v7/classes/context)

*Inherited from void*

*Defined in* [*src/api/entities/Namespace.ts:11*](https://github.com/PolymathNetwork/polymesh-sdk/blob/bf2b7a12/src/api/entities/Namespace.ts#L11)

### distributions

• **distributions**: [*Distributions*](https://developers.polymath.network/polymesh-sdk-api-reference/docs-v7/classes/distributions)

*Defined in* [*src/api/entities/SecurityToken/CorporateActions/index.ts:37*](https://github.com/PolymathNetwork/polymesh-sdk/blob/bf2b7a12/src/api/entities/SecurityToken/CorporateActions/index.ts#L37)

### `Protected` parent

• **parent**: [*SecurityToken*](https://developers.polymath.network/polymesh-sdk-api-reference/docs-v7/classes/securitytoken)

*Inherited from void*

*Defined in* [*src/api/entities/Namespace.ts:9*](https://github.com/PolymathNetwork/polymesh-sdk/blob/bf2b7a12/src/api/entities/Namespace.ts#L9)

## Methods

### getAgents

▸ **getAgents**(): *Promise‹*[*Identity*](https://developers.polymath.network/polymesh-sdk-api-reference/docs-v7/classes/identity)*\[]›*

*Defined in* [*src/api/entities/SecurityToken/CorporateActions/index.ts:136*](https://github.com/PolymathNetwork/polymesh-sdk/blob/bf2b7a12/src/api/entities/SecurityToken/CorporateActions/index.ts#L136)

Retrieve a list of agent identities

**Returns:** *Promise‹*[*Identity*](https://developers.polymath.network/polymesh-sdk-api-reference/docs-v7/classes/identity)*\[]›*

### getDefaults

▸ **getDefaults**(): *Promise‹*[*CorporateActionDefaults*](https://developers.polymath.network/polymesh-sdk-api-reference/docs-v7/interfaces/corporateactiondefaults)*›*

*Defined in* [*src/api/entities/SecurityToken/CorporateActions/index.ts:171*](https://github.com/PolymathNetwork/polymesh-sdk/blob/bf2b7a12/src/api/entities/SecurityToken/CorporateActions/index.ts#L171)

Retrieve default values for targets, global tax withholding percentage and per-identity tax withholding perecentages.

**`note`** These values are applied to every Corporate Action that is created until they are modified. Modifying these values does not impact existing Corporate Actions. When creating a Corporate Action, values passed explicitly will override these defaults

**Returns:** *Promise‹*[*CorporateActionDefaults*](https://developers.polymath.network/polymesh-sdk-api-reference/docs-v7/interfaces/corporateactiondefaults)*›*

### remove

▸ **remove**(`args`: [RemoveCorporateActionParams](https://developers.polymath.network/polymesh-sdk-api-reference/docs-v7/interfaces/removecorporateactionparams), `opts?`: [ProcedureOpts](https://developers.polymath.network/polymesh-sdk-api-reference/docs-v7/interfaces/procedureopts)): *Promise‹*[*TransactionQueue*](https://developers.polymath.network/polymesh-sdk-api-reference/docs-v7/classes/transactionqueue)*‹void››*

*Defined in* [*src/api/entities/SecurityToken/CorporateActions/index.ts:129*](https://github.com/PolymathNetwork/polymesh-sdk/blob/bf2b7a12/src/api/entities/SecurityToken/CorporateActions/index.ts#L129)

Remove a Corporate Action

**`note`** required role:

* Corporate Actions Agent

**`note`** this method is of type [ProcedureMethod](https://developers.polymath.network/polymesh-sdk-api-reference/docs-v7/interfaces/proceduremethod), which means you can call `remove.checkAuthorization` on it to see whether the Current Account has the required permissions to run it

**Parameters:**

| Name    | Type                                                                                                                                         |
| ------- | -------------------------------------------------------------------------------------------------------------------------------------------- |
| `args`  | [RemoveCorporateActionParams](https://developers.polymath.network/polymesh-sdk-api-reference/docs-v7/interfaces/removecorporateactionparams) |
| `opts?` | [ProcedureOpts](https://developers.polymath.network/polymesh-sdk-api-reference/docs-v7/interfaces/procedureopts)                             |

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

### removeAgent

▸ **removeAgent**(`args`: void, `opts?`: [ProcedureOpts](https://developers.polymath.network/polymesh-sdk-api-reference/docs-v7/interfaces/procedureopts)): *Promise‹*[*TransactionQueue*](https://developers.polymath.network/polymesh-sdk-api-reference/docs-v7/classes/transactionqueue)*‹void››*

*Defined in* [*src/api/entities/SecurityToken/CorporateActions/index.ts:116*](https://github.com/PolymathNetwork/polymesh-sdk/blob/bf2b7a12/src/api/entities/SecurityToken/CorporateActions/index.ts#L116)

Remove the Corporate Actions Agent of the Security Token

**`note`** this action will leave the Security Token owner as the Corporate Actions Agent

**`note`** required role:

* Security Token Owner

**`deprecated`**

**`note`** this method is of type [ProcedureMethod](https://developers.polymath.network/polymesh-sdk-api-reference/docs-v7/interfaces/proceduremethod), which means you can call `removeAgent.checkAuthorization` on it to see whether the Current Account has the required permissions to run it

**Parameters:**

| Name    | Type                                                                                                             |
| ------- | ---------------------------------------------------------------------------------------------------------------- |
| `args`  | void                                                                                                             |
| `opts?` | [ProcedureOpts](https://developers.polymath.network/polymesh-sdk-api-reference/docs-v7/interfaces/procedureopts) |

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

### setAgent

▸ **setAgent**(`args`: [ModifyCorporateActionsAgentParams](https://developers.polymath.network/polymesh-sdk-api-reference/docs-v7/interfaces/modifycorporateactionsagentparams), `opts?`: [ProcedureOpts](https://developers.polymath.network/polymesh-sdk-api-reference/docs-v7/interfaces/procedureopts)): *Promise‹*[*TransactionQueue*](https://developers.polymath.network/polymesh-sdk-api-reference/docs-v7/classes/transactionqueue)*‹void››*

*Defined in* [*src/api/entities/SecurityToken/CorporateActions/index.ts:99*](https://github.com/PolymathNetwork/polymesh-sdk/blob/bf2b7a12/src/api/entities/SecurityToken/CorporateActions/index.ts#L99)

Assign a new Corporate Actions Agent for the Security Token

**`note`** this may create AuthorizationRequests which have to be accepted by the corresponding Account. An Account or Identity can fetch its pending Authorization Requests by calling `authorizations.getReceived`

**`note`** required role:

* Security Token Owner

**`deprecated`** in favor of `inviteAgent`

**`note`** this method is of type [ProcedureMethod](https://developers.polymath.network/polymesh-sdk-api-reference/docs-v7/interfaces/proceduremethod), which means you can call `setAgent.checkAuthorization` on it to see whether the Current Account has the required permissions to run it

**Parameters:**

| Name    | Type                                                                                                                                                     |
| ------- | -------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `args`  | [ModifyCorporateActionsAgentParams](https://developers.polymath.network/polymesh-sdk-api-reference/docs-v7/interfaces/modifycorporateactionsagentparams) |
| `opts?` | [ProcedureOpts](https://developers.polymath.network/polymesh-sdk-api-reference/docs-v7/interfaces/procedureopts)                                         |

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

### setDefaults

▸ **setDefaults**(`args`: [ModifyCaDefaultsParams](https://developers.polymath.network/polymesh-sdk-api-reference/docs-v7/globals#modifycadefaultsparams), `opts?`: [ProcedureOpts](https://developers.polymath.network/polymesh-sdk-api-reference/docs-v7/interfaces/procedureopts)): *Promise‹*[*TransactionQueue*](https://developers.polymath.network/polymesh-sdk-api-reference/docs-v7/classes/transactionqueue)*‹void››*

*Defined in* [*src/api/entities/SecurityToken/CorporateActions/index.ts:80*](https://github.com/PolymathNetwork/polymesh-sdk/blob/bf2b7a12/src/api/entities/SecurityToken/CorporateActions/index.ts#L80)

Assign default values for targets, global tax withholding percentage and per-identity tax withholding perecentages.

**`note`** These values are applied to every Corporate Action that is created until they are modified. Modifying these values does not impact existing Corporate Actions. When creating a Corporate Action, values passed explicitly will override these defaults

**`note`** this method is of type [ProcedureMethod](https://developers.polymath.network/polymesh-sdk-api-reference/docs-v7/interfaces/proceduremethod), which means you can call `setDefaults.checkAuthorization` on it to see whether the Current Account has the required permissions to run it

**Parameters:**

| Name    | Type                                                                                                                            |
| ------- | ------------------------------------------------------------------------------------------------------------------------------- |
| `args`  | [ModifyCaDefaultsParams](https://developers.polymath.network/polymesh-sdk-api-reference/docs-v7/globals#modifycadefaultsparams) |
| `opts?` | [ProcedureOpts](https://developers.polymath.network/polymesh-sdk-api-reference/docs-v7/interfaces/procedureopts)                |

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