Skip to content

Commit 24c5dde

Browse files
committed
f Test the expected hash and unconfirm success
1 parent 647ba32 commit 24c5dde

File tree

1 file changed

+18
-0
lines changed

1 file changed

+18
-0
lines changed

lightning/src/ln/reorg_tests.rs

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -271,6 +271,7 @@ fn do_test_unconf_chan(reload_node: bool, reorg_after_reload: bool, use_funding_
271271
let mut nodes = create_network(2, &node_cfgs, &node_chanmgrs);
272272
*nodes[0].connect_style.borrow_mut() = connect_style;
273273

274+
let chan_conf_height = core::cmp::max(nodes[0].best_block_info().1 + 1, nodes[1].best_block_info().1 + 1);
274275
let chan = create_announced_chan_between_nodes(&nodes, 0, 1, channelmanager::provided_init_features(), channelmanager::provided_init_features());
275276

276277
let channel_state = nodes[0].node.channel_state.lock().unwrap();
@@ -282,6 +283,10 @@ fn do_test_unconf_chan(reload_node: bool, reorg_after_reload: bool, use_funding_
282283
if use_funding_unconfirmed {
283284
let relevant_txids = nodes[0].node.get_relevant_txids();
284285
assert_eq!(relevant_txids.len(), 1);
286+
let block_hash_opt = relevant_txids[0].1;
287+
assert!(block_hash_opt.is_some());
288+
let expected_hash = nodes[0].get_block_header(chan_conf_height).block_hash();
289+
assert_eq!(block_hash_opt.unwrap(), expected_hash);
285290
let txid = relevant_txids[0].0;
286291
assert_eq!(txid, chan.3.txid());
287292
nodes[0].node.transaction_unconfirmed(&txid);
@@ -292,6 +297,10 @@ fn do_test_unconf_chan(reload_node: bool, reorg_after_reload: bool, use_funding_
292297
} else {
293298
disconnect_all_blocks(&nodes[0]);
294299
}
300+
301+
let relevant_txids = nodes[0].node.get_relevant_txids();
302+
assert_eq!(relevant_txids.len(), 0);
303+
295304
handle_announce_close_broadcast_events(&nodes, 0, 1, true, "Channel closed because of an exception: Funding transaction was un-confirmed. Locked at 6 confs, now have 0 confs.");
296305
check_added_monitors!(nodes[1], 1);
297306
{
@@ -352,6 +361,11 @@ fn do_test_unconf_chan(reload_node: bool, reorg_after_reload: bool, use_funding_
352361
if reorg_after_reload {
353362
if use_funding_unconfirmed {
354363
let relevant_txids = nodes[0].node.get_relevant_txids();
364+
assert_eq!(relevant_txids.len(), 1);
365+
let block_hash_opt = relevant_txids[0].1;
366+
assert!(block_hash_opt.is_some());
367+
let expected_hash = nodes[0].get_block_header(chan_conf_height).block_hash();
368+
assert_eq!(block_hash_opt.unwrap(), expected_hash);
355369
let txid = relevant_txids[0].0;
356370
assert_eq!(txid, chan.3.txid());
357371
nodes[0].node.transaction_unconfirmed(&txid);
@@ -362,6 +376,10 @@ fn do_test_unconf_chan(reload_node: bool, reorg_after_reload: bool, use_funding_
362376
} else {
363377
disconnect_all_blocks(&nodes[0]);
364378
}
379+
380+
let relevant_txids = nodes[0].node.get_relevant_txids();
381+
assert_eq!(relevant_txids.len(), 0);
382+
365383
handle_announce_close_broadcast_events(&nodes, 0, 1, true, "Channel closed because of an exception: Funding transaction was un-confirmed. Locked at 6 confs, now have 0 confs.");
366384
check_added_monitors!(nodes[1], 1);
367385
{

0 commit comments

Comments
 (0)