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
smartAssetIdNumberIf ID defined → Checked if ID is free.
If ID undefined → Get a free ID.
overridesgasPrice, gasLimit, maxFeePerGas, maxPriorityPerGasAllows 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
idStringNFT 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, eventType 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
smartAssetIdNumberNFT identitication number.
tokenAccessStringWallet address generated through the passphrase.
tokenRecoveryTimestampNumberPeriod during which the NFT can be recovered by its issuer.
Default value if empty: 5 years.
sameRequestOwnershipPassphraseBooleantrue: Transferable NFT
false: Non-transferable NFT
contentObjectContent mandatory if no uri and imprint.
uriStringNFT uri. Mandatory with imprint if no content.
imprintStringNFT imprint. Mandatory with uri if no content.
overridesgasPrice, gasLimit, maxFeePerGas, maxPriorityPerGasAllows 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
uriStringNFT 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
smartAssetIdNumberNFT identification number.
tokenAccessStringWallet address generated through the passphrase.
tokenRecoveryTimestampNumberPeriod during which the NFT can be recovered by its issuer.
Default value if empty: 5 years.
sameRequestOwnershipPassphraseBooleantrue: Transferable NFT
false: Non-transferable NFT
contentObjectContent mandatory if no uri and imprint.
uriStringNFT uri. Mandatory with imprint if no content.
overridesgasPrice, gasLimit, maxFeePerGas, maxPriorityPerGasAllows 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
idNumberID of the NFT to recover.
overridesgasPrice, gasLimit, maxFeePerGas, maxPriorityPerGasAllows 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
idStringID of the NFT to destroy.
overridesgasPrice, gasLimit, maxFeePerGas, maxPriorityPerGasAllows 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
smartAssetIdNumberArianee token ID of the NFT.
tokenAccessType- 0 - viewKey
- 1 - requestKey
Type of key.
tokenAccessStringWallet address generated through the passphrase.
overrridesgasPrice, gasLimit, maxFeePerGas, maxPriorityPerGasAllows 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
smartAssetIdNumberArianee token ID of the NFT.
tokenAccessStringWallet address generated through the passphrase.
overrridesgasPrice, gasLimit, maxFeePerGas, maxPriorityPerGasAllows 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
smartAssetIdNumberArianee token ID of the NFT.
uriStringNFT uri.
overrridesgasPrice, gasLimit, maxFeePerGas, maxPriorityPerGasAllows 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
smartAssetIdNumberArianee token ID of the NFT.
contentObjectContent of the NFT.
overrridesgasPrice, gasLimit, maxFeePerGas, maxPriorityPerGasAllows 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
idNumberArianee 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
idNumberArianee token ID of the NFT.

Return Payload

promise returns string corresponding to the NFT wallet issuer.