Skip to content

Commit

Permalink
Provide some test coverage of shutdown msgs for unfunded chans
Browse files Browse the repository at this point in the history
We have code to handle receiving `shutdown` messages on unfudned
channels. However, it had no test coverage, which we add here.
  • Loading branch information
TheBlueMatt committed Sep 25, 2023
1 parent 0681b00 commit 913a330
Showing 1 changed file with 22 additions and 0 deletions.
22 changes: 22 additions & 0 deletions lightning/src/ln/shutdown_tests.rs
Original file line number Diff line number Diff line change
Expand Up @@ -253,6 +253,28 @@ fn test_lnd_bug_6039() {
assert!(nodes[0].node.list_channels().is_empty());
}

#[test]
fn shutdown_on_unfunded_channel() {
// Test receiving a shutdown prior to funding generation
let chanmon_cfgs = create_chanmon_cfgs(2);
let node_cfgs = create_node_cfgs(2, &chanmon_cfgs);
let node_chanmgrs = create_node_chanmgrs(2, &node_cfgs, &[None, None]);
let nodes = create_network(2, &node_cfgs, &node_chanmgrs);

nodes[0].node.create_channel(nodes[1].node.get_our_node_id(), 1_000_000, 100_000, 0, None).unwrap();
let open_chan = get_event_msg!(nodes[0], MessageSendEvent::SendOpenChannel, nodes[1].node.get_our_node_id());

// P2WSH
let script = Builder::new().push_int(0)
.push_slice(&[0; 20])
.into_script();

nodes[0].node.handle_shutdown(&nodes[1].node.get_our_node_id(), &msgs::Shutdown {
channel_id: open_chan.temporary_channel_id, scriptpubkey: script,
});
check_closed_event!(nodes[0], 1, ClosureReason::CounterpartyCoopClosedUnfundedChannel, [nodes[1].node.get_our_node_id()], 1_000_000);
}

#[test]
fn expect_channel_shutdown_state_with_force_closure() {
// Test sending a shutdown prior to channel_ready after funding generation
Expand Down

0 comments on commit 913a330

Please sign in to comment.