23 wallet->WalletLogPrintf(
"Releasing wallet");
45 std::vector<bilingual_str> warnings;
57 }
catch (
const std::runtime_error&) {
58 tfm::format(std::cerr,
"Error loading %s. Is wallet being used by another process?\n",
name);
66 for (
const auto &
warning : warnings) {
83 tfm::format(std::cout,
"Wallet info\n===========\n");
97 std::vector<std::string> details;
104 tfm::format(std::cerr,
"Wallet name must be provided when creating a new wallet.\n");
117 tfm::format(std::cerr,
"Wallet name cannot be empty\n");
130 }
else if (
command ==
"info") {
138 }
else if (
command ==
"dump") {
160 tfm::format(std::cout,
"The dumpfile may contain private keys. To ensure the safety of your Bitcoin, do not share the dumpfile.\n");
162 }
else if (
command ==
"createfromdump") {
#define Assert(val)
Identity function.
bool CheckCommandOptions(const std::string &command, std::vector< std::string > *errors=nullptr) const EXCLUSIVE_LOCKS_REQUIRED(!cs_args)
Check that any command-specific options the user specified are valid for the given command.
std::string GetArg(const std::string &strArg, const std::string &strDefault) const EXCLUSIVE_LOCKS_REQUIRED(!cs_args)
Return string argument or default value.
bool IsArgSet(const std::string &strArg) const EXCLUSIVE_LOCKS_REQUIRED(!cs_args)
Return true if the given argument has been manually set.
A CWallet maintains a set of transactions and balances, and provides the ability to create new transa...
DBErrors PopulateWalletFromDB(bilingual_str &error, std::vector< bilingual_str > &warnings)
bilingual_str ErrorString(const Result< T > &result)
std::string MakeUnorderedList(const std::vector< std::string > &items)
Create an unordered multi-line list of items.
void ReadDatabaseArgs(const ArgsManager &args, DatabaseOptions &options)
std::unique_ptr< WalletDatabase > MakeDatabase(const fs::path &path, const DatabaseOptions &options, DatabaseStatus &status, bilingual_str &error)
DBErrors
Overview of wallet database classes:
bool CreateFromDump(const ArgsManager &args, const std::string &name, const fs::path &wallet_path, bilingual_str &error)
bool IsBDBFile(const fs::path &path)
fs::path BDBDataFile(const fs::path &wallet_path)
bool DumpWallet(const ArgsManager &args, WalletDatabase &db, bilingual_str &error)
@ WALLET_FLAG_DESCRIPTORS
Indicate that this wallet supports DescriptorScriptPubKeyMan.
util::Result< fs::path > GetWalletPath(const std::string &name)
Determine the path that the wallet is stored in.
std::optional< DatabaseFormat > require_format
constexpr auto Ticks(Dur2 d)
Helper to count the seconds of a duration/time_point.