Kills some live mutants on interpreter.cpp that affect consensus found with https://github.com/ViniciusCestarii/mutant-harness. They are:
interpreter.cpp (killed by 4e7de2ac4cc6c08ff27620de01ccd9d66c568459): OP_IF / OP_NOTIF tapscript minimal-IF:
diff --git a/src/script/interpreter.cpp b/src/script/interpreter.cpp
index 98b16ec..f9b08fe 100644
--- a/src/script/interpreter.cpp
+++ b/src/script/interpreter.cpp
@@ -624,7 +624,7 @@ bool EvalScript(std::vector<std::vector<unsigned char> >& stack, const CScript&
- if (vch.size() > 1 || (vch.size() == 1 && vch[0] != 1)) {
+ if (vch.size() > 1 || (vch.size() == 1 && vch[0] > 1)) {
interpreter.cpp (killed by f1380123b6f8912e2ca599f30f2d89c0af9b9c5f): P2WSH:
diff --git a/src/script/interpreter.cpp b/src/script/interpreter.cpp
index 98b16ec..73a1bb5 100644
--- a/src/script/interpreter.cpp
+++ b/src/script/interpreter.cpp
@@ -1940,7 +1940,7 @@ static bool VerifyWitnessProgram(const CScriptWitness& witness, int witversion,
- if (memcmp(hash_exec_script.begin(), program.data(), 32)) {
+ if (memcmp(hash_exec_script.begin(), program.data(), 31)) {
interpreter.cpp (killed by 44a7083d43604b3d5c923ffc9011d8043a27d052): opcode limit:
diff --git a/src/script/interpreter.cpp b/src/script/interpreter.cpp
index 98b16ec..b117045 100644
--- a/src/script/interpreter.cpp
+++ b/src/script/interpreter.cpp
@@ -457,7 +457,7 @@ bool EvalScript(std::vector<std::vector<unsigned char> >& stack, const CScript&
- if (sigversion == SigVersion::BASE || sigversion == SigVersion::WITNESS_V0) {
+ if (sigversion == SigVersion::BASE) {
Recommend reviewing per commit.