Splicing: pass candidate remote funding key to `hsmd_setup_channel`
メンテナーはふだん 1 日以内に返信
@Andezion がすでに取り組んでいます。
2026年9月17日 から。
評価
調査の方向性
update_hsmd_with_splice() とその hsmd_setup_channel 呼び出しを追跡し、現在のチャネルの funding key と inflight->remote_funding を比較します。splicing 中に candidate key が渡されることを確認し、peer が funding key をローテーションする回帰テストを追加または実行して、signer が新しい funding outpoint とともに candidate key を受け取ることを確認します。
索引モデルが issue の本文から書いたものです。
説明
While working on VLS splicing integration, I came across what looks like a bug in the signer setup path when the peer rotates its funding key.
CLN correctly stores the candidate key in:
inflight->remote_funding
but update_hsmd_with_splice() still passes the current channel key to hsmd_setup_channel:
&peer->channel->funding_pubkey[REMOTE]
At that point the channel key is still the old funding key; it is only updated after splice_locked.
I suspect this was easy to miss because CLN currently does not rotate its own funding key during splicing, so CLN-to-CLN tests normally see the same key, and native hsmd does not validate the SetupChannel fields. For an external validating signer like VLS, however, this matters because it can receive the new funding outpoint together with the old remote funding key.
The fix seems to be to pass the candidate key instead:
&inflight->remote_funding
and if possible add a regression test where the peer actually rotates its funding key.
- 主要言語
- C
- スター
- 3.1k
- フォーク
- 1k
- 平均マージ
- 4日 4時間
- マージ済み PR(30日)
- 27
環境構築
- Dockerfile または Docker Compose ファイルあり
- プルリクエストのテンプレートあり
- コントリビューションガイドなし
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
ElementsProject/lightning のほかの issue
-
難易度 2/5 1〜3時間 初心者へのやさしさ 66/100
ElementsProject/lightning#9634 ·
メンテナーはふだん 1 日以内に返信
-
plugins/recover: missing comma in nodes_for_gossip concatenates two bootstrap addresses into invalid address対応中かも @bhuvan-somisetty が 3 日前に担当しました。 オープン
難易度 1/5 1時間未満 初心者へのやさしさ 88/100
ElementsProject/lightning#9630 ·
メンテナーはふだん 1 日以内に返信
-
common/json_parse: json_to_bitcoin_amount fails to detect overflow and accepts negative/empty inputs対応中かも @bhuvan-somisetty が 8 日前に担当しました。 オープン
難易度 2/5 1〜3時間 初心者へのやさしさ 62/100
ElementsProject/lightning#9617 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 66/100
ElementsProject/lightning#9616 · コメント 1 件 ·
メンテナーはふだん 1 日以内に返信
-
難易度 1/5 1時間未満 初心者へのやさしさ 90/100
ElementsProject/lightning#9593 ·
メンテナーはふだん 1 日以内に返信
ElementsProject/lightning の issue をすべて見る
似ている issue
-
mewencode: base256[] and base128[] are indexed out of bounds by a non-ASCII octet対応中かも @kazu-yamamoto が今日担当しました。 オープン
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
kazu-yamamoto/Mew#276 ·
メンテナーはふだん 1 日以内に返信
-
難易度 1/5 1時間未満 初心者へのやさしさ 91/100
FujiNetWIFI/fujinet-firmware#2045 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 84/100
メンテナーはふだん 1 日以内に返信
-
難易度 1/5 1時間未満 初心者へのやさしさ 75/100
gbdev/homebrewhub-submit#20 ·
-
pluto: extract.c logs cert nickname instead of ckaid when both *cert= and *ckaid= are specified対応中かも @Yash990-bit が今日担当しました。 オープン
難易度 1/5 1〜3時間 初心者へのやさしさ 70/100
メンテナーはふだん 2 日以内に返信