Create & Manage NFT

Methods related to NFTs management.

Reserve NFT

⚠️

Your wallet must own at least 1 certificate credit. The credit is spent once the NFT has been minted and claimed by another wallet.

Method

creator.reserveSmartAssetId(smartAssetId?, overrideTransaction?:NonPayableOverrides)
ParameterTypeRequiredDescription
smartAssetIdNumber❌If ID defined β†’ Checked if ID is free.
If ID undefined β†’ Get a free ID.
overridesgasPrice, gasLimit, maxFeePerGas, maxPriorityPerGas ❌Allows you to override the gas/gasprice part to be able to move transactions through more quickly if needed.

Return Payload

promise returns reserved smartAssetId is returned.


Check if an NFT ID is available for reservation or creation

Method to check if the passed NFT ID is available.

Method

creator.isSmartAssetIdAvailable(id)
ParameterTypeRequiredDescription
idStringβœ…NFT identification number to be checked.

Return Payload

promise returns boolean.

BooleanDescription
trueID available.
falseID is already linked to an NFT.

Get a random available ID

Smart Asset

Method

creator.getAvailableSmartAssetId()

Return Payload

promise returns number corresponding to the smarAssetId.

All types

Method

creator.getAvailableId(idType)
ParameterTypeRequiredDescription
idTypesmartAsset, message, eventβœ…Type of ID required.

Return Payload

promise returns number corresponding to the id.


Create & Hydrate NFT

Create an NFT and store its content on the Arianee Privacy Gateway.

Method

creator.createAndStoreSmartAsset(data:hydrateTokenParameters, overrideTransaction?:NonPayableOverrides)

Option 1 β†’ You have a registered & verified identity:

ParameterTypeRequiredDescription
smartAssetIdNumber❌NFT identitication number.
tokenAccessString❌Wallet address generated through the passphrase.
tokenRecoveryTimestampNumber❌Period during which the NFT can be recovered by its issuer.
Default value if empty: 5 years.
sameRequestOwnershipPassphraseBoolean❌true: Transferable NFT
false: Non-transferable NFT
contentObjectβœ…Content mandatory if no uri and imprint.
uriStringβœ…NFT uri. Mandatory with imprint if no content.
imprintStringβœ…NFT imprint. Mandatory with uri if no content.
overridesgasPrice, gasLimit, maxFeePerGas, maxPriorityPerGas❌Allows you to override the gas/gasprice part to be able to move transactions through more quickly if needed.

Option 2 β†’ You have not a registered & verified identity:

ParameterTypeRequiredDescription
uriStringβœ…NFT uri.

Return Payload

promise returns LinkObject. The NFT has been created, as well as NFT deeplink, smartAssetId and passphrase.

{
	deeplink:"https://test.arianee.net/440105186,v6lsj4vhg5dx", // except if address was provided instead of passphrase
	smartAssetId:"440105186",
	passphrase:"v6lsj4vhg5dx" // except if address was provided instead of passphrase
}

Errors

Error typeDescription
UnavailableSmartAssetIdErrorThe NFT identification number is not available.
InsufficientSmartAssetCreditsErrorThe core address does not have enough smart asset credits.
NoIdentityErrorThe core address does not have an identity URI.
ArianeePrivacyGatewayErrorAn error occurred while interacting with the Arianee Privacy Gateway.

Create NFT without content storing

Create an NFT without storing the content on the Arianee Privacy Gateway.

Method - For test purposes only

creator.createSmartAsset(smartAssetId, overrideTransaction?:NonPayableOverrides) 
ParameterTypeRequiredDescription
smartAssetIdNumber❌NFT identification number.
tokenAccessString❌Wallet address generated through the passphrase.
tokenRecoveryTimestampNumber❌Period during which the NFT can be recovered by its issuer.
Default value if empty: 5 years.
sameRequestOwnershipPassphraseBoolean❌true: Transferable NFT
false: Non-transferable NFT
contentObjectβœ…Content mandatory if no uri and imprint.
uriStringβœ…NFT uri. Mandatory with imprint if no content.
overridesgasPrice, gasLimit, maxFeePerGas, maxPriorityPerGas❌Allows you to override the gas/gasprice part to be able to move transactions through more quickly if needed.

Return Payload

promise returns LinkObject. The NFT has been created, as well as NFT deeplink, smartAssetId and passphrase.

{
	deeplink:"https://test.arianee.net/440105186,v6lsj4vhg5dx", 
	smartAssetId:"440105186",
	passphrase:"v6lsj4vhg5dx"
}

Errors

Error typeDescription
UnavailableSmartAssetIdErrorThe NFT identification number is not available.
InsufficientSmartAssetCreditsErrorThe core address does not have enough smart asset credits.

Recover NFT

The NFT issuer can recover a distributed NFT, in other words, the issuer gets back the ownership of the NFT.

⚠️

  • The wallet must be the NFT issuer.
  • The tokenRecoveryTimestamp must not be outdated.

Method

creator.recoverSmartAsset(id, overrideTransaction?:NonPayableOverrides) 
ParameterTypeRequiredDescription
idNumberβœ…ID of the NFT to recover.
overridesgasPrice, gasLimit, maxFeePerGas, maxPriorityPerGas❌Allows you to override the gas/gasprice part to be able to move transactions through more quickly if needed.

Return Payload

The receipt of the transaction is returned.


Destroy NFT

⚠️

The destroy process transfers the given NFT ID to the wallet address 0x000000000000000000000000000000000000dead.

Method

creator.destroySmartAsset(id, overrideTransaction?:NonPayableOverrides)
ParameterTypeRequiredDescription
idStringβœ…ID of the NFT to destroy.
overridesgasPrice, gasLimit, maxFeePerGas, maxPriorityPerGas❌Allows you to override the gas/gasprice part to be able to move transactions through more quickly if needed.

Return Payload

The receipt of the transaction is returned.


Set token access

Method to set the token access,requestKeyorviewKey, of a smart asset owned by the core wallet address.

Method

creator.setTokenAccess(smartAssetId, tokenAccessType, tokenAccess?, overrrides?)
ParameterTypeRequiredDescription
smartAssetIdNumberβœ…Arianee token ID of the NFT.
tokenAccessType- 0 - viewKey
- 1 - requestKey
βœ…Type of key.
tokenAccessString❌Wallet address generated through the passphrase.
overrridesgasPrice, gasLimit, maxFeePerGas, maxPriorityPerGas❌Allows you to override the gas/gasprice part to be able to move transactions through more quickly if needed.

Return Payload

The token type has been set on the given smartAssetId.

Error

Error typeDescription
NotOwnerOfThe core wallet address is not the owner of the NFT.

Set request key

Method to set the requestKey of a smart asset owned by the core wallet address.

Method

creator.setRequestKey(smartAssetId, tokenAccess?, overrrides?)
ParameterTypeRequiredDescription
smartAssetIdNumberβœ…Arianee token ID of the NFT.
tokenAccessString❌Wallet address generated through the passphrase.
overrridesgasPrice, gasLimit, maxFeePerGas, maxPriorityPerGas❌Allows you to override the gas/gasprice part to be able to move transactions through more quickly if needed.

Return Payload

The requestKey is set on the given smartAssetId.

Errors

Error typeDescription
NotOwnerOfThe core wallet address is not the owner of the NFT.

Update token URI

Method

creator.updateTokenURI(smartAssetId, uri, overrides)
ParameterTypeRequiredDescription
smartAssetIdNumberβœ…Arianee token ID of the NFT.
uriStringβœ…NFT uri.
overrridesgasPrice, gasLimit, maxFeePerGas, maxPriorityPerGas❌Allows you to override the gas/gasprice part to be able to move transactions through more quickly if needed.

Return Payload

The token URI is updated.

Errors

Error typeDescription
NotIssuerErrorThe wallet core address is not the issuer of the smart asset.
InvalidURIErrorThe uri is not valid.

Update NFT

Update the content of an NFT in the Arianee Privacy Gateway and update its imprint on chain. Returns the imprint of the new content.

⚠️

The wallet core address requires an Identity URI.

Method

creator.updateSmartAsset(smartAssetId, content, overrides)
ParameterTypeRequiredDescription
smartAssetIdNumberβœ…Arianee token ID of the NFT.
contentObjectβœ…Content of the NFT.
overrridesgasPrice, gasLimit, maxFeePerGas, maxPriorityPerGas❌Allows you to override the gas/gasprice part to be able to move transactions through more quickly if needed.

Return Payload

The NFT has been updated.

Errors

Error typeDescription
InsufficientUpdateCreditsErrorThe wallet core address does not have enough update credits.
NoIdentityErrorThe wallet core address does not have an identity URI.
ArianeePrivacyGatewayErrorAn error occurred while interacting with the Arianee Privacy Gateway.

Fetch NFT owner

Retrieve the owner of a given NFT.

Method

creator.getSmartAssetOwner(id)
ParameterTypeRequiredDescription
idNumberβœ…Arianee token ID of the NFT.

Return Payload

promise returns string corresponding to the wallet owner.


Fetch NFT issuer

Retrieve the issuer of a given NFT.

Method

creator.getSmartAssetIssuer(id: string)
ParameterTypeRequiredDescription
idNumberβœ…Arianee token ID of the NFT.

Return Payload

promise returns string corresponding to the NFT wallet issuer.