@@ -552,6 +552,15 @@ fn build_with_store_internal(
552552 liquidity_source_config : Option < & LiquiditySourceConfig > , seed_bytes : [ u8 ; 64 ] ,
553553 logger : Arc < FilesystemLogger > , kv_store : Arc < DynStore > ,
554554) -> Result < Node , BuildError > {
555+ // Initialize the status fields.
556+ let is_listening = Arc :: new ( AtomicBool :: new ( false ) ) ;
557+ let latest_wallet_sync_timestamp = Arc :: new ( RwLock :: new ( None ) ) ;
558+ let latest_onchain_wallet_sync_timestamp = Arc :: new ( RwLock :: new ( None ) ) ;
559+ let latest_fee_rate_cache_update_timestamp = Arc :: new ( RwLock :: new ( None ) ) ;
560+ let latest_rgs_snapshot_timestamp = Arc :: new ( RwLock :: new ( None ) ) ;
561+ let latest_node_announcement_broadcast_timestamp = Arc :: new ( RwLock :: new ( None ) ) ;
562+ let latest_channel_monitor_archival_height = Arc :: new ( RwLock :: new ( None ) ) ;
563+
555564 // Initialize the on-chain wallet and chain access
556565 let xprv = bitcoin:: bip32:: Xpriv :: new_master ( config. network , & seed_bytes) . map_err ( |e| {
557566 log_error ! ( logger, "Failed to derive master secret: {}" , e) ;
@@ -601,6 +610,10 @@ fn build_with_store_internal(
601610 Arc :: clone ( & tx_broadcaster) ,
602611 Arc :: clone ( & config) ,
603612 Arc :: clone ( & logger) ,
613+ Arc :: clone ( & latest_wallet_sync_timestamp) ,
614+ Arc :: clone ( & latest_onchain_wallet_sync_timestamp) ,
615+ Arc :: clone ( & latest_fee_rate_cache_update_timestamp) ,
616+ latest_channel_monitor_archival_height,
604617 ) ) ,
605618 None => {
606619 // Default to Esplora client.
@@ -612,6 +625,10 @@ fn build_with_store_internal(
612625 Arc :: clone ( & tx_broadcaster) ,
613626 Arc :: clone ( & config) ,
614627 Arc :: clone ( & logger) ,
628+ Arc :: clone ( & latest_wallet_sync_timestamp) ,
629+ Arc :: clone ( & latest_onchain_wallet_sync_timestamp) ,
630+ Arc :: clone ( & latest_fee_rate_cache_update_timestamp) ,
631+ latest_channel_monitor_archival_height,
615632 ) )
616633 } ,
617634 } ;
@@ -978,14 +995,6 @@ fn build_with_store_internal(
978995 let ( stop_sender, _) = tokio:: sync:: watch:: channel ( ( ) ) ;
979996 let ( event_handling_stopped_sender, _) = tokio:: sync:: watch:: channel ( ( ) ) ;
980997
981- let is_listening = Arc :: new ( AtomicBool :: new ( false ) ) ;
982- let latest_wallet_sync_timestamp = Arc :: new ( RwLock :: new ( None ) ) ;
983- let latest_onchain_wallet_sync_timestamp = Arc :: new ( RwLock :: new ( None ) ) ;
984- let latest_fee_rate_cache_update_timestamp = Arc :: new ( RwLock :: new ( None ) ) ;
985- let latest_rgs_snapshot_timestamp = Arc :: new ( RwLock :: new ( None ) ) ;
986- let latest_node_announcement_broadcast_timestamp = Arc :: new ( RwLock :: new ( None ) ) ;
987- let latest_channel_monitor_archival_height = Arc :: new ( RwLock :: new ( None ) ) ;
988-
989998 Ok ( Node {
990999 runtime,
9911000 stop_sender,
@@ -1017,7 +1026,6 @@ fn build_with_store_internal(
10171026 latest_fee_rate_cache_update_timestamp,
10181027 latest_rgs_snapshot_timestamp,
10191028 latest_node_announcement_broadcast_timestamp,
1020- latest_channel_monitor_archival_height,
10211029 } )
10221030}
10231031
0 commit comments