aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorJohn Newbery <john@johnnewbery.com>2018-03-27 15:35:54 -0400
committerJohn Newbery <john@johnnewbery.com>2018-03-27 15:35:54 -0400
commitc7ec5243892c38f9f77781b0e24a237942e7c776 (patch)
tree6f93e2bee23ecac7fc1c03d63713e1575304a02e /src
parent49baa4a462193d8d82b51d464740aa5f1114edf1 (diff)
downloadbitcoin-c7ec5243892c38f9f77781b0e24a237942e7c776.tar.xz
[wallet] Add dummy wallet init class
Diffstat (limited to 'src')
-rw-r--r--src/bitcoind.cpp4
-rw-r--r--src/init.cpp30
-rw-r--r--src/qt/bitcoin.cpp4
-rw-r--r--src/walletinitinterface.h14
4 files changed, 29 insertions, 23 deletions
diff --git a/src/bitcoind.cpp b/src/bitcoind.cpp
index a849683eb0..5eba1cbeb9 100644
--- a/src/bitcoind.cpp
+++ b/src/bitcoind.cpp
@@ -20,8 +20,8 @@
#include <utilstrencodings.h>
#if ENABLE_WALLET
#include <wallet/init.h>
-#include <walletinitinterface.h>
#endif
+#include <walletinitinterface.h>
#include <boost/thread.hpp>
@@ -65,6 +65,8 @@ bool AppInit(int argc, char* argv[])
#if ENABLE_WALLET
g_wallet_init_interface.reset(new WalletInit);
+#else
+ g_wallet_init_interface.reset(new DummyWalletInit);
#endif
//
diff --git a/src/init.cpp b/src/init.cpp
index cee1eeaf17..0d83cd9035 100644
--- a/src/init.cpp
+++ b/src/init.cpp
@@ -188,9 +188,7 @@ void Shutdown()
StopREST();
StopRPC();
StopHTTPServer();
- if (g_wallet_init_interface) {
- g_wallet_init_interface->Flush();
- }
+ g_wallet_init_interface->Flush();
StopMapPort();
// Because these depend on each-other, we make sure that neither can be
@@ -248,9 +246,7 @@ void Shutdown()
pcoinsdbview.reset();
pblocktree.reset();
}
- if (g_wallet_init_interface) {
- g_wallet_init_interface->Stop();
- }
+ g_wallet_init_interface->Stop();
#if ENABLE_ZMQ
if (pzmqNotificationInterface) {
@@ -270,9 +266,7 @@ void Shutdown()
UnregisterAllValidationInterfaces();
GetMainSignals().UnregisterBackgroundSignalScheduler();
GetMainSignals().UnregisterWithMempoolSignals(mempool);
- if (g_wallet_init_interface) {
- g_wallet_init_interface->Close();
- }
+ g_wallet_init_interface->Close();
g_wallet_init_interface.reset();
globalVerifyHandle.reset();
ECC_Stop();
@@ -415,9 +409,7 @@ std::string HelpMessage(HelpMessageMode mode)
strUsage += HelpMessageOpt("-whitelist=<IP address or network>", _("Whitelist peers connecting from the given IP address (e.g. 1.2.3.4) or CIDR notated network (e.g. 1.2.3.0/24). Can be specified multiple times.") +
" " + _("Whitelisted peers cannot be DoS banned and their transactions are always relayed, even if they are already in the mempool, useful e.g. for a gateway"));
- if (g_wallet_init_interface) {
- strUsage += g_wallet_init_interface->GetHelpString(showDebug);
- }
+ strUsage += g_wallet_init_interface->GetHelpString(showDebug);
#if ENABLE_ZMQ
strUsage += HelpMessageGroup(_("ZeroMQ notification options:"));
@@ -1091,7 +1083,7 @@ bool AppInitParameterInteraction()
return InitError(strprintf("acceptnonstdtxn is not currently supported for %s chain", chainparams.NetworkIDString()));
nBytesPerSigOp = gArgs.GetArg("-bytespersigop", nBytesPerSigOp);
- if (g_wallet_init_interface && !g_wallet_init_interface->ParameterInteraction()) return false;
+ if (!g_wallet_init_interface->ParameterInteraction()) return false;
fIsBareMultisigStd = gArgs.GetBoolArg("-permitbaremultisig", DEFAULT_PERMIT_BAREMULTISIG);
fAcceptDatacarrier = gArgs.GetBoolArg("-datacarrier", DEFAULT_ACCEPT_DATACARRIER);
@@ -1254,9 +1246,7 @@ bool AppInitMain()
* available in the GUI RPC console even if external calls are disabled.
*/
RegisterAllCoreRPCCommands(tableRPC);
- if (g_wallet_init_interface) {
- g_wallet_init_interface->RegisterRPC(tableRPC);
- }
+ g_wallet_init_interface->RegisterRPC(tableRPC);
/* Start the RPC server already. It will be started in "warmup" mode
* and not really process calls already (but it will signify connections
@@ -1273,7 +1263,7 @@ bool AppInitMain()
int64_t nStart;
// ********************************************************* Step 5: verify wallet database integrity
- if (g_wallet_init_interface && !g_wallet_init_interface->Verify()) return false;
+ if (!g_wallet_init_interface->Verify()) return false;
// ********************************************************* Step 6: network initialization
// Note that we absolutely cannot open any actual connections
@@ -1592,7 +1582,7 @@ bool AppInitMain()
fFeeEstimatesInitialized = true;
// ********************************************************* Step 8: load wallet
- if (g_wallet_init_interface && !g_wallet_init_interface->Open()) return false;
+ if (!g_wallet_init_interface->Open()) return false;
// ********************************************************* Step 9: data directory maintenance
@@ -1738,9 +1728,7 @@ bool AppInitMain()
SetRPCWarmupFinished();
uiInterface.InitMessage(_("Done loading"));
- if (g_wallet_init_interface) {
- g_wallet_init_interface->Start(scheduler);
- }
+ g_wallet_init_interface->Start(scheduler);
return true;
}
diff --git a/src/qt/bitcoin.cpp b/src/qt/bitcoin.cpp
index e6a2af5f6c..cb2e6aac95 100644
--- a/src/qt/bitcoin.cpp
+++ b/src/qt/bitcoin.cpp
@@ -35,8 +35,8 @@
#ifdef ENABLE_WALLET
#include <wallet/init.h>
#include <wallet/wallet.h>
-#include <walletinitinterface.h>
#endif
+#include <walletinitinterface.h>
#include <stdint.h>
@@ -674,6 +674,8 @@ int main(int argc, char *argv[])
// Hook up the wallet init interface
g_wallet_init_interface.reset(new WalletInit);
+#else
+ g_wallet_init_interface.reset(new DummyWalletInit);
#endif
/// 9. Main GUI initialization
diff --git a/src/walletinitinterface.h b/src/walletinitinterface.h
index 95c51a4f49..47e4e2cce1 100644
--- a/src/walletinitinterface.h
+++ b/src/walletinitinterface.h
@@ -34,4 +34,18 @@ public:
virtual ~WalletInitInterface() {}
};
+class DummyWalletInit : public WalletInitInterface {
+public:
+
+ std::string GetHelpString(bool showDebug) override {return std::string{};}
+ bool ParameterInteraction() override {return true;}
+ void RegisterRPC(CRPCTable &) override {}
+ bool Verify() override {return true;}
+ bool Open() override {return true;}
+ void Start(CScheduler& scheduler) override {}
+ void Flush() override {}
+ void Stop() override {}
+ void Close() override {}
+};
+
#endif // WALLETINITINTERFACE_H