![]() |
Bitcoin ABC 0.32.12
P2P Digital Currency
|
#include <wallet/wallet.h>#include <chain.h>#include <chainparams.h>#include <common/args.h>#include <common/messages.h>#include <common/signmessage.h>#include <config.h>#include <consensus/amount.h>#include <consensus/consensus.h>#include <consensus/validation.h>#include <interfaces/wallet.h>#include <kernel/chain.h>#include <key.h>#include <key_io.h>#include <policy/policy.h>#include <primitives/transaction.h>#include <random.h>#include <script/descriptor.h>#include <script/script.h>#include <script/sighashtype.h>#include <script/sign.h>#include <script/signingprovider.h>#include <support/cleanse.h>#include <txmempool.h>#include <univalue.h>#include <util/bip32.h>#include <util/check.h>#include <util/fs.h>#include <util/fs_helpers.h>#include <util/moneystr.h>#include <util/string.h>#include <util/translation.h>#include <wallet/coincontrol.h>#include <wallet/context.h>#include <wallet/fees.h>#include <variant>Go to the source code of this file.
Functions | |
| bool | AddWalletSetting (interfaces::Chain &chain, const std::string &wallet_name) |
| Add wallet name to persistent configuration so it will be loaded on startup. More... | |
| bool | RemoveWalletSetting (interfaces::Chain &chain, const std::string &wallet_name) |
| Remove wallet name from persistent configuration so it will not be loaded on startup. More... | |
| static void | UpdateWalletSetting (interfaces::Chain &chain, const std::string &wallet_name, std::optional< bool > load_on_startup, std::vector< bilingual_str > &warnings) |
| bool | AddWallet (WalletContext &context, const std::shared_ptr< CWallet > &wallet) |
| bool | RemoveWallet (WalletContext &context, const std::shared_ptr< CWallet > &wallet, std::optional< bool > load_on_start, std::vector< bilingual_str > &warnings) |
| bool | RemoveWallet (WalletContext &context, const std::shared_ptr< CWallet > &wallet, std::optional< bool > load_on_start) |
| std::vector< std::shared_ptr< CWallet > > | GetWallets (WalletContext &context) |
| std::shared_ptr< CWallet > | GetWallet (WalletContext &context, const std::string &name) |
| std::unique_ptr< interfaces::Handler > | HandleLoadWallet (WalletContext &context, LoadWalletFn load_wallet) |
| void | NotifyWalletLoaded (WalletContext &context, const std::shared_ptr< CWallet > &wallet) |
| static std::set< std::string > g_loading_wallet_set | GUARDED_BY (g_loading_wallet_mutex) |
| static std::set< std::string > g_unloading_wallet_set | GUARDED_BY (g_wallet_release_mutex) |
| static void | ReleaseWallet (CWallet *wallet) |
| void | UnloadWallet (std::shared_ptr< CWallet > &&wallet) |
| Explicitly unload and delete the wallet. More... | |
| std::shared_ptr< CWallet > | LoadWallet (WalletContext &context, const std::string &name, std::optional< bool > load_on_start, const DatabaseOptions &options, DatabaseStatus &status, bilingual_str &error, std::vector< bilingual_str > &warnings) |
| std::shared_ptr< CWallet > | CreateWallet (WalletContext &context, const std::string &name, std::optional< bool > load_on_start, DatabaseOptions &options, DatabaseStatus &status, bilingual_str &error, std::vector< bilingual_str > &warnings) |
| std::shared_ptr< CWallet > | RestoreWallet (WalletContext &context, const fs::path &backup_file, const std::string &wallet_name, std::optional< bool > load_on_start, DatabaseStatus &status, bilingual_str &error, std::vector< bilingual_str > &warnings) |
| void | MaybeResendWalletTxs (WalletContext &context) |
| Called periodically by the schedule thread. More... | |
| std::unique_ptr< WalletDatabase > | MakeWalletDatabase (const std::string &name, const DatabaseOptions &options, DatabaseStatus &status, bilingual_str &error_string) |
Variables | |
| const std::map< uint64_t, std::string > | WALLET_FLAG_CAVEATS |
| static GlobalMutex | g_loading_wallet_mutex |
| static GlobalMutex | g_wallet_release_mutex |
| static std::condition_variable | g_wallet_release_cv |
| bool AddWallet | ( | WalletContext & | context, |
| const std::shared_ptr< CWallet > & | wallet | ||
| ) |
Definition at line 110 of file wallet.cpp.
| bool AddWalletSetting | ( | interfaces::Chain & | chain, |
| const std::string & | wallet_name | ||
| ) |
Add wallet name to persistent configuration so it will be loaded on startup.
Definition at line 58 of file wallet.cpp.
| std::shared_ptr< CWallet > CreateWallet | ( | WalletContext & | context, |
| const std::string & | name, | ||
| std::optional< bool > | load_on_start, | ||
| DatabaseOptions & | options, | ||
| DatabaseStatus & | status, | ||
| bilingual_str & | error, | ||
| std::vector< bilingual_str > & | warnings | ||
| ) |
Definition at line 300 of file wallet.cpp.
| std::shared_ptr< CWallet > GetWallet | ( | WalletContext & | context, |
| const std::string & | name | ||
| ) |
| std::vector< std::shared_ptr< CWallet > > GetWallets | ( | WalletContext & | context | ) |
|
static |
|
static |
| std::unique_ptr< interfaces::Handler > HandleLoadWallet | ( | WalletContext & | context, |
| LoadWalletFn | load_wallet | ||
| ) |
Definition at line 173 of file wallet.cpp.
| std::shared_ptr< CWallet > LoadWallet | ( | WalletContext & | context, |
| const std::string & | name, | ||
| std::optional< bool > | load_on_start, | ||
| const DatabaseOptions & | options, | ||
| DatabaseStatus & | status, | ||
| bilingual_str & | error, | ||
| std::vector< bilingual_str > & | warnings | ||
| ) |
Definition at line 282 of file wallet.cpp.
| std::unique_ptr< WalletDatabase > MakeWalletDatabase | ( | const std::string & | name, |
| const DatabaseOptions & | options, | ||
| DatabaseStatus & | status, | ||
| bilingual_str & | error_string | ||
| ) |
Definition at line 2743 of file wallet.cpp.
| void MaybeResendWalletTxs | ( | WalletContext & | context | ) |
Called periodically by the schedule thread.
Prompts individual wallets to resend their transactions. Actual rebroadcast schedule is managed by the wallets themselves.
Definition at line 2069 of file wallet.cpp.
| void NotifyWalletLoaded | ( | WalletContext & | context, |
| const std::shared_ptr< CWallet > & | wallet | ||
| ) |
Definition at line 183 of file wallet.cpp.
|
static |
| bool RemoveWallet | ( | WalletContext & | context, |
| const std::shared_ptr< CWallet > & | wallet, | ||
| std::optional< bool > | load_on_start | ||
| ) |
| bool RemoveWallet | ( | WalletContext & | context, |
| const std::shared_ptr< CWallet > & | wallet, | ||
| std::optional< bool > | load_on_start, | ||
| std::vector< bilingual_str > & | warnings | ||
| ) |
Definition at line 124 of file wallet.cpp.
| bool RemoveWalletSetting | ( | interfaces::Chain & | chain, |
| const std::string & | wallet_name | ||
| ) |
Remove wallet name from persistent configuration so it will not be loaded on startup.
Definition at line 73 of file wallet.cpp.
| std::shared_ptr< CWallet > RestoreWallet | ( | WalletContext & | context, |
| const fs::path & | backup_file, | ||
| const std::string & | wallet_name, | ||
| std::optional< bool > | load_on_start, | ||
| DatabaseStatus & | status, | ||
| bilingual_str & | error, | ||
| std::vector< bilingual_str > & | warnings | ||
| ) |
Definition at line 402 of file wallet.cpp.
| void UnloadWallet | ( | std::shared_ptr< CWallet > && | wallet | ) |
Explicitly unload and delete the wallet.
Blocks the current thread after signaling the unload intent so that all wallet clients release the wallet. Note that, when blocking is not required, the wallet is implicitly unloaded by the shared pointer deleter.
Definition at line 216 of file wallet.cpp.
|
static |
Definition at line 91 of file wallet.cpp.
|
static |
Definition at line 191 of file wallet.cpp.
|
static |
Definition at line 193 of file wallet.cpp.
|
static |
Definition at line 192 of file wallet.cpp.
| const std::map<uint64_t, std::string> WALLET_FLAG_CAVEATS |
Definition at line 51 of file wallet.cpp.