UNPKG

send-crypto

Version:

A minimal JavaScript library / wallet for sending crypto assets

58 lines 5.65 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.Sochain = void 0; const axios_1 = __importDefault(require("axios")); const utxo_1 = require("../../lib/utxo"); const timeout_1 = require("./timeout"); const fetchUTXO = (network) => async (txHash, vOut) => { const url = `https://sochain.com/api/v2/get_tx/${network}/${txHash}`; const response = await axios_1.default.get(url, { timeout: timeout_1.DEFAULT_TIMEOUT }); const tx = response.data.data; return (0, utxo_1.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_1.default.get(url, { timeout: timeout_1.DEFAULT_TIMEOUT }); return (0, utxo_1.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(utxo_1.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_1.default.get(url, { timeout: timeout_1.DEFAULT_TIMEOUT }); return (0, utxo_1.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(utxo_1.sortUTXOs); }; const broadcastTransaction = (network) => async (txHex) => { const response = await axios_1.default.post(`https://sochain.com/api/v2/send_tx/${network}`, { tx_hex: txHex }, { timeout: timeout_1.DEFAULT_TIMEOUT }); return response.data.data.txid; }; exports.Sochain = { fetchUTXOs, broadcastTransaction, fetchUTXO, fetchTXs, }; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic29jaGFpbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21tb24vYXBpcy9zb2NoYWluLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLGtEQUEwQjtBQUUxQix5Q0FBb0U7QUFDcEUsdUNBQTRDO0FBMkM1QyxNQUFNLFNBQVMsR0FBRyxDQUFDLE9BQWUsRUFBRSxFQUFFLENBQUMsS0FBSyxFQUN4QyxNQUFjLEVBQ2QsSUFBWSxFQUNDLEVBQUU7SUFDZixNQUFNLEdBQUcsR0FBRyxxQ0FBcUMsT0FBTyxJQUFJLE1BQU0sRUFBRSxDQUFDO0lBQ3JFLE1BQU0sUUFBUSxHQUFHLE1BQU0sZUFBSyxDQUFDLEdBQUcsQ0FFN0IsR0FBRyxFQUFFLEVBQUUsT0FBTyxFQUFFLHlCQUFlLEVBQUUsQ0FBQyxDQUFDO0lBRXRDLE1BQU0sRUFBRSxHQUFHLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDO0lBRTlCLE9BQU8sSUFBQSxjQUFPLEVBQ1Y7UUFDSSxNQUFNLEVBQUUsRUFBRSxDQUFDLElBQUk7UUFDZixNQUFNLEVBQUUsUUFBUSxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQztRQUM1QywrQkFBK0I7UUFDL0IsSUFBSTtRQUNKLGFBQWEsRUFBRSxFQUFFLENBQUMsYUFBYTtLQUNsQyxFQUNELENBQUMsQ0FDSixDQUFDO0FBQ04sQ0FBQyxDQUFDO0FBRUYsTUFBTSxVQUFVLEdBQUcsQ0FBQyxPQUFlLEVBQUUsRUFBRSxDQUFDLEtBQUssRUFDekMsT0FBZSxFQUNmLGFBQXFCLEVBQ04sRUFBRTtJQUNqQixNQUFNLEdBQUcsR0FBRyw2Q0FBNkMsT0FBTyxJQUFJLE9BQU8sSUFBSSxhQUFhLEVBQUUsQ0FBQztJQUMvRixNQUFNLFFBQVEsR0FBRyxNQUFNLGVBQUssQ0FBQyxHQUFHLENBRTdCLEdBQUcsRUFBRSxFQUFFLE9BQU8sRUFBRSx5QkFBZSxFQUFFLENBQUMsQ0FBQztJQUV0QyxPQUFPLElBQUEsZUFBUSxFQUNYLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDbEMsTUFBTSxFQUFFLElBQUksQ0FBQyxJQUFJO1FBQ2pCLE1BQU0sRUFBRSxJQUFJLENBQUMsS0FBSztRQUNsQixpQ0FBaUM7UUFDakMsSUFBSSxFQUFFLElBQUksQ0FBQyxTQUFTO1FBQ3BCLGFBQWEsRUFBRSxJQUFJLENBQUMsYUFBYTtLQUNwQyxDQUFDLENBQUMsRUFDSCxDQUFDLENBQ0o7U0FDSSxNQUFNLENBQ0gsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLGFBQWEsS0FBSyxDQUFDLElBQUksSUFBSSxDQUFDLGFBQWEsSUFBSSxhQUFhLENBQ3ZFO1NBQ0EsSUFBSSxDQUFDLGdCQUFTLENBQUMsQ0FBQztBQUN6QixDQUFDLENBQUM7QUFFRixNQUFNLFFBQVEsR0FBRyxDQUFDLE9BQWUsRUFBRSxFQUFFLENBQUMsS0FBSyxFQUN2QyxPQUFlLEVBQ2YsZ0JBQXdCLENBQUMsRUFDVixFQUFFO0lBQ2pCLE1BQU0sR0FBRyxHQUFHLDhDQUE4QyxPQUFPLElBQUksT0FBTyxJQUFJLGFBQWEsRUFBRSxDQUFDO0lBQ2hHLE1BQU0sUUFBUSxHQUFHLE1BQU0sZUFBSyxDQUFDLEdBQUcsQ0FFN0IsR0FBRyxFQUFFLEVBQUUsT0FBTyxFQUFFLHlCQUFlLEVBQUUsQ0FBQyxDQUFDO0lBRXRDLE9BQU8sSUFBQSxlQUFRLEVBQ1gsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsQ0FBQztRQUNsQyxNQUFNLEVBQUUsSUFBSSxDQUFDLElBQUk7UUFDakIsTUFBTSxFQUFFLElBQUksQ0FBQyxLQUFLO1FBQ2xCLGlDQUFpQztRQUNqQyxJQUFJLEVBQUUsSUFBSSxDQUFDLFNBQVM7UUFDcEIsYUFBYSxFQUFFLElBQUksQ0FBQyxhQUFhO0tBQ3BDLENBQUMsQ0FBQyxFQUNILENBQUMsQ0FDSjtTQUNJLE1BQU0sQ0FDSCxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsYUFBYSxLQUFLLENBQUMsSUFBSSxJQUFJLENBQUMsYUFBYSxJQUFJLGFBQWEsQ0FDdkU7U0FDQSxJQUFJLENBQUMsZ0JBQVMsQ0FBQyxDQUFDO0FBQ3pCLENBQUMsQ0FBQztBQUVGLE1BQU0sb0JBQW9CLEdBQUcsQ0FBQyxPQUFlLEVBQUUsRUFBRSxDQUFDLEtBQUssRUFDbkQsS0FBYSxFQUNFLEVBQUU7SUFDakIsTUFBTSxRQUFRLEdBQUcsTUFBTSxlQUFLLENBQUMsSUFBSSxDQU83QixzQ0FBc0MsT0FBTyxFQUFFLEVBQy9DLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxFQUNqQixFQUFFLE9BQU8sRUFBRSx5QkFBZSxFQUFFLENBQy9CLENBQUM7SUFDRixPQUFPLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQztBQUNuQyxDQUFDLENBQUM7QUFFVyxRQUFBLE9BQU8sR0FBRztJQUNuQixVQUFVO0lBQ1Ysb0JBQW9CO0lBQ3BCLFNBQVM7SUFDVCxRQUFRO0NBQ1gsQ0FBQyJ9