diff --git a/Cargo.lock b/Cargo.lock index 81a2442..ebb12cd 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -475,7 +475,7 @@ dependencies = [ [[package]] name = "bitkitcore" -version = "0.1.67" +version = "0.1.68" dependencies = [ "android_logger", "async-trait", diff --git a/Cargo.toml b/Cargo.toml index 8aeeb16..aed980a 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "bitkitcore" -version = "0.1.67" +version = "0.1.68" edition = "2021" [lib] diff --git a/Package.swift b/Package.swift index a8505a4..1f820b1 100644 --- a/Package.swift +++ b/Package.swift @@ -3,8 +3,8 @@ import PackageDescription -let tag = "v0.1.67" -let checksum = "96e05d5061ab9692f63ebfaccc980600cf11042b02c920459edd03e0a881fe0e" +let tag = "v0.1.68" +let checksum = "cce415718a78a491fb37714d7ffb9a667787be6f5c0379236973ead2bde41f51" let url = "https://github.com/synonymdev/bitkit-core/releases/download/\(tag)/BitkitCore.xcframework.zip" let package = Package( diff --git a/bindings/android/gradle.properties b/bindings/android/gradle.properties index b60a220..e7cf710 100644 --- a/bindings/android/gradle.properties +++ b/bindings/android/gradle.properties @@ -3,4 +3,4 @@ android.useAndroidX=true android.enableJetifier=true kotlin.code.style=official group=com.synonym -version=0.1.67 +version=0.1.68 diff --git a/bindings/android/lib/src/main/jniLibs/arm64-v8a/libbitkitcore.so b/bindings/android/lib/src/main/jniLibs/arm64-v8a/libbitkitcore.so index bce3418..686c715 100755 Binary files a/bindings/android/lib/src/main/jniLibs/arm64-v8a/libbitkitcore.so and b/bindings/android/lib/src/main/jniLibs/arm64-v8a/libbitkitcore.so differ diff --git a/bindings/android/lib/src/main/jniLibs/armeabi-v7a/libbitkitcore.so b/bindings/android/lib/src/main/jniLibs/armeabi-v7a/libbitkitcore.so index 9c32e8e..5f7f951 100755 Binary files a/bindings/android/lib/src/main/jniLibs/armeabi-v7a/libbitkitcore.so and b/bindings/android/lib/src/main/jniLibs/armeabi-v7a/libbitkitcore.so differ diff --git a/bindings/android/lib/src/main/jniLibs/x86/libbitkitcore.so b/bindings/android/lib/src/main/jniLibs/x86/libbitkitcore.so index 1fa8f52..a8605b5 100755 Binary files a/bindings/android/lib/src/main/jniLibs/x86/libbitkitcore.so and b/bindings/android/lib/src/main/jniLibs/x86/libbitkitcore.so differ diff --git a/bindings/android/lib/src/main/jniLibs/x86_64/libbitkitcore.so b/bindings/android/lib/src/main/jniLibs/x86_64/libbitkitcore.so index 1cb60af..f42479b 100755 Binary files a/bindings/android/lib/src/main/jniLibs/x86_64/libbitkitcore.so and b/bindings/android/lib/src/main/jniLibs/x86_64/libbitkitcore.so differ diff --git a/bindings/ios/BitkitCore.xcframework.zip b/bindings/ios/BitkitCore.xcframework.zip index 9614b20..497605f 100644 Binary files a/bindings/ios/BitkitCore.xcframework.zip and b/bindings/ios/BitkitCore.xcframework.zip differ diff --git a/bindings/ios/BitkitCore.xcframework/ios-arm64-simulator/libbitkitcore.a b/bindings/ios/BitkitCore.xcframework/ios-arm64-simulator/libbitkitcore.a index 0f64676..be58e63 100644 Binary files a/bindings/ios/BitkitCore.xcframework/ios-arm64-simulator/libbitkitcore.a and b/bindings/ios/BitkitCore.xcframework/ios-arm64-simulator/libbitkitcore.a differ diff --git a/bindings/ios/BitkitCore.xcframework/ios-arm64/libbitkitcore.a b/bindings/ios/BitkitCore.xcframework/ios-arm64/libbitkitcore.a index c52bc3c..9289463 100644 Binary files a/bindings/ios/BitkitCore.xcframework/ios-arm64/libbitkitcore.a and b/bindings/ios/BitkitCore.xcframework/ios-arm64/libbitkitcore.a differ diff --git a/bindings/python/bitkitcore/libbitkitcore.dylib b/bindings/python/bitkitcore/libbitkitcore.dylib index 4d2b0ca..8b8908a 100755 Binary files a/bindings/python/bitkitcore/libbitkitcore.dylib and b/bindings/python/bitkitcore/libbitkitcore.dylib differ diff --git a/src/modules/onchain/compose.rs b/src/modules/onchain/compose.rs index e98c08c..40174f3 100644 --- a/src/modules/onchain/compose.rs +++ b/src/modules/onchain/compose.rs @@ -14,7 +14,9 @@ use bdk::wallet::Wallet; use bdk::FeeRate; use super::errors::AccountInfoError; -use super::implementation::{connect_electrum, create_and_sync_wallet, resolve_wallet_setup}; +use super::implementation::{ + connect_electrum, create_and_sync_wallet, resolve_wallet_setup, run_account_info_blocking, +}; use super::types::{CoinSelection, ComposeOutput, ComposeParams, ComposeResult}; /// Compose transactions for multiple fee rates, returning one PSBT per rate. @@ -63,7 +65,7 @@ async fn compose_inner(params: ComposeParams) -> Result, Acco let fee_rates = params.fee_rates; let coin_selection = params.coin_selection; - tokio::task::spawn_blocking(move || { + run_account_info_blocking("compose transaction", move || { let client = connect_electrum(&electrum_url)?; let mut wallet = create_and_sync_wallet(&setup, client)?; @@ -84,9 +86,6 @@ async fn compose_inner(params: ComposeParams) -> Result, Acco Ok(results) }) .await - .map_err(|e| AccountInfoError::SyncError { - error_details: format!("Task failed: {}", e), - })? } fn build_psbt( diff --git a/src/modules/onchain/implementation.rs b/src/modules/onchain/implementation.rs index cf181e3..3e80139 100644 --- a/src/modules/onchain/implementation.rs +++ b/src/modules/onchain/implementation.rs @@ -1452,7 +1452,7 @@ pub async fn get_account_info( let electrum_url_owned = electrum_url.to_string(); - let result = tokio::task::spawn_blocking(move || { + let result = run_account_info_blocking("account info", move || { let base_path = &setup.base_path; // Single Electrum connection: get tip height first, then sync wallet @@ -1615,10 +1615,7 @@ pub async fn get_account_info( tip_height, )) }) - .await - .map_err(|e| AccountInfoError::SyncError { - error_details: format!("Task failed: {}", e), - })??; + .await?; let ( used_addresses, @@ -1661,7 +1658,7 @@ pub async fn get_transaction_history( let electrum_url = electrum_url.to_string(); - let result = tokio::task::spawn_blocking(move || { + let result = run_account_info_blocking("transaction history", move || { let (client, tip_height) = connect_and_get_tip(&electrum_url)?; let wallet = create_and_sync_wallet(&setup, client)?; @@ -1692,10 +1689,7 @@ pub async fn get_transaction_history( Ok((history, balance, tx_count, tip_height)) }) - .await - .map_err(|e| AccountInfoError::SyncError { - error_details: format!("Task failed: {}", e), - })??; + .await?; let (transactions, balance, tx_count, block_height) = result; @@ -1728,7 +1722,7 @@ pub async fn get_transaction_detail( let electrum_url = electrum_url.to_string(); - let result = tokio::task::spawn_blocking(move || { + let result = run_account_info_blocking("transaction detail", move || { let (client, tip_height) = connect_and_get_tip(&electrum_url)?; let wallet = create_and_sync_wallet(&setup, client)?; @@ -1825,10 +1819,7 @@ pub async fn get_transaction_detail( fee_rate, }) }) - .await - .map_err(|e| AccountInfoError::SyncError { - error_details: format!("Task failed: {}", e), - })??; + .await?; Ok(result) }