# SecurityToken

Class used to manage all the Security Token functionality

## Hierarchy

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

  ↳ **SecurityToken**

## Index

### Properties

* [compliance](#compliance)
* [context](#protected-context)
* [did](#did)
* [documents](#documents)
* [issuance](#issuance)
* [settlements](#settlements)
* [ticker](#ticker)
* [tokenHolders](#tokenholders)
* [uuid](#uuid)

### Methods

* [createdAt](#createdat)
* [currentFundingRound](#currentfundinground)
* [details](#details)
* [freeze](#freeze)
* [getIdentifiers](#getidentifiers)
* [isFrozen](#isfrozen)
* [modify](#modify)
* [modifyPrimaryIssuanceAgent](#modifyprimaryissuanceagent)
* [removePrimaryIssuanceAgent](#removeprimaryissuanceagent)
* [transferOwnership](#transferownership)
* [unfreeze](#unfreeze)
* [generateUuid](#static-generateuuid)
* [unserialize](#static-unserialize)

## Properties

### compliance

• **compliance**: *Compliance*

*Defined in* [*src/api/entities/SecurityToken/index.ts:79*](https://github.com/PolymathNetwork/polymesh-sdk/blob/5b409784/src/api/entities/SecurityToken/index.ts#L79)

### `Protected` context

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

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

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

### did

• **did**: *string*

*Defined in* [*src/api/entities/SecurityToken/index.ts:67*](https://github.com/PolymathNetwork/polymesh-sdk/blob/5b409784/src/api/entities/SecurityToken/index.ts#L67)

identity id of the Security Token

### documents

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

*Defined in* [*src/api/entities/SecurityToken/index.ts:75*](https://github.com/PolymathNetwork/polymesh-sdk/blob/5b409784/src/api/entities/SecurityToken/index.ts#L75)

### issuance

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

*Defined in* [*src/api/entities/SecurityToken/index.ts:78*](https://github.com/PolymathNetwork/polymesh-sdk/blob/5b409784/src/api/entities/SecurityToken/index.ts#L78)

### settlements

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

*Defined in* [*src/api/entities/SecurityToken/index.ts:76*](https://github.com/PolymathNetwork/polymesh-sdk/blob/5b409784/src/api/entities/SecurityToken/index.ts#L76)

### ticker

• **ticker**: *string*

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

ticker of the Security Token

### tokenHolders

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

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

### uuid

• **uuid**: *string*

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

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

## Methods

### createdAt

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

*Defined in* [*src/api/entities/SecurityToken/index.ts:257*](https://github.com/PolymathNetwork/polymesh-sdk/blob/5b409784/src/api/entities/SecurityToken/index.ts#L257)

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-v2/interfaces/eventidentifier) *| null›*

### currentFundingRound

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

*Defined in* [*src/api/entities/SecurityToken/index.ts:187*](https://github.com/PolymathNetwork/polymesh-sdk/blob/5b409784/src/api/entities/SecurityToken/index.ts#L187)

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-v2/globals#subcallback)‹string›): *Promise‹*[*UnsubCallback*](https://developers.polymath.network/polymesh-sdk-api-reference/docs-v2/globals#unsubcallback)*›*

*Defined in* [*src/api/entities/SecurityToken/index.ts:188*](https://github.com/PolymathNetwork/polymesh-sdk/blob/5b409784/src/api/entities/SecurityToken/index.ts#L188)

**Parameters:**

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

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

### details

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

*Defined in* [*src/api/entities/SecurityToken/index.ts:132*](https://github.com/PolymathNetwork/polymesh-sdk/blob/5b409784/src/api/entities/SecurityToken/index.ts#L132)

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-v2/interfaces/securitytokendetails)*›*

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

*Defined in* [*src/api/entities/SecurityToken/index.ts:133*](https://github.com/PolymathNetwork/polymesh-sdk/blob/5b409784/src/api/entities/SecurityToken/index.ts#L133)

**Parameters:**

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

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

### freeze

▸ **freeze**(): *Promise‹*[*TransactionQueue*](https://developers.polymath.network/polymesh-sdk-api-reference/docs-v2/classes/transactionqueue)*‹*[*SecurityToken*](https://developers.polymath.network/polymesh-sdk-api-reference/docs-v2/classes/securitytoken)*››*

*Defined in* [*src/api/entities/SecurityToken/index.ts:284*](https://github.com/PolymathNetwork/polymesh-sdk/blob/5b409784/src/api/entities/SecurityToken/index.ts#L284)

Freezes transfers and minting of the Security Token

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

### getIdentifiers

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

*Defined in* [*src/api/entities/SecurityToken/index.ts:221*](https://github.com/PolymathNetwork/polymesh-sdk/blob/5b409784/src/api/entities/SecurityToken/index.ts#L221)

Retrive the Security Token's asset identifiers list

**`note`** can be subscribed to

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

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

*Defined in* [*src/api/entities/SecurityToken/index.ts:222*](https://github.com/PolymathNetwork/polymesh-sdk/blob/5b409784/src/api/entities/SecurityToken/index.ts#L222)

**Parameters:**

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

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

### isFrozen

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

*Defined in* [*src/api/entities/SecurityToken/index.ts:302*](https://github.com/PolymathNetwork/polymesh-sdk/blob/5b409784/src/api/entities/SecurityToken/index.ts#L302)

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-v2/globals#subcallback)‹boolean›): *Promise‹*[*UnsubCallback*](https://developers.polymath.network/polymesh-sdk-api-reference/docs-v2/globals#unsubcallback)*›*

*Defined in* [*src/api/entities/SecurityToken/index.ts:303*](https://github.com/PolymathNetwork/polymesh-sdk/blob/5b409784/src/api/entities/SecurityToken/index.ts#L303)

**Parameters:**

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

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

### modify

▸ **modify**(`args`: [ModifyTokenParams](https://developers.polymath.network/polymesh-sdk-api-reference/docs-v2/globals#modifytokenparams)): *Promise‹*[*TransactionQueue*](https://developers.polymath.network/polymesh-sdk-api-reference/docs-v2/classes/transactionqueue)*‹*[*SecurityToken*](https://developers.polymath.network/polymesh-sdk-api-reference/docs-v2/classes/securitytoken)*››*

*Defined in* [*src/api/entities/SecurityToken/index.ts:122*](https://github.com/PolymathNetwork/polymesh-sdk/blob/5b409784/src/api/entities/SecurityToken/index.ts#L122)

Modify some properties of the Security Token

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

**Parameters:**

| Name   | Type                                                                                                                  |
| ------ | --------------------------------------------------------------------------------------------------------------------- |
| `args` | [ModifyTokenParams](https://developers.polymath.network/polymesh-sdk-api-reference/docs-v2/globals#modifytokenparams) |

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

### modifyPrimaryIssuanceAgent

▸ **modifyPrimaryIssuanceAgent**(`args`: [ModifyPrimaryIssuanceAgentParams](https://developers.polymath.network/polymesh-sdk-api-reference/docs-v2/interfaces/modifyprimaryissuanceagentparams)): *Promise‹*[*TransactionQueue*](https://developers.polymath.network/polymesh-sdk-api-reference/docs-v2/classes/transactionqueue)*‹void››*

*Defined in* [*src/api/entities/SecurityToken/index.ts:340*](https://github.com/PolymathNetwork/polymesh-sdk/blob/5b409784/src/api/entities/SecurityToken/index.ts#L340)

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`

**Parameters:**

| Name   | Type                                                                                                                                                   |
| ------ | ------------------------------------------------------------------------------------------------------------------------------------------------------ |
| `args` | [ModifyPrimaryIssuanceAgentParams](https://developers.polymath.network/polymesh-sdk-api-reference/docs-v2/interfaces/modifyprimaryissuanceagentparams) |

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

### removePrimaryIssuanceAgent

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

*Defined in* [*src/api/entities/SecurityToken/index.ts:352*](https://github.com/PolymathNetwork/polymesh-sdk/blob/5b409784/src/api/entities/SecurityToken/index.ts#L352)

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

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

### transferOwnership

▸ **transferOwnership**(`args`: [TransferTokenOwnershipParams](https://developers.polymath.network/polymesh-sdk-api-reference/docs-v2/interfaces/transfertokenownershipparams)): *Promise‹*[*TransactionQueue*](https://developers.polymath.network/polymesh-sdk-api-reference/docs-v2/classes/transactionqueue)*‹*[*SecurityToken*](https://developers.polymath.network/polymesh-sdk-api-reference/docs-v2/classes/securitytoken)*››*

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

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-v2/classes/authorizationrequest) which have to be accepted by the corresponding [Accounts](https://developers.polymath.network/polymesh-sdk-api-reference/docs-v2/classes/account) and/or [Identities](https://developers.polymath.network/polymesh-sdk-api-reference/docs-v2/enums/scopetype#identity). An Account or Identity can fetch its pending Authorization Requests by calling `authorizations.getReceived`

**Parameters:**

| Name   | Type                                                                                                                                           |
| ------ | ---------------------------------------------------------------------------------------------------------------------------------------------- |
| `args` | [TransferTokenOwnershipParams](https://developers.polymath.network/polymesh-sdk-api-reference/docs-v2/interfaces/transfertokenownershipparams) |

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

### unfreeze

▸ **unfreeze**(): *Promise‹*[*TransactionQueue*](https://developers.polymath.network/polymesh-sdk-api-reference/docs-v2/classes/transactionqueue)*‹*[*SecurityToken*](https://developers.polymath.network/polymesh-sdk-api-reference/docs-v2/classes/securitytoken)*››*

*Defined in* [*src/api/entities/SecurityToken/index.ts:292*](https://github.com/PolymathNetwork/polymesh-sdk/blob/5b409784/src/api/entities/SecurityToken/index.ts#L292)

Unfreeze transfers and minting of the Security Token

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

### `Static` generateUuid

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

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

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

Generate the Entity's UUID from its identifying properties

**Type parameters:**

▪ **Identifiers**: *object*

**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-v2/classes/entity)*.*[*unserialize*](https://developers.polymath.network/polymesh-sdk-api-reference/docs-v2/entity#static-unserialize)

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

Unserialize a UUID into its Unique Identifiers

**Type parameters:**

▪ **Identifiers**: *object*

**Parameters:**

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

**Returns:** *Identifiers*
