core-lightning/gossipd/gossip_wire.csv
Saibato 877f63e99e Initial TOR v2/v3 support.
This is a rebased and combined patch for Tor support.  It is extensively
reworked in the following patches, but the basis remains Saibato's work,
so it seemed fairest to begin with this.

Minor changes:
1. Use --announce-addr instead of --tor-external.
2. I also reverted some whitespace and unrelated changes from the patch.
3. Removed unnecessary ';' after } in functions.

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2018-05-10 02:28:44 +00:00

8.8 KiB

1#include <common/cryptomsg.h>
2#include <common/wireaddr.h>
3#include <wire/gen_onion_wire.h>
4# Initialize the gossip daemon.
5gossipctl_init,3000
6gossipctl_init,,broadcast_interval,u32
7gossipctl_init,,chain_hash,struct bitcoin_blkid
8gossipctl_init,,id,struct pubkey
9gossipctl_init,,gflen,u16
10gossipctl_init,,gfeatures,gflen*u8
11gossipctl_init,,lflen,u16
12gossipctl_init,,lfeatures,lflen*u8
13gossipctl_init,,num_wireaddrs,u16
14gossipctl_init,,wireaddrs,num_wireaddrs*struct wireaddr_internal
15gossipctl_init,,listen_announce,num_wireaddrs*enum addr_listen_announce
16gossipctl_init,,rgb,3*u8
17gossipctl_init,,alias,32*u8
18gossipctl_init,,update_channel_interval,u32
19gossipctl_init,,reconnect,bool
20gossipctl_init,,tor_proxyaddrs,struct wireaddr
21gossipctl_init,,use_tor_proxy_always,bool
22gossipctl_init,,dev_allow_localhost,bool
23# Activate the gossip daemon, so others can connect.
24gossipctl_activate,3025
25# Do we listen?
26gossipctl_activate,,listen,bool
27# Gossipd->master, I am ready, here's the addresses I bound, can announce.
28gossipctl_activate_reply,3125
29gossipctl_activate_reply,,num_bindings,u16
30gossipctl_activate_reply,,bindings,num_bindings*struct wireaddr_internal
31gossipctl_activate_reply,,num_announcable,u16
32gossipctl_activate_reply,,announcable,num_announcable*struct wireaddr
33# Master -> gossipd: Optional hint for where to find peer.
34gossipctl_peer_addrhint,3014
35gossipctl_peer_addrhint,,id,struct pubkey
36gossipctl_peer_addrhint,,addr,struct wireaddr_internal
37# Master -> gossipd: connect to a peer.
38gossipctl_connect_to_peer,3001
39gossipctl_connect_to_peer,,id,struct pubkey
40# Gossipd->master: result (not a reply since it can be out-of-order, but
41# you will get one reply for every request).
42gossipctl_connect_to_peer_result,3020
43gossipctl_connect_to_peer_result,,id,struct pubkey
44# True it connected.
45gossipctl_connect_to_peer_result,,connected,bool
46# Otherwise, why we can't reach them.
47gossipctl_connect_to_peer_result,,failreason,wirestring
48# Master -> gossipd: try to always maintain connection to this peer (or not)
49gossipctl_peer_important,3010
50gossipctl_peer_important,,id,struct pubkey
51gossipctl_peer_important,,important,bool
52# Gossipd -> master: we got a peer. Two fds: peer and gossip
53gossip_peer_connected,3002
54gossip_peer_connected,,id,struct pubkey
55gossip_peer_connected,,addr,struct wireaddr_internal
56gossip_peer_connected,,crypto_state,struct crypto_state
57gossip_peer_connected,,gflen,u16
58gossip_peer_connected,,gfeatures,gflen*u8
59gossip_peer_connected,,lflen,u16
60gossip_peer_connected,,lfeatures,lflen*u8
61# Gossipd -> master: peer sent non-gossip packet. Two fds: peer and gossip
62gossip_peer_nongossip,3003
63gossip_peer_nongossip,,id,struct pubkey
64gossip_peer_nongossip,,addr,struct wireaddr_internal
65gossip_peer_nongossip,,crypto_state,struct crypto_state
66gossip_peer_nongossip,,gflen,u16
67gossip_peer_nongossip,,gfeatures,gflen*u8
68gossip_peer_nongossip,,lflen,u16
69gossip_peer_nongossip,,lfeatures,lflen*u8
70gossip_peer_nongossip,,len,u16
71gossip_peer_nongossip,,msg,len*u8
72# Master -> gossipd: release a peer (so we can open a channel)
73gossipctl_release_peer,3004
74gossipctl_release_peer,,id,struct pubkey
75# Gossipd -> master: reply to gossip_release_peer. Two fds: peer and gossip.
76gossipctl_release_peer_reply,3104
77gossipctl_release_peer_reply,,addr,struct wireaddr_internal
78gossipctl_release_peer_reply,,crypto_state,struct crypto_state
79gossipctl_release_peer_reply,,gflen,u16
80gossipctl_release_peer_reply,,gfeatures,gflen*u8
81gossipctl_release_peer_reply,,lflen,u16
82gossipctl_release_peer_reply,,lfeatures,lflen*u8
83# Gossipd -> master: reply to gossip_release_peer if we couldn't find the peer.
84gossipctl_release_peer_replyfail,3204
85# master -> gossipd: take back peer, with optional msg. (+peer fd, +gossip fd)
86gossipctl_hand_back_peer,3013
87gossipctl_hand_back_peer,,id,struct pubkey
88gossipctl_hand_back_peer,,crypto_state,struct crypto_state
89gossipctl_hand_back_peer,,len,u16
90gossipctl_hand_back_peer,,msg,len*u8
91# master -> gossipd: peer has disconnected.
92gossipctl_peer_disconnected,3015
93gossipctl_peer_disconnected,,id,struct pubkey
94# Pass JSON-RPC getnodes call through
95gossip_getnodes_request,3005
96# Can be 0 or 1 currently
97gossip_getnodes_request,,num,u16
98gossip_getnodes_request,,id,num*struct pubkey
99#include <lightningd/gossip_msg.h>
100gossip_getnodes_reply,3105
101gossip_getnodes_reply,,num_nodes,u16
102gossip_getnodes_reply,,nodes,num_nodes*struct gossip_getnodes_entry
103# Pass JSON-RPC getroute call through
104gossip_getroute_request,3006
105gossip_getroute_request,,source,struct pubkey
106gossip_getroute_request,,destination,struct pubkey
107gossip_getroute_request,,msatoshi,u64
108gossip_getroute_request,,riskfactor,u16
109gossip_getroute_request,,final_cltv,u32
110gossip_getroute_request,,fuzz,double
111gossip_getroute_request,,seed,struct siphash_seed
112gossip_getroute_reply,3106
113gossip_getroute_reply,,num_hops,u16
114gossip_getroute_reply,,hops,num_hops*struct route_hop
115gossip_getchannels_request,3007
116# In practice, 0 or 1.
117gossip_getchannels_request,,num,u16
118gossip_getchannels_request,,short_channel_id,num*struct short_channel_id
119gossip_getchannels_reply,3107
120gossip_getchannels_reply,,num_channels,u16
121gossip_getchannels_reply,,nodes,num_channels*struct gossip_getchannels_entry
122# Ping/pong test. Waits for a reply if it expects one.
123gossip_ping,3008
124gossip_ping,,id,struct pubkey
125gossip_ping,,num_pong_bytes,u16
126gossip_ping,,len,u16
127gossip_ping_reply,3108
128# False if id in gossip_ping was unknown.
129gossip_ping_reply,,sent,bool
130# 0 == no pong expected
131gossip_ping_reply,,totlen,u16
132# Given a short_channel_id, return the endpoints
133gossip_resolve_channel_request,3009
134gossip_resolve_channel_request,,channel_id,struct short_channel_id
135gossip_resolve_channel_reply,3109
136gossip_resolve_channel_reply,,num_keys,u16
137gossip_resolve_channel_reply,,keys,num_keys*struct pubkey
138# The main daemon asks for peers
139gossip_getpeers_request,3011
140# 0 or 1
141gossip_getpeers_request,,num,u16
142gossip_getpeers_request,,id,num*struct pubkey
143gossip_getpeers_reply,3111
144gossip_getpeers_reply,,num,u16
145gossip_getpeers_reply,,id,num*struct pubkey
146gossip_getpeers_reply,,addr,num*struct wireaddr_internal
147gossip_getpeers_reply,,numnodes,u16
148gossip_getpeers_reply,,nodes,numnodes*struct gossip_getnodes_entry
149# Channel daemon can ask for updates for a specific channel, for sending
150# errors. Must be distinct from WIRE_CHANNEL_ANNOUNCEMENT etc. gossip msgs!
151gossip_get_update,3012
152gossip_get_update,,short_channel_id,struct short_channel_id
153# If channel isn't known, update will be empty.
154gossip_get_update_reply,3112
155gossip_get_update_reply,,len,u16
156gossip_get_update_reply,,update,len*u8
157# Gossipd can tell channeld etc about gossip to fwd.
158gossip_send_gossip,3016
159gossip_send_gossip,,len,u16
160gossip_send_gossip,,gossip,len*u8
161# Both sides have seen the funding tx being locked, but we have not
162# yet reached the announcement depth. So we add the channel locally so
163# we can use it already.
164gossip_local_add_channel,3017
165gossip_local_add_channel,,short_channel_id,struct short_channel_id
166gossip_local_add_channel,,chain_hash,struct bitcoin_blkid
167gossip_local_add_channel,,remote_node_id,struct pubkey
168gossip_local_add_channel,,cltv_expiry_delta,u16
169gossip_local_add_channel,,htlc_minimum_msat,u64
170gossip_local_add_channel,,fee_base_msat,u32
171gossip_local_add_channel,,fee_proportional_millionths,u32
172# Gossipd->master get this tx output please.
173gossip_get_txout,3018
174gossip_get_txout,,short_channel_id,struct short_channel_id
175# master->gossipd here is the output, or empty if none.
176gossip_get_txout_reply,3118
177gossip_get_txout_reply,,short_channel_id,struct short_channel_id
178gossip_get_txout_reply,,satoshis,u64
179gossip_get_txout_reply,,len,u16
180gossip_get_txout_reply,,outscript,len*u8
181# client->gossipd: Disable the channel matching the short_channel_id
182gossip_disable_channel,3019
183gossip_disable_channel,,short_channel_id,struct short_channel_id
184gossip_disable_channel,,direction,u8
185gossip_disable_channel,,active,bool
186# master->gossipd a routing failure occurred
187gossip_routing_failure,3021
188gossip_routing_failure,,erring_node,struct pubkey
189gossip_routing_failure,,erring_channel,struct short_channel_id
190gossip_routing_failure,,failcode,u16
191gossip_routing_failure,,len,u16
192gossip_routing_failure,,channel_update,len*u8
193# master->gossipd temporarily mark a channel unroutable
194# (used in case of unparseable onion reply)
195gossip_mark_channel_unroutable,3022
196gossip_mark_channel_unroutable,,channel,struct short_channel_id
197# master->gossipd: Request to disconnect from a peer.
198gossipctl_peer_disconnect,3023
199gossipctl_peer_disconnect,,id,struct pubkey
200# Gossipd -> master: reply to gossip_peer_disconnect with peer id.
201gossipctl_peer_disconnect_reply,3123
202# Gossipd -> master: reply to gossip_peer_disconnect if we couldn't find the peer.
203gossipctl_peer_disconnect_replyfail,3223
204gossipctl_peer_disconnect_replyfail,,isconnected,bool
205# master -> gossipd: a potential funding outpoint was spent, please forget the eventual channel
206gossip_outpoint_spent,3024
207gossip_outpoint_spent,,short_channel_id,struct short_channel_id