core-lightning/gossipd/gossip_wire.csv
Christian Decker b5f737e563 gossip: Passing alias, color and wireaddrs through to gossipd
First step towards `gossipd` managing the `node_announcement`.

Signed-off-by: Christian Decker <decker.christian@gmail.com>
2017-12-17 02:44:20 +00:00

4.9 KiB

1#include <common/cryptomsg.h>
2#include <common/wireaddr.h>
3# Initialize the gossip daemon.
4gossipctl_init,3000
5gossipctl_init,,broadcast_interval,u32
6gossipctl_init,,chain_hash,struct sha256_double
7gossipctl_init,,id,struct pubkey
8# If non-zero, port to listen on.
9gossipctl_init,,port,u16
10gossipctl_init,,gflen,u16
11gossipctl_init,,gfeatures,gflen*u8
12gossipctl_init,,lflen,u16
13gossipctl_init,,lfeatures,lflen*u8
14gossipctl_init,,num_wireaddrs,u16
15gossipctl_init,,wireaddrs,num_wireaddrs*struct wireaddr
16gossipctl_init,,rgb,3*u8
17gossipctl_init,,alias,32*u8
18# Master -> gossipd: Optional hint for where to find peer.
19gossipctl_peer_addrhint,3014
20gossipctl_peer_addrhint,,id,struct pubkey
21gossipctl_peer_addrhint,,addr,struct wireaddr
22# Master -> gossipd: connect to a peer. We may get a peer_connected.
23gossipctl_reach_peer,3001
24gossipctl_reach_peer,,id,struct pubkey
25# Gossipd -> master: we got a peer. Two fds: peer and gossip
26gossip_peer_connected,3002
27gossip_peer_connected,,id,struct pubkey
28gossip_peer_connected,,addr,struct wireaddr
29gossip_peer_connected,,crypto_state,struct crypto_state
30gossip_peer_connected,,gflen,u16
31gossip_peer_connected,,gfeatures,gflen*u8
32gossip_peer_connected,,lflen,u16
33gossip_peer_connected,,lfeatures,lflen*u8
34# Gossipd -> master: peer sent non-gossip packet. Two fds: peer and gossip
35gossip_peer_nongossip,3003
36gossip_peer_nongossip,,id,struct pubkey
37gossip_peer_nongossip,,addr,struct wireaddr
38gossip_peer_nongossip,,crypto_state,struct crypto_state
39gossip_peer_nongossip,,gflen,u16
40gossip_peer_nongossip,,gfeatures,gflen*u8
41gossip_peer_nongossip,,lflen,u16
42gossip_peer_nongossip,,lfeatures,lflen*u8
43gossip_peer_nongossip,,len,u16
44gossip_peer_nongossip,,msg,len*u8
45# Master -> gossipd: release a peer (so we can open a channel)
46gossipctl_release_peer,3004
47gossipctl_release_peer,,id,struct pubkey
48# Gossipd -> master: reply to gossip_release_peer. Two fds: peer and gossip.
49gossipctl_release_peer_reply,3104
50gossipctl_release_peer_reply,,addr,struct wireaddr
51gossipctl_release_peer_reply,,crypto_state,struct crypto_state
52gossipctl_release_peer_reply,,gflen,u16
53gossipctl_release_peer_reply,,gfeatures,gflen*u8
54gossipctl_release_peer_reply,,lflen,u16
55gossipctl_release_peer_reply,,lfeatures,lflen*u8
56# Gossipd -> master: reply to gossip_release_peer if we couldn't find the peer.
57gossipctl_release_peer_replyfail,3204
58# Gossipd -> master: take over peer, with optional msg. (+peer fd)
59gossipctl_handle_peer,3013
60gossipctl_handle_peer,,id,struct pubkey
61gossipctl_handle_peer,,addr,struct wireaddr
62gossipctl_handle_peer,,crypto_state,struct crypto_state
63gossipctl_handle_peer,,gflen,u16
64gossipctl_handle_peer,,gfeatures,gflen*u8
65gossipctl_handle_peer,,lflen,u16
66gossipctl_handle_peer,,lfeatures,lflen*u8
67gossipctl_handle_peer,,len,u16
68gossipctl_handle_peer,,msg,len*u8
69# Pass JSON-RPC getnodes call through
70gossip_getnodes_request,3005
71#include <lightningd/gossip_msg.h>
72gossip_getnodes_reply,3105
73gossip_getnodes_reply,,num_nodes,u16
74gossip_getnodes_reply,,nodes,num_nodes*struct gossip_getnodes_entry
75# Pass JSON-RPC getroute call through
76gossip_getroute_request,3006
77gossip_getroute_request,,source,struct pubkey
78gossip_getroute_request,,destination,struct pubkey
79gossip_getroute_request,,msatoshi,u32
80gossip_getroute_request,,riskfactor,u16
81gossip_getroute_request,,final_cltv,u32
82gossip_getroute_reply,3106
83gossip_getroute_reply,,num_hops,u16
84gossip_getroute_reply,,hops,num_hops*struct route_hop
85gossip_getchannels_request,3007
86gossip_getchannels_reply,3107
87gossip_getchannels_reply,,num_channels,u16
88gossip_getchannels_reply,,nodes,num_channels*struct gossip_getchannels_entry
89# Ping/pong test. Waits for a reply if it expects one.
90gossip_ping,3008
91gossip_ping,,id,struct pubkey
92gossip_ping,,num_pong_bytes,u16
93gossip_ping,,len,u16
94gossip_ping_reply,3108
95# False if id in gossip_ping was unknown.
96gossip_ping_reply,,sent,bool
97# 0 == no pong expected
98gossip_ping_reply,,totlen,u16
99# Given a short_channel_id, return the endpoints
100gossip_resolve_channel_request,3009
101gossip_resolve_channel_request,,channel_id,struct short_channel_id
102gossip_resolve_channel_reply,3109
103gossip_resolve_channel_reply,,num_keys,u16
104gossip_resolve_channel_reply,,keys,num_keys*struct pubkey
105# The main daemon forward some gossip message to gossipd, allows injecting
106# arbitrary gossip messages.
107gossip_forwarded_msg,3010
108gossip_forwarded_msg,,msglen,u16
109gossip_forwarded_msg,,msg,msglen*u8
110# The main daemon asks for peers
111gossip_getpeers_request,3011
112gossip_getpeers_reply,3111
113gossip_getpeers_reply,,num,u16
114gossip_getpeers_reply,,id,num*struct pubkey
115gossip_getpeers_reply,,addr,num*struct wireaddr
116# Channel daemon can ask for updates for a specific channel, for sending
117# errors. Must be distinct from WIRE_CHANNEL_ANNOUNCEMENT etc. gossip msgs!
118gossip_get_update,3012
119gossip_get_update,,short_channel_id,struct short_channel_id
120# If channel isn't known, update will be empty.
121gossip_get_update_reply,3112
122gossip_get_update_reply,,len,u16
123gossip_get_update_reply,,update,len*u8