@@ -46,7 +46,7 @@ use lightning::routing::router::DefaultRouter;
46
46
use lightning:: routing:: scoring:: {
47
47
ProbabilisticScorer , ProbabilisticScoringDecayParameters , ProbabilisticScoringFeeParameters ,
48
48
} ;
49
- use lightning:: sign:: EntropySource ;
49
+ use lightning:: sign:: { EntropySource , NodeSigner } ;
50
50
51
51
use lightning:: util:: persist:: {
52
52
read_channel_monitors, CHANNEL_MANAGER_PERSISTENCE_KEY ,
@@ -1103,15 +1103,6 @@ fn build_with_store_internal(
1103
1103
1104
1104
let runtime = Arc :: new ( RwLock :: new ( None ) ) ;
1105
1105
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
-
1115
1106
// Initialize the KeysManager
1116
1107
let cur_time = SystemTime :: now ( ) . duration_since ( SystemTime :: UNIX_EPOCH ) . map_err ( |e| {
1117
1108
log_error ! ( logger, "Failed to get current time: {}" , e) ;
@@ -1127,6 +1118,19 @@ fn build_with_store_internal(
1127
1118
Arc :: clone ( & logger) ,
1128
1119
) ) ;
1129
1120
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
+
1130
1134
// Initialize the network graph, scorer, and router
1131
1135
let network_graph =
1132
1136
match io:: utils:: read_network_graph ( Arc :: clone ( & kv_store) , Arc :: clone ( & logger) ) {
@@ -1377,13 +1381,15 @@ fn build_with_store_internal(
1377
1381
as Arc < dyn RoutingMessageHandler + Sync + Send > ,
1378
1382
onion_message_handler : Arc :: clone ( & onion_messenger) ,
1379
1383
custom_message_handler,
1384
+ send_only_message_handler : Arc :: clone ( & channel_manager) ,
1380
1385
} ,
1381
1386
GossipSync :: Rapid ( _) => MessageHandler {
1382
1387
chan_handler : Arc :: clone ( & channel_manager) ,
1383
1388
route_handler : Arc :: new ( IgnoringMessageHandler { } )
1384
1389
as Arc < dyn RoutingMessageHandler + Sync + Send > ,
1385
1390
onion_message_handler : Arc :: clone ( & onion_messenger) ,
1386
1391
custom_message_handler,
1392
+ send_only_message_handler : Arc :: clone ( & channel_manager) ,
1387
1393
} ,
1388
1394
GossipSync :: None => {
1389
1395
unreachable ! ( "We must always have a gossip sync!" ) ;
0 commit comments