mirror of
https://github.com/ElementsProject/lightning.git
synced 2025-01-07 14:29:33 +01:00
ab31f40aa2
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>
163 lines
5.5 KiB
Plaintext
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
|