aboutsummaryrefslogtreecommitdiff
path: root/src/script/script_error.cpp
diff options
context:
space:
mode:
authorJohnson Lau <jl2012@xbt.hk>2018-04-27 03:56:29 +0800
committerJohnson Lau <jl2012@xbt.hk>2018-05-05 04:26:12 +0800
commit9dabfe49c066301ef75bcfcb089fd308366127c4 (patch)
tree9640b1303dc21c3dc68463833d9f34145a118b2e /src/script/script_error.cpp
parent627c3762ce5d8ce097f70c7fb52a3640246fae9b (diff)
downloadbitcoin-9dabfe49c066301ef75bcfcb089fd308366127c4.tar.xz
Add constant scriptCode policy in non-segwit scripts
This disables OP_CODESEPARATOR in non-segwit scripts (even in an unexecuted branch), and makes a positive FindAndDelete result invalid. This ensures that the scriptCode serialized in SignatureHash() is always the same as the script passing to the EvalScript.
Diffstat (limited to 'src/script/script_error.cpp')
-rw-r--r--src/script/script_error.cpp4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/script/script_error.cpp b/src/script/script_error.cpp
index dbceb1f740..ceda740580 100644
--- a/src/script/script_error.cpp
+++ b/src/script/script_error.cpp
@@ -89,6 +89,10 @@ const char* ScriptErrorString(const ScriptError serror)
return "Witness provided for non-witness script";
case SCRIPT_ERR_WITNESS_PUBKEYTYPE:
return "Using non-compressed keys in segwit";
+ case SCRIPT_ERR_OP_CODESEPARATOR:
+ return "Using OP_CODESEPARATOR in non-witness script";
+ case SCRIPT_ERR_SIG_FINDANDDELETE:
+ return "Signature is found in scriptCode";
case SCRIPT_ERR_UNKNOWN_ERROR:
case SCRIPT_ERR_ERROR_COUNT:
default: break;