core-lightning/gossipd/gossipd_wire.csv
Rusty Russell 4b4937b9bd gossipd: tell lightningd about all our previous channel_updates at startup.
This will at least *help* the case where these were not populated, causing us
to send errors without channel_updated appended.

It's not perfect: we can still send such errors if the gossip store is
corrupted, and we still send them for private channels, but it should
help.

(The much better fix is far more invasive, so slips to next release!)

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2023-07-29 09:44:20 +09:30

138 lines
5.2 KiB
CSV

#include <common/cryptomsg.h>
#include <common/features.h>
#include <common/wireaddr.h>
#include <wire/peer_wire.h>
#include <wire/onion_wire.h>
# Initialize the gossip daemon.
msgtype,gossipd_init,3000
msgdata,gossipd_init,chainparams,chainparams,
msgdata,gossipd_init,our_features,feature_set,
msgdata,gossipd_init,id,node_id,
msgdata,gossipd_init,rgb,u8,3
msgdata,gossipd_init,alias,u8,32
msgdata,gossipd_init,num_announceable,u16,
msgdata,gossipd_init,announceable,wireaddr,num_announceable
msgdata,gossipd_init,dev_gossip_time,?u32,
msgdata,gossipd_init,dev_fast_gossip,bool,
msgdata,gossipd_init,dev_fast_gossip_prune,bool,
msgdata,gossipd_init,ip_discovery,u32,
# Gossipd tells us all our public channel_updates before init_reply.
msgtype,gossipd_init_cupdate,3101
msgdata,gossipd_init_cupdate,scid,short_channel_id,
msgdata,gossipd_init_cupdate,len,u16,
msgdata,gossipd_init_cupdate,cupdate,u8,len
msgtype,gossipd_init_reply,3100
# In developer mode, we can mess with time.
msgtype,gossipd_dev_set_time,3001
msgdata,gossipd_dev_set_time,dev_gossip_time,u32,
# Set artificial maximum reply_channel_range size. Master->gossipd
msgtype,gossipd_dev_set_max_scids_encode_size,3030
msgdata,gossipd_dev_set_max_scids_encode_size,max,u32,
# gossipd->master: we're closing this channel.
msgtype,gossipd_local_channel_close,3027
msgdata,gossipd_local_channel_close,short_channel_id,short_channel_id,
# Gossipd->master get this tx output please.
msgtype,gossipd_get_txout,3018
msgdata,gossipd_get_txout,short_channel_id,short_channel_id,
# master->gossipd here is the output, or empty if none.
msgtype,gossipd_get_txout_reply,3118
msgdata,gossipd_get_txout_reply,short_channel_id,short_channel_id,
msgdata,gossipd_get_txout_reply,satoshis,amount_sat,
msgdata,gossipd_get_txout_reply,len,u16,
msgdata,gossipd_get_txout_reply,outscript,u8,len
# master -> gossipd: these potential funding outpoints were spent, please forget any channels
msgtype,gossipd_outpoints_spent,3024
msgdata,gossipd_outpoints_spent,blockheight,u32,
msgdata,gossipd_outpoints_spent,len,u32,
msgdata,gossipd_outpoints_spent,short_channel_id,short_channel_id,len
# master -> gossipd: do you have a memleak?
msgtype,gossipd_dev_memleak,3033
msgtype,gossipd_dev_memleak_reply,3133
msgdata,gossipd_dev_memleak_reply,leak,bool,
# master -> gossipd: please rewrite the gossip_store
msgtype,gossipd_dev_compact_store,3034
# gossipd -> master: ok
msgtype,gossipd_dev_compact_store_reply,3134
msgdata,gossipd_dev_compact_store_reply,success,bool,
# master -> gossipd: blockheight increased.
msgtype,gossipd_new_blockheight,3026
msgdata,gossipd_new_blockheight,blockheight,u32,
# gossipd: got it!
msgtype,gossipd_new_blockheight_reply,3126
# Lightningd tells us to inject a gossip message (for addgossip RPC)
msgtype,gossipd_addgossip,3044
msgdata,gossipd_addgossip,len,u16,
msgdata,gossipd_addgossip,msg,u8,len
# Empty string means no problem.
msgtype,gossipd_addgossip_reply,3144
msgdata,gossipd_addgossip_reply,err,wirestring,
# Updated lease rates available
msgtype,gossipd_new_lease_rates,3046
msgdata,gossipd_new_lease_rates,rates,lease_rates,
# Lightningd asks gossipd for any known addresses for that node.
msgtype,gossipd_get_addrs,3050
msgdata,gossipd_get_addrs,id,node_id,
msgtype,gossipd_get_addrs_reply,3150
msgdata,gossipd_get_addrs_reply,num,u16,
msgdata,gossipd_get_addrs_reply,addrs,wireaddr,num
# Tell master a local channel update (so it can serve errors).
msgtype,gossipd_got_local_channel_update,3151
msgdata,gossipd_got_local_channel_update,scid,short_channel_id,
msgdata,gossipd_got_local_channel_update,len,u16,
msgdata,gossipd_got_local_channel_update,channel_update,u8,len
# Send this channel_update.
msgtype,gossipd_local_channel_update,3004
msgdata,gossipd_local_channel_update,id,node_id,
msgdata,gossipd_local_channel_update,short_channel_id,short_channel_id,
msgdata,gossipd_local_channel_update,disable,bool,
msgdata,gossipd_local_channel_update,cltv_expiry_delta,u16,
msgdata,gossipd_local_channel_update,htlc_minimum_msat,amount_msat,
msgdata,gossipd_local_channel_update,fee_base_msat,u32,
msgdata,gossipd_local_channel_update,fee_proportional_millionths,u32,
msgdata,gossipd_local_channel_update,htlc_maximum_msat,amount_msat,
msgdata,gossipd_local_channel_update,public,bool,
# Send this channel_announcement
msgtype,gossipd_local_channel_announcement,3006
msgdata,gossipd_local_channel_announcement,id,node_id,
msgdata,gossipd_local_channel_announcement,len,u16,
msgdata,gossipd_local_channel_announcement,cannounce,u8,len
# Tell gossipd about a private channel (to put it in the store)
# cannounce has same structure, dummy sigs.
msgtype,gossipd_local_private_channel,3008
msgdata,gossipd_local_private_channel,id,node_id,
msgdata,gossipd_local_private_channel,capacity,amount_sat,
msgdata,gossipd_local_private_channel,scid,short_channel_id,
msgdata,gossipd_local_private_channel,len,u16,
msgdata,gossipd_local_private_channel,features,u8,len
# Tell gossipd we used the channel update (in case it was deferred)
msgtype,gossipd_used_local_channel_update,3052
msgdata,gossipd_used_local_channel_update,scid,short_channel_id,
# Tell gossipd we have verified a new public IP by the remote_addr feature
msgtype,gossipd_discovered_ip,3009
msgdata,gossipd_discovered_ip,discovered_ip,wireaddr,