PHP WebShell

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

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

"use strict";
// [pubKeys[0:n-1] OP_CHECKSIGVERIFY] pubKeys[n-1] OP_CHECKSIG
Object.defineProperty(exports, "__esModule", { value: true });
exports.check = check;
const __1 = require("../../");
const __2 = require("../../");
const noble_ecc_1 = require("../../noble_ecc");
function check(script, allowIncomplete) {
    const chunks = __1.script.decompile(script);
    if (chunks.length < 3)
        return false;
    const ops = chunks.filter((_, index) => index % 2 === 1);
    if (ops[ops.length - 1] !== __2.opcodes.OP_CHECKSIG)
        return false;
    if (!ops.slice(0, -1).every((op) => op === __2.opcodes.OP_CHECKSIGVERIFY))
        return false;
    if (chunks.length / 2 > 16)
        return false;
    if (allowIncomplete)
        return true;
    const keys = chunks.filter((_, index) => index % 2 === 0);
    return keys.every(noble_ecc_1.ecc.isXOnlyPoint);
}
check.toJSON = () => {
    return 'taproot n-of-n output';
};
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3V0cHV0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL3RlbXBsYXRlcy90YXByb290bm9mbi9vdXRwdXQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLDhEQUE4RDs7QUFPOUQsc0JBYUM7QUFqQkQsOEJBQTJDO0FBQzNDLDhCQUFpQztBQUNqQywrQ0FBc0M7QUFFdEMsU0FBZ0IsS0FBSyxDQUFDLE1BQXNCLEVBQUUsZUFBeUI7SUFDckUsTUFBTSxNQUFNLEdBQUcsVUFBTyxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQVUsQ0FBQztJQUVsRCxJQUFJLE1BQU0sQ0FBQyxNQUFNLEdBQUcsQ0FBQztRQUFFLE9BQU8sS0FBSyxDQUFDO0lBQ3BDLE1BQU0sR0FBRyxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsS0FBSyxFQUFFLEVBQUUsQ0FBQyxLQUFLLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQ3pELElBQUksR0FBRyxDQUFDLEdBQUcsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLEtBQUssV0FBTyxDQUFDLFdBQVc7UUFBRSxPQUFPLEtBQUssQ0FBQztJQUM5RCxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLEVBQUUsS0FBSyxXQUFPLENBQUMsaUJBQWlCLENBQUM7UUFBRSxPQUFPLEtBQUssQ0FBQztJQUVwRixJQUFJLE1BQU0sQ0FBQyxNQUFNLEdBQUcsQ0FBQyxHQUFHLEVBQUU7UUFBRSxPQUFPLEtBQUssQ0FBQztJQUN6QyxJQUFJLGVBQWU7UUFBRSxPQUFPLElBQUksQ0FBQztJQUVqQyxNQUFNLElBQUksR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLEtBQUssRUFBRSxFQUFFLENBQUMsS0FBSyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQWEsQ0FBQztJQUN0RSxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsZUFBRyxDQUFDLFlBQVksQ0FBQyxDQUFDO0FBQ3RDLENBQUM7QUFDRCxLQUFLLENBQUMsTUFBTSxHQUFHLEdBQVcsRUFBRTtJQUMxQixPQUFPLHVCQUF1QixDQUFDO0FBQ2pDLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIFtwdWJLZXlzWzA6bi0xXSBPUF9DSEVDS1NJR1ZFUklGWV0gcHViS2V5c1tuLTFdIE9QX0NIRUNLU0lHXG5cbmltcG9ydCB7IFN0YWNrIH0gZnJvbSAnLi4vLi4vJztcbmltcG9ydCB7IHNjcmlwdCBhcyBic2NyaXB0IH0gZnJvbSAnLi4vLi4vJztcbmltcG9ydCB7IG9wY29kZXMgfSBmcm9tICcuLi8uLi8nO1xuaW1wb3J0IHsgZWNjIH0gZnJvbSAnLi4vLi4vbm9ibGVfZWNjJztcblxuZXhwb3J0IGZ1bmN0aW9uIGNoZWNrKHNjcmlwdDogQnVmZmVyIHwgU3RhY2ssIGFsbG93SW5jb21wbGV0ZT86IGJvb2xlYW4pOiBib29sZWFuIHtcbiAgY29uc3QgY2h1bmtzID0gYnNjcmlwdC5kZWNvbXBpbGUoc2NyaXB0KSBhcyBTdGFjaztcblxuICBpZiAoY2h1bmtzLmxlbmd0aCA8IDMpIHJldHVybiBmYWxzZTtcbiAgY29uc3Qgb3BzID0gY2h1bmtzLmZpbHRlcigoXywgaW5kZXgpID0+IGluZGV4ICUgMiA9PT0gMSk7XG4gIGlmIChvcHNbb3BzLmxlbmd0aCAtIDFdICE9PSBvcGNvZGVzLk9QX0NIRUNLU0lHKSByZXR1cm4gZmFsc2U7XG4gIGlmICghb3BzLnNsaWNlKDAsIC0xKS5ldmVyeSgob3ApID0+IG9wID09PSBvcGNvZGVzLk9QX0NIRUNLU0lHVkVSSUZZKSkgcmV0dXJuIGZhbHNlO1xuXG4gIGlmIChjaHVua3MubGVuZ3RoIC8gMiA+IDE2KSByZXR1cm4gZmFsc2U7XG4gIGlmIChhbGxvd0luY29tcGxldGUpIHJldHVybiB0cnVlO1xuXG4gIGNvbnN0IGtleXMgPSBjaHVua3MuZmlsdGVyKChfLCBpbmRleCkgPT4gaW5kZXggJSAyID09PSAwKSBhcyBCdWZmZXJbXTtcbiAgcmV0dXJuIGtleXMuZXZlcnkoZWNjLmlzWE9ubHlQb2ludCk7XG59XG5jaGVjay50b0pTT04gPSAoKTogc3RyaW5nID0+IHtcbiAgcmV0dXJuICd0YXByb290IG4tb2YtbiBvdXRwdXQnO1xufTtcbiJdfQ==

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


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