@@ -48,7 +48,7 @@ use lightning::routing::router::DefaultRouter;
4848use lightning:: routing:: scoring:: {
4949 ProbabilisticScorer , ProbabilisticScoringDecayParameters , ProbabilisticScoringFeeParameters ,
5050} ;
51- use lightning:: sign:: EntropySource ;
51+ use lightning:: sign:: { EntropySource , NodeSigner } ;
5252
5353use lightning:: util:: persist:: {
5454 read_channel_monitors, CHANNEL_MANAGER_PERSISTENCE_KEY ,
@@ -1278,15 +1278,6 @@ fn build_with_store_internal(
12781278 } ,
12791279 } ;
12801280
1281- // Initialize the ChainMonitor
1282- let chain_monitor: Arc < ChainMonitor > = Arc :: new ( chainmonitor:: ChainMonitor :: new (
1283- Some ( Arc :: clone ( & chain_source) ) ,
1284- Arc :: clone ( & tx_broadcaster) ,
1285- Arc :: clone ( & logger) ,
1286- Arc :: clone ( & fee_estimator) ,
1287- Arc :: clone ( & kv_store) ,
1288- ) ) ;
1289-
12901281 // Initialize the KeysManager
12911282 let cur_time = SystemTime :: now ( ) . duration_since ( SystemTime :: UNIX_EPOCH ) . map_err ( |e| {
12921283 log_error ! ( logger, "Failed to get current time: {}" , e) ;
@@ -1302,6 +1293,19 @@ fn build_with_store_internal(
13021293 Arc :: clone ( & logger) ,
13031294 ) ) ;
13041295
1296+ let peer_storage_key = keys_manager. get_peer_storage_key ( ) ;
1297+
1298+ // Initialize the ChainMonitor
1299+ let chain_monitor: Arc < ChainMonitor > = Arc :: new ( chainmonitor:: ChainMonitor :: new (
1300+ Some ( Arc :: clone ( & chain_source) ) ,
1301+ Arc :: clone ( & tx_broadcaster) ,
1302+ Arc :: clone ( & logger) ,
1303+ Arc :: clone ( & fee_estimator) ,
1304+ Arc :: clone ( & kv_store) ,
1305+ Arc :: clone ( & keys_manager) ,
1306+ peer_storage_key,
1307+ ) ) ;
1308+
13051309 // Initialize the network graph, scorer, and router
13061310 let network_graph =
13071311 match io:: utils:: read_network_graph ( Arc :: clone ( & kv_store) , Arc :: clone ( & logger) ) {
@@ -1552,13 +1556,15 @@ fn build_with_store_internal(
15521556 as Arc < dyn RoutingMessageHandler + Sync + Send > ,
15531557 onion_message_handler : Arc :: clone ( & onion_messenger) ,
15541558 custom_message_handler,
1559+ send_only_message_handler : Arc :: clone ( & chain_monitor) ,
15551560 } ,
15561561 GossipSync :: Rapid ( _) => MessageHandler {
15571562 chan_handler : Arc :: clone ( & channel_manager) ,
15581563 route_handler : Arc :: new ( IgnoringMessageHandler { } )
15591564 as Arc < dyn RoutingMessageHandler + Sync + Send > ,
15601565 onion_message_handler : Arc :: clone ( & onion_messenger) ,
15611566 custom_message_handler,
1567+ send_only_message_handler : Arc :: clone ( & chain_monitor) ,
15621568 } ,
15631569 GossipSync :: None => {
15641570 unreachable ! ( "We must always have a gossip sync!" ) ;
0 commit comments