@@ -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 ,
@@ -1201,15 +1201,6 @@ fn build_with_store_internal(
12011201
12021202 let runtime = Arc :: new ( RwLock :: new ( None ) ) ;
12031203
1204- // Initialize the ChainMonitor
1205- let chain_monitor: Arc < ChainMonitor > = Arc :: new ( chainmonitor:: ChainMonitor :: new (
1206- Some ( Arc :: clone ( & chain_source) ) ,
1207- Arc :: clone ( & tx_broadcaster) ,
1208- Arc :: clone ( & logger) ,
1209- Arc :: clone ( & fee_estimator) ,
1210- Arc :: clone ( & kv_store) ,
1211- ) ) ;
1212-
12131204 // Initialize the KeysManager
12141205 let cur_time = SystemTime :: now ( ) . duration_since ( SystemTime :: UNIX_EPOCH ) . map_err ( |e| {
12151206 log_error ! ( logger, "Failed to get current time: {}" , e) ;
@@ -1225,6 +1216,19 @@ fn build_with_store_internal(
12251216 Arc :: clone ( & logger) ,
12261217 ) ) ;
12271218
1219+ let peer_storage_key = keys_manager. get_peer_storage_key ( ) ;
1220+
1221+ // Initialize the ChainMonitor
1222+ let chain_monitor: Arc < ChainMonitor > = Arc :: new ( chainmonitor:: ChainMonitor :: new (
1223+ Some ( Arc :: clone ( & chain_source) ) ,
1224+ Arc :: clone ( & tx_broadcaster) ,
1225+ Arc :: clone ( & logger) ,
1226+ Arc :: clone ( & fee_estimator) ,
1227+ Arc :: clone ( & kv_store) ,
1228+ Arc :: clone ( & keys_manager) ,
1229+ peer_storage_key,
1230+ ) ) ;
1231+
12281232 // Initialize the network graph, scorer, and router
12291233 let network_graph =
12301234 match io:: utils:: read_network_graph ( Arc :: clone ( & kv_store) , Arc :: clone ( & logger) ) {
@@ -1475,13 +1479,15 @@ fn build_with_store_internal(
14751479 as Arc < dyn RoutingMessageHandler + Sync + Send > ,
14761480 onion_message_handler : Arc :: clone ( & onion_messenger) ,
14771481 custom_message_handler,
1482+ send_only_message_handler : Arc :: clone ( & chain_monitor) ,
14781483 } ,
14791484 GossipSync :: Rapid ( _) => MessageHandler {
14801485 chan_handler : Arc :: clone ( & channel_manager) ,
14811486 route_handler : Arc :: new ( IgnoringMessageHandler { } )
14821487 as Arc < dyn RoutingMessageHandler + Sync + Send > ,
14831488 onion_message_handler : Arc :: clone ( & onion_messenger) ,
14841489 custom_message_handler,
1490+ send_only_message_handler : Arc :: clone ( & chain_monitor) ,
14851491 } ,
14861492 GossipSync :: None => {
14871493 unreachable ! ( "We must always have a gossip sync!" ) ;
0 commit comments