Skip to content

Commit 19bbb20

Browse files
Add counterparty_node to test macros
1 parent 9a7f2ef commit 19bbb20

File tree

3 files changed

+51
-51
lines changed

3 files changed

+51
-51
lines changed

lightning/src/ln/functional_test_utils.rs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -521,7 +521,7 @@ macro_rules! get_channel_ref {
521521

522522
#[cfg(test)]
523523
macro_rules! get_feerate {
524-
($node: expr, $channel_id: expr) => {
524+
($node: expr, $counterparty_node: expr, $channel_id: expr) => {
525525
{
526526
let mut lock;
527527
let chan = get_channel_ref!($node, lock, $channel_id);
@@ -532,7 +532,7 @@ macro_rules! get_feerate {
532532

533533
#[cfg(test)]
534534
macro_rules! get_opt_anchors {
535-
($node: expr, $channel_id: expr) => {
535+
($node: expr, $counterparty_node: expr, $channel_id: expr) => {
536536
{
537537
let mut lock;
538538
let chan = get_channel_ref!($node, lock, $channel_id);
@@ -2171,7 +2171,7 @@ pub fn get_announce_close_broadcast_events<'a, 'b, 'c>(nodes: &Vec<Node<'a, 'b,
21712171

21722172
#[cfg(test)]
21732173
macro_rules! get_channel_value_stat {
2174-
($node: expr, $channel_id: expr) => {{
2174+
($node: expr, $counterparty_node: expr, $channel_id: expr) => {{
21752175
let chan_lock = $node.node.channel_state.lock().unwrap();
21762176
let chan = chan_lock.by_id.get(&$channel_id).unwrap();
21772177
chan.get_value_stat()

lightning/src/ln/functional_tests.rs

Lines changed: 42 additions & 42 deletions
Original file line numberDiff line numberDiff line change
@@ -945,8 +945,8 @@ fn test_update_fee() {
945945
check_added_monitors!(nodes[1], 1);
946946
assert!(nodes[1].node.get_and_clear_pending_msg_events().is_empty());
947947

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);
950950
close_channel(&nodes[0], &nodes[1], &chan.2, chan.3, true);
951951
check_closed_event!(nodes[0], 1, ClosureReason::CooperativeClosure);
952952
check_closed_event!(nodes[1], 1, ClosureReason::CooperativeClosure);
@@ -1350,11 +1350,11 @@ fn test_basic_channel_reserve() {
13501350
let mut nodes = create_network(2, &node_cfgs, &node_chanmgrs);
13511351
let chan = create_announced_chan_between_nodes_with_value(&nodes, 0, 1, 100000, 95000000, InitFeatures::known(), InitFeatures::known());
13521352

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);
13541354
let channel_reserve = chan_stat.channel_reserve_msat;
13551355

13561356
// 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));
13581358
let max_can_send = 5000000 - channel_reserve - commit_tx_fee;
13591359
let (route, our_payment_hash, _, our_payment_secret) = get_route_and_payment_hash!(nodes[0], nodes[1], max_can_send + 1);
13601360
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() {
14071407
// nodes[0] just sent. In the code for construction of this message, "local" refers
14081408
// to the sender of the message, and "remote" refers to the receiver.
14091409

1410-
let feerate_per_kw = get_feerate!(nodes[0], chan.2);
1410+
let feerate_per_kw = get_feerate!(nodes[0], nodes[1], chan.2);
14111411

14121412
const INITIAL_COMMITMENT_NUMBER: u64 = (1 << 48) - 1;
14131413

@@ -1705,9 +1705,9 @@ fn test_chan_reserve_violation_inbound_htlc_inbound_chan() {
17051705

17061706
let feemsat = 239;
17071707
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);
17111711

17121712
// Add a 2* and +1 for the fee spike reserve.
17131713
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() {
17951795
let chan_1 = create_announced_chan_between_nodes_with_value(&nodes, 0, 1, 190000, 1001, InitFeatures::known(), InitFeatures::known());
17961796
let chan_2 = create_announced_chan_between_nodes_with_value(&nodes, 1, 2, 190000, 1001, InitFeatures::known(), InitFeatures::known());
17971797

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);
18001800

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);
18031803

18041804
macro_rules! expect_forward {
18051805
($node: expr) => {{
@@ -1813,8 +1813,8 @@ fn test_channel_reserve_holding_cell_htlcs() {
18131813

18141814
let feemsat = 239; // set above
18151815
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);
18181818

18191819
let recv_value_0 = stat01.counterparty_max_htlc_value_in_flight_msat - total_fee_msat;
18201820

@@ -1844,10 +1844,10 @@ fn test_channel_reserve_holding_cell_htlcs() {
18441844
send_payment(&nodes[0], &vec![&nodes[1], &nodes[2]][..], recv_value_0);
18451845

18461846
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),
18511851
);
18521852

18531853
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() {
18981898
let recv_value_21 = recv_value_2/2 - additional_htlc_cost_msat/2;
18991899
let recv_value_22 = recv_value_2 - recv_value_21 - total_fee_msat - additional_htlc_cost_msat;
19001900
{
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);
19021902
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);
19031903
}
19041904

@@ -2010,11 +2010,11 @@ fn test_channel_reserve_holding_cell_htlcs() {
20102010

20112011
let commit_tx_fee_1_htlc = 2*commit_tx_fee_msat(feerate, 1 + 1, opt_anchors);
20122012
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);
20142014
assert_eq!(stat0.value_to_self_msat, expected_value_to_self);
20152015
assert_eq!(stat0.value_to_self_msat, stat0.channel_reserve_msat + commit_tx_fee_1_htlc);
20162016

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);
20182018
assert_eq!(stat2.value_to_self_msat, stat22.value_to_self_msat + recv_value_1 + recv_value_21 + recv_value_22 + recv_value_3);
20192019
}
20202020

@@ -2048,7 +2048,7 @@ fn channel_reserve_in_flight_removes() {
20482048
let mut nodes = create_network(2, &node_cfgs, &node_chanmgrs);
20492049
let chan_1 = create_announced_chan_between_nodes(&nodes, 0, 1, InitFeatures::known(), InitFeatures::known());
20502050

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);
20522052
// Route the first two HTLCs.
20532053
let payment_value_1 = b_chan_values.channel_reserve_msat - b_chan_values.value_to_self_msat - 10000;
20542054
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() {
61856185

61866186
nodes[1].node.handle_update_fee(&nodes[0].node.get_our_node_id(), update_msg.unwrap());
61876187

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);
61896189
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);
61926192

61936193
// 2* and +1 HTLCs on the commit tx fee calculation for the fee spike reserve.
61946194
let max_can_send = 5000000 - channel_reserve - 2*commit_tx_fee_msat(feerate, 1 + 1, opt_anchors);
61956195
let (route, our_payment_hash, _, our_payment_secret) = get_route_and_payment_hash!(nodes[0], nodes[1], max_can_send);
61966196

61976197
// Send a payment which passes reserve checks but gets stuck in the holding cell.
61986198
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);
62006200
assert_eq!(chan_stat.holding_cell_outbound_amount_msat, max_can_send);
62016201

62026202
// Flush the pending fee update.
@@ -6209,7 +6209,7 @@ fn test_fail_holding_cell_htlc_upon_free() {
62096209
// Upon receipt of the RAA, there will be an attempt to resend the holding cell
62106210
// HTLC, but now that the fee has been raised the payment will now fail, causing
62116211
// 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);
62136213
assert_eq!(chan_stat.holding_cell_outbound_amount_msat, 0);
62146214
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);
62156215
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() {
62656265

62666266
nodes[1].node.handle_update_fee(&nodes[0].node.get_our_node_id(), update_msg.unwrap());
62676267

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);
62696269
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);
62726272

62736273
// 2* and +1 HTLCs on the commit tx fee calculation for the fee spike reserve.
62746274
let amt_1 = 20000;
@@ -6278,10 +6278,10 @@ fn test_free_and_fail_holding_cell_htlcs() {
62786278

62796279
// Send 2 payments which pass reserve checks but get stuck in the holding cell.
62806280
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);
62826282
assert_eq!(chan_stat.holding_cell_outbound_amount_msat, amt_1);
62836283
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);
62856285
assert_eq!(chan_stat.holding_cell_outbound_amount_msat, amt_1 + amt_2);
62866286

62876287
// Flush the pending fee update.
@@ -6295,7 +6295,7 @@ fn test_free_and_fail_holding_cell_htlcs() {
62956295
// Upon receipt of the RAA, there will be an attempt to resend the holding cell HTLCs,
62966296
// but now that the fee has been raised the second payment will now fail, causing us
62976297
// 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);
62996299
assert_eq!(chan_stat.holding_cell_outbound_amount_msat, 0);
63006300
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);
63016301
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() {
63936393

63946394
nodes[2].node.handle_update_fee(&nodes[1].node.get_our_node_id(), update_msg.unwrap());
63956395

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);
63976397
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);
64006400

64016401
// Send a payment which passes reserve checks but gets stuck in the holding cell.
64026402
let feemsat = 239;
@@ -6417,7 +6417,7 @@ fn test_fail_holding_cell_htlc_upon_free_multihop() {
64176417
commitment_signed_dance!(nodes[1], nodes[0], payment_event.commitment_msg, false);
64186418
expect_pending_htlcs_forwardable!(nodes[1]);
64196419

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);
64216421
assert_eq!(chan_stat.holding_cell_outbound_amount_msat, max_can_send);
64226422

64236423
// Flush the pending fee update.
@@ -6621,7 +6621,7 @@ fn test_update_add_htlc_bolt2_sender_exceed_max_htlc_value_in_flight() {
66216621
let mut nodes = create_network(2, &node_cfgs, &node_chanmgrs);
66226622
let channel_value = 100000;
66236623
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;
66256625

66266626
send_payment(&nodes[0], &vec!(&nodes[1])[..], max_in_flight);
66276627

@@ -6676,10 +6676,10 @@ fn test_update_add_htlc_bolt2_receiver_sender_can_afford_amount_sent() {
66766676
let mut nodes = create_network(2, &node_cfgs, &node_chanmgrs);
66776677
let chan = create_announced_chan_between_nodes_with_value(&nodes, 0, 1, 100000, 95000000, InitFeatures::known(), InitFeatures::known());
66786678

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);
66806680
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);
66836683
// The 2* and +1 are for the fee spike reserve.
66846684
let commit_tx_fee_outbound = 2 * commit_tx_fee_msat(feerate, 1 + 1, opt_anchors);
66856685

@@ -6755,7 +6755,7 @@ fn test_update_add_htlc_bolt2_receiver_check_max_in_flight_msat() {
67556755
nodes[0].node.send_payment(&route, our_payment_hash, &Some(our_payment_secret)).unwrap();
67566756
check_added_monitors!(nodes[0], 1);
67576757
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;
67596759
nodes[1].node.handle_update_add_htlc(&nodes[0].node.get_our_node_id(), &updates.update_add_htlcs[0]);
67606760

67616761
assert!(nodes[1].node.list_channels().is_empty());

lightning/src/ln/monitor_tests.rs

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -110,8 +110,8 @@ fn chanmon_claim_value_coop_close() {
110110
let funding_outpoint = OutPoint { txid: funding_tx.txid(), index: 0 };
111111
assert_eq!(funding_outpoint.to_channel_id(), chan_id);
112112

113-
let chan_feerate = get_feerate!(nodes[0], chan_id) as u64;
114-
let opt_anchors = get_opt_anchors!(nodes[0], chan_id);
113+
let chan_feerate = get_feerate!(nodes[0], nodes[1], chan_id) as u64;
114+
let opt_anchors = get_opt_anchors!(nodes[0], nodes[1], chan_id);
115115

116116
assert_eq!(vec![Balance::ClaimableOnChannelClose {
117117
claimable_amount_satoshis: 1_000_000 - 1_000 - chan_feerate * channel::commitment_tx_base_weight(opt_anchors) / 1000
@@ -210,8 +210,8 @@ fn do_test_claim_value_force_close(prev_commitment_tx: bool) {
210210

211211
let htlc_cltv_timeout = nodes[0].best_block_info().1 + TEST_FINAL_CLTV + 1; // Note ChannelManager adds one to CLTV timeouts for safety
212212

213-
let chan_feerate = get_feerate!(nodes[0], chan_id) as u64;
214-
let opt_anchors = get_opt_anchors!(nodes[0], chan_id);
213+
let chan_feerate = get_feerate!(nodes[0], nodes[1], chan_id) as u64;
214+
let opt_anchors = get_opt_anchors!(nodes[0], nodes[1], chan_id);
215215

216216
let remote_txn = get_local_commitment_txn!(nodes[1], chan_id);
217217
// Before B receives the payment preimage, it only suggests the push_msat value of 1_000 sats
@@ -557,8 +557,8 @@ fn test_balances_on_local_commitment_htlcs() {
557557
check_added_monitors!(nodes[1], 1);
558558
expect_payment_claimed!(nodes[1], payment_hash_2, 20_000_000);
559559

560-
let chan_feerate = get_feerate!(nodes[0], chan_id) as u64;
561-
let opt_anchors = get_opt_anchors!(nodes[0], chan_id);
560+
let chan_feerate = get_feerate!(nodes[0], nodes[1], chan_id) as u64;
561+
let opt_anchors = get_opt_anchors!(nodes[0], nodes[1], chan_id);
562562

563563
// Get nodes[0]'s commitment transaction and HTLC-Timeout transactions
564564
let as_txn = get_local_commitment_txn!(nodes[0], chan_id);

0 commit comments

Comments
 (0)