Skip to content

Commit 650fd19

Browse files
authored
Merge pull request #721 from tnull/2025-12-update-channel-details-docs
Update `ChannelDetails` docs for splicing
2 parents b4b2843 + d231642 commit 650fd19

File tree

1 file changed

+22
-3
lines changed

1 file changed

+22
-3
lines changed

src/types.rs

Lines changed: 22 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -228,12 +228,15 @@ impl fmt::Display for UserChannelId {
228228

229229
/// Details of a channel as returned by [`Node::list_channels`].
230230
///
231+
/// When a channel is spliced, most fields continue to refer to the original pre-splice channel
232+
/// state until the splice transaction reaches sufficient confirmations to be locked (and we
233+
/// exchange `splice_locked` messages with our peer). See individual fields for details.
234+
///
231235
/// [`Node::list_channels`]: crate::Node::list_channels
232236
#[derive(Debug, Clone)]
233237
pub struct ChannelDetails {
234-
/// The channel ID (prior to funding transaction generation, this is a random 32-byte
235-
/// identifier, afterwards this is the transaction ID of the funding transaction XOR the
236-
/// funding transaction output).
238+
/// The channel's ID (prior to initial channel setup this is a random 32 bytes, thereafter it
239+
/// is derived from channel funding or key material).
237240
///
238241
/// Note that this means this value is *not* persistent - it can change once during the
239242
/// lifetime of the channel.
@@ -242,6 +245,10 @@ pub struct ChannelDetails {
242245
pub counterparty_node_id: PublicKey,
243246
/// The channel's funding transaction output, if we've negotiated the funding transaction with
244247
/// our counterparty already.
248+
///
249+
/// When a channel is spliced, this continues to refer to the original pre-splice channel
250+
/// state until the splice transaction reaches sufficient confirmations to be locked (and we
251+
/// exchange `splice_locked` messages with our peer).
245252
pub funding_txo: Option<OutPoint>,
246253
/// The position of the funding transaction in the chain. None if the funding transaction has
247254
/// not yet been confirmed and the channel fully opened.
@@ -252,6 +259,10 @@ pub struct ChannelDetails {
252259
/// For channels with [`confirmations_required`] set to `Some(0)`, [`outbound_scid_alias`] may
253260
/// be used in place of this in outbound routes.
254261
///
262+
/// When a channel is spliced, this continues to refer to the original pre-splice channel state
263+
/// until the splice transaction reaches sufficient confirmations to be locked (and we exchange
264+
/// `splice_locked` messages with our peer).
265+
///
255266
/// [`inbound_scid_alias`]: Self::inbound_scid_alias
256267
/// [`outbound_scid_alias`]: Self::outbound_scid_alias
257268
/// [`confirmations_required`]: Self::confirmations_required
@@ -263,6 +274,10 @@ pub struct ChannelDetails {
263274
///
264275
/// This will be `None` as long as the channel is not available for routing outbound payments.
265276
///
277+
/// When a channel is spliced, this continues to refer to the original pre-splice channel
278+
/// state until the splice transaction reaches sufficient confirmations to be locked (and we
279+
/// exchange `splice_locked` messages with our peer).
280+
///
266281
/// [`short_channel_id`]: Self::short_channel_id
267282
/// [`confirmations_required`]: Self::confirmations_required
268283
pub outbound_scid_alias: Option<u64>,
@@ -277,6 +292,10 @@ pub struct ChannelDetails {
277292
/// [`short_channel_id`]: Self::short_channel_id
278293
pub inbound_scid_alias: Option<u64>,
279294
/// The value, in satoshis, of this channel as it appears in the funding output.
295+
///
296+
/// When a channel is spliced, this continues to refer to the original pre-splice channel
297+
/// state until the splice transaction reaches sufficient confirmations to be locked (and we
298+
/// exchange `splice_locked` messages with our peer).
280299
pub channel_value_sats: u64,
281300
/// The value, in satoshis, that must always be held as a reserve in the channel for us. This
282301
/// value ensures that if we broadcast a revoked state, our counterparty can punish us by

0 commit comments

Comments
 (0)