mirror of
https://github.com/ElementsProject/lightning.git
synced 2025-01-09 07:10:16 +01:00
147eaced2e
It's generally clearer to have simple hardcoded numbers with an #if DEVELOPER around it, than apparent variables which aren't, really. Interestingly, our pruning test was always kinda broken: we have to pass two cycles, since l2 will refresh the channel once to avoid pruning. Do the more obvious thing, and cut the network in half and check that l1 and l3 time out. Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
167 lines
6.2 KiB
Plaintext
167 lines
6.2 KiB
Plaintext
#include <common/cryptomsg.h>
|
|
#include <common/wireaddr.h>
|
|
#include <wire/gen_onion_wire.h>
|
|
|
|
# Initialize the gossip daemon.
|
|
msgtype,gossipctl_init,3000
|
|
msgdata,gossipctl_init,chain_hash,bitcoin_blkid,
|
|
msgdata,gossipctl_init,id,node_id,
|
|
msgdata,gossipctl_init,gflen,u16,
|
|
msgdata,gossipctl_init,globalfeatures,u8,gflen
|
|
msgdata,gossipctl_init,rgb,u8,3
|
|
msgdata,gossipctl_init,alias,u8,32
|
|
msgdata,gossipctl_init,num_announcable,u16,
|
|
msgdata,gossipctl_init,announcable,wireaddr,num_announcable
|
|
msgdata,gossipctl_init,dev_gossip_time,?u32,
|
|
msgdata,gossipctl_init,dev_fast_gossip,bool,
|
|
|
|
# In developer mode, we can mess with time.
|
|
msgtype,gossip_dev_set_time,3001
|
|
msgdata,gossip_dev_set_time,dev_gossip_time,u32,
|
|
|
|
# Pass JSON-RPC getnodes call through
|
|
msgtype,gossip_getnodes_request,3005
|
|
msgdata,gossip_getnodes_request,id,?node_id,
|
|
|
|
#include <lightningd/gossip_msg.h>
|
|
msgtype,gossip_getnodes_reply,3105
|
|
msgdata,gossip_getnodes_reply,num_nodes,u32,
|
|
msgdata,gossip_getnodes_reply,nodes,gossip_getnodes_entry,num_nodes
|
|
|
|
# Pass JSON-RPC getroute call through
|
|
msgtype,gossip_getroute_request,3006
|
|
# Source defaults to "us", and means we don't consider first-hop channel fees
|
|
msgdata,gossip_getroute_request,source,?node_id,
|
|
msgdata,gossip_getroute_request,destination,node_id,
|
|
msgdata,gossip_getroute_request,msatoshi,amount_msat,
|
|
# We don't pass doubles, so pass riskfactor 1000000.
|
|
msgdata,gossip_getroute_request,riskfactor_by_million,u64,
|
|
msgdata,gossip_getroute_request,final_cltv,u32,
|
|
msgdata,gossip_getroute_request,fuzz,double,
|
|
msgdata,gossip_getroute_request,num_excluded,u16,
|
|
msgdata,gossip_getroute_request,excluded,exclude_entry,num_excluded
|
|
msgdata,gossip_getroute_request,max_hops,u32,
|
|
|
|
msgtype,gossip_getroute_reply,3106
|
|
msgdata,gossip_getroute_reply,num_hops,u16,
|
|
msgdata,gossip_getroute_reply,hops,route_hop,num_hops
|
|
|
|
msgtype,gossip_getchannels_request,3007
|
|
msgdata,gossip_getchannels_request,short_channel_id,?short_channel_id,
|
|
msgdata,gossip_getchannels_request,source,?node_id,
|
|
msgdata,gossip_getchannels_request,prev,?short_channel_id,
|
|
|
|
msgtype,gossip_getchannels_reply,3107
|
|
msgdata,gossip_getchannels_reply,complete,bool,
|
|
msgdata,gossip_getchannels_reply,num_channels,u32,
|
|
msgdata,gossip_getchannels_reply,nodes,gossip_getchannels_entry,num_channels
|
|
|
|
# Ping/pong test. Waits for a reply if it expects one.
|
|
msgtype,gossip_ping,3008
|
|
msgdata,gossip_ping,id,node_id,
|
|
msgdata,gossip_ping,num_pong_bytes,u16,
|
|
msgdata,gossip_ping,len,u16,
|
|
|
|
msgtype,gossip_ping_reply,3108
|
|
msgdata,gossip_ping_reply,id,node_id,
|
|
# False if id in gossip_ping was unknown.
|
|
msgdata,gossip_ping_reply,sent,bool,
|
|
# 0 == no pong expected
|
|
msgdata,gossip_ping_reply,totlen,u16,
|
|
|
|
# Test of query_short_channel_ids. Master->gossipd
|
|
msgtype,gossip_query_scids,3031
|
|
msgdata,gossip_query_scids,id,node_id,
|
|
msgdata,gossip_query_scids,num_ids,u16,
|
|
msgdata,gossip_query_scids,ids,short_channel_id,num_ids
|
|
|
|
# Gossipd -> master
|
|
msgtype,gossip_scids_reply,3131
|
|
msgdata,gossip_scids_reply,ok,bool,
|
|
msgdata,gossip_scids_reply,complete,bool,
|
|
|
|
# Test gossip timestamp filtering.
|
|
msgtype,gossip_send_timestamp_filter,3028
|
|
msgdata,gossip_send_timestamp_filter,id,node_id,
|
|
msgdata,gossip_send_timestamp_filter,first_timestamp,u32,
|
|
msgdata,gossip_send_timestamp_filter,timestamp_range,u32,
|
|
|
|
# Test of query_channel_range. Master->gossipd
|
|
msgtype,gossip_query_channel_range,3029
|
|
msgdata,gossip_query_channel_range,id,node_id,
|
|
msgdata,gossip_query_channel_range,first_blocknum,u32,
|
|
msgdata,gossip_query_channel_range,number_of_blocks,u32,
|
|
|
|
# Gossipd -> master
|
|
msgtype,gossip_query_channel_range_reply,3129
|
|
msgdata,gossip_query_channel_range_reply,final_first_block,u32,
|
|
msgdata,gossip_query_channel_range_reply,final_num_blocks,u32,
|
|
msgdata,gossip_query_channel_range_reply,final_complete,bool,
|
|
msgdata,gossip_query_channel_range_reply,num,u16,
|
|
msgdata,gossip_query_channel_range_reply,scids,short_channel_id,num
|
|
|
|
# Set artificial maximum reply_channel_range size. Master->gossipd
|
|
msgtype,gossip_dev_set_max_scids_encode_size,3030
|
|
msgdata,gossip_dev_set_max_scids_encode_size,max,u32,
|
|
|
|
# Given a short_channel_id, return the other endpoint (or none if DNE)
|
|
msgtype,gossip_get_channel_peer,3009
|
|
msgdata,gossip_get_channel_peer,channel_id,short_channel_id,
|
|
|
|
msgtype,gossip_get_channel_peer_reply,3109
|
|
msgdata,gossip_get_channel_peer_reply,peer_id,?node_id,
|
|
|
|
# gossipd->master: we're closing this channel.
|
|
msgtype,gossip_local_channel_close,3027
|
|
msgdata,gossip_local_channel_close,short_channel_id,short_channel_id,
|
|
|
|
# Gossipd->master get this tx output please.
|
|
msgtype,gossip_get_txout,3018
|
|
msgdata,gossip_get_txout,short_channel_id,short_channel_id,
|
|
|
|
# master->gossipd here is the output, or empty if none.
|
|
msgtype,gossip_get_txout_reply,3118
|
|
msgdata,gossip_get_txout_reply,short_channel_id,short_channel_id,
|
|
msgdata,gossip_get_txout_reply,satoshis,amount_sat,
|
|
msgdata,gossip_get_txout_reply,len,u16,
|
|
msgdata,gossip_get_txout_reply,outscript,u8,len
|
|
|
|
# master->gossipd an htlc failed with this onion error.
|
|
msgtype,gossip_payment_failure,3021
|
|
msgdata,gossip_payment_failure,erring_node,node_id,
|
|
msgdata,gossip_payment_failure,erring_channel,short_channel_id,
|
|
msgdata,gossip_payment_failure,erring_channel_direction,u8,
|
|
msgdata,gossip_payment_failure,len,u16,
|
|
msgdata,gossip_payment_failure,error,u8,len
|
|
|
|
# master -> gossipd: a potential funding outpoint was spent, please forget the eventual channel
|
|
msgtype,gossip_outpoint_spent,3024
|
|
msgdata,gossip_outpoint_spent,short_channel_id,short_channel_id,
|
|
|
|
# master -> gossipd: stop gossip timers.
|
|
msgtype,gossip_dev_suppress,3032
|
|
|
|
# master -> gossipd: do you have a memleak?
|
|
msgtype,gossip_dev_memleak,3033
|
|
|
|
msgtype,gossip_dev_memleak_reply,3133
|
|
msgdata,gossip_dev_memleak_reply,leak,bool,
|
|
|
|
# master -> gossipd: please rewrite the gossip_store
|
|
msgtype,gossip_dev_compact_store,3034
|
|
|
|
# gossipd -> master: ok
|
|
msgtype,gossip_dev_compact_store_reply,3134
|
|
msgdata,gossip_dev_compact_store_reply,success,bool,
|
|
|
|
#include <common/bolt11.h>
|
|
|
|
# master -> gossipd: get route_info for our incoming channels
|
|
msgtype,gossip_get_incoming_channels,3025
|
|
msgdata,gossip_get_incoming_channels,private_too,?bool,
|
|
|
|
# gossipd -> master: here they are.
|
|
msgtype,gossip_get_incoming_channels_reply,3125
|
|
msgdata,gossip_get_incoming_channels_reply,num,u16,
|
|
msgdata,gossip_get_incoming_channels_reply,route_info,route_info,num
|