Skip to content

Commit b5bfa85

Browse files
authored
Merge pull request #3741 from jkczyz/2025-04-splice-locked
Exchange `splice_locked` messages
2 parents f3847db + 5f34c00 commit b5bfa85

File tree

6 files changed

+913
-267
lines changed

6 files changed

+913
-267
lines changed

lightning/src/events/mod.rs

Lines changed: 17 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1353,10 +1353,13 @@ pub enum Event {
13531353
/// Will be `None` for channels created prior to LDK version 0.0.122.
13541354
channel_type: Option<ChannelTypeFeatures>,
13551355
},
1356-
/// Used to indicate that a channel with the given `channel_id` is ready to
1357-
/// be used. This event is emitted either when the funding transaction has been confirmed
1358-
/// on-chain, or, in case of a 0conf channel, when both parties have confirmed the channel
1359-
/// establishment.
1356+
/// Used to indicate that a channel with the given `channel_id` is ready to be used. This event
1357+
/// is emitted when
1358+
/// - the initial funding transaction has been confirmed on-chain to an acceptable depth
1359+
/// according to both parties (i.e., `channel_ready` messages were exchanged),
1360+
/// - a splice funding transaction has been confirmed on-chain to an acceptable depth according
1361+
/// to both parties (i.e., `splice_locked` messages were exchanged), or,
1362+
/// - in case of a 0conf channel, when both parties have confirmed the channel establishment.
13601363
///
13611364
/// # Failure Behavior and Persistence
13621365
/// This event will eventually be replayed after failures-to-handle (i.e., the event handler
@@ -1375,6 +1378,11 @@ pub enum Event {
13751378
user_channel_id: u128,
13761379
/// The `node_id` of the channel counterparty.
13771380
counterparty_node_id: PublicKey,
1381+
/// The outpoint of the channel's funding transaction.
1382+
///
1383+
/// Will be `None` if the channel's funding transaction reached an acceptable depth prior to
1384+
/// version 0.2.
1385+
funding_txo: Option<OutPoint>,
13781386
/// The features that this channel will operate with.
13791387
channel_type: ChannelTypeFeatures,
13801388
},
@@ -1926,11 +1934,13 @@ impl Writeable for Event {
19261934
ref channel_id,
19271935
ref user_channel_id,
19281936
ref counterparty_node_id,
1937+
ref funding_txo,
19291938
ref channel_type,
19301939
} => {
19311940
29u8.write(writer)?;
19321941
write_tlv_fields!(writer, {
19331942
(0, channel_id, required),
1943+
(1, funding_txo, option),
19341944
(2, user_channel_id, required),
19351945
(4, counterparty_node_id, required),
19361946
(6, channel_type, required),
@@ -2437,9 +2447,11 @@ impl MaybeReadable for Event {
24372447
let mut channel_id = ChannelId::new_zero();
24382448
let mut user_channel_id: u128 = 0;
24392449
let mut counterparty_node_id = RequiredWrapper(None);
2450+
let mut funding_txo = None;
24402451
let mut channel_type = RequiredWrapper(None);
24412452
read_tlv_fields!(reader, {
24422453
(0, channel_id, required),
2454+
(1, funding_txo, option),
24432455
(2, user_channel_id, required),
24442456
(4, counterparty_node_id, required),
24452457
(6, channel_type, required),
@@ -2449,6 +2461,7 @@ impl MaybeReadable for Event {
24492461
channel_id,
24502462
user_channel_id,
24512463
counterparty_node_id: counterparty_node_id.0.unwrap(),
2464+
funding_txo,
24522465
channel_type: channel_type.0.unwrap(),
24532466
}))
24542467
};

0 commit comments

Comments
 (0)