mirror of
https://github.com/bitcoin/bitcoin.git
synced 2026-02-02 19:51:13 +00:00
This maintains a persistent list of wallets stored in settings that will automatically be loaded on startup. Being able to load a wallet automatically on startup will be more useful in the GUI when the option to create wallets is added in #15006, but it's reasonable to expose this feature by RPC as well.
44 lines
1.4 KiB
C++
44 lines
1.4 KiB
C++
// Copyright (c) 2009-2010 Satoshi Nakamoto
|
|
// Copyright (c) 2009-2019 The Bitcoin Core developers
|
|
// Distributed under the MIT software license, see the accompanying
|
|
// file COPYING or http://www.opensource.org/licenses/mit-license.php.
|
|
|
|
#ifndef BITCOIN_WALLET_LOAD_H
|
|
#define BITCOIN_WALLET_LOAD_H
|
|
|
|
#include <string>
|
|
#include <vector>
|
|
|
|
class ArgsManager;
|
|
class CScheduler;
|
|
|
|
namespace interfaces {
|
|
class Chain;
|
|
} // namespace interfaces
|
|
|
|
//! Responsible for reading and validating the -wallet arguments and verifying the wallet database.
|
|
bool VerifyWallets(interfaces::Chain& chain, const std::vector<std::string>& wallet_files);
|
|
|
|
//! Load wallet databases.
|
|
bool LoadWallets(interfaces::Chain& chain, const std::vector<std::string>& wallet_files);
|
|
|
|
//! Complete startup of wallets.
|
|
void StartWallets(CScheduler& scheduler, const ArgsManager& args);
|
|
|
|
//! Flush all wallets in preparation for shutdown.
|
|
void FlushWallets();
|
|
|
|
//! Stop all wallets. Wallets will be flushed first.
|
|
void StopWallets();
|
|
|
|
//! Close all wallets.
|
|
void UnloadWallets();
|
|
|
|
//! Add wallet name to persistent configuration so it will be loaded on startup.
|
|
bool AddWalletSetting(interfaces::Chain& chain, const std::string& wallet_name);
|
|
|
|
//! Remove wallet name from persistent configuration so it will not be loaded on startup.
|
|
bool RemoveWalletSetting(interfaces::Chain& chain, const std::string& wallet_name);
|
|
|
|
#endif // BITCOIN_WALLET_LOAD_H
|