aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAnthony Towns <aj@erisian.com.au>2022-10-11 14:20:22 +1000
committerAndrew Chow <github@achow101.com>2023-08-14 17:38:27 -0400
commitcba69dda3da0e4fa39cff5ce4dc81d1242fe651b (patch)
tree220d039c69f0db561855a6eb290701b56af1d041
parentb565485c24c0feacae559a7f6f7b83d7516ca58d (diff)
downloadbitcoin-cba69dda3da0e4fa39cff5ce4dc81d1242fe651b.tar.xz
Move MANDATORY_SCRIPT_VERIFY_FLAGS from script/standard.h to policy/policy.h
-rw-r--r--src/policy/policy.h16
-rw-r--r--src/script/standard.h10
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: