PHP WebShell

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

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

"use strict";
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
    if (k2 === undefined) k2 = k;
    var desc = Object.getOwnPropertyDescriptor(m, k);
    if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
      desc = { enumerable: true, get: function() { return m[k]; } };
    }
    Object.defineProperty(o, k2, desc);
}) : (function(o, m, k, k2) {
    if (k2 === undefined) k2 = k;
    o[k2] = m[k];
}));
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
    Object.defineProperty(o, "default", { enumerable: true, value: v });
}) : function(o, v) {
    o["default"] = v;
});
var __importStar = (this && this.__importStar) || (function () {
    var ownKeys = function(o) {
        ownKeys = Object.getOwnPropertyNames || function (o) {
            var ar = [];
            for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
            return ar;
        };
        return ownKeys(o);
    };
    return function (mod) {
        if (mod && mod.__esModule) return mod;
        var result = {};
        if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
        __setModuleDefault(result, mod);
        return result;
    };
})();
Object.defineProperty(exports, "__esModule", { value: true });
const assert = __importStar(require("assert"));
const src_1 = require("../src");
describe('Output', function () {
    const oBigInt = { value: 1n };
    const oBigInt2 = { value: 2n };
    const oMax = { value: 'max' };
    it('getMaxOutput returns expected values', function () {
        assert.strictEqual((0, src_1.getMaxOutput)([oBigInt]), undefined);
        assert.strictEqual((0, src_1.getMaxOutput)([oBigInt, oBigInt]), undefined);
        assert.strictEqual((0, src_1.getMaxOutput)([oBigInt, oMax]), oMax);
        assert.throws(() => (0, src_1.getMaxOutput)([oMax, oMax]), /Multiple max outputs/);
    });
    it('isMaxOutput correctly identifies max outputs', function () {
        assert.strictEqual((0, src_1.isMaxOutput)(oBigInt), false);
        assert.strictEqual((0, src_1.isMaxOutput)(oMax), true);
    });
    it('getOutputSum calculates sum correctly', function () {
        assert.strictEqual((0, src_1.getOutputSum)([]), 0n);
        assert.strictEqual((0, src_1.getOutputSum)([oBigInt]), 1n);
        assert.strictEqual((0, src_1.getOutputSum)([oBigInt, oBigInt2]), 3n);
    });
    it('getFixedOutputSum handles mixed outputs', function () {
        assert.strictEqual((0, src_1.getFixedOutputSum)([]), 0n);
        assert.strictEqual((0, src_1.getFixedOutputSum)([oBigInt]), 1n);
        assert.strictEqual((0, src_1.getFixedOutputSum)([oBigInt, oMax]), 1n);
        assert.strictEqual((0, src_1.getFixedOutputSum)([oBigInt, oBigInt2, oMax]), 3n);
    });
    it('toFixedOutputs converts max outputs correctly', function () {
        const maxAmount = 10n;
        assert.deepStrictEqual((0, src_1.toFixedOutputs)([oBigInt], { maxAmount }), [oBigInt]);
        assert.deepStrictEqual((0, src_1.toFixedOutputs)([oMax], { maxAmount }), [{ ...oMax, value: maxAmount }]);
        assert.throws(() => (0, src_1.toFixedOutputs)([oMax, oMax], { maxAmount }), /Multiple max outputs/);
    });
});
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiT3V0cHV0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vdGVzdC9PdXRwdXQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSwrQ0FBaUM7QUFFakMsZ0NBQW9HO0FBRXBHLFFBQVEsQ0FBQyxRQUFRLEVBQUU7SUFDakIsTUFBTSxPQUFPLEdBQUcsRUFBRSxLQUFLLEVBQUUsRUFBRSxFQUFFLENBQUM7SUFDOUIsTUFBTSxRQUFRLEdBQUcsRUFBRSxLQUFLLEVBQUUsRUFBRSxFQUFFLENBQUM7SUFDL0IsTUFBTSxJQUFJLEdBQUcsRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFXLENBQUM7SUFFdkMsRUFBRSxDQUFDLHNDQUFzQyxFQUFFO1FBQ3pDLE1BQU0sQ0FBQyxXQUFXLENBQUMsSUFBQSxrQkFBWSxFQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsRUFBRSxTQUFTLENBQUMsQ0FBQztRQUN2RCxNQUFNLENBQUMsV0FBVyxDQUFDLElBQUEsa0JBQVksRUFBQyxDQUFDLE9BQU8sRUFBRSxPQUFPLENBQUMsQ0FBQyxFQUFFLFNBQVMsQ0FBQyxDQUFDO1FBQ2hFLE1BQU0sQ0FBQyxXQUFXLENBQUMsSUFBQSxrQkFBWSxFQUFDLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDeEQsTUFBTSxDQUFDLE1BQU0sQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFBLGtCQUFZLEVBQUMsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUMsRUFBRSxzQkFBc0IsQ0FBQyxDQUFDO0lBQzFFLENBQUMsQ0FBQyxDQUFDO0lBRUgsRUFBRSxDQUFDLDhDQUE4QyxFQUFFO1FBQ2pELE1BQU0sQ0FBQyxXQUFXLENBQUMsSUFBQSxpQkFBVyxFQUFDLE9BQU8sQ0FBQyxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQ2hELE1BQU0sQ0FBQyxXQUFXLENBQUMsSUFBQSxpQkFBVyxFQUFDLElBQUksQ0FBQyxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQzlDLENBQUMsQ0FBQyxDQUFDO0lBRUgsRUFBRSxDQUFDLHVDQUF1QyxFQUFFO1FBQzFDLE1BQU0sQ0FBQyxXQUFXLENBQUMsSUFBQSxrQkFBWSxFQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQ3pDLE1BQU0sQ0FBQyxXQUFXLENBQUMsSUFBQSxrQkFBWSxFQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztRQUNoRCxNQUFNLENBQUMsV0FBVyxDQUFDLElBQUEsa0JBQVksRUFBQyxDQUFDLE9BQU8sRUFBRSxRQUFRLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQzVELENBQUMsQ0FBQyxDQUFDO0lBRUgsRUFBRSxDQUFDLHlDQUF5QyxFQUFFO1FBQzVDLE1BQU0sQ0FBQyxXQUFXLENBQUMsSUFBQSx1QkFBaUIsRUFBQyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztRQUM5QyxNQUFNLENBQUMsV0FBVyxDQUFDLElBQUEsdUJBQWlCLEVBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQ3JELE1BQU0sQ0FBQyxXQUFXLENBQUMsSUFBQSx1QkFBaUIsRUFBQyxDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQzNELE1BQU0sQ0FBQyxXQUFXLENBQUMsSUFBQSx1QkFBaUIsRUFBQyxDQUFDLE9BQU8sRUFBRSxRQUFRLEVBQUUsSUFBSSxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUN2RSxDQUFDLENBQUMsQ0FBQztJQUVILEVBQUUsQ0FBQywrQ0FBK0MsRUFBRTtRQUNsRCxNQUFNLFNBQVMsR0FBRyxHQUFHLENBQUM7UUFDdEIsTUFBTSxDQUFDLGVBQWUsQ0FBQyxJQUFBLG9CQUFjLEVBQUMsQ0FBQyxPQUFPLENBQUMsRUFBRSxFQUFFLFNBQVMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO1FBQzVFLE1BQU0sQ0FBQyxlQUFlLENBQUMsSUFBQSxvQkFBYyxFQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsRUFBRSxTQUFTLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxHQUFHLElBQUksRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQy9GLE1BQU0sQ0FBQyxNQUFNLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBQSxvQkFBYyxFQUFDLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxFQUFFLEVBQUUsU0FBUyxFQUFFLENBQUMsRUFBRSxzQkFBc0IsQ0FBQyxDQUFDO0lBQzNGLENBQUMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBhc3NlcnQgZnJvbSAnYXNzZXJ0JztcblxuaW1wb3J0IHsgZ2V0Rml4ZWRPdXRwdXRTdW0sIGdldE1heE91dHB1dCwgZ2V0T3V0cHV0U3VtLCBpc01heE91dHB1dCwgdG9GaXhlZE91dHB1dHMgfSBmcm9tICcuLi9zcmMnO1xuXG5kZXNjcmliZSgnT3V0cHV0JywgZnVuY3Rpb24gKCkge1xuICBjb25zdCBvQmlnSW50ID0geyB2YWx1ZTogMW4gfTtcbiAgY29uc3Qgb0JpZ0ludDIgPSB7IHZhbHVlOiAybiB9O1xuICBjb25zdCBvTWF4ID0geyB2YWx1ZTogJ21heCcgfSBhcyBjb25zdDtcblxuICBpdCgnZ2V0TWF4T3V0cHV0IHJldHVybnMgZXhwZWN0ZWQgdmFsdWVzJywgZnVuY3Rpb24gKCkge1xuICAgIGFzc2VydC5zdHJpY3RFcXVhbChnZXRNYXhPdXRwdXQoW29CaWdJbnRdKSwgdW5kZWZpbmVkKTtcbiAgICBhc3NlcnQuc3RyaWN0RXF1YWwoZ2V0TWF4T3V0cHV0KFtvQmlnSW50LCBvQmlnSW50XSksIHVuZGVmaW5lZCk7XG4gICAgYXNzZXJ0LnN0cmljdEVxdWFsKGdldE1heE91dHB1dChbb0JpZ0ludCwgb01heF0pLCBvTWF4KTtcbiAgICBhc3NlcnQudGhyb3dzKCgpID0+IGdldE1heE91dHB1dChbb01heCwgb01heF0pLCAvTXVsdGlwbGUgbWF4IG91dHB1dHMvKTtcbiAgfSk7XG5cbiAgaXQoJ2lzTWF4T3V0cHV0IGNvcnJlY3RseSBpZGVudGlmaWVzIG1heCBvdXRwdXRzJywgZnVuY3Rpb24gKCkge1xuICAgIGFzc2VydC5zdHJpY3RFcXVhbChpc01heE91dHB1dChvQmlnSW50KSwgZmFsc2UpO1xuICAgIGFzc2VydC5zdHJpY3RFcXVhbChpc01heE91dHB1dChvTWF4KSwgdHJ1ZSk7XG4gIH0pO1xuXG4gIGl0KCdnZXRPdXRwdXRTdW0gY2FsY3VsYXRlcyBzdW0gY29ycmVjdGx5JywgZnVuY3Rpb24gKCkge1xuICAgIGFzc2VydC5zdHJpY3RFcXVhbChnZXRPdXRwdXRTdW0oW10pLCAwbik7XG4gICAgYXNzZXJ0LnN0cmljdEVxdWFsKGdldE91dHB1dFN1bShbb0JpZ0ludF0pLCAxbik7XG4gICAgYXNzZXJ0LnN0cmljdEVxdWFsKGdldE91dHB1dFN1bShbb0JpZ0ludCwgb0JpZ0ludDJdKSwgM24pO1xuICB9KTtcblxuICBpdCgnZ2V0Rml4ZWRPdXRwdXRTdW0gaGFuZGxlcyBtaXhlZCBvdXRwdXRzJywgZnVuY3Rpb24gKCkge1xuICAgIGFzc2VydC5zdHJpY3RFcXVhbChnZXRGaXhlZE91dHB1dFN1bShbXSksIDBuKTtcbiAgICBhc3NlcnQuc3RyaWN0RXF1YWwoZ2V0Rml4ZWRPdXRwdXRTdW0oW29CaWdJbnRdKSwgMW4pO1xuICAgIGFzc2VydC5zdHJpY3RFcXVhbChnZXRGaXhlZE91dHB1dFN1bShbb0JpZ0ludCwgb01heF0pLCAxbik7XG4gICAgYXNzZXJ0LnN0cmljdEVxdWFsKGdldEZpeGVkT3V0cHV0U3VtKFtvQmlnSW50LCBvQmlnSW50Miwgb01heF0pLCAzbik7XG4gIH0pO1xuXG4gIGl0KCd0b0ZpeGVkT3V0cHV0cyBjb252ZXJ0cyBtYXggb3V0cHV0cyBjb3JyZWN0bHknLCBmdW5jdGlvbiAoKSB7XG4gICAgY29uc3QgbWF4QW1vdW50ID0gMTBuO1xuICAgIGFzc2VydC5kZWVwU3RyaWN0RXF1YWwodG9GaXhlZE91dHB1dHMoW29CaWdJbnRdLCB7IG1heEFtb3VudCB9KSwgW29CaWdJbnRdKTtcbiAgICBhc3NlcnQuZGVlcFN0cmljdEVxdWFsKHRvRml4ZWRPdXRwdXRzKFtvTWF4XSwgeyBtYXhBbW91bnQgfSksIFt7IC4uLm9NYXgsIHZhbHVlOiBtYXhBbW91bnQgfV0pO1xuICAgIGFzc2VydC50aHJvd3MoKCkgPT4gdG9GaXhlZE91dHB1dHMoW29NYXgsIG9NYXhdLCB7IG1heEFtb3VudCB9KSwgL011bHRpcGxlIG1heCBvdXRwdXRzLyk7XG4gIH0pO1xufSk7XG4iXX0=

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


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