]> Git Repo - VerusCoin.git/blame - src/chainparamsbase.cpp
Add support for spending keys to the encrypted wallet.
[VerusCoin.git] / src / chainparamsbase.cpp
CommitLineData
84ce18ca 1// Copyright (c) 2010 Satoshi Nakamoto
f914f1a7 2// Copyright (c) 2009-2014 The Bitcoin Core developers
f2e03ffa 3// Distributed under the MIT software license, see the accompanying
84ce18ca
WL
4// file COPYING or http://www.opensource.org/licenses/mit-license.php.
5
6#include "chainparamsbase.h"
7
84ce18ca
WL
8#include "util.h"
9
187115c0
PK
10#include <assert.h>
11
f2e03ffa
MF
12/**
13 * Main network
14 */
20e01b1a
PW
15class CBaseMainParams : public CBaseChainParams
16{
84ce18ca 17public:
20e01b1a
PW
18 CBaseMainParams()
19 {
3985a40d 20 nRPCPort = 8232;
84ce18ca
WL
21 }
22};
23static CBaseMainParams mainParams;
24
f2e03ffa
MF
25/**
26 * Testnet (v3)
27 */
20e01b1a
PW
28class CBaseTestNetParams : public CBaseMainParams
29{
84ce18ca 30public:
20e01b1a
PW
31 CBaseTestNetParams()
32 {
3985a40d 33 nRPCPort = 18232;
84ce18ca
WL
34 strDataDir = "testnet3";
35 }
36};
37static CBaseTestNetParams testNetParams;
38
f2e03ffa
MF
39/*
40 * Regression test
41 */
20e01b1a
PW
42class CBaseRegTestParams : public CBaseTestNetParams
43{
84ce18ca 44public:
20e01b1a
PW
45 CBaseRegTestParams()
46 {
84ce18ca
WL
47 strDataDir = "regtest";
48 }
49};
50static CBaseRegTestParams regTestParams;
51
f2e03ffa
MF
52/*
53 * Unit test
54 */
f0fd00cb
S
55class CBaseUnitTestParams : public CBaseMainParams
56{
57public:
58 CBaseUnitTestParams()
59 {
f0fd00cb
S
60 strDataDir = "unittest";
61 }
62};
63static CBaseUnitTestParams unitTestParams;
64
20e01b1a 65static CBaseChainParams* pCurrentBaseParams = 0;
84ce18ca 66
20e01b1a
PW
67const CBaseChainParams& BaseParams()
68{
84ce18ca
WL
69 assert(pCurrentBaseParams);
70 return *pCurrentBaseParams;
71}
72
20e01b1a
PW
73void SelectBaseParams(CBaseChainParams::Network network)
74{
84ce18ca 75 switch (network) {
20e01b1a
PW
76 case CBaseChainParams::MAIN:
77 pCurrentBaseParams = &mainParams;
78 break;
79 case CBaseChainParams::TESTNET:
80 pCurrentBaseParams = &testNetParams;
81 break;
82 case CBaseChainParams::REGTEST:
83 pCurrentBaseParams = &regTestParams;
84 break;
85 default:
86 assert(false && "Unimplemented network");
87 return;
84ce18ca
WL
88 }
89}
90
b796cb08 91CBaseChainParams::Network NetworkIdFromCommandLine()
20e01b1a 92{
84ce18ca
WL
93 bool fRegTest = GetBoolArg("-regtest", false);
94 bool fTestNet = GetBoolArg("-testnet", false);
95
3fdb9e8c 96 if (fTestNet && fRegTest)
b796cb08 97 return CBaseChainParams::MAX_NETWORK_TYPES;
3fdb9e8c 98 if (fRegTest)
b796cb08 99 return CBaseChainParams::REGTEST;
3fdb9e8c 100 if (fTestNet)
b796cb08 101 return CBaseChainParams::TESTNET;
102 return CBaseChainParams::MAIN;
3fdb9e8c 103}
104
ca3ce0fa 105bool SelectBaseParamsFromCommandLine()
3fdb9e8c 106{
b796cb08 107 CBaseChainParams::Network network = NetworkIdFromCommandLine();
3fdb9e8c 108 if (network == CBaseChainParams::MAX_NETWORK_TYPES)
84ce18ca 109 return false;
84ce18ca 110
3fdb9e8c 111 SelectBaseParams(network);
84ce18ca
WL
112 return true;
113}
96ff9d64 114
20e01b1a
PW
115bool AreBaseParamsConfigured()
116{
96ff9d64
WL
117 return pCurrentBaseParams != NULL;
118}
This page took 0.10948 seconds and 4 git commands to generate.