diff --git a/crates/cdk/src/mint/ln.rs b/crates/cdk/src/mint/ln.rs index 447b0e3e..9e4b5961 100644 --- a/crates/cdk/src/mint/ln.rs +++ b/crates/cdk/src/mint/ln.rs @@ -45,6 +45,20 @@ impl Mint { let mut tx = self.localstore.begin_transaction().await?; + // reload the quote, as it state may have changed + *quote = tx + .get_mint_quote("e.id) + .await? + .ok_or(Error::UnknownQuote)?; + + let current_state = quote.state(); + + if quote.payment_method == PaymentMethod::Bolt11 + && (current_state == MintQuoteState::Issued || current_state == MintQuoteState::Paid) + { + return Ok(()); + } + for payment in ln_status { if !quote.payment_ids().contains(&&payment.payment_id) && payment.payment_amount > Amount::ZERO