UNPKG

send-crypto

Version:

A minimal JavaScript library / wallet for sending crypto assets

34 lines 3.13 kB
import axios from "axios"; import { sortUTXOs } from "../../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.post(url, { jsonrpc: "1.0", id: "67", method: "blockchain.scripthash.listunspent", params: [scriptHash], })).data.result.height; const response = await axios.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(sortUTXOs); }; export const ElectrumX = { fetchUTXOs, }; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxlY3RydW14LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2NvbW1vbi9hcGlzL2VsZWN0cnVteC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssTUFBTSxPQUFPLENBQUM7QUFFMUIsT0FBTyxFQUFFLFNBQVMsRUFBUSxNQUFNLGdCQUFnQixDQUFDO0FBRWpELE1BQU0sTUFBTSxHQUFHLENBQUMsT0FBZSxFQUFFLE9BQWdCLEVBQUUsRUFBRSxDQUNqRCx3REFBd0QsT0FBTyxJQUMzRCxPQUFPLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsU0FDMUIsRUFBRSxDQUFDO0FBRVAsTUFBTSxVQUFVLEdBQUcsQ0FBQyxPQUFlLEVBQUUsT0FBZ0IsRUFBRSxFQUFFLENBQUMsS0FBSyxFQUMzRCxPQUFlLEVBQ2YsYUFBcUIsRUFDckIsVUFBbUIsRUFDSyxFQUFFO0lBQzFCLElBQUksQ0FBQyxVQUFVLEVBQUU7UUFDYixNQUFNLElBQUksS0FBSyxDQUFDLDJCQUEyQixDQUFDLENBQUM7S0FDaEQ7SUFDRCxNQUFNLEdBQUcsR0FBRyxNQUFNLENBQUMsT0FBTyxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBRXJDLE1BQU0sV0FBVyxHQUFHLENBQ2hCLE1BQU0sS0FBSyxDQUFDLElBQUksQ0FPYixHQUFHLEVBQUU7UUFDSixPQUFPLEVBQUUsS0FBSztRQUNkLEVBQUUsRUFBRSxJQUFJO1FBQ1IsTUFBTSxFQUFFLG1DQUFtQztRQUMzQyxNQUFNLEVBQUUsQ0FBQyxVQUFVLENBQUM7S0FDdkIsQ0FBQyxDQUNMLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUM7SUFFckIsTUFBTSxRQUFRLEdBQUcsTUFBTSxLQUFLLENBQUMsSUFBSSxDQVc5QixHQUFHLEVBQUU7UUFDSixPQUFPLEVBQUUsS0FBSztRQUNkLEVBQUUsRUFBRSxJQUFJO1FBQ1IsTUFBTSxFQUFFLG1DQUFtQztRQUMzQyxNQUFNLEVBQUUsQ0FBQyxVQUFVLENBQUM7S0FDdkIsQ0FBQyxDQUFDO0lBQ0gsT0FBTyxRQUFRLENBQUMsSUFBSSxDQUFDLE1BQU07U0FDdEIsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQ1osTUFBTSxFQUFFLElBQUksQ0FBQyxPQUFPO1FBQ3BCLE1BQU0sRUFBRSxJQUFJLENBQUMsS0FBSztRQUNsQixJQUFJLEVBQUUsSUFBSSxDQUFDLE1BQU07UUFDakIsYUFBYSxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxXQUFXLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQztLQUNqRSxDQUFDLENBQUM7U0FDRixNQUFNLENBQ0gsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLGFBQWEsS0FBSyxDQUFDLElBQUksSUFBSSxDQUFDLGFBQWEsSUFBSSxhQUFhLENBQ3ZFO1NBQ0EsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0FBQ3pCLENBQUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLFNBQVMsR0FBRztJQUNyQixVQUFVO0NBQ2IsQ0FBQyJ9