PHP WebShell

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

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

"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
const assert = require("assert");
const mocha_1 = require("mocha");
const src_1 = require("../src");
const u = require("./payments.utils");
['p2tr', 'p2tr_ns'].forEach((p) => {
    (0, mocha_1.describe)(p, () => {
        let fn;
        const payment = require('../src/payments/' + p);
        const eccLib = p.startsWith('p2tr') ? src_1.ecc : undefined;
        if (p === 'embed') {
            fn = payment.p2data;
        }
        else {
            fn = payment[p];
        }
        const fixtures = require('./fixtures/' + p);
        fixtures.valid.forEach((f) => {
            (0, mocha_1.it)(f.description + ' as expected', () => {
                const args = u.preform(f.arguments);
                const actual = fn(args, Object.assign({ eccLib }, f.options));
                u.equate(actual, f.expected, f.arguments);
            });
            (0, mocha_1.it)(f.description + ' as expected (no validation)', () => {
                const args = u.preform(f.arguments);
                const actual = fn(args, Object.assign({ eccLib }, f.options, {
                    validate: false,
                }));
                u.equate(actual, f.expected, f.arguments);
            });
        });
        fixtures.invalid.forEach((f) => {
            (0, mocha_1.it)('throws ' + f.exception + (f.description ? 'for ' + f.description : ''), () => {
                const args = u.preform(f.arguments);
                assert.throws(() => {
                    fn(args, Object.assign({ eccLib }, f.options));
                }, new RegExp(f.exception));
            });
        });
        // cross-verify dynamically too
        if (!fixtures.dynamic)
            return;
        const { depends, details } = fixtures.dynamic;
        details.forEach((f) => {
            const detail = u.preform(f);
            const disabled = {};
            if (f.disabled) {
                f.disabled.forEach((k) => {
                    disabled[k] = true;
                });
            }
            for (const key in depends) {
                if (key in disabled)
                    continue;
                const dependencies = depends[key];
                dependencies.forEach((dependency) => {
                    if (!Array.isArray(dependency))
                        dependency = [dependency];
                    const args = {};
                    dependency.forEach((d) => {
                        u.from(d, detail, args);
                    });
                    const expected = u.from(key, detail);
                    (0, mocha_1.it)(f.description + ', ' + key + ' derives from ' + JSON.stringify(dependency), () => {
                        u.equate(fn(args), expected);
                    });
                });
            }
        });
    });
});
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGF5bWVudHMuc3BlYy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3Rlc3QvcGF5bWVudHMuc3BlYy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLGlDQUFpQztBQUNqQyxpQ0FBcUM7QUFDckMsZ0NBQTZCO0FBRTdCLHNDQUFzQztBQUd0QyxDQUFDLE1BQU0sRUFBRSxTQUFTLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRTtJQUNoQyxJQUFBLGdCQUFRLEVBQUMsQ0FBQyxFQUFFLEdBQUcsRUFBRTtRQUNmLElBQUksRUFBa0IsQ0FBQztRQUN2QixNQUFNLE9BQU8sR0FBRyxPQUFPLENBQUMsa0JBQWtCLEdBQUcsQ0FBQyxDQUFDLENBQUM7UUFDaEQsTUFBTSxNQUFNLEdBQXVDLENBQUMsQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQUcsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO1FBQzFGLElBQUksQ0FBQyxLQUFLLE9BQU8sRUFBRSxDQUFDO1lBQ2xCLEVBQUUsR0FBRyxPQUFPLENBQUMsTUFBTSxDQUFDO1FBQ3RCLENBQUM7YUFBTSxDQUFDO1lBQ04sRUFBRSxHQUFHLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNsQixDQUFDO1FBQ0QsTUFBTSxRQUFRLEdBQUcsT0FBTyxDQUFDLGFBQWEsR0FBRyxDQUFDLENBQUMsQ0FBQztRQUU1QyxRQUFRLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQU0sRUFBRSxFQUFFO1lBQ2hDLElBQUEsVUFBRSxFQUFDLENBQUMsQ0FBQyxXQUFXLEdBQUcsY0FBYyxFQUFFLEdBQUcsRUFBRTtnQkFDdEMsTUFBTSxJQUFJLEdBQUcsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUM7Z0JBQ3BDLE1BQU0sTUFBTSxHQUFHLEVBQUUsQ0FBQyxJQUFJLEVBQUUsTUFBTSxDQUFDLE1BQU0sQ0FB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QUFFLEVBQUU7d0JBQzVCLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUFFLE1BQU0sRUFBRSxJQUFJLENBQUMsQ0FBQztvQkFDMUIsQ0FBQyxDQUFDLENBQUM7b0JBQ0gsTUFBTSxRQUFRLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsTUFBTSxDQUFDLENBQUM7b0JBRXJDLElBQUEsVUFBRSxFQUFDLENBQUMsQ0FBQyxXQUFXLEdBQUcsSUFBSSxHQUFHLEdBQUcsR0FBRyxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLFVBQVUsQ0FBQyxFQUFFLEdBQUcsRUFBRTt3QkFDbEYsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLEVBQUUsUUFBUSxDQUFDLENBQUM7b0JBQy9CLENBQUMsQ0FBQyxDQUFDO2dCQUNMLENBQUMsQ0FBQyxDQUFDO1lBQ0wsQ0FBQztRQUNILENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQyxDQUFDLENBQUM7QUFDTCxDQUFDLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIGFzc2VydCBmcm9tICdhc3NlcnQnO1xuaW1wb3J0IHsgZGVzY3JpYmUsIGl0IH0gZnJvbSAnbW9jaGEnO1xuaW1wb3J0IHsgZWNjIH0gZnJvbSAnLi4vc3JjJztcbmltcG9ydCB7IFBheW1lbnRDcmVhdG9yIH0gZnJvbSAnYml0Y29pbmpzLWxpYic7XG5pbXBvcnQgKiBhcyB1IGZyb20gJy4vcGF5bWVudHMudXRpbHMnO1xuaW1wb3J0IHsgVGlueVNlY3AyNTZrMUludGVyZmFjZSB9IGZyb20gJy4uL3NyYy90YXByb290JztcblxuWydwMnRyJywgJ3AydHJfbnMnXS5mb3JFYWNoKChwKSA9PiB7XG4gIGRlc2NyaWJlKHAsICgpID0+IHtcbiAgICBsZXQgZm46IFBheW1lbnRDcmVhdG9yO1xuICAgIGNvbnN0IHBheW1lbnQgPSByZXF1aXJlKCcuLi9zcmMvcGF5bWVudHMvJyArIHApO1xuICAgIGNvbnN0IGVjY0xpYjogVGlueVNlY3AyNTZrMUludGVyZmFjZSB8IHVuZGVmaW5lZCA9IHAuc3RhcnRzV2l0aCgncDJ0cicpID8gZWNjIDogdW5kZWZpbmVkO1xuICAgIGlmIChwID09PSAnZW1iZWQnKSB7XG4gICAgICBmbiA9IHBheW1lbnQucDJkYXRhO1xuICAgIH0gZWxzZSB7XG4gICAgICBmbiA9IHBheW1lbnRbcF07XG4gICAgfVxuICAgIGNvbnN0IGZpeHR1cmVzID0gcmVxdWlyZSgnLi9maXh0dXJlcy8nICsgcCk7XG5cbiAgICBmaXh0dXJlcy52YWxpZC5mb3JFYWNoKChmOiBhbnkpID0+IHtcbiAgICAgIGl0KGYuZGVzY3JpcHRpb24gKyAnIGFzIGV4cGVjdGVkJywgKCkgPT4ge1xuICAgICAgICBjb25zdCBhcmdzID0gdS5wcmVmb3JtKGYuYXJndW1lbnRzKTtcbiAgICAgICAgY29uc3QgYWN0dWFsID0gZm4oYXJncywgT2JqZWN0LmFzc2lnbih7IGVjY0xpYiB9LCBmLm9wdGlvbnMpKTtcblxuICAgICAgICB1LmVxdWF0ZShhY3R1YWwsIGYuZXhwZWN0ZWQsIGYuYXJndW1lbnRzKTtcbiAgICAgIH0pO1xuXG4gICAgICBpdChmLmRlc2NyaXB0aW9uICsgJyBhcyBleHBlY3RlZCAobm8gdmFsaWRhdGlvbiknLCAoKSA9PiB7XG4gICAgICAgIGNvbnN0IGFyZ3MgPSB1LnByZWZvcm0oZi5hcmd1bWVudHMpO1xuICAgICAgICBjb25zdCBhY3R1YWwgPSBmbihcbiAgICAgICAgICBhcmdzLFxuICAgICAgICAgIE9iamVjdC5hc3NpZ24oeyBlY2NMaWIgfSwgZi5vcHRpb25zLCB7XG4gICAgICAgICAgICB2YWxpZGF0ZTogZmFsc2UsXG4gICAgICAgICAgfSlcbiAgICAgICAgKTtcblxuICAgICAgICB1LmVxdWF0ZShhY3R1YWwsIGYuZXhwZWN0ZWQsIGYuYXJndW1lbnRzKTtcbiAgICAgIH0pO1xuICAgIH0pO1xuXG4gICAgZml4dHVyZXMuaW52YWxpZC5mb3JFYWNoKChmOiBhbnkpID0+IHtcbiAgICAgIGl0KCd0aHJvd3MgJyArIGYuZXhjZXB0aW9uICsgKGYuZGVzY3JpcHRpb24gPyAnZm9yICcgKyBmLmRlc2NyaXB0aW9uIDogJycpLCAoKSA9PiB7XG4gICAgICAgIGNvbnN0IGFyZ3MgPSB1LnByZWZvcm0oZi5hcmd1bWVudHMpO1xuXG4gICAgICAgIGFzc2VydC50aHJvd3MoKCkgPT4ge1xuICAgICAgICAgIGZuKGFyZ3MsIE9iamVjdC5hc3NpZ24oeyBlY2NMaWIgfSwgZi5vcHRpb25zKSk7XG4gICAgICAgIH0sIG5ldyBSZWdFeHAoZi5leGNlcHRpb24pKTtcbiAgICAgIH0pO1xuICAgIH0pO1xuXG4gICAgLy8gY3Jvc3MtdmVyaWZ5IGR5bmFtaWNhbGx5IHRvb1xuICAgIGlmICghZml4dHVyZXMuZHluYW1pYykgcmV0dXJuO1xuICAgIGNvbnN0IHsgZGVwZW5kcywgZGV0YWlscyB9ID0gZml4dHVyZXMuZHluYW1pYztcblxuICAgIGRldGFpbHMuZm9yRWFjaCgoZjogYW55KSA9PiB7XG4gICAgICBjb25zdCBkZXRhaWwgPSB1LnByZWZvcm0oZik7XG4gICAgICBjb25zdCBkaXNhYmxlZDogYW55ID0ge307XG4gICAgICBpZiAoZi5kaXNhYmxlZCkge1xuICAgICAgICBmLmRpc2FibGVkLmZvckVhY2goKGs6IHN0cmluZykgPT4ge1xuICAgICAgICAgIGRpc2FibGVkW2tdID0gdHJ1ZTtcbiAgICAgICAgfSk7XG4gICAgICB9XG5cbiAgICAgIGZvciAoY29uc3Qga2V5IGluIGRlcGVuZHMpIHtcbiAgICAgICAgaWYgKGtleSBpbiBkaXNhYmxlZCkgY29udGludWU7XG4gICAgICAgIGNvbnN0IGRlcGVuZGVuY2llcyA9IGRlcGVuZHNba2V5XTtcblxuICAgICAgICBkZXBlbmRlbmNpZXMuZm9yRWFjaCgoZGVwZW5kZW5jeTogYW55KSA9PiB7XG4gICAgICAgICAgaWYgKCFBcnJheS5pc0FycmF5KGRlcGVuZGVuY3kpKSBkZXBlbmRlbmN5ID0gW2RlcGVuZGVuY3ldO1xuXG4gICAgICAgICAgY29uc3QgYXJncyA9IHt9O1xuICAgICAgICAgIGRlcGVuZGVuY3kuZm9yRWFjaCgoZDogYW55KSA9PiB7XG4gICAgICAgICAgICB1LmZyb20oZCwgZGV0YWlsLCBhcmdzKTtcbiAgICAgICAgICB9KTtcbiAgICAgICAgICBjb25zdCBleHBlY3RlZCA9IHUuZnJvbShrZXksIGRldGFpbCk7XG5cbiAgICAgICAgICBpdChmLmRlc2NyaXB0aW9uICsgJywgJyArIGtleSArICcgZGVyaXZlcyBmcm9tICcgKyBKU09OLnN0cmluZ2lmeShkZXBlbmRlbmN5KSwgKCkgPT4ge1xuICAgICAgICAgICAgdS5lcXVhdGUoZm4oYXJncyksIGV4cGVjdGVkKTtcbiAgICAgICAgICB9KTtcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfSk7XG4gIH0pO1xufSk7XG4iXX0=

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


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