Skip to main content
Version: 24.7.x

Class: NftCollection

api/entities/Asset/NonFungible/NftCollection.NftCollection

Class used to manage NFT functionality

Hierarchy

Properties

assetHolders

assetHolders: AssetHolders

Defined in

api/entities/Asset/NonFungible/NftCollection.ts:61


compliance

compliance: Compliance

Inherited from

BaseAsset.compliance

Defined in

api/entities/Asset/Base/BaseAsset.ts:66


did

did: string

Identity ID of the Asset (used for Claims)

Inherited from

BaseAsset.did

Defined in

api/entities/Asset/Base/BaseAsset.ts:74


documents

documents: Documents

Inherited from

BaseAsset.documents

Defined in

api/entities/Asset/Base/BaseAsset.ts:67


metadata

metadata: Metadata

Inherited from

BaseAsset.metadata

Defined in

api/entities/Asset/Base/BaseAsset.ts:68


permissions

permissions: Permissions

Inherited from

BaseAsset.permissions

Defined in

api/entities/Asset/Base/BaseAsset.ts:69


settlements

settlements: NonFungibleSettlements

Defined in

api/entities/Asset/NonFungible/NftCollection.ts:62


ticker

ticker: string

ticker of the Asset

Inherited from

BaseAsset.ticker

Defined in

api/entities/Asset/Base/BaseAsset.ts:79


uuid

uuid: string

Inherited from

BaseAsset.uuid

Defined in

api/entities/Entity.ts:46

Methods

addRequiredMediators

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

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

Parameters

NameType
argsAssetMediatorParams
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

Defined in

api/entities/Asset/Base/BaseAsset.ts:218


collectionKeys

collectionKeys(): Promise<CollectionKey[]>

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

Defined in

api/entities/Asset/NonFungible/NftCollection.ts:178


controllerTransfer

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

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

Parameters

NameType
argsNftControllerTransferParams
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

Defined in

api/entities/Asset/NonFungible/NftCollection.ts:81


createdAt

createdAt(): Promise<null | EventIdentifier>

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

Defined in

api/entities/Asset/NonFungible/NftCollection.ts:266


currentFundingRound

currentFundingRound(): Promise<null | string>

Retrieve the Asset's funding round

Returns

Promise<null | string>

Note

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

Inherited from

BaseAsset.currentFundingRound

Defined in

api/entities/Asset/Base/BaseAsset.ts:457

currentFundingRound(callback): Promise<UnsubCallback>

Parameters

NameType
callbackSubCallback<null | string>

Returns

Promise<UnsubCallback>

Inherited from

BaseAsset.currentFundingRound

Defined in

api/entities/Asset/Base/BaseAsset.ts:458


details

details(): Promise<AssetDetails>

Retrieve the NftCollection's data

Returns

Promise<AssetDetails>

Note

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

Overrides

BaseAsset.details

Defined in

api/entities/Asset/NonFungible/NftCollection.ts:127

details(callback): Promise<UnsubCallback>

Parameters

NameType
callbackSubCallback<AssetDetails>

Returns

Promise<UnsubCallback>

Overrides

BaseAsset.details

Defined in

api/entities/Asset/NonFungible/NftCollection.ts:128


exists

exists(): Promise<boolean>

Determine whether this NftCollection exists on chain

Returns

Promise<boolean>

Overrides

BaseAsset.exists

Defined in

api/entities/Asset/NonFungible/NftCollection.ts:287


freeze

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

Freeze transfers of the Asset

Parameters

NameType
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

Defined in

api/entities/Asset/Base/BaseAsset.ts:198


getCollectionId

getCollectionId(): Promise<BigNumber>

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

Returns

Promise<BigNumber>

Defined in

api/entities/Asset/NonFungible/NftCollection.ts:300


getIdentifiers

getIdentifiers(): Promise<SecurityIdentifier[]>

Retrieve the Asset's identifiers list

Returns

Promise<SecurityIdentifier[]>

Note

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

Inherited from

BaseAsset.getIdentifiers

Defined in

api/entities/Asset/Base/BaseAsset.ts:237

getIdentifiers(callback?): Promise<UnsubCallback>

Parameters

NameType
callback?SubCallback<SecurityIdentifier[]>

Returns

Promise<UnsubCallback>

Inherited from

BaseAsset.getIdentifiers

Defined in

api/entities/Asset/Base/BaseAsset.ts:238


getNft

getNft(args): Promise<Nft>

Get an NFT belonging to this collection

Parameters

NameType
argsObject
args.idBigNumber

Returns

Promise<Nft>

Throws

if the given NFT does not exist

Defined in

api/entities/Asset/NonFungible/NftCollection.ts:242


getRequiredMediators

getRequiredMediators(): Promise<Identity[]>

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

Returns

Promise<Identity[]>

Inherited from

BaseAsset.getRequiredMediators

Defined in

api/entities/Asset/Base/BaseAsset.ts:403


getTransactionHistory

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

Retrieve this Collection's transaction history

Parameters

NameType
optsObject
opts.size?BigNumber
opts.start?BigNumber

Returns

Promise<ResultSet<HistoricNftTransaction>>

Note

uses the middlewareV2

Defined in

api/entities/Asset/NonFungible/NftCollection.ts:326


getVenueFilteringDetails

getVenueFilteringDetails(): Promise<VenueFilteringDetails>

Get venue filtering details

Returns

Promise<VenueFilteringDetails>

Inherited from

BaseAsset.getVenueFilteringDetails

Defined in

api/entities/Asset/Base/BaseAsset.ts:422


investorCount

investorCount(): Promise<BigNumber>

Retrieve the amount of unique investors that hold this Nft

Returns

Promise<BigNumber>

Defined in

api/entities/Asset/NonFungible/NftCollection.ts:219


isEqual

isEqual(entity): boolean

Determine whether this Entity is the same as another one

Parameters

NameType
entityEntity<unknown, unknown>

Returns

boolean

Inherited from

BaseAsset.isEqual

Defined in

api/entities/Entity.ts:61


isFrozen

isFrozen(): Promise<boolean>

Check whether transfers are frozen for the Asset

Returns

Promise<boolean>

Note

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

Inherited from

BaseAsset.isFrozen

Defined in

api/entities/Asset/Base/BaseAsset.ts:274

isFrozen(callback): Promise<UnsubCallback>

Parameters

NameType
callbackSubCallback<boolean>

Returns

Promise<UnsubCallback>

Inherited from

BaseAsset.isFrozen

Defined in

api/entities/Asset/Base/BaseAsset.ts:275


issue

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

Issues a new NFT for the collection

Parameters

NameType
argsIssueNftParams
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

Defined in

api/entities/Asset/NonFungible/NftCollection.ts:71


modify

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

Modify some properties of the Asset

Parameters

NameType
argsModifyAssetParams
opts?ProcedureOpts

Returns

Promise<GenericPolymeshTransaction<Asset, Asset>>

Throws

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

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

Defined in

api/entities/Asset/Base/BaseAsset.ts:124


removeRequiredMediators

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

Remove required mediators

Parameters

NameType
argsAssetMediatorParams
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

Defined in

api/entities/Asset/Base/BaseAsset.ts:228


setVenueFiltering

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

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

Parameters

NameType
argsSetVenueFilteringParams
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

Defined in

api/entities/Asset/Base/BaseAsset.ts:102


toHuman

toHuman(): string

Return the NftCollection's ticker

Returns

string

Inherited from

BaseAsset.toHuman

Defined in

api/entities/Asset/Base/BaseAsset.ts:514


transferOwnership

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

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

Parameters

NameType
argsTransferAssetOwnershipParams
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

Defined in

api/entities/Asset/Base/BaseAsset.ts:92


unfreeze

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

Unfreeze transfers of the Asset

Parameters

NameType
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

Defined in

api/entities/Asset/Base/BaseAsset.ts:208


generateUuid

Static generateUuid<Identifiers>(identifiers): string

Generate the Entity's UUID from its identifying properties

Type parameters

Name
Identifiers

Parameters

NameType
identifiersIdentifiers

Returns

string

Inherited from

BaseAsset.generateUuid

Defined in

api/entities/Entity.ts:14


unserialize

Static unserialize<Identifiers>(serialized): Identifiers

Unserialize a UUID into its Unique Identifiers

Type parameters

Name
Identifiers

Parameters

NameTypeDescription
serializedstringUUID to unserialize

Returns

Identifiers

Inherited from

BaseAsset.unserialize

Defined in

api/entities/Entity.ts:23