PHP WebShell

Текущая директория: /opt/BitGoJS/modules/utxo-lib/dist/test/integration_local_rpc/generate

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

"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.fixtureKeys = void 0;
exports.getProtocolVersions = getProtocolVersions;
exports.getFixtureDir = getFixtureDir;
exports.wipeFixtures = wipeFixtures;
exports.writeFixture = writeFixture;
exports.readFixture = readFixture;
exports.writeTransactionFixtureWithInputs = writeTransactionFixtureWithInputs;
const assert = require("assert");
const fs = require("fs-extra");
const path = require("path");
const src_1 = require("../../../src");
const testutil_1 = require("../../../src/testutil");
const RpcClient_1 = require("./RpcClient");
const bitgo_1 = require("../../../src/bitgo");
function getProtocolVersions(network) {
    switch ((0, src_1.getMainnet)(network)) {
        case src_1.networks.zcash:
            // FIXME(BTC-1633): re-enable protocol version 500
            // return [400, 450, 500];
            return [400, 450];
        default:
            return [(0, bitgo_1.getDefaultTransactionVersion)(network)];
    }
}
function getFixtureDir(protocol) {
    let networkName = (0, src_1.getNetworkName)(protocol.network);
    assert(networkName);
    if (networkName === 'bitcoinBitGoSignet' || networkName === 'bitcoinTestnet4') {
        networkName = 'bitcoinPublicSignet';
    }
    return path.join(__dirname, '..', 'fixtures', networkName, `v${protocol.version}`);
}
async function wipeFixtures(protocol) {
    try {
        await fs.remove(getFixtureDir(protocol));
    }
    catch (e) {
        if (e.code === 'ENOENT') {
            return;
        }
    }
}
async function writeFixture(protocol, filename, content) {
    await fs.mkdir(getFixtureDir(protocol), { recursive: true });
    await fs.writeFile(path.join(getFixtureDir(protocol), filename), JSON.stringify(content, null, 2));
}
async function readFixture(protocol, filename) {
    return JSON.parse(await fs.readFile(path.join(getFixtureDir(protocol), filename), 'utf8'));
}
async function writeTransactionFixtureWithInputs(rpc, protocol, filename, txid) {
    const transaction = await rpc.getRawTransactionVerbose(txid);
    const inputTransactionIds = transaction.vin.reduce((all, input) => (all.includes(input.txid) ? all : [...all, input.txid]), []);
    const inputs = await RpcClient_1.RpcClient.parallelMap(inputTransactionIds, (inputTxid) => rpc.getRawTransactionVerbose(inputTxid));
    assert.strictEqual(inputs.length, inputTransactionIds.length);
    await writeFixture(protocol, filename, {
        transaction,
        inputs,
    });
}
exports.fixtureKeys = (0, testutil_1.getKeyTriple)('rpctest');
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZml4dHVyZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi90ZXN0L2ludGVncmF0aW9uX2xvY2FsX3JwYy9nZW5lcmF0ZS9maXh0dXJlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFlQSxrREFTQztBQUVELHNDQU9DO0FBRUQsb0NBUUM7QUFFRCxvQ0FHQztBQUVELGtDQUVDO0FBT0QsOEVBbUJDO0FBOUVELGlDQUFpQztBQUNqQywrQkFBK0I7QUFDL0IsNkJBQTZCO0FBRTdCLHNDQUE2RTtBQUM3RSxvREFBcUQ7QUFDckQsMkNBQXdDO0FBRXhDLDhDQUFrRTtBQU9sRSxTQUFnQixtQkFBbUIsQ0FBQyxPQUFnQjtJQUNsRCxRQUFRLElBQUEsZ0JBQVUsRUFBQyxPQUFPLENBQUMsRUFBRSxDQUFDO1FBQzVCLEtBQUssY0FBUSxDQUFDLEtBQUs7WUFDakIsa0RBQWtEO1lBQ2xELDBCQUEwQjtZQUMxQixPQUFPLENBQUMsR0FBRyxFQUFFLEdBQUcsQ0FBQyxDQUFDO1FBQ3BCO1lBQ0UsT0FBTyxDQUFDLElBQUEsb0NBQTRCLEVBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztJQUNuRCxDQUFDO0FBQ0gsQ0FBQztBQUVELFNBQWdCLGFBQWEsQ0FBQyxRQUFrQjtJQUM5QyxJQUFJLFdBQVcsR0FBRyxJQUFBLG9CQUFjLEVBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ25ELE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUNwQixJQUFJLFdBQVcsS0FBSyxvQkFBb0IsSUFBSSxXQUFXLEtBQUssaUJBQWlCLEVBQUUsQ0FBQztRQUM5RSxXQUFXLEdBQUcscUJBQXFCLENBQUM7SUFDdEMsQ0FBQztJQUNELE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSxXQUFXLEVBQUUsSUFBSSxRQUFRLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQztBQUNyRixDQUFDO0FBRU0sS0FBSyxVQUFVLFlBQVksQ0FBQyxRQUFrQjtJQUNuRCxJQUFJLENBQUM7UUFDSCxNQUFNLEVBQUUsQ0FBQyxNQUFNLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUM7SUFDM0MsQ0FBQztJQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUM7UUFDWCxJQUFJLENBQUMsQ0FBQyxJQUFJLEtBQUssUUFBUSxFQUFFLENBQUM7WUFDeEIsT0FBTztRQUNULENBQUM7SUFDSCxDQUFDO0FBQ0gsQ0FBQztBQUVNLEtBQUssVUFBVSxZQUFZLENBQUMsUUFBa0IsRUFBRSxRQUFnQixFQUFFLE9BQWdCO0lBQ3ZGLE1BQU0sRUFBRSxDQUFDLEtBQUssQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLEVBQUUsRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztJQUM3RCxNQUFNLEVBQUUsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLEVBQUUsUUFBUSxDQUFDLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDckcsQ0FBQztBQUVNLEtBQUssVUFBVSxXQUFXLENBQUksUUFBa0IsRUFBRSxRQUFnQjtJQUN2RSxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxFQUFFLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxFQUFFLFFBQVEsQ0FBQyxFQUFFLE1BQU0sQ0FBQyxDQUFDLENBQUM7QUFDN0YsQ0FBQztBQU9NLEtBQUssVUFBVSxpQ0FBaUMsQ0FDckQsR0FBYyxFQUNkLFFBQWtCLEVBQ2xCLFFBQWdCLEVBQ2hCLElBQVk7SUFFWixNQUFNLFdBQVcsR0FBRyxNQUFNLEdBQUcsQ0FBQyx3QkFBd0IsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUM3RCxNQUFNLG1CQUFtQixHQUFHLFdBQVcsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUNoRCxDQUFDLEdBQWEsRUFBRSxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLEdBQUcsRUFBRSxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsRUFDakYsRUFBRSxDQUNILENBQUM7SUFDRixNQUFNLE1BQU0sR0FBRyxNQUFNLHFCQUFTLENBQUMsV0FBVyxDQUFDLG1CQUFtQixFQUFFLENBQUMsU0FBUyxFQUFFLEVBQUUsQ0FDNUUsR0FBRyxDQUFDLHdCQUF3QixDQUFDLFNBQVMsQ0FBQyxDQUN4QyxDQUFDO0lBQ0YsTUFBTSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFFLG1CQUFtQixDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQzlELE1BQU0sWUFBWSxDQUFDLFFBQVEsRUFBRSxRQUFRLEVBQUU7UUFDckMsV0FBVztRQUNYLE1BQU07S0FDUCxDQUFDLENBQUM7QUFDTCxDQUFDO0FBRVksUUFBQSxXQUFXLEdBQUcsSUFBQSx1QkFBWSxFQUFDLFNBQVMsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgYXNzZXJ0IGZyb20gJ2Fzc2VydCc7XG5pbXBvcnQgKiBhcyBmcyBmcm9tICdmcy1leHRyYSc7XG5pbXBvcnQgKiBhcyBwYXRoIGZyb20gJ3BhdGgnO1xuXG5pbXBvcnQgeyBuZXR3b3JrcywgTmV0d29yaywgZ2V0TmV0d29ya05hbWUsIGdldE1haW5uZXQgfSBmcm9tICcuLi8uLi8uLi9zcmMnO1xuaW1wb3J0IHsgZ2V0S2V5VHJpcGxlIH0gZnJvbSAnLi4vLi4vLi4vc3JjL3Rlc3R1dGlsJztcbmltcG9ydCB7IFJwY0NsaWVudCB9IGZyb20gJy4vUnBjQ2xpZW50JztcbmltcG9ydCB7IFJwY1RyYW5zYWN0aW9uIH0gZnJvbSAnLi9ScGNUeXBlcyc7XG5pbXBvcnQgeyBnZXREZWZhdWx0VHJhbnNhY3Rpb25WZXJzaW9uIH0gZnJvbSAnLi4vLi4vLi4vc3JjL2JpdGdvJztcblxuZXhwb3J0IHR5cGUgUHJvdG9jb2wgPSB7XG4gIG5ldHdvcms6IE5ldHdvcms7XG4gIHZlcnNpb246IG51bWJlcjtcbn07XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRQcm90b2NvbFZlcnNpb25zKG5ldHdvcms6IE5ldHdvcmspOiBudW1iZXJbXSB7XG4gIHN3aXRjaCAoZ2V0TWFpbm5ldChuZXR3b3JrKSkge1xuICAgIGNhc2UgbmV0d29ya3MuemNhc2g6XG4gICAgICAvLyBGSVhNRShCVEMtMTYzMyk6IHJlLWVuYWJsZSBwcm90b2NvbCB2ZXJzaW9uIDUwMFxuICAgICAgLy8gcmV0dXJuIFs0MDAsIDQ1MCwgNTAwXTtcbiAgICAgIHJldHVybiBbNDAwLCA0NTBdO1xuICAgIGRlZmF1bHQ6XG4gICAgICByZXR1cm4gW2dldERlZmF1bHRUcmFuc2FjdGlvblZlcnNpb24obmV0d29yayldO1xuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRGaXh0dXJlRGlyKHByb3RvY29sOiBQcm90b2NvbCk6IHN0cmluZyB7XG4gIGxldCBuZXR3b3JrTmFtZSA9IGdldE5ldHdvcmtOYW1lKHByb3RvY29sLm5ldHdvcmspO1xuICBhc3NlcnQobmV0d29ya05hbWUpO1xuICBpZiAobmV0d29ya05hbWUgPT09ICdiaXRjb2luQml0R29TaWduZXQnIHx8IG5ldHdvcmtOYW1lID09PSAnYml0Y29pblRlc3RuZXQ0Jykge1xuICAgIG5ldHdvcmtOYW1lID0gJ2JpdGNvaW5QdWJsaWNTaWduZXQnO1xuICB9XG4gIHJldHVybiBwYXRoLmpvaW4oX19kaXJuYW1lLCAnLi4nLCAnZml4dHVyZXMnLCBuZXR3b3JrTmFtZSwgYHYke3Byb3RvY29sLnZlcnNpb259YCk7XG59XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiB3aXBlRml4dHVyZXMocHJvdG9jb2w6IFByb3RvY29sKTogUHJvbWlzZTx2b2lkPiB7XG4gIHRyeSB7XG4gICAgYXdhaXQgZnMucmVtb3ZlKGdldEZpeHR1cmVEaXIocHJvdG9jb2wpKTtcbiAgfSBjYXRjaCAoZSkge1xuICAgIGlmIChlLmNvZGUgPT09ICdFTk9FTlQnKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICB9XG59XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiB3cml0ZUZpeHR1cmUocHJvdG9jb2w6IFByb3RvY29sLCBmaWxlbmFtZTogc3RyaW5nLCBjb250ZW50OiB1bmtub3duKTogUHJvbWlzZTx2b2lkPiB7XG4gIGF3YWl0IGZzLm1rZGlyKGdldEZpeHR1cmVEaXIocHJvdG9jb2wpLCB7IHJlY3Vyc2l2ZTogdHJ1ZSB9KTtcbiAgYXdhaXQgZnMud3JpdGVGaWxlKHBhdGguam9pbihnZXRGaXh0dXJlRGlyKHByb3RvY29sKSwgZmlsZW5hbWUpLCBKU09OLnN0cmluZ2lmeShjb250ZW50LCBudWxsLCAyKSk7XG59XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiByZWFkRml4dHVyZTxUPihwcm90b2NvbDogUHJvdG9jb2wsIGZpbGVuYW1lOiBzdHJpbmcpOiBQcm9taXNlPFQ+IHtcbiAgcmV0dXJuIEpTT04ucGFyc2UoYXdhaXQgZnMucmVhZEZpbGUocGF0aC5qb2luKGdldEZpeHR1cmVEaXIocHJvdG9jb2wpLCBmaWxlbmFtZSksICd1dGY4JykpO1xufVxuXG5leHBvcnQgdHlwZSBUcmFuc2FjdGlvbkZpeHR1cmVXaXRoSW5wdXRzID0ge1xuICB0cmFuc2FjdGlvbjogUnBjVHJhbnNhY3Rpb247XG4gIGlucHV0czogUnBjVHJhbnNhY3Rpb25bXTtcbn07XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiB3cml0ZVRyYW5zYWN0aW9uRml4dHVyZVdpdGhJbnB1dHMoXG4gIHJwYzogUnBjQ2xpZW50LFxuICBwcm90b2NvbDogUHJvdG9jb2wsXG4gIGZpbGVuYW1lOiBzdHJpbmcsXG4gIHR4aWQ6IHN0cmluZ1xuKTogUHJvbWlzZTx2b2lkPiB7XG4gIGNvbnN0IHRyYW5zYWN0aW9uID0gYXdhaXQgcnBjLmdldFJhd1RyYW5zYWN0aW9uVmVyYm9zZSh0eGlkKTtcbiAgY29uc3QgaW5wdXRUcmFuc2FjdGlvbklkcyA9IHRyYW5zYWN0aW9uLnZpbi5yZWR1Y2UoXG4gICAgKGFsbDogc3RyaW5nW10sIGlucHV0KSA9PiAoYWxsLmluY2x1ZGVzKGlucHV0LnR4aWQpID8gYWxsIDogWy4uLmFsbCwgaW5wdXQudHhpZF0pLFxuICAgIFtdXG4gICk7XG4gIGNvbnN0IGlucHV0cyA9IGF3YWl0IFJwY0NsaWVudC5wYXJhbGxlbE1hcChpbnB1dFRyYW5zYWN0aW9uSWRzLCAoaW5wdXRUeGlkKSA9PlxuICAgIHJwYy5nZXRSYXdUcmFuc2FjdGlvblZlcmJvc2UoaW5wdXRUeGlkKVxuICApO1xuICBhc3NlcnQuc3RyaWN0RXF1YWwoaW5wdXRzLmxlbmd0aCwgaW5wdXRUcmFuc2FjdGlvbklkcy5sZW5ndGgpO1xuICBhd2FpdCB3cml0ZUZpeHR1cmUocHJvdG9jb2wsIGZpbGVuYW1lLCB7XG4gICAgdHJhbnNhY3Rpb24sXG4gICAgaW5wdXRzLFxuICB9KTtcbn1cblxuZXhwb3J0IGNvbnN0IGZpeHR1cmVLZXlzID0gZ2V0S2V5VHJpcGxlKCdycGN0ZXN0Jyk7XG4iXX0=

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


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