diff --git a/crates/cdk-mintd/src/main.rs b/crates/cdk-mintd/src/main.rs index c67e3df78..9bdf20f62 100644 --- a/crates/cdk-mintd/src/main.rs +++ b/crates/cdk-mintd/src/main.rs @@ -370,20 +370,7 @@ async fn main() -> anyhow::Result<()> { /// Update mint quote when called for a paid invoice async fn handle_paid_invoice(mint: Arc, request_lookup_id: &str) -> Result<()> { tracing::debug!("Invoice with lookup id paid: {}", request_lookup_id); - if let Ok(Some(mint_quote)) = mint - .localstore - .get_mint_quote_by_request_lookup_id(request_lookup_id) - .await - { - tracing::debug!( - "Quote {} paid by lookup id {}", - mint_quote.id, - request_lookup_id - ); - mint.localstore - .update_mint_quote_state(&mint_quote.id, cdk::nuts::MintQuoteState::Paid) - .await?; - } + mint.pay_mint_quote_for_request_id(request_lookup_id).await?; Ok(()) } diff --git a/crates/cdk/src/mint/mod.rs b/crates/cdk/src/mint/mod.rs index ee1a6f0c4..c928e45b9 100644 --- a/crates/cdk/src/mint/mod.rs +++ b/crates/cdk/src/mint/mod.rs @@ -286,6 +286,26 @@ impl Mint { Ok(()) } + /// Flag mint quote as paid + #[instrument(skip_all)] + pub async fn pay_mint_quote_for_request_id(&self, request_lookup_id: &str) -> Result<(), Error>{ + if let Ok(Some(mint_quote)) = self + .localstore + .get_mint_quote_by_request_lookup_id(request_lookup_id) + .await + { + tracing::debug!( + "Quote {} paid by lookup id {}", + mint_quote.id, + request_lookup_id + ); + self.localstore + .update_mint_quote_state(&mint_quote.id, MintQuoteState::Paid) + .await?; + } + Ok(()) + } + /// New melt quote #[instrument(skip_all)] pub async fn new_melt_quote(