From abdea9f7add33659339d68cd42ceba4994fd5314 Mon Sep 17 00:00:00 2001 From: Luke Dashjr Date: Sun, 12 Nov 2023 23:39:56 +0000 Subject: [PATCH 1/2] Add maxscriptsize policy option --- src/init.cpp | 3 +++ src/policy/policy.cpp | 23 ++++++++++++++++++++--- src/policy/policy.h | 2 ++ src/policy/settings.h | 1 + 4 files changed, 26 insertions(+), 3 deletions(-) diff --git a/src/init.cpp b/src/init.cpp index 4a7a701a09..b434d61d4c 100644 --- a/src/init.cpp +++ b/src/init.cpp @@ -651,6 +651,7 @@ void SetupServerArgs(ArgsManager& argsman) strprintf("Maximum size of data in data carrier transactions we relay and mine, in bytes (default: %u)", MAX_OP_RETURN_RELAY), ArgsManager::ALLOW_ANY, OptionsCategory::NODE_RELAY); + argsman.AddArg("-maxscriptsize", strprintf("Maximum size of scripts we relay and mine (default: %s)", DEFAULT_SCRIPT_SIZE_POLICY_LIMIT), ArgsManager::ALLOW_ANY, OptionsCategory::NODE_RELAY); argsman.AddArg("-mempoolfullrbf", strprintf("Accept transaction replace-by-fee without requiring replaceability signaling (default: %u)", (DEFAULT_MEMPOOL_RBF_POLICY == RBFPolicy::Always)), ArgsManager::ALLOW_ANY, OptionsCategory::NODE_RELAY); argsman.AddArg("-mempoolreplacement", strprintf("Set to 0 to disable RBF entirely, \"fee,optin\" to honour RBF opt-out signal, or \"fee,-optin\" to always RBF aka full RBF (default: %s)", "fee,-optin"), ArgsManager::ALLOW_ANY, OptionsCategory::NODE_RELAY); argsman.AddArg("-mempooltruc", strprintf("Behaviour for transactions requesting TRUC limits: \"reject\" the transactions entirely, \"accept\" them just like any other, or \"enforce\" to impose their requested restrictions (default: %s)", "enforce"), ArgsManager::ALLOW_ANY, OptionsCategory::NODE_RELAY); @@ -1045,6 +1046,8 @@ bool AppInitParameterInteraction(const ArgsManager& args) g_weight_per_data_byte = ((*parsed * WITNESS_SCALE_FACTOR) + 99) / 100; } + g_script_size_policy_limit = args.GetIntArg("-maxscriptsize", g_script_size_policy_limit); + nBytesPerSigOp = args.GetIntArg("-bytespersigop", nBytesPerSigOp); nBytesPerSigOpStrict = args.GetIntArg("-bytespersigopstrict", nBytesPerSigOpStrict); diff --git a/src/policy/policy.cpp b/src/policy/policy.cpp index 74b5a76735..e835761211 100644 --- a/src/policy/policy.cpp +++ b/src/policy/policy.cpp @@ -13,6 +13,7 @@ #include #include #include +#include #include #include