staticbackup: don't use wireaddr_internal.

This is an internal type: it has no API guarantees (indeed, I'm about
to change it, which is how I discovered scb was using it).

Fortunately for every case we care about, it is actually a wireaddr
(in theory the peer can connect locally using a local socket, but this
is mostly for testing and is a very strange setup, and so simply don't
do scb for those).

In this case, the wire encoding is a single byte followed by the
wireaddr, so open-code that in scb_wire.csv for compatibility.

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
This commit is contained in:
Rusty Russell
2023-05-30 13:57:56 +09:30
parent 5ccdab71e5
commit 1b6ff0b2fc
4 changed files with 34 additions and 18 deletions

View File

@@ -10,10 +10,12 @@ subtype,scb_chan
subtypedata,scb_chan,id,u64,
subtypedata,scb_chan,cid,channel_id,
subtypedata,scb_chan,node_id,node_id,
subtypedata,scb_chan,addr,wireaddr_internal,
subtypedata,scb_chan,unused,u8,
subtypedata,scb_chan,addr,wireaddr,
subtypedata,scb_chan,funding,bitcoin_outpoint,
subtypedata,scb_chan,funding_sats,amount_sat,
subtypedata,scb_chan,type,channel_type,
msgtype,static_chan_backup,6135,
msgdata,static_chan_backup,version,u64,
msgdata,static_chan_backup,timestamp,u32,
1 #include <common/node_id.h>
10 subtypedata,scb_chan,cid,channel_id,
11 subtypedata,scb_chan,node_id,node_id,
12 subtypedata,scb_chan,addr,wireaddr_internal, subtypedata,scb_chan,unused,u8,
13 subtypedata,scb_chan,funding,bitcoin_outpoint, subtypedata,scb_chan,addr,wireaddr,
14 subtypedata,scb_chan,funding,bitcoin_outpoint,
15 subtypedata,scb_chan,funding_sats,amount_sat,
16 subtypedata,scb_chan,type,channel_type,
17 msgtype,static_chan_backup,6135,
18 msgdata,static_chan_backup,version,u64,
19 msgdata,static_chan_backup,version,u64, msgdata,static_chan_backup,timestamp,u32,
20 msgdata,static_chan_backup,timestamp,u32, msgdata,static_chan_backup,num,u16,
21 msgdata,static_chan_backup,num,u16, msgdata,static_chan_backup,channels,scb_chan,num