aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorMacroFake <falke.marco@gmail.com>2022-07-21 17:55:49 +0200
committerMacroFake <falke.marco@gmail.com>2022-08-02 15:28:10 +0200
commitfa2a6b8516b24d7e9ca11926a49cf2b07f661e81 (patch)
tree1e7f675e3e66591bf4fe200b4eeb787afbab1ed4 /src
parentfa477d32eefcc3dd2f06b452066290d9936d8c5d (diff)
downloadbitcoin-fa2a6b8516b24d7e9ca11926a49cf2b07f661e81.tar.xz
Combine datacarrier globals into one
Diffstat (limited to 'src')
-rw-r--r--src/init.cpp7
-rw-r--r--src/policy/policy.cpp7
-rw-r--r--src/script/standard.cpp3
-rw-r--r--src/script/standard.h11
4 files changed, 16 insertions, 12 deletions
diff --git a/src/init.cpp b/src/init.cpp
index 49c7de7816..04873d1c29 100644
--- a/src/init.cpp
+++ b/src/init.cpp
@@ -975,8 +975,11 @@ bool AppInitParameterInteraction(const ArgsManager& args, bool use_syscall_sandb
if (!g_wallet_init_interface.ParameterInteraction()) return false;
- fAcceptDatacarrier = args.GetBoolArg("-datacarrier", DEFAULT_ACCEPT_DATACARRIER);
- nMaxDatacarrierBytes = args.GetIntArg("-datacarriersize", nMaxDatacarrierBytes);
+ if (args.GetBoolArg("-datacarrier", DEFAULT_ACCEPT_DATACARRIER)) {
+ g_max_datacarrier_bytes = args.GetIntArg("-datacarriersize", MAX_OP_RETURN_RELAY);
+ } else {
+ g_max_datacarrier_bytes = std::nullopt;
+ }
// Option to startup with mocktime set (used for regression testing):
SetMockTime(args.GetIntArg("-mocktime", 0)); // SetMockTime(0) is a no-op
diff --git a/src/policy/policy.cpp b/src/policy/policy.cpp
index f6452266b7..0a79c0a1d8 100644
--- a/src/policy/policy.cpp
+++ b/src/policy/policy.cpp
@@ -82,9 +82,10 @@ bool IsStandard(const CScript& scriptPubKey, TxoutType& whichType)
return false;
if (m < 1 || m > n)
return false;
- } else if (whichType == TxoutType::NULL_DATA &&
- (!fAcceptDatacarrier || scriptPubKey.size() > nMaxDatacarrierBytes)) {
- return false;
+ } else if (whichType == TxoutType::NULL_DATA) {
+ if (!g_max_datacarrier_bytes || scriptPubKey.size() > *g_max_datacarrier_bytes) {
+ return false;
+ }
}
return true;
diff --git a/src/script/standard.cpp b/src/script/standard.cpp
index b3f6a1b669..47e9e89c94 100644
--- a/src/script/standard.cpp
+++ b/src/script/standard.cpp
@@ -16,8 +16,7 @@
typedef std::vector<unsigned char> valtype;
-bool fAcceptDatacarrier = DEFAULT_ACCEPT_DATACARRIER;
-unsigned nMaxDatacarrierBytes = MAX_OP_RETURN_RELAY;
+std::optional<unsigned> g_max_datacarrier_bytes{DEFAULT_ACCEPT_DATACARRIER ? std::optional{MAX_OP_RETURN_RELAY} : std::nullopt};
CScriptID::CScriptID(const CScript& in) : BaseHash(Hash160(in)) {}
CScriptID::CScriptID(const ScriptHash& in) : BaseHash(static_cast<uint160>(in)) {}
diff --git a/src/script/standard.h b/src/script/standard.h
index 448fdff010..c1c4cf4a39 100644
--- a/src/script/standard.h
+++ b/src/script/standard.h
@@ -13,6 +13,7 @@
#include <util/hash_type.h>
#include <map>
+#include <optional>
#include <string>
#include <variant>
@@ -33,7 +34,7 @@ public:
};
/**
- * Default setting for nMaxDatacarrierBytes. 80 bytes of data, +1 for OP_RETURN,
+ * Default setting for -datacarriersize. 80 bytes of data, +1 for OP_RETURN,
* +2 for the pushdata opcodes.
*/
static const unsigned int MAX_OP_RETURN_RELAY = 83;
@@ -41,11 +42,11 @@ static const unsigned int MAX_OP_RETURN_RELAY = 83;
/**
* A data carrying output is an unspendable output containing data. The script
* type is designated as TxoutType::NULL_DATA.
+ *
+ * Maximum size of TxoutType::NULL_DATA scripts that this node considers standard.
+ * If nullopt, any size is nonstandard.
*/
-extern bool fAcceptDatacarrier;
-
-/** Maximum size of TxoutType::NULL_DATA scripts that this node considers standard. */
-extern unsigned nMaxDatacarrierBytes;
+extern std::optional<unsigned> g_max_datacarrier_bytes;
/**
* Mandatory script verification flags that all new blocks must comply with for