> For the complete documentation index, see [llms.txt](https://developers.polymath.network/classic-sdk/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://developers.polymath.network/classic-sdk/classes/_entities_securitytoken_features_.features.md).

# Features

Namespace that handles all Feature related functionality

## Hierarchy

* [SubModule](/classic-sdk/classes/_entities_securitytoken_submodule_.submodule.md)

  ↳ **Features**

## Index

### Constructors

* [constructor](/classic-sdk/classes/_entities_securitytoken_features_.features.md#constructor)

### Properties

* [context](/classic-sdk/classes/_entities_securitytoken_features_.features.md#protected-context)
* [list](/classic-sdk/classes/_entities_securitytoken_features_.features.md#list)
* [securityToken](/classic-sdk/classes/_entities_securitytoken_features_.features.md#protected-securitytoken)

### Methods

* [disable](/classic-sdk/classes/_entities_securitytoken_features_.features.md#disable)
* [enable](/classic-sdk/classes/_entities_securitytoken_features_.features.md#enable)
* [getModuleNameFromFeature](/classic-sdk/classes/_entities_securitytoken_features_.features.md#private-getmodulenamefromfeature)
* [getStatus](/classic-sdk/classes/_entities_securitytoken_features_.features.md#getstatus)
* [isEnabled](/classic-sdk/classes/_entities_securitytoken_features_.features.md#isenabled)

## Constructors

### constructor

\+ **new Features**(`securityToken`: [SecurityToken](/classic-sdk/classes/_entities_securitytoken_securitytoken_.securitytoken.md), `context`: [Context](/classic-sdk/classes/_context_.context.md)): [*Features*](/classic-sdk/classes/_entities_securitytoken_features_.features.md)

*Inherited from* [*SubModule*](/classic-sdk/classes/_entities_securitytoken_submodule_.submodule.md)*.*[*constructor*](/classic-sdk/classes/_entities_securitytoken_submodule_.submodule.md#constructor)

*Defined in* [*src/entities/SecurityToken/SubModule.ts:10*](https://github.com/PolymathNetwork/polymath-sdk/blob/e8bbc1e/src/entities/SecurityToken/SubModule.ts#L10)

Create a new SubModule instance

**Parameters:**

| Name            | Type                                                                                          |
| --------------- | --------------------------------------------------------------------------------------------- |
| `securityToken` | [SecurityToken](/classic-sdk/classes/_entities_securitytoken_securitytoken_.securitytoken.md) |
| `context`       | [Context](/classic-sdk/classes/_context_.context.md)                                          |

**Returns:** [*Features*](/classic-sdk/classes/_entities_securitytoken_features_.features.md)

## Properties

### `Protected` context

• **context**: [*Context*](/classic-sdk/classes/_context_.context.md)

*Inherited from* [*SubModule*](/classic-sdk/classes/_entities_securitytoken_submodule_.submodule.md)*.*[*context*](/classic-sdk/classes/_entities_securitytoken_submodule_.submodule.md#protected-context)

*Defined in* [*src/entities/SecurityToken/SubModule.ts:10*](https://github.com/PolymathNetwork/polymath-sdk/blob/e8bbc1e/src/entities/SecurityToken/SubModule.ts#L10)

### list

• **list**: [*Feature*](/classic-sdk/enums/_types_index_.feature.md)*\[]* = \[ Feature.Permissions, Feature.Tokenholders, Feature.Dividends, Feature.TokenholderCountRestrictions, Feature.PercentageOwnershipRestrictions, ]

*Defined in* [*src/entities/SecurityToken/Features.ts:80*](https://github.com/PolymathNetwork/polymath-sdk/blob/e8bbc1e/src/entities/SecurityToken/Features.ts#L80)

List of all existing features

### `Protected` securityToken

• **securityToken**: [*SecurityToken*](/classic-sdk/classes/_entities_securitytoken_securitytoken_.securitytoken.md)

*Inherited from* [*SubModule*](/classic-sdk/classes/_entities_securitytoken_submodule_.submodule.md)*.*[*securityToken*](/classic-sdk/classes/_entities_securitytoken_submodule_.submodule.md#protected-securitytoken)

*Defined in* [*src/entities/SecurityToken/SubModule.ts:8*](https://github.com/PolymathNetwork/polymath-sdk/blob/e8bbc1e/src/entities/SecurityToken/SubModule.ts#L8)

## Methods

### disable

▸ **disable**(`args`: object): *Promise‹*[*TransactionQueue*](/classic-sdk/classes/_entities_transactionqueue_.transactionqueue.md)*‹*[*DisableFeatureProcedureArgs*](/classic-sdk/interfaces/_types_index_.disablefeatureprocedureargs.md)*››*

*Defined in* [*src/entities/SecurityToken/Features.ts:213*](https://github.com/PolymathNetwork/polymath-sdk/blob/e8bbc1e/src/entities/SecurityToken/Features.ts#L213)

Disable a feature

**Parameters:**

▪ **args**: *object*

| Name      | Type                                                   |
| --------- | ------------------------------------------------------ |
| `feature` | [Feature](/classic-sdk/enums/_types_index_.feature.md) |

**Returns:** *Promise‹*[*TransactionQueue*](/classic-sdk/classes/_entities_transactionqueue_.transactionqueue.md)*‹*[*DisableFeatureProcedureArgs*](/classic-sdk/interfaces/_types_index_.disablefeatureprocedureargs.md)*››*

### enable

▸ **enable**(`args`: object, `opts?`: [EnableOpts](/classic-sdk/external-modules/_entities_securitytoken_features_.md#enableopts)): *Promise‹*[*TransactionQueue*](/classic-sdk/classes/_entities_transactionqueue_.transactionqueue.md)*›*

*Defined in* [*src/entities/SecurityToken/Features.ts:138*](https://github.com/PolymathNetwork/polymath-sdk/blob/e8bbc1e/src/entities/SecurityToken/Features.ts#L138)

Enable a feature

**Parameters:**

▪ **args**: *object*

| Name      | Type                                                   |
| --------- | ------------------------------------------------------ |
| `feature` | [Feature](/classic-sdk/enums/_types_index_.feature.md) |

▪`Optional` **opts**: [*EnableOpts*](/classic-sdk/external-modules/_entities_securitytoken_features_.md#enableopts)

**Returns:** *Promise‹*[*TransactionQueue*](/classic-sdk/classes/_entities_transactionqueue_.transactionqueue.md)*›*

### `Private` getModuleNameFromFeature

▸ **getModuleNameFromFeature**(`feature`: [Feature](/classic-sdk/enums/_types_index_.feature.md)): *ModuleName*

*Defined in* [*src/entities/SecurityToken/Features.ts:240*](https://github.com/PolymathNetwork/polymath-sdk/blob/e8bbc1e/src/entities/SecurityToken/Features.ts#L240)

**Parameters:**

| Name      | Type                                                   |
| --------- | ------------------------------------------------------ |
| `feature` | [Feature](/classic-sdk/enums/_types_index_.feature.md) |

**Returns:** *ModuleName*

### getStatus

▸ **getStatus**(): *Promise‹*[*FeatureStatuses*](/classic-sdk/interfaces/_entities_securitytoken_features_.featurestatuses.md)*›*

*Defined in* [*src/entities/SecurityToken/Features.ts:111*](https://github.com/PolymathNetwork/polymath-sdk/blob/e8bbc1e/src/entities/SecurityToken/Features.ts#L111)

Gets the status on all Security Token features (true = enabled, false = not enabled/disabled)

**Returns:** *Promise‹*[*FeatureStatuses*](/classic-sdk/interfaces/_entities_securitytoken_features_.featurestatuses.md)*›*

### isEnabled

▸ **isEnabled**(`args`: object): *Promise‹boolean›*

*Defined in* [*src/entities/SecurityToken/Features.ts:93*](https://github.com/PolymathNetwork/polymath-sdk/blob/e8bbc1e/src/entities/SecurityToken/Features.ts#L93)

Returns whether a particular feature has been enabled or not

**Parameters:**

▪ **args**: *object*

| Name      | Type                                                   |
| --------- | ------------------------------------------------------ |
| `feature` | [Feature](/classic-sdk/enums/_types_index_.feature.md) |

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