@@ -2223,7 +2223,7 @@ static struct commitsig_info *handle_peer_commit_sig(struct peer *peer,
22232223 */
22242224static int commit_index_from_msg (const u8 * msg , struct peer * peer )
22252225{
2226- struct channel_id funding_id ;
2226+ struct bitcoin_txid funding_txid ;
22272227 struct channel_id channel_id ;
22282228 struct bitcoin_signature commit_sig ;
22292229 secp256k1_ecdsa_signature * raw_sigs ;
@@ -2232,18 +2232,18 @@ static int commit_index_from_msg(const u8 *msg, struct peer *peer)
22322232 fromwire_commitment_signed (tmpctx , msg , & channel_id , & commit_sig .s ,
22332233 & raw_sigs , & cs_tlv );
22342234
2235- derive_channel_id (& funding_id , & peer -> channel -> funding );
2236- if (channel_id_eq (& funding_id , & channel_id ))
2237- return 0 ;
2235+ if (!cs_tlv || !cs_tlv -> splice_info )
2236+ return -1 ;
22382237
2239- for (int i = 0 ; i < tal_count (peer -> splice_state -> inflights ); i ++ ) {
2240- struct channel_id splice_id ;
2241- derive_channel_id (& splice_id ,
2242- & peer -> splice_state -> inflights [i ]-> outpoint );
2238+ funding_txid = cs_tlv -> splice_info -> funding_txid ;
22432239
2244- if (channel_id_eq (& splice_id , & channel_id ))
2240+ if (bitcoin_txid_eq (& funding_txid , & peer -> channel -> funding .txid ))
2241+ return 0 ;
2242+
2243+ for (int i = 0 ; i < tal_count (peer -> splice_state -> inflights ); i ++ )
2244+ if (bitcoin_txid_eq (& funding_txid ,
2245+ & peer -> splice_state -> inflights [i ]-> outpoint .txid ))
22452246 return i + 1 ;
2246- }
22472247
22482248 return -1 ;
22492249}
0 commit comments