From cdb90aa35c0a859e237a9bfe570c1298be35fd2c Mon Sep 17 00:00:00 2001 From: Steve Myers Date: Tue, 12 Oct 2021 11:53:11 -0700 Subject: [PATCH] wip compiles now --- src/lib.rs | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) diff --git a/src/lib.rs b/src/lib.rs index 50e5853..c7f4430 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -2,9 +2,13 @@ use bdk::Wallet; use bdk::database::MemoryDatabase; use bdk::bitcoin::Network; // use crate::error::FfiError; -use std::sync::RwLock; +use std::sync::{RwLock, Mutex}; use std::vec::Vec; +use bdk::database::BatchDatabase; +use bdk::sled; +use bdk::sled::Tree; + //mod error; //mod types; //mod wallet; @@ -12,21 +16,24 @@ use std::vec::Vec; uniffi_macros::include_scaffolding!("bdk"); struct OfflineWallet { - wallet: Wallet<(), MemoryDatabase>, + wallet: Mutex>, //wallet: RwLock> } impl OfflineWallet { fn new(descriptor: String) -> Self { + let database = sled::open("testdb").unwrap(); + let tree = database.open_tree("test").unwrap(); + let wallet = Wallet::new_offline( &descriptor, None, Network::Regtest, - MemoryDatabase::new(), + tree, ).unwrap(); OfflineWallet { - wallet + wallet: Mutex::new(wallet) } // OfflineWallet { @@ -35,3 +42,6 @@ impl OfflineWallet { } } +uniffi::deps::static_assertions::assert_impl_all!(OfflineWallet: Sync, Send); + +