From bcc48a50508f1d94368046301d18a15bcc006bec Mon Sep 17 00:00:00 2001 From: valued mammal Date: Fri, 7 Nov 2025 16:13:23 -0500 Subject: [PATCH] wip: test_async_wallet_persister --- Cargo.toml | 15 ++++++++------- src/wallet.rs | 17 +++++++++++++++++ 2 files changed, 25 insertions(+), 7 deletions(-) diff --git a/Cargo.toml b/Cargo.toml index 3f832e4..cc66188 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -13,22 +13,23 @@ readme = "README.md" [dependencies] bdk_chain = { version = "0.23.2", features = ["miniscript"] } -bdk_wallet = { version = "2.2.0", optional = true } +bdk_wallet = { version = "3.0.0-alpha.0", default-features = false, optional = true } sqlx = { version = "0.8.6", features = ["sqlite", "runtime-tokio"] } [dev-dependencies] anyhow = "1" bdk_esplora = { version = "0.22.1", features = ["tokio"] } tokio = { version = "1", default-features = false, features = ["full"] } - -[dev-dependencies.bdk_sqlite] -path = "." -features = ["wallet"] +bdk_wallet = { version = "3.0.0-alpha.0", features = ["test-utils"] } +tempfile = "3.23.0" [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 = "feat/persist_test_utils_async" diff --git a/src/wallet.rs b/src/wallet.rs index a34b588..85239d5 100644 --- a/src/wallet.rs +++ b/src/wallet.rs @@ -153,3 +153,20 @@ 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, anyhow::Error>(async || { + Ok(Store::new_memory().await?) + }) + .await + .expect("failed test persist wallet changeset"); + + Ok(()) + } +}