Create & Manage Message
Methods related to messages management.
Get available dMessage ID
Method:
creator.getAvailableMessageId()Response: promise returns number corresponding to the messageId.
Check if a dMessage ID is available
Method:
creator.isMessageIdAvailable(id)| Parameter | Mandatory | Type | Description |
|---|---|---|---|
id | ✅ | String | dMessage identification number to be checked. |
Response: promise returns boolean:
true: dMessage ID available.false: dMessage ID already used.
Create dMessage
Create and send a dMessage and store its content on the Arianee Privacy Gateway.
- Your wallet must own at least 1
messagecredit. The credit is spent when the message is read.- The dMessage requires to have an identity URI.
Method:
creator.createAndStoreMessage(data, overrideTransaction?:NonPayableOverrides)| Parameter | Mandatory | Type | Description |
|---|---|---|---|
data → smartAssetId | ✅ | String | Recipient NFT of the message. |
data → uri | ✅ | String | Message uri. Mandatory with imprint if no content. |
data → imprint | ✅ | String | Imprint of the message. Mandatory with uri if no content. |
data → content | ✅ | Object | Content mandatory if no uri and imprint. |
data → messageId | ❌ | String | dMessage identification number. If not defined, a random one is generated. |
overrrides | ❌ | gasPrice, gasLimit, maxFeePerGas, maxPriorityPerGas | Allows you to override the gas/gasprice part to be able to move transactions through more quickly if needed. |
Example:
const core = Core.fromRandom();
const creator = new Creator({
creatorAddress: '', // address that will be rewarded for creator action
core: core,
});
const isConnected = await creator.connect('polygon');
if (isConnected) {
await creator.buyCredit(CreditType.message, 1);
await creator.messages.createAndStoreMessage({
smartAssetId: 12343,
messageId: 1232143,
content: {},
}); /Response:
- The dMessage is created and received in the recipient wallet.
- An error may occur.
| Error type | Description |
|---|---|
InsufficientMessageCreditsError | The core wallet address does not have enough message credits. |
UnavailableMessageIdError | The messageId is not available. |
NoIdentityError | The core wallet address does not have an Identity URI. |
ArianeePrivacyGatewayError | Error while interacting with the Arianee Privacy Gateway. |
Create dMessage without storing content
Method for test purposes.
Your wallet must own at least 1
messagecredit. The credit is spent when the message is read.
Method:
creator.createMessage(CreateAndStoreEventParameters, overrideTransaction?:NonPayableOverrides)| Parameter | Mandatory | Type | Description |
|---|---|---|---|
smartAssetId | ✅ | String | Recipient NFT of the message. |
imprint | ✅ | String | Imprint of the message. Mandatory with uri if no content. |
messageId | ❌ | String | dMessage identification number. If not defined, a random one is generated. |
overrrides | ❌ | gasPrice, gasLimit, maxFeePerGas, maxPriorityPerGas | Allows you to override the gas/gasprice part to be able to move transactions through more quickly if needed. |
Response:
- The dMessage is created and received in the recipient wallet.
- An error may occur.
| Error type | Description |
|---|---|
InsufficientMessageCreditsError | The core wallet address does not have enough message credits. |
UnavailableMessageIdError | The messageId is not available. |
Updated 6 months ago
