send-crypto
Version:
A minimal JavaScript library / wallet for sending crypto assets
58 lines • 5.65 kB
JavaScript
;
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