From fa891120c81d3ef81bf2b42510c83e879d026944 Mon Sep 17 00:00:00 2001 From: MarcoFalke <*~=`'#}+{/-|&$^_@721217.xyz> Date: Fri, 10 Mar 2023 12:39:13 +0100 Subject: [PATCH 1/2] refactor: Consistently use context args over gArgs in node/interfaces --- src/node/interfaces.cpp | 40 +++++++++++++++++++++------------------- 1 file changed, 21 insertions(+), 19 deletions(-) diff --git a/src/node/interfaces.cpp b/src/node/interfaces.cpp index 9c2db5ff0c..54aa21e984 100644 --- a/src/node/interfaces.cpp +++ b/src/node/interfaces.cpp @@ -86,14 +86,14 @@ class NodeImpl : public Node { public: explicit NodeImpl(NodeContext& context) { setContext(&context); } - void initLogging() override { InitLogging(*Assert(m_context->args)); } - void initParameterInteraction() override { InitParameterInteraction(*Assert(m_context->args)); } + void initLogging() override { InitLogging(args()); } + void initParameterInteraction() override { InitParameterInteraction(args()); } bilingual_str getWarnings() override { return GetWarnings(true); } uint32_t getLogCategories() override { return LogInstance().GetCategoryMask(); } bool baseInitialize() override { - if (!AppInitBasicSetup(gArgs)) return false; - if (!AppInitParameterInteraction(gArgs, /*use_syscall_sandbox=*/false)) return false; + if (!AppInitBasicSetup(args())) return false; + if (!AppInitParameterInteraction(args(), /*use_syscall_sandbox=*/false)) return false; m_context->kernel = std::make_unique(); if (!AppInitSanityChecks(*m_context->kernel)) return false; @@ -116,7 +116,7 @@ public: { StartShutdown(); // Stop RPC for clean shutdown if any of waitfor* commands is executed. - if (gArgs.GetBoolArg("-server", false)) { + if (args().GetBoolArg("-server", false)) { InterruptRPC(); StopRPC(); } @@ -125,28 +125,28 @@ public: bool isSettingIgnored(const std::string& name) override { bool ignored = false; - gArgs.LockSettings([&](util::Settings& settings) { + args().LockSettings([&](util::Settings& settings) { if (auto* options = util::FindKey(settings.command_line_options, name)) { ignored = !options->empty(); } }); return ignored; } - util::SettingsValue getPersistentSetting(const std::string& name) override { return gArgs.GetPersistentSetting(name); } + util::SettingsValue getPersistentSetting(const std::string& name) override { return args().GetPersistentSetting(name); } void updateRwSetting(const std::string& name, const util::SettingsValue& value) override { - gArgs.LockSettings([&](util::Settings& settings) { + args().LockSettings([&](util::Settings& settings) { if (value.isNull()) { settings.rw_settings.erase(name); } else { settings.rw_settings[name] = value; } }); - gArgs.WriteSettingsFile(); + args().WriteSettingsFile(); } void forceSetting(const std::string& name, const util::SettingsValue& value) override { - gArgs.LockSettings([&](util::Settings& settings) { + args().LockSettings([&](util::Settings& settings) { if (value.isNull()) { settings.forced_settings.erase(name); } else { @@ -156,11 +156,11 @@ public: } void resetSettings() override { - gArgs.WriteSettingsFile(/*errors=*/nullptr, /*backup=*/true); - gArgs.LockSettings([&](util::Settings& settings) { + args().WriteSettingsFile(/*errors=*/nullptr, /*backup=*/true); + args().LockSettings([&](util::Settings& settings) { settings.rw_settings.clear(); }); - gArgs.WriteSettingsFile(); + args().WriteSettingsFile(); } void mapPort(bool use_upnp, bool use_natpmp) override { StartMapPort(use_upnp, use_natpmp); } bool getProxy(Network net, Proxy& proxy_info) override { return GetProxy(net, proxy_info); } @@ -237,7 +237,7 @@ public: { #ifdef ENABLE_EXTERNAL_SIGNER std::vector signers = {}; - const std::string command = gArgs.GetArg("-signer", ""); + const std::string command = args().GetArg("-signer", ""); if (command == "") return {}; ExternalSigner::Enumerate(command, signers, Params().NetworkIDString()); std::vector> result; @@ -388,6 +388,7 @@ public: { m_context = context; } + ArgsManager& args() { return *Assert(Assert(m_context)->args); } ChainstateManager& chainman() { return *Assert(m_context->chainman); } NodeContext* m_context{nullptr}; }; @@ -744,16 +745,16 @@ public: int rpcSerializationFlags() override { return RPCSerializationFlags(); } util::SettingsValue getSetting(const std::string& name) override { - return gArgs.GetSetting(name); + return args().GetSetting(name); } std::vector getSettingsList(const std::string& name) override { - return gArgs.GetSettingsList(name); + return args().GetSettingsList(name); } util::SettingsValue getRwSetting(const std::string& name) override { util::SettingsValue result; - gArgs.LockSettings([&](const util::Settings& settings) { + args().LockSettings([&](const util::Settings& settings) { if (const util::SettingsValue* value = util::FindKey(settings.rw_settings, name)) { result = *value; } @@ -762,14 +763,14 @@ public: } bool updateRwSetting(const std::string& name, const util::SettingsValue& value, bool write) override { - gArgs.LockSettings([&](util::Settings& settings) { + args().LockSettings([&](util::Settings& settings) { if (value.isNull()) { settings.rw_settings.erase(name); } else { settings.rw_settings[name] = value; } }); - return !write || gArgs.WriteSettingsFile(); + return !write || args().WriteSettingsFile(); } void requestMempoolTransactions(Notifications& notifications) override { @@ -785,6 +786,7 @@ public: } NodeContext* context() override { return &m_node; } + ArgsManager& args() { return *Assert(m_node.args); } ChainstateManager& chainman() { return *Assert(m_node.chainman); } NodeContext& m_node; }; From fa3e9b420fbc1ce9b20218f03356502e1b79d5ff Mon Sep 17 00:00:00 2001 From: MarcoFalke <*~=`'#}+{/-|&$^_@721217.xyz> Date: Fri, 10 Mar 2023 12:36:47 +0100 Subject: [PATCH 2/2] refactor: Consistently use args over gArgs in init.cpp --- src/init.cpp | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/src/init.cpp b/src/init.cpp index 983e6b8607..2f7c6588b8 100644 --- a/src/init.cpp +++ b/src/init.cpp @@ -867,7 +867,7 @@ bool AppInitParameterInteraction(const ArgsManager& args, bool use_syscall_sandb InitWarning(warnings); } - if (!fs::is_directory(gArgs.GetBlocksDirPath())) { + if (!fs::is_directory(args.GetBlocksDirPath())) { return InitError(strprintf(_("Specified blocks directory \"%s\" does not exist."), args.GetArg("-blocksdir", ""))); } @@ -1224,7 +1224,7 @@ bool AppInitMain(NodeContext& node, interfaces::BlockAndHeaderTipInfo* tip_info) if (args.IsArgSet("-asmap")) { fs::path asmap_path = args.GetPathArg("-asmap", DEFAULT_ASMAP_FILENAME); if (!asmap_path.is_absolute()) { - asmap_path = gArgs.GetDataDirNet() / asmap_path; + asmap_path = args.GetDataDirNet() / asmap_path; } if (!fs::exists(asmap_path)) { InitError(strprintf(_("Could not find asmap file %s"), fs::quoted(fs::PathToString(asmap_path)))); @@ -1254,7 +1254,7 @@ bool AppInitMain(NodeContext& node, interfaces::BlockAndHeaderTipInfo* tip_info) } assert(!node.banman); - node.banman = std::make_unique(gArgs.GetDataDirNet() / "banlist", &uiInterface, args.GetIntArg("-bantime", DEFAULT_MISBEHAVING_BANTIME)); + node.banman = std::make_unique(args.GetDataDirNet() / "banlist", &uiInterface, args.GetIntArg("-bantime", DEFAULT_MISBEHAVING_BANTIME)); assert(!node.connman); node.connman = std::make_unique(GetRand(), GetRand(), @@ -1618,12 +1618,12 @@ bool AppInitMain(NodeContext& node, interfaces::BlockAndHeaderTipInfo* tip_info) // ********************************************************* Step 11: import blocks - if (!CheckDiskSpace(gArgs.GetDataDirNet())) { - InitError(strprintf(_("Error: Disk space is low for %s"), fs::quoted(fs::PathToString(gArgs.GetDataDirNet())))); + if (!CheckDiskSpace(args.GetDataDirNet())) { + InitError(strprintf(_("Error: Disk space is low for %s"), fs::quoted(fs::PathToString(args.GetDataDirNet())))); return false; } - if (!CheckDiskSpace(gArgs.GetBlocksDirPath())) { - InitError(strprintf(_("Error: Disk space is low for %s"), fs::quoted(fs::PathToString(gArgs.GetBlocksDirPath())))); + if (!CheckDiskSpace(args.GetBlocksDirPath())) { + InitError(strprintf(_("Error: Disk space is low for %s"), fs::quoted(fs::PathToString(args.GetBlocksDirPath())))); return false; } @@ -1715,7 +1715,7 @@ bool AppInitMain(NodeContext& node, interfaces::BlockAndHeaderTipInfo* tip_info) if (node.peerman) node.peerman->SetBestHeight(chain_active_height); // Map ports with UPnP or NAT-PMP. - StartMapPort(args.GetBoolArg("-upnp", DEFAULT_UPNP), gArgs.GetBoolArg("-natpmp", DEFAULT_NATPMP)); + StartMapPort(args.GetBoolArg("-upnp", DEFAULT_UPNP), args.GetBoolArg("-natpmp", DEFAULT_NATPMP)); CConnman::Options connOptions; connOptions.nLocalServices = nLocalServices;