From b0a8d6046d2a7451cf6a2c661fa512813cd7f033 Mon Sep 17 00:00:00 2001 From: thesimplekid Date: Wed, 3 Jan 2024 10:28:41 +0000 Subject: [PATCH] refactor: check if token is pending during verification --- crates/cashu-sdk/src/mint/mod.rs | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/crates/cashu-sdk/src/mint/mod.rs b/crates/cashu-sdk/src/mint/mod.rs index 4d52be7d..e9484dc5 100644 --- a/crates/cashu-sdk/src/mint/mod.rs +++ b/crates/cashu-sdk/src/mint/mod.rs @@ -36,6 +36,8 @@ pub enum Error { DuplicateProofs, #[error("Token Spent")] TokenSpent, + #[error("Token Pending")] + TokenPending, #[error("`{0}`")] Custom(String), #[error("`{0}`")] @@ -271,13 +273,21 @@ impl Mint { if self .localstore .get_spent_proof(&proof.secret) - .await - .unwrap() + .await? .is_some() { return Err(Error::TokenSpent); } + if self + .localstore + .get_pending_proof(&proof.secret) + .await? + .is_some() + { + return Err(Error::TokenPending); + } + let keyset = self .localstore .get_keyset(&proof.keyset_id)