diff --git a/lib/bcoin/script.js b/lib/bcoin/script.js index 95820ce7..f3aeb9c4 100644 --- a/lib/bcoin/script.js +++ b/lib/bcoin/script.js @@ -791,7 +791,7 @@ script.execute = function execute(data, stack, tx, index, flags, recurse) { if (flags.strictder !== false) { if (!script.isValidSignature(sig)) return false; - if (!script.isLowDER(sig)) + if (!script.isLowDER(sig.slice(0, -1))) return false; } @@ -862,7 +862,7 @@ script.execute = function execute(data, stack, tx, index, flags, recurse) { if (flags.strictder !== false) { if (!script.isValidSignature(sig)) return false; - if (!script.isLowDER(sig)) + if (!script.isLowDER(sig.slice(0, -1))) return false; } @@ -1853,15 +1853,11 @@ script.isValidSignature = function isValidSignature(sig, allowZero) { return true; }; -script.isLowDER = function isLowDER(sig, type) { +script.isLowDER = function isLowDER(sig) { var half = bcoin.ecdsa.n.ushrn(1); if (!sig.s) { assert(utils.isBuffer(sig)); - - if (sig[sig.length - 1] === type) - sig = sig.slice(0, -1); - try { sig = new bcoin.signature(sig); } catch (e) {