diff --git a/lib/bcoin/script.js b/lib/bcoin/script.js index 045c73f3..961e14a7 100644 --- a/lib/bcoin/script.js +++ b/lib/bcoin/script.js @@ -176,6 +176,17 @@ script.execute = function execute(s, stack, tx, index) { } switch (o) { + case 'nop1': + case 'nop3': + case 'nop4': + case 'nop5': + case 'nop6': + case 'nop7': + case 'nop8': + case 'nop9': + case 'nop10': { + break; + } case 'if_': case 'notif': { var val = false; @@ -217,26 +228,6 @@ script.execute = function execute(s, stack, tx, index) { case 'endif': { return false; } - case 'nop1': - case 'nop3': - case 'nop4': - case 'nop5': - case 'nop6': - case 'nop7': - case 'nop8': - case 'nop9': - case 'nop10': { - // OP_EVAL - // if (o === 'nop1') { - // var evalScript = script.decode(stack.pop()); - // if (!Array.isArray(evalScript)) - // return false; - // var res = script.execute(evalScript, stack, tx, index); - // if (!res) - // return false; - // } - break; - } case 'verify': { if (stack.length === 0) return false; @@ -670,6 +661,7 @@ script.execute = function execute(s, stack, tx, index) { break; } case 'checklocktimeverify': { + // OP_CHECKLOCKTIMEVERIFY = OP_NOP2 // input: [[], sig1, sig2, 1] // prev_out: [[lock], 'checklocktimeverify', 'drop', // 'dup', 'hash160', pubkey, 'equalverify', 'checksig'] @@ -697,6 +689,17 @@ script.execute = function execute(s, stack, tx, index) { break; } + case 'eval_': { + // OP_EVAL = OP_NOP1 + // var evalScript = script.decode(stack.pop()); + // if (!Array.isArray(evalScript)) + // return false; + // var res = script.execute(evalScript, stack, tx, index); + // if (!res) + // return false; + // break; + return false; + } default: { // Unknown operation return false;