Skip to content

Commit d1fb628

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 d1fb628

File tree

2 files changed

+13
-15
lines changed

2 files changed

+13
-15
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 & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -771,12 +771,12 @@ pub(crate) async fn handle_command(cli_opts: CliOpts) -> Result<String, Error> {
771771
#[cfg(feature = "redb")]
772772
DatabaseType::Redb => {
773773
let db = Arc::new(
774-
bdk_redb::redb::Database::create(database_path.join("wallet.redb"))
774+
bdk_redb::redb::Database::create(home_dir.join("wallet.redb"))
775775
.map_err(bdk_redb::error::StoreError::from)?,
776776
);
777777
let store = RedbStore::new(
778778
db,
779-
wallet_name.as_deref().unwrap_or("wallet1").to_string(),
779+
wallet_name.as_deref().unwrap_or("wallet").to_string(),
780780
)?;
781781
log::debug!("Redb database opened successfully");
782782
Persister::RedbStore(store)
@@ -816,10 +816,10 @@ pub(crate) async fn handle_command(cli_opts: CliOpts) -> Result<String, Error> {
816816
let result = {
817817
let home_dir = prepare_home_dir(cli_opts.datadir)?;
818818
let wallet_name = &wallet_opts.wallet;
819-
let database_path = prepare_wallet_db_dir(wallet_name, &home_dir)?;
820819
let mut persister: Persister = match &wallet_opts.database_type {
821820
#[cfg(feature = "sqlite")]
822821
DatabaseType::Sqlite => {
822+
let database_path = prepare_wallet_db_dir(wallet_name, &home_dir)?;
823823
let db_file = database_path.join("wallet.sqlite");
824824
let connection = Connection::open(db_file)?;
825825
log::debug!("Sqlite database opened successfully");
@@ -828,12 +828,12 @@ pub(crate) async fn handle_command(cli_opts: CliOpts) -> Result<String, Error> {
828828
#[cfg(feature = "redb")]
829829
DatabaseType::Redb => {
830830
let db = Arc::new(
831-
bdk_redb::redb::Database::create(database_path.join("wallet.redb"))
831+
bdk_redb::redb::Database::create(home_dir.join("wallet.redb"))
832832
.map_err(bdk_redb::error::StoreError::from)?,
833833
);
834834
let store = RedbStore::new(
835835
db,
836-
wallet_name.as_deref().unwrap_or("wallet1").to_string(),
836+
wallet_name.as_deref().unwrap_or("wallet").to_string(),
837837
)?;
838838
log::debug!("Redb database opened successfully");
839839
Persister::RedbStore(store)
@@ -879,11 +879,10 @@ pub(crate) async fn handle_command(cli_opts: CliOpts) -> Result<String, Error> {
879879

880880
let home_dir = prepare_home_dir(cli_opts.datadir.clone())?;
881881

882-
let database_path = prepare_wallet_db_dir(wallet_name, &home_dir)?;
883-
884882
let mut persister: Persister = match &wallet_opts.database_type {
885883
#[cfg(feature = "sqlite")]
886884
DatabaseType::Sqlite => {
885+
let database_path = prepare_wallet_db_dir(wallet_name, &home_dir)?;
887886
let db_file = database_path.join("wallet.sqlite");
888887
let connection = Connection::open(db_file)?;
889888
log::debug!("Sqlite database opened successfully");
@@ -892,12 +891,12 @@ pub(crate) async fn handle_command(cli_opts: CliOpts) -> Result<String, Error> {
892891
#[cfg(feature = "redb")]
893892
DatabaseType::Redb => {
894893
let db = Arc::new(
895-
bdk_redb::redb::Database::create(database_path.join("wallet.redb"))
894+
bdk_redb::redb::Database::create(home_dir.join("wallet.redb"))
896895
.map_err(bdk_redb::error::StoreError::from)?,
897896
);
898897
let store = RedbStore::new(
899898
db,
900-
wallet_name.as_deref().unwrap_or("wallet1").to_string(),
899+
wallet_name.as_deref().unwrap_or("wallet").to_string(),
901900
)?;
902901
log::debug!("Redb database opened successfully");
903902
Persister::RedbStore(store)

0 commit comments

Comments
 (0)