Create & Manage NFT
Methods related to NFTs management.
Reserve NFT
Your wallet must own at least 1
certificatecredit. The credit is spent once the NFT has been minted and claimed by another wallet.
Method
creator.reserveSmartAssetId(smartAssetId?, overrideTransaction?:NonPayableOverrides)| Parameter | Type | Required | Description |
|---|---|---|---|
smartAssetId | Number | ❌ | If ID defined → Checked if ID is free. If the ID is undefined → Get a free ID. |
overrides | gasPrice, gasLimit, maxFeePerGas, maxPriorityPerGas | ❌ | Allows you to override the gas/gasprice pale 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)| Parameter | Type | Required | Description |
|---|---|---|---|
id | String | ✅ | NFT identification number to be checked. |
Return Payload
promise returns boolean.
| Boolean | Description |
|---|---|
true | ID available. |
false | ID 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)| Parameter | Type | Required | Description |
|---|---|---|---|
idType | smartAsset, 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:
| Parameter | Type | Required | Description |
|---|---|---|---|
smartAssetId | Number | ❌ | NFT identification number. |
tokenAccess | String | ❌ | Wallet address generated through the passphrase. |
tokenRecoveryTimestamp | Number | ❌ | The period during which the NFT can be recovered by its issuer. Default value if empty: 5 years. |
sameRequestOwnershipPassphrase | Boolean | ❌ | true: Transferable NFTfalse: Non-transferable NFT |
content | Object | ✅ | Content mandatory if no uri and imprint. |
uri | String | ✅ | NFT uri. Mandatory with imprint if no content. |
imprint | String | ✅ | NFT imprint. Mandatory with uri if no content. |
overrides | gasPrice, gasLimit, maxFeePerGas, maxPriorityPerGas | ❌ | Allows you to override the gas/gasprice part to move transactions through more quickly if needed. |
Option 2 → You have not a registered & verified identity:
| Parameter | Type | Required | Description |
|---|---|---|---|
uri | String | ✅ | NFT uri. |
Return Payload
promise returns LinkObject. The NFT has been created, as well as the 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 type | Description |
|---|---|
UnavailableSmartAssetIdError | The NFT identification number is not available. |
InsufficientSmartAssetCreditsError | The core address does not have enough smart asset credits. |
NoIdentityError | The core address does not have an identity URI. |
ArianeePrivacyGatewayError | An 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) | Parameter | Type | Required | Description |
|---|---|---|---|
smartAssetId | Number | ❌ | NFT identification number. |
tokenAccess | String | ❌ | Wallet address generated through the passphrase. |
tokenRecoveryTimestamp | Number | ❌ | The period during which the NFT can be recovered by its issuer. Default value if empty: 5 years. |
sameRequestOwnershipPassphrase | Boolean | ❌ | true: Transferable NFTfalse: Non-transferable NFT |
content | Object | ✅ | Content mandatory if no uri and imprint. |
uri | String | ✅ | NFT uri. Mandatory with imprint if no content. |
overrides | gasPrice, gasLimit, maxFeePerGas, maxPriorityPerGas | ❌ | Allows you to override the gas/gasprice part to move transactions through more quickly if needed. |
Return Payload
promise returns LinkObject. The NFT has been created, as well as the NFT deeplink, smartAssetId and passphrase.
{
deeplink:"https://test.arianee.net/440105186,v6lsj4vhg5dx",
smartAssetId:"440105186",
passphrase:"v6lsj4vhg5dx"
}Errors
| Error type | Description |
|---|---|
UnavailableSmartAssetIdError | The NFT identification number is not available. |
InsufficientSmartAssetCreditsError | The 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
tokenRecoveryTimestampmust not be outdated.
Method
creator.recoverSmartAsset(id, overrideTransaction?:NonPayableOverrides) | Parameter | Type | Required | Description |
|---|---|---|---|
id | Number | ✅ | ID of the NFT to recover. |
overrides | gasPrice, gasLimit, maxFeePerGas, maxPriorityPerGas | ❌ | Allows you to override the gas/gasprice part 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)| Parameter | Type | Required | Description |
|---|---|---|---|
id | String | ✅ | ID of the NFT to destroy. |
overrides | gasPrice, gasLimit, maxFeePerGas, maxPriorityPerGas | ❌ | Allows you to override the gas/gasprice part 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?)| Parameter | Type | Required | Description |
|---|---|---|---|
smartAssetId | Number | ✅ | Arianee token ID of the NFT. |
tokenAccessType | - 0 - viewKey - 1 - requestKey | ✅ | Type of key. |
tokenAccess | String | ❌ | Wallet address generated through the passphrase. |
overrrides | gasPrice, gasLimit, maxFeePerGas, maxPriorityPerGas | ❌ | Allows you to override the gas/gasprice part to move transactions through more quickly if needed. |
Return Payload
The token type has been set on the given smartAssetId.
Error
| Error type | Description |
|---|---|
NotOwnerOf | The 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?)| Parameter | Type | Required | Description |
|---|---|---|---|
smartAssetId | Number | ✅ | Arianee token ID of the NFT. |
tokenAccess | String | ❌ | Wallet address generated through the passphrase. |
overrrides | gasPrice, gasLimit, maxFeePerGas, maxPriorityPerGas | ❌ | Allows you to override the gas/gasprice part to move transactions through more quickly if needed. |
Return Payload
The requestKey is set on the given smartAssetId.
Errors
| Error type | Description |
|---|---|
NotOwnerOf | The core wallet address is not the owner of the NFT. |
Update token URI
Method
creator.updateTokenURI(smartAssetId, uri, overrides)| Parameter | Type | Required | Description |
|---|---|---|---|
smartAssetId | Number | ✅ | Arianee token ID of the NFT. |
uri | String | ✅ | NFT uri. |
overrrides | gasPrice, gasLimit, maxFeePerGas, maxPriorityPerGas | ❌ | Allows you to override the gas/gasprice part to move transactions through more quickly if needed. |
Return Payload
The token URI is updated.
Errors
| Error type | Description |
|---|---|
NotIssuerError | The wallet core address is not the issuer of the smart asset. |
InvalidURIError | The URI is not valid. |
Update NFT
Update the content of an NFT in the Arianee Privacy Gateway and update its imprint on the chain. Returns the imprint of the new content.
The wallet core address requires an Identity URI.
Method
creator.updateSmartAsset(smartAssetId, content, overrides)| Parameter | Type | Required | Description |
|---|---|---|---|
smartAssetId | Number | ✅ | Arianee token ID of the NFT. |
content | Object | ✅ | Content of the NFT. |
overrrides | gasPrice, gasLimit, maxFeePerGas, maxPriorityPerGas | ❌ | Allows you to override the gas/gasprice part to move transactions through more quickly if needed. |
Return Payload
The NFT has been updated.
Errors
| Error type | Description |
|---|---|
InsufficientUpdateCreditsError | The wallet core address does not have enough update credits. |
NoIdentityError | The wallet core address does not have an identity URI. |
ArianeePrivacyGatewayError | An error occurred while interacting with the Arianee Privacy Gateway. |
Fetch NFT owner
Retrieve the owner of a given NFT.
Method
creator.getSmartAssetOwner(id)| Parameter | Type | Required | Description |
|---|---|---|---|
id | Number | ✅ | 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)| Parameter | Type | Required | Description |
|---|---|---|---|
id | Number | ✅ | Arianee token ID of the NFT. |
Return Payload
promise returns string corresponding to the NFT wallet issuer.
Updated over 1 year ago
