UNPKG

@apexfusionfoundation/blockfrost-js

Version:

A JavaScript/TypeScript SDK for interacting with the https://blockfrost.io API

187 lines (186 loc) 7.41 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.assetsPolicyByIdAll = exports.assetsPolicyById = exports.assetsAddresses = exports.assetsTransactions = exports.assetsHistoryAll = exports.assetsHistory = exports.assetsById = exports.assets = void 0; const utils_1 = require("../../../utils"); const errors_1 = require("../../../utils/errors"); /** * Obtains list of assets. * @see {@link https://docs.blockfrost.io/#tag/Cardano-Assets/paths/~1assets/get | API docs for Assets} * @remarks * If an asset is completely burned, it will stay on the list with quantity 0 (order of assets is immutable). * * @param stakeAddress - Bech32 stake address * @param pagination - Optional, Pagination options * @returns List of assets * */ async function assets(pagination) { const paginationOptions = (0, utils_1.getPaginationOptions)(pagination); return new Promise((resolve, reject) => { this.instance(`assets`, { searchParams: { page: paginationOptions.page, count: paginationOptions.count, order: paginationOptions.order, }, }) .then(resp => { resolve(resp.body); }) .catch(err => reject((0, errors_1.handleError)(err))); }); } exports.assets = assets; /** * Obtains information about a specific asset. * @see {@link https://docs.blockfrost.io/#tag/Cardano-Assets/paths/~1assets~1%7Basset%7D/get | API docs for Asset} * * @param asset - Concatenation of the policy ID and hex-encoded asset name * @returns Information about a specific asset. * */ async function assetsById(asset) { return new Promise((resolve, reject) => { this.instance(`assets/${asset}`) .then(resp => { resolve(resp.body); }) .catch(err => reject((0, errors_1.handleError)(err))); }); } exports.assetsById = assetsById; /** * Obtains history of a specific asset. * @see {@link https://docs.blockfrost.io/#tag/Cardano-Assets/paths/~1assets~1%7Basset%7D~1history/get | API docs for Asset history} * * @param asset - Concatenation of the policy ID and hex-encoded asset name * @param pagination - Optional, Pagination options * @returns History of a specific asset. * */ async function assetsHistory(asset, pagination) { const paginationOptions = (0, utils_1.getPaginationOptions)(pagination); return new Promise((resolve, reject) => { this.instance(`assets/${asset}/history`, { searchParams: { page: paginationOptions.page, count: paginationOptions.count, order: paginationOptions.order, }, }) .then(resp => { resolve(resp.body); }) .catch(err => reject((0, errors_1.handleError)(err))); }); } exports.assetsHistory = assetsHistory; /** * Obtains whole history of a specific asset. * @see {@link https://docs.blockfrost.io/#tag/Cardano-Assets/paths/~1assets~1%7Basset%7D~1history/get | API docs for Asset history} * @remarks * Variant of `assetsHistory` method for fetching all pages with built-in requests batching * * @param asset - Concatenation of the policy ID and hex-encoded asset name * @param allMethodOptions - Optional, Options for request batching * @returns Whole history of a specific asset. * */ async function assetsHistoryAll(asset, allMethodOptions) { return (0, utils_1.paginateMethod)(pagination => this.assetsHistory(asset, pagination), allMethodOptions); } exports.assetsHistoryAll = assetsHistoryAll; /** * Lists of transactions of a specific asset. * @see {@link https://docs.blockfrost.io/#tag/Cardano-Assets/paths/~1assets~1%7Basset%7D~1transactions/get | API docs for Asset transactions} * * @param asset - Concatenation of the policy ID and hex-encoded asset name * @param pagination - Optional, Pagination options * @returns List of a specific asset transactions. * */ async function assetsTransactions(asset, pagination) { const paginationOptions = (0, utils_1.getPaginationOptions)(pagination); return new Promise((resolve, reject) => { this.instance(`assets/${asset}/transactions`, { searchParams: { page: paginationOptions.page, count: paginationOptions.count, order: paginationOptions.order, }, }) .then(resp => { resolve(resp.body); }) .catch(err => reject((0, errors_1.handleError)(err))); }); } exports.assetsTransactions = assetsTransactions; /** * Obtains list of a addresses containing a specific asset. * @see {@link https://docs.blockfrost.io/#tag/Cardano-Assets/paths/~1assets~1%7Basset%7D~1addresses/get | API docs for Asset addresses} * * @param asset - Concatenation of the policy ID and hex-encoded asset name * @param pagination - Optional, Pagination options * @returns List of a addresses containing a specific asset. * */ async function assetsAddresses(asset, pagination) { const paginationOptions = (0, utils_1.getPaginationOptions)(pagination); return new Promise((resolve, reject) => { this.instance(`assets/${asset}/addresses`, { searchParams: { page: paginationOptions.page, count: paginationOptions.count, order: paginationOptions.order, }, }) .then(resp => { resolve(resp.body); }) .catch(err => reject((0, errors_1.handleError)(err))); }); } exports.assetsAddresses = assetsAddresses; /** * Obtains list of assets minted under a specific policy. * @see {@link https://docs.blockfrost.io/#tag/Cardano-Assets/paths/~1assets~1policy~1%7Bpolicy_id%7D/get | API docs for Assets of a specific policy} * * @param policyId - Specific policy ID * @param pagination - Optional, Pagination options * @returns List of assets minted under a specific policy. * */ async function assetsPolicyById(policyId, pagination) { const paginationOptions = (0, utils_1.getPaginationOptions)(pagination); return new Promise((resolve, reject) => { this.instance(`assets/policy/${policyId}`, { searchParams: { page: paginationOptions.page, count: paginationOptions.count, order: paginationOptions.order, }, }) .then(resp => { resolve(resp.body); }) .catch(err => reject((0, errors_1.handleError)(err))); }); } exports.assetsPolicyById = assetsPolicyById; /** * Obtains list of all assets minted under a specific policy. * @see {@link https://docs.blockfrost.io/#tag/Cardano-Assets/paths/~1assets~1policy~1%7Bpolicy_id%7D/get | API docs for Assets of a specific policy} * @remarks * Variant of `assetsPolicyById` method for fetching all pages with built-in requests batching * * @param policyId - Specific policy ID * @param pagination - Optional, Pagination options * @param allMethodOptions - Optional, Options for request batching * @returns List of asset minted under a specific policy. * */ async function assetsPolicyByIdAll(policyId, allMethodOptions) { return (0, utils_1.paginateMethod)(pagination => this.assetsPolicyById(policyId, pagination), allMethodOptions); } exports.assetsPolicyByIdAll = assetsPolicyByIdAll;