PHP WebShell

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

Просмотр файла: wrap.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 });
exports.toWrappedPsbt = toWrappedPsbt;
exports.toUtxoPsbt = toUtxoPsbt;
exports.finalizePsbt = finalizePsbt;
const wasm_miniscript_1 = require("@bitgo/wasm-miniscript");
const utxolib = __importStar(require("@bitgo/utxo-lib"));
function toWrappedPsbt(psbt) {
    if (psbt instanceof utxolib.bitgo.UtxoPsbt || psbt instanceof utxolib.Psbt) {
        psbt = psbt.toBuffer();
    }
    if (psbt instanceof Buffer || psbt instanceof Uint8Array) {
        return wasm_miniscript_1.Psbt.deserialize(psbt);
    }
    throw new Error('Invalid input');
}
function toUtxoPsbt(psbt, network) {
    if (psbt instanceof wasm_miniscript_1.Psbt) {
        psbt = psbt.serialize();
    }
    if (psbt instanceof Buffer || psbt instanceof Uint8Array) {
        return utxolib.bitgo.UtxoPsbt.fromBuffer(Buffer.from(psbt), { network });
    }
    throw new Error('Invalid input');
}
/**
 * Use `wasm-miniscript` to finalize a PSBT.
 * Miniscript based finalization is more powerful than bitcoinjs-lib's / utxo-lib's finalization
 * and can finalize more complex scripts (e.g. miniscript descriptors).
 * @param psbt
 */
function finalizePsbt(psbt) {
    if (utxolib.getMainnet(psbt.network) !== utxolib.networks.bitcoin) {
        throw new Error('only bitcoin and testnet are supported');
    }
    const wrappedPsbt = toWrappedPsbt(psbt);
    wrappedPsbt.finalize();
    const unwrappedPsbt = toUtxoPsbt(wrappedPsbt, psbt.network);
    for (let i = 0; i < psbt.data.inputs.length; i++) {
        psbt.data.inputs[i] = unwrappedPsbt.data.inputs[i];
    }
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid3JhcC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9kZXNjcmlwdG9yL3BzYnQvd3JhcC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUdBLHNDQVFDO0FBRUQsZ0NBUUM7QUFRRCxvQ0FVQztBQXZDRCw0REFBMEQ7QUFDMUQseURBQTJDO0FBRTNDLFNBQWdCLGFBQWEsQ0FBQyxJQUFpRTtJQUM3RixJQUFJLElBQUksWUFBWSxPQUFPLENBQUMsS0FBSyxDQUFDLFFBQVEsSUFBSSxJQUFJLFlBQVksT0FBTyxDQUFDLElBQUksRUFBRSxDQUFDO1FBQzNFLElBQUksR0FBRyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDekIsQ0FBQztJQUNELElBQUksSUFBSSxZQUFZLE1BQU0sSUFBSSxJQUFJLFlBQVksVUFBVSxFQUFFLENBQUM7UUFDekQsT0FBTyxzQkFBUSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNwQyxDQUFDO0lBQ0QsTUFBTSxJQUFJLEtBQUssQ0FBQyxlQUFlLENBQUMsQ0FBQztBQUNuQyxDQUFDO0FBRUQsU0FBZ0IsVUFBVSxDQUFDLElBQW9DLEVBQUUsT0FBd0I7SUFDdkYsSUFBSSxJQUFJLFlBQVksc0JBQVEsRUFBRSxDQUFDO1FBQzdCLElBQUksR0FBRyxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7SUFDMUIsQ0FBQztJQUNELElBQUksSUFBSSxZQUFZLE1BQU0sSUFBSSxJQUFJLFlBQVksVUFBVSxFQUFFLENBQUM7UUFDekQsT0FBTyxPQUFPLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUM7SUFDM0UsQ0FBQztJQUNELE1BQU0sSUFBSSxLQUFLLENBQUMsZUFBZSxDQUFDLENBQUM7QUFDbkMsQ0FBQztBQUVEOzs7OztHQUtHO0FBQ0gsU0FBZ0IsWUFBWSxDQUFDLElBQTRCO0lBQ3ZELElBQUksT0FBTyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssT0FBTyxDQUFDLFFBQVEsQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUNsRSxNQUFNLElBQUksS0FBSyxDQUFDLHdDQUF3QyxDQUFDLENBQUM7SUFDNUQsQ0FBQztJQUNELE1BQU0sV0FBVyxHQUFHLGFBQWEsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUN4QyxXQUFXLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDdkIsTUFBTSxhQUFhLEdBQUcsVUFBVSxDQUFDLFdBQVcsRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDNUQsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDO1FBQ2pELElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxHQUFHLGFBQWEsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3JELENBQUM7QUFDSCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUHNidCBhcyBXYXNtUHNidCB9IGZyb20gJ0BiaXRnby93YXNtLW1pbmlzY3JpcHQnO1xuaW1wb3J0ICogYXMgdXR4b2xpYiBmcm9tICdAYml0Z28vdXR4by1saWInO1xuXG5leHBvcnQgZnVuY3Rpb24gdG9XcmFwcGVkUHNidChwc2J0OiB1dHhvbGliLmJpdGdvLlV0eG9Qc2J0IHwgdXR4b2xpYi5Qc2J0IHwgQnVmZmVyIHwgVWludDhBcnJheSk6IFdhc21Qc2J0IHtcbiAgaWYgKHBzYnQgaW5zdGFuY2VvZiB1dHhvbGliLmJpdGdvLlV0eG9Qc2J0IHx8IHBzYnQgaW5zdGFuY2VvZiB1dHhvbGliLlBzYnQpIHtcbiAgICBwc2J0ID0gcHNidC50b0J1ZmZlcigpO1xuICB9XG4gIGlmIChwc2J0IGluc3RhbmNlb2YgQnVmZmVyIHx8IHBzYnQgaW5zdGFuY2VvZiBVaW50OEFycmF5KSB7XG4gICAgcmV0dXJuIFdhc21Qc2J0LmRlc2VyaWFsaXplKHBzYnQpO1xuICB9XG4gIHRocm93IG5ldyBFcnJvcignSW52YWxpZCBpbnB1dCcpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gdG9VdHhvUHNidChwc2J0OiBXYXNtUHNidCB8IEJ1ZmZlciB8IFVpbnQ4QXJyYXksIG5ldHdvcms6IHV0eG9saWIuTmV0d29yayk6IHV0eG9saWIuYml0Z28uVXR4b1BzYnQge1xuICBpZiAocHNidCBpbnN0YW5jZW9mIFdhc21Qc2J0KSB7XG4gICAgcHNidCA9IHBzYnQuc2VyaWFsaXplKCk7XG4gIH1cbiAgaWYgKHBzYnQgaW5zdGFuY2VvZiBCdWZmZXIgfHwgcHNidCBpbnN0YW5jZW9mIFVpbnQ4QXJyYXkpIHtcbiAgICByZXR1cm4gdXR4b2xpYi5iaXRnby5VdHhvUHNidC5mcm9tQnVmZmVyKEJ1ZmZlci5mcm9tKHBzYnQpLCB7IG5ldHdvcmsgfSk7XG4gIH1cbiAgdGhyb3cgbmV3IEVycm9yKCdJbnZhbGlkIGlucHV0Jyk7XG59XG5cbi8qKlxuICogVXNlIGB3YXNtLW1pbmlzY3JpcHRgIHRvIGZpbmFsaXplIGEgUFNCVC5cbiAqIE1pbmlzY3JpcHQgYmFzZWQgZmluYWxpemF0aW9uIGlzIG1vcmUgcG93ZXJmdWwgdGhhbiBiaXRjb2luanMtbGliJ3MgLyB1dHhvLWxpYidzIGZpbmFsaXphdGlvblxuICogYW5kIGNhbiBmaW5hbGl6ZSBtb3JlIGNvbXBsZXggc2NyaXB0cyAoZS5nLiBtaW5pc2NyaXB0IGRlc2NyaXB0b3JzKS5cbiAqIEBwYXJhbSBwc2J0XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBmaW5hbGl6ZVBzYnQocHNidDogdXR4b2xpYi5iaXRnby5VdHhvUHNidCk6IHZvaWQge1xuICBpZiAodXR4b2xpYi5nZXRNYWlubmV0KHBzYnQubmV0d29yaykgIT09IHV0eG9saWIubmV0d29ya3MuYml0Y29pbikge1xuICAgIHRocm93IG5ldyBFcnJvcignb25seSBiaXRjb2luIGFuZCB0ZXN0bmV0IGFyZSBzdXBwb3J0ZWQnKTtcbiAgfVxuICBjb25zdCB3cmFwcGVkUHNidCA9IHRvV3JhcHBlZFBzYnQocHNidCk7XG4gIHdyYXBwZWRQc2J0LmZpbmFsaXplKCk7XG4gIGNvbnN0IHVud3JhcHBlZFBzYnQgPSB0b1V0eG9Qc2J0KHdyYXBwZWRQc2J0LCBwc2J0Lm5ldHdvcmspO1xuICBmb3IgKGxldCBpID0gMDsgaSA8IHBzYnQuZGF0YS5pbnB1dHMubGVuZ3RoOyBpKyspIHtcbiAgICBwc2J0LmRhdGEuaW5wdXRzW2ldID0gdW53cmFwcGVkUHNidC5kYXRhLmlucHV0c1tpXTtcbiAgfVxufVxuIl19

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


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