# TransferRestrictionBase

Base class for managing Transfer Restrictions

## Type parameters

▪ **T**: [*TransferRestrictionType*](https://developers.polymath.network/polymesh-sdk-api-reference/docs-v5/enums/transferrestrictiontype)

## Hierarchy

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

  ↳ **TransferRestrictionBase**

  ↳ [CountTransferRestriction](https://developers.polymath.network/polymesh-sdk-api-reference/docs-v5/interfaces/counttransferrestriction)

  ↳ [PercentageTransferRestriction](https://developers.polymath.network/polymesh-sdk-api-reference/docs-v5/interfaces/percentagetransferrestriction)

## Index

### Properties

* [addRestriction](#addrestriction)
* [context](#protected-context)
* [exemptedScopeIds](#optional-exemptedscopeids)
* [parent](#protected-parent)
* [removeRestrictions](#removerestrictions)
* [setRestrictions](#setrestrictions)
* [type](#protected-abstract-type)

### Methods

* [get](#get)

## Properties

### addRestriction

• **addRestriction**: *ProcedureMethod‹*[*AddRestrictionParams*](https://developers.polymath.network/polymesh-sdk-api-reference/docs-v5/globals#addrestrictionparams)*‹T›, number›*

*Defined in* [*src/api/entities/SecurityToken/TransferRestrictions/TransferRestrictionBase.ts:123*](https://github.com/PolymathNetwork/polymesh-sdk/blob/524b0225/src/api/entities/SecurityToken/TransferRestrictions/TransferRestrictionBase.ts#L123)

Add a Transfer Restriction of the corresponding type to this Security Token

**`param`** array of Scope IDs that are exempted from the Restriction

**`note`** the result is the total amount of restrictions after the procedure has run

**`note`** required role:

* Security Token Owner

### `Protected` context

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

*Inherited from void*

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

### `Optional` exemptedScopeIds

• **exemptedScopeIds**? : *string\[]*

*Defined in* [*src/types/index.ts:858*](https://github.com/PolymathNetwork/polymesh-sdk/blob/524b0225/src/types/index.ts#L858)

### `Protected` parent

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

*Inherited from void*

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

### removeRestrictions

• **removeRestrictions**: *ProcedureMethod‹void, number›*

*Defined in* [*src/api/entities/SecurityToken/TransferRestrictions/TransferRestrictionBase.ts:145*](https://github.com/PolymathNetwork/polymesh-sdk/blob/524b0225/src/api/entities/SecurityToken/TransferRestrictions/TransferRestrictionBase.ts#L145)

Removes all Transfer Restrictions of the corresponding type from this Security Token

**`note`** the result is the total amount of restrictions after the procedure has run

**`note`** required role:

* Security Token Owner

### setRestrictions

• **setRestrictions**: *ProcedureMethod‹*[*SetRestrictionsParams*](https://developers.polymath.network/polymesh-sdk-api-reference/docs-v5/globals#setrestrictionsparams)*‹T›, number›*

*Defined in* [*src/api/entities/SecurityToken/TransferRestrictions/TransferRestrictionBase.ts:135*](https://github.com/PolymathNetwork/polymesh-sdk/blob/524b0225/src/api/entities/SecurityToken/TransferRestrictions/TransferRestrictionBase.ts#L135)

Sets all Transfer Restrictions of the corresponding type on this Security Token

**`param`** array of Transfer Restrictions with their corresponding exemptions (if applicable)

**`note`** the result is the total amount of restrictions after the procedure has run

**`note`** required role:

* Security Token Owner

### `Protected` `Abstract` type

• **type**: *T*

*Defined in* [*src/api/entities/SecurityToken/TransferRestrictions/TransferRestrictionBase.ts:54*](https://github.com/PolymathNetwork/polymesh-sdk/blob/524b0225/src/api/entities/SecurityToken/TransferRestrictions/TransferRestrictionBase.ts#L54)

## Methods

### get

▸ **get**(): *Promise‹*[*GetReturnType*](https://developers.polymath.network/polymesh-sdk-api-reference/docs-v5/globals#getreturntype)*‹T››*

*Defined in* [*src/api/entities/SecurityToken/TransferRestrictions/TransferRestrictionBase.ts:154*](https://github.com/PolymathNetwork/polymesh-sdk/blob/524b0225/src/api/entities/SecurityToken/TransferRestrictions/TransferRestrictionBase.ts#L154)

Retrieve all active Transfer Restrictions of the corresponding type

**`note`** there is a maximum number of restrictions allowed accross all types. The `availableSlots` property of the result represents how many more restrictions can be added before reaching that limit

**Returns:** *Promise‹*[*GetReturnType*](https://developers.polymath.network/polymesh-sdk-api-reference/docs-v5/globals#getreturntype)*‹T››*
