# SecurityToken

Class used to manage all the Security Token functionality

## Hierarchy

* [Entity](https://developers.polymath.network/polymesh-sdk-api-reference/docs-v7/classes/entity)‹UniqueIdentifiers, string›

  ↳ **SecurityToken**

## Index

### Properties

* [checkpoints](#checkpoints)
* [compliance](#compliance)
* [context](#protected-context)
* [corporateActions](#corporateactions)
* [did](#did)
* [documents](#documents)
* [issuance](#issuance)
* [offerings](#offerings)
* [permissions](#permissions)
* [settlements](#settlements)
* [ticker](#ticker)
* [tokenHolders](#tokenholders)
* [transferRestrictions](#transferrestrictions)
* [uuid](#uuid)

### Methods

* [controllerTransfer](#controllertransfer)
* [createdAt](#createdat)
* [currentFundingRound](#currentfundinground)
* [details](#details)
* [freeze](#freeze)
* [getIdentifiers](#getidentifiers)
* [investorCount](#investorcount)
* [isEqual](#isequal)
* [isFrozen](#isfrozen)
* [modify](#modify)
* [modifyPrimaryIssuanceAgent](#modifyprimaryissuanceagent)
* [redeem](#redeem)
* [removePrimaryIssuanceAgent](#removeprimaryissuanceagent)
* [toJson](#tojson)
* [transferOwnership](#transferownership)
* [unfreeze](#unfreeze)
* [generateUuid](#static-generateuuid)
* [unserialize](#static-unserialize)

## Properties

### checkpoints

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

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

### compliance

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

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

### `Protected` context

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

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

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

### corporateActions

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

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

### did

• **did**: *string*

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

identity id of the Security Token

### documents

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

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

### issuance

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

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

### offerings

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

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

### permissions

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

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

### settlements

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

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

### ticker

• **ticker**: *string*

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

ticker of the Security Token

### tokenHolders

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

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

### transferRestrictions

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

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

### uuid

• **uuid**: *string*

*Inherited from* [*Entity*](https://developers.polymath.network/polymesh-sdk-api-reference/docs-v7/classes/entity)*.*[*uuid*](https://developers.polymath.network/polymesh-sdk-api-reference/docs-v7/entity#uuid)

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

## Methods

### controllerTransfer

▸ **controllerTransfer**(`args`: [ControllerTransferParams](https://developers.polymath.network/polymesh-sdk-api-reference/docs-v7/interfaces/controllertransferparams), `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/index.ts:524*](https://github.com/PolymathNetwork/polymesh-sdk/blob/bf2b7a12/src/api/entities/SecurityToken/index.ts#L524)

Force a transfer from a given Portfolio to the PIA’s default Portfolio

**`note`** required role:

* Security Token Primary Issuance 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 `controllerTransfer.checkAuthorization` on it to see whether the Current Account has the required permissions to run it

**Parameters:**

| Name    | Type                                                                                                                                   |
| ------- | -------------------------------------------------------------------------------------------------------------------------------------- |
| `args`  | [ControllerTransferParams](https://developers.polymath.network/polymesh-sdk-api-reference/docs-v7/interfaces/controllertransferparams) |
| `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››*

### createdAt

▸ **createdAt**(): *Promise‹*[*EventIdentifier*](https://developers.polymath.network/polymesh-sdk-api-reference/docs-v7/interfaces/eventidentifier) *| null›*

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

Retrieve the identifier data (block number, date and event index) of the event that was emitted when the token was created

**`note`** uses the middleware

**`note`** there is a possibility that the data is not ready by the time it is requested. In that case, `null` is returned

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

### currentFundingRound

▸ **currentFundingRound**(): *Promise‹string›*

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

Retrieve the Security Token's funding round

**`note`** can be subscribed to

**Returns:** *Promise‹string›*

▸ **currentFundingRound**(`callback`: [SubCallback](https://developers.polymath.network/polymesh-sdk-api-reference/docs-v7/globals#subcallback)‹string›): *Promise‹*[*UnsubCallback*](https://developers.polymath.network/polymesh-sdk-api-reference/docs-v7/globals#unsubcallback)*›*

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

**Parameters:**

| Name       | Type                                                                                                              |
| ---------- | ----------------------------------------------------------------------------------------------------------------- |
| `callback` | [SubCallback](https://developers.polymath.network/polymesh-sdk-api-reference/docs-v7/globals#subcallback)‹string› |

**Returns:** *Promise‹*[*UnsubCallback*](https://developers.polymath.network/polymesh-sdk-api-reference/docs-v7/globals#unsubcallback)*›*

### details

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

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

Retrieve the Security Token's name, total supply, whether it is divisible or not and the Identity of the owner

**`note`** can be subscribed to

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

▸ **details**(`callback`: [SubCallback](https://developers.polymath.network/polymesh-sdk-api-reference/docs-v7/globals#subcallback)‹[SecurityTokenDetails](https://developers.polymath.network/polymesh-sdk-api-reference/docs-v7/interfaces/securitytokendetails)›): *Promise‹*[*UnsubCallback*](https://developers.polymath.network/polymesh-sdk-api-reference/docs-v7/globals#unsubcallback)*›*

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

**Parameters:**

| Name       | Type                                                                                                                                                                                                                                      |
| ---------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `callback` | [SubCallback](https://developers.polymath.network/polymesh-sdk-api-reference/docs-v7/globals#subcallback)‹[SecurityTokenDetails](https://developers.polymath.network/polymesh-sdk-api-reference/docs-v7/interfaces/securitytokendetails)› |

**Returns:** *Promise‹*[*UnsubCallback*](https://developers.polymath.network/polymesh-sdk-api-reference/docs-v7/globals#unsubcallback)*›*

### freeze

▸ **freeze**(`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)*‹*[*SecurityToken*](https://developers.polymath.network/polymesh-sdk-api-reference/docs-v7/classes/securitytoken)*››*

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

Freezes transfers and minting of the Security Token

**`note`** required role:

* Security Token Owner

**`note`** this method is of type [ProcedureMethod](https://developers.polymath.network/polymesh-sdk-api-reference/docs-v7/interfaces/proceduremethod), which means you can call `freeze.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)*‹*[*SecurityToken*](https://developers.polymath.network/polymesh-sdk-api-reference/docs-v7/classes/securitytoken)*››*

### getIdentifiers

▸ **getIdentifiers**(): *Promise‹*[*TokenIdentifier*](https://developers.polymath.network/polymesh-sdk-api-reference/docs-v7/interfaces/tokenidentifier)*\[]›*

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

Retrieve the Security Token's asset identifiers list

**`note`** can be subscribed to

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

▸ **getIdentifiers**(`callback?`: [SubCallback](https://developers.polymath.network/polymesh-sdk-api-reference/docs-v7/globals#subcallback)‹[TokenIdentifier](https://developers.polymath.network/polymesh-sdk-api-reference/docs-v7/interfaces/tokenidentifier)\[]›): *Promise‹*[*UnsubCallback*](https://developers.polymath.network/polymesh-sdk-api-reference/docs-v7/globals#unsubcallback)*›*

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

**Parameters:**

| Name        | Type                                                                                                                                                                                                                               |
| ----------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `callback?` | [SubCallback](https://developers.polymath.network/polymesh-sdk-api-reference/docs-v7/globals#subcallback)‹[TokenIdentifier](https://developers.polymath.network/polymesh-sdk-api-reference/docs-v7/interfaces/tokenidentifier)\[]› |

**Returns:** *Promise‹*[*UnsubCallback*](https://developers.polymath.network/polymesh-sdk-api-reference/docs-v7/globals#unsubcallback)*›*

### investorCount

▸ **investorCount**(): *Promise‹number›*

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

Retrieve the amount of unique investors that hold this Security Token

**`note`** this takes into account the Scope ID of Investor Uniqueness Claims. If an investor holds balances of this token in two or more different Identities, but they all have Investor Uniqueness Claims with the same Scope ID, then they will only be counted once for the purposes of this result

**`note`** can be subscribed to

**Returns:** *Promise‹number›*

▸ **investorCount**(`callback`: [SubCallback](https://developers.polymath.network/polymesh-sdk-api-reference/docs-v7/globals#subcallback)‹number›): *Promise‹*[*UnsubCallback*](https://developers.polymath.network/polymesh-sdk-api-reference/docs-v7/globals#unsubcallback)*›*

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

**Parameters:**

| Name       | Type                                                                                                              |
| ---------- | ----------------------------------------------------------------------------------------------------------------- |
| `callback` | [SubCallback](https://developers.polymath.network/polymesh-sdk-api-reference/docs-v7/globals#subcallback)‹number› |

**Returns:** *Promise‹*[*UnsubCallback*](https://developers.polymath.network/polymesh-sdk-api-reference/docs-v7/globals#unsubcallback)*›*

### isEqual

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

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

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

Whether this Entity is the same as another one

**Parameters:**

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

**Returns:** *boolean*

### isFrozen

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

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

Check whether transfers are frozen for the Security Token

**`note`** can be subscribed to

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

▸ **isFrozen**(`callback`: [SubCallback](https://developers.polymath.network/polymesh-sdk-api-reference/docs-v7/globals#subcallback)‹boolean›): *Promise‹*[*UnsubCallback*](https://developers.polymath.network/polymesh-sdk-api-reference/docs-v7/globals#unsubcallback)*›*

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

**Parameters:**

| Name       | Type                                                                                                               |
| ---------- | ------------------------------------------------------------------------------------------------------------------ |
| `callback` | [SubCallback](https://developers.polymath.network/polymesh-sdk-api-reference/docs-v7/globals#subcallback)‹boolean› |

**Returns:** *Promise‹*[*UnsubCallback*](https://developers.polymath.network/polymesh-sdk-api-reference/docs-v7/globals#unsubcallback)*›*

### modify

▸ **modify**(`args`: [ModifyTokenParams](https://developers.polymath.network/polymesh-sdk-api-reference/docs-v7/globals#modifytokenparams), `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)*‹*[*SecurityToken*](https://developers.polymath.network/polymesh-sdk-api-reference/docs-v7/classes/securitytoken)*››*

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

Modify some properties of the Security Token

**`throws`** if the passed values result in no changes being made to the token

**`note`** required role:

* Security Token Owner

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

**Parameters:**

| Name    | Type                                                                                                                  |
| ------- | --------------------------------------------------------------------------------------------------------------------- |
| `args`  | [ModifyTokenParams](https://developers.polymath.network/polymesh-sdk-api-reference/docs-v7/globals#modifytokenparams) |
| `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)*‹*[*SecurityToken*](https://developers.polymath.network/polymesh-sdk-api-reference/docs-v7/classes/securitytoken)*››*

### modifyPrimaryIssuanceAgent

▸ **modifyPrimaryIssuanceAgent**(`args`: [ModifyPrimaryIssuanceAgentParams](https://developers.polymath.network/polymesh-sdk-api-reference/docs-v7/interfaces/modifyprimaryissuanceagentparams), `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/index.ts:438*](https://github.com/PolymathNetwork/polymesh-sdk/blob/bf2b7a12/src/api/entities/SecurityToken/index.ts#L438)

Assign a new primary issuance agent for the Security Token

**`note`** this may create AuthorizationRequest 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 `modifyPrimaryIssuanceAgent.checkAuthorization` on it to see whether the Current Account has the required permissions to run it

**Parameters:**

| Name    | Type                                                                                                                                                   |
| ------- | ------------------------------------------------------------------------------------------------------------------------------------------------------ |
| `args`  | [ModifyPrimaryIssuanceAgentParams](https://developers.polymath.network/polymesh-sdk-api-reference/docs-v7/interfaces/modifyprimaryissuanceagentparams) |
| `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››*

### redeem

▸ **redeem**(`args`: [RedeemTokenParams](https://developers.polymath.network/polymesh-sdk-api-reference/docs-v7/interfaces/redeemtokenparams), `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/index.ts:472*](https://github.com/PolymathNetwork/polymesh-sdk/blob/bf2b7a12/src/api/entities/SecurityToken/index.ts#L472)

Redeem (burn) an amount of this Security Token

**`note`** Tokens are removed from the Primary Issuance Agent's Default Portfolio. If the Security Token has no Primary Issuance Agent, funds are removed from the owner's Default Portfolio instead

**`note`** required role:

* Security Token Primary Issuance 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 `redeem.checkAuthorization` on it to see whether the Current Account has the required permissions to run it

**Parameters:**

| Name    | Type                                                                                                                     |
| ------- | ------------------------------------------------------------------------------------------------------------------------ |
| `args`  | [RedeemTokenParams](https://developers.polymath.network/polymesh-sdk-api-reference/docs-v7/interfaces/redeemtokenparams) |
| `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››*

### removePrimaryIssuanceAgent

▸ **removePrimaryIssuanceAgent**(`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/index.ts:455*](https://github.com/PolymathNetwork/polymesh-sdk/blob/bf2b7a12/src/api/entities/SecurityToken/index.ts#L455)

Remove the primary issuance agent of the Security Token

**`note`** if primary issuance agent is not set, Security Token owner would be used by default

**`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 `removePrimaryIssuanceAgent.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››*

### toJson

▸ **toJson**(): *string*

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

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

Return the Token's ticker

**Returns:** *string*

### transferOwnership

▸ **transferOwnership**(`args`: [TransferTokenOwnershipParams](https://developers.polymath.network/polymesh-sdk-api-reference/docs-v7/interfaces/transfertokenownershipparams), `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)*‹*[*SecurityToken*](https://developers.polymath.network/polymesh-sdk-api-reference/docs-v7/classes/securitytoken)*››*

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

Transfer ownership of the Security Token to another Identity. This generates an authorization request that must be accepted by the destinatary

**`note`** this will create [Authorization Requests](https://developers.polymath.network/polymesh-sdk-api-reference/docs-v7/classes/authorizationrequest) which have to be accepted by the corresponding [Accounts](https://developers.polymath.network/polymesh-sdk-api-reference/docs-v7/classes/account) and/or [Identities](https://developers.polymath.network/polymesh-sdk-api-reference/docs-v7/classes/identity). An Account or Identity can fetch its pending Authorization Requests by calling `authorizations.getReceived`

**`note`** required role:

* Security Token Owner

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

**Parameters:**

| Name    | Type                                                                                                                                           |
| ------- | ---------------------------------------------------------------------------------------------------------------------------------------------- |
| `args`  | [TransferTokenOwnershipParams](https://developers.polymath.network/polymesh-sdk-api-reference/docs-v7/interfaces/transfertokenownershipparams) |
| `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)*‹*[*SecurityToken*](https://developers.polymath.network/polymesh-sdk-api-reference/docs-v7/classes/securitytoken)*››*

### unfreeze

▸ **unfreeze**(`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)*‹*[*SecurityToken*](https://developers.polymath.network/polymesh-sdk-api-reference/docs-v7/classes/securitytoken)*››*

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

Unfreeze transfers and minting of the Security Token

**`note`** required role:

* Security Token Owner

**`note`** this method is of type [ProcedureMethod](https://developers.polymath.network/polymesh-sdk-api-reference/docs-v7/interfaces/proceduremethod), which means you can call `unfreeze.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)*‹*[*SecurityToken*](https://developers.polymath.network/polymesh-sdk-api-reference/docs-v7/classes/securitytoken)*››*

### `Static` generateUuid

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

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

*Defined in* [*src/api/entities/Entity.ts:14*](https://github.com/PolymathNetwork/polymesh-sdk/blob/bf2b7a12/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* [*Entity*](https://developers.polymath.network/polymesh-sdk-api-reference/docs-v7/classes/entity)*.*[*unserialize*](https://developers.polymath.network/polymesh-sdk-api-reference/docs-v7/entity#static-unserialize)

*Defined in* [*src/api/entities/Entity.ts:23*](https://github.com/PolymathNetwork/polymesh-sdk/blob/bf2b7a12/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*
