diff --git a/src/script/interpreter.cpp b/src/script/interpreter.cpp index 19a6a8f4..edc379ba 100644 --- a/src/script/interpreter.cpp +++ b/src/script/interpreter.cpp @@ -378,8 +378,20 @@ bool EvalScript(vector >& stack, const CScript& script, un break; } + case OP_NOP5: + { + if (stack.size() == 2) { + popstack(stack); + popstack(stack); + } + else { + if (flags & SCRIPT_VERIFY_DISCOURAGE_UPGRADABLE_NOPS) + return set_error(serror, SCRIPT_ERR_DISCOURAGE_UPGRADABLE_NOPS); + } + } + break; - case OP_NOP1: case OP_NOP3: case OP_NOP4: case OP_NOP5: + case OP_NOP1: case OP_NOP3: case OP_NOP4: case OP_NOP6: case OP_NOP7: case OP_NOP8: case OP_NOP9: case OP_NOP10: { if (flags & SCRIPT_VERIFY_DISCOURAGE_UPGRADABLE_NOPS) diff --git a/src/script/standard.cpp b/src/script/standard.cpp index ce50e3aa..8d623895 100644 --- a/src/script/standard.cpp +++ b/src/script/standard.cpp @@ -26,9 +26,12 @@ const char* GetTxnOutputType(txnouttype t) { case TX_NONSTANDARD: return "nonstandard"; case TX_PUBKEY: return "pubkey"; + case TX_PUBKEY_REPLAY: return "pubkeyreplay"; case TX_PUBKEYHASH: return "pubkeyhash"; + case TX_PUBKEYHASH_REPLAY: return "pubkeyhashreplay"; case TX_SCRIPTHASH: return "scripthash"; case TX_MULTISIG: return "multisig"; + case TX_MULTISIG_REPLAY: return "multisigreplay"; case TX_NULL_DATA: return "nulldata"; } return NULL; @@ -45,12 +48,15 @@ bool Solver(const CScript& scriptPubKey, txnouttype& typeRet, vector