Skip to content

Commit 5784213

Browse files
committed
fix Simplify v1 splice test
1 parent f2c821e commit 5784213

File tree

1 file changed

+9
-181
lines changed

1 file changed

+9
-181
lines changed

lightning/src/ln/functional_tests_splice.rs

Lines changed: 9 additions & 181 deletions
Original file line numberDiff line numberDiff line change
@@ -7,23 +7,17 @@
77
// You may not use this file except in accordance with one or both of these
88
// licenses.
99

10-
use crate::events::{Event, MessageSendEvent, MessageSendEventsProvider};
10+
use crate::events::{MessageSendEvent, MessageSendEventsProvider};
1111
use crate::ln::functional_test_utils::*;
1212
use crate::ln::msgs::ChannelMessageHandler;
13-
use crate::util::config::{ChannelHandshakeConfig, UserConfig};
1413

1514
/// Splicing test, simple splice-in flow. Starts with opening a V1 channel first.
1615
/// Builds on test_channel_open_simple()
1716
#[test]
1817
fn test_v1_splice_in() {
19-
// Set up a network of 2 nodes
20-
let cfg = UserConfig {
21-
channel_handshake_config: ChannelHandshakeConfig { ..Default::default() },
22-
..Default::default()
23-
};
2418
let chanmon_cfgs = create_chanmon_cfgs(2);
2519
let node_cfgs = create_node_cfgs(2, &chanmon_cfgs);
26-
let node_chanmgrs = create_node_chanmgrs(2, &node_cfgs, &[Some(cfg), None]);
20+
let node_chanmgrs = create_node_chanmgrs(2, &node_cfgs, &[None, None]);
2721
let nodes = create_network(2, &node_cfgs, &node_chanmgrs);
2822

2923
// Initiator and Acceptor nodes
@@ -37,188 +31,22 @@ fn test_v1_splice_in() {
3731
let push_msat = 0;
3832
let channel_reserve_amnt_sat = 1_000;
3933

34+
let (_, _, channel_id, _) = create_announced_chan_between_nodes_with_value(
35+
&nodes, initiator_node_index, acceptor_node_index, channel_value_sat, push_msat);
36+
4037
let expected_funded_channel_id =
4138
"ae3367da2c13bc1ceb86bf56418f62828f7ce9d6bfb15a46af5ba1f1ed8b124f";
39+
assert_eq!(channel_id.to_string(), expected_funded_channel_id);
4240

43-
// Have initiator_node initiate a channel to acceptor_node with aforementioned parameters
44-
let channel_id_temp1 = initiator_node
45-
.node
46-
.create_channel(
47-
acceptor_node.node.get_our_node_id(),
48-
channel_value_sat,
49-
push_msat,
50-
42,
51-
None,
52-
None,
53-
)
54-
.unwrap();
55-
56-
// Extract the channel open message from initiator_node to acceptor_node
57-
let open_channel_message = get_event_msg!(
58-
initiator_node,
59-
MessageSendEvent::SendOpenChannel,
60-
acceptor_node.node.get_our_node_id()
61-
);
6241
let expected_initiator_funding_key =
6342
"03c21e841cbc0b48197d060c71e116c185fa0ac281b7d0aa5924f535154437ca3b";
64-
assert_eq!(
65-
open_channel_message.common_fields.funding_pubkey.to_string(),
66-
expected_initiator_funding_key
67-
);
68-
69-
let _res = acceptor_node
70-
.node
71-
.handle_open_channel(initiator_node.node.get_our_node_id(), &open_channel_message.clone());
72-
// Extract the accept channel message from acceptor_node to initiator_node
73-
let accept_channel_message = get_event_msg!(
74-
acceptor_node,
75-
MessageSendEvent::SendAcceptChannel,
76-
initiator_node.node.get_our_node_id()
77-
);
7843
let expected_acceptor_funding_key =
7944
"039481c28b904cbe12681e79937373fc76245c1b29871028ae60ba3152162c319b";
80-
assert_eq!(
81-
accept_channel_message.common_fields.funding_pubkey.to_string(),
82-
expected_acceptor_funding_key
83-
);
84-
85-
let _res = initiator_node.node.handle_accept_channel(
86-
acceptor_node.node.get_our_node_id(),
87-
&accept_channel_message.clone(),
88-
);
89-
// Note: FundingGenerationReady emitted, checked and used below
90-
let (_channel_id_temp2, funding_tx, _funding_output) = create_funding_transaction(
91-
&initiator_node,
92-
&acceptor_node.node.get_our_node_id(),
93-
channel_value_sat,
94-
42,
95-
);
96-
97-
// Funding transation created, provide it
98-
let _res = initiator_node
99-
.node
100-
.funding_transaction_generated(
101-
channel_id_temp1,
102-
acceptor_node.node.get_our_node_id(),
103-
funding_tx.clone(),
104-
)
105-
.unwrap();
106-
107-
let funding_created_message = get_event_msg!(
108-
initiator_node,
109-
MessageSendEvent::SendFundingCreated,
110-
acceptor_node.node.get_our_node_id()
111-
);
112-
113-
let _res = acceptor_node
114-
.node
115-
.handle_funding_created(initiator_node.node.get_our_node_id(), &funding_created_message);
116-
117-
assert_eq!(initiator_node.node.list_channels().len(), 1);
118-
{
119-
let channel = &initiator_node.node.list_channels()[0];
120-
assert!(!channel.is_channel_ready);
121-
}
122-
// do checks on the acceptor node as well (capacity, etc.)
123-
assert_eq!(acceptor_node.node.list_channels().len(), 1);
124-
{
125-
let channel = &acceptor_node.node.list_channels()[0];
126-
assert!(!channel.is_channel_ready);
127-
}
128-
129-
let funding_signed_message = get_event_msg!(
130-
acceptor_node,
131-
MessageSendEvent::SendFundingSigned,
132-
initiator_node.node.get_our_node_id()
133-
);
134-
let _res = initiator_node
135-
.node
136-
.handle_funding_signed(acceptor_node.node.get_our_node_id(), &funding_signed_message);
137-
// Take new channel ID
138-
let channel_id2 = funding_signed_message.channel_id;
139-
assert_eq!(channel_id2.to_string(), expected_funded_channel_id);
140-
141-
// Check that funding transaction has been broadcasted
142-
assert_eq!(
143-
chanmon_cfgs[initiator_node_index].tx_broadcaster.txn_broadcasted.lock().unwrap().len(),
144-
1
145-
);
146-
let broadcasted_funding_tx =
147-
chanmon_cfgs[initiator_node_index].tx_broadcaster.txn_broadcasted.lock().unwrap()[0]
148-
.clone();
149-
150-
check_added_monitors!(initiator_node, 1);
151-
let _ev = get_event!(initiator_node, Event::ChannelPending);
152-
check_added_monitors!(acceptor_node, 1);
153-
let _ev = get_event!(acceptor_node, Event::ChannelPending);
154-
155-
// Simulate confirmation of the funding tx
156-
confirm_transaction(&initiator_node, &broadcasted_funding_tx);
157-
let channel_ready_message = get_event_msg!(
158-
initiator_node,
159-
MessageSendEvent::SendChannelReady,
160-
acceptor_node.node.get_our_node_id()
161-
);
162-
163-
confirm_transaction(&acceptor_node, &broadcasted_funding_tx);
164-
let channel_ready_message2 = get_event_msg!(
165-
acceptor_node,
166-
MessageSendEvent::SendChannelReady,
167-
initiator_node.node.get_our_node_id()
168-
);
169-
170-
let _res = acceptor_node
171-
.node
172-
.handle_channel_ready(initiator_node.node.get_our_node_id(), &channel_ready_message);
173-
let _ev = get_event!(acceptor_node, Event::ChannelReady);
174-
let _channel_update = get_event_msg!(
175-
acceptor_node,
176-
MessageSendEvent::SendChannelUpdate,
177-
initiator_node.node.get_our_node_id()
178-
);
179-
180-
let _res = initiator_node
181-
.node
182-
.handle_channel_ready(acceptor_node.node.get_our_node_id(), &channel_ready_message2);
183-
let _ev = get_event!(initiator_node, Event::ChannelReady);
184-
let _channel_update = get_event_msg!(
185-
initiator_node,
186-
MessageSendEvent::SendChannelUpdate,
187-
acceptor_node.node.get_our_node_id()
188-
);
189-
190-
// check channel capacity and other parameters
191-
assert_eq!(initiator_node.node.list_channels().len(), 1);
192-
{
193-
let channel = &initiator_node.node.list_channels()[0];
194-
assert_eq!(channel.channel_id.to_string(), expected_funded_channel_id);
195-
assert!(channel.is_usable);
196-
assert!(channel.is_channel_ready);
197-
assert_eq!(channel.channel_value_satoshis, channel_value_sat);
198-
assert_eq!(
199-
channel.outbound_capacity_msat,
200-
1000 * (channel_value_sat - channel_reserve_amnt_sat)
201-
);
202-
assert_eq!(channel.funding_txo.unwrap().txid, funding_tx.compute_txid());
203-
assert_eq!(channel.confirmations.unwrap(), 10);
204-
}
205-
// do checks on the acceptor node as well (capacity, etc.)
206-
assert_eq!(acceptor_node.node.list_channels().len(), 1);
207-
{
208-
let channel = &acceptor_node.node.list_channels()[0];
209-
assert_eq!(channel.channel_id.to_string(), expected_funded_channel_id);
210-
assert!(channel.is_usable);
211-
assert!(channel.is_channel_ready);
212-
assert_eq!(channel.channel_value_satoshis, channel_value_sat);
213-
assert_eq!(channel.outbound_capacity_msat, 0);
214-
assert_eq!(channel.funding_txo.unwrap().txid, funding_tx.compute_txid());
215-
assert_eq!(channel.confirmations.unwrap(), 10);
216-
}
21745

21846
// ==== Channel is now ready for normal operation
21947

22048
// === Start of Splicing
221-
println!("Start of Splicing ..., channel_id {}", channel_id2);
49+
println!("Start of Splicing ..., channel_id {}", channel_id);
22250

22351
// Amount being added to the channel through the splice-in
22452
let splice_in_sats: u64 = 20000;
@@ -234,7 +62,7 @@ fn test_v1_splice_in() {
23462
let _res = initiator_node
23563
.node
23664
.splice_channel(
237-
&channel_id2,
65+
&channel_id,
23866
&acceptor_node.node.get_our_node_id(),
23967
splice_in_sats as i64,
24068
funding_inputs,
@@ -304,7 +132,7 @@ fn test_v1_splice_in() {
304132
// TODO(splicing): continue with splice transaction negotiation
305133

306134
// === Close channel, cooperatively
307-
initiator_node.node.close_channel(&channel_id2, &acceptor_node.node.get_our_node_id()).unwrap();
135+
initiator_node.node.close_channel(&channel_id, &acceptor_node.node.get_our_node_id()).unwrap();
308136
let node0_shutdown_message = get_event_msg!(
309137
initiator_node,
310138
MessageSendEvent::SendShutdown,

0 commit comments

Comments
 (0)