# Portfolio

Represents a base Portfolio for a specific Identity in the Polymesh blockchain

## Hierarchy

* [Entity](https://developers.polymath.network/polymesh-sdk-api-reference/docs-v4/classes/entity)‹UniqueIdentifiers›

  ↳ **Portfolio**

  ↳ [DefaultPortfolio](https://developers.polymath.network/polymesh-sdk-api-reference/docs-v4/classes/defaultportfolio)

  ↳ [NumberedPortfolio](https://developers.polymath.network/polymesh-sdk-api-reference/docs-v4/classes/numberedportfolio)

## Index

### Properties

* [\_id](#protected-optional-_id)
* [context](#protected-context)
* [moveFunds](#movefunds)
* [owner](#owner)
* [setCustodian](#setcustodian)
* [uuid](#uuid)

### Methods

* [getCustodian](#getcustodian)
* [getTokenBalances](#gettokenbalances)
* [getTransactionHistory](#gettransactionhistory)
* [isCustodiedBy](#iscustodiedby)
* [isOwnedBy](#isownedby)
* [generateUuid](#static-generateuuid)
* [unserialize](#static-unserialize)

## Properties

### `Protected` `Optional` \_id

• **\_id**? : *BigNumber*

*Defined in* [*src/api/entities/Portfolio/index.ts:59*](https://github.com/PolymathNetwork/polymesh-sdk/blob/a0872cf4/src/api/entities/Portfolio/index.ts#L59)

internal Portfolio identifier (unused for default Portfolio)

### `Protected` context

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

*Inherited from* [*Entity*](https://developers.polymath.network/polymesh-sdk-api-reference/docs-v4/classes/entity)*.*[*context*](https://developers.polymath.network/polymesh-sdk-api-reference/docs-v4/entity#protected-context)

*Defined in* [*src/api/entities/Entity.ts:48*](https://github.com/PolymathNetwork/polymesh-sdk/blob/a0872cf4/src/api/entities/Entity.ts#L48)

### moveFunds

• **moveFunds**: *ProcedureMethod‹*[*MoveFundsParams*](https://developers.polymath.network/polymesh-sdk-api-reference/docs-v4/interfaces/movefundsparams)*, void›*

*Defined in* [*src/api/entities/Portfolio/index.ts:202*](https://github.com/PolymathNetwork/polymesh-sdk/blob/a0872cf4/src/api/entities/Portfolio/index.ts#L202)

Moves funds from this Portfolio to another one owned by the same Identity

**`param`** portfolio (or portfolio ID) that will receive the funds. Optional, if no value is passed, the funds will be moved to the default Portfolio of this Portfolio's owner

**`param`** list of tokens (and their corresponding amounts) that will be moved

**`note`** required role:

* Portfolio Custodian

### owner

• **owner**: [*Identity*](https://developers.polymath.network/polymesh-sdk-api-reference/docs-v4/classes/identity)

*Defined in* [*src/api/entities/Portfolio/index.ts:54*](https://github.com/PolymathNetwork/polymesh-sdk/blob/a0872cf4/src/api/entities/Portfolio/index.ts#L54)

identity of the Portfolio's owner

### setCustodian

• **setCustodian**: *ProcedureMethod‹*[*SetCustodianParams*](https://developers.polymath.network/polymesh-sdk-api-reference/docs-v4/interfaces/setcustodianparams)*, void›*

*Defined in* [*src/api/entities/Portfolio/index.ts:190*](https://github.com/PolymathNetwork/polymesh-sdk/blob/a0872cf4/src/api/entities/Portfolio/index.ts#L190)

Send an invitation to an Identity to assign it as custodian for this Portfolio

**`note`** this may create an AuthorizationRequest which has to be accepted by the corresponding Identity. An Account or Identity can fetch its pending Authorization Requests by calling `authorizations.getReceived`

**`note`** required role:

* Portfolio Custodian

### uuid

• **uuid**: *string*

*Inherited from* [*Entity*](https://developers.polymath.network/polymesh-sdk-api-reference/docs-v4/classes/entity)*.*[*uuid*](https://developers.polymath.network/polymesh-sdk-api-reference/docs-v4/entity#uuid)

*Defined in* [*src/api/entities/Entity.ts:46*](https://github.com/PolymathNetwork/polymesh-sdk/blob/a0872cf4/src/api/entities/Entity.ts#L46)

## Methods

### getCustodian

▸ **getCustodian**(): *Promise‹*[*Identity*](https://developers.polymath.network/polymesh-sdk-api-reference/docs-v4/classes/identity)*›*

*Defined in* [*src/api/entities/Portfolio/index.ts:209*](https://github.com/PolymathNetwork/polymesh-sdk/blob/a0872cf4/src/api/entities/Portfolio/index.ts#L209)

Retrieve the custodian Identity of this Portfolio

**`note`** if no custodian is set, the owner Identity is returned

**Returns:** *Promise‹*[*Identity*](https://developers.polymath.network/polymesh-sdk-api-reference/docs-v4/classes/identity)*›*

### getTokenBalances

▸ **getTokenBalances**(`args?`: undefined | object): *Promise‹*[*PortfolioBalance*](https://developers.polymath.network/polymesh-sdk-api-reference/docs-v4/interfaces/portfoliobalance)*\[]›*

*Defined in* [*src/api/entities/Portfolio/index.ts:116*](https://github.com/PolymathNetwork/polymesh-sdk/blob/a0872cf4/src/api/entities/Portfolio/index.ts#L116)

Retrieve the balances of all assets in this Portfolio

**Parameters:**

| Name    | Type                |
| ------- | ------------------- |
| `args?` | undefined \| object |

**Returns:** *Promise‹*[*PortfolioBalance*](https://developers.polymath.network/polymesh-sdk-api-reference/docs-v4/interfaces/portfoliobalance)*\[]›*

### getTransactionHistory

▸ **getTransactionHistory**(`filters`: object): *Promise‹*[*ResultSet*](https://developers.polymath.network/polymesh-sdk-api-reference/docs-v4/interfaces/resultset)*‹*[*HistoricSettlement*](https://developers.polymath.network/polymesh-sdk-api-reference/docs-v4/interfaces/historicsettlement)*››*

*Defined in* [*src/api/entities/Portfolio/index.ts:244*](https://github.com/PolymathNetwork/polymesh-sdk/blob/a0872cf4/src/api/entities/Portfolio/index.ts#L244)

Retrieve a list of transactions where this portfolio was involved. Can be filtered using parameters

**`note`** supports pagination

**`note`** uses the middleware

**Parameters:**

▪`Default value` **filters**: *object*= {}

| Name       | Type                | Description                        |
| ---------- | ------------------- | ---------------------------------- |
| `account?` | undefined \| string | account involved in the settlement |
| `size?`    | undefined \| number | page size                          |
| `start?`   | undefined \| number | page offset                        |
| `ticker?`  | undefined \| string | ticker involved in the transaction |

**Returns:** *Promise‹*[*ResultSet*](https://developers.polymath.network/polymesh-sdk-api-reference/docs-v4/interfaces/resultset)*‹*[*HistoricSettlement*](https://developers.polymath.network/polymesh-sdk-api-reference/docs-v4/interfaces/historicsettlement)*››*

### isCustodiedBy

▸ **isCustodiedBy**(`args?`: undefined | object): *Promise‹boolean›*

*Defined in* [*src/api/entities/Portfolio/index.ts:100*](https://github.com/PolymathNetwork/polymesh-sdk/blob/a0872cf4/src/api/entities/Portfolio/index.ts#L100)

Return whether an Identity is the Portfolio custodian

**Parameters:**

| Name    | Type                |
| ------- | ------------------- |
| `args?` | undefined \| object |

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

### isOwnedBy

▸ **isOwnedBy**(`args?`: undefined | object): *Promise‹boolean›*

*Defined in* [*src/api/entities/Portfolio/index.ts:84*](https://github.com/PolymathNetwork/polymesh-sdk/blob/a0872cf4/src/api/entities/Portfolio/index.ts#L84)

Return whether an Identity is the Portfolio owner

**Parameters:**

| Name    | Type                |
| ------- | ------------------- |
| `args?` | undefined \| object |

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

### `Static` generateUuid

▸ **generateUuid**‹**Identifiers**›(`identifiers`: Identifiers): *string*

*Inherited from* [*Entity*](https://developers.polymath.network/polymesh-sdk-api-reference/docs-v4/classes/entity)*.*[*generateUuid*](https://developers.polymath.network/polymesh-sdk-api-reference/docs-v4/entity#static-generateuuid)

*Defined in* [*src/api/entities/Entity.ts:14*](https://github.com/PolymathNetwork/polymesh-sdk/blob/a0872cf4/src/api/entities/Entity.ts#L14)

Generate the Entity's UUID from its identifying properties

**Type parameters:**

▪ **Identifiers**: *object*

**Parameters:**

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

**Returns:** *string*

### `Static` unserialize

▸ **unserialize**‹**Identifiers**›(`serialized`: string): *Identifiers*

*Inherited from* [*Entity*](https://developers.polymath.network/polymesh-sdk-api-reference/docs-v4/classes/entity)*.*[*unserialize*](https://developers.polymath.network/polymesh-sdk-api-reference/docs-v4/entity#static-unserialize)

*Defined in* [*src/api/entities/Entity.ts:23*](https://github.com/PolymathNetwork/polymesh-sdk/blob/a0872cf4/src/api/entities/Entity.ts#L23)

Unserialize a UUID into its Unique Identifiers

**Type parameters:**

▪ **Identifiers**: *object*

**Parameters:**

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

**Returns:** *Identifiers*
