core-lightning/gossipd/gossipd_wire.csv
Rusty Russell 75720ad0e1 lightningd: wait for gossipd to finish initalizing before starting plugins.
This mainly helps our CI under valgrind, which starts a fresh instance
and immediately calls the invoice command.  This can cause the topology
plugin to try to access the gossmap file before it's created.

We can also move the gossmap reading in topology to init time.

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2021-06-16 10:29:17 +09:30

4.4 KiB

1#include <common/cryptomsg.h>
2#include <common/features.h>
3#include <common/wireaddr.h>
4#include <wire/onion_wire.h>
5# Initialize the gossip daemon.
6msgtype,gossipd_init,3000
7msgdata,gossipd_init,chainparams,chainparams,
8msgdata,gossipd_init,our_features,feature_set,
9msgdata,gossipd_init,id,node_id,
10msgdata,gossipd_init,rgb,u8,3
11msgdata,gossipd_init,alias,u8,32
12msgdata,gossipd_init,num_announcable,u16,
13msgdata,gossipd_init,announcable,wireaddr,num_announcable
14msgdata,gossipd_init,dev_gossip_time,?u32,
15msgdata,gossipd_init,dev_fast_gossip,bool,
16msgdata,gossipd_init,dev_fast_gossip_prune,bool,
17msgtype,gossipd_init_reply,3100
18# In developer mode, we can mess with time.
19msgtype,gossipd_dev_set_time,3001
20msgdata,gossipd_dev_set_time,dev_gossip_time,u32,
21# Ping/pong test. Waits for a reply if it expects one.
22msgtype,gossipd_ping,3008
23msgdata,gossipd_ping,id,node_id,
24msgdata,gossipd_ping,num_pong_bytes,u16,
25msgdata,gossipd_ping,len,u16,
26msgtype,gossipd_ping_reply,3108
27msgdata,gossipd_ping_reply,id,node_id,
28# False if id in gossip_ping was unknown.
29msgdata,gossipd_ping_reply,sent,bool,
30# 0 == no pong expected
31msgdata,gossipd_ping_reply,totlen,u16,
32# Set artificial maximum reply_channel_range size. Master->gossipd
33msgtype,gossipd_dev_set_max_scids_encode_size,3030
34msgdata,gossipd_dev_set_max_scids_encode_size,max,u32,
35# Given a short_channel_id, return the latest (stripped) update for error msg.
36msgtype,gossipd_get_stripped_cupdate,3010
37msgdata,gossipd_get_stripped_cupdate,channel_id,short_channel_id,
38msgtype,gossipd_get_stripped_cupdate_reply,3110
39msgdata,gossipd_get_stripped_cupdate_reply,stripped_update_len,u16,
40msgdata,gossipd_get_stripped_cupdate_reply,stripped_update,u8,stripped_update_len
41# gossipd->master: we're closing this channel.
42msgtype,gossipd_local_channel_close,3027
43msgdata,gossipd_local_channel_close,short_channel_id,short_channel_id,
44# Gossipd->master get this tx output please.
45msgtype,gossipd_get_txout,3018
46msgdata,gossipd_get_txout,short_channel_id,short_channel_id,
47# master->gossipd here is the output, or empty if none.
48msgtype,gossipd_get_txout_reply,3118
49msgdata,gossipd_get_txout_reply,short_channel_id,short_channel_id,
50msgdata,gossipd_get_txout_reply,satoshis,amount_sat,
51msgdata,gossipd_get_txout_reply,len,u16,
52msgdata,gossipd_get_txout_reply,outscript,u8,len
53# master -> gossipd: a potential funding outpoint was spent, please forget the eventual channel
54msgtype,gossipd_outpoint_spent,3024
55msgdata,gossipd_outpoint_spent,short_channel_id,short_channel_id,
56# master -> gossipd: stop gossip timers.
57msgtype,gossipd_dev_suppress,3032
58# master -> gossipd: do you have a memleak?
59msgtype,gossipd_dev_memleak,3033
60msgtype,gossipd_dev_memleak_reply,3133
61msgdata,gossipd_dev_memleak_reply,leak,bool,
62# master -> gossipd: please rewrite the gossip_store
63msgtype,gossipd_dev_compact_store,3034
64# gossipd -> master: ok
65msgtype,gossipd_dev_compact_store_reply,3134
66msgdata,gossipd_dev_compact_store_reply,success,bool,
67# master -> gossipd: blockheight increased.
68msgtype,gossipd_new_blockheight,3026
69msgdata,gossipd_new_blockheight,blockheight,u32,
70# Tell lightningd we got a onion message (for us, or to fwd)
71msgtype,gossipd_got_onionmsg_to_us,3142
72msgdata,gossipd_got_onionmsg_to_us,blinding_in,?pubkey,
73msgdata,gossipd_got_onionmsg_to_us,reply_blinding,?pubkey,
74msgdata,gossipd_got_onionmsg_to_us,reply_path_len,u16,
75msgdata,gossipd_got_onionmsg_to_us,reply_path,onionmsg_path,reply_path_len
76msgdata,gossipd_got_onionmsg_to_us,rawmsg_len,u16,
77msgdata,gossipd_got_onionmsg_to_us,rawmsg,u8,rawmsg_len
78msgtype,gossipd_got_onionmsg_forward,3143
79msgdata,gossipd_got_onionmsg_forward,next_scid,?short_channel_id,
80msgdata,gossipd_got_onionmsg_forward,next_node_id,?node_id,
81msgdata,gossipd_got_onionmsg_forward,next_blinding,?pubkey,
82msgdata,gossipd_got_onionmsg_forward,next_onion_len,u16,
83msgdata,gossipd_got_onionmsg_forward,next_onion,u8,next_onion_len
84# Lightningd tells us to send a onion message.
85msgtype,gossipd_send_onionmsg,3040
86msgdata,gossipd_send_onionmsg,id,node_id,
87msgdata,gossipd_send_onionmsg,onion_len,u16,
88msgdata,gossipd_send_onionmsg,onion,u8,onion_len
89msgdata,gossipd_send_onionmsg,blinding,?pubkey,
90# Lightningd tells us to inject a gossip message (for addgossip RPC)
91msgtype,gossipd_addgossip,3044
92msgdata,gossipd_addgossip,len,u16,
93msgdata,gossipd_addgossip,msg,u8,len
94# Empty string means no problem.
95msgtype,gossipd_addgossip_reply,3144
96msgdata,gossipd_addgossip_reply,err,wirestring,