mirror of
https://github.com/ElementsProject/lightning.git
synced 2025-02-22 14:42:40 +01:00
This will at least *help* the case where these were not populated, causing us to send errors without channel_updated appended. It's not perfect: we can still send such errors if the gossip store is corrupted, and we still send them for private channels, but it should help. (The much better fix is far more invasive, so slips to next release!) Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
5.2 KiB
5.2 KiB
1 | #include <common/cryptomsg.h> |
---|---|
2 | #include <common/features.h> |
3 | #include <common/wireaddr.h> |
4 | #include <wire/peer_wire.h> |
5 | #include <wire/onion_wire.h> |
6 | # Initialize the gossip daemon. |
7 | msgtype,gossipd_init,3000 |
8 | msgdata,gossipd_init,chainparams,chainparams, |
9 | msgdata,gossipd_init,our_features,feature_set, |
10 | msgdata,gossipd_init,id,node_id, |
11 | msgdata,gossipd_init,rgb,u8,3 |
12 | msgdata,gossipd_init,alias,u8,32 |
13 | msgdata,gossipd_init,num_announceable,u16, |
14 | msgdata,gossipd_init,announceable,wireaddr,num_announceable |
15 | msgdata,gossipd_init,dev_gossip_time,?u32, |
16 | msgdata,gossipd_init,dev_fast_gossip,bool, |
17 | msgdata,gossipd_init,dev_fast_gossip_prune,bool, |
18 | msgdata,gossipd_init,ip_discovery,u32, |
19 | # Gossipd tells us all our public channel_updates before init_reply. |
20 | msgtype,gossipd_init_cupdate,3101 |
21 | msgdata,gossipd_init_cupdate,scid,short_channel_id, |
22 | msgdata,gossipd_init_cupdate,len,u16, |
23 | msgdata,gossipd_init_cupdate,cupdate,u8,len |
24 | msgtype,gossipd_init_reply,3100 |
25 | # In developer mode, we can mess with time. |
26 | msgtype,gossipd_dev_set_time,3001 |
27 | msgdata,gossipd_dev_set_time,dev_gossip_time,u32, |
28 | # Set artificial maximum reply_channel_range size. Master->gossipd |
29 | msgtype,gossipd_dev_set_max_scids_encode_size,3030 |
30 | msgdata,gossipd_dev_set_max_scids_encode_size,max,u32, |
31 | # gossipd->master: we're closing this channel. |
32 | msgtype,gossipd_local_channel_close,3027 |
33 | msgdata,gossipd_local_channel_close,short_channel_id,short_channel_id, |
34 | # Gossipd->master get this tx output please. |
35 | msgtype,gossipd_get_txout,3018 |
36 | msgdata,gossipd_get_txout,short_channel_id,short_channel_id, |
37 | # master->gossipd here is the output, or empty if none. |
38 | msgtype,gossipd_get_txout_reply,3118 |
39 | msgdata,gossipd_get_txout_reply,short_channel_id,short_channel_id, |
40 | msgdata,gossipd_get_txout_reply,satoshis,amount_sat, |
41 | msgdata,gossipd_get_txout_reply,len,u16, |
42 | msgdata,gossipd_get_txout_reply,outscript,u8,len |
43 | # master -> gossipd: these potential funding outpoints were spent, please forget any channels |
44 | msgtype,gossipd_outpoints_spent,3024 |
45 | msgdata,gossipd_outpoints_spent,blockheight,u32, |
46 | msgdata,gossipd_outpoints_spent,len,u32, |
47 | msgdata,gossipd_outpoints_spent,short_channel_id,short_channel_id,len |
48 | # master -> gossipd: do you have a memleak? |
49 | msgtype,gossipd_dev_memleak,3033 |
50 | msgtype,gossipd_dev_memleak_reply,3133 |
51 | msgdata,gossipd_dev_memleak_reply,leak,bool, |
52 | # master -> gossipd: please rewrite the gossip_store |
53 | msgtype,gossipd_dev_compact_store,3034 |
54 | # gossipd -> master: ok |
55 | msgtype,gossipd_dev_compact_store_reply,3134 |
56 | msgdata,gossipd_dev_compact_store_reply,success,bool, |
57 | # master -> gossipd: blockheight increased. |
58 | msgtype,gossipd_new_blockheight,3026 |
59 | msgdata,gossipd_new_blockheight,blockheight,u32, |
60 | # gossipd: got it! |
61 | msgtype,gossipd_new_blockheight_reply,3126 |
62 | # Lightningd tells us to inject a gossip message (for addgossip RPC) |
63 | msgtype,gossipd_addgossip,3044 |
64 | msgdata,gossipd_addgossip,len,u16, |
65 | msgdata,gossipd_addgossip,msg,u8,len |
66 | # Empty string means no problem. |
67 | msgtype,gossipd_addgossip_reply,3144 |
68 | msgdata,gossipd_addgossip_reply,err,wirestring, |
69 | # Updated lease rates available |
70 | msgtype,gossipd_new_lease_rates,3046 |
71 | msgdata,gossipd_new_lease_rates,rates,lease_rates, |
72 | # Lightningd asks gossipd for any known addresses for that node. |
73 | msgtype,gossipd_get_addrs,3050 |
74 | msgdata,gossipd_get_addrs,id,node_id, |
75 | msgtype,gossipd_get_addrs_reply,3150 |
76 | msgdata,gossipd_get_addrs_reply,num,u16, |
77 | msgdata,gossipd_get_addrs_reply,addrs,wireaddr,num |
78 | # Tell master a local channel update (so it can serve errors). |
79 | msgtype,gossipd_got_local_channel_update,3151 |
80 | msgdata,gossipd_got_local_channel_update,scid,short_channel_id, |
81 | msgdata,gossipd_got_local_channel_update,len,u16, |
82 | msgdata,gossipd_got_local_channel_update,channel_update,u8,len |
83 | # Send this channel_update. |
84 | msgtype,gossipd_local_channel_update,3004 |
85 | msgdata,gossipd_local_channel_update,id,node_id, |
86 | msgdata,gossipd_local_channel_update,short_channel_id,short_channel_id, |
87 | msgdata,gossipd_local_channel_update,disable,bool, |
88 | msgdata,gossipd_local_channel_update,cltv_expiry_delta,u16, |
89 | msgdata,gossipd_local_channel_update,htlc_minimum_msat,amount_msat, |
90 | msgdata,gossipd_local_channel_update,fee_base_msat,u32, |
91 | msgdata,gossipd_local_channel_update,fee_proportional_millionths,u32, |
92 | msgdata,gossipd_local_channel_update,htlc_maximum_msat,amount_msat, |
93 | msgdata,gossipd_local_channel_update,public,bool, |
94 | # Send this channel_announcement |
95 | msgtype,gossipd_local_channel_announcement,3006 |
96 | msgdata,gossipd_local_channel_announcement,id,node_id, |
97 | msgdata,gossipd_local_channel_announcement,len,u16, |
98 | msgdata,gossipd_local_channel_announcement,cannounce,u8,len |
99 | # Tell gossipd about a private channel (to put it in the store) |
100 | # cannounce has same structure, dummy sigs. |
101 | msgtype,gossipd_local_private_channel,3008 |
102 | msgdata,gossipd_local_private_channel,id,node_id, |
103 | msgdata,gossipd_local_private_channel,capacity,amount_sat, |
104 | msgdata,gossipd_local_private_channel,scid,short_channel_id, |
105 | msgdata,gossipd_local_private_channel,len,u16, |
106 | msgdata,gossipd_local_private_channel,features,u8,len |
107 | # Tell gossipd we used the channel update (in case it was deferred) |
108 | msgtype,gossipd_used_local_channel_update,3052 |
109 | msgdata,gossipd_used_local_channel_update,scid,short_channel_id, |
110 | # Tell gossipd we have verified a new public IP by the remote_addr feature |
111 | msgtype,gossipd_discovered_ip,3009 |
112 | msgdata,gossipd_discovered_ip,discovered_ip,wireaddr, |