forked from ElementsProject/lightning
-
Notifications
You must be signed in to change notification settings - Fork 0
/
gossip_wire.csv
We can make this file beautiful and searchable if this error is corrected: It looks like row 5 should actually have 1 column, instead of 2 in line 4.
271 lines (226 loc) · 9.66 KB
/
gossip_wire.csv
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
#include <common/cryptomsg.h>
#include <common/wireaddr.h>
#include <wire/gen_onion_wire.h>
# Initialize the gossip daemon.
gossipctl_init,3000
gossipctl_init,,broadcast_interval,u32
gossipctl_init,,chain_hash,struct bitcoin_blkid
gossipctl_init,,id,struct pubkey
gossipctl_init,,gflen,u16
gossipctl_init,,gfeatures,gflen*u8
gossipctl_init,,lflen,u16
gossipctl_init,,lfeatures,lflen*u8
gossipctl_init,,num_wireaddrs,u16
gossipctl_init,,wireaddrs,num_wireaddrs*struct wireaddr_internal
gossipctl_init,,listen_announce,num_wireaddrs*enum addr_listen_announce
gossipctl_init,,rgb,3*u8
gossipctl_init,,alias,32*u8
gossipctl_init,,update_channel_interval,u32
gossipctl_init,,reconnect,bool
gossipctl_init,,tor_proxyaddr,?struct wireaddr
gossipctl_init,,use_tor_proxy_always,bool
gossipctl_init,,dev_allow_localhost,bool
gossipctl_init,,use_dns,bool
gossipctl_init,,tor_password,wirestring
gossipctl_init,,num_announcable,u16
gossipctl_init,,announcable,num_announcable*struct wireaddr
# Activate the gossip daemon, so others can connect.
gossipctl_activate,3025
# Do we listen?
gossipctl_activate,,listen,bool
# Master -> gossipd: Optional hint for where to find peer.
gossipctl_peer_addrhint,3014
gossipctl_peer_addrhint,,id,struct pubkey
gossipctl_peer_addrhint,,addr,struct wireaddr_internal
# Master -> gossipd: connect to a peer.
gossipctl_connect_to_peer,3001
gossipctl_connect_to_peer,,id,struct pubkey
# Gossipd->master: result (not a reply since it can be out-of-order, but
# you will get one reply for every request).
gossipctl_connect_to_peer_result,3020
gossipctl_connect_to_peer_result,,id,struct pubkey
# True it connected.
gossipctl_connect_to_peer_result,,connected,bool
# Otherwise, why we can't reach them.
gossipctl_connect_to_peer_result,,failreason,wirestring
# Master -> gossipd: try to always maintain connection to this peer (or not)
gossipctl_peer_important,3010
gossipctl_peer_important,,id,struct pubkey
gossipctl_peer_important,,important,bool
# Gossipd -> master: we got a peer. Two fds: peer and gossip
gossip_peer_connected,3002
gossip_peer_connected,,id,struct pubkey
gossip_peer_connected,,addr,struct wireaddr_internal
gossip_peer_connected,,crypto_state,struct crypto_state
gossip_peer_connected,,gflen,u16
gossip_peer_connected,,gfeatures,gflen*u8
gossip_peer_connected,,lflen,u16
gossip_peer_connected,,lfeatures,lflen*u8
# Gossipd -> master: peer sent non-gossip packet. Two fds: peer and gossip
gossip_peer_nongossip,3003
gossip_peer_nongossip,,id,struct pubkey
gossip_peer_nongossip,,addr,struct wireaddr_internal
gossip_peer_nongossip,,crypto_state,struct crypto_state
gossip_peer_nongossip,,gflen,u16
gossip_peer_nongossip,,gfeatures,gflen*u8
gossip_peer_nongossip,,lflen,u16
gossip_peer_nongossip,,lfeatures,lflen*u8
gossip_peer_nongossip,,len,u16
gossip_peer_nongossip,,msg,len*u8
# Master -> gossipd: release a peer (so we can open a channel)
gossipctl_release_peer,3004
gossipctl_release_peer,,id,struct pubkey
# Gossipd -> master: reply to gossip_release_peer. Two fds: peer and gossip.
gossipctl_release_peer_reply,3104
gossipctl_release_peer_reply,,addr,struct wireaddr_internal
gossipctl_release_peer_reply,,crypto_state,struct crypto_state
gossipctl_release_peer_reply,,gflen,u16
gossipctl_release_peer_reply,,gfeatures,gflen*u8
gossipctl_release_peer_reply,,lflen,u16
gossipctl_release_peer_reply,,lfeatures,lflen*u8
# Gossipd -> master: reply to gossip_release_peer if we couldn't find the peer.
gossipctl_release_peer_replyfail,3204
# master -> gossipd: take back peer, with optional msg. (+peer fd, +gossip fd)
gossipctl_hand_back_peer,3013
gossipctl_hand_back_peer,,id,struct pubkey
gossipctl_hand_back_peer,,crypto_state,struct crypto_state
gossipctl_hand_back_peer,,len,u16
gossipctl_hand_back_peer,,msg,len*u8
# master -> gossipd: peer has disconnected.
gossipctl_peer_disconnected,3015
gossipctl_peer_disconnected,,id,struct pubkey
# Pass JSON-RPC getnodes call through
gossip_getnodes_request,3005
gossip_getnodes_request,,id,?struct pubkey
#include <lightningd/gossip_msg.h>
gossip_getnodes_reply,3105
gossip_getnodes_reply,,num_nodes,u16
gossip_getnodes_reply,,nodes,num_nodes*struct gossip_getnodes_entry
# Pass JSON-RPC getroute call through
gossip_getroute_request,3006
gossip_getroute_request,,source,struct pubkey
gossip_getroute_request,,destination,struct pubkey
gossip_getroute_request,,msatoshi,u64
gossip_getroute_request,,riskfactor,u16
gossip_getroute_request,,final_cltv,u32
gossip_getroute_request,,fuzz,double
gossip_getroute_request,,seed,struct siphash_seed
gossip_getroute_reply,3106
gossip_getroute_reply,,num_hops,u16
gossip_getroute_reply,,hops,num_hops*struct route_hop
gossip_getchannels_request,3007
gossip_getchannels_request,,short_channel_id,?struct short_channel_id
gossip_getchannels_reply,3107
gossip_getchannels_reply,,num_channels,u16
gossip_getchannels_reply,,nodes,num_channels*struct gossip_getchannels_entry
# Ping/pong test. Waits for a reply if it expects one.
gossip_ping,3008
gossip_ping,,id,struct pubkey
gossip_ping,,num_pong_bytes,u16
gossip_ping,,len,u16
gossip_ping_reply,3108
# False if id in gossip_ping was unknown.
gossip_ping_reply,,sent,bool
# 0 == no pong expected
gossip_ping_reply,,totlen,u16
# Test of query_short_channel_ids. Master->gossipd
gossip_query_scids,3031
gossip_query_scids,,id,struct pubkey
gossip_query_scids,,num_ids,u16
gossip_query_scids,,ids,num_ids*struct short_channel_id
# Gossipd -> master
gossip_scids_reply,3131
gossip_scids_reply,,ok,bool
gossip_scids_reply,,complete,bool
# Test gossip timestamp filtering.
gossip_send_timestamp_filter,3028
gossip_send_timestamp_filter,,id,struct pubkey
gossip_send_timestamp_filter,,first_timestamp,u32
gossip_send_timestamp_filter,,timestamp_range,u32
# Test of query_channel_range. Master->gossipd
gossip_query_channel_range,3029
gossip_query_channel_range,,id,struct pubkey
gossip_query_channel_range,,first_blocknum,u32
gossip_query_channel_range,,number_of_blocks,u32
# Gossipd -> master
gossip_query_channel_range_reply,3129
gossip_query_channel_range_reply,,final_first_block,u32
gossip_query_channel_range_reply,,final_num_blocks,u32
gossip_query_channel_range_reply,,final_complete,bool
gossip_query_channel_range_reply,,num,u16
gossip_query_channel_range_reply,,scids,num*struct short_channel_id
# Set artificial maximum reply_channel_range size. Master->gossipd
gossip_dev_set_max_scids_encode_size,3030
gossip_dev_set_max_scids_encode_size,,max,u32
# Given a short_channel_id, return the endpoints
gossip_resolve_channel_request,3009
gossip_resolve_channel_request,,channel_id,struct short_channel_id
gossip_resolve_channel_reply,3109
gossip_resolve_channel_reply,,num_keys,u16
gossip_resolve_channel_reply,,keys,num_keys*struct pubkey
# The main daemon asks for peers
gossip_getpeers_request,3011
gossip_getpeers_request,,id,?struct pubkey
gossip_getpeers_reply,3111
gossip_getpeers_reply,,num,u16
gossip_getpeers_reply,,id,num*struct pubkey
gossip_getpeers_reply,,addr,num*struct wireaddr_internal
gossip_getpeers_reply,,nodes,num*struct gossip_getnodes_entry
# Channel daemon can ask for updates for a specific channel, for sending
# errors. Must be distinct from WIRE_CHANNEL_ANNOUNCEMENT etc. gossip msgs!
gossip_get_update,3012
gossip_get_update,,short_channel_id,struct short_channel_id
# If channel isn't known, update will be empty.
gossip_get_update_reply,3112
gossip_get_update_reply,,len,u16
gossip_get_update_reply,,update,len*u8
# Gossipd can tell channeld etc about gossip to fwd.
gossip_send_gossip,3016
gossip_send_gossip,,len,u16
gossip_send_gossip,,gossip,len*u8
# Both sides have seen the funding tx being locked, but we have not
# yet reached the announcement depth. So we add the channel locally so
# we (and peer) can update it already.
gossip_local_add_channel,3017
gossip_local_add_channel,,short_channel_id,struct short_channel_id
gossip_local_add_channel,,remote_node_id,struct pubkey
gossip_local_channel_update,3026
gossip_local_channel_update,,short_channel_id,struct short_channel_id
gossip_local_channel_update,,disable,bool
gossip_local_channel_update,,cltv_expiry_delta,u16
gossip_local_channel_update,,htlc_minimum_msat,u64
gossip_local_channel_update,,fee_base_msat,u32
gossip_local_channel_update,,fee_proportional_millionths,u32
gossip_local_channel_close,3027
gossip_local_channel_close,,short_channel_id,struct short_channel_id
# Gossipd->master get this tx output please.
gossip_get_txout,3018
gossip_get_txout,,short_channel_id,struct short_channel_id
# master->gossipd here is the output, or empty if none.
gossip_get_txout_reply,3118
gossip_get_txout_reply,,short_channel_id,struct short_channel_id
gossip_get_txout_reply,,satoshis,u64
gossip_get_txout_reply,,len,u16
gossip_get_txout_reply,,outscript,len*u8
# master->gossipd a routing failure occurred
gossip_routing_failure,3021
gossip_routing_failure,,erring_node,struct pubkey
gossip_routing_failure,,erring_channel,struct short_channel_id
gossip_routing_failure,,failcode,u16
gossip_routing_failure,,len,u16
gossip_routing_failure,,channel_update,len*u8
# master->gossipd temporarily mark a channel unroutable
# (used in case of unparseable onion reply)
gossip_mark_channel_unroutable,3022
gossip_mark_channel_unroutable,,channel,struct short_channel_id
# master->gossipd: Request to disconnect from a peer.
gossipctl_peer_disconnect,3023
gossipctl_peer_disconnect,,id,struct pubkey
# Gossipd -> master: reply to gossip_peer_disconnect with peer id.
gossipctl_peer_disconnect_reply,3123
# Gossipd -> master: reply to gossip_peer_disconnect if we couldn't find the peer.
gossipctl_peer_disconnect_replyfail,3223
gossipctl_peer_disconnect_replyfail,,isconnected,bool
# master -> gossipd: a potential funding outpoint was spent, please forget the eventual channel
gossip_outpoint_spent,3024
gossip_outpoint_spent,,short_channel_id,struct short_channel_id