core-lightning/gossipd/gossipd_wire.csv
Michael Schmoock 532544ce4f gossipd: rename remote_addr to discovered_ip within gossipd
This is cleaner because, the `remote_addr` and `discovered_ip` are
related but two different things.

Within connectd and lightningd we use the peers `remote_addr` feature
to validate (and guess a port) to be used for IP discovery.

Also when a peer reports us a `remote_addr`, this is given to the plugin API
via the `peer_connected` hook. The network port here is not modified for
godd reason! This can be used i.e. to detect if we are behind a NAT.

But once lightningd figures enough peers report the same `remote_addr`,
it sets the port to the selected network and tells gossipd to use that for
`node_announcement` updates.

Hence, within gossipd, there is no (should not be) `remote_addr`.

Changelog-None
2022-09-15 13:30:06 +09:30

4.8 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.
7msgtype,gossipd_init,3000
8msgdata,gossipd_init,chainparams,chainparams,
9msgdata,gossipd_init,our_features,feature_set,
10msgdata,gossipd_init,id,node_id,
11msgdata,gossipd_init,rgb,u8,3
12msgdata,gossipd_init,alias,u8,32
13msgdata,gossipd_init,num_announceable,u16,
14msgdata,gossipd_init,announceable,wireaddr,num_announceable
15msgdata,gossipd_init,dev_gossip_time,?u32,
16msgdata,gossipd_init,dev_fast_gossip,bool,
17msgdata,gossipd_init,dev_fast_gossip_prune,bool,
18msgtype,gossipd_init_reply,3100
19# In developer mode, we can mess with time.
20msgtype,gossipd_dev_set_time,3001
21msgdata,gossipd_dev_set_time,dev_gossip_time,u32,
22# Set artificial maximum reply_channel_range size. Master->gossipd
23msgtype,gossipd_dev_set_max_scids_encode_size,3030
24msgdata,gossipd_dev_set_max_scids_encode_size,max,u32,
25# gossipd->master: we're closing this channel.
26msgtype,gossipd_local_channel_close,3027
27msgdata,gossipd_local_channel_close,short_channel_id,short_channel_id,
28# Gossipd->master get this tx output please.
29msgtype,gossipd_get_txout,3018
30msgdata,gossipd_get_txout,short_channel_id,short_channel_id,
31# master->gossipd here is the output, or empty if none.
32msgtype,gossipd_get_txout_reply,3118
33msgdata,gossipd_get_txout_reply,short_channel_id,short_channel_id,
34msgdata,gossipd_get_txout_reply,satoshis,amount_sat,
35msgdata,gossipd_get_txout_reply,len,u16,
36msgdata,gossipd_get_txout_reply,outscript,u8,len
37# master -> gossipd: a potential funding outpoint was spent, please forget the eventual channel
38msgtype,gossipd_outpoint_spent,3024
39msgdata,gossipd_outpoint_spent,short_channel_id,short_channel_id,
40# master -> gossipd: do you have a memleak?
41msgtype,gossipd_dev_memleak,3033
42msgtype,gossipd_dev_memleak_reply,3133
43msgdata,gossipd_dev_memleak_reply,leak,bool,
44# master -> gossipd: please rewrite the gossip_store
45msgtype,gossipd_dev_compact_store,3034
46# gossipd -> master: ok
47msgtype,gossipd_dev_compact_store_reply,3134
48msgdata,gossipd_dev_compact_store_reply,success,bool,
49# master -> gossipd: blockheight increased.
50msgtype,gossipd_new_blockheight,3026
51msgdata,gossipd_new_blockheight,blockheight,u32,
52# gossipd: got it!
53msgtype,gossipd_new_blockheight_reply,3126
54# Lightningd tells us to inject a gossip message (for addgossip RPC)
55msgtype,gossipd_addgossip,3044
56msgdata,gossipd_addgossip,len,u16,
57msgdata,gossipd_addgossip,msg,u8,len
58# Empty string means no problem.
59msgtype,gossipd_addgossip_reply,3144
60msgdata,gossipd_addgossip_reply,err,wirestring,
61# Updated lease rates available
62msgtype,gossipd_new_lease_rates,3046
63msgdata,gossipd_new_lease_rates,rates,lease_rates,
64# Lightningd asks gossipd for any known addresses for that node.
65msgtype,gossipd_get_addrs,3050
66msgdata,gossipd_get_addrs,id,node_id,
67msgtype,gossipd_get_addrs_reply,3150
68msgdata,gossipd_get_addrs_reply,num,u16,
69msgdata,gossipd_get_addrs_reply,addrs,wireaddr,num
70# Tell master a local channel update (so it can serve errors).
71msgtype,gossipd_got_local_channel_update,3151
72msgdata,gossipd_got_local_channel_update,scid,short_channel_id,
73msgdata,gossipd_got_local_channel_update,len,u16,
74msgdata,gossipd_got_local_channel_update,channel_update,u8,len
75# Send this channel_update.
76msgtype,gossipd_local_channel_update,3004
77msgdata,gossipd_local_channel_update,id,node_id,
78msgdata,gossipd_local_channel_update,short_channel_id,short_channel_id,
79msgdata,gossipd_local_channel_update,disable,bool,
80msgdata,gossipd_local_channel_update,cltv_expiry_delta,u16,
81msgdata,gossipd_local_channel_update,htlc_minimum_msat,amount_msat,
82msgdata,gossipd_local_channel_update,fee_base_msat,u32,
83msgdata,gossipd_local_channel_update,fee_proportional_millionths,u32,
84msgdata,gossipd_local_channel_update,htlc_maximum_msat,amount_msat,
85# Send this channel_announcement
86msgtype,gossipd_local_channel_announcement,3006
87msgdata,gossipd_local_channel_announcement,id,node_id,
88msgdata,gossipd_local_channel_announcement,len,u16,
89msgdata,gossipd_local_channel_announcement,cannounce,u8,len
90# Tell gossipd about a private channel (to put it in the store)
91# cannounce has same structure, dummy sigs.
92msgtype,gossipd_local_private_channel,3008
93msgdata,gossipd_local_private_channel,id,node_id,
94msgdata,gossipd_local_private_channel,capacity,amount_sat,
95msgdata,gossipd_local_private_channel,scid,short_channel_id,
96msgdata,gossipd_local_private_channel,len,u16,
97msgdata,gossipd_local_private_channel,features,u8,len
98# Tell gossipd we used the channel update (in case it was deferred)
99msgtype,gossipd_used_local_channel_update,3052
100msgdata,gossipd_used_local_channel_update,scid,short_channel_id,
101# Tell gossipd we have verified a new public IP by the remote_addr feature
102msgtype,gossipd_discovered_ip,3009
103msgdata,gossipd_discovered_ip,discovered_ip,wireaddr,