Skip to content

Commit 45c08f8

Browse files
committed
Add Create*WalletDatabase functions
These functions doing the same things as WalletDatabase::Create, CreateMock, and CreateDummy
1 parent 39bd9dd commit 45c08f8

File tree

2 files changed

+28
-0
lines changed

2 files changed

+28
-0
lines changed

src/wallet/walletdb.cpp

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1023,3 +1023,22 @@ bool IsWalletLoaded(const fs::path& wallet_path)
10231023
{
10241024
return IsBDBWalletLoaded(wallet_path);
10251025
}
1026+
1027+
/** Return object for accessing database at specified path. */
1028+
std::unique_ptr<BerkeleyDatabase> CreateWalletDatabase(const fs::path& path)
1029+
{
1030+
std::string filename;
1031+
return MakeUnique<BerkeleyDatabase>(GetWalletEnv(path, filename), std::move(filename));
1032+
}
1033+
1034+
/** Return object for accessing dummy database with no read/write capabilities. */
1035+
std::unique_ptr<BerkeleyDatabase> CreateDummyWalletDatabase()
1036+
{
1037+
return MakeUnique<BerkeleyDatabase>();
1038+
}
1039+
1040+
/** Return object for accessing temporary in-memory database. */
1041+
std::unique_ptr<BerkeleyDatabase> CreateMockWalletDatabase()
1042+
{
1043+
return MakeUnique<BerkeleyDatabase>(std::make_shared<BerkeleyEnvironment>(), "");
1044+
}

src/wallet/walletdb.h

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -293,4 +293,13 @@ bool ReadKeyValue(CWallet* pwallet, CDataStream& ssKey, CDataStream& ssValue, st
293293
/** Return whether a wallet database is currently loaded. */
294294
bool IsWalletLoaded(const fs::path& wallet_path);
295295

296+
/** Return object for accessing database at specified path. */
297+
std::unique_ptr<BerkeleyDatabase> CreateWalletDatabase(const fs::path& path);
298+
299+
/** Return object for accessing dummy database with no read/write capabilities. */
300+
std::unique_ptr<BerkeleyDatabase> CreateDummyWalletDatabase();
301+
302+
/** Return object for accessing temporary in-memory database. */
303+
std::unique_ptr<BerkeleyDatabase> CreateMockWalletDatabase();
304+
296305
#endif // BITCOIN_WALLET_WALLETDB_H

0 commit comments

Comments
 (0)