mirror of
https://github.com/bitcoin/bitcoin.git
synced 2025-01-14 05:42:36 -03:00
Merge bitcoin/bitcoin#27239: refactor: Consistently use context args over gArgs in node/interfaces
fa3e9b420f
refactor: Consistently use args over gArgs in init.cpp (MarcoFalke)fa891120c8
refactor: Consistently use context args over gArgs in node/interfaces (MarcoFalke) Pull request description: Currently `node/interfaces.cpp` uses a mix of `gArgs` vs `m_context->args`. This is fine, because outside of tests those should be identical. However, it makes the code inconsistent and harder to use in tests. Fix that by using `args` from the context consistently. Do the same in `init.cpp`, where `gArgs` and `args` are inconsistently used in the same scope or even line. ACKs for top commit: ryanofsky: Code review ACKfa3e9b420f
Tree-SHA512: bcd52f176794ebb1ecb9e1922411f7b84d212ae13bad314a1961b85f3077f645fca71fb0124c0889ebfdd8b59a0903b99b9985b1a4fb8f152aa6d7f0126fe5c7
This commit is contained in:
commit
40d0b0a524
2 changed files with 29 additions and 27 deletions
16
src/init.cpp
16
src/init.cpp
|
@ -867,7 +867,7 @@ bool AppInitParameterInteraction(const ArgsManager& args, bool use_syscall_sandb
|
||||||
InitWarning(warnings);
|
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", "")));
|
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")) {
|
if (args.IsArgSet("-asmap")) {
|
||||||
fs::path asmap_path = args.GetPathArg("-asmap", DEFAULT_ASMAP_FILENAME);
|
fs::path asmap_path = args.GetPathArg("-asmap", DEFAULT_ASMAP_FILENAME);
|
||||||
if (!asmap_path.is_absolute()) {
|
if (!asmap_path.is_absolute()) {
|
||||||
asmap_path = gArgs.GetDataDirNet() / asmap_path;
|
asmap_path = args.GetDataDirNet() / asmap_path;
|
||||||
}
|
}
|
||||||
if (!fs::exists(asmap_path)) {
|
if (!fs::exists(asmap_path)) {
|
||||||
InitError(strprintf(_("Could not find asmap file %s"), fs::quoted(fs::PathToString(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);
|
assert(!node.banman);
|
||||||
node.banman = std::make_unique<BanMan>(gArgs.GetDataDirNet() / "banlist", &uiInterface, args.GetIntArg("-bantime", DEFAULT_MISBEHAVING_BANTIME));
|
node.banman = std::make_unique<BanMan>(args.GetDataDirNet() / "banlist", &uiInterface, args.GetIntArg("-bantime", DEFAULT_MISBEHAVING_BANTIME));
|
||||||
assert(!node.connman);
|
assert(!node.connman);
|
||||||
node.connman = std::make_unique<CConnman>(GetRand<uint64_t>(),
|
node.connman = std::make_unique<CConnman>(GetRand<uint64_t>(),
|
||||||
GetRand<uint64_t>(),
|
GetRand<uint64_t>(),
|
||||||
|
@ -1618,12 +1618,12 @@ bool AppInitMain(NodeContext& node, interfaces::BlockAndHeaderTipInfo* tip_info)
|
||||||
|
|
||||||
// ********************************************************* Step 11: import blocks
|
// ********************************************************* Step 11: import blocks
|
||||||
|
|
||||||
if (!CheckDiskSpace(gArgs.GetDataDirNet())) {
|
if (!CheckDiskSpace(args.GetDataDirNet())) {
|
||||||
InitError(strprintf(_("Error: Disk space is low for %s"), fs::quoted(fs::PathToString(gArgs.GetDataDirNet()))));
|
InitError(strprintf(_("Error: Disk space is low for %s"), fs::quoted(fs::PathToString(args.GetDataDirNet()))));
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
if (!CheckDiskSpace(gArgs.GetBlocksDirPath())) {
|
if (!CheckDiskSpace(args.GetBlocksDirPath())) {
|
||||||
InitError(strprintf(_("Error: Disk space is low for %s"), fs::quoted(fs::PathToString(gArgs.GetBlocksDirPath()))));
|
InitError(strprintf(_("Error: Disk space is low for %s"), fs::quoted(fs::PathToString(args.GetBlocksDirPath()))));
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1715,7 +1715,7 @@ bool AppInitMain(NodeContext& node, interfaces::BlockAndHeaderTipInfo* tip_info)
|
||||||
if (node.peerman) node.peerman->SetBestHeight(chain_active_height);
|
if (node.peerman) node.peerman->SetBestHeight(chain_active_height);
|
||||||
|
|
||||||
// Map ports with UPnP or NAT-PMP.
|
// 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;
|
CConnman::Options connOptions;
|
||||||
connOptions.nLocalServices = nLocalServices;
|
connOptions.nLocalServices = nLocalServices;
|
||||||
|
|
|
@ -86,14 +86,14 @@ class NodeImpl : public Node
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
explicit NodeImpl(NodeContext& context) { setContext(&context); }
|
explicit NodeImpl(NodeContext& context) { setContext(&context); }
|
||||||
void initLogging() override { InitLogging(*Assert(m_context->args)); }
|
void initLogging() override { InitLogging(args()); }
|
||||||
void initParameterInteraction() override { InitParameterInteraction(*Assert(m_context->args)); }
|
void initParameterInteraction() override { InitParameterInteraction(args()); }
|
||||||
bilingual_str getWarnings() override { return GetWarnings(true); }
|
bilingual_str getWarnings() override { return GetWarnings(true); }
|
||||||
uint32_t getLogCategories() override { return LogInstance().GetCategoryMask(); }
|
uint32_t getLogCategories() override { return LogInstance().GetCategoryMask(); }
|
||||||
bool baseInitialize() override
|
bool baseInitialize() override
|
||||||
{
|
{
|
||||||
if (!AppInitBasicSetup(gArgs)) return false;
|
if (!AppInitBasicSetup(args())) return false;
|
||||||
if (!AppInitParameterInteraction(gArgs, /*use_syscall_sandbox=*/false)) return false;
|
if (!AppInitParameterInteraction(args(), /*use_syscall_sandbox=*/false)) return false;
|
||||||
|
|
||||||
m_context->kernel = std::make_unique<kernel::Context>();
|
m_context->kernel = std::make_unique<kernel::Context>();
|
||||||
if (!AppInitSanityChecks(*m_context->kernel)) return false;
|
if (!AppInitSanityChecks(*m_context->kernel)) return false;
|
||||||
|
@ -116,7 +116,7 @@ public:
|
||||||
{
|
{
|
||||||
StartShutdown();
|
StartShutdown();
|
||||||
// Stop RPC for clean shutdown if any of waitfor* commands is executed.
|
// Stop RPC for clean shutdown if any of waitfor* commands is executed.
|
||||||
if (gArgs.GetBoolArg("-server", false)) {
|
if (args().GetBoolArg("-server", false)) {
|
||||||
InterruptRPC();
|
InterruptRPC();
|
||||||
StopRPC();
|
StopRPC();
|
||||||
}
|
}
|
||||||
|
@ -125,28 +125,28 @@ public:
|
||||||
bool isSettingIgnored(const std::string& name) override
|
bool isSettingIgnored(const std::string& name) override
|
||||||
{
|
{
|
||||||
bool ignored = false;
|
bool ignored = false;
|
||||||
gArgs.LockSettings([&](util::Settings& settings) {
|
args().LockSettings([&](util::Settings& settings) {
|
||||||
if (auto* options = util::FindKey(settings.command_line_options, name)) {
|
if (auto* options = util::FindKey(settings.command_line_options, name)) {
|
||||||
ignored = !options->empty();
|
ignored = !options->empty();
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
return ignored;
|
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
|
void updateRwSetting(const std::string& name, const util::SettingsValue& value) override
|
||||||
{
|
{
|
||||||
gArgs.LockSettings([&](util::Settings& settings) {
|
args().LockSettings([&](util::Settings& settings) {
|
||||||
if (value.isNull()) {
|
if (value.isNull()) {
|
||||||
settings.rw_settings.erase(name);
|
settings.rw_settings.erase(name);
|
||||||
} else {
|
} else {
|
||||||
settings.rw_settings[name] = value;
|
settings.rw_settings[name] = value;
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
gArgs.WriteSettingsFile();
|
args().WriteSettingsFile();
|
||||||
}
|
}
|
||||||
void forceSetting(const std::string& name, const util::SettingsValue& value) override
|
void forceSetting(const std::string& name, const util::SettingsValue& value) override
|
||||||
{
|
{
|
||||||
gArgs.LockSettings([&](util::Settings& settings) {
|
args().LockSettings([&](util::Settings& settings) {
|
||||||
if (value.isNull()) {
|
if (value.isNull()) {
|
||||||
settings.forced_settings.erase(name);
|
settings.forced_settings.erase(name);
|
||||||
} else {
|
} else {
|
||||||
|
@ -156,11 +156,11 @@ public:
|
||||||
}
|
}
|
||||||
void resetSettings() override
|
void resetSettings() override
|
||||||
{
|
{
|
||||||
gArgs.WriteSettingsFile(/*errors=*/nullptr, /*backup=*/true);
|
args().WriteSettingsFile(/*errors=*/nullptr, /*backup=*/true);
|
||||||
gArgs.LockSettings([&](util::Settings& settings) {
|
args().LockSettings([&](util::Settings& settings) {
|
||||||
settings.rw_settings.clear();
|
settings.rw_settings.clear();
|
||||||
});
|
});
|
||||||
gArgs.WriteSettingsFile();
|
args().WriteSettingsFile();
|
||||||
}
|
}
|
||||||
void mapPort(bool use_upnp, bool use_natpmp) override { StartMapPort(use_upnp, use_natpmp); }
|
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); }
|
bool getProxy(Network net, Proxy& proxy_info) override { return GetProxy(net, proxy_info); }
|
||||||
|
@ -237,7 +237,7 @@ public:
|
||||||
{
|
{
|
||||||
#ifdef ENABLE_EXTERNAL_SIGNER
|
#ifdef ENABLE_EXTERNAL_SIGNER
|
||||||
std::vector<ExternalSigner> signers = {};
|
std::vector<ExternalSigner> signers = {};
|
||||||
const std::string command = gArgs.GetArg("-signer", "");
|
const std::string command = args().GetArg("-signer", "");
|
||||||
if (command == "") return {};
|
if (command == "") return {};
|
||||||
ExternalSigner::Enumerate(command, signers, Params().NetworkIDString());
|
ExternalSigner::Enumerate(command, signers, Params().NetworkIDString());
|
||||||
std::vector<std::unique_ptr<interfaces::ExternalSigner>> result;
|
std::vector<std::unique_ptr<interfaces::ExternalSigner>> result;
|
||||||
|
@ -388,6 +388,7 @@ public:
|
||||||
{
|
{
|
||||||
m_context = context;
|
m_context = context;
|
||||||
}
|
}
|
||||||
|
ArgsManager& args() { return *Assert(Assert(m_context)->args); }
|
||||||
ChainstateManager& chainman() { return *Assert(m_context->chainman); }
|
ChainstateManager& chainman() { return *Assert(m_context->chainman); }
|
||||||
NodeContext* m_context{nullptr};
|
NodeContext* m_context{nullptr};
|
||||||
};
|
};
|
||||||
|
@ -744,16 +745,16 @@ public:
|
||||||
int rpcSerializationFlags() override { return RPCSerializationFlags(); }
|
int rpcSerializationFlags() override { return RPCSerializationFlags(); }
|
||||||
util::SettingsValue getSetting(const std::string& name) override
|
util::SettingsValue getSetting(const std::string& name) override
|
||||||
{
|
{
|
||||||
return gArgs.GetSetting(name);
|
return args().GetSetting(name);
|
||||||
}
|
}
|
||||||
std::vector<util::SettingsValue> getSettingsList(const std::string& name) override
|
std::vector<util::SettingsValue> getSettingsList(const std::string& name) override
|
||||||
{
|
{
|
||||||
return gArgs.GetSettingsList(name);
|
return args().GetSettingsList(name);
|
||||||
}
|
}
|
||||||
util::SettingsValue getRwSetting(const std::string& name) override
|
util::SettingsValue getRwSetting(const std::string& name) override
|
||||||
{
|
{
|
||||||
util::SettingsValue result;
|
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)) {
|
if (const util::SettingsValue* value = util::FindKey(settings.rw_settings, name)) {
|
||||||
result = *value;
|
result = *value;
|
||||||
}
|
}
|
||||||
|
@ -762,14 +763,14 @@ public:
|
||||||
}
|
}
|
||||||
bool updateRwSetting(const std::string& name, const util::SettingsValue& value, bool write) override
|
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()) {
|
if (value.isNull()) {
|
||||||
settings.rw_settings.erase(name);
|
settings.rw_settings.erase(name);
|
||||||
} else {
|
} else {
|
||||||
settings.rw_settings[name] = value;
|
settings.rw_settings[name] = value;
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
return !write || gArgs.WriteSettingsFile();
|
return !write || args().WriteSettingsFile();
|
||||||
}
|
}
|
||||||
void requestMempoolTransactions(Notifications& notifications) override
|
void requestMempoolTransactions(Notifications& notifications) override
|
||||||
{
|
{
|
||||||
|
@ -785,6 +786,7 @@ public:
|
||||||
}
|
}
|
||||||
|
|
||||||
NodeContext* context() override { return &m_node; }
|
NodeContext* context() override { return &m_node; }
|
||||||
|
ArgsManager& args() { return *Assert(m_node.args); }
|
||||||
ChainstateManager& chainman() { return *Assert(m_node.chainman); }
|
ChainstateManager& chainman() { return *Assert(m_node.chainman); }
|
||||||
NodeContext& m_node;
|
NodeContext& m_node;
|
||||||
};
|
};
|
||||||
|
|
Loading…
Reference in a new issue