@@ -507,8 +507,7 @@ async fn start_ldk() {
507
507
// Step 10: Sync ChannelMonitors and ChannelManager to chain tip
508
508
let mut chain_listener_channel_monitors = Vec :: new ( ) ;
509
509
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 {
512
511
let mut chain_listeners = vec ! [ (
513
512
channel_manager_blockhash,
514
513
& channel_manager as & ( dyn chain:: Listen + Send + Sync ) ,
@@ -529,17 +528,18 @@ async fn start_ldk() {
529
528
& monitor_listener_info. 1 as & ( dyn chain:: Listen + Send + Sync ) ,
530
529
) ) ;
531
530
}
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
+ } ;
543
543
544
544
// Step 11: Give ChannelMonitors to ChainMonitor
545
545
for item in chain_listener_channel_monitors. drain ( ..) {
@@ -614,18 +614,14 @@ async fn start_ldk() {
614
614
} ) ;
615
615
616
616
// Step 15: Connect and Disconnect Blocks
617
- if chain_tip. is_none ( ) {
618
- chain_tip = Some ( polled_chain_tip) ;
619
- }
620
617
let channel_manager_listener = channel_manager. clone ( ) ;
621
618
let chain_monitor_listener = chain_monitor. clone ( ) ;
622
619
let bitcoind_block_source = bitcoind_client. clone ( ) ;
623
620
let network = args. network ;
624
621
tokio:: spawn ( async move {
625
622
let chain_poller = poll:: ChainPoller :: new ( bitcoind_block_source. as_ref ( ) , network) ;
626
623
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) ;
629
625
loop {
630
626
spv_client. poll_best_tip ( ) . await . unwrap ( ) ;
631
627
tokio:: time:: sleep ( Duration :: from_secs ( 1 ) ) . await ;
0 commit comments