Skip to content

Commit fdc3a36

Browse files
committed
fix: make only one folder for redb and change name
Since bdk_redb can handle multiple wallets in a single db file, we donot need to make separate folders for each wallet. Also changed default wallet name from wallet1 to wallet in case of redb for compatibility with sqlite.
1 parent 91ad7ff commit fdc3a36

File tree

2 files changed

+13
-12
lines changed

2 files changed

+13
-12
lines changed

Cargo.lock

Lines changed: 5 additions & 6 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/handlers.rs

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -770,13 +770,14 @@ pub(crate) async fn handle_command(cli_opts: CliOpts) -> Result<String, Error> {
770770
}
771771
#[cfg(feature = "redb")]
772772
DatabaseType::Redb => {
773+
let database_path = prepare_wallet_db_dir(&None, &home_dir)?;
773774
let db = Arc::new(
774775
bdk_redb::redb::Database::create(database_path.join("wallet.redb"))
775776
.map_err(bdk_redb::error::StoreError::from)?,
776777
);
777778
let store = RedbStore::new(
778779
db,
779-
wallet_name.as_deref().unwrap_or("wallet1").to_string(),
780+
wallet_name.as_deref().unwrap_or("wallet").to_string(),
780781
)?;
781782
log::debug!("Redb database opened successfully");
782783
Persister::RedbStore(store)
@@ -816,24 +817,25 @@ pub(crate) async fn handle_command(cli_opts: CliOpts) -> Result<String, Error> {
816817
let result = {
817818
let home_dir = prepare_home_dir(cli_opts.datadir)?;
818819
let wallet_name = &wallet_opts.wallet;
819-
let database_path = prepare_wallet_db_dir(wallet_name, &home_dir)?;
820820
let mut persister: Persister = match &wallet_opts.database_type {
821821
#[cfg(feature = "sqlite")]
822822
DatabaseType::Sqlite => {
823+
let database_path = prepare_wallet_db_dir(wallet_name, &home_dir)?;
823824
let db_file = database_path.join("wallet.sqlite");
824825
let connection = Connection::open(db_file)?;
825826
log::debug!("Sqlite database opened successfully");
826827
Persister::Connection(connection)
827828
}
828829
#[cfg(feature = "redb")]
829830
DatabaseType::Redb => {
831+
let database_path = prepare_wallet_db_dir(&None, &home_dir)?;
830832
let db = Arc::new(
831833
bdk_redb::redb::Database::create(database_path.join("wallet.redb"))
832834
.map_err(bdk_redb::error::StoreError::from)?,
833835
);
834836
let store = RedbStore::new(
835837
db,
836-
wallet_name.as_deref().unwrap_or("wallet1").to_string(),
838+
wallet_name.as_deref().unwrap_or("wallet").to_string(),
837839
)?;
838840
log::debug!("Redb database opened successfully");
839841
Persister::RedbStore(store)
@@ -879,25 +881,25 @@ pub(crate) async fn handle_command(cli_opts: CliOpts) -> Result<String, Error> {
879881

880882
let home_dir = prepare_home_dir(cli_opts.datadir.clone())?;
881883

882-
let database_path = prepare_wallet_db_dir(wallet_name, &home_dir)?;
883-
884884
let mut persister: Persister = match &wallet_opts.database_type {
885885
#[cfg(feature = "sqlite")]
886886
DatabaseType::Sqlite => {
887+
let database_path = prepare_wallet_db_dir(wallet_name, &home_dir)?;
887888
let db_file = database_path.join("wallet.sqlite");
888889
let connection = Connection::open(db_file)?;
889890
log::debug!("Sqlite database opened successfully");
890891
Persister::Connection(connection)
891892
}
892893
#[cfg(feature = "redb")]
893894
DatabaseType::Redb => {
895+
let database_path = prepare_wallet_db_dir(&None, &home_dir)?;
894896
let db = Arc::new(
895897
bdk_redb::redb::Database::create(database_path.join("wallet.redb"))
896898
.map_err(bdk_redb::error::StoreError::from)?,
897899
);
898900
let store = RedbStore::new(
899901
db,
900-
wallet_name.as_deref().unwrap_or("wallet1").to_string(),
902+
wallet_name.as_deref().unwrap_or("wallet").to_string(),
901903
)?;
902904
log::debug!("Redb database opened successfully");
903905
Persister::RedbStore(store)

0 commit comments

Comments
 (0)