sdk-js

@nevermined-io/sdk - v3.0.44 / NFTsBaseApi

Class: NFTsBaseApi

Abstract class providing common NFT methods for different ERC implementations.

Hierarchy

Table of contents

Constructors

Properties

Accessors

Methods

Constructors

constructor

new NFTsBaseApi(): NFTsBaseApi

Returns

NFTsBaseApi

Inherited from

RegistryBaseApi.constructor

Properties

servicePlugin

servicePlugin: Object

Index signature

▪ [key: string]: ServicePlugin<Service>

Inherited from

RegistryBaseApi.servicePlugin

Defined in

src/nevermined/api/RegistryBaseApi.ts:39

Accessors

artifactsFolder

get artifactsFolder(): undefined | string

Returns

undefined | string

Inherited from

RegistryBaseApi.artifactsFolder

Defined in

src/Instantiable.abstract.ts:137


circuitsFolder

get circuitsFolder(): undefined | string

Returns

undefined | string

Inherited from

RegistryBaseApi.circuitsFolder

Defined in

src/Instantiable.abstract.ts:141


client

get client(): Web3Clients

Returns

Web3Clients

Inherited from

RegistryBaseApi.client

Defined in

src/Instantiable.abstract.ts:89


config

get config(): NeverminedOptions

Returns

NeverminedOptions

Inherited from

RegistryBaseApi.config

Defined in

src/Instantiable.abstract.ts:120


instanceConfig

get instanceConfig(): InstantiableConfig

Returns

InstantiableConfig

Inherited from

RegistryBaseApi.instanceConfig

Defined in

src/Instantiable.abstract.ts:145


instantiableConfig

get instantiableConfig(): undefined | InstantiableConfig

Returns

undefined | InstantiableConfig

Inherited from

RegistryBaseApi.instantiableConfig

Defined in

src/Instantiable.abstract.ts:113


logger

get logger(): Logger

Returns

Logger

Inherited from

RegistryBaseApi.logger

Defined in

src/Instantiable.abstract.ts:128


nevermined

get nevermined(): Nevermined

Returns

Nevermined

Inherited from

RegistryBaseApi.nevermined

Defined in

src/Instantiable.abstract.ts:81


publicClient

get publicClient(): Object

Returns

Object

Name Type Description
account undefined The Account of the Client.
batch? { multicall?: boolean | { batchSize?: number ; wait?: number } } Flags for batch settings.
batch.multicall? boolean | { batchSize?: number ; wait?: number } Toggle to enable eth_call multicall aggregation.
cacheTime number Time (in ms) that cached data will remain in memory.
call (parameters: CallParameters<undefined | Chain>) => Promise<CallReturnType> -
ccipRead? false | { request?: (parameters: CcipRequestParameters) => Promise<`0x${string}`> } CCIP Read configuration.
chain undefined | Chain Chain for the client.
createBlockFilter () => Promise<{ id: `0x${string}` ; request: EIP1193RequestFn<readonly [{ Method: "eth_getFilterChanges" ; Parameters: [filterId: `0x${string}`] ; ReturnType: `0x${string}`[] | RpcLog[] }, { Method: "eth_getFilterLogs" ; Parameters: [filterId: `0x${string}`] ; ReturnType: RpcLog[] }, { Method: "eth_uninstallFilter" ; Parameters: [filterId: `0x${string}`] ; ReturnType: boolean }]> ; type: "block" }> -
createContractEventFilter <TAbi, TEventName, TArgs, TStrict, TFromBlock, TToBlock>(args: CreateContractEventFilterParameters<TAbi, TEventName, TArgs, TStrict, TFromBlock, TToBlock>) => Promise<CreateContractEventFilterReturnType<TAbi, TEventName, TArgs, TStrict, TFromBlock, TToBlock>> -
createEventFilter <TAbiEvent, TAbiEvents, TStrict, TFromBlock, TToBlock, _EventName, _Args>(args?: CreateEventFilterParameters<TAbiEvent, TAbiEvents, TStrict, TFromBlock, TToBlock, _EventName, _Args>) => Promise<{ [K in string | number | symbol]: Filter<“event”, TAbiEvents, _EventName, _Args, TStrict, TFromBlock, TToBlock>[K] }> -
createPendingTransactionFilter () => Promise<{ id: `0x${string}` ; request: EIP1193RequestFn<readonly [{ Method: "eth_getFilterChanges" ; Parameters: [filterId: `0x${string}`] ; ReturnType: `0x${string}`[] | RpcLog[] }, { Method: "eth_getFilterLogs" ; Parameters: [filterId: `0x${string}`] ; ReturnType: RpcLog[] }, { Method: "eth_uninstallFilter" ; Parameters: [filterId: `0x${string}`] ; ReturnType: boolean }]> ; type: "transaction" }> -
estimateContractGas <TChain, abi, functionName, args>(args: EstimateContractGasParameters<abi, functionName, args, TChain>) => Promise<bigint> -
estimateFeesPerGas <TChainOverride, TType>(args?: EstimateFeesPerGasParameters<undefined | Chain, TChainOverride, TType>) => Promise<EstimateFeesPerGasReturnType> -
estimateGas (args: EstimateGasParameters<undefined | Chain>) => Promise<bigint> -
estimateMaxPriorityFeePerGas <TChainOverride>(args?: { chain: null | TChainOverride }) => Promise<bigint> -
extend <client>(fn: (client: Client<Transport, undefined | Chain, undefined, PublicRpcSchema, PublicActions<Transport, undefined | Chain>>) => client) => Client<Transport, undefined | Chain, undefined, PublicRpcSchema, { [K in string | number | symbol]: client[K] } & PublicActions<Transport, undefined | Chain>> -
getBalance (args: GetBalanceParameters) => Promise<bigint> -
getBlobBaseFee () => Promise<bigint> -
getBlock <TIncludeTransactions, TBlockTag>(args?: GetBlockParameters<TIncludeTransactions, TBlockTag>) => Promise<{ baseFeePerGas: null | bigint ; blobGasUsed: bigint ; difficulty: bigint ; excessBlobGas: bigint ; extraData: `0x${string}` ; gasLimit: bigint ; gasUsed: bigint ; hash: TBlockTag extends "pending" ? null : `0x${string}` ; logsBloom: TBlockTag extends "pending" ? null : `0x${string}` ; miner: `0x${string}` ; mixHash: `0x${string}` ; nonce: TBlockTag extends "pending" ? null : `0x${string}` ; number: TBlockTag extends "pending" ? null : bigint ; parentHash: `0x${string}` ; receiptsRoot: `0x${string}` ; sealFields: `0x${string}`[] ; sha3Uncles: `0x${string}` ; size: bigint ; stateRoot: `0x${string}` ; timestamp: bigint ; totalDifficulty: null | bigint ; transactions: TIncludeTransactions extends true ? ({ accessList?: undefined ; blobVersionedHashes?: undefined ; blockHash: TBlockTag extends "pending" ? true : false extends true ? null : `0x${string}` ; blockNumber: TBlockTag extends "pending" ? true : false extends true ? null : bigint ; chainId?: number ; from: `0x${string}` ; gas: bigint ; gasPrice: bigint ; hash: `0x${string}` ; input: `0x${string}` ; maxFeePerBlobGas?: undefined ; maxFeePerGas?: undefined ; maxPriorityFeePerGas?: undefined ; nonce: number ; r: `0x${string}` ; s: `0x${string}` ; to: null | `0x${string}` ; transactionIndex: TBlockTag extends "pending" ? true : false extends true ? null : number ; type: "legacy" ; typeHex: null | `0x${string}` ; v: bigint ; value: bigint ; yParity?: undefined } | { accessList: AccessList ; blobVersionedHashes?: undefined ; blockHash: TBlockTag extends "pending" ? true : false extends true ? null : `0x${string}` ; blockNumber: TBlockTag extends "pending" ? true : false extends true ? null : bigint ; chainId: number ; from: `0x${string}` ; gas: bigint ; gasPrice: bigint ; hash: `0x${string}` ; input: `0x${string}` ; maxFeePerBlobGas?: undefined ; maxFeePerGas?: undefined ; maxPriorityFeePerGas?: undefined ; nonce: number ; r: `0x${string}` ; s: `0x${string}` ; to: null | `0x${string}` ; transactionIndex: TBlockTag extends "pending" ? true : false extends true ? null : number ; type: "eip2930" ; typeHex: null | `0x${string}` ; v: bigint ; value: bigint ; yParity: number } | { accessList: AccessList ; blobVersionedHashes?: undefined ; blockHash: TBlockTag extends "pending" ? true : false extends true ? null : `0x${string}` ; blockNumber: TBlockTag extends "pending" ? true : false extends true ? null : bigint ; chainId: number ; from: `0x${string}` ; gas: bigint ; gasPrice?: undefined ; hash: `0x${string}` ; input: `0x${string}` ; maxFeePerBlobGas?: undefined ; maxFeePerGas: bigint ; maxPriorityFeePerGas: bigint ; nonce: number ; r: `0x${string}` ; s: `0x${string}` ; to: null | `0x${string}` ; transactionIndex: TBlockTag extends "pending" ? true : false extends true ? null : number ; type: "eip1559" ; typeHex: null | `0x${string}` ; v: bigint ; value: bigint ; yParity: number } | { accessList: AccessList ; blobVersionedHashes: `0x${string}`[] ; blockHash: TBlockTag extends "pending" ? true : false extends true ? null : `0x${string}` ; blockNumber: TBlockTag extends "pending" ? true : false extends true ? null : bigint ; chainId: number ; from: `0x${string}` ; gas: bigint ; gasPrice?: undefined ; hash: `0x${string}` ; input: `0x${string}` ; maxFeePerBlobGas: bigint ; maxFeePerGas: bigint ; maxPriorityFeePerGas: bigint ; nonce: number ; r: `0x${string}` ; s: `0x${string}` ; to: null | `0x${string}` ; transactionIndex: TBlockTag extends "pending" ? true : false extends true ? null : number ; type: "eip4844" ; typeHex: null | `0x${string}` ; v: bigint ; value: bigint ; yParity: number })[] : `0x${string}`[] ; transactionsRoot: `0x${string}` ; uncles: `0x${string}`[] ; withdrawals?: Withdrawal[] ; withdrawalsRoot?: `0x${string}` }> -
getBlockNumber (args?: GetBlockNumberParameters) => Promise<bigint> -
getBlockTransactionCount (args?: GetBlockTransactionCountParameters) => Promise<number> -
getBytecode (args: GetBytecodeParameters) => Promise<GetBytecodeReturnType> -
getChainId () => Promise<number> -
getContractEvents <abi, eventName, strict, fromBlock, toBlock>(args: GetContractEventsParameters<abi, eventName, strict, fromBlock, toBlock>) => Promise<GetContractEventsReturnType<abi, eventName, strict, fromBlock, toBlock>> -
getEnsAddress (args: { blockNumber?: bigint ; blockTag?: BlockTag ; coinType?: number ; gatewayUrls?: string[] ; name: string ; strict?: boolean ; universalResolverAddress?: `0x${string}` }) => Promise<GetEnsAddressReturnType> -
getEnsAvatar (args: { assetGatewayUrls?: AssetGatewayUrls ; blockNumber?: bigint ; blockTag?: BlockTag ; gatewayUrls?: string[] ; name: string ; strict?: boolean ; universalResolverAddress?: `0x${string}` }) => Promise<GetEnsAvatarReturnType> -
getEnsName (args: { address: `0x${string}` ; blockNumber?: bigint ; blockTag?: BlockTag ; gatewayUrls?: string[] ; strict?: boolean ; universalResolverAddress?: `0x${string}` }) => Promise<GetEnsNameReturnType> -
getEnsResolver (args: { blockNumber?: bigint ; blockTag?: BlockTag ; name: string ; universalResolverAddress?: `0x${string}` }) => Promise<`0x${string}`> -
getEnsText (args: { blockNumber?: bigint ; blockTag?: BlockTag ; gatewayUrls?: string[] ; key: string ; name: string ; strict?: boolean ; universalResolverAddress?: `0x${string}` }) => Promise<GetEnsTextReturnType> -
getFeeHistory (args: GetFeeHistoryParameters) => Promise<GetFeeHistoryReturnType> -
getFilterChanges <TFilterType, TAbi, TEventName, TStrict, TFromBlock, TToBlock>(args: GetFilterChangesParameters<TFilterType, TAbi, TEventName, TStrict, TFromBlock, TToBlock>) => Promise<GetFilterChangesReturnType<TFilterType, TAbi, TEventName, TStrict, TFromBlock, TToBlock>> -
getFilterLogs <TAbi, TEventName, TStrict, TFromBlock, TToBlock>(args: GetFilterLogsParameters<TAbi, TEventName, TStrict, TFromBlock, TToBlock>) => Promise<GetFilterLogsReturnType<TAbi, TEventName, TStrict, TFromBlock, TToBlock>> -
getGasPrice () => Promise<bigint> -
getLogs <TAbiEvent, TAbiEvents, TStrict, TFromBlock, TToBlock>(args?: GetLogsParameters<TAbiEvent, TAbiEvents, TStrict, TFromBlock, TToBlock>) => Promise<GetLogsReturnType<TAbiEvent, TAbiEvents, TStrict, TFromBlock, TToBlock>> -
getProof (args: GetProofParameters) => Promise<GetProofReturnType> -
getStorageAt (args: GetStorageAtParameters) => Promise<GetStorageAtReturnType> -
getTransaction <TBlockTag>(args: GetTransactionParameters<TBlockTag>) => Promise<{ accessList?: undefined ; blobVersionedHashes?: undefined ; blockHash: TBlockTag extends "pending" ? true : false extends true ? null : `0x${string}` ; blockNumber: TBlockTag extends "pending" ? true : false extends true ? null : bigint ; chainId?: number ; from: `0x${string}` ; gas: bigint ; gasPrice: bigint ; hash: `0x${string}` ; input: `0x${string}` ; maxFeePerBlobGas?: undefined ; maxFeePerGas?: undefined ; maxPriorityFeePerGas?: undefined ; nonce: number ; r: `0x${string}` ; s: `0x${string}` ; to: null | `0x${string}` ; transactionIndex: TBlockTag extends "pending" ? true : false extends true ? null : number ; type: "legacy" ; typeHex: null | `0x${string}` ; v: bigint ; value: bigint ; yParity?: undefined } | { accessList: AccessList ; blobVersionedHashes?: undefined ; blockHash: TBlockTag extends "pending" ? true : false extends true ? null : `0x${string}` ; blockNumber: TBlockTag extends "pending" ? true : false extends true ? null : bigint ; chainId: number ; from: `0x${string}` ; gas: bigint ; gasPrice: bigint ; hash: `0x${string}` ; input: `0x${string}` ; maxFeePerBlobGas?: undefined ; maxFeePerGas?: undefined ; maxPriorityFeePerGas?: undefined ; nonce: number ; r: `0x${string}` ; s: `0x${string}` ; to: null | `0x${string}` ; transactionIndex: TBlockTag extends "pending" ? true : false extends true ? null : number ; type: "eip2930" ; typeHex: null | `0x${string}` ; v: bigint ; value: bigint ; yParity: number } | { accessList: AccessList ; blobVersionedHashes?: undefined ; blockHash: TBlockTag extends "pending" ? true : false extends true ? null : `0x${string}` ; blockNumber: TBlockTag extends "pending" ? true : false extends true ? null : bigint ; chainId: number ; from: `0x${string}` ; gas: bigint ; gasPrice?: undefined ; hash: `0x${string}` ; input: `0x${string}` ; maxFeePerBlobGas?: undefined ; maxFeePerGas: bigint ; maxPriorityFeePerGas: bigint ; nonce: number ; r: `0x${string}` ; s: `0x${string}` ; to: null | `0x${string}` ; transactionIndex: TBlockTag extends "pending" ? true : false extends true ? null : number ; type: "eip1559" ; typeHex: null | `0x${string}` ; v: bigint ; value: bigint ; yParity: number } | { accessList: AccessList ; blobVersionedHashes: `0x${string}`[] ; blockHash: TBlockTag extends "pending" ? true : false extends true ? null : `0x${string}` ; blockNumber: TBlockTag extends "pending" ? true : false extends true ? null : bigint ; chainId: number ; from: `0x${string}` ; gas: bigint ; gasPrice?: undefined ; hash: `0x${string}` ; input: `0x${string}` ; maxFeePerBlobGas: bigint ; maxFeePerGas: bigint ; maxPriorityFeePerGas: bigint ; nonce: number ; r: `0x${string}` ; s: `0x${string}` ; to: null | `0x${string}` ; transactionIndex: TBlockTag extends "pending" ? true : false extends true ? null : number ; type: "eip4844" ; typeHex: null | `0x${string}` ; v: bigint ; value: bigint ; yParity: number }> -
getTransactionConfirmations (args: GetTransactionConfirmationsParameters<undefined | Chain>) => Promise<bigint> -
getTransactionCount (args: GetTransactionCountParameters) => Promise<number> -
getTransactionReceipt (args: GetTransactionReceiptParameters) => Promise<TransactionReceipt> -
key string A key for the client.
multicall <contracts, allowFailure>(args: MulticallParameters<contracts, allowFailure>) => Promise<MulticallReturnType<contracts, allowFailure>> -
name string A name for the client.
pollingInterval number Frequency (in ms) for polling enabled actions & events. Defaults to 4_000 milliseconds.
prepareTransactionRequest <TRequest, TChainOverride, TAccountOverride>(args: PrepareTransactionRequestParameters<undefined | Chain, undefined | Account, TChainOverride, TAccountOverride, TRequest>) => Promise<{ [K in string | number | symbol]: (UnionRequiredBy<Extract<UnionOmit<(…), (…)> & ((…) extends (…) ? (…) : (…)) & ((…) extends (…) ? (…) : (…)), IsNever<(…)> extends true ? unknown : ExactPartial<(…)>> & Object, ParameterTypeToParameters<TRequest[“parameters”] extends readonly PrepareTransactionRequestParameterType[] ? any[any][number] : “type” | “gas” | “nonce” | “blobVersionedHashes” | “chainId” | “fees”>> & (unknown extends TRequest[“kzg”] ? Object : Pick<TRequest, “kzg”>))[K] }> -
readContract <abi, functionName, args>(args: ReadContractParameters<abi, functionName, args>) => Promise<ReadContractReturnType<abi, functionName, args>> -
request EIP1193RequestFn<PublicRpcSchema> Request function wrapped with friendly error handling
sendRawTransaction (args: SendRawTransactionParameters) => Promise<`0x${string}`> -
simulateContract <abi, functionName, args, chainOverride, accountOverride>(args: SimulateContractParameters<abi, functionName, args, undefined | Chain, chainOverride, accountOverride>) => Promise<SimulateContractReturnType<abi, functionName, args, undefined | Chain, undefined | Account, chainOverride, accountOverride>> -
transport TransportConfig<string, EIP1193RequestFn> & Record<string, any> The RPC transport
type string The type of client.
uid string A unique ID for the client.
uninstallFilter (args: UninstallFilterParameters) => Promise<boolean> -
verifyMessage (args: VerifyMessageParameters) => Promise<boolean> -
verifyTypedData (args: VerifyTypedDataParameters) => Promise<boolean> -
waitForTransactionReceipt (args: WaitForTransactionReceiptParameters<undefined | Chain>) => Promise<TransactionReceipt> -
watchBlockNumber (args: WatchBlockNumberParameters) => WatchBlockNumberReturnType -
watchBlocks <TIncludeTransactions, TBlockTag>(args: WatchBlocksParameters<Transport, undefined | Chain, TIncludeTransactions, TBlockTag>) => WatchBlocksReturnType -
watchContractEvent <TAbi, TEventName, TStrict>(args: WatchContractEventParameters<TAbi, TEventName, TStrict, Transport>) => WatchContractEventReturnType -
watchEvent <TAbiEvent, TAbiEvents, TStrict>(args: WatchEventParameters<TAbiEvent, TAbiEvents, TStrict, Transport>) => WatchEventReturnType -
watchPendingTransactions (args: WatchPendingTransactionsParameters<Transport>) => WatchPendingTransactionsReturnType -

Inherited from

RegistryBaseApi.publicClient

Defined in

src/Instantiable.abstract.ts:97


walletClient

get walletClient(): Object

Returns

Object

Name Type Description
account undefined | Account The Account of the Client.
addChain (args: AddChainParameters) => Promise<void> -
batch? { multicall?: boolean | { batchSize?: number ; wait?: number } } Flags for batch settings.
batch.multicall? boolean | { batchSize?: number ; wait?: number } Toggle to enable eth_call multicall aggregation.
cacheTime number Time (in ms) that cached data will remain in memory.
ccipRead? false | { request?: (parameters: CcipRequestParameters) => Promise<`0x${string}`> } CCIP Read configuration.
chain undefined | Chain Chain for the client.
deployContract <abi, chainOverride>(args: DeployContractParameters<abi, undefined | Chain, undefined | Account, chainOverride>) => Promise<`0x${string}`> -
extend <client>(fn: (client: Client<Transport, undefined | Chain, undefined | Account, WalletRpcSchema, WalletActions<undefined | Chain, undefined | Account>>) => client) => Client<Transport, undefined | Chain, undefined | Account, WalletRpcSchema, { [K in string | number | symbol]: client[K] } & WalletActions<undefined | Chain, undefined | Account>> -
getAddresses () => Promise<GetAddressesReturnType> -
getChainId () => Promise<number> -
getPermissions () => Promise<GetPermissionsReturnType> -
key string A key for the client.
name string A name for the client.
pollingInterval number Frequency (in ms) for polling enabled actions & events. Defaults to 4_000 milliseconds.
prepareTransactionRequest <TRequest, TChainOverride, TAccountOverride>(args: PrepareTransactionRequestParameters<undefined | Chain, undefined | Account, TChainOverride, TAccountOverride, TRequest>) => Promise<{ [K in string | number | symbol]: (UnionRequiredBy<Extract<UnionOmit<(…), (…)> & ((…) extends (…) ? (…) : (…)) & ((…) extends (…) ? (…) : (…)), IsNever<(…)> extends true ? unknown : ExactPartial<(…)>> & Object, ParameterTypeToParameters<TRequest[“parameters”] extends readonly PrepareTransactionRequestParameterType[] ? any[any][number] : “type” | “gas” | “nonce” | “blobVersionedHashes” | “chainId” | “fees”>> & (unknown extends TRequest[“kzg”] ? Object : Pick<TRequest, “kzg”>))[K] }> -
request EIP1193RequestFn<WalletRpcSchema> Request function wrapped with friendly error handling
requestAddresses () => Promise<RequestAddressesReturnType> -
requestPermissions (args: { eth_accounts: Record<string, any> }) => Promise<RequestPermissionsReturnType> -
sendRawTransaction (args: SendRawTransactionParameters) => Promise<`0x${string}`> -
sendTransaction <TRequest, TChainOverride>(args: SendTransactionParameters<undefined | Chain, undefined | Account, TChainOverride, TRequest>) => Promise<`0x${string}`> -
signMessage (args: SignMessageParameters<undefined | Account>) => Promise<`0x${string}`> -
signTransaction <TChainOverride>(args: SignTransactionParameters<undefined | Chain, undefined | Account, TChainOverride>) => Promise<`0x02${string}` | `0x01${string}` | `0x03${string}` | TransactionSerializedLegacy> -
signTypedData <TTypedData, TPrimaryType>(args: SignTypedDataParameters<TTypedData, TPrimaryType, undefined | Account>) => Promise<`0x${string}`> -
switchChain (args: SwitchChainParameters) => Promise<void> -
transport TransportConfig<string, EIP1193RequestFn> & Record<string, any> The RPC transport
type string The type of client.
uid string A unique ID for the client.
watchAsset (args: WatchAssetParams) => Promise<boolean> -
writeContract <abi, functionName, args, TChainOverride>(args: WriteContractParameters<abi, functionName, args, undefined | Chain, undefined | Account, TChainOverride>) => Promise<`0x${string}`> -

Inherited from

RegistryBaseApi.walletClient

Defined in

src/Instantiable.abstract.ts:105

Methods

_details

_details(did, ercType): Promise<{ blockNumberUpdated: number ; lastChecksum: any ; lastUpdatedBy: any ; mintCap: bigint ; nftContractAddress: any ; nftInitialized: any ; nftSupply: bigint ; nftURI: string ; owner: any ; providers: any ; royalties: number ; royaltyScheme: RoyaltyKind ; url: any }>

Get the details of an NFT

Parameters

Name Type Description
did string The Decentralized Identifier of the NFT asset.
ercType ERCType The type of NFT used

Returns

Promise<{ blockNumberUpdated: number ; lastChecksum: any ; lastUpdatedBy: any ; mintCap: bigint ; nftContractAddress: any ; nftInitialized: any ; nftSupply: bigint ; nftURI: string ; owner: any ; providers: any ; royalties: number ; royaltyScheme: RoyaltyKind ; url: any }>

The details of the NFT.

Example

const details = await nevermined.nfts1155.details(ddo.id)

// The `details` object includes the NFT information

assert.equal(details.mintCap, 5)
assert.equal(details.nftSupply, 5)
assert.equal(details.royaltyScheme, RoyaltyKind.Standard)
assert.equal(details.royalties, 100000)
assert.equal(details.owner, artist.getId())

Defined in

src/nevermined/api/nfts/NFTsBaseApi.ts:152


access

access(did, from, destination?, fileIndex?, agreementId?, buyer?, babysig?, serviceReference?): Promise<boolean>

Access the files associated with an NFT.

Parameters

Name Type Default value Description
did string undefined The Decentralized Identifier of the NFT asset.
from NvmAccount undefined The user account holding NFTs (after purchase) requesting the access
destination? string undefined The download destination for the files.
fileIndex? number undefined The index of the file. If unset will download all the files in the asset.
agreementId string '0x' The NFT sales agreement id.
buyer? string undefined Key which represent the buyer
babysig? Babysig undefined -
serviceReference number | ServiceType 'nft-access' The service reference to use. By default is nft-access.

Returns

Promise<boolean>

true if the access was successful or file if isToDownload is false.

Remarks

This function will call the Node that will check if all the access conditions where fulfilled before providing the files.

Example

const result = await nevermined.nfts1155.access(ddo.id, collector, '/tmp/')

Defined in

src/nevermined/api/nfts/NFTsBaseApi.ts:427


addRating

addRating(did, newRating, numVotesAdded?, from, publishMetadata?, txParams?): SubscribablePromise<UpdateProgressStep, DDO>

Given a DID, it adds a vote to the asset curation information.

Parameters

Name Type Default value Description
did string undefined Decentralized ID representing the unique id of an asset in a Nevermined network.
newRating number undefined New average rating of the asset
numVotesAdded number 1 Number of new votes added to the rating, typically just 1
from NvmAccount undefined Account of the user updating the metadata
publishMetadata PublishMetadataOptions PublishMetadataOptions.OnlyMetadataAPI It allows to specify where to store the metadata
txParams? TxParameters undefined Optional transaction parameters

Returns

SubscribablePromise<UpdateProgressStep, DDO>

DDO The DDO updated

Inherited from

RegistryBaseApi.addRating

Defined in

src/nevermined/api/RegistryBaseApi.ts:564


buySecondaryMarketNft

buySecondaryMarketNft(from, nftAmount?, agreementIdSeed, conditionsTimeout?, txParams?): Promise<boolean>

Buys a number of listed NFTs on secondary markets.

Parameters

Name Type Description
from NvmAccount The account of the buyer/consumer.
nftAmount bigint The number of assets to buy. 1 by default.
agreementIdSeed string The seed of the initial sales agreement created off-chain.
conditionsTimeout number[] The timeout for the conditions.
txParams? TxParameters Optional transaction parameters

Returns

Promise<boolean>

true if the buy was successful.

Example

const result = await nevermined.nfts1155.buySecondaryMarketNft(collector, 1n, agreementId)

Throws

NFTError Thrown if there is an error buying the NFT.

Defined in

src/nevermined/api/nfts/NFTsBaseApi.ts:345


claimNFT

claimNFT(agreementId, nftHolder, nftReceiver, numberEditions?, ercType?, did?, serviceIndex?): Promise<boolean>

Claims the transfer of a NFT to the Nevermined Node on behalf of the publisher.

Parameters

Name Type Default value Description
agreementId string undefined The NFT sales agreement id.
nftHolder string undefined The address of the current owner of the NFT.
nftReceiver string undefined The address where the NFT should be transferred.
numberEditions bigint undefined The number of NFT editions to transfer. If the NFT is ERC-721 it should be 1
ercType ERCType 1155 The Type of the NFT ERC (1155 or 721).
did? string undefined The DID of the asset.
serviceIndex? number undefined The index of the service in the DDO that will be claimed

Returns

Promise<boolean>

true if the transfer was successful.

Remarks

This is useful when the consumer does not want to wait for the publisher to transfer the NFT once the payment is made. Assuming the publisher delegated transfer permissions to the Node.

One example would be a marketplace where the user wants to get access to the NFT as soon as the payment is made

Example

const receipt = await nevermined.nfts721.claim(
  agreementId,
  editor.getId(),
  subscriber.getId(),
  nftAmount,
  721,
)

Throws

NFTError if Nevermined is not an operator for this NFT

Defined in

src/nevermined/api/nfts/NFTsBaseApi.ts:52


getSubscriptionToken

getSubscriptionToken(did, from): Promise<SubscriptionToken>

Get a JWT token for an asset associated with a webService

Parameters

Name Type Description
did string The did of the asset with a webService resource and an associated subscription
from NvmAccount Account of the user requesting the token

Returns

Promise<SubscriptionToken>

SubscriptionToken

Example

const response = await nevermined.nfts721.getSubscriptionToken(serviceDDO.id, subscriber)

assert.isDefined(response.accessToken)
assert.isDefined(response.neverminedProxyUri)

Defined in

src/nevermined/api/nfts/NFTsBaseApi.ts:490


isOperator

isOperator(nftContractAddress, operatorAddress, ercType?): Promise<boolean>

Check if a particular address is the operator of given a NFT address.

Parameters

Name Type Default value Description
nftContractAddress string undefined The DID of the NFT to check
operatorAddress string undefined The address to check if operator status
ercType ERCType 1155 The erc type of the NFT.

Returns

Promise<boolean>

operator status of address as a boolean

Defined in

src/nevermined/api/nfts/NFTsBaseApi.ts:118


isOperatorOfDID

isOperatorOfDID(did, address, ercType?): Promise<boolean>

Check if a particular address is the operator of a DID.

Parameters

Name Type Default value Description
did string undefined The DID of the NFT to check
address string undefined The address to check if operator status
ercType ERCType 1155 The erc type of the NFT.

Returns

Promise<boolean>

operator status of address as a boolean

Defined in

src/nevermined/api/nfts/NFTsBaseApi.ts:93


list

list(did, list, from, publishMetadata?, txParams?): SubscribablePromise<UpdateProgressStep, DDO>

Given a DID, updates the metadata associated to the asset allowing to list or unlist it. It also can upload this metadata to a remote decentralized stored depending on the publishMetadata parameter. In a Nevermined environment, when an asset is unlisted, it is not possible to be found and accessed by any user.

Parameters

Name Type Default value Description
did string undefined Decentralized ID representing the unique id of an asset in a Nevermined network.
list boolean undefined Needs the asset to be listed or unlisted
from NvmAccount undefined Account of the user updating the metadata
publishMetadata PublishMetadataOptions PublishMetadataOptions.OnlyMetadataAPI It allows to specify where to store the metadata
txParams? TxParameters undefined Optional transaction parameters

Returns

SubscribablePromise<UpdateProgressStep, DDO>

DDO The DDO updated

Inherited from

RegistryBaseApi.list

Defined in

src/nevermined/api/RegistryBaseApi.ts:512


listOnSecondaryMarkets

listOnSecondaryMarkets(ddo, assetPrice, nftAmount, nftTransfer, provider, token, from): Promise<string>

After purchase re-list an NFT to enable secondary market sales.

Parameters

Name Type Description
ddo DDO The DDO of the asset.
assetPrice AssetPrice The current setup of asset rewards.
nftAmount bigint The number of NFTs put up for secondary sale.
nftTransfer boolean -
provider string The address that will be the provider of the secondary sale.
token Token -
from NvmAccount The account of the current owner.

Returns

Promise<string>

the agreementId of the secondary sale.

Example

const agreementId = await nevermined.nfts1155.listOnSecondaryMarkets(
  ddo,
  assetPrice,
  numberNFTs,
  collector.getId(),
  token,
  collector.getId(),
)

Throws

NFTError Thrown if there is an error listing the NFT.

Defined in

src/nevermined/api/nfts/NFTsBaseApi.ts:262


orderAsset

orderAsset(did, serviceReference, from, txParams?): SubscribablePromise<OrderProgressStep, string>

Start the purchase/order of an asset’s service. Starts by signing the service agreement then sends the request to the publisher via the service endpoint (Node http service).

Parameters

Name Type Description
did string Decentralized ID.
serviceReference number | ServiceType Service.
from NvmAccount Consumer account.
txParams? TxParameters Transaction parameters

Returns

SubscribablePromise<OrderProgressStep, string>

The agreement ID.

Inherited from

RegistryBaseApi.orderAsset

Defined in

src/nevermined/api/RegistryBaseApi.ts:615


registerNeverminedAsset

registerNeverminedAsset(assetAttributes, from, publicationOptions, nftAttributes?, txParams?): SubscribablePromise<CreateProgressStep, DDO>

It registers a new asset in a Nevermined network. This method is protected and not exposed via the Nevermined APIs directly. It must accessed via the assets, compute, and nfts APIs.

Parameters

Name Type Description
assetAttributes AssetAttributes Attributes describing the asset
from NvmAccount The account publishing the asset
publicationOptions AssetPublicationOptions Allows to specify the publication options of the off-chain and the on-chain data.
nftAttributes? NFTAttributes Attributes describing the NFT (ERC-721) associated to the asset
txParams? TxParameters Optional transaction parameters

Returns

SubscribablePromise<CreateProgressStep, DDO>

The metadata of the asset created (DDO)

See

PublishOnChainOptions and PublishMetadataOptions

Inherited from

RegistryBaseApi.registerNeverminedAsset

Defined in

src/nevermined/api/RegistryBaseApi.ts:52


resolveAsset

resolveAsset(did, policy?): Promise<DDO>

Given an asset DID it returns the metadata of that asset represented by a DDO object. Depending of the resolution policy it prioritize fetching that Metadata from the Marketplace API or Immutable urls (like IPFS).

Parameters

Name Type Default value Description
did string undefined Decentralized ID.
policy DIDResolvePolicy DIDResolvePolicy.MetadataAPIFirst It specifies the resolve policy to apply. It allows to select that priorities during the asset resolution via Metadata API or Immutable URLs (IPFS, Filecoin, etc)

Returns

Promise<DDO>

DDO

Inherited from

RegistryBaseApi.resolveAsset

Defined in

src/nevermined/api/RegistryBaseApi.ts:349


setInstanceConfig

setInstanceConfig(config): void

Parameters

Name Type
config InstantiableConfig

Returns

void

Inherited from

RegistryBaseApi.setInstanceConfig

Defined in

src/Instantiable.abstract.ts:163


updateAsset

updateAsset(did, metadata, from, publishMetadataOptions?, txParams?): SubscribablePromise<UpdateProgressStep, DDO>

Given a DID, updates the metadata associated to the asset. It also can upload this metadata to a remote decentralized stored depending on the publishMetadata parameter.

Parameters

Name Type Default value Description
did string undefined Decentralized ID representing the unique id of an asset in a Nevermined network.
metadata MetaData undefined Metadata describing the asset
from NvmAccount undefined Account of the user updating the metadata
publishMetadataOptions PublishMetadataOptions PublishMetadataOptions.OnlyMetadataAPI It allows to specify where to store the metadata
txParams? TxParameters undefined Optional transaction parameters

Returns

SubscribablePromise<UpdateProgressStep, DDO>

DDO The DDO updated

Inherited from

RegistryBaseApi.updateAsset

Defined in

src/nevermined/api/RegistryBaseApi.ts:392


getInstance

getInstance(..._args): any

Parameters

Name Type
..._args any

Returns

any

Inherited from

RegistryBaseApi.getInstance

Defined in

src/Instantiable.abstract.ts:150


getNFTContractAddress

getNFTContractAddress(ddo, serviceReference?): any

Gets the NFT contract address associated with a Nevermined asset from the DDO.

Parameters

Name Type Default value Description
ddo DDO undefined The DDO of the asset.
serviceReference number | ServiceType 'nft-access' The service type to look for the contract address

Returns

any

The NFT contract address.

Example

const nftContractAddress = NFT1155Api.getNFTContractAddress(ddo)

Defined in

src/nevermined/api/nfts/NFTsBaseApi.ts:221


getServicePlugin

getServicePlugin(config): Object

Initializes the default Nevermined service plugins and return that instance

Parameters

Name Type Description
config InstantiableConfig Nevermined config

Returns

Object

The Nevermined Service Plugin instance

Name Type
access AccessService
compute EscrowComputeExecutionTemplate
nft-access NFTAccessService
nft-sales NFTSalesService

Inherited from

RegistryBaseApi.getServicePlugin

Defined in

src/nevermined/api/RegistryBaseApi.ts:670


setInstanceConfig

setInstanceConfig<T>(instance, instantiableConfig): void

Type parameters

Name Type
T extends Instantiable

Parameters

Name Type
instance T
instantiableConfig InstantiableConfig

Returns

void

Inherited from

RegistryBaseApi.setInstanceConfig

Defined in

src/Instantiable.abstract.ts:154