diff options
author | John Newbery <john@johnnewbery.com> | 2018-03-27 15:35:54 -0400 |
---|---|---|
committer | John Newbery <john@johnnewbery.com> | 2018-03-27 15:35:54 -0400 |
commit | c7ec5243892c38f9f77781b0e24a237942e7c776 (patch) | |
tree | 6f93e2bee23ecac7fc1c03d63713e1575304a02e /src | |
parent | 49baa4a462193d8d82b51d464740aa5f1114edf1 (diff) |
[wallet] Add dummy wallet init class
Diffstat (limited to 'src')
-rw-r--r-- | src/bitcoind.cpp | 4 | ||||
-rw-r--r-- | src/init.cpp | 30 | ||||
-rw-r--r-- | src/qt/bitcoin.cpp | 4 | ||||
-rw-r--r-- | src/walletinitinterface.h | 14 |
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 |