PHP WebShell

Текущая директория: /usr/lib/node_modules/bitgo/node_modules/@bitgo/utxo-lib/dist/src/templates/multisig

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

"use strict";
// m [pubKeys ...] n OP_CHECKMULTISIG
Object.defineProperty(exports, "__esModule", { value: true });
exports.check = check;
const __1 = require("../../");
const __2 = require("../../");
const types = require("bitcoinjs-lib/src/types");
const OP_INT_BASE = __2.opcodes.OP_RESERVED; // OP_1 - 1
function check(script, allowIncomplete) {
    const chunks = __1.script.decompile(script);
    if (chunks.length < 4)
        return false;
    if (chunks[chunks.length - 1] !== __2.opcodes.OP_CHECKMULTISIG)
        return false;
    if (!types.Number(chunks[0]))
        return false;
    if (!types.Number(chunks[chunks.length - 2]))
        return false;
    const m = chunks[0] - OP_INT_BASE;
    const n = chunks[chunks.length - 2] - OP_INT_BASE;
    if (m <= 0)
        return false;
    if (n > 16)
        return false;
    if (m > n)
        return false;
    if (n !== chunks.length - 3)
        return false;
    if (allowIncomplete)
        return true;
    const keys = chunks.slice(1, -2);
    return keys.every(__1.script.isCanonicalPubKey);
}
check.toJSON = () => {
    return 'multi-sig output';
};
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3V0cHV0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL3RlbXBsYXRlcy9tdWx0aXNpZy9vdXRwdXQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLHFDQUFxQzs7QUFRckMsc0JBa0JDO0FBdkJELDhCQUEyQztBQUMzQyw4QkFBaUM7QUFDakMsaURBQWlEO0FBQ2pELE1BQU0sV0FBVyxHQUFHLFdBQU8sQ0FBQyxXQUFXLENBQUMsQ0FBQyxXQUFXO0FBRXBELFNBQWdCLEtBQUssQ0FBQyxNQUFzQixFQUFFLGVBQXlCO0lBQ3JFLE1BQU0sTUFBTSxHQUFHLFVBQU8sQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFVLENBQUM7SUFFbEQsSUFBSSxNQUFNLENBQUMsTUFBTSxHQUFHLENBQUM7UUFBRSxPQUFPLEtBQUssQ0FBQztJQUNwQyxJQUFJLE1BQU0sQ0FBQyxNQUFNLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxLQUFLLFdBQU8sQ0FBQyxnQkFBZ0I7UUFBRSxPQUFPLEtBQUssQ0FBQztJQUN6RSxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFBRSxPQUFPLEtBQUssQ0FBQztJQUMzQyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQztRQUFFLE9BQU8sS0FBSyxDQUFDO0lBQzNELE1BQU0sQ0FBQyxHQUFJLE1BQU0sQ0FBQyxDQUFDLENBQVksR0FBRyxXQUFXLENBQUM7SUFDOUMsTUFBTSxDQUFDLEdBQUksTUFBTSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFZLEdBQUcsV0FBVyxDQUFDO0lBRTlELElBQUksQ0FBQyxJQUFJLENBQUM7UUFBRSxPQUFPLEtBQUssQ0FBQztJQUN6QixJQUFJLENBQUMsR0FBRyxFQUFFO1FBQUUsT0FBTyxLQUFLLENBQUM7SUFDekIsSUFBSSxDQUFDLEdBQUcsQ0FBQztRQUFFLE9BQU8sS0FBSyxDQUFDO0lBQ3hCLElBQUksQ0FBQyxLQUFLLE1BQU0sQ0FBQyxNQUFNLEdBQUcsQ0FBQztRQUFFLE9BQU8sS0FBSyxDQUFDO0lBQzFDLElBQUksZUFBZTtRQUFFLE9BQU8sSUFBSSxDQUFDO0lBRWpDLE1BQU0sSUFBSSxHQUFHLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFhLENBQUM7SUFDN0MsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLFVBQU8sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO0FBQy9DLENBQUM7QUFDRCxLQUFLLENBQUMsTUFBTSxHQUFHLEdBQVcsRUFBRTtJQUMxQixPQUFPLGtCQUFrQixDQUFDO0FBQzVCLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIG0gW3B1YktleXMgLi4uXSBuIE9QX0NIRUNLTVVMVElTSUdcblxuaW1wb3J0IHsgU3RhY2sgfSBmcm9tICcuLi8uLi8nO1xuaW1wb3J0IHsgc2NyaXB0IGFzIGJzY3JpcHQgfSBmcm9tICcuLi8uLi8nO1xuaW1wb3J0IHsgb3Bjb2RlcyB9IGZyb20gJy4uLy4uLyc7XG5pbXBvcnQgKiBhcyB0eXBlcyBmcm9tICdiaXRjb2luanMtbGliL3NyYy90eXBlcyc7XG5jb25zdCBPUF9JTlRfQkFTRSA9IG9wY29kZXMuT1BfUkVTRVJWRUQ7IC8vIE9QXzEgLSAxXG5cbmV4cG9ydCBmdW5jdGlvbiBjaGVjayhzY3JpcHQ6IEJ1ZmZlciB8IFN0YWNrLCBhbGxvd0luY29tcGxldGU/OiBib29sZWFuKTogYm9vbGVhbiB7XG4gIGNvbnN0IGNodW5rcyA9IGJzY3JpcHQuZGVjb21waWxlKHNjcmlwdCkgYXMgU3RhY2s7XG5cbiAgaWYgKGNodW5rcy5sZW5ndGggPCA0KSByZXR1cm4gZmFsc2U7XG4gIGlmIChjaHVua3NbY2h1bmtzLmxlbmd0aCAtIDFdICE9PSBvcGNvZGVzLk9QX0NIRUNLTVVMVElTSUcpIHJldHVybiBmYWxzZTtcbiAgaWYgKCF0eXBlcy5OdW1iZXIoY2h1bmtzWzBdKSkgcmV0dXJuIGZhbHNlO1xuICBpZiAoIXR5cGVzLk51bWJlcihjaHVua3NbY2h1bmtzLmxlbmd0aCAtIDJdKSkgcmV0dXJuIGZhbHNlO1xuICBjb25zdCBtID0gKGNodW5rc1swXSBhcyBudW1iZXIpIC0gT1BfSU5UX0JBU0U7XG4gIGNvbnN0IG4gPSAoY2h1bmtzW2NodW5rcy5sZW5ndGggLSAyXSBhcyBudW1iZXIpIC0gT1BfSU5UX0JBU0U7XG5cbiAgaWYgKG0gPD0gMCkgcmV0dXJuIGZhbHNlO1xuICBpZiAobiA+IDE2KSByZXR1cm4gZmFsc2U7XG4gIGlmIChtID4gbikgcmV0dXJuIGZhbHNlO1xuICBpZiAobiAhPT0gY2h1bmtzLmxlbmd0aCAtIDMpIHJldHVybiBmYWxzZTtcbiAgaWYgKGFsbG93SW5jb21wbGV0ZSkgcmV0dXJuIHRydWU7XG5cbiAgY29uc3Qga2V5cyA9IGNodW5rcy5zbGljZSgxLCAtMikgYXMgQnVmZmVyW107XG4gIHJldHVybiBrZXlzLmV2ZXJ5KGJzY3JpcHQuaXNDYW5vbmljYWxQdWJLZXkpO1xufVxuY2hlY2sudG9KU09OID0gKCk6IHN0cmluZyA9PiB7XG4gIHJldHVybiAnbXVsdGktc2lnIG91dHB1dCc7XG59O1xuIl19

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


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