> 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/external-modules/_entities_sto_.sto.md).

# Sto

Abstract class used as a base to manage sto functionalities

## Type parameters

▪ **P**

## Hierarchy

* [Entity](/classic-sdk/classes/_entities_entity_.entity.md)‹P›

  ↳ **Sto**

  ↳ [SimpleSto](/classic-sdk/classes/_entities_simplesto_.simplesto.md)

  ↳ [TieredSto](/classic-sdk/classes/_entities_tieredsto_.tieredsto.md)

## Index

### Constructors

* [constructor](/classic-sdk/classes/_entities_sto_.sto.md#constructor)

### Properties

* [address](/classic-sdk/classes/_entities_sto_.sto.md#address)
* [beneficialInvestmentsAllowed](/classic-sdk/classes/_entities_sto_.sto.md#beneficialinvestmentsallowed)
* [capReached](/classic-sdk/classes/_entities_sto_.sto.md#capreached)
* [context](/classic-sdk/classes/_entities_sto_.sto.md#protected-context)
* [endDate](/classic-sdk/classes/_entities_sto_.sto.md#enddate)
* [fundraiseCurrencies](/classic-sdk/classes/_entities_sto_.sto.md#fundraisecurrencies)
* [investorCount](/classic-sdk/classes/_entities_sto_.sto.md#investorcount)
* [isFinalized](/classic-sdk/classes/_entities_sto_.sto.md#isfinalized)
* [isPaused](/classic-sdk/classes/_entities_sto_.sto.md#ispaused)
* [preIssueAllowed](/classic-sdk/classes/_entities_sto_.sto.md#preissueallowed)
* [raisedAmount](/classic-sdk/classes/_entities_sto_.sto.md#raisedamount)
* [raisedFundsWallet](/classic-sdk/classes/_entities_sto_.sto.md#raisedfundswallet)
* [securityTokenId](/classic-sdk/classes/_entities_sto_.sto.md#securitytokenid)
* [securityTokenSymbol](/classic-sdk/classes/_entities_sto_.sto.md#securitytokensymbol)
* [soldTokensAmount](/classic-sdk/classes/_entities_sto_.sto.md#soldtokensamount)
* [startDate](/classic-sdk/classes/_entities_sto_.sto.md#startdate)
* [stoType](/classic-sdk/classes/_entities_sto_.sto.md#stotype)
* [uid](/classic-sdk/classes/_entities_sto_.sto.md#abstract-uid)
* [unsoldTokensWallet](/classic-sdk/classes/_entities_sto_.sto.md#unsoldtokenswallet)

### Methods

* [\_refresh](/classic-sdk/classes/_entities_sto_.sto.md#_refresh)
* [allowBeneficialInvestments](/classic-sdk/classes/_entities_sto_.sto.md#allowbeneficialinvestments)
* [allowPreIssuing](/classic-sdk/classes/_entities_sto_.sto.md#allowpreissuing)
* [assignRole](/classic-sdk/classes/_entities_sto_.sto.md#assignrole)
* [disallowBeneficialInvestments](/classic-sdk/classes/_entities_sto_.sto.md#disallowbeneficialinvestments)
* [disallowPreIssuing](/classic-sdk/classes/_entities_sto_.sto.md#disallowpreissuing)
* [finalize](/classic-sdk/classes/_entities_sto_.sto.md#finalize)
* [pause](/classic-sdk/classes/_entities_sto_.sto.md#pause)
* [revokeRole](/classic-sdk/classes/_entities_sto_.sto.md#revokerole)
* [toPojo](/classic-sdk/classes/_entities_sto_.sto.md#topojo)
* [unpause](/classic-sdk/classes/_entities_sto_.sto.md#unpause)
* [unserialize](/classic-sdk/classes/_entities_sto_.sto.md#static-unserialize)

## Constructors

### constructor

\+ **new Sto**(`params`: [Params](/classic-sdk/interfaces/_entities_sto_.params.md) & [UniqueIdentifiers](/classic-sdk/interfaces/_entities_sto_.uniqueidentifiers.md), `context`: [Context](/classic-sdk/classes/_context_.context.md)): [*Sto*](/classic-sdk/classes/_entities_sto_.sto.md)

*Defined in* [*src/entities/Sto.ts:195*](https://github.com/PolymathNetwork/polymath-sdk/blob/e8bbc1e/src/entities/Sto.ts#L195)

Create a new sto instance

**Parameters:**

| Name      | Type                                                                                                                                          |
| --------- | --------------------------------------------------------------------------------------------------------------------------------------------- |
| `params`  | [Params](/classic-sdk/interfaces/_entities_sto_.params.md) & [UniqueIdentifiers](/classic-sdk/interfaces/_entities_sto_.uniqueidentifiers.md) |
| `context` | [Context](/classic-sdk/classes/_context_.context.md)                                                                                          |

**Returns:** [*Sto*](/classic-sdk/classes/_entities_sto_.sto.md)

## Properties

### address

• **address**: *string*

*Defined in* [*src/entities/Sto.ts:107*](https://github.com/PolymathNetwork/polymath-sdk/blob/e8bbc1e/src/entities/Sto.ts#L107)

ethereum address for the STO

### beneficialInvestmentsAllowed

• **beneficialInvestmentsAllowed**: *boolean*

*Defined in* [*src/entities/Sto.ts:175*](https://github.com/PolymathNetwork/polymath-sdk/blob/e8bbc1e/src/entities/Sto.ts#L175)

whether investments can be made on behalf of a beneficiary or not

### capReached

• **capReached**: *boolean*

*Defined in* [*src/entities/Sto.ts:160*](https://github.com/PolymathNetwork/polymath-sdk/blob/e8bbc1e/src/entities/Sto.ts#L160)

whether the STO cap has been reached or not

### `Protected` context

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

*Defined in* [*src/entities/Sto.ts:177*](https://github.com/PolymathNetwork/polymath-sdk/blob/e8bbc1e/src/entities/Sto.ts#L177)

### endDate

• **endDate**: *Date*

*Defined in* [*src/entities/Sto.ts:120*](https://github.com/PolymathNetwork/polymath-sdk/blob/e8bbc1e/src/entities/Sto.ts#L120)

### fundraiseCurrencies

• **fundraiseCurrencies**: *Currency\[]*

*Defined in* [*src/entities/Sto.ts:150*](https://github.com/PolymathNetwork/polymath-sdk/blob/e8bbc1e/src/entities/Sto.ts#L150)

types of currency in which funds can be raised

### investorCount

• **investorCount**: *number*

*Defined in* [*src/entities/Sto.ts:145*](https://github.com/PolymathNetwork/polymath-sdk/blob/e8bbc1e/src/entities/Sto.ts#L145)

number of investors that have purchased tokens in the STO

### isFinalized

• **isFinalized**: *boolean*

*Defined in* [*src/entities/Sto.ts:165*](https://github.com/PolymathNetwork/polymath-sdk/blob/e8bbc1e/src/entities/Sto.ts#L165)

whether the STO has been finalized or not

### isPaused

• **isPaused**: *boolean*

*Defined in* [*src/entities/Sto.ts:155*](https://github.com/PolymathNetwork/polymath-sdk/blob/e8bbc1e/src/entities/Sto.ts#L155)

whether the STO is currently paused or not

### preIssueAllowed

• **preIssueAllowed**: *boolean*

*Defined in* [*src/entities/Sto.ts:170*](https://github.com/PolymathNetwork/polymath-sdk/blob/e8bbc1e/src/entities/Sto.ts#L170)

whether all tokens due to be sold are issued when the STO starts. If false, the appropriate amount of tokens is issued to the buyer whenever a sale is made

### raisedAmount

• **raisedAmount**: *BigNumber*

*Defined in* [*src/entities/Sto.ts:135*](https://github.com/PolymathNetwork/polymath-sdk/blob/e8bbc1e/src/entities/Sto.ts#L135)

amount of funds that have been raised so far

### raisedFundsWallet

• **raisedFundsWallet**: *string*

*Defined in* [*src/entities/Sto.ts:125*](https://github.com/PolymathNetwork/polymath-sdk/blob/e8bbc1e/src/entities/Sto.ts#L125)

wallet where raised funds will be forwarded to

### securityTokenId

• **securityTokenId**: *string*

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

### securityTokenSymbol

• **securityTokenSymbol**: *string*

*Defined in* [*src/entities/Sto.ts:109*](https://github.com/PolymathNetwork/polymath-sdk/blob/e8bbc1e/src/entities/Sto.ts#L109)

### soldTokensAmount

• **soldTokensAmount**: *BigNumber*

*Defined in* [*src/entities/Sto.ts:140*](https://github.com/PolymathNetwork/polymath-sdk/blob/e8bbc1e/src/entities/Sto.ts#L140)

total number of tokens that have been sold so far

### startDate

• **startDate**: *Date*

*Defined in* [*src/entities/Sto.ts:118*](https://github.com/PolymathNetwork/polymath-sdk/blob/e8bbc1e/src/entities/Sto.ts#L118)

### stoType

• **stoType**: [*StoType*](/classic-sdk/enums/_types_index_.stotype.md)

*Defined in* [*src/entities/Sto.ts:116*](https://github.com/PolymathNetwork/polymath-sdk/blob/e8bbc1e/src/entities/Sto.ts#L116)

type of STO setup

### `Abstract` uid

• **uid**: *string*

*Overrides* [*Entity*](/classic-sdk/classes/_entities_entity_.entity.md)*.*[*uid*](/classic-sdk/classes/_entities_entity_.entity.md#abstract-uid)

*Defined in* [*src/entities/Sto.ts:102*](https://github.com/PolymathNetwork/polymath-sdk/blob/e8bbc1e/src/entities/Sto.ts#L102)

Uniquely generated id for the STO

### unsoldTokensWallet

• **unsoldTokensWallet**: *string*

*Defined in* [*src/entities/Sto.ts:130*](https://github.com/PolymathNetwork/polymath-sdk/blob/e8bbc1e/src/entities/Sto.ts#L130)

wallet where unsold tokens will be returned to

## Methods

### \_refresh

▸ **\_refresh**(`params`: Partial‹[Params](/classic-sdk/interfaces/_entities_sto_.params.md)›): *void*

*Overrides* [*Entity*](/classic-sdk/classes/_entities_entity_.entity.md)*.*[*\_refresh*](/classic-sdk/classes/_entities_entity_.entity.md#abstract-_refresh)

*Defined in* [*src/entities/Sto.ts:438*](https://github.com/PolymathNetwork/polymath-sdk/blob/e8bbc1e/src/entities/Sto.ts#L438)

Hydrate the entity

**Parameters:**

| Name     | Type                                                                |
| -------- | ------------------------------------------------------------------- |
| `params` | Partial‹[Params](/classic-sdk/interfaces/_entities_sto_.params.md)› |

**Returns:** *void*

### allowBeneficialInvestments

▸ **allowBeneficialInvestments**(): *Promise‹*[*TransactionQueue*](/classic-sdk/classes/_entities_transactionqueue_.transactionqueue.md)*‹*[*ToggleAllowBeneficialInvestmentsProcedureArgs*](/classic-sdk/interfaces/_types_index_.toggleallowbeneficialinvestmentsprocedureargs.md)*, void››*

*Defined in* [*src/entities/Sto.ts:316*](https://github.com/PolymathNetwork/polymath-sdk/blob/e8bbc1e/src/entities/Sto.ts#L316)

Enable a party to invest in the STO on behalf of another party

**Returns:** *Promise‹*[*TransactionQueue*](/classic-sdk/classes/_entities_transactionqueue_.transactionqueue.md)*‹*[*ToggleAllowBeneficialInvestmentsProcedureArgs*](/classic-sdk/interfaces/_types_index_.toggleallowbeneficialinvestmentsprocedureargs.md)*, void››*

### allowPreIssuing

▸ **allowPreIssuing**(): *Promise‹*[*TransactionQueue*](/classic-sdk/classes/_entities_transactionqueue_.transactionqueue.md)*‹*[*ToggleAllowPreIssuingProcedureArgs*](/classic-sdk/interfaces/_types_index_.toggleallowpreissuingprocedureargs.md)*, void››*

*Defined in* [*src/entities/Sto.ts:287*](https://github.com/PolymathNetwork/polymath-sdk/blob/e8bbc1e/src/entities/Sto.ts#L287)

Enable all offered tokens to be issued instantly at STO start (default behavior is to issue on purchase) Can be disabled *BEFORE* the STO starts by calling disallowPreIssuing

**Returns:** *Promise‹*[*TransactionQueue*](/classic-sdk/classes/_entities_transactionqueue_.transactionqueue.md)*‹*[*ToggleAllowPreIssuingProcedureArgs*](/classic-sdk/interfaces/_types_index_.toggleallowpreissuingprocedureargs.md)*, void››*

### assignRole

▸ **assignRole**(`args`: object): *Promise‹*[*TransactionQueue*](/classic-sdk/classes/_entities_transactionqueue_.transactionqueue.md)*‹*[*AssignStoRoleProcedureArgs*](/classic-sdk/interfaces/_types_index_.assignstoroleprocedureargs.md)*, void››*

*Defined in* [*src/entities/Sto.ts:348*](https://github.com/PolymathNetwork/polymath-sdk/blob/e8bbc1e/src/entities/Sto.ts#L348)

Assign a role on the STO to a delegate

**Parameters:**

▪ **args**: *object*

| Name              | Type                                                   |
| ----------------- | ------------------------------------------------------ |
| `delegateAddress` | string                                                 |
| `description?`    | undefined \| string                                    |
| `role`            | [StoRole](/classic-sdk/enums/_types_index_.storole.md) |

**Returns:** *Promise‹*[*TransactionQueue*](/classic-sdk/classes/_entities_transactionqueue_.transactionqueue.md)*‹*[*AssignStoRoleProcedureArgs*](/classic-sdk/interfaces/_types_index_.assignstoroleprocedureargs.md)*, void››*

### disallowBeneficialInvestments

▸ **disallowBeneficialInvestments**(): *Promise‹*[*TransactionQueue*](/classic-sdk/classes/_entities_transactionqueue_.transactionqueue.md)*‹*[*ToggleAllowBeneficialInvestmentsProcedureArgs*](/classic-sdk/interfaces/_types_index_.toggleallowbeneficialinvestmentsprocedureargs.md)*, void››*

*Defined in* [*src/entities/Sto.ts:330*](https://github.com/PolymathNetwork/polymath-sdk/blob/e8bbc1e/src/entities/Sto.ts#L330)

Disable the possibility for a party to invest in the STO on behalf of another party

**Returns:** *Promise‹*[*TransactionQueue*](/classic-sdk/classes/_entities_transactionqueue_.transactionqueue.md)*‹*[*ToggleAllowBeneficialInvestmentsProcedureArgs*](/classic-sdk/interfaces/_types_index_.toggleallowbeneficialinvestmentsprocedureargs.md)*, void››*

### disallowPreIssuing

▸ **disallowPreIssuing**(): *Promise‹*[*TransactionQueue*](/classic-sdk/classes/_entities_transactionqueue_.transactionqueue.md)*‹*[*ToggleAllowPreIssuingProcedureArgs*](/classic-sdk/interfaces/_types_index_.toggleallowpreissuingprocedureargs.md)*, void››*

*Defined in* [*src/entities/Sto.ts:302*](https://github.com/PolymathNetwork/polymath-sdk/blob/e8bbc1e/src/entities/Sto.ts#L302)

Disable pre-issuing of offered tokens at STO start (goes back to default behavior, which is to issue on purchase) Can be re-enabled *BEFORE* the STO starts by calling allowPreIssuing

**Returns:** *Promise‹*[*TransactionQueue*](/classic-sdk/classes/_entities_transactionqueue_.transactionqueue.md)*‹*[*ToggleAllowPreIssuingProcedureArgs*](/classic-sdk/interfaces/_types_index_.toggleallowpreissuingprocedureargs.md)*, void››*

### finalize

▸ **finalize**(): *Promise‹*[*TransactionQueue*](/classic-sdk/classes/_entities_transactionqueue_.transactionqueue.md)*‹*[*FinalizeStoProcedureArgs*](/classic-sdk/interfaces/_types_index_.finalizestoprocedureargs.md)*, void››*

*Defined in* [*src/entities/Sto.ts:275*](https://github.com/PolymathNetwork/polymath-sdk/blob/e8bbc1e/src/entities/Sto.ts#L275)

Finalize the offering. The offering's treasury wallet (or the Security Token's treasury wallet if one was not specified for the offering) will receive the remaining unsold tokens. Throws an error if there are transfer restrictions which do not permit the wallet to receive that amount of tokens

**Returns:** *Promise‹*[*TransactionQueue*](/classic-sdk/classes/_entities_transactionqueue_.transactionqueue.md)*‹*[*FinalizeStoProcedureArgs*](/classic-sdk/interfaces/_types_index_.finalizestoprocedureargs.md)*, void››*

### pause

▸ **pause**(): *Promise‹*[*TransactionQueue*](/classic-sdk/classes/_entities_transactionqueue_.transactionqueue.md)*‹*[*TogglePauseStoProcedureArgs*](/classic-sdk/interfaces/_types_index_.togglepausestoprocedureargs.md)*, void››*

*Defined in* [*src/entities/Sto.ts:246*](https://github.com/PolymathNetwork/polymath-sdk/blob/e8bbc1e/src/entities/Sto.ts#L246)

Pause the offering

**Returns:** *Promise‹*[*TransactionQueue*](/classic-sdk/classes/_entities_transactionqueue_.transactionqueue.md)*‹*[*TogglePauseStoProcedureArgs*](/classic-sdk/interfaces/_types_index_.togglepausestoprocedureargs.md)*, void››*

### revokeRole

▸ **revokeRole**(`args`: object): *Promise‹*[*TransactionQueue*](/classic-sdk/classes/_entities_transactionqueue_.transactionqueue.md)*‹*[*AssignStoRoleProcedureArgs*](/classic-sdk/interfaces/_types_index_.assignstoroleprocedureargs.md)*, void››*

*Defined in* [*src/entities/Sto.ts:374*](https://github.com/PolymathNetwork/polymath-sdk/blob/e8bbc1e/src/entities/Sto.ts#L374)

Remove a role from a delegate

**Parameters:**

▪ **args**: *object*

| Name              | Type                                                   |
| ----------------- | ------------------------------------------------------ |
| `delegateAddress` | string                                                 |
| `role`            | [StoRole](/classic-sdk/enums/_types_index_.storole.md) |

**Returns:** *Promise‹*[*TransactionQueue*](/classic-sdk/classes/_entities_transactionqueue_.transactionqueue.md)*‹*[*AssignStoRoleProcedureArgs*](/classic-sdk/interfaces/_types_index_.assignstoroleprocedureargs.md)*, void››*

### toPojo

▸ **toPojo**(): *object*

*Overrides* [*Entity*](/classic-sdk/classes/_entities_entity_.entity.md)*.*[*toPojo*](/classic-sdk/classes/_entities_entity_.entity.md#abstract-topojo)

*Defined in* [*src/entities/Sto.ts:393*](https://github.com/PolymathNetwork/polymath-sdk/blob/e8bbc1e/src/entities/Sto.ts#L393)

Convert entity to a POJO (Plain Old Javascript Object)

**Returns:** *object*

* **address**: *string*
* **beneficialInvestmentsAllowed**: *boolean*
* **capReached**: *boolean*
* **endDate**: *Date*
* **fundraiseCurrencies**: *FundRaiseType\[]*
* **investorCount**: *number*
* **isFinalized**: *boolean*
* **isPaused**: *boolean*
* **preIssueAllowed**: *boolean*
* **raisedAmount**: *BigNumber*
* **raisedFundsWallet**: *string*
* **securityTokenId**: *string*
* **securityTokenSymbol**: *string*
* **soldTokensAmount**: *BigNumber*
* **startDate**: *Date*
* **uid**: *string*
* **unsoldTokensWallet**: *string*

### unpause

▸ **unpause**(): *Promise‹*[*TransactionQueue*](/classic-sdk/classes/_entities_transactionqueue_.transactionqueue.md)*‹*[*TogglePauseStoProcedureArgs*](/classic-sdk/interfaces/_types_index_.togglepausestoprocedureargs.md)*, void››*

*Defined in* [*src/entities/Sto.ts:260*](https://github.com/PolymathNetwork/polymath-sdk/blob/e8bbc1e/src/entities/Sto.ts#L260)

Unpause the offering

**Returns:** *Promise‹*[*TransactionQueue*](/classic-sdk/classes/_entities_transactionqueue_.transactionqueue.md)*‹*[*TogglePauseStoProcedureArgs*](/classic-sdk/interfaces/_types_index_.togglepausestoprocedureargs.md)*, void››*

### `Static` unserialize

▸ **unserialize**(`serialized`: string): [*UniqueIdentifiers*](/classic-sdk/interfaces/_entities_sto_.uniqueidentifiers.md)

*Defined in* [*src/entities/Sto.ts:184*](https://github.com/PolymathNetwork/polymath-sdk/blob/e8bbc1e/src/entities/Sto.ts#L184)

Unserialize string to a Security Token Offering object representation

**Parameters:**

| Name         | Type   |
| ------------ | ------ |
| `serialized` | string |

**Returns:** [*UniqueIdentifiers*](/classic-sdk/interfaces/_entities_sto_.uniqueidentifiers.md)
