UNPKG

send-crypto

Version:

A minimal JavaScript library / wallet for sending crypto assets

40 lines 3.35 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.ElectrumX = void 0; const axios_1 = __importDefault(require("axios")); const utxo_1 = require("../../lib/utxo"); const getURL = (network, testnet) => `https://multichain-web-proxy.herokuapp.com/electrumx-${network}-${testnet ? "testnet" : "mainnet"}`; const fetchUTXOs = (network, testnet) => async (address, confirmations, scriptHash) => { if (!scriptHash) { throw new Error("Must provide script hash."); } const url = getURL(network, testnet); const latestBlock = (await axios_1.default.post(url, { jsonrpc: "1.0", id: "67", method: "blockchain.scripthash.listunspent", params: [scriptHash], })).data.result.height; const response = await axios_1.default.post(url, { jsonrpc: "1.0", id: "67", method: "blockchain.scripthash.listunspent", params: [scriptHash], }); return response.data.result .map((utxo) => ({ txHash: utxo.tx_hash, amount: utxo.value, vOut: utxo.tx_pos, confirmations: utxo.height ? 1 + latestBlock - utxo.height : 0, })) .filter((utxo) => confirmations === 0 || utxo.confirmations >= confirmations) .sort(utxo_1.sortUTXOs); }; exports.ElectrumX = { fetchUTXOs, }; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxlY3RydW14LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2NvbW1vbi9hcGlzL2VsZWN0cnVteC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSxrREFBMEI7QUFFMUIseUNBQWlEO0FBRWpELE1BQU0sTUFBTSxHQUFHLENBQUMsT0FBZSxFQUFFLE9BQWdCLEVBQUUsRUFBRSxDQUNqRCx3REFBd0QsT0FBTyxJQUMzRCxPQUFPLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsU0FDMUIsRUFBRSxDQUFDO0FBRVAsTUFBTSxVQUFVLEdBQUcsQ0FBQyxPQUFlLEVBQUUsT0FBZ0IsRUFBRSxFQUFFLENBQUMsS0FBSyxFQUMzRCxPQUFlLEVBQ2YsYUFBcUIsRUFDckIsVUFBbUIsRUFDSyxFQUFFO0lBQzFCLElBQUksQ0FBQyxVQUFVLEVBQUU7UUFDYixNQUFNLElBQUksS0FBSyxDQUFDLDJCQUEyQixDQUFDLENBQUM7S0FDaEQ7SUFDRCxNQUFNLEdBQUcsR0FBRyxNQUFNLENBQUMsT0FBTyxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBRXJDLE1BQU0sV0FBVyxHQUFHLENBQ2hCLE1BQU0sZUFBSyxDQUFDLElBQUksQ0FPYixHQUFHLEVBQUU7UUFDSixPQUFPLEVBQUUsS0FBSztRQUNkLEVBQUUsRUFBRSxJQUFJO1FBQ1IsTUFBTSxFQUFFLG1DQUFtQztRQUMzQyxNQUFNLEVBQUUsQ0FBQyxVQUFVLENBQUM7S0FDdkIsQ0FBQyxDQUNMLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUM7SUFFckIsTUFBTSxRQUFRLEdBQUcsTUFBTSxlQUFLLENBQUMsSUFBSSxDQVc5QixHQUFHLEVBQUU7UUFDSixPQUFPLEVBQUUsS0FBSztRQUNkLEVBQUUsRUFBRSxJQUFJO1FBQ1IsTUFBTSxFQUFFLG1DQUFtQztRQUMzQyxNQUFNLEVBQUUsQ0FBQyxVQUFVLENBQUM7S0FDdkIsQ0FBQyxDQUFDO0lBQ0gsT0FBTyxRQUFRLENBQUMsSUFBSSxDQUFDLE1BQU07U0FDdEIsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQ1osTUFBTSxFQUFFLElBQUksQ0FBQyxPQUFPO1FBQ3BCLE1BQU0sRUFBRSxJQUFJLENBQUMsS0FBSztRQUNsQixJQUFJLEVBQUUsSUFBSSxDQUFDLE1BQU07UUFDakIsYUFBYSxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxXQUFXLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQztLQUNqRSxDQUFDLENBQUM7U0FDRixNQUFNLENBQ0gsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLGFBQWEsS0FBSyxDQUFDLElBQUksSUFBSSxDQUFDLGFBQWEsSUFBSSxhQUFhLENBQ3ZFO1NBQ0EsSUFBSSxDQUFDLGdCQUFTLENBQUMsQ0FBQztBQUN6QixDQUFDLENBQUM7QUFFVyxRQUFBLFNBQVMsR0FBRztJQUNyQixVQUFVO0NBQ2IsQ0FBQyJ9