Add feature flags for option_zero_fee_commitments

This commit is contained in:
Matt Corallo 2025-03-11 19:19:05 +00:00
parent 49dbeea662
commit 3e7b861b77
2 changed files with 18 additions and 5 deletions

View file

@ -1141,7 +1141,7 @@ mod tests {
ext_from_hex("030020", &mut test);
// init message (type 16) with static_remotekey required, no channel_type/anchors/taproot, and other bits optional and mac
ext_from_hex(
"0010 00021aaa 0008aaa20aaa2a0a9aaa 03000000000000000000000000000000",
"0010 00021aaa 0008aaa208aa2a0a9aaa 03000000000000000000000000000000",
&mut test,
);
@ -1245,7 +1245,7 @@ mod tests {
ext_from_hex("030120", &mut test);
// init message (type 16) with static_remotekey required, no channel_type/anchors/taproot, and other bits optional and mac
ext_from_hex(
"0010 00021aaa 0008aaa20aaa2a0a9aaa 01000000000000000000000000000000",
"0010 00021aaa 0008aaa208aa2a0a9aaa 01000000000000000000000000000000",
&mut test,
);

View file

@ -76,6 +76,8 @@
//! (see [BOLT PR #1110](https://github.com/lightning/bolts/pull/1110) for more info).
//! - `Quiescence` - protocol to quiesce a channel by indicating that "SomeThing Fundamental is Underway"
//! (see [BOLT-2](https://github.com/lightning/bolts/blob/master/02-peer-protocol.md#channel-quiescence) for more information).
//! - `ZeroFeeCommitments` - A channel type which always uses zero transaction fee on commitment transactions.
//! (see [BOLT PR #1228](https://github.com/lightning/bolts/pull/1228) for more info).
//!
//! LDK knows about the following features, but does not support them:
//! - `AnchorsNonzeroFeeHtlcTx` - the initial version of anchor outputs, which was later found to be
@ -156,7 +158,7 @@ mod sealed {
// Byte 4
Quiescence | OnionMessages,
// Byte 5
ProvideStorage | ChannelType | SCIDPrivacy,
ProvideStorage | ChannelType | SCIDPrivacy | AnchorZeroFeeCommitments,
// Byte 6
ZeroConf,
// Byte 7
@ -177,7 +179,7 @@ mod sealed {
// Byte 4
Quiescence | OnionMessages,
// Byte 5
ProvideStorage | ChannelType | SCIDPrivacy,
ProvideStorage | ChannelType | SCIDPrivacy | AnchorZeroFeeCommitments,
// Byte 6
ZeroConf | Keysend,
// Byte 7
@ -242,7 +244,7 @@ mod sealed {
// Byte 4
,
// Byte 5
SCIDPrivacy,
SCIDPrivacy | AnchorZeroFeeCommitments,
// Byte 6
ZeroConf,
]);
@ -580,6 +582,17 @@ mod sealed {
supports_onion_messages,
requires_onion_messages
);
define_feature!(
41,
AnchorZeroFeeCommitments,
[InitContext, NodeContext, ChannelTypeContext],
"Feature flags for `option_zero_fee_commitments`.",
set_anchor_zero_fee_commitments_optional,
set_anchor_zero_fee_commitments_required,
clear_anchor_zero_fee_commitments,
supports_anchor_zero_fee_commitments,
requires_anchor_zero_fee_commitments
);
define_feature!(
43,
ProvideStorage,