> 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/beta/external-modules/_polymathbase_.polymathbase.md).

# PolymathBase

Class that wraps the polymathnetwork/contract-wrappers library to add utility functions

## Hierarchy

* PolymathAPI

  ↳ **PolymathBase**

## Index

### Constructors

* [constructor](broken://pages/-M-tw-_SzQz2XFUZPDQ7#constructor)

### Properties

* [contractFactory](broken://pages/-M-tw-_SzQz2XFUZPDQ7#contractfactory)
* [featureRegistry](broken://pages/-M-tw-_SzQz2XFUZPDQ7#featureregistry)
* [getAccount](broken://pages/-M-tw-_SzQz2XFUZPDQ7#getaccount)
* [getBalance](broken://pages/-M-tw-_SzQz2XFUZPDQ7#getbalance)
* [getERC20TokenWrapper](broken://pages/-M-tw-_SzQz2XFUZPDQ7#geterc20tokenwrapper)
* [getPolyTokens](broken://pages/-M-tw-_SzQz2XFUZPDQ7#getpolytokens)
* [isTestnet](broken://pages/-M-tw-_SzQz2XFUZPDQ7#istestnet)
* [moduleFactory](broken://pages/-M-tw-_SzQz2XFUZPDQ7#modulefactory)
* [moduleRegistry](broken://pages/-M-tw-_SzQz2XFUZPDQ7#moduleregistry)
* [polyToken](broken://pages/-M-tw-_SzQz2XFUZPDQ7#polytoken)
* [polyTokenFaucet](broken://pages/-M-tw-_SzQz2XFUZPDQ7#polytokenfaucet)
* [polymathRegistry](broken://pages/-M-tw-_SzQz2XFUZPDQ7#polymathregistry)
* [securityTokenRegistry](broken://pages/-M-tw-_SzQz2XFUZPDQ7#securitytokenregistry)
* [tokenFactory](broken://pages/-M-tw-_SzQz2XFUZPDQ7#tokenfactory)
* [web3Wrapper](broken://pages/-M-tw-_SzQz2XFUZPDQ7#web3wrapper)

### Methods

* [getAllDividends](broken://pages/-M-tw-_SzQz2XFUZPDQ7#getalldividends)
* [getAttachedModules](broken://pages/-M-tw-_SzQz2XFUZPDQ7#getattachedmodules)
* [getCheckpoint](broken://pages/-M-tw-_SzQz2XFUZPDQ7#getcheckpoint)
* [getCheckpoints](broken://pages/-M-tw-_SzQz2XFUZPDQ7#getcheckpoints)
* [getDividend](broken://pages/-M-tw-_SzQz2XFUZPDQ7#getdividend)
* [getDividends](broken://pages/-M-tw-_SzQz2XFUZPDQ7#getdividends)
* [getDividendsByCheckpoint](broken://pages/-M-tw-_SzQz2XFUZPDQ7#getdividendsbycheckpoint)
* [getModuleAddressesByName](broken://pages/-M-tw-_SzQz2XFUZPDQ7#getmoduleaddressesbyname)
* [getModuleFactoryAddress](broken://pages/-M-tw-_SzQz2XFUZPDQ7#getmodulefactoryaddress)
* [getTreasuryWallet](broken://pages/-M-tw-_SzQz2XFUZPDQ7#gettreasurywallet)
* [roleToPermission](broken://pages/-M-tw-_SzQz2XFUZPDQ7#roletopermission)

## Constructors

### constructor

\+ **new PolymathBase**(`params`: ApiConstructorParams): [*PolymathBase*](broken://pages/-M-tw-_SzQz2XFUZPDQ7)

*Inherited from void*

Defined in node\_modules/@polymathnetwork/contract-wrappers/lib/PolymathAPI.d.ts:79

Instantiates a new PolymathAPI instance.

**Parameters:**

| Name     | Type                 |
| -------- | -------------------- |
| `params` | ApiConstructorParams |

**Returns:** [*PolymathBase*](broken://pages/-M-tw-_SzQz2XFUZPDQ7)

An instance of the PolymathAPI class.

## Properties

### contractFactory

• **contractFactory**: *ContractFactory*

*Inherited from void*

Defined in node\_modules/@polymathnetwork/contract-wrappers/lib/PolymathAPI.d.ts:79

### featureRegistry

• **featureRegistry**: *FeatureRegistryWrapper*

*Inherited from void*

Defined in node\_modules/@polymathnetwork/contract-wrappers/lib/PolymathAPI.d.ts:62

An instance of the FeatureRegistryWrapper class containing methods for interacting with FeatureRegistry smart contract.

### getAccount

• **getAccount**: *function*

*Inherited from void*

Defined in node\_modules/@polymathnetwork/contract-wrappers/lib/PolymathAPI.d.ts:95

Get the account currently used by PolymathAPI

**`returns`** Address string

#### Type declaration:

▸ (): *Promise‹string›*

### getBalance

• **getBalance**: *function*

*Inherited from void*

Defined in node\_modules/@polymathnetwork/contract-wrappers/lib/PolymathAPI.d.ts:100

Get the ETH balance

**`returns`** Balance BigNumber

#### Type declaration:

▸ (`params`: GetBalanceParams): *Promise‹BigNumber›*

**Parameters:**

| Name     | Type             |
| -------- | ---------------- |
| `params` | GetBalanceParams |

### getERC20TokenWrapper

• **getERC20TokenWrapper**: *function*

*Inherited from void*

Defined in node\_modules/@polymathnetwork/contract-wrappers/lib/PolymathAPI.d.ts:90

Get a wrapped token from an address

**`returns`** TokenWrapper ERC20

#### Type declaration:

▸ (`params`: GetERC20WrapperParams): *Promise‹ERC20›*

**Parameters:**

| Name     | Type                  |
| -------- | --------------------- |
| `params` | GetERC20WrapperParams |

### getPolyTokens

• **getPolyTokens**: *function*

*Inherited from void*

Defined in node\_modules/@polymathnetwork/contract-wrappers/lib/PolymathAPI.d.ts:85

#### Type declaration:

▸ (`params`: GetTokensParams): *Promise‹PolyResponse›*

**Parameters:**

| Name     | Type            |
| -------- | --------------- |
| `params` | GetTokensParams |

### isTestnet

• **isTestnet**: *function*

*Inherited from void*

Defined in node\_modules/@polymathnetwork/contract-wrappers/lib/PolymathAPI.d.ts:104

Is it Testnet network?

#### Type declaration:

▸ (): *Promise‹boolean›*

### moduleFactory

• **moduleFactory**: *ModuleWrapperFactory*

*Inherited from void*

Defined in node\_modules/@polymathnetwork/contract-wrappers/lib/PolymathAPI.d.ts:72

An instance of the ModuleWrapperFactory class to get different module wrapper instances to interact with SecurityToken smart contracts

### moduleRegistry

• **moduleRegistry**: *ModuleRegistryWrapper*

*Inherited from void*

Defined in node\_modules/@polymathnetwork/contract-wrappers/lib/PolymathAPI.d.ts:57

An instance of the ModuleRegistryWrapper class containing methods for interacting with ModuleRegistry smart contract.

### polyToken

• **polyToken**: *PolyTokenWrapper*

*Inherited from void*

Defined in node\_modules/@polymathnetwork/contract-wrappers/lib/PolymathAPI.d.ts:52

An instance of the PolyTokenWrapper class containing methods for interacting with PolyToken smart contract.

### polyTokenFaucet

• **polyTokenFaucet**: *PolyTokenFaucetWrapper*

*Inherited from void*

Defined in node\_modules/@polymathnetwork/contract-wrappers/lib/PolymathAPI.d.ts:77

An instance of the PolyTokenFaucetWrapper class containing methods for interacting with PolyTokenFaucet smart contract.

### polymathRegistry

• **polymathRegistry**: *PolymathRegistryWrapper*

*Inherited from void*

Defined in node\_modules/@polymathnetwork/contract-wrappers/lib/PolymathAPI.d.ts:42

An instance of the PolymathRegistryWrapper class containing methods for interacting with PolymathRegistry smart contract.

### securityTokenRegistry

• **securityTokenRegistry**: *SecurityTokenRegistryWrapper*

*Inherited from void*

Defined in node\_modules/@polymathnetwork/contract-wrappers/lib/PolymathAPI.d.ts:47

An instance of the SecurityTokenRegistryWrapper class containing methods for interacting with SecurityTokenRegistry smart contract.

### tokenFactory

• **tokenFactory**: *TokenWrapperFactory*

*Inherited from void*

Defined in node\_modules/@polymathnetwork/contract-wrappers/lib/PolymathAPI.d.ts:67

An instance of the TokenWrapperFactory class to get TokenWrapper instances to interact with SecurityToken or ERC20 smart contracts

### web3Wrapper

• **web3Wrapper**: *Web3Wrapper*

*Inherited from void*

Defined in node\_modules/@polymathnetwork/contract-wrappers/lib/PolymathAPI.d.ts:78

## Methods

### getAllDividends

▸ **getAllDividends**(`__namedParameters`: object): *Promise‹*[*BaseDividend*](broken://pages/-M-tw-bDq0rfnhoXoyiB)*\[]›*

*Defined in* [*src/PolymathBase.ts:888*](https://github.com/PolymathNetwork/polymath-sdk/blob/550676f/src/PolymathBase.ts#L888)

Auxiliary function to fetch all dividend distributions

**Parameters:**

▪ **\_\_namedParameters**: *object*

| Name                  | Type                | Description                  |
| --------------------- | ------------------- | ---------------------------- |
| `checkpointId`        | undefined \| number | checkpoint UUID              |
| `securityTokenSymbol` | string              | symbol of the Security Token |

**Returns:** *Promise‹*[*BaseDividend*](broken://pages/-M-tw-bDq0rfnhoXoyiB)*\[]›*

### getAttachedModules

▸ **getAttachedModules**(`__namedParameters`: object, `opts?`: [GetAttachedModulesOpts](broken://pages/-M-tw-bEb7XysK02sfcs)): *Promise‹any\[]›*

*Defined in* [*src/PolymathBase.ts:523*](https://github.com/PolymathNetwork/polymath-sdk/blob/550676f/src/PolymathBase.ts#L523)

Fetch all Modules of a certain type attached to a Security Token

**Parameters:**

▪ **\_\_namedParameters**: *object*

| Name         | Type       | Description                  |
| ------------ | ---------- | ---------------------------- |
| `moduleName` | ModuleName | name of the Module           |
| `symbol`     | string     | symbol of the Security Token |

▪`Optional` **opts**: [*GetAttachedModulesOpts*](broken://pages/-M-tw-bEb7XysK02sfcs)

**Returns:** *Promise‹any\[]›*

### getCheckpoint

▸ **getCheckpoint**(`__namedParameters`: object): *Promise‹*[*BaseCheckpoint*](broken://pages/-M-tw-bC1tb7cRiyoTlR)*›*

*Defined in* [*src/PolymathBase.ts:697*](https://github.com/PolymathNetwork/polymath-sdk/blob/550676f/src/PolymathBase.ts#L697)

Get data associated to a Checkpoint

**Parameters:**

▪ **\_\_namedParameters**: *object*

| Name            | Type                   | Description                    |
| --------------- | ---------------------- | ------------------------------ |
| `checkpointId`  | number                 | checkpoint UUID                |
| `securityToken` | SecurityToken\_3\_0\_0 | instance of the Security Token |

**Returns:** *Promise‹*[*BaseCheckpoint*](broken://pages/-M-tw-bC1tb7cRiyoTlR)*›*

### getCheckpoints

▸ **getCheckpoints**(`__namedParameters`: object): *Promise‹*[*BaseCheckpoint*](broken://pages/-M-tw-bC1tb7cRiyoTlR)*\[]›*

*Defined in* [*src/PolymathBase.ts:722*](https://github.com/PolymathNetwork/polymath-sdk/blob/550676f/src/PolymathBase.ts#L722)

Get all Checkpoints of a Security Token

**Parameters:**

▪ **\_\_namedParameters**: *object*

| Name            | Type                   | Description                    |
| --------------- | ---------------------- | ------------------------------ |
| `securityToken` | SecurityToken\_3\_0\_0 | instance of the Security Token |

**Returns:** *Promise‹*[*BaseCheckpoint*](broken://pages/-M-tw-bC1tb7cRiyoTlR)*\[]›*

### getDividend

▸ **getDividend**(`__namedParameters`: object): *Promise‹*[*BaseDividend*](broken://pages/-M-tw-bDq0rfnhoXoyiB)*›*

*Defined in* [*src/PolymathBase.ts:783*](https://github.com/PolymathNetwork/polymath-sdk/blob/550676f/src/PolymathBase.ts#L783)

Get data associated to a specific Dividend Distribution

**Parameters:**

▪ **\_\_namedParameters**: *object*

| Name              | Type                             | Description           |
| ----------------- | -------------------------------- | --------------------- |
| `dividendIndex`   | number                           | index of the Dividend |
| `dividendsModule` | ERC20DividendCheckpoint\_3\_0\_0 | -                     |

**Returns:** *Promise‹*[*BaseDividend*](broken://pages/-M-tw-bDq0rfnhoXoyiB)*›*

### getDividends

▸ **getDividends**(`__namedParameters`: object): *Promise‹*[*BaseDividend*](broken://pages/-M-tw-bDq0rfnhoXoyiB)*\[]›*

*Defined in* [*src/PolymathBase.ts:868*](https://github.com/PolymathNetwork/polymath-sdk/blob/550676f/src/PolymathBase.ts#L868)

**Parameters:**

▪ **\_\_namedParameters**: *object*

| Name              | Type                             |
| ----------------- | -------------------------------- |
| `dividendsModule` | ERC20DividendCheckpoint\_3\_0\_0 |

**Returns:** *Promise‹*[*BaseDividend*](broken://pages/-M-tw-bDq0rfnhoXoyiB)*\[]›*

### getDividendsByCheckpoint

▸ **getDividendsByCheckpoint**(`__namedParameters`: object): *Promise‹*[*BaseDividend*](broken://pages/-M-tw-bDq0rfnhoXoyiB)*\[]›*

*Defined in* [*src/PolymathBase.ts:849*](https://github.com/PolymathNetwork/polymath-sdk/blob/550676f/src/PolymathBase.ts#L849)

Fetch list of all Dividends at a certain Checkpoint

**Parameters:**

▪ **\_\_namedParameters**: *object*

| Name              | Type                             | Description     |
| ----------------- | -------------------------------- | --------------- |
| `checkpointId`    | number                           | checkpoint UUID |
| `dividendsModule` | ERC20DividendCheckpoint\_3\_0\_0 | -               |

**Returns:** *Promise‹*[*BaseDividend*](broken://pages/-M-tw-bDq0rfnhoXoyiB)*\[]›*

### getModuleAddressesByName

▸ **getModuleAddressesByName**(`__namedParameters`: object, `opts?`: [GetModuleAddressesByNameOpts](broken://pages/-M-tw-bGU-mJhzy75k4F)): *Promise‹string\[]›*

*Defined in* [*src/PolymathBase.ts:485*](https://github.com/PolymathNetwork/polymath-sdk/blob/550676f/src/PolymathBase.ts#L485)

Fetch addresses of all Modules of a certain type attached to a Security Token

**Parameters:**

▪ **\_\_namedParameters**: *object*

| Name         | Type       | Description                  |
| ------------ | ---------- | ---------------------------- |
| `moduleName` | ModuleName | name of the Module           |
| `symbol`     | string     | symbol of the Security Token |

▪`Optional` **opts**: [*GetModuleAddressesByNameOpts*](broken://pages/-M-tw-bGU-mJhzy75k4F)

**Returns:** *Promise‹string\[]›*

### getModuleFactoryAddress

▸ **getModuleFactoryAddress**(`__namedParameters`: object): *Promise‹string›*

*Defined in* [*src/PolymathBase.ts:362*](https://github.com/PolymathNetwork/polymath-sdk/blob/550676f/src/PolymathBase.ts#L362)

Fetch the address of a specified Module Factory

**Parameters:**

▪ **\_\_namedParameters**: *object*

| Name           | Type       | Description                                            |
| -------------- | ---------- | ------------------------------------------------------ |
| `moduleName`   | ModuleName | name of the Module corresponding to the Module Factory |
| `tokenAddress` | string     | address of the Security Token                          |

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

### getTreasuryWallet

▸ **getTreasuryWallet**(`__namedParameters`: object): *Promise‹string›*

*Defined in* [*src/PolymathBase.ts:425*](https://github.com/PolymathNetwork/polymath-sdk/blob/550676f/src/PolymathBase.ts#L425)

Fetch a Module's Treasury Wallet

**Parameters:**

▪ **\_\_namedParameters**: *object*

| Name     | Type                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
| -------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| `module` | GeneralPermissionManager\_3\_0\_0 \| GeneralPermissionManager\_3\_1\_0 \| CountTransferManager\_3\_0\_0 \| GeneralTransferManager\_3\_0\_0 \| GeneralTransferManager\_3\_1\_0 \| ManualApprovalTransferManager\_3\_0\_0 \| PercentageTransferManager\_3\_0\_0 \| VolumeRestrictionTransferManager\_3\_0\_0 \| BlacklistTransferManager\_3\_0\_0 \| LockUpTransferManager\_3\_0\_0 \| RestrictedPartialSaleTransferManager\_3\_1\_0 \| CappedSTO\_3\_0\_0 \| CappedSTO\_3\_1\_0 \| USDTieredSTO\_3\_0\_0 \| USDTieredSTO\_3\_1\_0 \| ERC20DividendCheckpoint\_3\_0\_0 \| VestingEscrowWallet\_3\_0\_0 \| VestingEscrowWallet\_3\_1\_0 \| EtherDividendCheckpoint\_3\_0\_0 |

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

### roleToPermission

▸ **roleToPermission**(`__namedParameters`: object): *Promise‹object›*

*Defined in* [*src/PolymathBase.ts:923*](https://github.com/PolymathNetwork/polymath-sdk/blob/550676f/src/PolymathBase.ts#L923)

**Parameters:**

▪ **\_\_namedParameters**: *object*

| Name   | Type                                                     |
| ------ | -------------------------------------------------------- |
| `role` | [SecurityTokenRole](broken://pages/-M-tw-axx7z4qyM4l2d7) |

**Returns:** *Promise‹object›*
