Skip to content

Commit f7d1ce8

Browse files
committed
splice: Message sorting should be using txid parsing
Update from old channel_id non-spec version
1 parent 27571a8 commit f7d1ce8

File tree

1 file changed

+10
-10
lines changed

1 file changed

+10
-10
lines changed

channeld/channeld.c

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -2223,7 +2223,7 @@ static struct commitsig_info *handle_peer_commit_sig(struct peer *peer,
22232223
*/
22242224
static 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

Comments
 (0)