UNPKG

@bigmi/core

Version:

TypeScript library for Bitcoin apps.

43 lines 1.36 kB
import { RpcErrorCode } from '../../errors/rpc.js'; import { urlWithParams } from '../../utils/url.js'; export const getXPubAddresses = async (client, { baseUrl, apiKey }, { xPubKey }) => { const apiUrl = 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 ? RpcErrorCode.ACCESS_DENIED : 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, }; }; //# sourceMappingURL=getXPubAddresses.js.map