Skip to content

Commit 8b3ee49

Browse files
committed
fix: remove unnecessary async code
1 parent 8a595a8 commit 8b3ee49

File tree

2 files changed

+48
-62
lines changed

2 files changed

+48
-62
lines changed

src/error.rs

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -97,9 +97,6 @@ pub enum BDKCliError {
9797
#[cfg(feature = "cbf")]
9898
#[error("BDK-Kyoto update error: {0}")]
9999
KyotoUpdateError(#[from] bdk_kyoto::UpdateError),
100-
101-
#[error("Could not Join threads: {0}")]
102-
JoinError(#[from] tokio::task::JoinError),
103100
}
104101

105102
impl From<ExtractTxError> for BDKCliError {

src/handlers.rs

Lines changed: 48 additions & 59 deletions
Original file line numberDiff line numberDiff line change
@@ -757,11 +757,7 @@ pub(crate) async fn handle_command(cli_opts: CliOpts) -> Result<String, Error> {
757757
let home_dir = prepare_home_dir(cli_opts.datadir)?;
758758
let wallet_name = &wallet_opts.wallet;
759759
let database_path = prepare_wallet_db_dir(wallet_name, &home_dir)?;
760-
#[cfg(feature = "redb")]
761-
let db = bdk_redb::redb::Database::create(database_path.join("wallet.redb"))
762-
.map_err(bdk_redb::redb::Error::from)
763-
.map_err(bdk_redb::error::StoreError::from)
764-
.map_err(PersisterError::from)?;
760+
765761
#[cfg(any(feature = "sqlite", feature = "redb"))]
766762
let result = {
767763
let mut persister: Persister = match &wallet_opts.database_type {
@@ -774,17 +770,19 @@ pub(crate) async fn handle_command(cli_opts: CliOpts) -> Result<String, Error> {
774770
}
775771
#[cfg(feature = "redb")]
776772
DatabaseType::Redb => {
777-
let wallet_name = wallet_opts.clone().wallet;
778-
tokio::task::spawn_blocking(move || {
779-
let store = RedbStore::new(
780-
Arc::new(db),
781-
wallet_name.clone().unwrap_or("wallet1".to_string()),
782-
)
783-
.map_err(PersisterError::from)?;
784-
log::debug!("Redb database opened successfully");
785-
Ok::<Persister, PersisterError>(Persister::RedbStore(store))
786-
})
787-
.await??
773+
let db = Arc::new(
774+
bdk_redb::redb::Database::create(database_path.join("wallet.redb"))
775+
.map_err(bdk_redb::redb::Error::from)
776+
.map_err(bdk_redb::error::StoreError::from)
777+
.map_err(PersisterError::from)?,
778+
);
779+
let store = RedbStore::new(
780+
db,
781+
wallet_name.as_deref().unwrap_or("wallet1").to_string(),
782+
)
783+
.map_err(PersisterError::from)?;
784+
log::debug!("Redb database opened successfully");
785+
Persister::RedbStore(store)
788786
}
789787
};
790788

@@ -820,12 +818,8 @@ pub(crate) async fn handle_command(cli_opts: CliOpts) -> Result<String, Error> {
820818
#[cfg(any(feature = "sqlite", feature = "redb"))]
821819
let result = {
822820
let home_dir = prepare_home_dir(cli_opts.datadir)?;
823-
let database_path = prepare_wallet_db_dir(&wallet_opts.wallet, &home_dir)?;
824-
#[cfg(feature = "redb")]
825-
let db = bdk_redb::redb::Database::create(database_path.join("wallet.redb"))
826-
.map_err(bdk_redb::redb::Error::from)
827-
.map_err(bdk_redb::error::StoreError::from)
828-
.map_err(PersisterError::from)?;
821+
let wallet_name = &wallet_opts.wallet;
822+
let database_path = prepare_wallet_db_dir(wallet_name, &home_dir)?;
829823
let mut persister: Persister = match &wallet_opts.database_type {
830824
#[cfg(feature = "sqlite")]
831825
DatabaseType::Sqlite => {
@@ -836,17 +830,19 @@ pub(crate) async fn handle_command(cli_opts: CliOpts) -> Result<String, Error> {
836830
}
837831
#[cfg(feature = "redb")]
838832
DatabaseType::Redb => {
839-
let wallet_name = wallet_opts.clone().wallet;
840-
tokio::task::spawn_blocking(move || {
841-
let store = RedbStore::new(
842-
Arc::new(db),
843-
wallet_name.clone().unwrap_or("wallet1".to_string()),
844-
)
845-
.map_err(PersisterError::from)?;
846-
log::debug!("Redb database opened successfully");
847-
Ok::<Persister, PersisterError>(Persister::RedbStore(store))
848-
})
849-
.await??
833+
let db = Arc::new(
834+
bdk_redb::redb::Database::create(database_path.join("wallet.redb"))
835+
.map_err(bdk_redb::redb::Error::from)
836+
.map_err(bdk_redb::error::StoreError::from)
837+
.map_err(PersisterError::from)?,
838+
);
839+
let store = RedbStore::new(
840+
db,
841+
wallet_name.as_deref().unwrap_or("wallet1").to_string(),
842+
)
843+
.map_err(PersisterError::from)?;
844+
log::debug!("Redb database opened successfully");
845+
Persister::RedbStore(store)
850846
}
851847
};
852848

@@ -883,44 +879,37 @@ pub(crate) async fn handle_command(cli_opts: CliOpts) -> Result<String, Error> {
883879
#[cfg(feature = "repl")]
884880
CliSubCommand::Repl { wallet_opts } => {
885881
let network = cli_opts.network;
886-
#[cfg(feature = "redb")]
887-
let db = bdk_redb::redb::Database::create(
888-
prepare_wallet_db_dir(
889-
&wallet_opts.wallet,
890-
&prepare_home_dir(cli_opts.datadir.clone())?,
891-
)?
892-
.join("wallet.redb"),
893-
)
894-
.map_err(bdk_redb::redb::Error::from)
895-
.map_err(bdk_redb::error::StoreError::from)
896-
.map_err(PersisterError::from)?;
897882
#[cfg(any(feature = "sqlite", feature = "redb"))]
898883
let (mut wallet, mut persister) = {
884+
let wallet_name = &wallet_opts.wallet;
885+
886+
let home_dir = prepare_home_dir(cli_opts.datadir.clone())?;
887+
888+
let database_path = prepare_wallet_db_dir(wallet_name, &home_dir)?;
889+
899890
let mut persister: Persister = match &wallet_opts.database_type {
900891
#[cfg(feature = "sqlite")]
901892
DatabaseType::Sqlite => {
902-
let wallet_name = &wallet_opts.wallet;
903-
let home_dir = prepare_home_dir(cli_opts.datadir.clone())?;
904-
905-
let database_path = prepare_wallet_db_dir(wallet_name, &home_dir)?;
906893
let db_file = database_path.join("wallet.sqlite");
907894
let connection = Connection::open(db_file).map_err(PersisterError::from)?;
908895
log::debug!("Sqlite database opened successfully");
909896
Persister::Connection(connection)
910897
}
911898
#[cfg(feature = "redb")]
912899
DatabaseType::Redb => {
913-
let wallet_name = wallet_opts.clone().wallet;
914-
tokio::task::spawn_blocking(move || {
915-
let store = RedbStore::new(
916-
Arc::new(db),
917-
wallet_name.clone().unwrap_or("wallet1".to_string()),
918-
)
919-
.map_err(PersisterError::from)?;
920-
log::debug!("Redb database opened successfully");
921-
Ok::<Persister, PersisterError>(Persister::RedbStore(store))
922-
})
923-
.await??
900+
let db = Arc::new(
901+
bdk_redb::redb::Database::create(database_path.join("wallet.redb"))
902+
.map_err(bdk_redb::redb::Error::from)
903+
.map_err(bdk_redb::error::StoreError::from)
904+
.map_err(PersisterError::from)?,
905+
);
906+
let store = RedbStore::new(
907+
db,
908+
wallet_name.as_deref().unwrap_or("wallet1").to_string(),
909+
)
910+
.map_err(PersisterError::from)?;
911+
log::debug!("Redb database opened successfully");
912+
Persister::RedbStore(store)
924913
}
925914
};
926915
let wallet = new_persisted_wallet(network, &mut persister, &wallet_opts)?;

0 commit comments

Comments
 (0)