aboutsummaryrefslogtreecommitdiff
path: root/src/policy
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/policy
parent627c3762ce5d8ce097f70c7fb52a3640246fae9b (diff)
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/policy')
-rw-r--r--src/policy/policy.h3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/policy/policy.h b/src/policy/policy.h
index e4eda4b635..6ba3ba7450 100644
--- a/src/policy/policy.h
+++ b/src/policy/policy.h
@@ -63,7 +63,8 @@ static constexpr unsigned int STANDARD_SCRIPT_VERIFY_FLAGS = MANDATORY_SCRIPT_VE
SCRIPT_VERIFY_LOW_S |
SCRIPT_VERIFY_WITNESS |
SCRIPT_VERIFY_DISCOURAGE_UPGRADABLE_WITNESS_PROGRAM |
- SCRIPT_VERIFY_WITNESS_PUBKEYTYPE;
+ SCRIPT_VERIFY_WITNESS_PUBKEYTYPE |
+ SCRIPT_VERIFY_CONST_SCRIPTCODE;
/** For convenience, standard but not mandatory verify flags. */
static constexpr unsigned int STANDARD_NOT_MANDATORY_VERIFY_FLAGS = STANDARD_SCRIPT_VERIFY_FLAGS & ~MANDATORY_SCRIPT_VERIFY_FLAGS;