@@ -43,6 +43,8 @@ use bitcoin::hashes::Hash;
43
43
use bitcoin:: secp256k1:: { Secp256k1 , Message } ;
44
44
use bitcoin:: secp256k1:: key:: { PublicKey , SecretKey } ;
45
45
46
+ use regex;
47
+
46
48
use std:: collections:: { BTreeSet , HashMap , HashSet } ;
47
49
use std:: default:: Default ;
48
50
use std:: sync:: { Arc , Mutex } ;
@@ -1322,7 +1324,7 @@ fn holding_cell_htlc_counting() {
1322
1324
{
1323
1325
let net_graph_msg_handler = & nodes[ 1 ] . net_graph_msg_handler ;
1324
1326
let route = get_route ( & nodes[ 1 ] . node . get_our_node_id ( ) , & net_graph_msg_handler. network_graph . read ( ) . unwrap ( ) , & nodes[ 2 ] . node . get_our_node_id ( ) , None , & Vec :: new ( ) , 100000 , TEST_FINAL_CLTV , & logger) . unwrap ( ) ;
1325
- unwrap_send_err ! ( nodes[ 1 ] . node. send_payment( & route, payment_hash_1, & None ) , true , APIError :: ChannelUnavailable { err } ,
1327
+ unwrap_send_err ! ( nodes[ 1 ] . node. send_payment( & route, payment_hash_1, & None ) , true , APIError :: ChannelUnavailable { ref err } ,
1326
1328
assert!( err. contains( "Cannot push more than their max accepted HTLCs" ) ) ) ;
1327
1329
assert ! ( nodes[ 1 ] . node. get_and_clear_pending_msg_events( ) . is_empty( ) ) ;
1328
1330
nodes[ 1 ] . logger . assert_log_contains ( "lightning::ln::channelmanager" . to_string ( ) , "Cannot push more than their max accepted HTLCs" . to_string ( ) , 1 ) ;
@@ -1542,7 +1544,7 @@ fn test_basic_channel_reserve() {
1542
1544
match err {
1543
1545
PaymentSendFailure :: AllFailedRetrySafe ( ref fails) => {
1544
1546
match & fails[ 0 ] {
1545
- APIError :: ChannelUnavailable { err} =>
1547
+ & APIError :: ChannelUnavailable { ref err} =>
1546
1548
assert ! ( err. contains( "Cannot send value that would put us under local channel reserve value" ) ) ,
1547
1549
_ => panic ! ( "Unexpected error variant" ) ,
1548
1550
}
@@ -1752,7 +1754,7 @@ fn test_chan_reserve_violation_outbound_htlc_inbound_chan() {
1752
1754
} ;
1753
1755
1754
1756
let ( route, our_payment_hash, _) = get_route_and_payment_hash ! ( 1000 ) ;
1755
- unwrap_send_err ! ( nodes[ 1 ] . node. send_payment( & route, our_payment_hash, & None ) , true , APIError :: ChannelUnavailable { err } ,
1757
+ unwrap_send_err ! ( nodes[ 1 ] . node. send_payment( & route, our_payment_hash, & None ) , true , APIError :: ChannelUnavailable { ref err } ,
1756
1758
assert_eq!( err, "Cannot send value that would put them under remote channel reserve value" ) ) ;
1757
1759
assert ! ( nodes[ 1 ] . node. get_and_clear_pending_msg_events( ) . is_empty( ) ) ;
1758
1760
nodes[ 1 ] . logger . assert_log ( "lightning::ln::channelmanager" . to_string ( ) , "Cannot send value that would put them under remote channel reserve value" . to_string ( ) , 1 ) ;
@@ -1930,7 +1932,7 @@ fn test_channel_reserve_holding_cell_htlcs() {
1930
1932
{
1931
1933
let ( route, our_payment_hash, _) = get_route_and_payment_hash ! ( recv_value_0 + 1 ) ;
1932
1934
assert ! ( route. paths[ 0 ] . iter( ) . rev( ) . skip( 1 ) . all( |h| h. fee_msat == feemsat) ) ;
1933
- unwrap_send_err ! ( nodes[ 0 ] . node. send_payment( & route, our_payment_hash, & None ) , true , APIError :: ChannelUnavailable { err } ,
1935
+ unwrap_send_err ! ( nodes[ 0 ] . node. send_payment( & route, our_payment_hash, & None ) , true , APIError :: ChannelUnavailable { ref err } ,
1934
1936
assert!( err. contains( "Cannot send value that would put us over the max HTLC value in flight our peer will accept" ) ) ) ;
1935
1937
assert ! ( nodes[ 0 ] . node. get_and_clear_pending_msg_events( ) . is_empty( ) ) ;
1936
1938
nodes[ 0 ] . logger . assert_log_contains ( "lightning::ln::channelmanager" . to_string ( ) , "Cannot send value that would put us over the max HTLC value in flight our peer will accept" . to_string ( ) , 1 ) ;
@@ -1994,7 +1996,7 @@ fn test_channel_reserve_holding_cell_htlcs() {
1994
1996
let recv_value_2 = stat01. value_to_self_msat - amt_msat_1 - stat01. channel_reserve_msat - total_fee_msat - commit_tx_fee_2_htlcs;
1995
1997
{
1996
1998
let ( route, our_payment_hash, _) = get_route_and_payment_hash ! ( recv_value_2 + 1 ) ;
1997
- unwrap_send_err ! ( nodes[ 0 ] . node. send_payment( & route, our_payment_hash, & None ) , true , APIError :: ChannelUnavailable { err } ,
1999
+ unwrap_send_err ! ( nodes[ 0 ] . node. send_payment( & route, our_payment_hash, & None ) , true , APIError :: ChannelUnavailable { ref err } ,
1998
2000
assert!( err. contains( "Cannot send value that would put us under local channel reserve value" ) ) ) ;
1999
2001
assert ! ( nodes[ 0 ] . node. get_and_clear_pending_msg_events( ) . is_empty( ) ) ;
2000
2002
}
@@ -2020,7 +2022,7 @@ fn test_channel_reserve_holding_cell_htlcs() {
2020
2022
// test with outbound holding cell amount > 0
2021
2023
{
2022
2024
let ( route, our_payment_hash, _) = get_route_and_payment_hash ! ( recv_value_22+1 ) ;
2023
- unwrap_send_err ! ( nodes[ 0 ] . node. send_payment( & route, our_payment_hash, & None ) , true , APIError :: ChannelUnavailable { err } ,
2025
+ unwrap_send_err ! ( nodes[ 0 ] . node. send_payment( & route, our_payment_hash, & None ) , true , APIError :: ChannelUnavailable { ref err } ,
2024
2026
assert!( err. contains( "Cannot send value that would put us under local channel reserve value" ) ) ) ;
2025
2027
assert ! ( nodes[ 0 ] . node. get_and_clear_pending_msg_events( ) . is_empty( ) ) ;
2026
2028
nodes[ 0 ] . logger . assert_log_contains ( "lightning::ln::channelmanager" . to_string ( ) , "Cannot send value that would put us under local channel reserve value" . to_string ( ) , 2 ) ;
@@ -2107,7 +2109,7 @@ fn test_channel_reserve_holding_cell_htlcs() {
2107
2109
match err {
2108
2110
PaymentSendFailure :: AllFailedRetrySafe ( ref fails) => {
2109
2111
match & fails[ 0 ] {
2110
- APIError :: ChannelUnavailable { err} =>
2112
+ & APIError :: ChannelUnavailable { ref err} =>
2111
2113
assert ! ( err. contains( "Cannot send value that would put us under local channel reserve value" ) ) ,
2112
2114
_ => panic ! ( "Unexpected error variant" ) ,
2113
2115
}
@@ -6404,7 +6406,7 @@ fn test_update_add_htlc_bolt2_sender_value_below_minimum_msat() {
6404
6406
let mut route = get_route ( & nodes[ 0 ] . node . get_our_node_id ( ) , & net_graph_msg_handler. network_graph . read ( ) . unwrap ( ) , & nodes[ 1 ] . node . get_our_node_id ( ) , None , & [ ] , 100000 , TEST_FINAL_CLTV , & logger) . unwrap ( ) ;
6405
6407
route. paths [ 0 ] [ 0 ] . fee_msat = 100 ;
6406
6408
6407
- unwrap_send_err ! ( nodes[ 0 ] . node. send_payment( & route, our_payment_hash, & None ) , true , APIError :: ChannelUnavailable { err } ,
6409
+ unwrap_send_err ! ( nodes[ 0 ] . node. send_payment( & route, our_payment_hash, & None ) , true , APIError :: ChannelUnavailable { ref err } ,
6408
6410
assert!( err. contains( "Cannot send less than their minimum HTLC value" ) ) ) ;
6409
6411
assert ! ( nodes[ 0 ] . node. get_and_clear_pending_msg_events( ) . is_empty( ) ) ;
6410
6412
nodes[ 0 ] . logger . assert_log_contains ( "lightning::ln::channelmanager" . to_string ( ) , "Cannot send less than their minimum HTLC value" . to_string ( ) , 1 ) ;
@@ -6424,7 +6426,7 @@ fn test_update_add_htlc_bolt2_sender_zero_value_msat() {
6424
6426
let logger = test_utils:: TestLogger :: new ( ) ;
6425
6427
let mut route = get_route ( & nodes[ 0 ] . node . get_our_node_id ( ) , & net_graph_msg_handler. network_graph . read ( ) . unwrap ( ) , & nodes[ 1 ] . node . get_our_node_id ( ) , None , & [ ] , 100000 , TEST_FINAL_CLTV , & logger) . unwrap ( ) ;
6426
6428
route. paths [ 0 ] [ 0 ] . fee_msat = 0 ;
6427
- unwrap_send_err ! ( nodes[ 0 ] . node. send_payment( & route, our_payment_hash, & None ) , true , APIError :: ChannelUnavailable { err } ,
6429
+ unwrap_send_err ! ( nodes[ 0 ] . node. send_payment( & route, our_payment_hash, & None ) , true , APIError :: ChannelUnavailable { ref err } ,
6428
6430
assert_eq!( err, "Cannot send 0-msat HTLC" ) ) ;
6429
6431
6430
6432
assert ! ( nodes[ 0 ] . node. get_and_clear_pending_msg_events( ) . is_empty( ) ) ;
@@ -6470,7 +6472,7 @@ fn test_update_add_htlc_bolt2_sender_cltv_expiry_too_high() {
6470
6472
6471
6473
let net_graph_msg_handler = & nodes[ 0 ] . net_graph_msg_handler ;
6472
6474
let route = get_route ( & nodes[ 0 ] . node . get_our_node_id ( ) , & net_graph_msg_handler. network_graph . read ( ) . unwrap ( ) , & nodes[ 1 ] . node . get_our_node_id ( ) , None , & [ ] , 100000000 , 500000001 , & logger) . unwrap ( ) ;
6473
- unwrap_send_err ! ( nodes[ 0 ] . node. send_payment( & route, our_payment_hash, & None ) , true , APIError :: RouteError { err } ,
6475
+ unwrap_send_err ! ( nodes[ 0 ] . node. send_payment( & route, our_payment_hash, & None ) , true , APIError :: RouteError { ref err } ,
6474
6476
assert_eq!( err, & "Channel CLTV overflowed?" ) ) ;
6475
6477
}
6476
6478
@@ -6514,7 +6516,7 @@ fn test_update_add_htlc_bolt2_sender_exceed_max_htlc_num_and_htlc_id_increment()
6514
6516
let ( _, our_payment_hash) = get_payment_preimage_hash ! ( nodes[ 0 ] ) ;
6515
6517
let net_graph_msg_handler = & nodes[ 0 ] . net_graph_msg_handler ;
6516
6518
let route = get_route ( & nodes[ 0 ] . node . get_our_node_id ( ) , & net_graph_msg_handler. network_graph . read ( ) . unwrap ( ) , & nodes[ 1 ] . node . get_our_node_id ( ) , None , & [ ] , 100000 , TEST_FINAL_CLTV , & logger) . unwrap ( ) ;
6517
- unwrap_send_err ! ( nodes[ 0 ] . node. send_payment( & route, our_payment_hash, & None ) , true , APIError :: ChannelUnavailable { err } ,
6519
+ unwrap_send_err ! ( nodes[ 0 ] . node. send_payment( & route, our_payment_hash, & None ) , true , APIError :: ChannelUnavailable { ref err } ,
6518
6520
assert!( err. contains( "Cannot push more than their max accepted HTLCs" ) ) ) ;
6519
6521
6520
6522
assert ! ( nodes[ 0 ] . node. get_and_clear_pending_msg_events( ) . is_empty( ) ) ;
@@ -6538,7 +6540,7 @@ fn test_update_add_htlc_bolt2_sender_exceed_max_htlc_value_in_flight() {
6538
6540
let net_graph_msg_handler = & nodes[ 0 ] . net_graph_msg_handler ;
6539
6541
let logger = test_utils:: TestLogger :: new ( ) ;
6540
6542
let route = get_route ( & nodes[ 0 ] . node . get_our_node_id ( ) , & net_graph_msg_handler. network_graph . read ( ) . unwrap ( ) , & nodes[ 1 ] . node . get_our_node_id ( ) , None , & [ ] , max_in_flight+1 , TEST_FINAL_CLTV , & logger) . unwrap ( ) ;
6541
- unwrap_send_err ! ( nodes[ 0 ] . node. send_payment( & route, our_payment_hash, & None ) , true , APIError :: ChannelUnavailable { err } ,
6543
+ unwrap_send_err ! ( nodes[ 0 ] . node. send_payment( & route, our_payment_hash, & None ) , true , APIError :: ChannelUnavailable { ref err } ,
6542
6544
assert!( err. contains( "Cannot send value that would put us over the max HTLC value in flight our peer will accept" ) ) ) ;
6543
6545
6544
6546
assert ! ( nodes[ 0 ] . node. get_and_clear_pending_msg_events( ) . is_empty( ) ) ;
0 commit comments