@@ -945,8 +945,8 @@ fn test_update_fee() {
945
945
check_added_monitors!(nodes[1], 1);
946
946
assert!(nodes[1].node.get_and_clear_pending_msg_events().is_empty());
947
947
948
- assert_eq!(get_feerate!(nodes[0], channel_id), feerate + 30);
949
- assert_eq!(get_feerate!(nodes[1], channel_id), feerate + 30);
948
+ assert_eq!(get_feerate!(nodes[0], nodes[1], channel_id), feerate + 30);
949
+ assert_eq!(get_feerate!(nodes[1], nodes[0], channel_id), feerate + 30);
950
950
close_channel(&nodes[0], &nodes[1], &chan.2, chan.3, true);
951
951
check_closed_event!(nodes[0], 1, ClosureReason::CooperativeClosure);
952
952
check_closed_event!(nodes[1], 1, ClosureReason::CooperativeClosure);
@@ -1350,11 +1350,11 @@ fn test_basic_channel_reserve() {
1350
1350
let mut nodes = create_network(2, &node_cfgs, &node_chanmgrs);
1351
1351
let chan = create_announced_chan_between_nodes_with_value(&nodes, 0, 1, 100000, 95000000, InitFeatures::known(), InitFeatures::known());
1352
1352
1353
- let chan_stat = get_channel_value_stat!(nodes[0], chan.2);
1353
+ let chan_stat = get_channel_value_stat!(nodes[0], nodes[1], chan.2);
1354
1354
let channel_reserve = chan_stat.channel_reserve_msat;
1355
1355
1356
1356
// The 2* and +1 are for the fee spike reserve.
1357
- let commit_tx_fee = 2 * commit_tx_fee_msat(get_feerate!(nodes[0], chan.2), 1 + 1, get_opt_anchors!(nodes[0], chan.2));
1357
+ 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));
1358
1358
let max_can_send = 5000000 - channel_reserve - commit_tx_fee;
1359
1359
let (route, our_payment_hash, _, our_payment_secret) = get_route_and_payment_hash!(nodes[0], nodes[1], max_can_send + 1);
1360
1360
let err = nodes[0].node.send_payment(&route, our_payment_hash, &Some(our_payment_secret)).err().unwrap();
@@ -1407,7 +1407,7 @@ fn test_fee_spike_violation_fails_htlc() {
1407
1407
// nodes[0] just sent. In the code for construction of this message, "local" refers
1408
1408
// to the sender of the message, and "remote" refers to the receiver.
1409
1409
1410
- let feerate_per_kw = get_feerate!(nodes[0], chan.2);
1410
+ let feerate_per_kw = get_feerate!(nodes[0], nodes[1], chan.2);
1411
1411
1412
1412
const INITIAL_COMMITMENT_NUMBER: u64 = (1 << 48) - 1;
1413
1413
@@ -1705,9 +1705,9 @@ fn test_chan_reserve_violation_inbound_htlc_inbound_chan() {
1705
1705
1706
1706
let feemsat = 239;
1707
1707
let total_routing_fee_msat = (nodes.len() - 2) as u64 * feemsat;
1708
- let chan_stat = get_channel_value_stat!(nodes[0], chan.2);
1709
- let feerate = get_feerate!(nodes[0], chan.2);
1710
- let opt_anchors = get_opt_anchors!(nodes[0], chan.2);
1708
+ let chan_stat = get_channel_value_stat!(nodes[0], nodes[1], chan.2);
1709
+ let feerate = get_feerate!(nodes[0], nodes[1], chan.2);
1710
+ let opt_anchors = get_opt_anchors!(nodes[0], nodes[1], chan.2);
1711
1711
1712
1712
// Add a 2* and +1 for the fee spike reserve.
1713
1713
let commit_tx_fee_2_htlc = 2*commit_tx_fee_msat(feerate, 2 + 1, opt_anchors);
@@ -1795,11 +1795,11 @@ fn test_channel_reserve_holding_cell_htlcs() {
1795
1795
let chan_1 = create_announced_chan_between_nodes_with_value(&nodes, 0, 1, 190000, 1001, InitFeatures::known(), InitFeatures::known());
1796
1796
let chan_2 = create_announced_chan_between_nodes_with_value(&nodes, 1, 2, 190000, 1001, InitFeatures::known(), InitFeatures::known());
1797
1797
1798
- let mut stat01 = get_channel_value_stat!(nodes[0], chan_1.2);
1799
- let mut stat11 = get_channel_value_stat!(nodes[1], chan_1.2);
1798
+ let mut stat01 = get_channel_value_stat!(nodes[0], nodes[1], chan_1.2);
1799
+ let mut stat11 = get_channel_value_stat!(nodes[1], nodes[0], chan_1.2);
1800
1800
1801
- let mut stat12 = get_channel_value_stat!(nodes[1], chan_2.2);
1802
- let mut stat22 = get_channel_value_stat!(nodes[2], chan_2.2);
1801
+ let mut stat12 = get_channel_value_stat!(nodes[1], nodes[2], chan_2.2);
1802
+ let mut stat22 = get_channel_value_stat!(nodes[2], nodes[1], chan_2.2);
1803
1803
1804
1804
macro_rules! expect_forward {
1805
1805
($node: expr) => {{
@@ -1813,8 +1813,8 @@ fn test_channel_reserve_holding_cell_htlcs() {
1813
1813
1814
1814
let feemsat = 239; // set above
1815
1815
let total_fee_msat = (nodes.len() - 2) as u64 * feemsat;
1816
- let feerate = get_feerate!(nodes[0], chan_1.2);
1817
- let opt_anchors = get_opt_anchors!(nodes[0], chan_1.2);
1816
+ let feerate = get_feerate!(nodes[0], nodes[1], chan_1.2);
1817
+ let opt_anchors = get_opt_anchors!(nodes[0], nodes[1], chan_1.2);
1818
1818
1819
1819
let recv_value_0 = stat01.counterparty_max_htlc_value_in_flight_msat - total_fee_msat;
1820
1820
@@ -1844,10 +1844,10 @@ fn test_channel_reserve_holding_cell_htlcs() {
1844
1844
send_payment(&nodes[0], &vec![&nodes[1], &nodes[2]][..], recv_value_0);
1845
1845
1846
1846
let (stat01_, stat11_, stat12_, stat22_) = (
1847
- get_channel_value_stat!(nodes[0], chan_1.2),
1848
- get_channel_value_stat!(nodes[1], chan_1.2),
1849
- get_channel_value_stat!(nodes[1], chan_2.2),
1850
- get_channel_value_stat!(nodes[2], chan_2.2),
1847
+ get_channel_value_stat!(nodes[0], nodes[1], chan_1.2),
1848
+ get_channel_value_stat!(nodes[1], nodes[0], chan_1.2),
1849
+ get_channel_value_stat!(nodes[1], nodes[2], chan_2.2),
1850
+ get_channel_value_stat!(nodes[2], nodes[1], chan_2.2),
1851
1851
);
1852
1852
1853
1853
assert_eq!(stat01_.value_to_self_msat, stat01.value_to_self_msat - amt_msat);
@@ -1898,7 +1898,7 @@ fn test_channel_reserve_holding_cell_htlcs() {
1898
1898
let recv_value_21 = recv_value_2/2 - additional_htlc_cost_msat/2;
1899
1899
let recv_value_22 = recv_value_2 - recv_value_21 - total_fee_msat - additional_htlc_cost_msat;
1900
1900
{
1901
- let stat = get_channel_value_stat!(nodes[0], chan_1.2);
1901
+ let stat = get_channel_value_stat!(nodes[0], nodes[1], chan_1.2);
1902
1902
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);
1903
1903
}
1904
1904
@@ -2010,11 +2010,11 @@ fn test_channel_reserve_holding_cell_htlcs() {
2010
2010
2011
2011
let commit_tx_fee_1_htlc = 2*commit_tx_fee_msat(feerate, 1 + 1, opt_anchors);
2012
2012
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);
2013
- let stat0 = get_channel_value_stat!(nodes[0], chan_1.2);
2013
+ let stat0 = get_channel_value_stat!(nodes[0], nodes[1], chan_1.2);
2014
2014
assert_eq!(stat0.value_to_self_msat, expected_value_to_self);
2015
2015
assert_eq!(stat0.value_to_self_msat, stat0.channel_reserve_msat + commit_tx_fee_1_htlc);
2016
2016
2017
- let stat2 = get_channel_value_stat!(nodes[2], chan_2.2);
2017
+ let stat2 = get_channel_value_stat!(nodes[2], nodes[1], chan_2.2);
2018
2018
assert_eq!(stat2.value_to_self_msat, stat22.value_to_self_msat + recv_value_1 + recv_value_21 + recv_value_22 + recv_value_3);
2019
2019
}
2020
2020
@@ -2048,7 +2048,7 @@ fn channel_reserve_in_flight_removes() {
2048
2048
let mut nodes = create_network(2, &node_cfgs, &node_chanmgrs);
2049
2049
let chan_1 = create_announced_chan_between_nodes(&nodes, 0, 1, InitFeatures::known(), InitFeatures::known());
2050
2050
2051
- let b_chan_values = get_channel_value_stat!(nodes[1], chan_1.2);
2051
+ let b_chan_values = get_channel_value_stat!(nodes[1], nodes[0], chan_1.2);
2052
2052
// Route the first two HTLCs.
2053
2053
let payment_value_1 = b_chan_values.channel_reserve_msat - b_chan_values.value_to_self_msat - 10000;
2054
2054
let (payment_preimage_1, payment_hash_1, _) = route_payment(&nodes[0], &[&nodes[1]], payment_value_1);
@@ -6185,18 +6185,18 @@ fn test_fail_holding_cell_htlc_upon_free() {
6185
6185
6186
6186
nodes[1].node.handle_update_fee(&nodes[0].node.get_our_node_id(), update_msg.unwrap());
6187
6187
6188
- let mut chan_stat = get_channel_value_stat!(nodes[0], chan.2);
6188
+ let mut chan_stat = get_channel_value_stat!(nodes[0], nodes[1], chan.2);
6189
6189
let channel_reserve = chan_stat.channel_reserve_msat;
6190
- let feerate = get_feerate!(nodes[0], chan.2);
6191
- let opt_anchors = get_opt_anchors!(nodes[0], chan.2);
6190
+ let feerate = get_feerate!(nodes[0], nodes[1], chan.2);
6191
+ let opt_anchors = get_opt_anchors!(nodes[0], nodes[1], chan.2);
6192
6192
6193
6193
// 2* and +1 HTLCs on the commit tx fee calculation for the fee spike reserve.
6194
6194
let max_can_send = 5000000 - channel_reserve - 2*commit_tx_fee_msat(feerate, 1 + 1, opt_anchors);
6195
6195
let (route, our_payment_hash, _, our_payment_secret) = get_route_and_payment_hash!(nodes[0], nodes[1], max_can_send);
6196
6196
6197
6197
// Send a payment which passes reserve checks but gets stuck in the holding cell.
6198
6198
let our_payment_id = nodes[0].node.send_payment(&route, our_payment_hash, &Some(our_payment_secret)).unwrap();
6199
- chan_stat = get_channel_value_stat!(nodes[0], chan.2);
6199
+ chan_stat = get_channel_value_stat!(nodes[0], nodes[1], chan.2);
6200
6200
assert_eq!(chan_stat.holding_cell_outbound_amount_msat, max_can_send);
6201
6201
6202
6202
// Flush the pending fee update.
@@ -6209,7 +6209,7 @@ fn test_fail_holding_cell_htlc_upon_free() {
6209
6209
// Upon receipt of the RAA, there will be an attempt to resend the holding cell
6210
6210
// HTLC, but now that the fee has been raised the payment will now fail, causing
6211
6211
// us to surface its failure to the user.
6212
- chan_stat = get_channel_value_stat!(nodes[0], chan.2);
6212
+ chan_stat = get_channel_value_stat!(nodes[0], nodes[1], chan.2);
6213
6213
assert_eq!(chan_stat.holding_cell_outbound_amount_msat, 0);
6214
6214
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);
6215
6215
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 {}",
@@ -6265,10 +6265,10 @@ fn test_free_and_fail_holding_cell_htlcs() {
6265
6265
6266
6266
nodes[1].node.handle_update_fee(&nodes[0].node.get_our_node_id(), update_msg.unwrap());
6267
6267
6268
- let mut chan_stat = get_channel_value_stat!(nodes[0], chan.2);
6268
+ let mut chan_stat = get_channel_value_stat!(nodes[0], nodes[1], chan.2);
6269
6269
let channel_reserve = chan_stat.channel_reserve_msat;
6270
- let feerate = get_feerate!(nodes[0], chan.2);
6271
- let opt_anchors = get_opt_anchors!(nodes[0], chan.2);
6270
+ let feerate = get_feerate!(nodes[0], nodes[1], chan.2);
6271
+ let opt_anchors = get_opt_anchors!(nodes[0], nodes[1], chan.2);
6272
6272
6273
6273
// 2* and +1 HTLCs on the commit tx fee calculation for the fee spike reserve.
6274
6274
let amt_1 = 20000;
@@ -6278,10 +6278,10 @@ fn test_free_and_fail_holding_cell_htlcs() {
6278
6278
6279
6279
// Send 2 payments which pass reserve checks but get stuck in the holding cell.
6280
6280
nodes[0].node.send_payment(&route_1, payment_hash_1, &Some(payment_secret_1)).unwrap();
6281
- chan_stat = get_channel_value_stat!(nodes[0], chan.2);
6281
+ chan_stat = get_channel_value_stat!(nodes[0], nodes[1], chan.2);
6282
6282
assert_eq!(chan_stat.holding_cell_outbound_amount_msat, amt_1);
6283
6283
let payment_id_2 = nodes[0].node.send_payment(&route_2, payment_hash_2, &Some(payment_secret_2)).unwrap();
6284
- chan_stat = get_channel_value_stat!(nodes[0], chan.2);
6284
+ chan_stat = get_channel_value_stat!(nodes[0], nodes[1], chan.2);
6285
6285
assert_eq!(chan_stat.holding_cell_outbound_amount_msat, amt_1 + amt_2);
6286
6286
6287
6287
// Flush the pending fee update.
@@ -6295,7 +6295,7 @@ fn test_free_and_fail_holding_cell_htlcs() {
6295
6295
// Upon receipt of the RAA, there will be an attempt to resend the holding cell HTLCs,
6296
6296
// but now that the fee has been raised the second payment will now fail, causing us
6297
6297
// to surface its failure to the user. The first payment should succeed.
6298
- chan_stat = get_channel_value_stat!(nodes[0], chan.2);
6298
+ chan_stat = get_channel_value_stat!(nodes[0], nodes[1], chan.2);
6299
6299
assert_eq!(chan_stat.holding_cell_outbound_amount_msat, 0);
6300
6300
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);
6301
6301
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 {}",
@@ -6393,10 +6393,10 @@ fn test_fail_holding_cell_htlc_upon_free_multihop() {
6393
6393
6394
6394
nodes[2].node.handle_update_fee(&nodes[1].node.get_our_node_id(), update_msg.unwrap());
6395
6395
6396
- let mut chan_stat = get_channel_value_stat!(nodes[0], chan_0_1.2);
6396
+ let mut chan_stat = get_channel_value_stat!(nodes[0], nodes[1], chan_0_1.2);
6397
6397
let channel_reserve = chan_stat.channel_reserve_msat;
6398
- let feerate = get_feerate!(nodes[0], chan_0_1.2);
6399
- let opt_anchors = get_opt_anchors!(nodes[0], chan_0_1.2);
6398
+ let feerate = get_feerate!(nodes[0], nodes[1], chan_0_1.2);
6399
+ let opt_anchors = get_opt_anchors!(nodes[0], nodes[1], chan_0_1.2);
6400
6400
6401
6401
// Send a payment which passes reserve checks but gets stuck in the holding cell.
6402
6402
let feemsat = 239;
@@ -6417,7 +6417,7 @@ fn test_fail_holding_cell_htlc_upon_free_multihop() {
6417
6417
commitment_signed_dance!(nodes[1], nodes[0], payment_event.commitment_msg, false);
6418
6418
expect_pending_htlcs_forwardable!(nodes[1]);
6419
6419
6420
- chan_stat = get_channel_value_stat!(nodes[1], chan_1_2.2);
6420
+ chan_stat = get_channel_value_stat!(nodes[1], nodes[2], chan_1_2.2);
6421
6421
assert_eq!(chan_stat.holding_cell_outbound_amount_msat, max_can_send);
6422
6422
6423
6423
// Flush the pending fee update.
@@ -6621,7 +6621,7 @@ fn test_update_add_htlc_bolt2_sender_exceed_max_htlc_value_in_flight() {
6621
6621
let mut nodes = create_network(2, &node_cfgs, &node_chanmgrs);
6622
6622
let channel_value = 100000;
6623
6623
let chan = create_announced_chan_between_nodes_with_value(&nodes, 0, 1, channel_value, 0, InitFeatures::known(), InitFeatures::known());
6624
- let max_in_flight = get_channel_value_stat!(nodes[0], chan.2).counterparty_max_htlc_value_in_flight_msat;
6624
+ let max_in_flight = get_channel_value_stat!(nodes[0], nodes[1], chan.2).counterparty_max_htlc_value_in_flight_msat;
6625
6625
6626
6626
send_payment(&nodes[0], &vec!(&nodes[1])[..], max_in_flight);
6627
6627
@@ -6676,10 +6676,10 @@ fn test_update_add_htlc_bolt2_receiver_sender_can_afford_amount_sent() {
6676
6676
let mut nodes = create_network(2, &node_cfgs, &node_chanmgrs);
6677
6677
let chan = create_announced_chan_between_nodes_with_value(&nodes, 0, 1, 100000, 95000000, InitFeatures::known(), InitFeatures::known());
6678
6678
6679
- let chan_stat = get_channel_value_stat!(nodes[0], chan.2);
6679
+ let chan_stat = get_channel_value_stat!(nodes[0], nodes[1], chan.2);
6680
6680
let channel_reserve = chan_stat.channel_reserve_msat;
6681
- let feerate = get_feerate!(nodes[0], chan.2);
6682
- let opt_anchors = get_opt_anchors!(nodes[0], chan.2);
6681
+ let feerate = get_feerate!(nodes[0], nodes[1], chan.2);
6682
+ let opt_anchors = get_opt_anchors!(nodes[0], nodes[1], chan.2);
6683
6683
// The 2* and +1 are for the fee spike reserve.
6684
6684
let commit_tx_fee_outbound = 2 * commit_tx_fee_msat(feerate, 1 + 1, opt_anchors);
6685
6685
@@ -6755,7 +6755,7 @@ fn test_update_add_htlc_bolt2_receiver_check_max_in_flight_msat() {
6755
6755
nodes[0].node.send_payment(&route, our_payment_hash, &Some(our_payment_secret)).unwrap();
6756
6756
check_added_monitors!(nodes[0], 1);
6757
6757
let mut updates = get_htlc_update_msgs!(nodes[0], nodes[1].node.get_our_node_id());
6758
- updates.update_add_htlcs[0].amount_msat = get_channel_value_stat!(nodes[1], chan.2).counterparty_max_htlc_value_in_flight_msat + 1;
6758
+ 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;
6759
6759
nodes[1].node.handle_update_add_htlc(&nodes[0].node.get_our_node_id(), &updates.update_add_htlcs[0]);
6760
6760
6761
6761
assert!(nodes[1].node.list_channels().is_empty());
0 commit comments