@@ -45,7 +45,7 @@ use chain::transaction::{OutPoint, TransactionData};
45
45
use ln:: { PaymentHash , PaymentPreimage , PaymentSecret } ;
46
46
use ln:: channel:: { Channel , ChannelError , ChannelUpdateStatus , UpdateFulfillCommitFetch } ;
47
47
use ln:: features:: { InitFeatures , NodeFeatures } ;
48
- use routing:: router:: { Payee , PaymentPathRetry , Route , RouteHop } ;
48
+ use routing:: router:: { Payee , Route , RouteHop , RouteParameters } ;
49
49
use ln:: msgs;
50
50
use ln:: msgs:: NetAddress ;
51
51
use ln:: onion_utils;
@@ -3112,7 +3112,7 @@ impl<Signer: Sign, M: Deref, T: Deref, K: Deref, F: Deref, L: Deref> ChannelMana
3112
3112
!payment. get ( ) . is_fulfilled ( )
3113
3113
{
3114
3114
let retry = if let Some ( payee_data) = payee {
3115
- Some ( PaymentPathRetry {
3115
+ Some ( RouteParameters {
3116
3116
payee : payee_data,
3117
3117
final_value_msat : path_last_hop. fee_msat ,
3118
3118
final_cltv_expiry_delta : path_last_hop. cltv_expiry_delta ,
@@ -3183,7 +3183,7 @@ impl<Signer: Sign, M: Deref, T: Deref, K: Deref, F: Deref, L: Deref> ChannelMana
3183
3183
}
3184
3184
mem:: drop ( channel_state_lock) ;
3185
3185
let retry = if let Some ( payee_data) = payee {
3186
- Some ( PaymentPathRetry {
3186
+ Some ( RouteParameters {
3187
3187
payee : payee_data. clone ( ) ,
3188
3188
final_value_msat : path_last_hop. fee_msat ,
3189
3189
final_cltv_expiry_delta : path_last_hop. cltv_expiry_delta ,
@@ -6036,15 +6036,14 @@ mod tests {
6036
6036
use core:: time:: Duration ;
6037
6037
use ln:: { PaymentPreimage , PaymentHash , PaymentSecret } ;
6038
6038
use ln:: channelmanager:: { PaymentId , PaymentSendFailure } ;
6039
- use ln:: features:: { InitFeatures , InvoiceFeatures } ;
6039
+ use ln:: features:: InitFeatures ;
6040
6040
use ln:: functional_test_utils:: * ;
6041
6041
use ln:: msgs;
6042
6042
use ln:: msgs:: ChannelMessageHandler ;
6043
- use routing:: router:: { Payee , get_keysend_route , get_route } ;
6043
+ use routing:: router:: { Payee , RouteParameters , find_route } ;
6044
6044
use routing:: scorer:: Scorer ;
6045
6045
use util:: errors:: APIError ;
6046
6046
use util:: events:: { Event , MessageSendEvent , MessageSendEventsProvider } ;
6047
- use util:: test_utils;
6048
6047
6049
6048
#[ cfg( feature = "std" ) ]
6050
6049
#[ test]
@@ -6280,17 +6279,22 @@ mod tests {
6280
6279
let node_chanmgrs = create_node_chanmgrs ( 2 , & node_cfgs, & [ None , None ] ) ;
6281
6280
let nodes = create_network ( 2 , & node_cfgs, & node_chanmgrs) ;
6282
6281
create_announced_chan_between_nodes ( & nodes, 0 , 1 , InitFeatures :: known ( ) , InitFeatures :: known ( ) ) ;
6283
- let logger = test_utils:: TestLogger :: new ( ) ;
6284
6282
let scorer = Scorer :: new ( 0 ) ;
6285
6283
6286
6284
// To start (1), send a regular payment but don't claim it.
6287
6285
let expected_route = [ & nodes[ 1 ] ] ;
6288
6286
let ( payment_preimage, payment_hash, _) = route_payment ( & nodes[ 0 ] , & expected_route, 100_000 ) ;
6289
6287
6290
6288
// Next, attempt a keysend payment and make sure it fails.
6291
- let payee = Payee :: new ( expected_route. last ( ) . unwrap ( ) . node . get_our_node_id ( ) )
6292
- . with_features ( InvoiceFeatures :: known ( ) ) ;
6293
- let route = get_route ( & nodes[ 0 ] . node . get_our_node_id ( ) , & payee, & nodes[ 0 ] . net_graph_msg_handler . network_graph , None , 100_000 , TEST_FINAL_CLTV , & logger, & scorer) . unwrap ( ) ;
6289
+ let params = RouteParameters {
6290
+ payee : Payee :: for_keysend ( expected_route. last ( ) . unwrap ( ) . node . get_our_node_id ( ) ) ,
6291
+ final_value_msat : 100_000 ,
6292
+ final_cltv_expiry_delta : TEST_FINAL_CLTV ,
6293
+ } ;
6294
+ let route = find_route (
6295
+ & nodes[ 0 ] . node . get_our_node_id ( ) , & params,
6296
+ & nodes[ 0 ] . net_graph_msg_handler . network_graph , None , nodes[ 0 ] . logger , & scorer
6297
+ ) . unwrap ( ) ;
6294
6298
nodes[ 0 ] . node . send_spontaneous_payment ( & route, Some ( payment_preimage) ) . unwrap ( ) ;
6295
6299
check_added_monitors ! ( nodes[ 0 ] , 1 ) ;
6296
6300
let mut events = nodes[ 0 ] . node . get_and_clear_pending_msg_events ( ) ;
@@ -6318,7 +6322,10 @@ mod tests {
6318
6322
6319
6323
// To start (2), send a keysend payment but don't claim it.
6320
6324
let payment_preimage = PaymentPreimage ( [ 42 ; 32 ] ) ;
6321
- let route = get_route ( & nodes[ 0 ] . node . get_our_node_id ( ) , & payee, & nodes[ 0 ] . net_graph_msg_handler . network_graph , None , 100_000 , TEST_FINAL_CLTV , & logger, & scorer) . unwrap ( ) ;
6325
+ let route = find_route (
6326
+ & nodes[ 0 ] . node . get_our_node_id ( ) , & params,
6327
+ & nodes[ 0 ] . net_graph_msg_handler . network_graph , None , nodes[ 0 ] . logger , & scorer
6328
+ ) . unwrap ( ) ;
6322
6329
let ( payment_hash, _) = nodes[ 0 ] . node . send_spontaneous_payment ( & route, Some ( payment_preimage) ) . unwrap ( ) ;
6323
6330
check_added_monitors ! ( nodes[ 0 ] , 1 ) ;
6324
6331
let mut events = nodes[ 0 ] . node . get_and_clear_pending_msg_events ( ) ;
@@ -6370,12 +6377,18 @@ mod tests {
6370
6377
nodes[ 1 ] . node . peer_connected ( & payer_pubkey, & msgs:: Init { features : InitFeatures :: known ( ) } ) ;
6371
6378
6372
6379
let _chan = create_chan_between_nodes ( & nodes[ 0 ] , & nodes[ 1 ] , InitFeatures :: known ( ) , InitFeatures :: known ( ) ) ;
6380
+ let params = RouteParameters {
6381
+ payee : Payee :: for_keysend ( payee_pubkey) ,
6382
+ final_value_msat : 10000 ,
6383
+ final_cltv_expiry_delta : 40 ,
6384
+ } ;
6373
6385
let network_graph = & nodes[ 0 ] . net_graph_msg_handler . network_graph ;
6374
6386
let first_hops = nodes[ 0 ] . node . list_usable_channels ( ) ;
6375
6387
let scorer = Scorer :: new ( 0 ) ;
6376
- let route = get_keysend_route ( & payer_pubkey, network_graph, & payee_pubkey,
6377
- Some ( & first_hops. iter ( ) . collect :: < Vec < _ > > ( ) ) , & vec ! [ ] , 10000 , 40 ,
6378
- nodes[ 0 ] . logger , & scorer) . unwrap ( ) ;
6388
+ let route = find_route (
6389
+ & payer_pubkey, & params, network_graph, Some ( & first_hops. iter ( ) . collect :: < Vec < _ > > ( ) ) ,
6390
+ nodes[ 0 ] . logger , & scorer
6391
+ ) . unwrap ( ) ;
6379
6392
6380
6393
let test_preimage = PaymentPreimage ( [ 42 ; 32 ] ) ;
6381
6394
let mismatch_payment_hash = PaymentHash ( [ 43 ; 32 ] ) ;
@@ -6407,12 +6420,18 @@ mod tests {
6407
6420
nodes[ 1 ] . node . peer_connected ( & payer_pubkey, & msgs:: Init { features : InitFeatures :: known ( ) } ) ;
6408
6421
6409
6422
let _chan = create_chan_between_nodes ( & nodes[ 0 ] , & nodes[ 1 ] , InitFeatures :: known ( ) , InitFeatures :: known ( ) ) ;
6423
+ let params = RouteParameters {
6424
+ payee : Payee :: for_keysend ( payee_pubkey) ,
6425
+ final_value_msat : 10000 ,
6426
+ final_cltv_expiry_delta : 40 ,
6427
+ } ;
6410
6428
let network_graph = & nodes[ 0 ] . net_graph_msg_handler . network_graph ;
6411
6429
let first_hops = nodes[ 0 ] . node . list_usable_channels ( ) ;
6412
6430
let scorer = Scorer :: new ( 0 ) ;
6413
- let route = get_keysend_route ( & payer_pubkey, network_graph, & payee_pubkey,
6414
- Some ( & first_hops. iter ( ) . collect :: < Vec < _ > > ( ) ) , & vec ! [ ] , 10000 , 40 ,
6415
- nodes[ 0 ] . logger , & scorer) . unwrap ( ) ;
6431
+ let route = find_route (
6432
+ & payer_pubkey, & params, network_graph, Some ( & first_hops. iter ( ) . collect :: < Vec < _ > > ( ) ) ,
6433
+ nodes[ 0 ] . logger , & scorer
6434
+ ) . unwrap ( ) ;
6416
6435
6417
6436
let test_preimage = PaymentPreimage ( [ 42 ; 32 ] ) ;
6418
6437
let test_secret = PaymentSecret ( [ 43 ; 32 ] ) ;
0 commit comments