aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/wallet/db.cpp5
-rw-r--r--src/wallet/db.h3
-rw-r--r--src/wallet/interfaces.cpp2
-rw-r--r--src/wallet/rpcwallet.cpp2
-rw-r--r--src/wallet/walletutil.h3
5 files changed, 6 insertions, 9 deletions
diff --git a/src/wallet/db.cpp b/src/wallet/db.cpp
index 85aeaeb3ab..e8b8b8abc1 100644
--- a/src/wallet/db.cpp
+++ b/src/wallet/db.cpp
@@ -10,8 +10,6 @@
#include <string>
-fs::path GetWalletDir();
-
#ifdef USE_BDB
bool ExistsBerkeleyDatabase(const fs::path& path);
#else
@@ -23,9 +21,8 @@ bool ExistsSQLiteDatabase(const fs::path& path);
# define ExistsSQLiteDatabase(path) (false)
#endif
-std::vector<fs::path> ListWalletDir()
+std::vector<fs::path> ListDatabases(const fs::path& wallet_dir)
{
- const fs::path wallet_dir = GetWalletDir();
const size_t offset = wallet_dir.string().size() + 1;
std::vector<fs::path> paths;
boost::system::error_code ec;
diff --git a/src/wallet/db.h b/src/wallet/db.h
index cc13f887b0..3d18e5cec0 100644
--- a/src/wallet/db.h
+++ b/src/wallet/db.h
@@ -223,6 +223,9 @@ enum class DatabaseStatus {
FAILED_ENCRYPT,
};
+/** Recursively list database paths in directory. */
+std::vector<fs::path> ListDatabases(const fs::path& path);
+
std::unique_ptr<WalletDatabase> MakeDatabase(const fs::path& path, const DatabaseOptions& options, DatabaseStatus& status, bilingual_str& error);
bool IsBDBFile(const fs::path& path);
diff --git a/src/wallet/interfaces.cpp b/src/wallet/interfaces.cpp
index 3fbba9ab92..46ef6eee3e 100644
--- a/src/wallet/interfaces.cpp
+++ b/src/wallet/interfaces.cpp
@@ -551,7 +551,7 @@ public:
std::vector<std::string> listWalletDir() override
{
std::vector<std::string> paths;
- for (auto& path : ListWalletDir()) {
+ for (auto& path : ListDatabases(GetWalletDir())) {
paths.push_back(path.string());
}
return paths;
diff --git a/src/wallet/rpcwallet.cpp b/src/wallet/rpcwallet.cpp
index 7ea6a214b2..3802bb452a 100644
--- a/src/wallet/rpcwallet.cpp
+++ b/src/wallet/rpcwallet.cpp
@@ -2537,7 +2537,7 @@ static RPCHelpMan listwalletdir()
[&](const RPCHelpMan& self, const JSONRPCRequest& request) -> UniValue
{
UniValue wallets(UniValue::VARR);
- for (const auto& path : ListWalletDir()) {
+ for (const auto& path : ListDatabases(GetWalletDir())) {
UniValue wallet(UniValue::VOBJ);
wallet.pushKV("name", path.string());
wallets.push_back(wallet);
diff --git a/src/wallet/walletutil.h b/src/wallet/walletutil.h
index 27521abd81..d4143ceff4 100644
--- a/src/wallet/walletutil.h
+++ b/src/wallet/walletutil.h
@@ -65,9 +65,6 @@ enum WalletFlags : uint64_t {
//! Get the path of the wallet directory.
fs::path GetWalletDir();
-//! Get wallets in wallet directory.
-std::vector<fs::path> ListWalletDir();
-
/** Descriptor with some wallet metadata */
class WalletDescriptor
{