PHP WebShell

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

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

"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.types = void 0;
exports.input = classifyInput;
exports.output = classifyOutput;
exports.witness = classifyWitness;
const _1 = require("./");
const multisig = require("./templates/multisig");
const nullData = require("./templates/nulldata");
const pubKey = require("./templates/pubkey");
const pubKeyHash = require("./templates/pubkeyhash");
const scriptHash = require("./templates/scripthash");
const taproot = require("./templates/taproot");
const taprootnofn = require("./templates/taprootnofn");
const witnessCommitment = require("./templates/witnesscommitment");
const witnessPubKeyHash = require("./templates/witnesspubkeyhash");
const witnessScriptHash = require("./templates/witnessscripthash");
const types = {
    P2MS: 'multisig',
    NONSTANDARD: 'nonstandard',
    NULLDATA: 'nulldata',
    P2PK: 'pubkey',
    P2PKH: 'pubkeyhash',
    P2SH: 'scripthash',
    P2WPKH: 'witnesspubkeyhash',
    P2WSH: 'witnessscripthash',
    P2TR: 'taproot',
    P2TR_NS: 'taprootnofn',
    WITNESS_COMMITMENT: 'witnesscommitment',
};
exports.types = types;
function classifyOutput(script) {
    if (witnessPubKeyHash.output.check(script))
        return types.P2WPKH;
    if (witnessScriptHash.output.check(script))
        return types.P2WSH;
    if (taproot.output.check(script))
        return types.P2TR;
    if (pubKeyHash.output.check(script))
        return types.P2PKH;
    if (scriptHash.output.check(script))
        return types.P2SH;
    // XXX: optimization, below functions bscript.decompile before use
    const chunks = _1.script.decompile(script);
    if (!chunks)
        throw new TypeError('Invalid script');
    if (taprootnofn.output.check(chunks))
        return types.P2TR_NS;
    if (multisig.output.check(chunks))
        return types.P2MS;
    if (pubKey.output.check(chunks))
        return types.P2PK;
    if (witnessCommitment.output.check(chunks))
        return types.WITNESS_COMMITMENT;
    if (nullData.output.check(chunks))
        return types.NULLDATA;
    return types.NONSTANDARD;
}
function classifyInput(script, allowIncomplete) {
    // XXX: optimization, below functions bscript.decompile before use
    const chunks = _1.script.decompile(script);
    if (!chunks)
        throw new TypeError('Invalid script');
    if (pubKeyHash.input.check(chunks))
        return types.P2PKH;
    if (scriptHash.input.check(chunks, allowIncomplete))
        return types.P2SH;
    if (taprootnofn.input.check(chunks, allowIncomplete))
        return types.P2TR_NS;
    if (multisig.input.check(chunks, allowIncomplete))
        return types.P2MS;
    if (pubKey.input.check(chunks))
        return types.P2PK;
    return types.NONSTANDARD;
}
function classifyWitness(script, allowIncomplete) {
    // XXX: optimization, below functions bscript.decompile before use
    const chunks = _1.script.decompile(script);
    if (!chunks)
        throw new TypeError('Invalid script');
    if (witnessPubKeyHash.input.check(chunks))
        return types.P2WPKH;
    if (witnessScriptHash.input.check(chunks, allowIncomplete))
        return types.P2WSH;
    if (taproot.input.check(chunks))
        return types.P2TR;
    return types.NONSTANDARD;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xhc3NpZnkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY2xhc3NpZnkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBd0UwQiw4QkFBSztBQUFvQixnQ0FBTTtBQUFxQixrQ0FBTztBQXhFckYseUJBQXVDO0FBQ3ZDLGlEQUFpRDtBQUNqRCxpREFBaUQ7QUFDakQsNkNBQTZDO0FBQzdDLHFEQUFxRDtBQUNyRCxxREFBcUQ7QUFDckQsK0NBQStDO0FBQy9DLHVEQUF1RDtBQUN2RCxtRUFBbUU7QUFDbkUsbUVBQW1FO0FBQ25FLG1FQUFtRTtBQUVuRSxNQUFNLEtBQUssR0FBRztJQUNaLElBQUksRUFBRSxVQUFvQjtJQUMxQixXQUFXLEVBQUUsYUFBdUI7SUFDcEMsUUFBUSxFQUFFLFVBQW9CO0lBQzlCLElBQUksRUFBRSxRQUFrQjtJQUN4QixLQUFLLEVBQUUsWUFBc0I7SUFDN0IsSUFBSSxFQUFFLFlBQXNCO0lBQzVCLE1BQU0sRUFBRSxtQkFBNkI7SUFDckMsS0FBSyxFQUFFLG1CQUE2QjtJQUNwQyxJQUFJLEVBQUUsU0FBbUI7SUFDekIsT0FBTyxFQUFFLGFBQXVCO0lBQ2hDLGtCQUFrQixFQUFFLG1CQUE2QjtDQUNsRCxDQUFDO0FBZ0RxRixzQkFBSztBQTlDNUYsU0FBUyxjQUFjLENBQUMsTUFBYztJQUNwQyxJQUFJLGlCQUFpQixDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDO1FBQUUsT0FBTyxLQUFLLENBQUMsTUFBTSxDQUFDO0lBQ2hFLElBQUksaUJBQWlCLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUM7UUFBRSxPQUFPLEtBQUssQ0FBQyxLQUFLLENBQUM7SUFDL0QsSUFBSSxPQUFPLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUM7UUFBRSxPQUFPLEtBQUssQ0FBQyxJQUFJLENBQUM7SUFDcEQsSUFBSSxVQUFVLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxN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VyxDQUFDO0FBQzNCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBzY3JpcHQgYXMgYnNjcmlwdCB9IGZyb20gJy4vJztcbmltcG9ydCAqIGFzIG11bHRpc2lnIGZyb20gJy4vdGVtcGxhdGVzL211bHRpc2lnJztcbmltcG9ydCAqIGFzIG51bGxEYXRhIGZyb20gJy4vdGVtcGxhdGVzL251bGxkYXRhJztcbmltcG9ydCAqIGFzIHB1YktleSBmcm9tICcuL3RlbXBsYXRlcy9wdWJrZXknO1xuaW1wb3J0ICogYXMgcHViS2V5SGFzaCBmcm9tICcuL3RlbXBsYXRlcy9wdWJrZXloYXNoJztcbmltcG9ydCAqIGFzIHNjcmlwdEhhc2ggZnJvbSAnLi90ZW1wbGF0ZXMvc2NyaXB0aGFzaCc7XG5pbXBvcnQgKiBhcyB0YXByb290IGZyb20gJy4vdGVtcGxhdGVzL3RhcHJvb3QnO1xuaW1wb3J0ICogYXMgdGFwcm9vdG5vZm4gZnJvbSAnLi90ZW1wbGF0ZXMvdGFwcm9vdG5vZm4nO1xuaW1wb3J0ICogYXMgd2l0bmVzc0NvbW1pdG1lbnQgZnJvbSAnLi90ZW1wbGF0ZXMvd2l0bmVzc2NvbW1pdG1lbnQnO1xuaW1wb3J0ICogYXMgd2l0bmVzc1B1YktleUhhc2ggZnJvbSAnLi90ZW1wbGF0ZXMvd2l0bmVzc3B1YmtleWhhc2gnO1xuaW1wb3J0ICogYXMgd2l0bmVzc1NjcmlwdEhhc2ggZnJvbSAnLi90ZW1wbGF0ZXMvd2l0bmVzc3NjcmlwdGhhc2gnO1xuXG5jb25zdCB0eXBlcyA9IHtcbiAgUDJNUzogJ211bHRpc2lnJyBhcyBzdHJpbmcsXG4gIE5PTlNUQU5EQVJEOiAnbm9uc3RhbmRhcmQnIGFzIHN0cmluZyxcbiAgTlVMTERBVEE6ICdudWxsZGF0YScgYXMgc3RyaW5nLFxuICBQMlBLOiAncHVia2V5JyBhcyBzdHJpbmcsXG4gIFAyUEtIOiAncHVia2V5aGFzaCcgYXMgc3RyaW5nLFxuICBQMlNIOiAnc2NyaXB0aGFzaCcgYXMgc3RyaW5nLFxuICBQMldQS0g6ICd3aXRuZXNzcHVia2V5aGFzaCcgYXMgc3RyaW5nLFxuICBQMldTSDogJ3dpdG5lc3NzY3JpcHRoYXNoJyBhcyBzdHJpbmcsXG4gIFAyVFI6ICd0YXByb290JyBhcyBzdHJpbmcsXG4gIFAyVFJfTlM6ICd0YXByb290bm9mbicgYXMgc3RyaW5nLFxuICBXSVRORVNTX0NPTU1JVE1FTlQ6ICd3aXRuZXNzY29tbWl0bWVudCcgYXMgc3RyaW5nLFxufTtcblxuZnVuY3Rpb24gY2xhc3NpZnlPdXRwdXQoc2NyaXB0OiBCdWZmZXIpOiBzdHJpbmcge1xuICBpZiAod2l0bmVzc1B1YktleUhhc2gub3V0cHV0LmNoZWNrKHNjcmlwdCkpIHJldHVybiB0eXBlcy5QMldQS0g7XG4gIGlmICh3aXRuZXNzU2NyaXB0SGFzaC5vdXRwdXQuY2hlY2soc2NyaXB0KSkgcmV0dXJuIHR5cGVzLlAyV1NIO1xuICBpZiAodGFwcm9vdC5vdXRwdXQuY2hlY2soc2NyaXB0KSkgcmV0dXJuIHR5cGVzLlAyVFI7XG4gIGlmIChwdWJLZXlIYXNoLm91dHB1dC5jaGVjayhzY3JpcHQpKSByZXR1cm4gdHlwZXMuUDJQS0g7XG4gIGlmIChzY3JpcHRIYXNoLm91dHB1dC5jaGVjayhzY3JpcHQpKSByZXR1cm4gdHlwZXMuUDJTSDtcblxuICAvLyBYWFg6IG9wdGltaXphdGlvbiwgYmVsb3cgZnVuY3Rpb25zIGJzY3JpcHQuZGVjb21waWxlIGJlZm9yZSB1c2VcbiAgY29uc3QgY2h1bmtzID0gYnNjcmlwdC5kZWNvbXBpbGUoc2NyaXB0KTtcbiAgaWYgKCFjaHVua3MpIHRocm93IG5ldyBUeXBlRXJyb3IoJ0ludmFsaWQgc2NyaXB0Jyk7XG5cbiAgaWYgKHRhcHJvb3Rub2ZuLm91dHB1dC5jaGVjayhjaHVua3MpKSByZXR1cm4gdHlwZXMuUDJUUl9OUztcbiAgaWYgKG11bHRpc2lnLm91dHB1dC5jaGVjayhjaHVua3MpKSByZXR1cm4gdHlwZXMuUDJNUztcbiAgaWYgKHB1YktleS5vdXRwdXQuY2hlY2soY2h1bmtzKSkgcmV0dXJuIHR5cGVzLlAyUEs7XG4gIGlmICh3aXRuZXNzQ29tbWl0bWVudC5vdXRwdXQuY2hlY2soY2h1bmtzKSkgcmV0dXJuIHR5cGVzLldJVE5FU1NfQ09NTUlUTUVOVDtcbiAgaWYgKG51bGxEYXRhLm91dHB1dC5jaGVjayhjaHVua3MpKSByZXR1cm4gdHlwZXMuTlVMTERBVEE7XG5cbiAgcmV0dXJuIHR5cGVzLk5PTlNUQU5EQVJEO1xufVxuXG5mdW5jdGlvbiBjbGFzc2lmeUlucHV0KHNjcmlwdDogQnVmZmVyLCBhbGxvd0luY29tcGxldGU/OiBib29sZWFuKTogc3RyaW5nIHtcbiAgLy8gWFhYOiBvcHRpbWl6YXRpb24sIGJlbG93IGZ1bmN0aW9ucyBic2NyaXB0LmRlY29tcGlsZSBiZWZvcmUgdXNlXG4gIGNvbnN0IGNodW5rcyA9IGJzY3JpcHQuZGVjb21waWxlKHNjcmlwdCk7XG4gIGlmICghY2h1bmtzKSB0aHJvdyBuZXcgVHlwZUVycm9yKCdJbnZhbGlkIHNjcmlwdCcpO1xuXG4gIGlmIChwdWJLZXlIYXNoLmlucHV0LmNoZWNrKGNodW5rcykpIHJldHVybiB0eXBlcy5QMlBLSDtcbiAgaWYgKHNjcmlwdEhhc2guaW5wdXQuY2hlY2soY2h1bmtzLCBhbGxvd0luY29tcGxldGUpKSByZXR1cm4gdHlwZXMuUDJTSDtcbiAgaWYgKHRhcHJvb3Rub2ZuLmlucHV0LmNoZWNrKGNodW5rcywgYWxsb3dJbmNvbXBsZXRlKSkgcmV0dXJuIHR5cGVzLlAyVFJfTlM7XG4gIGlmIChtdWx0aXNpZy5pbnB1dC5jaGVjayhjaHVua3MsIGFsbG93SW5jb21wbGV0ZSkpIHJldHVybiB0eXBlcy5QMk1TO1xuICBpZiAocHViS2V5LmlucHV0LmNoZWNrKGNodW5rcykpIHJldHVybiB0eXBlcy5QMlBLO1xuXG4gIHJldHVybiB0eXBlcy5OT05TVEFOREFSRDtcbn1cblxuZnVuY3Rpb24gY2xhc3NpZnlXaXRuZXNzKHNjcmlwdDogQnVmZmVyW10sIGFsbG93SW5jb21wbGV0ZT86IGJvb2xlYW4pOiBzdHJpbmcge1xuICAvLyBYWFg6IG9wdGltaXphdGlvbiwgYmVsb3cgZnVuY3Rpb25zIGJzY3JpcHQuZGVjb21waWxlIGJlZm9yZSB1c2VcbiAgY29uc3QgY2h1bmtzID0gYnNjcmlwdC5kZWNvbXBpbGUoc2NyaXB0KTtcbiAgaWYgKCFjaHVua3MpIHRocm93IG5ldyBUeXBlRXJyb3IoJ0ludmFsaWQgc2NyaXB0Jyk7XG5cbiAgaWYgKHdpdG5lc3NQdWJLZXlIYXNoLmlucHV0LmNoZWNrKGNodW5rcykpIHJldHVybiB0eXBlcy5QMldQS0g7XG4gIGlmICh3aXRuZXNzU2NyaXB0SGFzaC5pbnB1dC5jaGVjayhjaHVua3MgYXMgQnVmZmVyW10sIGFsbG93SW5jb21wbGV0ZSkpIHJldHVybiB0eXBlcy5QMldTSDtcbiAgaWYgKHRhcHJvb3QuaW5wdXQuY2hlY2soY2h1bmtzIGFzIEJ1ZmZlcltdKSkgcmV0dXJuIHR5cGVzLlAyVFI7XG5cbiAgcmV0dXJuIHR5cGVzLk5PTlNUQU5EQVJEO1xufVxuXG5leHBvcnQgeyBjbGFzc2lmeUlucHV0IGFzIGlucHV0LCBjbGFzc2lmeU91dHB1dCBhcyBvdXRwdXQsIGNsYXNzaWZ5V2l0bmVzcyBhcyB3aXRuZXNzLCB0eXBlcyB9O1xuIl19

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


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