diff --git a/lightning-transaction-sync/src/electrum.rs b/lightning-transaction-sync/src/electrum.rs index 9d643f48511..f2fc656beea 100644 --- a/lightning-transaction-sync/src/electrum.rs +++ b/lightning-transaction-sync/src/electrum.rs @@ -96,7 +96,12 @@ impl ElectrumSyncClient { let mut tip_header = tip_notification.header; let mut tip_height = tip_notification.height as u32; - loop { + for i in 0..100 { + if i >= 10 { + log_debug!(self.logger, "Giving up trying to do transaction sync after 10 attempts."); + break; + } + let pending_registrations = self.queue.lock().unwrap().process_queues(&mut sync_state); let tip_is_new = Some(tip_header.block_hash()) != sync_state.last_sync_hash; diff --git a/lightning-transaction-sync/src/esplora.rs b/lightning-transaction-sync/src/esplora.rs index 7d3550d65b1..5a540c81bd7 100644 --- a/lightning-transaction-sync/src/esplora.rs +++ b/lightning-transaction-sync/src/esplora.rs @@ -100,7 +100,12 @@ impl EsploraSyncClient { let mut tip_hash = maybe_await!(self.client.get_tip_hash())?; - loop { + for i in 0..100 { + if i >= 10 { + log_debug!(self.logger, "Giving up trying to do transaction sync after 10 attempts."); + break; + } + let pending_registrations = self.queue.lock().unwrap().process_queues(&mut sync_state); let tip_is_new = Some(tip_hash) != sync_state.last_sync_hash;