Splicing: pass candidate remote funding key to `hsmd_setup_channel`
Maintainer thường phản hồi trong vòng 1 ngày
@Andezion đang làm issue này rồi.
Từ ngày 17/9/2026.
Đánh giá
- Độ khó
- 3/5
- Thời gian dự kiến
- 1-2 ngày
- Mức phù hợp với người mới
- 68/100
Hướng nghiên cứu
Theo dõi update_hsmd_with_splice() và lời gọi hsmd_setup_channel của nó, so sánh funding key của channel hiện tại với inflight->remote_funding. Xác nhận rằng candidate key được truyền trong quá trình splicing, sau đó thêm hoặc chạy một regression test trong đó peer xoay vòng funding key của nó và xác minh rằng signer nhận được candidate key cùng với funding outpoint mới.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
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.
- Ngôn ngữ chính
- C
- Star
- 3.1k
- Fork
- 1k
- Merge trung bình
- 4 ngày 4 giờ
- Pull request đã merge (30 ngày)
- 27
Chuẩn bị môi trường
- Có Dockerfile hoặc tệp Docker Compose
- Có mẫu pull request
- Không có hướng dẫn đóng góp
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Issue khác của ElementsProject/lightning
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 66/100
ElementsProject/lightning#9634 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
plugins/recover: missing comma in nodes_for_gossip concatenates two bootstrap addresses into invalid addressCó thể đã có người làm @bhuvan-somisetty đã nhận 3 ngày trước. Đang mở
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 88/100
ElementsProject/lightning#9630 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
common/json_parse: json_to_bitcoin_amount fails to detect overflow and accepts negative/empty inputsCó thể đã có người làm @bhuvan-somisetty đã nhận 8 ngày trước. Đang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 62/100
ElementsProject/lightning#9617 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 66/100
ElementsProject/lightning#9616 · 1 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 90/100
ElementsProject/lightning#9593 ·
Maintainer thường phản hồi trong vòng 1 ngày
Tất cả issue của ElementsProject/lightning
Issue tương tự
-
mewencode: base256[] and base128[] are indexed out of bounds by a non-ASCII octetCó thể đã có người làm @kazu-yamamoto đã nhận hôm nay. Đang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 78/100
kazu-yamamoto/Mew#276 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 91/100
FujiNetWIFI/fujinet-firmware#2045 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 84/100
Maintainer thường phản hồi trong vòng 1 ngày
-
area:gates area:gfx found-by:critic kind:gate-defect
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 78/100
InauguralSystems/EigenScript#1825 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 75/100
gbdev/homebrewhub-submit#20 ·