@@ -22,6 +22,7 @@ use lightning::ln::channelmanager::ChannelManager;
2222use lightning:: ln:: msgs:: { ChannelMessageHandler , OnionMessageHandler , RoutingMessageHandler } ;
2323use lightning:: ln:: peer_handler:: { CustomMessageHandler , PeerManager , SocketDescriptor } ;
2424use lightning:: routing:: gossip:: { NetworkGraph , P2PGossipSync } ;
25+ use lightning:: routing:: router:: Router ;
2526use lightning:: routing:: scoring:: WriteableScore ;
2627use lightning:: util:: events:: { Event , EventHandler , EventsProvider } ;
2728use lightning:: util:: logger:: Logger ;
@@ -372,6 +373,7 @@ pub async fn process_events_async<
372373 T : ' static + Deref + Send + Sync ,
373374 K : ' static + Deref + Send + Sync ,
374375 F : ' static + Deref + Send + Sync ,
376+ R : ' static + Deref + Send + Sync ,
375377 G : ' static + Deref < Target = NetworkGraph < L > > + Send + Sync ,
376378 L : ' static + Deref + Send + Sync ,
377379 P : ' static + Deref + Send + Sync ,
@@ -382,7 +384,7 @@ pub async fn process_events_async<
382384 EH : ' static + EventHandler + Send ,
383385 PS : ' static + Deref + Send ,
384386 M : ' static + Deref < Target = ChainMonitor < Signer , CF , T , F , L , P > > + Send + Sync ,
385- CM : ' static + Deref < Target = ChannelManager < CW , T , K , F , L > > + Send + Sync ,
387+ CM : ' static + Deref < Target = ChannelManager < CW , T , K , F , R , L > > + Send + Sync ,
386388 PGS : ' static + Deref < Target = P2PGossipSync < G , CA , L > > + Send + Sync ,
387389 RGS : ' static + Deref < Target = RapidGossipSync < G , L > > + Send ,
388390 UMH : ' static + Deref + Send + Sync ,
@@ -403,13 +405,14 @@ where
403405 T :: Target : ' static + BroadcasterInterface ,
404406 K :: Target : ' static + KeysInterface < Signer = Signer > ,
405407 F :: Target : ' static + FeeEstimator ,
408+ R :: Target : ' static + Router ,
406409 L :: Target : ' static + Logger ,
407410 P :: Target : ' static + Persist < Signer > ,
408411 CMH :: Target : ' static + ChannelMessageHandler ,
409412 OMH :: Target : ' static + OnionMessageHandler ,
410413 RMH :: Target : ' static + RoutingMessageHandler ,
411414 UMH :: Target : ' static + CustomMessageHandler ,
412- PS :: Target : ' static + Persister < ' a , Signer , CW , T , K , F , L , SC > ,
415+ PS :: Target : ' static + Persister < ' a , Signer , CW , T , K , F , R , L , SC > ,
413416{
414417 let mut should_continue = true ;
415418 define_run_body ! ( persister, event_handler, chain_monitor, channel_manager,
@@ -478,6 +481,7 @@ impl BackgroundProcessor {
478481 T : ' static + Deref + Send + Sync ,
479482 K : ' static + Deref + Send + Sync ,
480483 F : ' static + Deref + Send + Sync ,
484+ R : ' static + Deref + Send + Sync ,
481485 G : ' static + Deref < Target = NetworkGraph < L > > + Send + Sync ,
482486 L : ' static + Deref + Send + Sync ,
483487 P : ' static + Deref + Send + Sync ,
@@ -488,7 +492,7 @@ impl BackgroundProcessor {
488492 EH : ' static + EventHandler + Send ,
489493 PS : ' static + Deref + Send ,
490494 M : ' static + Deref < Target = ChainMonitor < Signer , CF , T , F , L , P > > + Send + Sync ,
491- CM : ' static + Deref < Target = ChannelManager < CW , T , K , F , L > > + Send + Sync ,
495+ CM : ' static + Deref < Target = ChannelManager < CW , T , K , F , R , L > > + Send + Sync ,
492496 PGS : ' static + Deref < Target = P2PGossipSync < G , CA , L > > + Send + Sync ,
493497 RGS : ' static + Deref < Target = RapidGossipSync < G , L > > + Send ,
494498 UMH : ' static + Deref + Send + Sync ,
@@ -506,13 +510,14 @@ impl BackgroundProcessor {
506510 T :: Target : ' static + BroadcasterInterface ,
507511 K :: Target : ' static + KeysInterface < Signer = Signer > ,
508512 F :: Target : ' static + FeeEstimator ,
513+ R :: Target : ' static + Router ,
509514 L :: Target : ' static + Logger ,
510515 P :: Target : ' static + Persist < Signer > ,
511516 CMH :: Target : ' static + ChannelMessageHandler ,
512517 OMH :: Target : ' static + OnionMessageHandler ,
513518 RMH :: Target : ' static + RoutingMessageHandler ,
514519 UMH :: Target : ' static + CustomMessageHandler ,
515- PS :: Target : ' static + Persister < ' a , Signer , CW , T , K , F , L , SC > ,
520+ PS :: Target : ' static + Persister < ' a , Signer , CW , T , K , F , R , L , SC > ,
516521 {
517522 let stop_thread = Arc :: new ( AtomicBool :: new ( false ) ) ;
518523 let stop_thread_clone = stop_thread. clone ( ) ;
@@ -625,7 +630,7 @@ mod tests {
625630 type RGS = Arc < RapidGossipSync < Arc < NetworkGraph < Arc < test_utils:: TestLogger > > > , Arc < test_utils:: TestLogger > > > ;
626631
627632 struct Node {
628- node : Arc < SimpleArcChannelManager < ChainMonitor , test_utils:: TestBroadcaster , test_utils:: TestFeeEstimator , test_utils:: TestLogger > > ,
633+ node : Arc < SimpleArcChannelManager < ChainMonitor , test_utils:: TestBroadcaster , test_utils:: TestFeeEstimator , test_utils:: TestRouter , test_utils :: TestLogger > > ,
629634 p2p_gossip_sync : PGS ,
630635 rapid_gossip_sync : RGS ,
631636 peer_manager : Arc < PeerManager < TestDescriptor , Arc < test_utils:: TestChannelMessageHandler > , Arc < test_utils:: TestRoutingMessageHandler > , IgnoringMessageHandler , Arc < test_utils:: TestLogger > , IgnoringMessageHandler > > ,
@@ -732,6 +737,7 @@ mod tests {
732737 for i in 0 ..num_nodes {
733738 let tx_broadcaster = Arc :: new ( test_utils:: TestBroadcaster { txn_broadcasted : Mutex :: new ( Vec :: new ( ) ) , blocks : Arc :: new ( Mutex :: new ( Vec :: new ( ) ) ) } ) ;
734739 let fee_estimator = Arc :: new ( test_utils:: TestFeeEstimator { sat_per_kw : Mutex :: new ( 253 ) } ) ;
740+ let router = Arc :: new ( test_utils:: TestRouter { } ) ;
735741 let chain_source = Arc :: new ( test_utils:: TestChainSource :: new ( Network :: Testnet ) ) ;
736742 let logger = Arc :: new ( test_utils:: TestLogger :: with_id ( format ! ( "node {}" , i) ) ) ;
737743 let persister = Arc :: new ( FilesystemPersister :: new ( format ! ( "{}_persister_{}" , persist_dir, i) ) ) ;
@@ -743,7 +749,7 @@ mod tests {
743749 let chain_monitor = Arc :: new ( chainmonitor:: ChainMonitor :: new ( Some ( chain_source. clone ( ) ) , tx_broadcaster. clone ( ) , logger. clone ( ) , fee_estimator. clone ( ) , persister. clone ( ) ) ) ;
744750 let best_block = BestBlock :: from_genesis ( network) ;
745751 let params = ChainParameters { network, best_block } ;
746- let manager = Arc :: new ( ChannelManager :: new ( fee_estimator. clone ( ) , chain_monitor. clone ( ) , tx_broadcaster. clone ( ) , logger. clone ( ) , keys_manager. clone ( ) , UserConfig :: default ( ) , params) ) ;
752+ let manager = Arc :: new ( ChannelManager :: new ( fee_estimator. clone ( ) , chain_monitor. clone ( ) , tx_broadcaster. clone ( ) , router . clone ( ) , logger. clone ( ) , keys_manager. clone ( ) , UserConfig :: default ( ) , params) ) ;
747753 let network_graph = Arc :: new ( NetworkGraph :: new ( genesis_block. header . block_hash ( ) , logger. clone ( ) ) ) ;
748754 let p2p_gossip_sync = Arc :: new ( P2PGossipSync :: new ( network_graph. clone ( ) , Some ( chain_source. clone ( ) ) , logger. clone ( ) ) ) ;
749755 let rapid_gossip_sync = Arc :: new ( RapidGossipSync :: new ( network_graph. clone ( ) ) ) ;
0 commit comments