From aab485280197ac486fedbe3d40c859927bc67e4a Mon Sep 17 00:00:00 2001 From: Alexander Block Date: Wed, 24 Jun 2020 10:03:53 +0200 Subject: [PATCH] Fix argument handling for devnets (#3549) * Use "devnet" instead of "dev" for network id Otherwise one would have to use "dev.port=123" in configs, which might be confusing as we usually name such networks "devnet". * Fix ArgsManager::GetChainName to work with devnets again -devnet is not a boolean arg, but a string. So we have to check for existence only. --- src/chainparams.cpp | 2 +- src/chainparamsbase.cpp | 2 +- src/qt/networkstyle.cpp | 2 +- src/util.cpp | 10 +++++----- 4 files changed, 8 insertions(+), 8 deletions(-) diff --git a/src/chainparams.cpp b/src/chainparams.cpp index a7d36ddfac57d..e22014885d10b 100644 --- a/src/chainparams.cpp +++ b/src/chainparams.cpp @@ -616,7 +616,7 @@ class CTestNetParams : public CChainParams { class CDevNetParams : public CChainParams { public: CDevNetParams() { - strNetworkID = "dev"; + strNetworkID = "devnet"; consensus.nSubsidyHalvingInterval = 210240; consensus.nMasternodePaymentsStartBlock = 4010; // not true, but it's ok as long as it's less then nMasternodePaymentsIncreaseBlock consensus.nMasternodePaymentsIncreaseBlock = 4030; diff --git a/src/chainparamsbase.cpp b/src/chainparamsbase.cpp index bb74acda485cf..6ac12d2035b12 100644 --- a/src/chainparamsbase.cpp +++ b/src/chainparamsbase.cpp @@ -13,7 +13,7 @@ const std::string CBaseChainParams::MAIN = "main"; const std::string CBaseChainParams::TESTNET = "test"; -const std::string CBaseChainParams::DEVNET = "dev"; +const std::string CBaseChainParams::DEVNET = "devnet"; const std::string CBaseChainParams::REGTEST = "regtest"; void AppendParamsHelpMessages(std::string& strUsage, bool debugHelp) diff --git a/src/qt/networkstyle.cpp b/src/qt/networkstyle.cpp index 2c38da1c51f1d..5ab687d9aeb1e 100644 --- a/src/qt/networkstyle.cpp +++ b/src/qt/networkstyle.cpp @@ -23,7 +23,7 @@ static const struct { } network_styles[] = { {"main", QAPP_APP_NAME_DEFAULT, 0, 0, ""}, {"test", QAPP_APP_NAME_TESTNET, 190, 20, QT_TRANSLATE_NOOP("SplashScreen", "[testnet]")}, - {"dev", QAPP_APP_NAME_DEVNET, 190, 20, "[devnet: %s]"}, + {"devnet", QAPP_APP_NAME_DEVNET, 190, 20, "[devnet: %s]"}, {"regtest", QAPP_APP_NAME_REGTEST, 160, 30, "[regtest]"} }; static const unsigned network_styles_count = sizeof(network_styles)/sizeof(*network_styles); diff --git a/src/util.cpp b/src/util.cpp index fdffe3c68195a..f1d847dd68bc7 100644 --- a/src/util.cpp +++ b/src/util.cpp @@ -620,7 +620,7 @@ class ArgsManagerHelper { /* Special test for -testnet and -regtest args, because we * don't want to be confused by craziness like "[regtest] testnet=1" */ - static inline bool GetNetBoolArg(const ArgsManager &am, const std::string& net_arg) + static inline bool GetNetBoolArg(const ArgsManager &am, const std::string& net_arg, bool interpret_bool) { std::pair found_result(false,std::string()); found_result = GetArgHelper(am.m_override_args, net_arg, true); @@ -630,7 +630,7 @@ class ArgsManagerHelper { return false; // not set } } - return InterpretBool(found_result.second); // is set, so evaluate + return !interpret_bool || InterpretBool(found_result.second); // is set, so evaluate } }; @@ -1031,9 +1031,9 @@ void ArgsManager::ReadConfigFile(const std::string& confPath) std::string ArgsManager::GetChainName() const { - bool fRegTest = ArgsManagerHelper::GetNetBoolArg(*this, "-regtest"); - bool fDevNet = ArgsManagerHelper::GetNetBoolArg(*this, "-devnet"); - bool fTestNet = ArgsManagerHelper::GetNetBoolArg(*this, "-testnet"); + bool fRegTest = ArgsManagerHelper::GetNetBoolArg(*this, "-regtest", true); + bool fDevNet = ArgsManagerHelper::GetNetBoolArg(*this, "-devnet", false); + bool fTestNet = ArgsManagerHelper::GetNetBoolArg(*this, "-testnet", true); int nameParamsCount = (fRegTest ? 1 : 0) + (fDevNet ? 1 : 0) + (fTestNet ? 1 : 0); if (nameParamsCount > 1)