UNPKG

@bigmi/core

Version:

TypeScript library for Bitcoin apps.

47 lines 1.53 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.getXPubAddresses = void 0; const rpc_js_1 = require("../../errors/rpc.js"); const url_js_1 = require("../../utils/url.js"); const getXPubAddresses = async (client, { baseUrl, apiKey }, { xPubKey }) => { const apiUrl = (0, url_js_1.urlWithParams)(`${baseUrl}/dashboards/xpub/${xPubKey}`, { key: apiKey, }); const response = (await client.request({ url: apiUrl, fetchOptions: { method: 'GET' }, })); if (response.context.error || response.context?.code !== 200) { return { error: { code: response.context.code === 429 ? rpc_js_1.RpcErrorCode.ACCESS_DENIED : rpc_js_1.RpcErrorCode.MISC_ERROR, message: response.context?.error, }, }; } if (response.data[xPubKey] === undefined) { return { result: { balance: 0n, addresses: [], }, }; } const xpubData = response.data[xPubKey]; const result = { balance: BigInt(xpubData.xpub.balance), addresses: Object.entries(xpubData.addresses).map(([address, data]) => ({ address, balance: BigInt(data.balance), path: data.path, scriptHex: data.script_hex, })), }; return { result, }; }; exports.getXPubAddresses = getXPubAddresses; //# sourceMappingURL=getXPubAddresses.js.map