@@ -1167,6 +1167,21 @@ macro_rules! get_payment_preimage_hash {
1167
1167
}
1168
1168
}
1169
1169
1170
+ #[ macro_export]
1171
+ macro_rules! get_route {
1172
+ ( $send_node: expr, $payment_params: expr, $recv_value: expr, $cltv: expr) => { {
1173
+ use $crate:: chain:: keysinterface:: KeysInterface ;
1174
+ let scorer = $crate:: util:: test_utils:: TestScorer :: with_penalty( 0 ) ;
1175
+ let keys_manager = $crate:: util:: test_utils:: TestKeysInterface :: new( & [ 0u8 ; 32 ] , bitcoin:: network:: constants:: Network :: Testnet ) ;
1176
+ let random_seed_bytes = keys_manager. get_secure_random_bytes( ) ;
1177
+ $crate:: routing:: router:: get_route(
1178
+ & $send_node. node. get_our_node_id( ) , & $payment_params, & $send_node. network_graph. read_only( ) ,
1179
+ Some ( & $send_node. node. list_usable_channels( ) . iter( ) . collect:: <Vec <_>>( ) ) ,
1180
+ $recv_value, $cltv, $send_node. logger, & scorer, & random_seed_bytes
1181
+ )
1182
+ } }
1183
+ }
1184
+
1170
1185
#[ cfg( test) ]
1171
1186
#[ macro_export]
1172
1187
macro_rules! get_route_and_payment_hash {
@@ -1176,17 +1191,9 @@ macro_rules! get_route_and_payment_hash {
1176
1191
$crate:: get_route_and_payment_hash!( $send_node, $recv_node, payment_params, $recv_value, TEST_FINAL_CLTV )
1177
1192
} } ;
1178
1193
( $send_node: expr, $recv_node: expr, $payment_params: expr, $recv_value: expr, $cltv: expr) => { {
1179
- use $crate:: chain:: keysinterface:: KeysInterface ;
1180
1194
let ( payment_preimage, payment_hash, payment_secret) = $crate:: get_payment_preimage_hash!( $recv_node, Some ( $recv_value) ) ;
1181
- let scorer = $crate:: util:: test_utils:: TestScorer :: with_penalty( 0 ) ;
1182
- let keys_manager = $crate:: util:: test_utils:: TestKeysInterface :: new( & [ 0u8 ; 32 ] , bitcoin:: network:: constants:: Network :: Testnet ) ;
1183
- let random_seed_bytes = keys_manager. get_secure_random_bytes( ) ;
1184
- let route = $crate:: routing:: router:: get_route(
1185
- & $send_node. node. get_our_node_id( ) , & $payment_params, & $send_node. network_graph. read_only( ) ,
1186
- Some ( & $send_node. node. list_usable_channels( ) . iter( ) . collect:: <Vec <_>>( ) ) ,
1187
- $recv_value, $cltv, $send_node. logger, & scorer, & random_seed_bytes
1188
- ) . unwrap( ) ;
1189
- ( route, payment_hash, payment_preimage, payment_secret)
1195
+ let route = $crate:: get_route!( $send_node, $payment_params, $recv_value, $cltv) ;
1196
+ ( route. unwrap( ) , payment_hash, payment_preimage, payment_secret)
1190
1197
} }
1191
1198
}
1192
1199
@@ -1650,15 +1657,7 @@ pub const TEST_FINAL_CLTV: u32 = 70;
1650
1657
pub fn route_payment < ' a , ' b , ' c > ( origin_node : & Node < ' a , ' b , ' c > , expected_route : & [ & Node < ' a , ' b , ' c > ] , recv_value : u64 ) -> ( PaymentPreimage , PaymentHash , PaymentSecret ) {
1651
1658
let payment_params = PaymentParameters :: from_node_id ( expected_route. last ( ) . unwrap ( ) . node . get_our_node_id ( ) )
1652
1659
. with_features ( InvoiceFeatures :: known ( ) ) ;
1653
- let network_graph = origin_node. network_graph . read_only ( ) ;
1654
- let scorer = test_utils:: TestScorer :: with_penalty ( 0 ) ;
1655
- let seed = [ 0u8 ; 32 ] ;
1656
- let keys_manager = test_utils:: TestKeysInterface :: new ( & seed, Network :: Testnet ) ;
1657
- let random_seed_bytes = keys_manager. get_secure_random_bytes ( ) ;
1658
- let route = get_route (
1659
- & origin_node. node . get_our_node_id ( ) , & payment_params, & network_graph,
1660
- Some ( & origin_node. node . list_usable_channels ( ) . iter ( ) . collect :: < Vec < _ > > ( ) ) ,
1661
- recv_value, TEST_FINAL_CLTV , origin_node. logger , & scorer, & random_seed_bytes) . unwrap ( ) ;
1660
+ let route = get_route ! ( origin_node, payment_params, recv_value, TEST_FINAL_CLTV ) . unwrap ( ) ;
1662
1661
assert_eq ! ( route. paths. len( ) , 1 ) ;
1663
1662
assert_eq ! ( route. paths[ 0 ] . len( ) , expected_route. len( ) ) ;
1664
1663
for ( node, hop) in expected_route. iter ( ) . zip ( route. paths [ 0 ] . iter ( ) ) {
0 commit comments