Merge pull request #6235

55a8975 Chainparams: Translations: DRY: options and error strings (Jorge Timón)
f3525e2 Chainparams: Replace CBaseChainParams::Network enum with string constants (suggested by Wladimir) (Jorge Timón)
This commit is contained in:
Wladimir J. van der Laan
2015-10-20 16:59:33 +02:00
11 changed files with 79 additions and 90 deletions

View File

@@ -5,6 +5,7 @@
#include "chainparams.h"
#include "tinyformat.h"
#include "util.h"
#include "utilstrencodings.h"
@@ -266,31 +267,20 @@ const CChainParams &Params() {
return *pCurrentParams;
}
CChainParams &Params(CBaseChainParams::Network network) {
switch (network) {
case CBaseChainParams::MAIN:
CChainParams& Params(const std::string& chain)
{
if (chain == CBaseChainParams::MAIN)
return mainParams;
case CBaseChainParams::TESTNET:
else if (chain == CBaseChainParams::TESTNET)
return testNetParams;
case CBaseChainParams::REGTEST:
else if (chain == CBaseChainParams::REGTEST)
return regTestParams;
default:
assert(false && "Unimplemented network");
return mainParams;
}
else
throw std::runtime_error(strprintf("%s: Unknown chain %s.", __func__, chain));
}
void SelectParams(CBaseChainParams::Network network) {
void SelectParams(const std::string& network)
{
SelectBaseParams(network);
pCurrentParams = &Params(network);
}
bool SelectParamsFromCommandLine()
{
CBaseChainParams::Network network = NetworkIdFromCommandLine();
if (network == CBaseChainParams::MAX_NETWORK_TYPES)
return false;
SelectParams(network);
return true;
}