@@ -18,7 +18,7 @@ use lightning::chain;
1818use lightning:: chain:: chaininterface:: { BroadcasterInterface , FeeEstimator } ;
1919use lightning:: chain:: chainmonitor:: { ChainMonitor , Persist } ;
2020use lightning:: chain:: keysinterface:: { Sign , KeysInterface } ;
21- use lightning:: ln:: channelmanager:: ChannelManager ;
21+ use lightning:: ln:: channelmanager:: { ChannelManager , Router } ;
2222use lightning:: ln:: msgs:: { ChannelMessageHandler , OnionMessageHandler , RoutingMessageHandler } ;
2323use lightning:: ln:: peer_handler:: { CustomMessageHandler , PeerManager , SocketDescriptor } ;
2424use lightning:: routing:: gossip:: { NetworkGraph , P2PGossipSync } ;
@@ -372,6 +372,7 @@ pub async fn process_events_async<
372372 T : ' static + Deref + Send + Sync ,
373373 K : ' static + Deref + Send + Sync ,
374374 F : ' static + Deref + Send + Sync ,
375+ R : ' static + Deref + Send + Sync ,
375376 G : ' static + Deref < Target = NetworkGraph < L > > + Send + Sync ,
376377 L : ' static + Deref + Send + Sync ,
377378 P : ' static + Deref + Send + Sync ,
@@ -382,7 +383,7 @@ pub async fn process_events_async<
382383 EH : ' static + EventHandler + Send ,
383384 PS : ' static + Deref + Send ,
384385 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 ,
386+ CM : ' static + Deref < Target = ChannelManager < CW , T , K , F , R , L > > + Send + Sync ,
386387 PGS : ' static + Deref < Target = P2PGossipSync < G , CA , L > > + Send + Sync ,
387388 RGS : ' static + Deref < Target = RapidGossipSync < G , L > > + Send ,
388389 UMH : ' static + Deref + Send + Sync ,
@@ -403,13 +404,14 @@ where
403404 T :: Target : ' static + BroadcasterInterface ,
404405 K :: Target : ' static + KeysInterface < Signer = Signer > ,
405406 F :: Target : ' static + FeeEstimator ,
407+ R :: Target : ' static + Router ,
406408 L :: Target : ' static + Logger ,
407409 P :: Target : ' static + Persist < Signer > ,
408410 CMH :: Target : ' static + ChannelMessageHandler ,
409411 OMH :: Target : ' static + OnionMessageHandler ,
410412 RMH :: Target : ' static + RoutingMessageHandler ,
411413 UMH :: Target : ' static + CustomMessageHandler ,
412- PS :: Target : ' static + Persister < ' a , Signer , CW , T , K , F , L , SC > ,
414+ PS :: Target : ' static + Persister < ' a , Signer , CW , T , K , F , R , L , SC > ,
413415{
414416 let mut should_continue = true ;
415417 define_run_body ! ( persister, event_handler, chain_monitor, channel_manager,
@@ -478,6 +480,7 @@ impl BackgroundProcessor {
478480 T : ' static + Deref + Send + Sync ,
479481 K : ' static + Deref + Send + Sync ,
480482 F : ' static + Deref + Send + Sync ,
483+ R : ' static + Deref + Send + Sync ,
481484 G : ' static + Deref < Target = NetworkGraph < L > > + Send + Sync ,
482485 L : ' static + Deref + Send + Sync ,
483486 P : ' static + Deref + Send + Sync ,
@@ -488,7 +491,7 @@ impl BackgroundProcessor {
488491 EH : ' static + EventHandler + Send ,
489492 PS : ' static + Deref + Send ,
490493 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 ,
494+ CM : ' static + Deref < Target = ChannelManager < CW , T , K , F , R , L > > + Send + Sync ,
492495 PGS : ' static + Deref < Target = P2PGossipSync < G , CA , L > > + Send + Sync ,
493496 RGS : ' static + Deref < Target = RapidGossipSync < G , L > > + Send ,
494497 UMH : ' static + Deref + Send + Sync ,
@@ -506,13 +509,14 @@ impl BackgroundProcessor {
506509 T :: Target : ' static + BroadcasterInterface ,
507510 K :: Target : ' static + KeysInterface < Signer = Signer > ,
508511 F :: Target : ' static + FeeEstimator ,
512+ R :: Target : ' static + Router ,
509513 L :: Target : ' static + Logger ,
510514 P :: Target : ' static + Persist < Signer > ,
511515 CMH :: Target : ' static + ChannelMessageHandler ,
512516 OMH :: Target : ' static + OnionMessageHandler ,
513517 RMH :: Target : ' static + RoutingMessageHandler ,
514518 UMH :: Target : ' static + CustomMessageHandler ,
515- PS :: Target : ' static + Persister < ' a , Signer , CW , T , K , F , L , SC > ,
519+ PS :: Target : ' static + Persister < ' a , Signer , CW , T , K , F , R , L , SC > ,
516520 {
517521 let stop_thread = Arc :: new ( AtomicBool :: new ( false ) ) ;
518522 let stop_thread_clone = stop_thread. clone ( ) ;
@@ -625,7 +629,7 @@ mod tests {
625629 type RGS = Arc < RapidGossipSync < Arc < NetworkGraph < Arc < test_utils:: TestLogger > > > , Arc < test_utils:: TestLogger > > > ;
626630
627631 struct Node {
628- node : Arc < SimpleArcChannelManager < ChainMonitor , test_utils:: TestBroadcaster , test_utils:: TestFeeEstimator , test_utils:: TestLogger > > ,
632+ node : Arc < SimpleArcChannelManager < ChainMonitor , test_utils:: TestBroadcaster , test_utils:: TestFeeEstimator , test_utils:: TestRouter , test_utils :: TestLogger > > ,
629633 p2p_gossip_sync : PGS ,
630634 rapid_gossip_sync : RGS ,
631635 peer_manager : Arc < PeerManager < TestDescriptor , Arc < test_utils:: TestChannelMessageHandler > , Arc < test_utils:: TestRoutingMessageHandler > , IgnoringMessageHandler , Arc < test_utils:: TestLogger > , IgnoringMessageHandler > > ,
@@ -732,6 +736,7 @@ mod tests {
732736 for i in 0 ..num_nodes {
733737 let tx_broadcaster = Arc :: new ( test_utils:: TestBroadcaster { txn_broadcasted : Mutex :: new ( Vec :: new ( ) ) , blocks : Arc :: new ( Mutex :: new ( Vec :: new ( ) ) ) } ) ;
734738 let fee_estimator = Arc :: new ( test_utils:: TestFeeEstimator { sat_per_kw : Mutex :: new ( 253 ) } ) ;
739+ let router = Arc :: new ( test_utils:: TestRouter { } ) ;
735740 let chain_source = Arc :: new ( test_utils:: TestChainSource :: new ( Network :: Testnet ) ) ;
736741 let logger = Arc :: new ( test_utils:: TestLogger :: with_id ( format ! ( "node {}" , i) ) ) ;
737742 let persister = Arc :: new ( FilesystemPersister :: new ( format ! ( "{}_persister_{}" , persist_dir, i) ) ) ;
@@ -743,7 +748,7 @@ mod tests {
743748 let chain_monitor = Arc :: new ( chainmonitor:: ChainMonitor :: new ( Some ( chain_source. clone ( ) ) , tx_broadcaster. clone ( ) , logger. clone ( ) , fee_estimator. clone ( ) , persister. clone ( ) ) ) ;
744749 let best_block = BestBlock :: from_genesis ( network) ;
745750 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) ) ;
751+ 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) ) ;
747752 let network_graph = Arc :: new ( NetworkGraph :: new ( genesis_block. header . block_hash ( ) , logger. clone ( ) ) ) ;
748753 let p2p_gossip_sync = Arc :: new ( P2PGossipSync :: new ( network_graph. clone ( ) , Some ( chain_source. clone ( ) ) , logger. clone ( ) ) ) ;
749754 let rapid_gossip_sync = Arc :: new ( RapidGossipSync :: new ( network_graph. clone ( ) ) ) ;
0 commit comments