splice: Update splice_info tlv to use odd version
What changed, and why it matters
This commit changes an experimental splicing feature's internal message numbering from 0 to 1 so it matches the official Lightning spec and becomes optional. It is a compatibility/standards-alignment fix, not a direct security patch. Both channel peers must upgrade together or they may fail to understand each other's splice-related messages.
Treat as a standards-compliance/interoperability update rather than a security fix. Nodes using `--experimental-splicing` should upgrade both peers together to avoid splice negotiation failures. No urgent security deployment is indicated by the diff alone.
Security signals we found
Protocol message type renumbering to align with draft specification
TLV type changed from even (required) to odd (optional)
Experimental feature requiring coordinated upgrade
No memory-safety, cryptographic, or authorization changes visible
Evidence from the diff
The patch updates the splice_info TLV type inside commitment_signed_tlvs from type 0 to type 1 in both wire/peer_wire.csv and the extracted splice patch. In the Lightning TLV convention, even types are required and odd types are optional. Type 1 is the value specified in the splicing BOLT draft. The change also removes a batch_size,u16 field that was previously associated with the old type-0 splice_info. The commit message notes this is experimental and requires both nodes to upgrade in unison.
Changed components
wire/peer_wire.csvwire/extracted_peer_12_splice_update.patchcommitment_signed TLV parsing for experimental splicingInspect captured patch +4 / −3
diff --git a/wire/extracted_peer_12_splice_update.patch b/wire/extracted_peer_12_splice_update.patch
index 817acd8c..96a8a8f8 100644
--- a/wire/extracted_peer_12_splice_update.patch
+++ b/wire/extracted_peer_12_splice_update.patch
@@ -22,11 +22,12 @@ index 9abcb0e64..e2aae8efb 100644
msgtype,commitment_signed,132
msgdata,commitment_signed,channel_id,channel_id,
msgdata,commitment_signed,signature,signature,
-@@ -309,6 +309,5 @@ msgdata,commitment_signed,num_htlcs,u16,
+@@ -309,7 +309,6 @@ msgdata,commitment_signed,num_htlcs,u16,
msgdata,commitment_signed,htlc_signature,signature,num_htlcs
msgdata,commitment_signed,splice_channel_id,commitment_signed_tlvs,
- tlvtype,commitment_signed_tlvs,splice_info,0
+-tlvtype,commitment_signed_tlvs,splice_info,0
-tlvdata,commitment_signed_tlvs,splice_info,batch_size,u16,
++tlvtype,commitment_signed_tlvs,splice_info,1
tlvdata,commitment_signed_tlvs,splice_info,funding_txid,sha256,
msgtype,revoke_and_ack,133
msgdata,revoke_and_ack,channel_id,channel_id,
diff --git a/wire/peer_wire.csv b/wire/peer_wire.csv
index 5f400294..4b01c568 100644
--- a/wire/peer_wire.csv
+++ b/wire/peer_wire.csv
@@ -308,7 +308,7 @@ msgdata,commitment_signed,signature,signature,
msgdata,commitment_signed,num_htlcs,u16,
msgdata,commitment_signed,htlc_signature,signature,num_htlcs
msgdata,commitment_signed,splice_channel_id,commitment_signed_tlvs,
-tlvtype,commitment_signed_tlvs,splice_info,0
+tlvtype,commitment_signed_tlvs,splice_info,1
tlvdata,commitment_signed_tlvs,splice_info,funding_txid,sha256,
msgtype,revoke_and_ack,133
msgdata,revoke_and_ack,channel_id,channel_id,
Why this scored 29/100
Community notes
Notes can correct, qualify, or add evidence to the AI analysis. Every note shown here has been validated by a human moderator.
The AI analysis stands alone for now. Submit a note if you can add evidence or important context.