diff --git a/channeld/channeld.c b/channeld/channeld.c index 4ded3024f8c4..01a7df49d406 100644 --- a/channeld/channeld.c +++ b/channeld/channeld.c @@ -4377,6 +4377,7 @@ static void splice_accepter(struct peer *peer, const u8 *inmsg) peer->splicing->accepter_relative = 0; if (type == WIRE_SPLICE_INIT) { + /* Same fixed local funding_pubkey as splice_init - see the comment there */ msg = towire_splice_ack(NULL, &peer->channel_id, peer->splicing->accepter_relative, @@ -5031,6 +5032,9 @@ static void handle_splice_stfu_success(struct peer *peer) u8 *msg; struct tlv_tx_init_rbf_tlvs *init_rbf_tlvs; if (!last_inflight(peer)) { + /* We only support the peer rotating their funding pubkey + * (see remote_funding_pubkey) - our own funding_pubkey is + * fixed for the channel's lifetime and is never rederived here */ msg = towire_splice_init(tmpctx, &peer->channel_id, peer->splicing->opener_relative, diff --git a/channeld/splice.h b/channeld/splice.h index 47050aee041b..3a640443f731 100644 --- a/channeld/splice.h +++ b/channeld/splice.h @@ -31,7 +31,8 @@ struct splice_state *splice_state_new(const tal_t *ctx); /* An active splice negotiation. Born when splice beings and dies when a splice * negotation has finished */ struct splicing { - /* The remote side's rotated funding pubkey */ + /* The remote side's rotated funding pubkey. There is no local counterpart - we always reuse channel->funding_pubkey[LOCAL], + * which is fixed for the channel's lifetime. Local funding pubkey rotation is not implemented */ struct pubkey remote_funding_pubkey; /* The opener side's relative balance change */ s64 opener_relative;