@@ -47,7 +47,7 @@ use lightning::routing::router::DefaultRouter;
4747use lightning:: routing:: scoring:: {
4848 ProbabilisticScorer , ProbabilisticScoringDecayParameters , ProbabilisticScoringFeeParameters ,
4949} ;
50- use lightning:: sign:: EntropySource ;
50+ use lightning:: sign:: { EntropySource , NodeSigner } ;
5151
5252use lightning:: util:: persist:: {
5353 read_channel_monitors, CHANNEL_MANAGER_PERSISTENCE_KEY ,
@@ -1241,15 +1241,6 @@ fn build_with_store_internal(
12411241
12421242 let runtime = Arc :: new ( RwLock :: new ( None ) ) ;
12431243
1244- // Initialize the ChainMonitor
1245- let chain_monitor: Arc < ChainMonitor > = Arc :: new ( chainmonitor:: ChainMonitor :: new (
1246- Some ( Arc :: clone ( & chain_source) ) ,
1247- Arc :: clone ( & tx_broadcaster) ,
1248- Arc :: clone ( & logger) ,
1249- Arc :: clone ( & fee_estimator) ,
1250- Arc :: clone ( & kv_store) ,
1251- ) ) ;
1252-
12531244 // Initialize the KeysManager
12541245 let cur_time = SystemTime :: now ( ) . duration_since ( SystemTime :: UNIX_EPOCH ) . map_err ( |e| {
12551246 log_error ! ( logger, "Failed to get current time: {}" , e) ;
@@ -1265,6 +1256,19 @@ fn build_with_store_internal(
12651256 Arc :: clone ( & logger) ,
12661257 ) ) ;
12671258
1259+ let peer_storage_key = keys_manager. get_peer_storage_key ( ) ;
1260+
1261+ // Initialize the ChainMonitor
1262+ let chain_monitor: Arc < ChainMonitor > = Arc :: new ( chainmonitor:: ChainMonitor :: new (
1263+ Some ( Arc :: clone ( & chain_source) ) ,
1264+ Arc :: clone ( & tx_broadcaster) ,
1265+ Arc :: clone ( & logger) ,
1266+ Arc :: clone ( & fee_estimator) ,
1267+ Arc :: clone ( & kv_store) ,
1268+ Arc :: clone ( & keys_manager) ,
1269+ peer_storage_key,
1270+ ) ) ;
1271+
12681272 // Initialize the network graph, scorer, and router
12691273 let network_graph =
12701274 match io:: utils:: read_network_graph ( Arc :: clone ( & kv_store) , Arc :: clone ( & logger) ) {
@@ -1515,13 +1519,15 @@ fn build_with_store_internal(
15151519 as Arc < dyn RoutingMessageHandler + Sync + Send > ,
15161520 onion_message_handler : Arc :: clone ( & onion_messenger) ,
15171521 custom_message_handler,
1522+ send_only_message_handler : Arc :: clone ( & chain_monitor) ,
15181523 } ,
15191524 GossipSync :: Rapid ( _) => MessageHandler {
15201525 chan_handler : Arc :: clone ( & channel_manager) ,
15211526 route_handler : Arc :: new ( IgnoringMessageHandler { } )
15221527 as Arc < dyn RoutingMessageHandler + Sync + Send > ,
15231528 onion_message_handler : Arc :: clone ( & onion_messenger) ,
15241529 custom_message_handler,
1530+ send_only_message_handler : Arc :: clone ( & chain_monitor) ,
15251531 } ,
15261532 GossipSync :: None => {
15271533 unreachable ! ( "We must always have a gossip sync!" ) ;
0 commit comments