// Copyright (c) 2010 Satoshi Nakamoto // Copyright (c) 2009-2014 The Bitcoin Core developers // Distributed under the GPLv3 software license, see the accompanying // file COPYING or https://www.gnu.org/licenses/gpl-3.0.en.html /****************************************************************************** * Copyright © 2014-2019 The SuperNET Developers. * * * * See the AUTHORS, DEVELOPER-AGREEMENT and LICENSE files at * * the top-level directory of this distribution for the individual copyright * * holder information and the developer policies on copyright and licensing. * * * * Unless otherwise agreed in a custom licensing agreement, no part of the * * SuperNET software, including this file may be copied, modified, propagated * * or distributed except according to the terms contained in the LICENSE file * * * * Removal or modification of this copyright notice is prohibited. * * * ******************************************************************************/ #include "chainparamsbase.h" #include "util.h" #include /** * Main network */ class CBaseMainParams : public CBaseChainParams { public: CBaseMainParams() { nRPCPort = 7771; } }; static CBaseMainParams mainParams; /** * Testnet (v3) */ class CBaseTestNetParams : public CBaseChainParams { public: CBaseTestNetParams() { nRPCPort = 17771; strDataDir = "testnet3"; } }; static CBaseTestNetParams testNetParams; /* * Regression test */ class CBaseRegTestParams : public CBaseChainParams { public: CBaseRegTestParams() { nRPCPort = 18232; strDataDir = "regtest"; } }; static CBaseRegTestParams regTestParams; /* * Unit test */ class CBaseUnitTestParams : public CBaseMainParams { public: CBaseUnitTestParams() { strDataDir = "unittest"; } }; static CBaseUnitTestParams unitTestParams; static CBaseChainParams* pCurrentBaseParams = 0; const CBaseChainParams& BaseParams() { if ( pCurrentBaseParams == 0 ) pCurrentBaseParams = &mainParams; assert(pCurrentBaseParams); return *pCurrentBaseParams; } void SelectBaseParams(CBaseChainParams::Network network) { switch (network) { case CBaseChainParams::MAIN: pCurrentBaseParams = &mainParams; break; case CBaseChainParams::TESTNET: pCurrentBaseParams = &testNetParams; break; case CBaseChainParams::REGTEST: pCurrentBaseParams = ®TestParams; break; default: assert(false && "Unimplemented network"); return; } } CBaseChainParams::Network NetworkIdFromCommandLine() { bool fRegTest = GetBoolArg("-regtest", false); bool fTestNet = GetBoolArg("-testnet", false); if (fTestNet && fRegTest) return CBaseChainParams::MAX_NETWORK_TYPES; if (fRegTest) return CBaseChainParams::REGTEST; if (fTestNet) return CBaseChainParams::TESTNET; return CBaseChainParams::MAIN; } bool SelectBaseParamsFromCommandLine() { CBaseChainParams::Network network = NetworkIdFromCommandLine(); if (network == CBaseChainParams::MAX_NETWORK_TYPES) return false; SelectBaseParams(network); return true; } bool AreBaseParamsConfigured() { return pCurrentBaseParams != NULL; }