Commit bdbb292
committed
setchannel: allow upgrading private channels to public
Add an `announce` parameter to the `setchannel` RPC command that allows
upgrading an existing private (unannounced) channel to a public
(announced) channel. When set to true, the channel_flags are updated
to set the CHANNEL_FLAGS_ANNOUNCE_CHANNEL bit, and the gossip state
machine transitions from the private states into the public announcement
flow.
Both peers must independently set announce=true for the channel
announcement to complete, as the protocol requires announcement
signatures from both sides. To facilitate this, announcement_signatures
received while a channel is still private are now stashed rather than
rejected, so they are available immediately if/when the local side
upgrades.
State transitions added:
- CGOSSIP_PRIVATE -> CGOSSIP_WAITING_FOR_MATCHING_PEER_SIGS
- CGOSSIP_PRIVATE -> CGOSSIP_WAITING_FOR_ANNOUNCE_DEPTH
- CGOSSIP_PRIVATE -> CGOSSIP_ANNOUNCED
Setting announce=false (public to private) is rejected as this is not
possible once a channel has been announced.
Changelog-Added: `setchannel` now accepts an `announce` parameter to upgrade private channels to public.
Fixes #74381 parent 376468f commit bdbb292
File tree
5 files changed
+89
-17
lines changed- doc/schemas
- lightningd
5 files changed
+89
-17
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
3727 | 3727 | | |
3728 | 3728 | | |
3729 | 3729 | | |
3730 | | - | |
| 3730 | + | |
| 3731 | + | |
3731 | 3732 | | |
3732 | 3733 | | |
3733 | 3734 | | |
| |||
3736 | 3737 | | |
3737 | 3738 | | |
3738 | 3739 | | |
3739 | | - | |
| 3740 | + | |
| 3741 | + | |
3740 | 3742 | | |
3741 | 3743 | | |
3742 | 3744 | | |
| |||
13134 | 13136 | | |
13135 | 13137 | | |
13136 | 13138 | | |
| 13139 | + | |
| 13140 | + | |
| 13141 | + | |
| 13142 | + | |
13137 | 13143 | | |
13138 | 13144 | | |
13139 | 13145 | | |
| |||
13162 | 13168 | | |
13163 | 13169 | | |
13164 | 13170 | | |
| 13171 | + | |
| 13172 | + | |
| 13173 | + | |
| 13174 | + | |
13165 | 13175 | | |
13166 | 13176 | | |
13167 | 13177 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
2 | 2 | | |
3 | 3 | | |
4 | 4 | | |
5 | | - | |
| 5 | + | |
6 | 6 | | |
7 | | - | |
| 7 | + | |
8 | 8 | | |
9 | 9 | | |
10 | 10 | | |
| |||
59 | 59 | | |
60 | 60 | | |
61 | 61 | | |
| 62 | + | |
| 63 | + | |
| 64 | + | |
| 65 | + | |
| 66 | + | |
| 67 | + | |
| 68 | + | |
62 | 69 | | |
63 | 70 | | |
64 | 71 | | |
| |||
83 | 90 | | |
84 | 91 | | |
85 | 92 | | |
86 | | - | |
| 93 | + | |
| 94 | + | |
87 | 95 | | |
88 | 96 | | |
89 | 97 | | |
| |||
146 | 154 | | |
147 | 155 | | |
148 | 156 | | |
| 157 | + | |
| 158 | + | |
| 159 | + | |
| 160 | + | |
| 161 | + | |
| 162 | + | |
| 163 | + | |
149 | 164 | | |
150 | 165 | | |
151 | 166 | | |
| |||
190 | 205 | | |
191 | 206 | | |
192 | 207 | | |
193 | | - | |
| 208 | + | |
| 209 | + | |
194 | 210 | | |
195 | 211 | | |
196 | 212 | | |
| |||
216 | 232 | | |
217 | 233 | | |
218 | 234 | | |
219 | | - | |
| 235 | + | |
| 236 | + | |
220 | 237 | | |
221 | 238 | | |
222 | 239 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
146 | 146 | | |
147 | 147 | | |
148 | 148 | | |
| 149 | + | |
| 150 | + | |
| 151 | + | |
| 152 | + | |
| 153 | + | |
| 154 | + | |
| 155 | + | |
| 156 | + | |
149 | 157 | | |
150 | 158 | | |
151 | 159 | | |
| |||
285 | 293 | | |
286 | 294 | | |
287 | 295 | | |
288 | | - | |
| 296 | + | |
289 | 297 | | |
290 | 298 | | |
291 | 299 | | |
292 | 300 | | |
293 | 301 | | |
294 | 302 | | |
295 | | - | |
| 303 | + | |
296 | 304 | | |
297 | 305 | | |
298 | 306 | | |
| |||
962 | 970 | | |
963 | 971 | | |
964 | 972 | | |
| 973 | + | |
| 974 | + | |
| 975 | + | |
| 976 | + | |
| 977 | + | |
| 978 | + | |
| 979 | + | |
| 980 | + | |
| 981 | + | |
| 982 | + | |
| 983 | + | |
| 984 | + | |
| 985 | + | |
| 986 | + | |
| 987 | + | |
| 988 | + | |
965 | 989 | | |
966 | 990 | | |
967 | 991 | | |
| |||
982 | 1006 | | |
983 | 1007 | | |
984 | 1008 | | |
985 | | - | |
986 | | - | |
987 | | - | |
988 | | - | |
989 | | - | |
| 1009 | + | |
| 1010 | + | |
| 1011 | + | |
| 1012 | + | |
990 | 1013 | | |
991 | 1014 | | |
992 | 1015 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
19 | 19 | | |
20 | 20 | | |
21 | 21 | | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
22 | 25 | | |
23 | 26 | | |
24 | 27 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
3259 | 3259 | | |
3260 | 3260 | | |
3261 | 3261 | | |
| 3262 | + | |
3262 | 3263 | | |
3263 | 3264 | | |
3264 | 3265 | | |
| |||
3309 | 3310 | | |
3310 | 3311 | | |
3311 | 3312 | | |
| 3313 | + | |
| 3314 | + | |
| 3315 | + | |
| 3316 | + | |
| 3317 | + | |
3312 | 3318 | | |
3313 | 3319 | | |
3314 | 3320 | | |
| |||
3319 | 3325 | | |
3320 | 3326 | | |
3321 | 3327 | | |
| 3328 | + | |
| 3329 | + | |
| 3330 | + | |
| 3331 | + | |
3322 | 3332 | | |
3323 | 3333 | | |
3324 | 3334 | | |
| |||
3345 | 3355 | | |
3346 | 3356 | | |
3347 | 3357 | | |
| 3358 | + | |
| 3359 | + | |
3348 | 3360 | | |
3349 | 3361 | | |
3350 | 3362 | | |
| |||
3358 | 3370 | | |
3359 | 3371 | | |
3360 | 3372 | | |
3361 | | - | |
| 3373 | + | |
3362 | 3374 | | |
3363 | 3375 | | |
3364 | 3376 | | |
| |||
3369 | 3381 | | |
3370 | 3382 | | |
3371 | 3383 | | |
| 3384 | + | |
3372 | 3385 | | |
3373 | 3386 | | |
3374 | 3387 | | |
| |||
3379 | 3392 | | |
3380 | 3393 | | |
3381 | 3394 | | |
| 3395 | + | |
| 3396 | + | |
| 3397 | + | |
| 3398 | + | |
| 3399 | + | |
| 3400 | + | |
3382 | 3401 | | |
3383 | 3402 | | |
3384 | 3403 | | |
| |||
3401 | 3420 | | |
3402 | 3421 | | |
3403 | 3422 | | |
3404 | | - | |
| 3423 | + | |
3405 | 3424 | | |
3406 | 3425 | | |
3407 | 3426 | | |
| |||
3410 | 3429 | | |
3411 | 3430 | | |
3412 | 3431 | | |
3413 | | - | |
| 3432 | + | |
3414 | 3433 | | |
3415 | 3434 | | |
3416 | 3435 | | |
| |||
0 commit comments