@@ -46,7 +46,7 @@ use lightning::routing::router::DefaultRouter;
4646use lightning:: routing:: scoring:: {
4747 ProbabilisticScorer , ProbabilisticScoringDecayParameters , ProbabilisticScoringFeeParameters ,
4848} ;
49- use lightning:: sign:: EntropySource ;
49+ use lightning:: sign:: { EntropySource , NodeSigner } ;
5050
5151use lightning:: util:: persist:: {
5252 read_channel_monitors, CHANNEL_MANAGER_PERSISTENCE_KEY ,
@@ -1103,15 +1103,6 @@ fn build_with_store_internal(
11031103
11041104 let runtime = Arc :: new ( RwLock :: new ( None ) ) ;
11051105
1106- // Initialize the ChainMonitor
1107- let chain_monitor: Arc < ChainMonitor > = Arc :: new ( chainmonitor:: ChainMonitor :: new (
1108- Some ( Arc :: clone ( & chain_source) ) ,
1109- Arc :: clone ( & tx_broadcaster) ,
1110- Arc :: clone ( & logger) ,
1111- Arc :: clone ( & fee_estimator) ,
1112- Arc :: clone ( & kv_store) ,
1113- ) ) ;
1114-
11151106 // Initialize the KeysManager
11161107 let cur_time = SystemTime :: now ( ) . duration_since ( SystemTime :: UNIX_EPOCH ) . map_err ( |e| {
11171108 log_error ! ( logger, "Failed to get current time: {}" , e) ;
@@ -1127,6 +1118,19 @@ fn build_with_store_internal(
11271118 Arc :: clone ( & logger) ,
11281119 ) ) ;
11291120
1121+ let peer_storage_key = keys_manager. get_peer_storage_key ( ) ;
1122+
1123+ // Initialize the ChainMonitor
1124+ let chain_monitor: Arc < ChainMonitor > = Arc :: new ( chainmonitor:: ChainMonitor :: new (
1125+ Some ( Arc :: clone ( & chain_source) ) ,
1126+ Arc :: clone ( & tx_broadcaster) ,
1127+ Arc :: clone ( & logger) ,
1128+ Arc :: clone ( & fee_estimator) ,
1129+ Arc :: clone ( & kv_store) ,
1130+ Arc :: clone ( & keys_manager) ,
1131+ peer_storage_key,
1132+ ) ) ;
1133+
11301134 // Initialize the network graph, scorer, and router
11311135 let network_graph =
11321136 match io:: utils:: read_network_graph ( Arc :: clone ( & kv_store) , Arc :: clone ( & logger) ) {
@@ -1377,13 +1381,15 @@ fn build_with_store_internal(
13771381 as Arc < dyn RoutingMessageHandler + Sync + Send > ,
13781382 onion_message_handler : Arc :: clone ( & onion_messenger) ,
13791383 custom_message_handler,
1384+ send_only_message_handler : Arc :: clone ( & channel_manager) ,
13801385 } ,
13811386 GossipSync :: Rapid ( _) => MessageHandler {
13821387 chan_handler : Arc :: clone ( & channel_manager) ,
13831388 route_handler : Arc :: new ( IgnoringMessageHandler { } )
13841389 as Arc < dyn RoutingMessageHandler + Sync + Send > ,
13851390 onion_message_handler : Arc :: clone ( & onion_messenger) ,
13861391 custom_message_handler,
1392+ send_only_message_handler : Arc :: clone ( & channel_manager) ,
13871393 } ,
13881394 GossipSync :: None => {
13891395 unreachable ! ( "We must always have a gossip sync!" ) ;
0 commit comments