Skip to main content

Minting Reference

This document is a reference to the Minting module of the Myria Core SDK. The module contains information about Myria mint transactions.

Interfaces

MintERC721Params

Data structure passed to createMintTransactionERC721() method, which contains required data to create a new ERC721 mint transaction.

interface MintERC721Params {
starkKey: string;
contractAddress: string;
uri: string;
tokenId: string;
description?: string;
fees: [
{
percentage: number;
receiptAddress: string;
feeType: FeeType;
}
];
}

Attributes

  • starkKey - Stark Key, has to start with 0x
  • contractAddress - contract address used to withdraw assets to the Ethereum network
  • uri - URL path to the mintable asset metadata
  • tokenId - unique identifier of a given asset, should be an incremental numeric value starting from 1
  • description - description of a given asset
  • fees - an array of fees details for a given asset. FeeType accepts: ROYALTY, TAKER, MAKER, PROTOCOL

MintERC721Response

Data structure returned by the createMintTransactionERC721() method.

interface MintERC721Response {
status: string;
data: any;
}

Attributes

  • status- response status: success, fail
  • data - response data

GetMintedTransactionParams

Data structure passed to getMintTransactionList() method, which contains required parameters to get details of a given minted transaction.

interface GetMintedTransactionParams {
transactionId: number;
}

Attributes

  • transactionId- unique id of a minted transaction

GetMintedTransactionResponse

Data structure passed to getMintTransactionList() method, which contains required data to get details of the minted asset.

interface GetMintedTransactionResponse {
status: string;
data: {
data: string;
updatedAt: number;
vaultId: number;
transactionStatus: string;
createdAt: number;
starkKey: string;
transactionId: number;
transactionType: string;
batchId: number;
quantizedAmount: string;
assetId: string;
};
}

Attributes

  • status - response status: success, failure
  • data- response data
  • updatedAt- date of the latest transaction update
  • vaultId- vault id
  • transactionStatus - transaction status
  • createdAt - date of transaction creation
  • starkKey - Stark Key, has to start with 0x
  • transactionId - unique transaction id
  • transactionType - transaction type
  • batchId - batch id
  • quantizedAmount - quantized amount
  • assetId - unique asset id

GetMintedAssetsParams

Data structure passed to getMintedAssetByStarkKey() method, which contains required parameters to get a list of minted assets.

interface GetMintedAssetsParams {
starkKey: string;
}

Attributes

GetMintedAssetsResponse

Data structure returned by the getMintedAssetByStarkKey() method.

interface GetMintedStarkKeyResponse {
status: string;
}

Attributes

  • status- response status: success, fail
  • data - response data

Methods

createMintTransactionERC721()

Creates a mint transaction of an ERC721 asset.

createMintTransactionERC721(data: MintERC721Params): Promise<MintERC721Response | undefined>;

Parameters

Returns

Returns an object with response call status and the data object that contains details of the mint transaction.

Example

import { MintingManager, MintERC721Params, MintERC721Response, FeeType, EnvTypes } from "myria-core-sdk";

(async (): Promise<void> => {
// STAGING or PRODUCTION
const env = EnvTypes.STAGING;

const mintingManager: MintingManager = new MintingManager(env);

const params: MintERC721Params = {
starkKey: "STARK_KEY",
contractAddress: "CONTRACT_ADDRESS",
uri: "TOKEN_URI",
tokenId: "TOKEN_ID",
description: "DESCRIPTION",
royalties: [
{
percentage: 10,
receiptAddress: "ROYALTY_RECIPIENT_ADDRESS",
},
],
};

const mintTransactionResponse: MintERC721Response | undefined =
await mintingManager.createMintTransactionERC721(params);
})();
info

Note, the default value for the ROYALTY_RECIPIENT_ADDRESS is the collection creator address.

Response

MintERC721Response
{
"asset": {
"uri": "https://gateway.pinata.cloud/ipfs/QmSjWbBS3rPu5K2TnhyXmwGE1GcVZMRFKg5K3iMLGca1m8/1",
"starkKey": "0x7fe1b18d74145afd74c0b84b693c9e8eb4de49a3972743f4cd2fbfc3904e9cb",
"assetType": "MINTABLE_ERC721",
"tokenId": "1",
"tokenAddress": "0x3bb911f179f34aac30ef4e175f57dedf49312cb7",
"status": "MINTED",
"description": "Asset X",
"collectionId": 39,
"creatorStarkKey": "0x7fe1b18d74145afd74c0b84b693c9e8eb4de49a3972743f4cd2fbfc3904e9cb",
"updatedAt": "2022-08-17T04:11:27.763Z",
"name": "mto1",
"imageUrl": null,
"animationUrl": null,
"animationUrlMimeType": null,
"assetMintId": "0x400d7f08c2bd93fded45000d55f20a1eb52a8d90c6912a1315533179219937c",
"transactionId": 39026,
"id": 26149,
"createdAt": "2022-08-17T04:11:26.013Z",
"metadata": {},
"metadataOptional": {
"description": "MT Original 1",
"externalUrl": "",
"image": "https://gateway.pinata.cloud/ipfs/Qmae3dbyXos21g7oSeK3g4C7GyhSV8pxXrkWFmekgaMLPt",
"attributes": [
{
"trait_type": "Category",
"value": "Silver"
},
{
"trait_type": "Edition",
"value": 1
},
{
"trait_type": "Level",
"value": 1
}
]
},
"publicId": "74eab8f4-b68d-410c-a8f6-513a05b2d135"
},
"transaction": {
"tokenType": "MINTABLE_ERC721",
"vaultId": 54424,
"quantizedAmount": "1",
"starkKey": "0x7fe1b18d74145afd74c0b84b693c9e8eb4de49a3972743f4cd2fbfc3904e9cb",
"transactionCategory": "MintRequest#0x3bb911f179f34aac30ef4e175f57dedf49312cb7#1",
"transactionId": 39026,
"transactionType": "MintRequest",
"transactionStatus": "Prepare",
"createdAt": 1660709487350,
"tokenAddress": "0x3bb911f179f34aac30ef4e175f57dedf49312cb7",
"assetType": "0x23d90e1e5140402f246c683dcd6c3d6876968ff03c0187eddc9c255b3a0f4c5",
"assetId": "0x400d7f08c2bd93fded45000d55f20a1eb52a8d90c6912a1315533179219937c",
"tokenId": "1",
"quantum": "1",
"blueprint": "https://gateway.pinata.cloud/ipfs/QmSjWbBS3rPu5K2TnhyXmwGE1GcVZMRFKg5K3iMLGca1m8/1",
"nonce": 1,
"environment": "staging"
}
}

getMintTransactionList()

Returns details of the minted asset by a given transaction id.

getMintTransactionList(data: GetMintedTransactionParams): Promise<GetMintedTransactionResponse>;

Parameters

Returns

Returns an object with response call status and the data object that contains details of the minted asset.

Example

import { MintingManager, GetMintedTransactionParams, GetMintedTransactionResponse, EnvTypes } from "myria-core-sdk";

(async (): Promise<void> => {
// STAGING or PRODUCTION
const env = EnvTypes.STAGING;

const mintingManager: MintingManager = new MintingManager(env);

const params: GetMintedTransactionParams = {
transactionId: TRANSACTION_ID,
};

const mintTransactionResponse: GetMintedTransactionResponse | undefined =
await mintingManager.getMintTransactionList(params);
})();

Response

GetMintedTransactionResponse
{
"status": "success",
"data": {
"environment": "staging",
"tokenId": "1",
"vaultId": 54424,
"assetType": "0x23d90e1e5140402f246c683dcd6c3d6876968ff03c0187eddc9c255b3a0f4c5",
"transactionStatus": "Success",
"quantum": "1",
"createdAt": 1660709487350,
"tokenType": "MINTABLE_ERC721",
"transactionId": 39026,
"transactionType": "MintRequest",
"quantizedAmount": "1",
"tokenAddress": "0x3bb911f179f34aac30ef4e175f57dedf49312cb7",
"assetId": "0x400d7f08c2bd93fded45000d55f20a1eb52a8d90c6912a1315533179219937c",
"updatedAt": 1660710180241,
"nonce": 1,
"starkKey": "0x7fe1b18d74145afd74c0b84b693c9e8eb4de49a3972743f4cd2fbfc3904e9cb",
"transactionCategory": "MintRequest#0x3bb911f179f34aac30ef4e175f57dedf49312cb7#1",
"blueprint": "https://gateway.pinata.cloud/ipfs/QmSjWbBS3rPu5K2TnhyXmwGE1GcVZMRFKg5K3iMLGca1m8/1"
}
}

getMintedAssetByStarkKey()

Returns a list of minted assets by a given Stark Key.

getMintedAssetByStarkKey(data: GetMintedAssetsParams): Promise<GetMintedAssetsResponse>;

Parameters

Returns

Returns an object with response call status and the data object that contains a list of minted assets by a given Stark Key.

Example

import { MintingManager, GetMintedTransactionParams, GetMintedTransactionResponse, EnvTypes } from "myria-core-sdk";

(async (): Promise<void> => {
// STAGING or PRODUCTION
const env = EnvTypes.STAGING;

const mintingManager: MintingManager = new MintingManager(env);

const params: GetMintedAssetsParams = {
starkKey: "STARK_KEY",
};

const mintStarkKeyResponse: GetMintedAssetsResponse | undefined =
await mintingManager.getMintedAssetByStarkKey(params);
})();

Response

GetMintedAssetsResponse
{
"status": "success",
"data": [
{
"environment": "staging",
"tokenId": "1",
"assetType": "0x23d90e1e5140402f246c683dcd6c3d6876968ff03c0187eddc9c255b3a0f4c5",
"vaultId": 54424,
"quantum": "1",
"transactionStatus": "Success",
"createdAt": 1660709487350,
"tokenType": "MINTABLE_ERC721",
"transactionId": 39026,
"transactionType": "MintRequest",
"quantizedAmount": "1",
"tokenAddress": "0x3bb911f179f34aac30ef4e175f57dedf49312cb7",
"assetId": "0x400d7f08c2bd93fded45000d55f20a1eb52a8d90c6912a1315533179219937c",
"updatedAt": 1660710180241,
"nonce": 1,
"starkKey": "0x7fe1b18d74145afd74c0b84b693c9e8eb4de49a3972743f4cd2fbfc3904e9cb",
"transactionCategory": "MintRequest#0x3bb911f179f34aac30ef4e175f57dedf49312cb7#1",
"blueprint": "https://gateway.pinata.cloud/ipfs/QmSjWbBS3rPu5K2TnhyXmwGE1GcVZMRFKg5K3iMLGca1m8/1"
}
]
}