#include #include #include # 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 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 # 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