core-lightning/gossipd/gossip_wire.csv
Rusty Russell ab31f40aa2 gossipd: don't charge ourselves fees when calculating route.
This means there's now a semantic difference between the default `fromid`
and setting `fromid` explicitly to our own node_id.  In the default case,
it means we don't charge ourselves fees on the route.

This means we can spend the full channel balance.

We still want to consider the pricing of local channels, however:
there's a *reason* to discount one over another, and that is to bias
things.  So we add the first-hop fee to the *risk* value instead.

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2019-06-11 23:19:11 +00:00

163 lines
5.5 KiB
Plaintext

#include <common/cryptomsg.h>
#include <common/wireaddr.h>
#include <wire/gen_onion_wire.h>
# Initialize the gossip daemon.
gossipctl_init,3000
gossipctl_init,,chain_hash,struct bitcoin_blkid
gossipctl_init,,id,struct node_id
gossipctl_init,,gflen,u16
gossipctl_init,,globalfeatures,gflen*u8
gossipctl_init,,rgb,3*u8
gossipctl_init,,alias,32*u8
gossipctl_init,,update_channel_interval,u32
gossipctl_init,,num_announcable,u16
gossipctl_init,,announcable,num_announcable*struct wireaddr
gossipctl_init,,dev_gossip_time,?u32
# Pass JSON-RPC getnodes call through
gossip_getnodes_request,3005
gossip_getnodes_request,,id,?struct node_id
#include <lightningd/gossip_msg.h>
gossip_getnodes_reply,3105
gossip_getnodes_reply,,num_nodes,u32
gossip_getnodes_reply,,nodes,num_nodes*struct gossip_getnodes_entry
# Pass JSON-RPC getroute call through
gossip_getroute_request,3006
# Source defaults to "us", and means we don't consider first-hop channel fees
gossip_getroute_request,,source,?struct node_id
gossip_getroute_request,,destination,struct node_id
gossip_getroute_request,,msatoshi,struct amount_msat
# We don't pass doubles, so pass riskfactor * 1000000.
gossip_getroute_request,,riskfactor_by_million,u64
gossip_getroute_request,,final_cltv,u32
gossip_getroute_request,,fuzz,double
gossip_getroute_request,,num_excluded,u16
gossip_getroute_request,,excluded,num_excluded*struct short_channel_id_dir
gossip_getroute_request,,max_hops,u32
gossip_getroute_reply,3106
gossip_getroute_reply,,num_hops,u16
gossip_getroute_reply,,hops,num_hops*struct route_hop
gossip_getchannels_request,3007
gossip_getchannels_request,,short_channel_id,?struct short_channel_id
gossip_getchannels_request,,source,?struct node_id
gossip_getchannels_request,,prev,?struct short_channel_id
gossip_getchannels_reply,3107
gossip_getchannels_reply,,complete,bool
gossip_getchannels_reply,,num_channels,u32
gossip_getchannels_reply,,nodes,num_channels*struct gossip_getchannels_entry
# Ping/pong test. Waits for a reply if it expects one.
gossip_ping,3008
gossip_ping,,id,struct node_id
gossip_ping,,num_pong_bytes,u16
gossip_ping,,len,u16
gossip_ping_reply,3108
gossip_ping_reply,,id,struct node_id
# False if id in gossip_ping was unknown.
gossip_ping_reply,,sent,bool
# 0 == no pong expected
gossip_ping_reply,,totlen,u16
# Test of query_short_channel_ids. Master->gossipd
gossip_query_scids,3031
gossip_query_scids,,id,struct node_id
gossip_query_scids,,num_ids,u16
gossip_query_scids,,ids,num_ids*struct short_channel_id
# Gossipd -> master
gossip_scids_reply,3131
gossip_scids_reply,,ok,bool
gossip_scids_reply,,complete,bool
# Test gossip timestamp filtering.
gossip_send_timestamp_filter,3028
gossip_send_timestamp_filter,,id,struct node_id
gossip_send_timestamp_filter,,first_timestamp,u32
gossip_send_timestamp_filter,,timestamp_range,u32
# Test of query_channel_range. Master->gossipd
gossip_query_channel_range,3029
gossip_query_channel_range,,id,struct node_id
gossip_query_channel_range,,first_blocknum,u32
gossip_query_channel_range,,number_of_blocks,u32
# Gossipd -> master
gossip_query_channel_range_reply,3129
gossip_query_channel_range_reply,,final_first_block,u32
gossip_query_channel_range_reply,,final_num_blocks,u32
gossip_query_channel_range_reply,,final_complete,bool
gossip_query_channel_range_reply,,num,u16
gossip_query_channel_range_reply,,scids,num*struct short_channel_id
# Set artificial maximum reply_channel_range size. Master->gossipd
gossip_dev_set_max_scids_encode_size,3030
gossip_dev_set_max_scids_encode_size,,max,u32
# Given a short_channel_id, return the other endpoint (or none if DNE)
gossip_get_channel_peer,3009
gossip_get_channel_peer,,channel_id,struct short_channel_id
gossip_get_channel_peer_reply,3109
gossip_get_channel_peer_reply,,peer_id,?struct node_id
# gossipd->master: we're closing this channel.
gossip_local_channel_close,3027
gossip_local_channel_close,,short_channel_id,struct short_channel_id
# Gossipd->master get this tx output please.
gossip_get_txout,3018
gossip_get_txout,,short_channel_id,struct short_channel_id
# master->gossipd here is the output, or empty if none.
gossip_get_txout_reply,3118
gossip_get_txout_reply,,short_channel_id,struct short_channel_id
gossip_get_txout_reply,,satoshis,struct amount_sat
gossip_get_txout_reply,,len,u16
gossip_get_txout_reply,,outscript,len*u8
# master->gossipd an htlc failed with this onion error.
gossip_payment_failure,3021
gossip_payment_failure,,erring_node,struct node_id
gossip_payment_failure,,erring_channel,struct short_channel_id
gossip_payment_failure,,erring_channel_direction,u8
gossip_payment_failure,,len,u16
gossip_payment_failure,,error,len*u8
# master -> gossipd: a potential funding outpoint was spent, please forget the eventual channel
gossip_outpoint_spent,3024
gossip_outpoint_spent,,short_channel_id,struct short_channel_id
# master -> gossipd: stop gossip timers.
gossip_dev_suppress,3032
# master -> gossipd: do you have a memleak?
gossip_dev_memleak,3033
gossip_dev_memleak_reply,3133
gossip_dev_memleak_reply,,leak,bool
# master -> gossipd: please rewrite the gossip_store
gossip_dev_compact_store,3034
# gossipd -> master: ok
gossip_dev_compact_store_reply,3134
gossip_dev_compact_store_reply,,success,bool
#include <common/bolt11.h>
# master -> gossipd: get route_info for our incoming channels
gossip_get_incoming_channels,3025
gossip_get_incoming_channels,,private_too,?bool
# gossipd -> master: here they are.
gossip_get_incoming_channels_reply,3125
gossip_get_incoming_channels_reply,,num,u16
gossip_get_incoming_channels_reply,,route_info,num*struct route_info