1 // Copyright (c) 2009-2010 Satoshi Nakamoto
2 // Copyright (c) 2009-2020 The Bitcoin Core developers
3 // Distributed under the MIT software license, see the accompanying
4 // file COPYING or http://www.opensource.org/licenses/mit-license.php.
5 
6 #ifndef BITCOIN_WALLET_LOAD_H
7 #define BITCOIN_WALLET_LOAD_H
8 
9 #include <string>
10 #include <vector>
11 
12 class ArgsManager;
13 class CScheduler;
14 
15 namespace interfaces {
16 class Chain;
17 } // namespace interfaces
18 
19 //! Responsible for reading and validating the -wallet arguments and verifying the wallet database.
20 bool VerifyWallets(interfaces::Chain& chain);
21 
22 //! Load wallet databases.
23 bool LoadWallets(interfaces::Chain& chain);
24 
25 //! Complete startup of wallets.
26 void StartWallets(CScheduler& scheduler, const ArgsManager& args);
27 
28 //! Flush all wallets in preparation for shutdown.
29 void FlushWallets();
30 
31 //! Stop all wallets. Wallets will be flushed first.
32 void StopWallets();
33 
34 //! Close all wallets.
35 void UnloadWallets();
36 
37 #endif // BITCOIN_WALLET_LOAD_H
38