@@ -47,7 +47,7 @@ use lightning::routing::router::DefaultRouter;
47
47
use lightning:: routing:: scoring:: {
48
48
ProbabilisticScorer , ProbabilisticScoringDecayParameters , ProbabilisticScoringFeeParameters ,
49
49
} ;
50
- use lightning:: sign:: EntropySource ;
50
+ use lightning:: sign:: { EntropySource , NodeSigner } ;
51
51
52
52
use lightning:: util:: persist:: {
53
53
read_channel_monitors, CHANNEL_MANAGER_PERSISTENCE_KEY ,
@@ -1201,15 +1201,6 @@ fn build_with_store_internal(
1201
1201
1202
1202
let runtime = Arc :: new ( RwLock :: new ( None ) ) ;
1203
1203
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
-
1213
1204
// Initialize the KeysManager
1214
1205
let cur_time = SystemTime :: now ( ) . duration_since ( SystemTime :: UNIX_EPOCH ) . map_err ( |e| {
1215
1206
log_error ! ( logger, "Failed to get current time: {}" , e) ;
@@ -1225,6 +1216,19 @@ fn build_with_store_internal(
1225
1216
Arc :: clone ( & logger) ,
1226
1217
) ) ;
1227
1218
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
+
1228
1232
// Initialize the network graph, scorer, and router
1229
1233
let network_graph =
1230
1234
match io:: utils:: read_network_graph ( Arc :: clone ( & kv_store) , Arc :: clone ( & logger) ) {
@@ -1475,13 +1479,15 @@ fn build_with_store_internal(
1475
1479
as Arc < dyn RoutingMessageHandler + Sync + Send > ,
1476
1480
onion_message_handler : Arc :: clone ( & onion_messenger) ,
1477
1481
custom_message_handler,
1482
+ send_only_message_handler : Arc :: clone ( & chain_monitor) ,
1478
1483
} ,
1479
1484
GossipSync :: Rapid ( _) => MessageHandler {
1480
1485
chan_handler : Arc :: clone ( & channel_manager) ,
1481
1486
route_handler : Arc :: new ( IgnoringMessageHandler { } )
1482
1487
as Arc < dyn RoutingMessageHandler + Sync + Send > ,
1483
1488
onion_message_handler : Arc :: clone ( & onion_messenger) ,
1484
1489
custom_message_handler,
1490
+ send_only_message_handler : Arc :: clone ( & chain_monitor) ,
1485
1491
} ,
1486
1492
GossipSync :: None => {
1487
1493
unreachable ! ( "We must always have a gossip sync!" ) ;
0 commit comments