@@ -529,6 +529,15 @@ fn build_with_store_internal(
529529 liquidity_source_config : Option < & LiquiditySourceConfig > , seed_bytes : [ u8 ; 64 ] ,
530530 logger : Arc < FilesystemLogger > , kv_store : Arc < DynStore > ,
531531) -> Result < Node , BuildError > {
532+ // Initialize the status fields.
533+ let is_listening = Arc :: new ( AtomicBool :: new ( false ) ) ;
534+ let latest_wallet_sync_timestamp = Arc :: new ( RwLock :: new ( None ) ) ;
535+ let latest_onchain_wallet_sync_timestamp = Arc :: new ( RwLock :: new ( None ) ) ;
536+ let latest_fee_rate_cache_update_timestamp = Arc :: new ( RwLock :: new ( None ) ) ;
537+ let latest_rgs_snapshot_timestamp = Arc :: new ( RwLock :: new ( None ) ) ;
538+ let latest_node_announcement_broadcast_timestamp = Arc :: new ( RwLock :: new ( None ) ) ;
539+ let latest_channel_monitor_archival_height = Arc :: new ( RwLock :: new ( None ) ) ;
540+
532541 // Initialize the on-chain wallet and chain access
533542 let xprv = bitcoin:: bip32:: Xpriv :: new_master ( config. network , & seed_bytes) . map_err ( |e| {
534543 log_error ! ( logger, "Failed to derive master secret: {}" , e) ;
@@ -578,6 +587,10 @@ fn build_with_store_internal(
578587 Arc :: clone ( & tx_broadcaster) ,
579588 Arc :: clone ( & config) ,
580589 Arc :: clone ( & logger) ,
590+ Arc :: clone ( & latest_wallet_sync_timestamp) ,
591+ Arc :: clone ( & latest_onchain_wallet_sync_timestamp) ,
592+ Arc :: clone ( & latest_fee_rate_cache_update_timestamp) ,
593+ latest_channel_monitor_archival_height,
581594 ) ) ,
582595 None => {
583596 // Default to Esplora client.
@@ -589,6 +602,10 @@ fn build_with_store_internal(
589602 Arc :: clone ( & tx_broadcaster) ,
590603 Arc :: clone ( & config) ,
591604 Arc :: clone ( & logger) ,
605+ Arc :: clone ( & latest_wallet_sync_timestamp) ,
606+ Arc :: clone ( & latest_onchain_wallet_sync_timestamp) ,
607+ Arc :: clone ( & latest_fee_rate_cache_update_timestamp) ,
608+ latest_channel_monitor_archival_height,
592609 ) )
593610 } ,
594611 } ;
@@ -955,14 +972,6 @@ fn build_with_store_internal(
955972 let ( stop_sender, _) = tokio:: sync:: watch:: channel ( ( ) ) ;
956973 let ( event_handling_stopped_sender, _) = tokio:: sync:: watch:: channel ( ( ) ) ;
957974
958- let is_listening = Arc :: new ( AtomicBool :: new ( false ) ) ;
959- let latest_wallet_sync_timestamp = Arc :: new ( RwLock :: new ( None ) ) ;
960- let latest_onchain_wallet_sync_timestamp = Arc :: new ( RwLock :: new ( None ) ) ;
961- let latest_fee_rate_cache_update_timestamp = Arc :: new ( RwLock :: new ( None ) ) ;
962- let latest_rgs_snapshot_timestamp = Arc :: new ( RwLock :: new ( None ) ) ;
963- let latest_node_announcement_broadcast_timestamp = Arc :: new ( RwLock :: new ( None ) ) ;
964- let latest_channel_monitor_archival_height = Arc :: new ( RwLock :: new ( None ) ) ;
965-
966975 Ok ( Node {
967976 runtime,
968977 stop_sender,
@@ -994,7 +1003,6 @@ fn build_with_store_internal(
9941003 latest_fee_rate_cache_update_timestamp,
9951004 latest_rgs_snapshot_timestamp,
9961005 latest_node_announcement_broadcast_timestamp,
997- latest_channel_monitor_archival_height,
9981006 } )
9991007}
10001008
0 commit comments