> For the complete documentation index, see [llms.txt](https://developers.polymath.network/polymesh-sdk-api-reference/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/polymesh-sdk-api-reference/docs-alpha/classes/api_entities_offering.offering.md).

# api\_entities\_Offering.Offering

[@polymeshassociation/polymesh-sdk](/polymesh-sdk-api-reference/docs-alpha/classes.md) / [Modules](/polymesh-sdk-api-reference/docs-alpha/modules.md) / [api/entities/Offering](/polymesh-sdk-api-reference/docs-alpha/modules-1/api_entities_offering.md) / Offering

## Class: Offering

[api/entities/Offering](/polymesh-sdk-api-reference/docs-alpha/modules-1/api_entities_offering.md).Offering

Represents an Asset Offering in the Polymesh blockchain

### Hierarchy

* [`Entity`](/polymesh-sdk-api-reference/docs-alpha/classes/api_entities_entity.entity.md)<[`UniqueIdentifiers`](/polymesh-sdk-api-reference/docs-alpha/interfaces/api_entities_offering.uniqueidentifiers.md), `HumanReadable`>

  ↳ **`Offering`**

### Table of contents

#### Properties

* [asset](#asset)
* [id](#id)
* [uuid](#uuid)

#### Methods

* [close](#close)
* [details](#details)
* [exists](#exists)
* [freeze](#freeze)
* [getInvestments](#getinvestments)
* [invest](#invest)
* [isEqual](#isequal)
* [modifyTimes](#modifytimes)
* [toHuman](#tohuman)
* [unfreeze](#unfreeze)
* [generateUuid](#generateuuid)
* [unserialize](#unserialize)

### Properties

#### asset

• **asset**: [`Asset`](/polymesh-sdk-api-reference/docs-alpha/classes/api_entities_asset.asset.md)

Asset being offered

**Defined in**

[api/entities/Offering/index.ts:66](https://github.com/PolymathNetwork/polymesh-sdk/blob/31dfa0dc/src/api/entities/Offering/index.ts#L66)

***

#### id

• **id**: `BigNumber`

identifier number of the Offering

**Defined in**

[api/entities/Offering/index.ts:61](https://github.com/PolymathNetwork/polymesh-sdk/blob/31dfa0dc/src/api/entities/Offering/index.ts#L61)

***

#### uuid

• **uuid**: `string`

**Inherited from**

[Entity](/polymesh-sdk-api-reference/docs-alpha/classes/api_entities_entity.entity.md).[uuid](/polymesh-sdk-api-reference/docs-alpha/classes/api_entities_entity.entity.md#uuid)

**Defined in**

[api/entities/Entity.ts:46](https://github.com/PolymathNetwork/polymesh-sdk/blob/31dfa0dc/src/api/entities/Entity.ts#L46)

### Methods

#### close

▸ **close**(`opts?`): `Promise`<`TransactionQueue`<`void`, `void`, `unknown`\[]\[]>>

Close the Offering

**`note`** this method is of type [NoArgsProcedureMethod](/polymesh-sdk-api-reference/docs-alpha/interfaces/types.noargsproceduremethod.md), which means you can call [close.checkAuthorization](/polymesh-sdk-api-reference/docs-alpha/interfaces/types.noargsproceduremethod.md#checkauthorization) on it to see whether the signing Account and Identity have the required roles and permissions to run it

**Parameters**

| Name    | Type                                                                                        |
| ------- | ------------------------------------------------------------------------------------------- |
| `opts?` | [`ProcedureOpts`](/polymesh-sdk-api-reference/docs-alpha/interfaces/types.procedureopts.md) |

**Returns**

`Promise`<`TransactionQueue`<`void`, `void`, `unknown`\[]\[]>>

**Defined in**

[api/entities/Offering/index.ts:159](https://github.com/PolymathNetwork/polymesh-sdk/blob/31dfa0dc/src/api/entities/Offering/index.ts#L159)

***

#### details

▸ **details**(): `Promise`<[`OfferingDetails`](/polymesh-sdk-api-reference/docs-alpha/interfaces/api_entities_offering_types.offeringdetails.md)>

Retrieve the Offering's details

**`note`** can be subscribed to

**Returns**

`Promise`<[`OfferingDetails`](/polymesh-sdk-api-reference/docs-alpha/interfaces/api_entities_offering_types.offeringdetails.md)>

**Defined in**

[api/entities/Offering/index.ts:112](https://github.com/PolymathNetwork/polymesh-sdk/blob/31dfa0dc/src/api/entities/Offering/index.ts#L112)

▸ **details**(`callback`): `Promise`<[`UnsubCallback`](/polymesh-sdk-api-reference/docs-alpha/modules-1/types.md#unsubcallback)>

**Parameters**

| Name       | Type                                                                                                                                                                                                          |
| ---------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `callback` | [`SubCallback`](/polymesh-sdk-api-reference/docs-alpha/modules-1/types.md#subcallback)<[`OfferingDetails`](/polymesh-sdk-api-reference/docs-alpha/interfaces/api_entities_offering_types.offeringdetails.md)> |

**Returns**

`Promise`<[`UnsubCallback`](/polymesh-sdk-api-reference/docs-alpha/modules-1/types.md#unsubcallback)>

**Defined in**

[api/entities/Offering/index.ts:113](https://github.com/PolymathNetwork/polymesh-sdk/blob/31dfa0dc/src/api/entities/Offering/index.ts#L113)

***

#### exists

▸ **exists**(): `Promise`<`boolean`>

Determine whether this Offering exists on chain

**Returns**

`Promise`<`boolean`>

**Overrides**

[Entity](/polymesh-sdk-api-reference/docs-alpha/classes/api_entities_entity.entity.md).[exists](/polymesh-sdk-api-reference/docs-alpha/classes/api_entities_entity.entity.md#exists)

**Defined in**

[api/entities/Offering/index.ts:278](https://github.com/PolymathNetwork/polymesh-sdk/blob/31dfa0dc/src/api/entities/Offering/index.ts#L278)

***

#### freeze

▸ **freeze**(`opts?`): `Promise`<`TransactionQueue`<[`Offering`](/polymesh-sdk-api-reference/docs-alpha/classes/api_entities_offering.offering.md), [`Offering`](/polymesh-sdk-api-reference/docs-alpha/classes/api_entities_offering.offering.md), `unknown`\[]\[]>>

Freeze the Offering

**`note`** this method is of type [NoArgsProcedureMethod](/polymesh-sdk-api-reference/docs-alpha/interfaces/types.noargsproceduremethod.md), which means you can call [freeze.checkAuthorization](/polymesh-sdk-api-reference/docs-alpha/interfaces/types.noargsproceduremethod.md#checkauthorization) on it to see whether the signing Account and Identity have the required roles and permissions to run it

**Parameters**

| Name    | Type                                                                                        |
| ------- | ------------------------------------------------------------------------------------------- |
| `opts?` | [`ProcedureOpts`](/polymesh-sdk-api-reference/docs-alpha/interfaces/types.procedureopts.md) |

**Returns**

`Promise`<`TransactionQueue`<[`Offering`](/polymesh-sdk-api-reference/docs-alpha/classes/api_entities_offering.offering.md), [`Offering`](/polymesh-sdk-api-reference/docs-alpha/classes/api_entities_offering.offering.md), `unknown`\[]\[]>>

**Defined in**

[api/entities/Offering/index.ts:169](https://github.com/PolymathNetwork/polymesh-sdk/blob/31dfa0dc/src/api/entities/Offering/index.ts#L169)

***

#### getInvestments

▸ **getInvestments**(`opts?`): `Promise`<[`ResultSet`](/polymesh-sdk-api-reference/docs-alpha/interfaces/types.resultset.md)<[`Investment`](/polymesh-sdk-api-reference/docs-alpha/interfaces/api_entities_offering_types.investment.md)>>

Retrieve all investments made on this Offering

**`note`** supports pagination

**`note`** uses the middleware

**Parameters**

| Name          | Type        | Description |
| ------------- | ----------- | ----------- |
| `opts`        | `Object`    | -           |
| `opts.size?`  | `BigNumber` | page size   |
| `opts.start?` | `BigNumber` | page offset |

**Returns**

`Promise`<[`ResultSet`](/polymesh-sdk-api-reference/docs-alpha/interfaces/types.resultset.md)<[`Investment`](/polymesh-sdk-api-reference/docs-alpha/interfaces/api_entities_offering_types.investment.md)>>

**Defined in**

[api/entities/Offering/index.ts:221](https://github.com/PolymathNetwork/polymesh-sdk/blob/31dfa0dc/src/api/entities/Offering/index.ts#L221)

***

#### invest

▸ **invest**(`args`, `opts?`): `Promise`<`TransactionQueue`<`void`, `void`, `unknown`\[]\[]>>

Invest in the Offering

**`note`** required roles:

* Purchase Portfolio Custodian
* Funding Portfolio Custodian

**`note`** this method is of type [ProcedureMethod](/polymesh-sdk-api-reference/docs-alpha/interfaces/types.proceduremethod.md), which means you can call [invest.checkAuthorization](/polymesh-sdk-api-reference/docs-alpha/interfaces/types.proceduremethod.md#checkauthorization) on it to see whether the signing Account and Identity have the required roles and permissions to run it

**Parameters**

| Name    | Type                                                                                                                                    |
| ------- | --------------------------------------------------------------------------------------------------------------------------------------- |
| `args`  | [`InvestInOfferingParams`](/polymesh-sdk-api-reference/docs-alpha/interfaces/api_procedures_investinoffering.investinofferingparams.md) |
| `opts?` | [`ProcedureOpts`](/polymesh-sdk-api-reference/docs-alpha/interfaces/types.procedureopts.md)                                             |

**Returns**

`Promise`<`TransactionQueue`<`void`, `void`, `unknown`\[]\[]>>

**Defined in**

[api/entities/Offering/index.ts:208](https://github.com/PolymathNetwork/polymesh-sdk/blob/31dfa0dc/src/api/entities/Offering/index.ts#L208)

***

#### isEqual

▸ **isEqual**(`entity`): `boolean`

Determine whether this Entity is the same as another one

**Parameters**

| Name     | Type                                                                                                           |
| -------- | -------------------------------------------------------------------------------------------------------------- |
| `entity` | [`Entity`](/polymesh-sdk-api-reference/docs-alpha/classes/api_entities_entity.entity.md)<`unknown`, `unknown`> |

**Returns**

`boolean`

**Inherited from**

[Entity](/polymesh-sdk-api-reference/docs-alpha/classes/api_entities_entity.entity.md).[isEqual](/polymesh-sdk-api-reference/docs-alpha/classes/api_entities_entity.entity.md#isequal)

**Defined in**

[api/entities/Entity.ts:61](https://github.com/PolymathNetwork/polymesh-sdk/blob/31dfa0dc/src/api/entities/Entity.ts#L61)

***

#### modifyTimes

▸ **modifyTimes**(`args`, `opts?`): `Promise`<`TransactionQueue`<`void`, `void`, `unknown`\[]\[]>>

Modify the start/end time of the Offering

**`throws`** if:

* Trying to modify the start time on an Offering that already started
* Trying to modify anything on an Offering that already ended
* Trying to change start or end time to a past date

**`note`** this method is of type [ProcedureMethod](/polymesh-sdk-api-reference/docs-alpha/interfaces/types.proceduremethod.md), which means you can call [modifyTimes.checkAuthorization](/polymesh-sdk-api-reference/docs-alpha/interfaces/types.proceduremethod.md#checkauthorization) on it to see whether the signing Account and Identity have the required roles and permissions to run it

**Parameters**

| Name    | Type                                                                                                                                            |
| ------- | ----------------------------------------------------------------------------------------------------------------------------------------------- |
| `args`  | [`ModifyOfferingTimesParams`](/polymesh-sdk-api-reference/docs-alpha/modules-1/api_procedures_modifyofferingtimes.md#modifyofferingtimesparams) |
| `opts?` | [`ProcedureOpts`](/polymesh-sdk-api-reference/docs-alpha/interfaces/types.procedureopts.md)                                                     |

**Returns**

`Promise`<`TransactionQueue`<`void`, `void`, `unknown`\[]\[]>>

**Defined in**

[api/entities/Offering/index.ts:194](https://github.com/PolymathNetwork/polymesh-sdk/blob/31dfa0dc/src/api/entities/Offering/index.ts#L194)

***

#### toHuman

▸ **toHuman**(): `HumanReadable`

Return the Offering's ID and Asset ticker

**Returns**

`HumanReadable`

**Overrides**

[Entity](/polymesh-sdk-api-reference/docs-alpha/classes/api_entities_entity.entity.md).[toHuman](/polymesh-sdk-api-reference/docs-alpha/classes/api_entities_entity.entity.md#tohuman)

**Defined in**

[api/entities/Offering/index.ts:296](https://github.com/PolymathNetwork/polymesh-sdk/blob/31dfa0dc/src/api/entities/Offering/index.ts#L296)

***

#### unfreeze

▸ **unfreeze**(`opts?`): `Promise`<`TransactionQueue`<[`Offering`](/polymesh-sdk-api-reference/docs-alpha/classes/api_entities_offering.offering.md), [`Offering`](/polymesh-sdk-api-reference/docs-alpha/classes/api_entities_offering.offering.md), `unknown`\[]\[]>>

Unfreeze the Offering

**`note`** this method is of type [NoArgsProcedureMethod](/polymesh-sdk-api-reference/docs-alpha/interfaces/types.noargsproceduremethod.md), which means you can call [unfreeze.checkAuthorization](/polymesh-sdk-api-reference/docs-alpha/interfaces/types.noargsproceduremethod.md#checkauthorization) on it to see whether the signing Account and Identity have the required roles and permissions to run it

**Parameters**

| Name    | Type                                                                                        |
| ------- | ------------------------------------------------------------------------------------------- |
| `opts?` | [`ProcedureOpts`](/polymesh-sdk-api-reference/docs-alpha/interfaces/types.procedureopts.md) |

**Returns**

`Promise`<`TransactionQueue`<[`Offering`](/polymesh-sdk-api-reference/docs-alpha/classes/api_entities_offering.offering.md), [`Offering`](/polymesh-sdk-api-reference/docs-alpha/classes/api_entities_offering.offering.md), `unknown`\[]\[]>>

**Defined in**

[api/entities/Offering/index.ts:179](https://github.com/PolymathNetwork/polymesh-sdk/blob/31dfa0dc/src/api/entities/Offering/index.ts#L179)

***

#### generateUuid

▸ `Static` **generateUuid**<`Identifiers`>(`identifiers`): `string`

Generate the Entity's UUID from its identifying properties

**Type parameters**

| Name          |
| ------------- |
| `Identifiers` |

**Parameters**

| Name          | Type          |
| ------------- | ------------- |
| `identifiers` | `Identifiers` |

**Returns**

`string`

**Inherited from**

[Entity](/polymesh-sdk-api-reference/docs-alpha/classes/api_entities_entity.entity.md).[generateUuid](/polymesh-sdk-api-reference/docs-alpha/classes/api_entities_entity.entity.md#generateuuid)

**Defined in**

[api/entities/Entity.ts:14](https://github.com/PolymathNetwork/polymesh-sdk/blob/31dfa0dc/src/api/entities/Entity.ts#L14)

***

#### unserialize

▸ `Static` **unserialize**<`Identifiers`>(`serialized`): `Identifiers`

Unserialize a UUID into its Unique Identifiers

**Type parameters**

| Name          |
| ------------- |
| `Identifiers` |

**Parameters**

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

**Returns**

`Identifiers`

**Inherited from**

[Entity](/polymesh-sdk-api-reference/docs-alpha/classes/api_entities_entity.entity.md).[unserialize](/polymesh-sdk-api-reference/docs-alpha/classes/api_entities_entity.entity.md#unserialize)

**Defined in**

[api/entities/Entity.ts:23](https://github.com/PolymathNetwork/polymesh-sdk/blob/31dfa0dc/src/api/entities/Entity.ts#L23)
