2020-08-25 04:05:45 +02:00
|
|
|
#include <common/cryptomsg.h>
|
|
|
|
#include <common/features.h>
|
|
|
|
#include <common/wireaddr.h>
|
2021-05-28 18:39:52 +02:00
|
|
|
#include <wire/peer_wire.h>
|
2020-09-07 23:06:50 +02:00
|
|
|
#include <wire/onion_wire.h>
|
2020-08-25 04:05:45 +02:00
|
|
|
|
|
|
|
# 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
|
2022-02-23 17:58:41 +01:00
|
|
|
msgdata,gossipd_init,num_announceable,u16,
|
|
|
|
msgdata,gossipd_init,announceable,wireaddr,num_announceable
|
2020-08-25 04:05:45 +02:00
|
|
|
msgdata,gossipd_init,dev_gossip_time,?u32,
|
|
|
|
msgdata,gossipd_init,dev_fast_gossip,bool,
|
|
|
|
msgdata,gossipd_init,dev_fast_gossip_prune,bool,
|
2022-12-20 17:49:03 +01:00
|
|
|
msgdata,gossipd_init,ip_discovery,u32,
|
2020-08-25 04:05:45 +02:00
|
|
|
|
2023-07-28 07:36:18 +02:00
|
|
|
# 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
|
|
|
|
|
2021-06-14 23:07:39 +02:00
|
|
|
msgtype,gossipd_init_reply,3100
|
|
|
|
|
2020-08-25 04:05:45 +02:00
|
|
|
# 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
|
|
|
|
|
2022-09-14 05:50:32 +02:00
|
|
|
# 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
|
2020-08-25 04:05:45 +02:00
|
|
|
|
|
|
|
# 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,
|
2021-01-07 19:42:47 +01:00
|
|
|
|
2022-01-08 14:21:29 +01:00
|
|
|
# gossipd: got it!
|
|
|
|
msgtype,gossipd_new_blockheight_reply,3126
|
|
|
|
|
2021-02-02 06:16:20 +01:00
|
|
|
# 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,
|
|
|
|
|
2021-05-28 18:39:52 +02:00
|
|
|
# Updated lease rates available
|
|
|
|
msgtype,gossipd_new_lease_rates,3046
|
|
|
|
msgdata,gossipd_new_lease_rates,rates,lease_rates,
|
2022-01-11 02:15:48 +01:00
|
|
|
|
|
|
|
# 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
|
2022-01-24 20:58:52 +01:00
|
|
|
|
|
|
|
# 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
|
2022-01-24 21:00:52 +01:00
|
|
|
|
2022-01-24 21:03:52 +01:00
|
|
|
# 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,
|
2023-10-24 05:50:09 +02:00
|
|
|
msgdata,gossipd_local_channel_update,enable,bool,
|
2022-01-24 21:03:52 +01:00
|
|
|
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,
|
2022-09-14 05:50:32 +02:00
|
|
|
msgdata,gossipd_local_channel_update,public,bool,
|
2022-01-24 21:03:52 +01:00
|
|
|
|
|
|
|
# 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
|
|
|
|
|
2022-01-24 21:00:52 +01:00
|
|
|
# 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,
|
2022-02-23 19:11:03 +01:00
|
|
|
|
2022-09-13 12:04:45 +02:00
|
|
|
# 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,
|
2023-12-06 21:14:05 +01:00
|
|
|
|
2023-12-06 21:14:05 +01:00
|
|
|
subtype,peer_update
|
|
|
|
subtypedata,peer_update,scid,short_channel_id,
|
|
|
|
subtypedata,peer_update,fee_base,u32,
|
|
|
|
subtypedata,peer_update,fee_ppm,u32,
|
|
|
|
subtypedata,peer_update,cltv_delta,u16,
|
|
|
|
subtypedata,peer_update,htlc_minimum_msat,amount_msat,
|
|
|
|
subtypedata,peer_update,htlc_maximum_msat,amount_msat,
|
2023-12-06 21:14:05 +01:00
|
|
|
|
|
|
|
# Tell lightningd we received channel update info for a local channel
|
|
|
|
msgtype,gossipd_remote_channel_update,3010
|
2023-12-06 21:14:05 +01:00
|
|
|
msgdata,gossipd_remote_channel_update,source_node,?node_id,
|
|
|
|
msgdata,gossipd_remote_channel_update,peer_update,peer_update,
|