diff --git a/02-peer-protocol.md b/02-peer-protocol.md index b869f02a4..daa5dc698 100644 --- a/02-peer-protocol.md +++ b/02-peer-protocol.md @@ -233,10 +233,11 @@ The sending node: - MAY include `upfront_shutdown_script`. - if it includes `open_channel_tlvs`: - MUST include `upfront_shutdown_script`. - - if it includes `channel_type`: - - MUST set it to a defined type representing the type it wants. - - MUST use the smallest bitmap possible to represent the channel type. - - SHOULD NOT set it to a type containing a feature which was not negotiated. + - if both peers advertised the `option_channel_type` feature: + - if it includes `channel_type`: + - MUST set it to a defined type representing the type it wants. + - MUST use the smallest bitmap possible to represent the channel type. + - SHOULD NOT set it to a type containing a feature which was not negotiated. The sending node SHOULD: - set `to_self_delay` sufficient to ensure the sender can irreversibly spend a commitment transaction output, in case of misbehavior by the receiver. @@ -412,7 +413,7 @@ This message introduces the `channel_id` to identify the channel. It's derived f #### Requirements Both peers: - - if `channel_type` was present in both `open_channel` and `accept_channel`: + - if the `option_channel_type` was advertised by both peers and `channel_type` was present in both `open_channel` and `accept_channel`: - This is the `channel_type` (they must be equal, required above) - otherwise: - if `option_anchors_zero_fee_htlc_tx` was negotiated: diff --git a/09-features.md b/09-features.md index 54cd2de6e..5154a0779 100644 --- a/09-features.md +++ b/09-features.md @@ -41,6 +41,7 @@ The Context column decodes as follows: | 20/21 | `option_anchor_outputs` | Anchor outputs | IN | `option_static_remotekey` | [BOLT #3](03-transactions.md) | | 22/23 | `option_anchors_zero_fee_htlc_tx` | Anchor commitment type with zero fee HTLC transactions | IN | | [BOLT #3][bolt03-htlc-tx], [lightning-dev][ml-sighash-single-harmful]| | 26/27 | `option_shutdown_anysegwit` | Future segwit versions allowed in `shutdown` | IN | | [BOLT #2][bolt02-shutdown] | +| 28/29 | `option_channel_type` | Node supports the `channel_type` field in open/accept | IN | | [BOLT #2](02-peer-protocol.md#the-open_channel-message) | ## Definitions