Skip to content

Commit 53e3bb9

Browse files
committed
FC outbound chans we sent open_channel for when peer was offline
1 parent f65cfd2 commit 53e3bb9

File tree

1 file changed

+27
-0
lines changed

1 file changed

+27
-0
lines changed

lightning/src/ln/channelmanager.rs

+27
Original file line numberDiff line numberDiff line change
@@ -9389,6 +9389,33 @@ mod tests {
93899389
}
93909390
}
93919391

9392+
#[test]
9393+
fn test_outbound_channels_created_when_disconnected_removed_on_peer_connected() {
9394+
let chanmon_cfgs = create_chanmon_cfgs(2);
9395+
let node_cfgs = create_node_cfgs(2, &chanmon_cfgs);
9396+
let node_chanmgrs = create_node_chanmgrs(2, &node_cfgs, &[None, None]);
9397+
let nodes = create_network(2, &node_cfgs, &node_chanmgrs);
9398+
9399+
let temporary_channel_id = nodes[0].node.create_channel(nodes[1].node.get_our_node_id(), 1_000_000, 500_000_000, 42, None).unwrap();
9400+
9401+
{
9402+
let per_peer_state = nodes[0].node.per_peer_state.read().unwrap();
9403+
let peer_state_mutex = per_peer_state.get(&nodes[1].node.get_our_node_id()).unwrap();
9404+
let mut peer_state = peer_state_mutex.lock().unwrap();
9405+
peer_state.is_connected = false;
9406+
}
9407+
9408+
let open_channel = get_event_msg!(nodes[0], MessageSendEvent::SendOpenChannel, nodes[1].node.get_our_node_id());
9409+
assert_eq!(open_channel.temporary_channel_id, temporary_channel_id);
9410+
9411+
nodes[0].node.peer_connected(&nodes[1].node.get_our_node_id(), &msgs::Init {
9412+
features: nodes[0].node.init_features(), networks: None, remote_network_address: None
9413+
}, true).unwrap();
9414+
9415+
check_closed_event(&nodes[0], 1, ClosureReason::HolderForceClosed, false);
9416+
let chan_closed_events = nodes[1].node.get_and_clear_pending_events();
9417+
}
9418+
93929419
#[test]
93939420
fn test_drop_disconnected_peers_when_removing_channels() {
93949421
let chanmon_cfgs = create_chanmon_cfgs(2);

0 commit comments

Comments
 (0)