@@ -19,7 +19,7 @@ use crate::events::bump_transaction::{BumpTransactionEventHandler, Wallet, Walle
1919use crate :: ln:: { ChannelId , PaymentPreimage , PaymentHash , PaymentSecret } ;
2020use crate :: ln:: channelmanager:: { self , AChannelManager , ChainParameters , ChannelManager , ChannelManagerReadArgs , RAACommitmentOrder , PaymentSendFailure , RecipientOnionFields , PaymentId , MIN_CLTV_EXPIRY_DELTA } ;
2121use crate :: routing:: gossip:: { P2PGossipSync , NetworkGraph , NetworkUpdate } ;
22- use crate :: routing:: router:: { self , PaymentParameters , Route } ;
22+ use crate :: routing:: router:: { self , PaymentParameters , Route , RouteParameters } ;
2323use crate :: ln:: features:: InitFeatures ;
2424use crate :: ln:: msgs;
2525use crate :: ln:: msgs:: { ChannelMessageHandler , RoutingMessageHandler } ;
@@ -1864,14 +1864,14 @@ macro_rules! get_payment_preimage_hash {
18641864}
18651865
18661866/// Gets a route from the given sender to the node described in `payment_params`.
1867- pub fn get_route ( send_node : & Node , payment_params : & PaymentParameters , recv_value : u64 ) -> Result < Route , msgs:: LightningError > {
1867+ pub fn get_route ( send_node : & Node , route_params : & RouteParameters ) -> Result < Route , msgs:: LightningError > {
18681868 let scorer = TestScorer :: new ( ) ;
18691869 let keys_manager = TestKeysInterface :: new ( & [ 0u8 ; 32 ] , bitcoin:: network:: constants:: Network :: Testnet ) ;
18701870 let random_seed_bytes = keys_manager. get_secure_random_bytes ( ) ;
18711871 router:: get_route (
1872- & send_node. node . get_our_node_id ( ) , payment_params , & send_node. network_graph . read_only ( ) ,
1872+ & send_node. node . get_our_node_id ( ) , route_params , & send_node. network_graph . read_only ( ) ,
18731873 Some ( & send_node. node . list_usable_channels ( ) . iter ( ) . collect :: < Vec < _ > > ( ) ) ,
1874- recv_value , send_node. logger , & scorer, & ( ) , & random_seed_bytes
1874+ send_node. logger , & scorer, & ( ) , & random_seed_bytes
18751875 )
18761876}
18771877
@@ -1880,9 +1880,10 @@ pub fn get_route(send_node: &Node, payment_params: &PaymentParameters, recv_valu
18801880/// Don't use this, use the identically-named function instead.
18811881#[ macro_export]
18821882macro_rules! get_route {
1883- ( $send_node: expr, $payment_params: expr, $recv_value: expr) => {
1884- $crate:: ln:: functional_test_utils:: get_route( & $send_node, & $payment_params, $recv_value)
1885- }
1883+ ( $send_node: expr, $payment_params: expr, $recv_value: expr) => { {
1884+ let route_params = $crate:: routing:: router:: RouteParameters :: from_payment_params_and_value( $payment_params, $recv_value) ;
1885+ $crate:: ln:: functional_test_utils:: get_route( & $send_node, & route_params)
1886+ } }
18861887}
18871888
18881889#[ cfg( test) ]
@@ -1894,9 +1895,10 @@ macro_rules! get_route_and_payment_hash {
18941895 $crate:: get_route_and_payment_hash!( $send_node, $recv_node, payment_params, $recv_value)
18951896 } } ;
18961897 ( $send_node: expr, $recv_node: expr, $payment_params: expr, $recv_value: expr) => { {
1898+ let route_params = $crate:: routing:: router:: RouteParameters :: from_payment_params_and_value( $payment_params, $recv_value) ;
18971899 let ( payment_preimage, payment_hash, payment_secret) =
18981900 $crate:: ln:: functional_test_utils:: get_payment_preimage_hash( & $recv_node, Some ( $recv_value) , None ) ;
1899- let route = $crate:: ln:: functional_test_utils:: get_route( & $send_node, & $payment_params , $recv_value ) ;
1901+ let route = $crate:: ln:: functional_test_utils:: get_route( & $send_node, & route_params ) ;
19001902 ( route. unwrap( ) , payment_hash, payment_preimage, payment_secret)
19011903 } }
19021904}
@@ -2490,7 +2492,8 @@ pub const TEST_FINAL_CLTV: u32 = 70;
24902492pub fn route_payment < ' a , ' b , ' c > ( origin_node : & Node < ' a , ' b , ' c > , expected_route : & [ & Node < ' a , ' b , ' c > ] , recv_value : u64 ) -> ( PaymentPreimage , PaymentHash , PaymentSecret ) {
24912493 let payment_params = PaymentParameters :: from_node_id ( expected_route. last ( ) . unwrap ( ) . node . get_our_node_id ( ) , TEST_FINAL_CLTV )
24922494 . with_bolt11_features ( expected_route. last ( ) . unwrap ( ) . node . invoice_features ( ) ) . unwrap ( ) ;
2493- let route = get_route ( origin_node, & payment_params, recv_value) . unwrap ( ) ;
2495+ let route_params = RouteParameters :: from_payment_params_and_value ( payment_params, recv_value) ;
2496+ let route = get_route ( origin_node, & route_params) . unwrap ( ) ;
24942497 assert_eq ! ( route. paths. len( ) , 1 ) ;
24952498 assert_eq ! ( route. paths[ 0 ] . hops. len( ) , expected_route. len( ) ) ;
24962499 for ( node, hop) in expected_route. iter ( ) . zip ( route. paths [ 0 ] . hops . iter ( ) ) {
@@ -2504,14 +2507,14 @@ pub fn route_payment<'a, 'b, 'c>(origin_node: &Node<'a, 'b, 'c>, expected_route:
25042507pub fn route_over_limit < ' a , ' b , ' c > ( origin_node : & Node < ' a , ' b , ' c > , expected_route : & [ & Node < ' a , ' b , ' c > ] , recv_value : u64 ) {
25052508 let payment_params = PaymentParameters :: from_node_id ( expected_route. last ( ) . unwrap ( ) . node . get_our_node_id ( ) , TEST_FINAL_CLTV )
25062509 . with_bolt11_features ( expected_route. last ( ) . unwrap ( ) . node . invoice_features ( ) ) . unwrap ( ) ;
2510+ let route_params = RouteParameters :: from_payment_params_and_value ( payment_params, recv_value) ;
25072511 let network_graph = origin_node. network_graph . read_only ( ) ;
25082512 let scorer = test_utils:: TestScorer :: new ( ) ;
25092513 let seed = [ 0u8 ; 32 ] ;
25102514 let keys_manager = test_utils:: TestKeysInterface :: new ( & seed, Network :: Testnet ) ;
25112515 let random_seed_bytes = keys_manager. get_secure_random_bytes ( ) ;
2512- let route = router:: get_route (
2513- & origin_node. node . get_our_node_id ( ) , & payment_params, & network_graph,
2514- None , recv_value, origin_node. logger , & scorer, & ( ) , & random_seed_bytes) . unwrap ( ) ;
2516+ let route = router:: get_route ( & origin_node. node . get_our_node_id ( ) , & route_params, & network_graph,
2517+ None , origin_node. logger , & scorer, & ( ) , & random_seed_bytes) . unwrap ( ) ;
25152518 assert_eq ! ( route. paths. len( ) , 1 ) ;
25162519 assert_eq ! ( route. paths[ 0 ] . hops. len( ) , expected_route. len( ) ) ;
25172520 for ( node, hop) in expected_route. iter ( ) . zip ( route. paths [ 0 ] . hops . iter ( ) ) {
0 commit comments