diff --git a/crates/cdk-cln/src/lib.rs b/crates/cdk-cln/src/lib.rs index 363ca242..4dacff4f 100644 --- a/crates/cdk-cln/src/lib.rs +++ b/crates/cdk-cln/src/lib.rs @@ -8,7 +8,6 @@ use std::pin::Pin; use std::str::FromStr; use std::sync::atomic::{AtomicBool, Ordering}; use std::sync::Arc; -use std::time::Duration; use async_trait::async_trait; use cdk::amount::{to_unit, Amount, MSAT_IN_SAT}; @@ -162,8 +161,8 @@ impl MintLightning for Cln { } Err(e) => { tracing::warn!("Error fetching invoice: {e}"); - tokio::time::sleep(Duration::from_secs(1)).await; - continue; + is_active.store(false, Ordering::SeqCst); + return None; } } } diff --git a/crates/cdk/src/mint/mod.rs b/crates/cdk/src/mint/mod.rs index d17aa216..6ee908e3 100644 --- a/crates/cdk/src/mint/mod.rs +++ b/crates/cdk/src/mint/mod.rs @@ -228,7 +228,6 @@ impl Mint { let shutdown = Arc::clone(&shutdown); let key = key.clone(); join_set.spawn(async move { - if !ln.is_wait_invoice_active() { loop { tokio::select! { _ = shutdown.notified() => { @@ -247,12 +246,12 @@ impl Mint { } Err(err) => { tracing::warn!("Could not get invoice stream for {:?}: {}",key, err); + tokio::time::sleep(std::time::Duration::from_secs(5)).await; } } } } - } } }); }