diff options
author | Anthony Towns <aj@erisian.com.au> | 2022-10-11 14:20:22 +1000 |
---|---|---|
committer | Andrew Chow <github@achow101.com> | 2023-08-14 17:38:27 -0400 |
commit | cba69dda3da0e4fa39cff5ce4dc81d1242fe651b (patch) | |
tree | 220d039c69f0db561855a6eb290701b56af1d041 /src | |
parent | b565485c24c0feacae559a7f6f7b83d7516ca58d (diff) |
Move MANDATORY_SCRIPT_VERIFY_FLAGS from script/standard.h to policy/policy.h
Diffstat (limited to 'src')
-rw-r--r-- | src/policy/policy.h | 16 | ||||
-rw-r--r-- | src/script/standard.h | 10 |
2 files changed, 14 insertions, 12 deletions
diff --git a/src/policy/policy.h b/src/policy/policy.h index 9135cae91c..657ee8b32d 100644 --- a/src/policy/policy.h +++ b/src/policy/policy.h @@ -69,10 +69,22 @@ static constexpr unsigned int DEFAULT_DESCENDANT_SIZE_LIMIT_KVB{101}; * configurable as it doesn't materially change DoS parameters. */ static constexpr unsigned int EXTRA_DESCENDANT_TX_SIZE_LIMIT{10000}; + + +/** + * Mandatory script verification flags that all new transactions must comply with for + * them to be valid. Failing one of these tests may trigger a DoS ban; + * see CheckInputScripts() for details. + * + * Note that this does not affect consensus validity; see GetBlockScriptFlags() + * for that. + */ +static const unsigned int MANDATORY_SCRIPT_VERIFY_FLAGS = SCRIPT_VERIFY_P2SH; + /** * Standard script verification flags that standard transactions will comply - * with. However scripts violating these flags may still be present in valid - * blocks and we must accept those blocks. + * with. However we do not ban/disconnect nodes that forward txs violating + * these rules, for better forwards and backwards compatability. */ static constexpr unsigned int STANDARD_SCRIPT_VERIFY_FLAGS{MANDATORY_SCRIPT_VERIFY_FLAGS | SCRIPT_VERIFY_DERSIG | diff --git a/src/script/standard.h b/src/script/standard.h index 18cf5c8c88..54065f6e30 100644 --- a/src/script/standard.h +++ b/src/script/standard.h @@ -38,16 +38,6 @@ public: */ static const unsigned int MAX_OP_RETURN_RELAY = 83; -/** - * Mandatory script verification flags that all new blocks must comply with for - * them to be valid. (but old blocks may not comply with) Currently just P2SH, - * but in the future other flags may be added. - * - * Failing one of these tests may trigger a DoS ban - see CheckInputScripts() for - * details. - */ -static const unsigned int MANDATORY_SCRIPT_VERIFY_FLAGS = SCRIPT_VERIFY_P2SH; - enum class TxoutType { NONSTANDARD, // 'standard' transaction types: |