PHP WebShell

Текущая директория: /opt/BitGoJS/modules/bitgo/dist/test/v2/unit/coins/utxo/util

Просмотр файла: utxoCoins.js

"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.utxoCoins = exports.defaultBitGo = void 0;
exports.getUtxoCoin = getUtxoCoin;
exports.getUtxoCoinForNetwork = getUtxoCoinForNetwork;
/**
 * @prettier
 */
const utxolib = require("@bitgo/utxo-lib");
const coins = require("../../../../../../src/v2/coins");
const abstract_utxo_1 = require("@bitgo/abstract-utxo");
const sdk_test_1 = require("@bitgo/sdk-test");
const bitgo_1 = require("../../../../../../src/bitgo");
const AbstractUtxoCoinCtor = abstract_utxo_1.AbstractUtxoCoin;
function getPrototypeChain(c) {
    if (!c) {
        return [];
    }
    return [c, ...getPrototypeChain(Object.getPrototypeOf(c))];
}
function hasAbstractUtxoCoinPrototype(c) {
    return getPrototypeChain(c).includes(AbstractUtxoCoinCtor);
}
exports.defaultBitGo = sdk_test_1.TestBitGo.decorate(bitgo_1.BitGo, { env: 'mock' });
function getUtxoCoins(bitgo = exports.defaultBitGo) {
    return Object.values(coins)
        .map((c) => c)
        .filter((cls) => hasAbstractUtxoCoinPrototype(cls) && cls !== AbstractUtxoCoinCtor)
        .map((cls) => {
        try {
            return new cls(bitgo);
        }
        catch (e) {
            throw new Error(`error creating ${cls.name}: ${e}`);
        }
    })
        .sort((a, b) => utxolib.getNetworkList().indexOf(a.network) - utxolib.getNetworkList().indexOf(b.network));
}
exports.utxoCoins = getUtxoCoins();
function getUtxoCoin(name) {
    for (const c of exports.utxoCoins) {
        if (c.getChain() === name) {
            return c;
        }
    }
    throw new Error(`no coin with name ${name}`);
}
function getUtxoCoinForNetwork(n) {
    for (const c of exports.utxoCoins) {
        if (c.network === n) {
            return c;
        }
    }
    throw new Error(`no coin for network ${utxolib.getNetworkName(n)}`);
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXR4b0NvaW5zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vdGVzdC92Mi91bml0L2NvaW5zL3V0eG8vdXRpbC91dHhvQ29pbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBd0NBLGtDQU9DO0FBRUQsc0RBT0M7QUF4REQ7O0dBRUc7QUFDSCwyQ0FBMkM7QUFDM0Msd0RBQXdEO0FBQ3hELHdEQUF3RDtBQUN4RCw4Q0FBNEM7QUFDNUMsdURBQW9EO0FBRXBELE1BQU0sb0JBQW9CLEdBQUcsZ0NBQWdELENBQUM7QUFFOUUsU0FBUyxpQkFBaUIsQ0FBQyxDQUFvQjtJQUM3QyxJQUFJLENBQUMsQ0FBQyxFQUFFLENBQUM7UUFDUCxPQUFPLEVBQUUsQ0FBQztJQUNaLENBQUM7SUFDRCxPQUFPLENBQUMsQ0FBQyxFQUFFLEdBQUcsaUJBQWlCLENBQUMsTUFBTSxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDN0QsQ0FBQztBQUVELFNBQVMsNEJBQTRCLENBQUMsQ0FBb0I7SUFDeEQsT0FBTyxpQkFBaUIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsb0JBQW9CLENBQUMsQ0FBQztBQUM3RCxDQUFDO0FBRVksUUFBQSxZQUFZLEdBQUcsb0JBQVMsQ0FBQyxRQUFRLENBQUMsYUFBSyxFQUFFLEVBQUUsR0FBRyxFQUFFLE1BQU0sRUFBRSxDQUFDLENBQUM7QUFFdkUsU0FBUyxZQUFZLENBQUMsUUFBZSxvQkFBWTtJQUMvQyxPQUFPLE1BQU0sQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDO1NBQ3hCLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBaUMsQ0FBQztTQUM3QyxNQUFNLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLDRCQUE0QixDQUFDLEdBQUcsQ0FBQyxJQUFJLEdBQUcsS0FBSyxvQkFBb0IsQ0FBQztTQUNsRixHQUFHLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRTtRQUNYLElBQUksQ0FBQztZQUNILE9BQU8sSUFBSSxHQUFHLENBQUMsS0FBSyxDQUFxQixDQUFDO1FBQzVDLENBQUM7UUFBQyxPQUFPLENBQUMsRUFBRSxDQUFDO1lBQ1gsTUFBTSxJQUFJLEtBQUssQ0FBQyxrQkFBa0IsR0FBRyxDQUFDLElBQUksS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ3RELENBQUM7SUFDSCxDQUFDLENBQUM7U0FDRCxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxPQUFPLENBQUMsY0FBYyxFQUFFLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsR0FBRyxPQUFPLENBQUMsY0FBYyxFQUFFLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO0FBQy9HLENBQUM7QUFFWSxRQUFBLFNBQVMsR0FBRyxZQUFZLEVBQUUsQ0FBQztBQUV4QyxTQUFnQixXQUFXLENBQUMsSUFBWTtJQUN0QyxLQUFLLE1BQU0sQ0FBQyxJQUFJLGlCQUFTLEVBQUUsQ0FBQztRQUMxQixJQUFJLENBQUMsQ0FBQyxRQUFRLEVBQUUsS0FBSyxJQUFJLEVBQUUsQ0FBQztZQUMxQixPQUFPLENBQUMsQ0FBQztRQUNYLENBQUM7SUFDSCxDQUFDO0lBQ0QsTUFBTSxJQUFJLEtBQUssQ0FBQyxxQkFBcUIsSUFBSSxFQUFFLENBQUMsQ0FBQztBQUMvQyxDQUFDO0FBRUQsU0FBZ0IscUJBQXFCLENBQUMsQ0FBa0I7SUFDdEQsS0FBSyxNQUFNLENBQUMsSUFBSSxpQkFBUyxFQUFFLENBQUM7UUFDMUIsSUFBSSxDQUFDLENBQUMsT0FBTyxLQUFLLENBQUMsRUFBRSxDQUFDO1lBQ3BCLE9BQU8sQ0FBQyxDQUFDO1FBQ1gsQ0FBQztJQUNILENBQUM7SUFDRCxNQUFNLElBQUksS0FBSyxDQUFDLHVCQUF1QixPQUFPLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQztBQUN0RSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAcHJldHRpZXJcbiAqL1xuaW1wb3J0ICogYXMgdXR4b2xpYiBmcm9tICdAYml0Z28vdXR4by1saWInO1xuaW1wb3J0ICogYXMgY29pbnMgZnJvbSAnLi4vLi4vLi4vLi4vLi4vLi4vc3JjL3YyL2NvaW5zJztcbmltcG9ydCB7IEFic3RyYWN0VXR4b0NvaW4gfSBmcm9tICdAYml0Z28vYWJzdHJhY3QtdXR4byc7XG5pbXBvcnQgeyBUZXN0Qml0R28gfSBmcm9tICdAYml0Z28vc2RrLXRlc3QnO1xuaW1wb3J0IHsgQml0R28gfSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi9zcmMvYml0Z28nO1xuXG5jb25zdCBBYnN0cmFjdFV0eG9Db2luQ3RvciA9IEFic3RyYWN0VXR4b0NvaW4gYXMgdW5rbm93biBhcyBPYmplY3RDb25zdHJ1Y3RvcjtcblxuZnVuY3Rpb24gZ2V0UHJvdG90eXBlQ2hhaW4oYzogT2JqZWN0Q29uc3RydWN0b3IpOiBPYmplY3RDb25zdHJ1Y3RvcltdIHtcbiAgaWYgKCFjKSB7XG4gICAgcmV0dXJuIFtdO1xuICB9XG4gIHJldHVybiBbYywgLi4uZ2V0UHJvdG90eXBlQ2hhaW4oT2JqZWN0LmdldFByb3RvdHlwZU9mKGMpKV07XG59XG5cbmZ1bmN0aW9uIGhhc0Fic3RyYWN0VXR4b0NvaW5Qcm90b3R5cGUoYzogT2JqZWN0Q29uc3RydWN0b3IpOiBib29sZWFuIHtcbiAgcmV0dXJuIGdldFByb3RvdHlwZUNoYWluKGMpLmluY2x1ZGVzKEFic3RyYWN0VXR4b0NvaW5DdG9yKTtcbn1cblxuZXhwb3J0IGNvbnN0IGRlZmF1bHRCaXRHbyA9IFRlc3RCaXRHby5kZWNvcmF0ZShCaXRHbywgeyBlbnY6ICdtb2NrJyB9KTtcblxuZnVuY3Rpb24gZ2V0VXR4b0NvaW5zKGJpdGdvOiBCaXRHbyA9IGRlZmF1bHRCaXRHbyk6IEFic3RyYWN0VXR4b0NvaW5bXSB7XG4gIHJldHVybiBPYmplY3QudmFsdWVzKGNvaW5zKVxuICAgIC5tYXAoKGMpID0+IGMgYXMgdW5rbm93biBhcyBPYmplY3RDb25zdHJ1Y3RvcilcbiAgICAuZmlsdGVyKChjbHMpID0+IGhhc0Fic3RyYWN0VXR4b0NvaW5Qcm90b3R5cGUoY2xzKSAmJiBjbHMgIT09IEFic3RyYWN0VXR4b0NvaW5DdG9yKVxuICAgIC5tYXAoKGNscykgPT4ge1xuICAgICAgdHJ5IHtcbiAgICAgICAgcmV0dXJuIG5ldyBjbHMoYml0Z28pIGFzIEFic3RyYWN0VXR4b0NvaW47XG4gICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihgZXJyb3IgY3JlYXRpbmcgJHtjbHMubmFtZX06ICR7ZX1gKTtcbiAgICAgIH1cbiAgICB9KVxuICAgIC5zb3J0KChhLCBiKSA9PiB1dHhvbGliLmdldE5ldHdvcmtMaXN0KCkuaW5kZXhPZihhLm5ldHdvcmspIC0gdXR4b2xpYi5nZXROZXR3b3JrTGlzdCgpLmluZGV4T2YoYi5uZXR3b3JrKSk7XG59XG5cbmV4cG9ydCBjb25zdCB1dHhvQ29pbnMgPSBnZXRVdHhvQ29pbnMoKTtcblxuZXhwb3J0IGZ1bmN0aW9uIGdldFV0eG9Db2luKG5hbWU6IHN0cmluZyk6IEFic3RyYWN0VXR4b0NvaW4ge1xuICBmb3IgKGNvbnN0IGMgb2YgdXR4b0NvaW5zKSB7XG4gICAgaWYgKGMuZ2V0Q2hhaW4oKSA9PT0gbmFtZSkge1xuICAgICAgcmV0dXJuIGM7XG4gICAgfVxuICB9XG4gIHRocm93IG5ldyBFcnJvcihgbm8gY29pbiB3aXRoIG5hbWUgJHtuYW1lfWApO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0VXR4b0NvaW5Gb3JOZXR3b3JrKG46IHV0eG9saWIuTmV0d29yayk6IEFic3RyYWN0VXR4b0NvaW4ge1xuICBmb3IgKGNvbnN0IGMgb2YgdXR4b0NvaW5zKSB7XG4gICAgaWYgKGMubmV0d29yayA9PT0gbikge1xuICAgICAgcmV0dXJuIGM7XG4gICAgfVxuICB9XG4gIHRocm93IG5ldyBFcnJvcihgbm8gY29pbiBmb3IgbmV0d29yayAke3V0eG9saWIuZ2V0TmV0d29ya05hbWUobil9YCk7XG59XG4iXX0=

Выполнить команду


Для локальной разработки. Не используйте в интернете!