@@ -948,8 +948,8 @@ fn test_update_fee() {
948
948
check_added_monitors!(nodes[1], 1);
949
949
assert!(nodes[1].node.get_and_clear_pending_msg_events().is_empty());
950
950
951
- assert_eq!(get_feerate!(nodes[0], channel_id), feerate + 30);
952
- assert_eq!(get_feerate!(nodes[1], channel_id), feerate + 30);
951
+ assert_eq!(get_feerate!(nodes[0], nodes[1], channel_id), feerate + 30);
952
+ assert_eq!(get_feerate!(nodes[1], nodes[0], channel_id), feerate + 30);
953
953
close_channel(&nodes[0], &nodes[1], &chan.2, chan.3, true);
954
954
check_closed_event!(nodes[0], 1, ClosureReason::CooperativeClosure);
955
955
check_closed_event!(nodes[1], 1, ClosureReason::CooperativeClosure);
@@ -1353,11 +1353,11 @@ fn test_basic_channel_reserve() {
1353
1353
let mut nodes = create_network(2, &node_cfgs, &node_chanmgrs);
1354
1354
let chan = create_announced_chan_between_nodes_with_value(&nodes, 0, 1, 100000, 95000000, InitFeatures::known(), InitFeatures::known());
1355
1355
1356
- let chan_stat = get_channel_value_stat!(nodes[0], chan.2);
1356
+ let chan_stat = get_channel_value_stat!(nodes[0], nodes[1], chan.2);
1357
1357
let channel_reserve = chan_stat.channel_reserve_msat;
1358
1358
1359
1359
// The 2* and +1 are for the fee spike reserve.
1360
- let commit_tx_fee = 2 * commit_tx_fee_msat(get_feerate!(nodes[0], chan.2), 1 + 1, get_opt_anchors!(nodes[0], chan.2));
1360
+ let commit_tx_fee = 2 * commit_tx_fee_msat(get_feerate!(nodes[0], nodes[1], chan.2), 1 + 1, get_opt_anchors!(nodes[0], nodes[1 ], chan.2));
1361
1361
let max_can_send = 5000000 - channel_reserve - commit_tx_fee;
1362
1362
let (route, our_payment_hash, _, our_payment_secret) = get_route_and_payment_hash!(nodes[0], nodes[1], max_can_send + 1);
1363
1363
let err = nodes[0].node.send_payment(&route, our_payment_hash, &Some(our_payment_secret)).err().unwrap();
@@ -1410,7 +1410,7 @@ fn test_fee_spike_violation_fails_htlc() {
1410
1410
// nodes[0] just sent. In the code for construction of this message, "local" refers
1411
1411
// to the sender of the message, and "remote" refers to the receiver.
1412
1412
1413
- let feerate_per_kw = get_feerate!(nodes[0], chan.2);
1413
+ let feerate_per_kw = get_feerate!(nodes[0], nodes[1], chan.2);
1414
1414
1415
1415
const INITIAL_COMMITMENT_NUMBER: u64 = (1 << 48) - 1;
1416
1416
@@ -1708,9 +1708,9 @@ fn test_chan_reserve_violation_inbound_htlc_inbound_chan() {
1708
1708
1709
1709
let feemsat = 239;
1710
1710
let total_routing_fee_msat = (nodes.len() - 2) as u64 * feemsat;
1711
- let chan_stat = get_channel_value_stat!(nodes[0], chan.2);
1712
- let feerate = get_feerate!(nodes[0], chan.2);
1713
- let opt_anchors = get_opt_anchors!(nodes[0], chan.2);
1711
+ let chan_stat = get_channel_value_stat!(nodes[0], nodes[1], chan.2);
1712
+ let feerate = get_feerate!(nodes[0], nodes[1], chan.2);
1713
+ let opt_anchors = get_opt_anchors!(nodes[0], nodes[1], chan.2);
1714
1714
1715
1715
// Add a 2* and +1 for the fee spike reserve.
1716
1716
let commit_tx_fee_2_htlc = 2*commit_tx_fee_msat(feerate, 2 + 1, opt_anchors);
@@ -1798,11 +1798,11 @@ fn test_channel_reserve_holding_cell_htlcs() {
1798
1798
let chan_1 = create_announced_chan_between_nodes_with_value(&nodes, 0, 1, 190000, 1001, InitFeatures::known(), InitFeatures::known());
1799
1799
let chan_2 = create_announced_chan_between_nodes_with_value(&nodes, 1, 2, 190000, 1001, InitFeatures::known(), InitFeatures::known());
1800
1800
1801
- let mut stat01 = get_channel_value_stat!(nodes[0], chan_1.2);
1802
- let mut stat11 = get_channel_value_stat!(nodes[1], chan_1.2);
1801
+ let mut stat01 = get_channel_value_stat!(nodes[0], nodes[1], chan_1.2);
1802
+ let mut stat11 = get_channel_value_stat!(nodes[1], nodes[0], chan_1.2);
1803
1803
1804
- let mut stat12 = get_channel_value_stat!(nodes[1], chan_2.2);
1805
- let mut stat22 = get_channel_value_stat!(nodes[2], chan_2.2);
1804
+ let mut stat12 = get_channel_value_stat!(nodes[1], nodes[2], chan_2.2);
1805
+ let mut stat22 = get_channel_value_stat!(nodes[2], nodes[1], chan_2.2);
1806
1806
1807
1807
macro_rules! expect_forward {
1808
1808
($node: expr) => {{
@@ -1816,8 +1816,8 @@ fn test_channel_reserve_holding_cell_htlcs() {
1816
1816
1817
1817
let feemsat = 239; // set above
1818
1818
let total_fee_msat = (nodes.len() - 2) as u64 * feemsat;
1819
- let feerate = get_feerate!(nodes[0], chan_1.2);
1820
- let opt_anchors = get_opt_anchors!(nodes[0], chan_1.2);
1819
+ let feerate = get_feerate!(nodes[0], nodes[1], chan_1.2);
1820
+ let opt_anchors = get_opt_anchors!(nodes[0], nodes[1], chan_1.2);
1821
1821
1822
1822
let recv_value_0 = stat01.counterparty_max_htlc_value_in_flight_msat - total_fee_msat;
1823
1823
@@ -1847,10 +1847,10 @@ fn test_channel_reserve_holding_cell_htlcs() {
1847
1847
send_payment(&nodes[0], &vec![&nodes[1], &nodes[2]][..], recv_value_0);
1848
1848
1849
1849
let (stat01_, stat11_, stat12_, stat22_) = (
1850
- get_channel_value_stat!(nodes[0], chan_1.2),
1851
- get_channel_value_stat!(nodes[1], chan_1.2),
1852
- get_channel_value_stat!(nodes[1], chan_2.2),
1853
- get_channel_value_stat!(nodes[2], chan_2.2),
1850
+ get_channel_value_stat!(nodes[0], nodes[1], chan_1.2),
1851
+ get_channel_value_stat!(nodes[1], nodes[0], chan_1.2),
1852
+ get_channel_value_stat!(nodes[1], nodes[2], chan_2.2),
1853
+ get_channel_value_stat!(nodes[2], nodes[1], chan_2.2),
1854
1854
);
1855
1855
1856
1856
assert_eq!(stat01_.value_to_self_msat, stat01.value_to_self_msat - amt_msat);
@@ -1901,7 +1901,7 @@ fn test_channel_reserve_holding_cell_htlcs() {
1901
1901
let recv_value_21 = recv_value_2/2 - additional_htlc_cost_msat/2;
1902
1902
let recv_value_22 = recv_value_2 - recv_value_21 - total_fee_msat - additional_htlc_cost_msat;
1903
1903
{
1904
- let stat = get_channel_value_stat!(nodes[0], chan_1.2);
1904
+ let stat = get_channel_value_stat!(nodes[0], nodes[1], chan_1.2);
1905
1905
assert_eq!(stat.value_to_self_msat - (stat.pending_outbound_htlcs_amount_msat + recv_value_21 + recv_value_22 + total_fee_msat + total_fee_msat + commit_tx_fee_3_htlcs), stat.channel_reserve_msat);
1906
1906
}
1907
1907
@@ -2013,11 +2013,11 @@ fn test_channel_reserve_holding_cell_htlcs() {
2013
2013
2014
2014
let commit_tx_fee_1_htlc = 2*commit_tx_fee_msat(feerate, 1 + 1, opt_anchors);
2015
2015
let expected_value_to_self = stat01.value_to_self_msat - (recv_value_1 + total_fee_msat) - (recv_value_21 + total_fee_msat) - (recv_value_22 + total_fee_msat) - (recv_value_3 + total_fee_msat);
2016
- let stat0 = get_channel_value_stat!(nodes[0], chan_1.2);
2016
+ let stat0 = get_channel_value_stat!(nodes[0], nodes[1], chan_1.2);
2017
2017
assert_eq!(stat0.value_to_self_msat, expected_value_to_self);
2018
2018
assert_eq!(stat0.value_to_self_msat, stat0.channel_reserve_msat + commit_tx_fee_1_htlc);
2019
2019
2020
- let stat2 = get_channel_value_stat!(nodes[2], chan_2.2);
2020
+ let stat2 = get_channel_value_stat!(nodes[2], nodes[1], chan_2.2);
2021
2021
assert_eq!(stat2.value_to_self_msat, stat22.value_to_self_msat + recv_value_1 + recv_value_21 + recv_value_22 + recv_value_3);
2022
2022
}
2023
2023
@@ -2051,7 +2051,7 @@ fn channel_reserve_in_flight_removes() {
2051
2051
let mut nodes = create_network(2, &node_cfgs, &node_chanmgrs);
2052
2052
let chan_1 = create_announced_chan_between_nodes(&nodes, 0, 1, InitFeatures::known(), InitFeatures::known());
2053
2053
2054
- let b_chan_values = get_channel_value_stat!(nodes[1], chan_1.2);
2054
+ let b_chan_values = get_channel_value_stat!(nodes[1], nodes[0], chan_1.2);
2055
2055
// Route the first two HTLCs.
2056
2056
let payment_value_1 = b_chan_values.channel_reserve_msat - b_chan_values.value_to_self_msat - 10000;
2057
2057
let (payment_preimage_1, payment_hash_1, _) = route_payment(&nodes[0], &[&nodes[1]], payment_value_1);
@@ -6203,18 +6203,18 @@ fn test_fail_holding_cell_htlc_upon_free() {
6203
6203
6204
6204
nodes[1].node.handle_update_fee(&nodes[0].node.get_our_node_id(), update_msg.unwrap());
6205
6205
6206
- let mut chan_stat = get_channel_value_stat!(nodes[0], chan.2);
6206
+ let mut chan_stat = get_channel_value_stat!(nodes[0], nodes[1], chan.2);
6207
6207
let channel_reserve = chan_stat.channel_reserve_msat;
6208
- let feerate = get_feerate!(nodes[0], chan.2);
6209
- let opt_anchors = get_opt_anchors!(nodes[0], chan.2);
6208
+ let feerate = get_feerate!(nodes[0], nodes[1], chan.2);
6209
+ let opt_anchors = get_opt_anchors!(nodes[0], nodes[1], chan.2);
6210
6210
6211
6211
// 2* and +1 HTLCs on the commit tx fee calculation for the fee spike reserve.
6212
6212
let max_can_send = 5000000 - channel_reserve - 2*commit_tx_fee_msat(feerate, 1 + 1, opt_anchors);
6213
6213
let (route, our_payment_hash, _, our_payment_secret) = get_route_and_payment_hash!(nodes[0], nodes[1], max_can_send);
6214
6214
6215
6215
// Send a payment which passes reserve checks but gets stuck in the holding cell.
6216
6216
let our_payment_id = nodes[0].node.send_payment(&route, our_payment_hash, &Some(our_payment_secret)).unwrap();
6217
- chan_stat = get_channel_value_stat!(nodes[0], chan.2);
6217
+ chan_stat = get_channel_value_stat!(nodes[0], nodes[1], chan.2);
6218
6218
assert_eq!(chan_stat.holding_cell_outbound_amount_msat, max_can_send);
6219
6219
6220
6220
// Flush the pending fee update.
@@ -6227,7 +6227,7 @@ fn test_fail_holding_cell_htlc_upon_free() {
6227
6227
// Upon receipt of the RAA, there will be an attempt to resend the holding cell
6228
6228
// HTLC, but now that the fee has been raised the payment will now fail, causing
6229
6229
// us to surface its failure to the user.
6230
- chan_stat = get_channel_value_stat!(nodes[0], chan.2);
6230
+ chan_stat = get_channel_value_stat!(nodes[0], nodes[1], chan.2);
6231
6231
assert_eq!(chan_stat.holding_cell_outbound_amount_msat, 0);
6232
6232
nodes[0].logger.assert_log("lightning::ln::channel".to_string(), format!("Freeing holding cell with 1 HTLC updates in channel {}", hex::encode(chan.2)), 1);
6233
6233
let failure_log = format!("Failed to send HTLC with payment_hash {} due to Cannot send value that would put our balance under counterparty-announced channel reserve value ({}) in channel {}",
@@ -6283,10 +6283,10 @@ fn test_free_and_fail_holding_cell_htlcs() {
6283
6283
6284
6284
nodes[1].node.handle_update_fee(&nodes[0].node.get_our_node_id(), update_msg.unwrap());
6285
6285
6286
- let mut chan_stat = get_channel_value_stat!(nodes[0], chan.2);
6286
+ let mut chan_stat = get_channel_value_stat!(nodes[0], nodes[1], chan.2);
6287
6287
let channel_reserve = chan_stat.channel_reserve_msat;
6288
- let feerate = get_feerate!(nodes[0], chan.2);
6289
- let opt_anchors = get_opt_anchors!(nodes[0], chan.2);
6288
+ let feerate = get_feerate!(nodes[0], nodes[1], chan.2);
6289
+ let opt_anchors = get_opt_anchors!(nodes[0], nodes[1], chan.2);
6290
6290
6291
6291
// 2* and +1 HTLCs on the commit tx fee calculation for the fee spike reserve.
6292
6292
let amt_1 = 20000;
@@ -6296,10 +6296,10 @@ fn test_free_and_fail_holding_cell_htlcs() {
6296
6296
6297
6297
// Send 2 payments which pass reserve checks but get stuck in the holding cell.
6298
6298
nodes[0].node.send_payment(&route_1, payment_hash_1, &Some(payment_secret_1)).unwrap();
6299
- chan_stat = get_channel_value_stat!(nodes[0], chan.2);
6299
+ chan_stat = get_channel_value_stat!(nodes[0], nodes[1], chan.2);
6300
6300
assert_eq!(chan_stat.holding_cell_outbound_amount_msat, amt_1);
6301
6301
let payment_id_2 = nodes[0].node.send_payment(&route_2, payment_hash_2, &Some(payment_secret_2)).unwrap();
6302
- chan_stat = get_channel_value_stat!(nodes[0], chan.2);
6302
+ chan_stat = get_channel_value_stat!(nodes[0], nodes[1], chan.2);
6303
6303
assert_eq!(chan_stat.holding_cell_outbound_amount_msat, amt_1 + amt_2);
6304
6304
6305
6305
// Flush the pending fee update.
@@ -6313,7 +6313,7 @@ fn test_free_and_fail_holding_cell_htlcs() {
6313
6313
// Upon receipt of the RAA, there will be an attempt to resend the holding cell HTLCs,
6314
6314
// but now that the fee has been raised the second payment will now fail, causing us
6315
6315
// to surface its failure to the user. The first payment should succeed.
6316
- chan_stat = get_channel_value_stat!(nodes[0], chan.2);
6316
+ chan_stat = get_channel_value_stat!(nodes[0], nodes[1], chan.2);
6317
6317
assert_eq!(chan_stat.holding_cell_outbound_amount_msat, 0);
6318
6318
nodes[0].logger.assert_log("lightning::ln::channel".to_string(), format!("Freeing holding cell with 2 HTLC updates in channel {}", hex::encode(chan.2)), 1);
6319
6319
let failure_log = format!("Failed to send HTLC with payment_hash {} due to Cannot send value that would put our balance under counterparty-announced channel reserve value ({}) in channel {}",
@@ -6411,10 +6411,10 @@ fn test_fail_holding_cell_htlc_upon_free_multihop() {
6411
6411
6412
6412
nodes[2].node.handle_update_fee(&nodes[1].node.get_our_node_id(), update_msg.unwrap());
6413
6413
6414
- let mut chan_stat = get_channel_value_stat!(nodes[0], chan_0_1.2);
6414
+ let mut chan_stat = get_channel_value_stat!(nodes[0], nodes[1], chan_0_1.2);
6415
6415
let channel_reserve = chan_stat.channel_reserve_msat;
6416
- let feerate = get_feerate!(nodes[0], chan_0_1.2);
6417
- let opt_anchors = get_opt_anchors!(nodes[0], chan_0_1.2);
6416
+ let feerate = get_feerate!(nodes[0], nodes[1], chan_0_1.2);
6417
+ let opt_anchors = get_opt_anchors!(nodes[0], nodes[1], chan_0_1.2);
6418
6418
6419
6419
// Send a payment which passes reserve checks but gets stuck in the holding cell.
6420
6420
let feemsat = 239;
@@ -6435,7 +6435,7 @@ fn test_fail_holding_cell_htlc_upon_free_multihop() {
6435
6435
commitment_signed_dance!(nodes[1], nodes[0], payment_event.commitment_msg, false);
6436
6436
expect_pending_htlcs_forwardable!(nodes[1]);
6437
6437
6438
- chan_stat = get_channel_value_stat!(nodes[1], chan_1_2.2);
6438
+ chan_stat = get_channel_value_stat!(nodes[1], nodes[2], chan_1_2.2);
6439
6439
assert_eq!(chan_stat.holding_cell_outbound_amount_msat, max_can_send);
6440
6440
6441
6441
// Flush the pending fee update.
@@ -6639,7 +6639,7 @@ fn test_update_add_htlc_bolt2_sender_exceed_max_htlc_value_in_flight() {
6639
6639
let mut nodes = create_network(2, &node_cfgs, &node_chanmgrs);
6640
6640
let channel_value = 100000;
6641
6641
let chan = create_announced_chan_between_nodes_with_value(&nodes, 0, 1, channel_value, 0, InitFeatures::known(), InitFeatures::known());
6642
- let max_in_flight = get_channel_value_stat!(nodes[0], chan.2).counterparty_max_htlc_value_in_flight_msat;
6642
+ let max_in_flight = get_channel_value_stat!(nodes[0], nodes[1], chan.2).counterparty_max_htlc_value_in_flight_msat;
6643
6643
6644
6644
send_payment(&nodes[0], &vec!(&nodes[1])[..], max_in_flight);
6645
6645
@@ -6694,10 +6694,10 @@ fn test_update_add_htlc_bolt2_receiver_sender_can_afford_amount_sent() {
6694
6694
let mut nodes = create_network(2, &node_cfgs, &node_chanmgrs);
6695
6695
let chan = create_announced_chan_between_nodes_with_value(&nodes, 0, 1, 100000, 95000000, InitFeatures::known(), InitFeatures::known());
6696
6696
6697
- let chan_stat = get_channel_value_stat!(nodes[0], chan.2);
6697
+ let chan_stat = get_channel_value_stat!(nodes[0], nodes[1], chan.2);
6698
6698
let channel_reserve = chan_stat.channel_reserve_msat;
6699
- let feerate = get_feerate!(nodes[0], chan.2);
6700
- let opt_anchors = get_opt_anchors!(nodes[0], chan.2);
6699
+ let feerate = get_feerate!(nodes[0], nodes[1], chan.2);
6700
+ let opt_anchors = get_opt_anchors!(nodes[0], nodes[1], chan.2);
6701
6701
// The 2* and +1 are for the fee spike reserve.
6702
6702
let commit_tx_fee_outbound = 2 * commit_tx_fee_msat(feerate, 1 + 1, opt_anchors);
6703
6703
@@ -6773,7 +6773,7 @@ fn test_update_add_htlc_bolt2_receiver_check_max_in_flight_msat() {
6773
6773
nodes[0].node.send_payment(&route, our_payment_hash, &Some(our_payment_secret)).unwrap();
6774
6774
check_added_monitors!(nodes[0], 1);
6775
6775
let mut updates = get_htlc_update_msgs!(nodes[0], nodes[1].node.get_our_node_id());
6776
- updates.update_add_htlcs[0].amount_msat = get_channel_value_stat!(nodes[1], chan.2).counterparty_max_htlc_value_in_flight_msat + 1;
6776
+ updates.update_add_htlcs[0].amount_msat = get_channel_value_stat!(nodes[1], nodes[0], chan.2).counterparty_max_htlc_value_in_flight_msat + 1;
6777
6777
nodes[1].node.handle_update_add_htlc(&nodes[0].node.get_our_node_id(), &updates.update_add_htlcs[0]);
6778
6778
6779
6779
assert!(nodes[1].node.list_channels().is_empty());
0 commit comments