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