diff --git a/Cargo.toml b/Cargo.toml index f5ddd3f..d59366f 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -9,10 +9,13 @@ edition = "2018" crate-type = ["cdylib"] [dependencies] -bdk = { version = "^0.11", features = ["all-keys"] } +bdk = { version = "^0.12.1-dev", features = ["all-keys"] } uniffi_macros = "0.14.0" uniffi = "0.14.0" thiserror = "1.0" [build-dependencies] uniffi_build = "0.14.0" + +[patch.crates-io] +bdk = { git = "https://github.com/artfuldev/bdk.git", branch = "use-send-and-sync-on-memory-database" } diff --git a/src/lib.rs b/src/lib.rs index 2b89c53..5d8cd69 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -1,28 +1,26 @@ use bdk::bitcoin::Network; -use bdk::sled; -use bdk::sled::Tree; +use bdk::database::MemoryDatabase; use bdk::wallet::AddressIndex; use bdk::Error; use bdk::Wallet; + use std::sync::Mutex; type BdkError = Error; uniffi_macros::include_scaffolding!("bdk"); - struct OfflineWallet { - wallet: Mutex>, + wallet: Mutex>, } impl OfflineWallet { fn new(descriptor: String) -> Result { - let database = sled::open("testdb").unwrap(); - let tree = database.open_tree("test").unwrap(); + let database = MemoryDatabase::default(); let wallet = Mutex::new(Wallet::new_offline( &descriptor, None, Network::Regtest, - tree, + database, )?); Ok(OfflineWallet { wallet }) }