Skip to main content
Version: 29.0.x

Class: NftCollection

Defined in: src/api/entities/Asset/NonFungible/NftCollection.ts:60

Class used to manage NFT functionality

Extends

Properties

assetHolders

assetHolders: AssetHolders

Defined in: src/api/entities/Asset/NonFungible/NftCollection.ts:61


compliance

compliance: Compliance

Defined in: src/api/entities/Asset/Base/BaseAsset.ts:70

Inherited from

BaseAsset.compliance


documents

documents: Documents

Defined in: src/api/entities/Asset/Base/BaseAsset.ts:71

Inherited from

BaseAsset.documents


id

id: string

Defined in: src/api/entities/Asset/Base/BaseAsset.ts:78

Unique ID of the Asset in UUID format

Inherited from

BaseAsset.id


metadata

metadata: Metadata

Defined in: src/api/entities/Asset/Base/BaseAsset.ts:72

Inherited from

BaseAsset.metadata


permissions

permissions: Permissions

Defined in: src/api/entities/Asset/Base/BaseAsset.ts:73

Inherited from

BaseAsset.permissions


settlements

settlements: NonFungibleSettlements

Defined in: src/api/entities/Asset/NonFungible/NftCollection.ts:62


uuid

uuid: string

Defined in: src/api/entities/Entity.ts:46

Inherited from

BaseAsset.uuid

Accessors

rawId

Get Signature

get rawId(): string

Defined in: src/api/entities/Asset/Base/BaseAsset.ts:85

Unique ID of the Asset in hex format

Note

Although UUID format is the usual representation of asset IDs, generic polkadot/substrate tools usually expect it in hex format

Returns

string

Inherited from

BaseAsset.rawId

Methods

addRequiredMediators()

addRequiredMediators(args: AssetMediatorParams, opts?: ProcedureOpts): Promise<GenericPolymeshTransaction<void, void>>

Defined in: src/api/entities/Asset/Base/BaseAsset.ts:212

Add required mediators. Mediators must approve any trades involving the asset

Parameters

ParameterType

args

AssetMediatorParams

opts?

ProcedureOpts

Returns

Promise<GenericPolymeshTransaction<void, void>>

Note

this method is of type ProcedureMethod, which means you can call addRequiredMediators.checkAuthorization on it to see whether the signing Account and Identity have the required roles and permissions to run it

Inherited from

BaseAsset.addRequiredMediators


collectionKeys()

collectionKeys(): Promise<CollectionKey[]>

Defined in: src/api/entities/Asset/NonFungible/NftCollection.ts:170

Retrieve the metadata that defines the NFT collection. Every issue call for this collection must provide a value for each element returned

Returns

Promise<CollectionKey[]>

Note

Each NFT must have an entry for each value, it should comply with the spec. In other words, the SDK only validates the presence of metadata keys, additional validation should be used when issuing


controllerTransfer()

controllerTransfer(args: NftControllerTransferParams, opts?: ProcedureOpts): Promise<GenericPolymeshTransaction<void, void>>

Defined in: src/api/entities/Asset/NonFungible/NftCollection.ts:73

Force a transfer from the origin portfolio to one of the caller's portfolios

Parameters

ParameterType

args

NftControllerTransferParams

opts?

ProcedureOpts

Returns

Promise<GenericPolymeshTransaction<void, void>>

Note

this method is of type ProcedureMethod, which means you can call controllerTransfer.checkAuthorization on it to see whether the signing Account and Identity have the required roles and permissions to run it


createdAt()

createdAt(): Promise<null | EventIdentifier>

Defined in: src/api/entities/Asset/NonFungible/NftCollection.ts:259

Retrieve the identifier data (block number, date and event index) of the event that was emitted when the token was created

Returns

Promise<null | EventIdentifier>

Note

uses the middlewareV2

Note

there is a possibility that the data is not ready by the time it is requested. In that case, null is returned


currentFundingRound()

Call Signature

currentFundingRound(): Promise<null | string>

Defined in: src/api/entities/Asset/Base/BaseAsset.ts:499

Retrieve the Asset's funding round

Returns

Promise<null | string>

Promise that resolves to the current funding round name or null if not set

Inherited from

BaseAsset.currentFundingRound

Call Signature

currentFundingRound(callback: SubCallback<null | string>): Promise<UnsubCallback>

Defined in: src/api/entities/Asset/Base/BaseAsset.ts:509

Retrieve the Asset's funding round

Parameters
ParameterTypeDescription

callback

SubCallback<null | string>

Callback function that receives funding round updates

Returns

Promise<UnsubCallback>

Promise that resolves to an unsubscribe function

Note

can be subscribed to, if connected to node using a web socket

Inherited from

BaseAsset.currentFundingRound


details()

Call Signature

details(): Promise<AssetDetails>

Defined in: src/api/entities/Asset/NonFungible/NftCollection.ts:111

Retrieve the NftCollection's data

Returns

Promise<AssetDetails>

Promise that resolves to the NftCollection details

Overrides

BaseAsset.details

Call Signature

details(callback: SubCallback<AssetDetails>): Promise<UnsubCallback>

Defined in: src/api/entities/Asset/NonFungible/NftCollection.ts:121

Retrieve the NftCollection's data

Parameters
ParameterTypeDescription

callback

SubCallback<AssetDetails>

Callback function that receives NftCollection details updates

Returns

Promise<UnsubCallback>

Promise that resolves to an unsubscribe function

Note

can be subscribed to, if connected to node using a web socket

Overrides

BaseAsset.details


exists()

exists(): Promise<boolean>

Defined in: src/api/entities/Asset/NonFungible/NftCollection.ts:282

Determine whether this NftCollection exists on chain

Returns

Promise<boolean>

Overrides

BaseAsset.exists


freeze()

freeze(opts?: ProcedureOpts): Promise<GenericPolymeshTransaction<void, void>>

Defined in: src/api/entities/Asset/Base/BaseAsset.ts:202

Freeze transfers of the Asset

Parameters

ParameterType

opts?

ProcedureOpts

Returns

Promise<GenericPolymeshTransaction<void, void>>

Note

this method is of type NoArgsProcedureMethod, which means you can call freeze.checkAuthorization on it to see whether the signing Account and Identity have the required roles and permissions to run it

Inherited from

BaseAsset.freeze


getCollectionId()

getCollectionId(): Promise<BigNumber>

Defined in: src/api/entities/Asset/NonFungible/NftCollection.ts:301

Returns the collection's on chain numeric ID. Used primarily to access NFT specific storage values

Returns

Promise<BigNumber>


getIdentifiers()

Call Signature

getIdentifiers(): Promise<SecurityIdentifier[]>

Defined in: src/api/entities/Asset/Base/BaseAsset.ts:241

Retrieve the Asset's identifiers list

Returns

Promise<SecurityIdentifier[]>

Promise that resolves to the list of security identifiers

Inherited from

BaseAsset.getIdentifiers

Call Signature

getIdentifiers(callback?: SubCallback<SecurityIdentifier[]>): Promise<UnsubCallback>

Defined in: src/api/entities/Asset/Base/BaseAsset.ts:251

Retrieve the Asset's identifiers list

Parameters
ParameterTypeDescription

callback?

SubCallback<SecurityIdentifier[]>

Callback function that receives identifier updates

Returns

Promise<UnsubCallback>

Promise that resolves to an unsubscribe function

Note

can be subscribed to, if connected to node using a web socket

Inherited from

BaseAsset.getIdentifiers


getNft()

getNft(args: object): Promise<Nft>

Defined in: src/api/entities/Asset/NonFungible/NftCollection.ts:235

Get an NFT belonging to this collection

Parameters

ParameterType

args

{ id: BigNumber; }

args.id

BigNumber

Returns

Promise<Nft>

Throws

if the given NFT does not exist


getRequiredMediators()

getRequiredMediators(): Promise<Identity[]>

Defined in: src/api/entities/Asset/Base/BaseAsset.ts:444

Get required Asset mediators. These Identities must approve any Instruction involving the asset

Returns

Promise<Identity[]>

Inherited from

BaseAsset.getRequiredMediators


getTransactionHistory()

getTransactionHistory(opts: object): Promise<ResultSet<HistoricNftTransaction>>

Defined in: src/api/entities/Asset/NonFungible/NftCollection.ts:328

Retrieve this Collection's transaction history

Parameters

ParameterType

opts

{ size?: BigNumber; start?: BigNumber; }

opts.size?

BigNumber

opts.start?

BigNumber

Returns

Promise<ResultSet<HistoricNftTransaction>>

Note

uses the middlewareV2


getVenueFilteringDetails()

getVenueFilteringDetails(): Promise<VenueFilteringDetails>

Defined in: src/api/entities/Asset/Base/BaseAsset.ts:464

Get venue filtering details

Returns

Promise<VenueFilteringDetails>

Inherited from

BaseAsset.getVenueFilteringDetails


investorCount()

investorCount(): Promise<BigNumber>

Defined in: src/api/entities/Asset/NonFungible/NftCollection.ts:213

Retrieve the amount of unique investors that hold this Nft

Returns

Promise<BigNumber>


isEqual()

isEqual(entity: Entity<unknown, unknown>): boolean

Defined in: src/api/entities/Entity.ts:61

Determine whether this Entity is the same as another one

Parameters

ParameterType

entity

Entity<unknown, unknown>

Returns

boolean

Inherited from

BaseAsset.isEqual


isFrozen()

Call Signature

isFrozen(): Promise<boolean>

Defined in: src/api/entities/Asset/Base/BaseAsset.ts:289

Check whether transfers are frozen for the Asset

Returns

Promise<boolean>

Promise that resolves to true if transfers are frozen, false otherwise

Inherited from

BaseAsset.isFrozen

Call Signature

isFrozen(callback: SubCallback<boolean>): Promise<UnsubCallback>

Defined in: src/api/entities/Asset/Base/BaseAsset.ts:299

Check whether transfers are frozen for the Asset

Parameters
ParameterTypeDescription

callback

SubCallback<boolean>

Callback function that receives frozen status updates

Returns

Promise<UnsubCallback>

Promise that resolves to an unsubscribe function

Note

can be subscribed to, if connected to node using a web socket

Inherited from

BaseAsset.isFrozen


issue()

issue(args: IssueNftParams, opts?: ProcedureOpts): Promise<GenericPolymeshTransaction<Nft, Nft>>

Defined in: src/api/entities/Asset/NonFungible/NftCollection.ts:68

Issues a new NFT for the collection

Parameters

ParameterType

args

IssueNftParams

opts?

ProcedureOpts

Returns

Promise<GenericPolymeshTransaction<Nft, Nft>>

Note

Each NFT requires metadata for each value returned by collectionKeys. The SDK and chain only validate the presence of these fields. Additional validation may be needed to ensure each value complies with the specification.

Note

this method is of type ProcedureMethod, which means you can call issue.checkAuthorization on it to see whether the signing Account and Identity have the required roles and permissions to run it


linkTicker()

linkTicker(args: LinkTickerToAssetParams, opts?: ProcedureOpts): Promise<GenericPolymeshTransaction<void, void>>

Defined in: src/api/entities/Asset/Base/BaseAsset.ts:225

Link ticker to the asset

Parameters

ParameterType

args

LinkTickerToAssetParams

opts?

ProcedureOpts

Returns

Promise<GenericPolymeshTransaction<void, void>>

Note

if ticker is already reserved, then required role:

  • Ticker Owner

Note

this method is of type ProcedureMethod, which means you can call linkTicker.checkAuthorization on it to see whether the signing Account and Identity have the required roles and permissions to run it

Inherited from

BaseAsset.linkTicker


modify()

modify(args: ModifyAssetParams, opts?: ProcedureOpts): Promise<GenericPolymeshTransaction<Asset, Asset>>

Defined in: src/api/entities/Asset/Base/BaseAsset.ts:121

Modify some properties of the Asset

Parameters

ParameterType

args

ModifyAssetParams

opts?

ProcedureOpts

Returns

Promise<GenericPolymeshTransaction<Asset, Asset>>

Throws

if the passed values result in no changes being made to the Asset

Throws

if the passed assetType is not a known asset type or a custom type that has not been created on the chain

Throws

if trying to modify an NftCollection's assetType

Note

this method is of type ProcedureMethod, which means you can call modify.checkAuthorization on it to see whether the signing Account and Identity have the required roles and permissions to run it

Inherited from

BaseAsset.modify


removeRequiredMediators()

removeRequiredMediators(args: AssetMediatorParams, opts?: ProcedureOpts): Promise<GenericPolymeshTransaction<void, void>>

Defined in: src/api/entities/Asset/Base/BaseAsset.ts:217

Remove required mediators

Parameters

ParameterType

args

AssetMediatorParams

opts?

ProcedureOpts

Returns

Promise<GenericPolymeshTransaction<void, void>>

Note

this method is of type ProcedureMethod, which means you can call removeRequiredMediators.checkAuthorization on it to see whether the signing Account and Identity have the required roles and permissions to run it

Inherited from

BaseAsset.removeRequiredMediators


setVenueFiltering()

setVenueFiltering(args: SetVenueFilteringParams, opts?: ProcedureOpts): Promise<GenericPolymeshTransaction<void, void>>

Defined in: src/api/entities/Asset/Base/BaseAsset.ts:102

Enable/disable venue filtering for this Asset and/or set allowed/disallowed venues

Parameters

ParameterType

args

SetVenueFilteringParams

opts?

ProcedureOpts

Returns

Promise<GenericPolymeshTransaction<void, void>>

Note

this method is of type ProcedureMethod, which means you can call setVenueFiltering.checkAuthorization on it to see whether the signing Account and Identity have the required roles and permissions to run it

Inherited from

BaseAsset.setVenueFiltering


toHuman()

toHuman(): string

Defined in: src/api/entities/Asset/Base/BaseAsset.ts:565

Return the BaseAsset's ID

Returns

string

Inherited from

BaseAsset.toHuman


transferOwnership()

transferOwnership(args: TransferAssetOwnershipParams, opts?: ProcedureOpts): Promise<GenericPolymeshTransaction<AuthorizationRequest, AuthorizationRequest>>

Defined in: src/api/entities/Asset/Base/BaseAsset.ts:97

Transfer ownership of the Asset to another Identity. This generates an authorization request that must be accepted by the recipient

Parameters

ParameterType

args

TransferAssetOwnershipParams

opts?

ProcedureOpts

Returns

Promise<GenericPolymeshTransaction<AuthorizationRequest, AuthorizationRequest>>

Note

this will create Authorization Request which has to be accepted by the target Identity. An Account or Identity can fetch its pending Authorization Requests by calling authorizations.getReceived. Also, an Account or Identity can directly fetch the details of an Authorization Request by calling authorizations.getOne

Note

this method is of type ProcedureMethod, which means you can call transferOwnership.checkAuthorization on it to see whether the signing Account and Identity have the required roles and permissions to run it

Inherited from

BaseAsset.transferOwnership


unfreeze()

unfreeze(opts?: ProcedureOpts): Promise<GenericPolymeshTransaction<void, void>>

Defined in: src/api/entities/Asset/Base/BaseAsset.ts:207

Unfreeze transfers of the Asset

Parameters

ParameterType

opts?

ProcedureOpts

Returns

Promise<GenericPolymeshTransaction<void, void>>

Note

this method is of type NoArgsProcedureMethod, which means you can call unfreeze.checkAuthorization on it to see whether the signing Account and Identity have the required roles and permissions to run it

Inherited from

BaseAsset.unfreeze


unlinkTicker()

unlinkTicker(opts?: ProcedureOpts): Promise<GenericPolymeshTransaction<void, void>>

Defined in: src/api/entities/Asset/Base/BaseAsset.ts:234

Unlink ticker from the Asset

Parameters

ParameterType

opts?

ProcedureOpts

Returns

Promise<GenericPolymeshTransaction<void, void>>

Note

Only the ticker owner is allowed to unlink the Asset

Throws

if there is no ticker to unlink

Note

this method is of type NoArgsProcedureMethod, which means you can call unlinkTicker.checkAuthorization on it to see whether the signing Account and Identity have the required roles and permissions to run it

Inherited from

BaseAsset.unlinkTicker


generateUuid()

static generateUuid<Identifiers>(identifiers: Identifiers): string

Defined in: src/api/entities/Entity.ts:14

Generate the Entity's UUID from its identifying properties

Type Parameters

Type Parameter

Identifiers

Parameters

ParameterTypeDescription

identifiers

Identifiers

Returns

string

Inherited from

BaseAsset.generateUuid


unserialize()

static unserialize<Identifiers>(serialized: string): Identifiers

Defined in: src/api/entities/Entity.ts:23

Unserialize a UUID into its Unique Identifiers

Type Parameters

Type Parameter

Identifiers

Parameters

ParameterTypeDescription

serialized

string

UUID to unserialize

Returns

Identifiers

Inherited from

BaseAsset.unserialize