[wallet] Clarify wallet initialization / destruction interface #10767
Open
Commits
Show all changes
12 commits
Select commit
Hold shift + click to select a range
1e688b7
[wallet] Add walletinit.cpp
jnewbery f548c07
[wallet] Move WalletParameterInteraction() to walletinit.cpp
jnewbery 2c3bc24
[wallet] Move VerifyWallets() to walletinit.cpp
jnewbery d557f80
[wallet] Add RegisterWalletRPC to walletinit.cpp
jnewbery 54b1a43
[wallet] Allow individual wallets to be verified
jnewbery 6c10c46
[wallet] Add AttachWallets() to walletinit.cpp
jnewbery 05e5f5f
[wallet] Add WalletCompleteStartup() to walletinit.cpp
jnewbery 3a86d2f
[wallet] Move FlushWallets and DeleteWallets to walletinit.cpp
jnewbery e8f4815
[wallet] Add CDBEnv::Shutdown() function
jnewbery 9bfdaf9
[wallet] Call CDBEnv.shutdown() from FlushWallets()
jnewbery 1dc6393
[wallet] Remove early call to FlushWallets()
jnewbery 3696ed0
[wallet] Rename wallet shutdown functions
jnewbery
Jump to file or symbol
Failed to load files and symbols.
33
src/init.cpp
| @@ -43,7 +43,7 @@ | ||
| #include "utilmoneystr.h" | ||
| #include "validationinterface.h" | ||
| #ifdef ENABLE_WALLET | ||
| -#include "wallet/wallet.h" | ||
| +#include "wallet/walletinit.h" | ||
| #endif | ||
| #include "warnings.h" | ||
| #include <stdint.h> | ||
| @@ -187,11 +187,6 @@ void Shutdown() | ||
| StopREST(); | ||
| StopRPC(); | ||
| StopHTTPServer(); | ||
| -#ifdef ENABLE_WALLET | ||
jnewbery
Member
|
||
| - for (CWalletRef pwallet : vpwallets) { | ||
| - pwallet->Flush(false); | ||
| - } | ||
| -#endif | ||
| MapPort(false); | ||
| UnregisterValidationInterface(peerLogic.get()); | ||
| peerLogic.reset(); | ||
| @@ -230,9 +225,7 @@ void Shutdown() | ||
| pblocktree = NULL; | ||
| } | ||
| #ifdef ENABLE_WALLET | ||
jnewbery
Member
|
||
| - for (CWalletRef pwallet : vpwallets) { | ||
| - pwallet->Flush(true); | ||
| - } | ||
| + ShutdownWallets(); | ||
| #endif | ||
| #if ENABLE_ZMQ | ||
| @@ -252,10 +245,7 @@ void Shutdown() | ||
| #endif | ||
| UnregisterAllValidationInterfaces(); | ||
| #ifdef ENABLE_WALLET | ||
| - for (CWalletRef pwallet : vpwallets) { | ||
| - delete pwallet; | ||
| - } | ||
| - vpwallets.clear(); | ||
| + DetachWallets(); | ||
| #endif | ||
| globalVerifyHandle.reset(); | ||
| ECC_Stop(); | ||
| @@ -404,7 +394,7 @@ std::string HelpMessage(HelpMessageMode mode) | ||
| strUsage += HelpMessageOpt("-maxuploadtarget=<n>", strprintf(_("Tries to keep outbound traffic under the given target (in MiB per 24h), 0 = no limit (default: %d)"), DEFAULT_MAX_UPLOAD_TARGET)); | ||
| #ifdef ENABLE_WALLET | ||
| - strUsage += CWallet::GetWalletHelpString(showDebug); | ||
| + strUsage += GetWalletHelpString(showDebug); | ||
| #endif | ||
| #if ENABLE_ZMQ | ||
| @@ -1007,7 +997,7 @@ bool AppInitParameterInteraction() | ||
| RegisterAllCoreRPCCommands(tableRPC); | ||
| #ifdef ENABLE_WALLET | ||
| - RegisterWalletRPCCommands(tableRPC); | ||
| + RegisterWalletRPC(tableRPC); | ||
| #endif | ||
| nConnectTimeout = GetArg("-timeout", DEFAULT_CONNECT_TIMEOUT); | ||
| @@ -1052,8 +1042,7 @@ bool AppInitParameterInteraction() | ||
| nBytesPerSigOp = GetArg("-bytespersigop", nBytesPerSigOp); | ||
| #ifdef ENABLE_WALLET | ||
| - if (!CWallet::ParameterInteraction()) | ||
| - return false; | ||
| + if (!WalletParameterInteraction()) return false; | ||
| #endif | ||
| fIsBareMultisigStd = GetBoolArg("-permitbaremultisig", DEFAULT_PERMIT_BAREMULTISIG); | ||
| @@ -1219,8 +1208,7 @@ bool AppInitMain(boost::thread_group& threadGroup, CScheduler& scheduler) | ||
| // ********************************************************* Step 5: verify wallet database integrity | ||
| #ifdef ENABLE_WALLET | ||
| - if (!CWallet::Verify()) | ||
| - return false; | ||
| + if (!VerifyWallets()) return false; | ||
| #endif | ||
| // ********************************************************* Step 6: network initialization | ||
| // Note that we absolutely cannot open any actual connections | ||
| @@ -1507,8 +1495,7 @@ bool AppInitMain(boost::thread_group& threadGroup, CScheduler& scheduler) | ||
| // ********************************************************* Step 8: load wallet | ||
| #ifdef ENABLE_WALLET | ||
| - if (!CWallet::InitLoadWallet()) | ||
| - return false; | ||
| + if (!AttachWallets()) return false; | ||
| #else | ||
| LogPrintf("No wallet support compiled in!\n"); | ||
| #endif | ||
| @@ -1638,9 +1625,7 @@ bool AppInitMain(boost::thread_group& threadGroup, CScheduler& scheduler) | ||
| uiInterface.InitMessage(_("Done loading")); | ||
| #ifdef ENABLE_WALLET | ||
| - for (CWalletRef pwallet : vpwallets) { | ||
| - pwallet->postInitProcess(scheduler); | ||
| - } | ||
| + WalletCompleteStartup(scheduler); | ||
| #endif | ||
| return !fRequestShutdown; | ||
Oops, something went wrong.
Nothing replacing this code?