@@ -18,7 +18,7 @@ use lightning::chain;
18
18
use lightning:: chain:: chaininterface:: { BroadcasterInterface , FeeEstimator } ;
19
19
use lightning:: chain:: chainmonitor:: { ChainMonitor , Persist } ;
20
20
use lightning:: chain:: keysinterface:: { Sign , KeysInterface } ;
21
- use lightning:: ln:: channelmanager:: ChannelManager ;
21
+ use lightning:: ln:: channelmanager:: { ChannelManager , Router } ;
22
22
use lightning:: ln:: msgs:: { ChannelMessageHandler , OnionMessageHandler , RoutingMessageHandler } ;
23
23
use lightning:: ln:: peer_handler:: { CustomMessageHandler , PeerManager , SocketDescriptor } ;
24
24
use lightning:: routing:: gossip:: { NetworkGraph , P2PGossipSync } ;
@@ -372,6 +372,7 @@ pub async fn process_events_async<
372
372
T : ' static + Deref + Send + Sync ,
373
373
K : ' static + Deref + Send + Sync ,
374
374
F : ' static + Deref + Send + Sync ,
375
+ R : ' static + Deref + Send + Sync ,
375
376
G : ' static + Deref < Target = NetworkGraph < L > > + Send + Sync ,
376
377
L : ' static + Deref + Send + Sync ,
377
378
P : ' static + Deref + Send + Sync ,
@@ -382,7 +383,7 @@ pub async fn process_events_async<
382
383
EH : ' static + EventHandler + Send ,
383
384
PS : ' static + Deref + Send ,
384
385
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 ,
386
387
PGS : ' static + Deref < Target = P2PGossipSync < G , CA , L > > + Send + Sync ,
387
388
RGS : ' static + Deref < Target = RapidGossipSync < G , L > > + Send ,
388
389
UMH : ' static + Deref + Send + Sync ,
@@ -403,13 +404,14 @@ where
403
404
T :: Target : ' static + BroadcasterInterface ,
404
405
K :: Target : ' static + KeysInterface < Signer = Signer > ,
405
406
F :: Target : ' static + FeeEstimator ,
407
+ R :: Target : ' static + Router ,
406
408
L :: Target : ' static + Logger ,
407
409
P :: Target : ' static + Persist < Signer > ,
408
410
CMH :: Target : ' static + ChannelMessageHandler ,
409
411
OMH :: Target : ' static + OnionMessageHandler ,
410
412
RMH :: Target : ' static + RoutingMessageHandler ,
411
413
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 > ,
413
415
{
414
416
let mut should_continue = true ;
415
417
define_run_body ! ( persister, event_handler, chain_monitor, channel_manager,
@@ -478,6 +480,7 @@ impl BackgroundProcessor {
478
480
T : ' static + Deref + Send + Sync ,
479
481
K : ' static + Deref + Send + Sync ,
480
482
F : ' static + Deref + Send + Sync ,
483
+ R : ' static + Deref + Send + Sync ,
481
484
G : ' static + Deref < Target = NetworkGraph < L > > + Send + Sync ,
482
485
L : ' static + Deref + Send + Sync ,
483
486
P : ' static + Deref + Send + Sync ,
@@ -488,7 +491,7 @@ impl BackgroundProcessor {
488
491
EH : ' static + EventHandler + Send ,
489
492
PS : ' static + Deref + Send ,
490
493
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 ,
492
495
PGS : ' static + Deref < Target = P2PGossipSync < G , CA , L > > + Send + Sync ,
493
496
RGS : ' static + Deref < Target = RapidGossipSync < G , L > > + Send ,
494
497
UMH : ' static + Deref + Send + Sync ,
@@ -506,13 +509,14 @@ impl BackgroundProcessor {
506
509
T :: Target : ' static + BroadcasterInterface ,
507
510
K :: Target : ' static + KeysInterface < Signer = Signer > ,
508
511
F :: Target : ' static + FeeEstimator ,
512
+ R :: Target : ' static + Router ,
509
513
L :: Target : ' static + Logger ,
510
514
P :: Target : ' static + Persist < Signer > ,
511
515
CMH :: Target : ' static + ChannelMessageHandler ,
512
516
OMH :: Target : ' static + OnionMessageHandler ,
513
517
RMH :: Target : ' static + RoutingMessageHandler ,
514
518
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 > ,
516
520
{
517
521
let stop_thread = Arc :: new ( AtomicBool :: new ( false ) ) ;
518
522
let stop_thread_clone = stop_thread. clone ( ) ;
@@ -625,7 +629,7 @@ mod tests {
625
629
type RGS = Arc < RapidGossipSync < Arc < NetworkGraph < Arc < test_utils:: TestLogger > > > , Arc < test_utils:: TestLogger > > > ;
626
630
627
631
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 > > ,
629
633
p2p_gossip_sync : PGS ,
630
634
rapid_gossip_sync : RGS ,
631
635
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 {
732
736
for i in 0 ..num_nodes {
733
737
let tx_broadcaster = Arc :: new ( test_utils:: TestBroadcaster { txn_broadcasted : Mutex :: new ( Vec :: new ( ) ) , blocks : Arc :: new ( Mutex :: new ( Vec :: new ( ) ) ) } ) ;
734
738
let fee_estimator = Arc :: new ( test_utils:: TestFeeEstimator { sat_per_kw : Mutex :: new ( 253 ) } ) ;
739
+ let router = Arc :: new ( test_utils:: TestRouter { } ) ;
735
740
let chain_source = Arc :: new ( test_utils:: TestChainSource :: new ( Network :: Testnet ) ) ;
736
741
let logger = Arc :: new ( test_utils:: TestLogger :: with_id ( format ! ( "node {}" , i) ) ) ;
737
742
let persister = Arc :: new ( FilesystemPersister :: new ( format ! ( "{}_persister_{}" , persist_dir, i) ) ) ;
@@ -743,7 +748,7 @@ mod tests {
743
748
let chain_monitor = Arc :: new ( chainmonitor:: ChainMonitor :: new ( Some ( chain_source. clone ( ) ) , tx_broadcaster. clone ( ) , logger. clone ( ) , fee_estimator. clone ( ) , persister. clone ( ) ) ) ;
744
749
let best_block = BestBlock :: from_genesis ( network) ;
745
750
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) ) ;
747
752
let network_graph = Arc :: new ( NetworkGraph :: new ( genesis_block. header . block_hash ( ) , logger. clone ( ) ) ) ;
748
753
let p2p_gossip_sync = Arc :: new ( P2PGossipSync :: new ( network_graph. clone ( ) , Some ( chain_source. clone ( ) ) , logger. clone ( ) ) ) ;
749
754
let rapid_gossip_sync = Arc :: new ( RapidGossipSync :: new ( network_graph. clone ( ) ) ) ;
0 commit comments