mirror of
https://github.com/ElementsProject/lightning.git
synced 2024-11-19 18:11:28 +01:00
8a34933c1a
We were adding channels without their capacity, and eventually annotated them when we exchanged `channel_update`s. This worked as long as we weren't considering the channel capacity, but would result in local-only channels to be unusable once we start checking.
5.7 KiB
5.7 KiB
1 | #include <common/cryptomsg.h> |
---|---|
2 | #include <common/wireaddr.h> |
3 | #include <wire/gen_onion_wire.h> |
4 | # Initialize the gossip daemon. |
5 | gossipctl_init,3000 |
6 | gossipctl_init,,broadcast_interval,u32 |
7 | gossipctl_init,,chain_hash,struct bitcoin_blkid |
8 | gossipctl_init,,id,struct pubkey |
9 | gossipctl_init,,gflen,u16 |
10 | gossipctl_init,,gfeatures,gflen*u8 |
11 | gossipctl_init,,rgb,3*u8 |
12 | gossipctl_init,,alias,32*u8 |
13 | gossipctl_init,,update_channel_interval,u32 |
14 | gossipctl_init,,num_announcable,u16 |
15 | gossipctl_init,,announcable,num_announcable*struct wireaddr |
16 | # Pass JSON-RPC getnodes call through |
17 | gossip_getnodes_request,3005 |
18 | gossip_getnodes_request,,id,?struct pubkey |
19 | #include <lightningd/gossip_msg.h> |
20 | gossip_getnodes_reply,3105 |
21 | gossip_getnodes_reply,,num_nodes,u16 |
22 | gossip_getnodes_reply,,nodes,num_nodes*struct gossip_getnodes_entry |
23 | # Pass JSON-RPC getroute call through |
24 | gossip_getroute_request,3006 |
25 | gossip_getroute_request,,source,struct pubkey |
26 | gossip_getroute_request,,destination,struct pubkey |
27 | gossip_getroute_request,,msatoshi,u64 |
28 | gossip_getroute_request,,riskfactor,u16 |
29 | gossip_getroute_request,,final_cltv,u32 |
30 | gossip_getroute_request,,fuzz,double |
31 | gossip_getroute_request,,seed,struct siphash_seed |
32 | gossip_getroute_reply,3106 |
33 | gossip_getroute_reply,,num_hops,u16 |
34 | gossip_getroute_reply,,hops,num_hops*struct route_hop |
35 | gossip_getchannels_request,3007 |
36 | gossip_getchannels_request,,short_channel_id,?struct short_channel_id |
37 | gossip_getchannels_reply,3107 |
38 | gossip_getchannels_reply,,num_channels,u16 |
39 | gossip_getchannels_reply,,nodes,num_channels*struct gossip_getchannels_entry |
40 | # Ping/pong test. Waits for a reply if it expects one. |
41 | gossip_ping,3008 |
42 | gossip_ping,,id,struct pubkey |
43 | gossip_ping,,num_pong_bytes,u16 |
44 | gossip_ping,,len,u16 |
45 | gossip_ping_reply,3108 |
46 | # False if id in gossip_ping was unknown. |
47 | gossip_ping_reply,,sent,bool |
48 | # 0 == no pong expected |
49 | gossip_ping_reply,,totlen,u16 |
50 | # Test of query_short_channel_ids. Master->gossipd |
51 | gossip_query_scids,3031 |
52 | gossip_query_scids,,id,struct pubkey |
53 | gossip_query_scids,,num_ids,u16 |
54 | gossip_query_scids,,ids,num_ids*struct short_channel_id |
55 | # Gossipd -> master |
56 | gossip_scids_reply,3131 |
57 | gossip_scids_reply,,ok,bool |
58 | gossip_scids_reply,,complete,bool |
59 | # Test gossip timestamp filtering. |
60 | gossip_send_timestamp_filter,3028 |
61 | gossip_send_timestamp_filter,,id,struct pubkey |
62 | gossip_send_timestamp_filter,,first_timestamp,u32 |
63 | gossip_send_timestamp_filter,,timestamp_range,u32 |
64 | # Test of query_channel_range. Master->gossipd |
65 | gossip_query_channel_range,3029 |
66 | gossip_query_channel_range,,id,struct pubkey |
67 | gossip_query_channel_range,,first_blocknum,u32 |
68 | gossip_query_channel_range,,number_of_blocks,u32 |
69 | # Gossipd -> master |
70 | gossip_query_channel_range_reply,3129 |
71 | gossip_query_channel_range_reply,,final_first_block,u32 |
72 | gossip_query_channel_range_reply,,final_num_blocks,u32 |
73 | gossip_query_channel_range_reply,,final_complete,bool |
74 | gossip_query_channel_range_reply,,num,u16 |
75 | gossip_query_channel_range_reply,,scids,num*struct short_channel_id |
76 | # Set artificial maximum reply_channel_range size. Master->gossipd |
77 | gossip_dev_set_max_scids_encode_size,3030 |
78 | gossip_dev_set_max_scids_encode_size,,max,u32 |
79 | # Given a short_channel_id, return the endpoints |
80 | gossip_resolve_channel_request,3009 |
81 | gossip_resolve_channel_request,,channel_id,struct short_channel_id |
82 | gossip_resolve_channel_reply,3109 |
83 | gossip_resolve_channel_reply,,num_keys,u16 |
84 | gossip_resolve_channel_reply,,keys,num_keys*struct pubkey |
85 | # Channel daemon can ask for updates for a specific channel, for sending |
86 | # errors. Must be distinct from WIRE_CHANNEL_ANNOUNCEMENT etc. gossip msgs! |
87 | gossip_get_update,3012 |
88 | gossip_get_update,,short_channel_id,struct short_channel_id |
89 | # If channel isn't known, update will be empty. |
90 | gossip_get_update_reply,3112 |
91 | gossip_get_update_reply,,len,u16 |
92 | gossip_get_update_reply,,update,len*u8 |
93 | # Gossipd can tell channeld etc about gossip to fwd. |
94 | gossip_send_gossip,3016 |
95 | gossip_send_gossip,,len,u16 |
96 | gossip_send_gossip,,gossip,len*u8 |
97 | # Both sides have seen the funding tx being locked, but we have not |
98 | # yet reached the announcement depth. So we add the channel locally so |
99 | # we (and peer) can update it already. |
100 | gossip_local_add_channel,3017 |
101 | gossip_local_add_channel,,short_channel_id,struct short_channel_id |
102 | gossip_local_add_channel,,remote_node_id,struct pubkey |
103 | gossip_local_add_channel,,satoshis,u64 |
104 | gossip_local_channel_update,3026 |
105 | gossip_local_channel_update,,short_channel_id,struct short_channel_id |
106 | gossip_local_channel_update,,disable,bool |
107 | gossip_local_channel_update,,cltv_expiry_delta,u16 |
108 | gossip_local_channel_update,,htlc_minimum_msat,u64 |
109 | gossip_local_channel_update,,fee_base_msat,u32 |
110 | gossip_local_channel_update,,fee_proportional_millionths,u32 |
111 | gossip_local_channel_close,3027 |
112 | gossip_local_channel_close,,short_channel_id,struct short_channel_id |
113 | # Gossipd->master get this tx output please. |
114 | gossip_get_txout,3018 |
115 | gossip_get_txout,,short_channel_id,struct short_channel_id |
116 | # master->gossipd here is the output, or empty if none. |
117 | gossip_get_txout_reply,3118 |
118 | gossip_get_txout_reply,,short_channel_id,struct short_channel_id |
119 | gossip_get_txout_reply,,satoshis,u64 |
120 | gossip_get_txout_reply,,len,u16 |
121 | gossip_get_txout_reply,,outscript,len*u8 |
122 | # master->gossipd a routing failure occurred |
123 | gossip_routing_failure,3021 |
124 | gossip_routing_failure,,erring_node,struct pubkey |
125 | gossip_routing_failure,,erring_channel,struct short_channel_id |
126 | gossip_routing_failure,,failcode,u16 |
127 | gossip_routing_failure,,len,u16 |
128 | gossip_routing_failure,,channel_update,len*u8 |
129 | # master->gossipd temporarily mark a channel unroutable |
130 | # (used in case of unparseable onion reply) |
131 | gossip_mark_channel_unroutable,3022 |
132 | gossip_mark_channel_unroutable,,channel,struct short_channel_id |
133 | # master -> gossipd: a potential funding outpoint was spent, please forget the eventual channel |
134 | gossip_outpoint_spent,3024 |
135 | gossip_outpoint_spent,,short_channel_id,struct short_channel_id |
136 | # master -> gossipd: stop gossip timers. |
137 | gossip_dev_suppress,3032 |