NFTsBaseApi
@nevermined-io/sdk - v3.0.44 / NFTsBaseApi
Class: NFTsBaseApi
Abstract class providing common NFT methods for different ERC implementations.
Hierarchy
↳
NFTsBaseApi
↳↳
NFT1155Api
↳↳
NFT721Api
Table of contents
Constructors
Properties
Accessors
- artifactsFolder
- circuitsFolder
- client
- config
- instanceConfig
- instantiableConfig
- logger
- nevermined
- publicClient
- walletClient
Methods
- _details
- access
- addRating
- buySecondaryMarketNft
- claimNFT
- getSubscriptionToken
- isOperator
- isOperatorOfDID
- list
- listOnSecondaryMarkets
- orderAsset
- registerNeverminedAsset
- resolveAsset
- setInstanceConfig
- updateAsset
- getInstance
- getNFTContractAddress
- getServicePlugin
- setInstanceConfig
Constructors
constructor
• new NFTsBaseApi(): NFTsBaseApi
Returns
Inherited from
Properties
servicePlugin
• servicePlugin: Object
Index signature
▪ [key: string
]: ServicePlugin
\<Service
>
Inherited from
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
Inherited from
RegistryBaseApi.client
Defined in
src/Instantiable.abstract.ts:89
config
• get
config(): NeverminedOptions
Returns
Inherited from
RegistryBaseApi.config
Defined in
src/Instantiable.abstract.ts:120
instanceConfig
• get
instanceConfig(): InstantiableConfig
Returns
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
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
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
>
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
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
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
>
Inherited from
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
Defined in
src/nevermined/api/RegistryBaseApi.ts:392
getInstance
▸ getInstance(..._args
): any
Parameters
Name | Type |
---|---|
..._args | any |
Returns
any
Inherited from
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