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)
Parameter | Type | Required | Description |
---|---|---|---|
smartAssetId | Number | ❌ | If ID defined → Checked if ID is free. If ID undefined → Get a free ID. |
overrides | gasPrice , 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)
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 identitication number. |
tokenAccess | String | ❌ | Wallet address generated through the passphrase. |
tokenRecoveryTimestamp | Number | ❌ | 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 be able 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 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 | ❌ | 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 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 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
tokenRecoveryTimestamp
must 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 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)
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 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,requestKey
orviewKey
, 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 be able 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 be able 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 be able 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 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 be able 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 8 months ago