UNPKG

@apexfusionfoundation/blockfrost-js

Version:

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

304 lines (303 loc) 10.7 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.poolsExtendedAll = exports.poolsExtended = exports.poolsByIdUpdates = exports.poolsByIdBlocks = exports.poolsByIdDelegators = exports.poolsByIdRelays = exports.poolMetadata = exports.poolsByIdHistory = exports.poolsById = exports.poolsRetiring = exports.poolsRetired = exports.poolsAll = exports.pools = void 0; const utils_1 = require("../../../utils"); const errors_1 = require("../../../utils/errors"); /** * Obtains list of registered stake pools (paginated). * @see {@link https://docs.blockfrost.io/#tag/Cardano-Pools/paths/~1pools/get | API docs for List of stake pools} * * @param pagination - Optional, Pagination options * @returns List of registered stake pools. * */ async function pools(pagination) { const paginationOptions = (0, utils_1.getPaginationOptions)(pagination); return new Promise((resolve, reject) => { this.instance(`pools`, { searchParams: { page: paginationOptions.page, count: paginationOptions.count, order: paginationOptions.order, }, }) .then(resp => { resolve(resp.body); }) .catch(err => { reject((0, errors_1.handleError)(err)); }); }); } exports.pools = pools; /** * Obtains list of all registered stake pools. * @see {@link https://docs.blockfrost.io/#tag/Cardano-Pools/paths/~1pools/get | API docs for List of stake pools} * @remarks * Variant of `pools` method for fetching all pages with built-in requests batching * * @param allMethodOptions - Optional, Options for request batching * @returns List of registered stake pools. * */ async function poolsAll(allMethodOptions) { return (0, utils_1.paginateMethod)(pagination => this.pools(pagination), allMethodOptions); } exports.poolsAll = poolsAll; async function poolsRetired(pagination) { const paginationOptions = (0, utils_1.getPaginationOptions)(pagination); return new Promise((resolve, reject) => { this.instance(`pools/retired`, { searchParams: { page: paginationOptions.page, count: paginationOptions.count, order: paginationOptions.order, }, }) .then(resp => { resolve(resp.body); }) .catch(err => { reject((0, errors_1.handleError)(err)); }); }); } exports.poolsRetired = poolsRetired; /** * Obtains list of stake pools retiring in the upcoming epochs (paginated). * @see {@link https://docs.blockfrost.io/#tag/Cardano-Pools/paths/~1pools~1retiring/get | API docs for List of retiring stake pools} * * @param pagination - Optional, Pagination options * @returns List of stake pools retiring in the upcoming epochs * */ async function poolsRetiring(pagination) { const paginationOptions = (0, utils_1.getPaginationOptions)(pagination); return new Promise((resolve, reject) => { this.instance(`pools/retiring`, { searchParams: { page: paginationOptions.page, count: paginationOptions.count, order: paginationOptions.order, }, }) .then(resp => { resolve(resp.body); }) .catch(err => { reject((0, errors_1.handleError)(err)); }); }); } exports.poolsRetiring = poolsRetiring; /** * Obtains information of a specific stake pool. * @see {@link https://docs.blockfrost.io/#tag/Cardano-Pools/paths/~1pools~1%7Bpool_id%7D/get | API docs for Stake Pool} * * @param poolId - Pool ID * @returns Information of a specific stake pool. * */ async function poolsById(poolId) { return new Promise((resolve, reject) => { this.instance(`pools/${poolId}`) .then(resp => { resolve(resp.body); }) .catch(err => { reject((0, errors_1.handleError)(err)); }); }); } exports.poolsById = poolsById; /** * Obtains history of stake pool parameters over epochs (paginated). * @see {@link https://docs.blockfrost.io/#tag/Cardano-Pools/paths/~1pools~1%7Bpool_id%7D~1history/get | API docs for Stake pool history} * * @param poolId - Pool ID * @param pagination - Optional, Pagination options * @returns List of stake pool parameters per epoch * */ async function poolsByIdHistory(poolId, pagination) { const paginationOptions = (0, utils_1.getPaginationOptions)(pagination); return new Promise((resolve, reject) => { this.instance(`pools/${poolId}/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.poolsByIdHistory = poolsByIdHistory; /** * Obtains stake pool registration metadata. * @see {@link https://docs.blockfrost.io/#tag/Cardano-Pools/paths/~1pools~1%7Bpool_id%7D~1metadata/get | API docs for Stake pool metadata} * * @param poolId - Pool ID * @returns Stake pool registration metadata * */ async function poolMetadata(poolId) { return new Promise((resolve, reject) => { this.instance(`pools/${poolId}/metadata`) .then(resp => { resolve(resp.body); }) .catch(err => { reject((0, errors_1.handleError)(err)); }); }); } exports.poolMetadata = poolMetadata; /** * Obtains stake pool relays. * @see {@link https://docs.blockfrost.io/#tag/Cardano-Pools/paths/~1pools~1%7Bpool_id%7D~1relays/get | API docs for Stake pool relays} * * @param poolId - Pool ID * @returns Stake pool relays * */ async function poolsByIdRelays(poolId) { return new Promise((resolve, reject) => { this.instance(`pools/${poolId}/relays`) .then(resp => { resolve(resp.body); }) .catch(err => { reject((0, errors_1.handleError)(err)); }); }); } exports.poolsByIdRelays = poolsByIdRelays; /** * Obtains current stake pool delegators. * @see {@link https://docs.blockfrost.io/#tag/Cardano-Pools/paths/~1pools~1%7Bpool_id%7D~delegators/get | API docs for Stake pool delegators} * * @param poolId - Pool ID * @returns Current stake pool delegators * */ async function poolsByIdDelegators(poolId, pagination) { const paginationOptions = (0, utils_1.getPaginationOptions)(pagination); return new Promise((resolve, reject) => { this.instance(`pools/${poolId}/delegators`, { searchParams: { page: paginationOptions.page, count: paginationOptions.count, order: paginationOptions.order, }, }) .then(resp => { resolve(resp.body); }) .catch(err => { reject((0, errors_1.handleError)(err)); }); }); } exports.poolsByIdDelegators = poolsByIdDelegators; /** * Obtains list of stake pool blocks. * @see {@link https://docs.blockfrost.io/#tag/Cardano-Pools/paths/~1pools~1%7Bpool_id%7D~1blocks/get | API docs for Stake pool blocks} * * @param poolId - Pool ID * @param pagination - Optional, Pagination options * @returns List of stake pool blocks * */ async function poolsByIdBlocks(poolId, pagination) { const paginationOptions = (0, utils_1.getPaginationOptions)(pagination); return new Promise((resolve, reject) => { this.instance(`pools/${poolId}/blocks`, { searchParams: { page: paginationOptions.page, count: paginationOptions.count, order: paginationOptions.order, }, }) .then(resp => { resolve(resp.body); }) .catch(err => { reject((0, errors_1.handleError)(err)); }); }); } exports.poolsByIdBlocks = poolsByIdBlocks; /** * Obtains list of certificate updates to the stake pool. * @see {@link https://docs.blockfrost.io/#tag/Cardano-Pools/paths/~1pools~1%7Bpool_id%7D~1updates/get | API docs for Stake pool updates} * * @param poolId - Pool ID * @param pagination - Optional, Pagination options * @returns List of certificate updates to the stake pool * */ async function poolsByIdUpdates(poolId, pagination) { const paginationOptions = (0, utils_1.getPaginationOptions)(pagination); return new Promise((resolve, reject) => { this.instance(`pools/${poolId}/updates`, { searchParams: { page: paginationOptions.page, count: paginationOptions.count, order: paginationOptions.order, }, }) .then(resp => { resolve(resp.body); }) .catch(err => { reject((0, errors_1.handleError)(err)); }); }); } exports.poolsByIdUpdates = poolsByIdUpdates; /** * Obtains list of registered stake pools with additional information. * @see {@link https://docs.blockfrost.io/#tag/Cardano-Pools/paths/~1pools~1extended/get | API docs for List of stake pools with additional information} * * @returns List of registered stake pools with additional information * */ async function poolsExtended(pagination) { const paginationOptions = (0, utils_1.getPaginationOptions)(pagination); return new Promise((resolve, reject) => { this.instance(`pools/extended`, { searchParams: { page: paginationOptions.page, count: paginationOptions.count, order: paginationOptions.order, }, }) .then(resp => { resolve(resp.body); }) .catch(err => { reject((0, errors_1.handleError)(err)); }); }); } exports.poolsExtended = poolsExtended; /** * Obtains list of registered stake pools with additional information. * @see {@link https://docs.blockfrost.io/#tag/Cardano-Pools/paths/~1pools~1extended/get | API docs for List of stake pools with additional information} * @remarks * Variant of `poolsExtended` method for fetching all pages with built-in requests batching * * @param allMethodOptions - Optional, Options for request batching * @returns List of registered stake pools with additional information * */ async function poolsExtendedAll(allMethodOptions) { return (0, utils_1.paginateMethod)(pagination => this.poolsExtended(pagination), allMethodOptions); } exports.poolsExtendedAll = poolsExtendedAll;