From 9377b71104d600133b366eb9bd38020b489cf549 Mon Sep 17 00:00:00 2001 From: thesimplekid Date: Wed, 12 Jun 2024 09:40:54 +0100 Subject: [PATCH] feat: check_pending by unit --- bindings/cdk-js/src/wallet.rs | 10 ++++++++-- crates/cdk-cli/src/sub_commands/burn.rs | 2 +- crates/cdk/src/wallet/mod.rs | 3 ++- 3 files changed, 11 insertions(+), 4 deletions(-) diff --git a/bindings/cdk-js/src/wallet.rs b/bindings/cdk-js/src/wallet.rs index 6394f4b1..ee51e8c6 100644 --- a/bindings/cdk-js/src/wallet.rs +++ b/bindings/cdk-js/src/wallet.rs @@ -1,3 +1,5 @@ +//! Wallet Js Bindings + use std::ops::Deref; use std::str::FromStr; use std::sync::Arc; @@ -90,7 +92,11 @@ impl JsWallet { } #[wasm_bindgen(js_name = checkAllPendingProofs)] - pub async fn check_all_pending_proofs(&self, mint_url: Option) -> Result { + pub async fn check_all_pending_proofs( + &self, + mint_url: Option, + unit: Option, + ) -> Result { let mint_url = match mint_url { Some(url) => Some(UncheckedUrl::from_str(&url).map_err(into_err)?), None => None, @@ -98,7 +104,7 @@ impl JsWallet { Ok(self .inner - .check_all_pending_proofs(mint_url) + .check_all_pending_proofs(mint_url, unit.map(|u| u.into())) .await .map_err(into_err)? .into()) diff --git a/crates/cdk-cli/src/sub_commands/burn.rs b/crates/cdk-cli/src/sub_commands/burn.rs index 04463920..ca206f0f 100644 --- a/crates/cdk-cli/src/sub_commands/burn.rs +++ b/crates/cdk-cli/src/sub_commands/burn.rs @@ -11,7 +11,7 @@ pub struct BurnSubCommand { pub async fn burn(wallet: Wallet, sub_command_args: &BurnSubCommand) -> Result<()> { let amount_burnt = wallet - .check_all_pending_proofs(sub_command_args.mint_url.clone().map(|u| u.into())) + .check_all_pending_proofs(sub_command_args.mint_url.clone().map(|u| u.into()), None) .await?; println!("{amount_burnt} burned"); diff --git a/crates/cdk/src/wallet/mod.rs b/crates/cdk/src/wallet/mod.rs index e81620b9..42b381d4 100644 --- a/crates/cdk/src/wallet/mod.rs +++ b/crates/cdk/src/wallet/mod.rs @@ -365,6 +365,7 @@ impl Wallet { pub async fn check_all_pending_proofs( &self, mint_url: Option, + unit: Option, ) -> Result { let mints = match mint_url { Some(mint_url) => HashMap::from_iter(vec![(mint_url, None)]), @@ -378,7 +379,7 @@ impl Wallet { .localstore .get_proofs( Some(mint.clone()), - None, + unit.clone(), Some(vec![State::Pending, State::Reserved]), None, )