@@ -507,8 +507,7 @@ async fn start_ldk() {
507507 // Step 10: Sync ChannelMonitors and ChannelManager to chain tip
508508 let mut chain_listener_channel_monitors = Vec :: new ( ) ;
509509 let mut cache = UnboundedCache :: new ( ) ;
510- let mut chain_tip: Option < poll:: ValidatedBlockHeader > = None ;
511- if restarting_node {
510+ let chain_tip = if restarting_node {
512511 let mut chain_listeners = vec ! [ (
513512 channel_manager_blockhash,
514513 & channel_manager as & ( dyn chain:: Listen + Send + Sync ) ,
@@ -529,17 +528,18 @@ async fn start_ldk() {
529528 & monitor_listener_info. 1 as & ( dyn chain:: Listen + Send + Sync ) ,
530529 ) ) ;
531530 }
532- chain_tip = Some (
533- init:: synchronize_listeners (
534- bitcoind_client. as_ref ( ) ,
535- args. network ,
536- & mut cache,
537- chain_listeners,
538- )
539- . await
540- . unwrap ( ) ,
541- ) ;
542- }
531+
532+ init:: synchronize_listeners (
533+ bitcoind_client. as_ref ( ) ,
534+ args. network ,
535+ & mut cache,
536+ chain_listeners,
537+ )
538+ . await
539+ . unwrap ( )
540+ } else {
541+ polled_chain_tip
542+ } ;
543543
544544 // Step 11: Give ChannelMonitors to ChainMonitor
545545 for item in chain_listener_channel_monitors. drain ( ..) {
@@ -614,18 +614,14 @@ async fn start_ldk() {
614614 } ) ;
615615
616616 // Step 15: Connect and Disconnect Blocks
617- if chain_tip. is_none ( ) {
618- chain_tip = Some ( polled_chain_tip) ;
619- }
620617 let channel_manager_listener = channel_manager. clone ( ) ;
621618 let chain_monitor_listener = chain_monitor. clone ( ) ;
622619 let bitcoind_block_source = bitcoind_client. clone ( ) ;
623620 let network = args. network ;
624621 tokio:: spawn ( async move {
625622 let chain_poller = poll:: ChainPoller :: new ( bitcoind_block_source. as_ref ( ) , network) ;
626623 let chain_listener = ( chain_monitor_listener, channel_manager_listener) ;
627- let mut spv_client =
628- SpvClient :: new ( chain_tip. unwrap ( ) , chain_poller, & mut cache, & chain_listener) ;
624+ let mut spv_client = SpvClient :: new ( chain_tip, chain_poller, & mut cache, & chain_listener) ;
629625 loop {
630626 spv_client. poll_best_tip ( ) . await . unwrap ( ) ;
631627 tokio:: time:: sleep ( Duration :: from_secs ( 1 ) ) . await ;
0 commit comments