Merge #12128: Refactor: One CBaseChainParams should be enough

1687cb4 Refactor: One CBaseChainParams should be enough (Jorge Timón)

Pull request description:

  There's no need for class hierarchy with CBaseChainParams, it is just a struct with 2 fields.
  This starts as a +10-43 diff

Tree-SHA512: 0a7dd64ab785416550b541787c6083540e4962d76b6cffa806bb3593aec2daf1752dfe65ac5cd51b34ad5c31dd8292c422b483fdd2d37d0b7e68725498ed4c2d
This commit is contained in:
Wladimir J. van der Laan 2018-02-10 09:56:10 +01:00
commit 948c29cc0d
No known key found for this signature in database
GPG key ID: 1E4AED62986CD25D
2 changed files with 6 additions and 43 deletions

View file

@ -24,44 +24,6 @@ void AppendParamsHelpMessages(std::string& strUsage, bool debugHelp)
strUsage += HelpMessageOpt("-testnet", _("Use the test chain")); strUsage += HelpMessageOpt("-testnet", _("Use the test chain"));
} }
/**
* Main network
*/
class CBaseMainParams : public CBaseChainParams
{
public:
CBaseMainParams()
{
nRPCPort = 8332;
}
};
/**
* Testnet (v3)
*/
class CBaseTestNetParams : public CBaseChainParams
{
public:
CBaseTestNetParams()
{
nRPCPort = 18332;
strDataDir = "testnet3";
}
};
/*
* Regression test
*/
class CBaseRegTestParams : public CBaseChainParams
{
public:
CBaseRegTestParams()
{
nRPCPort = 18443;
strDataDir = "regtest";
}
};
static std::unique_ptr<CBaseChainParams> globalChainBaseParams; static std::unique_ptr<CBaseChainParams> globalChainBaseParams;
const CBaseChainParams& BaseParams() const CBaseChainParams& BaseParams()
@ -73,11 +35,11 @@ const CBaseChainParams& BaseParams()
std::unique_ptr<CBaseChainParams> CreateBaseChainParams(const std::string& chain) std::unique_ptr<CBaseChainParams> CreateBaseChainParams(const std::string& chain)
{ {
if (chain == CBaseChainParams::MAIN) if (chain == CBaseChainParams::MAIN)
return std::unique_ptr<CBaseChainParams>(new CBaseMainParams()); return MakeUnique<CBaseChainParams>("", 8332);
else if (chain == CBaseChainParams::TESTNET) else if (chain == CBaseChainParams::TESTNET)
return std::unique_ptr<CBaseChainParams>(new CBaseTestNetParams()); return MakeUnique<CBaseChainParams>("testnet3", 18332);
else if (chain == CBaseChainParams::REGTEST) else if (chain == CBaseChainParams::REGTEST)
return std::unique_ptr<CBaseChainParams>(new CBaseRegTestParams()); return MakeUnique<CBaseChainParams>("regtest", 18443);
else else
throw std::runtime_error(strprintf("%s: Unknown chain %s.", __func__, chain)); throw std::runtime_error(strprintf("%s: Unknown chain %s.", __func__, chain));
} }

View file

@ -24,9 +24,10 @@ public:
const std::string& DataDir() const { return strDataDir; } const std::string& DataDir() const { return strDataDir; }
int RPCPort() const { return nRPCPort; } int RPCPort() const { return nRPCPort; }
protected: CBaseChainParams() = delete;
CBaseChainParams() {} CBaseChainParams(const std::string& data_dir, int rpc_port) : nRPCPort(rpc_port), strDataDir(data_dir) {}
private:
int nRPCPort; int nRPCPort;
std::string strDataDir; std::string strDataDir;
}; };