send-crypto
Version:
A minimal JavaScript library / wallet for sending crypto assets
43 lines • 5.54 kB
JavaScript
import { Blockchair } from "../../common/apis/blockchair";
import { Sochain } from "../../common/apis/sochain";
import { fallback, onlyMainnet } from "../../lib/retry";
import { shuffleArray } from "../../lib/utils";
export const _apiFallbacks = {
fetchUTXO: (testnet, txHash, vOut) => [
() => Sochain.fetchUTXO(testnet ? "DOGETEST" : "DOGE")(txHash, vOut),
...shuffleArray(onlyMainnet(() => Blockchair.fetchUTXO(Blockchair.networks.DOGECOIN)(txHash, vOut), true)),
],
fetchUTXOs: (testnet, address, confirmations) => [
() => Sochain.fetchUTXOs(testnet ? "DOGETEST" : "DOGE")(address, confirmations),
...shuffleArray(onlyMainnet(() => Blockchair.fetchUTXOs(Blockchair.networks.DOGECOIN)(address, confirmations), testnet)),
],
fetchTXs: (testnet, address, confirmations = 0) => [
() => Sochain.fetchTXs(testnet ? "DOGETEST" : "DOGE")(address, confirmations),
...shuffleArray(onlyMainnet(() => Blockchair.fetchTXs(Blockchair.networks.DOGECOIN)(address, confirmations), testnet)),
],
broadcastTransaction: (testnet, hex) => [
() => Sochain.broadcastTransaction(testnet ? "DOGETEST" : "DOGE")(hex),
...shuffleArray(onlyMainnet(() => Blockchair.broadcastTransaction(Blockchair.networks.DOGECOIN)(hex), testnet)),
],
};
export class DOGEHandler {
static getUTXOs = async (testnet, options) => {
const confirmations = options && options.confirmations !== undefined
? options.confirmations
: 0;
const endpoints = _apiFallbacks.fetchUTXOs(testnet, options.address, confirmations);
return fallback(endpoints);
};
static getUTXO = async (testnet, txHash, vOut) => {
const endpoints = _apiFallbacks.fetchUTXO(testnet, txHash, vOut);
return fallback(endpoints);
};
static getTransactions = async (testnet, options) => {
const confirmations = options && options.confirmations !== undefined
? options.confirmations
: 0;
const endpoints = _apiFallbacks.fetchTXs(testnet, options.address, confirmations);
return fallback(endpoints);
};
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRE9HRUhhbmRsZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvaGFuZGxlcnMvRE9HRS9ET0dFSGFuZGxlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDMUQsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ3BELE9BQU8sRUFBRSxRQUFRLEVBQUUsV0FBVyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDeEQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRy9DLE1BQU0sQ0FBQyxNQUFNLGFBQWEsR0FBRztJQUN6QixTQUFTLEVBQUUsQ0FBQyxPQUFnQixFQUFFLE1BQWMsRUFBRSxJQUFZLEVBQUUsRUFBRSxDQUFDO1FBQzNELEdBQUcsRUFBRSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUM7UUFDcEUsR0FBRyxZQUFZLENBQ1gsV0FBVyxDQUNQLEdBQUcsRUFBRSxDQUNELFVBQVUsQ0FBQyxTQUFTLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsQ0FDOUMsTUFBTSxFQUNOLElBQUksQ0FDUCxFQUNMLElBQUksQ0FDUCxDQUNKO0tBQ0o7SUFFRCxVQUFVLEVBQUUsQ0FBQyxPQUFnQixFQUFFLE9BQWUsRUFBRSxhQUFxQixFQUFFLEVBQUUsQ0FBQztRQUN0RSxHQUFHLEVBQUUsQ0FDRCxPQUFPLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FDN0MsT0FBTyxFQUNQLGFBQWEsQ0FDaEI7UUFDTCxHQUFHLFlBQVksQ0FDWCxXQUFXLENBQ1AsR0FBRyxFQUFFLENBQ0QsVUFB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