UNPKG

@bitgo/utxo-lib

Version:

Client-side Bitcoin JavaScript library

24 lines 2.89 kB
"use strict"; // OP_0 [signatures ...] Object.defineProperty(exports, "__esModule", { value: true }); exports.check = check; const __1 = require("../../"); const __2 = require("../../"); function partialSignature(value) { return value === __2.opcodes.OP_0 || __1.script.isCanonicalScriptSignature(value); } function check(script, allowIncomplete) { const chunks = __1.script.decompile(script); if (chunks.length < 2) return false; if (chunks[0] !== __2.opcodes.OP_0) return false; if (allowIncomplete) { return chunks.slice(1).every(partialSignature); } return chunks.slice(1).every(__1.script.isCanonicalScriptSignature); } check.toJSON = () => { return 'multisig input'; }; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvdGVtcGxhdGVzL211bHRpc2lnL2lucHV0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSx3QkFBd0I7O0FBVXhCLHNCQVVDO0FBakJELDhCQUEyQztBQUMzQyw4QkFBaUM7QUFFakMsU0FBUyxnQkFBZ0IsQ0FBQyxLQUFzQjtJQUM5QyxPQUFPLEtBQUssS0FBSyxXQUFPLENBQUMsSUFBSSxJQUFJLFVBQU8sQ0FBQywwQkFBMEIsQ0FBQyxLQUFlLENBQUMsQ0FBQztBQUN2RixDQUFDO0FBRUQsU0FBZ0IsS0FBSyxDQUFDLE1BQXNCLEVBQUUsZUFBeUI7SUFDckUsTUFBTSxNQUFNLEdBQUcsVUFBTyxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQVUsQ0FBQztJQUNsRCxJQUFJLE1BQU0sQ0FBQyxNQUFNLEdBQUcsQ0FBQztRQUFFLE9BQU8sS0FBSyxDQUFDO0lBQ3BDLElBQUksTUFBTSxDQUFDLENBQUMsQ0FBQyxLQUFLLFdBQU8sQ0FBQyxJQUFJO1FBQUUsT0FBTyxLQUFLLENBQUM7SUFFN0MsSUFBSSxlQUFlLEVBQUUsQ0FBQztRQUNwQixPQUFPLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLGdCQUFnQixDQUFDLENBQUM7SUFDakQsQ0FBQztJQUVELE9BQVEsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQWMsQ0FBQyxLQUFLLENBQUMsVUFBTyxDQUFDLDBCQUEwQixDQUFDLENBQUM7QUFDakYsQ0FBQztBQUNELEtBQUssQ0FBQyxNQUFNLEdBQUcsR0FBVyxFQUFFO0lBQzFCLE9BQU8sZ0JBQWdCLENBQUM7QUFDMUIsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gT1BfMCBbc2lnbmF0dXJlcyAuLi5dXG5cbmltcG9ydCB7IFN0YWNrIH0gZnJvbSAnLi4vLi4vJztcbmltcG9ydCB7IHNjcmlwdCBhcyBic2NyaXB0IH0gZnJvbSAnLi4vLi4vJztcbmltcG9ydCB7IG9wY29kZXMgfSBmcm9tICcuLi8uLi8nO1xuXG5mdW5jdGlvbiBwYXJ0aWFsU2lnbmF0dXJlKHZhbHVlOiBudW1iZXIgfCBCdWZmZXIpOiBib29sZWFuIHtcbiAgcmV0dXJuIHZhbHVlID09PSBvcGNvZGVzLk9QXzAgfHwgYnNjcmlwdC5pc0Nhbm9uaWNhbFNjcmlwdFNpZ25hdHVyZSh2YWx1ZSBhcyBCdWZmZXIpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gY2hlY2soc2NyaXB0OiBCdWZmZXIgfCBTdGFjaywgYWxsb3dJbmNvbXBsZXRlPzogYm9vbGVhbik6IGJvb2xlYW4ge1xuICBjb25zdCBjaHVua3MgPSBic2NyaXB0LmRlY29tcGlsZShzY3JpcHQpIGFzIFN0YWNrO1xuICBpZiAoY2h1bmtzLmxlbmd0aCA8IDIpIHJldHVybiBmYWxzZTtcbiAgaWYgKGNodW5rc1swXSAhPT0gb3Bjb2Rlcy5PUF8wKSByZXR1cm4gZmFsc2U7XG5cbiAgaWYgKGFsbG93SW5jb21wbGV0ZSkge1xuICAgIHJldHVybiBjaHVua3Muc2xpY2UoMSkuZXZlcnkocGFydGlhbFNpZ25hdHVyZSk7XG4gIH1cblxuICByZXR1cm4gKGNodW5rcy5zbGljZSgxKSBhcyBCdWZmZXJbXSkuZXZlcnkoYnNjcmlwdC5pc0Nhbm9uaWNhbFNjcmlwdFNpZ25hdHVyZSk7XG59XG5jaGVjay50b0pTT04gPSAoKTogc3RyaW5nID0+IHtcbiAgcmV0dXJuICdtdWx0aXNpZyBpbnB1dCc7XG59O1xuIl19