diff --git a/Cargo.toml b/Cargo.toml index d522c76..f147aeb 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -20,6 +20,7 @@ sqlx = { version = "0.8.6", features = ["sqlite", "runtime-tokio"] } anyhow = "1" bdk_esplora = { version = "0.22.1", features = ["tokio"] } tokio = { version = "1", default-features = false, features = ["full"] } +bdk_wallet = { version = "2.3.0", features = ["test-utils"] } [dev-dependencies.bdk_sqlite] path = "." @@ -27,8 +28,11 @@ features = ["wallet"] [features] default = ["wallet"] -wallet = ["dep:bdk_wallet"] - +wallet = ["bdk_wallet"] [[example]] name = "wallet" + +[patch.crates-io.bdk_wallet] +git = "https://github.com/ValuedMammal/bdk_wallet" +branch = "persist_test_utils_2_3_0" diff --git a/src/wallet.rs b/src/wallet.rs index a34b588..9a59001 100644 --- a/src/wallet.rs +++ b/src/wallet.rs @@ -153,3 +153,18 @@ impl AsyncWalletPersister for Store { Box::pin(async { persister.write_changeset(changeset).await }) } } + +#[cfg(test)] +mod test { + use super::*; + use bdk_wallet::persist_test_utils::persist_wallet_changeset_async; + + #[tokio::test] + async fn test_async_wallet_persister() -> anyhow::Result<()> { + persist_wallet_changeset_async::<_, Store>(async || Ok(Store::new_memory().await?)) + .await + .expect("failed test persist wallet changeset"); + + Ok(()) + } +}