UNPKG

send-crypto

Version:

A minimal JavaScript library / wallet for sending crypto assets

52 lines 5.39 kB
import axios from "axios"; import { fixUTXO, fixUTXOs, sortUTXOs } from "../../lib/utxo"; import { DEFAULT_TIMEOUT } from "./timeout"; const fetchUTXO = (network) => async (txHash, vOut) => { const url = `https://sochain.com/api/v2/get_tx/${network}/${txHash}`; const response = await axios.get(url, { timeout: DEFAULT_TIMEOUT }); const tx = response.data.data; return fixUTXO({ txHash: tx.txid, amount: parseInt(tx.outputs[vOut].value, 10), // scriptPubKey: tx.script_hex, vOut, confirmations: tx.confirmations, }, 8); }; const fetchUTXOs = (network) => async (address, confirmations) => { const url = `https://sochain.com/api/v2/get_tx_unspent/${network}/${address}/${confirmations}`; const response = await axios.get(url, { timeout: DEFAULT_TIMEOUT }); return fixUTXOs(response.data.data.txs.map((utxo) => ({ txHash: utxo.txid, amount: utxo.value, // scriptPubKey: utxo.script_hex, vOut: utxo.output_no, confirmations: utxo.confirmations, })), 8) .filter((utxo) => confirmations === 0 || utxo.confirmations >= confirmations) .sort(sortUTXOs); }; const fetchTXs = (network) => async (address, confirmations = 0) => { const url = `https://sochain.com/api/v2/get_tx_received/${network}/${address}/${confirmations}`; const response = await axios.get(url, { timeout: DEFAULT_TIMEOUT }); return fixUTXOs(response.data.data.txs.map((utxo) => ({ txHash: utxo.txid, amount: utxo.value, // scriptPubKey: utxo.script_hex, vOut: utxo.output_no, confirmations: utxo.confirmations, })), 8) .filter((utxo) => confirmations === 0 || utxo.confirmations >= confirmations) .sort(sortUTXOs); }; const broadcastTransaction = (network) => async (txHex) => { const response = await axios.post(`https://sochain.com/api/v2/send_tx/${network}`, { tx_hex: txHex }, { timeout: DEFAULT_TIMEOUT }); return response.data.data.txid; }; export const Sochain = { fetchUTXOs, broadcastTransaction, fetchUTXO, fetchTXs, }; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic29jaGFpbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21tb24vYXBpcy9zb2NoYWluLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxNQUFNLE9BQU8sQ0FBQztBQUUxQixPQUFPLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxTQUFTLEVBQVEsTUFBTSxnQkFBZ0IsQ0FBQztBQUNwRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBMkM1QyxNQUFNLFNBQVMsR0FBRyxDQUFDLE9BQWUsRUFBRSxFQUFFLENBQUMsS0FBSyxFQUN4QyxNQUFjLEVBQ2QsSUFBWSxFQUNDLEVBQUU7SUFDZixNQUFNLEdBQUcsR0FBRyxxQ0FBcUMsT0FBTyxJQUFJLE1BQU0sRUFBRSxDQUFDO0lBQ3JFLE1BQU0sUUFBUSxHQUFHLE1BQU0sS0FBSyxDQUFDLEdBQUcsQ0FFN0IsR0FBRyxFQUFFLEVBQUUsT0FBTyxFQUFFLGVBQWUsRUFBRSxDQUFDLENBQUM7SUFFdEMsTUFBTSxFQUFFLEdBQUcsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUM7SUFFOUIsT0FBTyxPQUFPLENBQ1Y7UUFDSSxNQUFNLEVBQUUsRUFBRSxDQUFDLElBQUk7UUFDZixNQUFNLEVBQUUsUUFBUSxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQztRQUM1QywrQkFBK0I7UUFDL0IsSUFBSTtRQUNKLGFBQWEsRUFBRSxFQUFFLENBQUMsYUFBYTtLQUNsQyxFQUNELENBQUMsQ0FDSixDQUFDO0FBQ04sQ0FBQyxDQUFDO0FBRUYsTUFBTSxVQUFVLEdBQUcsQ0FBQyxPQUFlLEVBQUUsRUFBRSxDQUFDLEtBQUssRUFDekMsT0FBZSxFQUNmLGFBQXFCLEVBQ04sRUFBRTtJQUNqQixNQUFNLEdBQUcsR0FBRyw2Q0FBNkMsT0FBTyxJQUFJLE9BQU8sSUFBSSxhQUFhLEVB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