core-lightning/channeld/channel_wire.csv
Rusty Russell bb9b761dda channeld: don't get details of our own failed htlcs at init.
For incoming htlcs, we need failure details in case we need to
re-xmit them.  But for outgoing htlcs, lightningd is telling us it
already knows they've failed, so we just need to flag them failed
and don't need the details.

Internally, we set the ->fail to a dummy non-NULL value; this is
cleaned up next.

This matters for the next patch, which moves onion handling into
lightningd.

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2020-02-25 11:12:12 +10:30

8.9 KiB

1#include <common/cryptomsg.h>
2#include <common/channel_config.h>
3#include <common/derive_basepoints.h>
4#include <common/fee_states.h>
5#include <common/per_peer_state.h>
6# Begin! (passes gossipd-client fd)
7msgtype,channel_init,1000
8msgdata,channel_init,chainparams,chainparams,
9msgdata,channel_init,funding_txid,bitcoin_txid,
10msgdata,channel_init,funding_txout,u16,
11msgdata,channel_init,funding_satoshi,amount_sat,
12msgdata,channel_init,minimum_depth,u32,
13msgdata,channel_init,our_config,channel_config,
14msgdata,channel_init,their_config,channel_config,
15msgdata,channel_init,fee_states,fee_states,
16msgdata,channel_init,feerate_min,u32,
17msgdata,channel_init,feerate_max,u32,
18msgdata,channel_init,first_commit_sig,bitcoin_signature,
19msgdata,channel_init,per_peer_state,per_peer_state,
20msgdata,channel_init,remote_fundingkey,pubkey,
21msgdata,channel_init,remote_basepoints,basepoints,
22msgdata,channel_init,remote_per_commit,pubkey,
23msgdata,channel_init,old_remote_per_commit,pubkey,
24msgdata,channel_init,funder,enum side,
25msgdata,channel_init,fee_base,u32,
26msgdata,channel_init,fee_proportional,u32,
27msgdata,channel_init,local_msatoshi,amount_msat,
28msgdata,channel_init,our_basepoints,basepoints,
29msgdata,channel_init,our_funding_pubkey,pubkey,
30msgdata,channel_init,local_node_id,node_id,
31msgdata,channel_init,remote_node_id,node_id,
32msgdata,channel_init,commit_msec,u32,
33msgdata,channel_init,cltv_delta,u16,
34msgdata,channel_init,last_was_revoke,bool,
35msgdata,channel_init,num_last_sent_commit,u16,
36msgdata,channel_init,last_sent_commit,changed_htlc,num_last_sent_commit
37msgdata,channel_init,next_index_local,u64,
38msgdata,channel_init,next_index_remote,u64,
39msgdata,channel_init,revocations_received,u64,
40msgdata,channel_init,next_htlc_id,u64,
41msgdata,channel_init,num_htlcs,u16,
42msgdata,channel_init,htlcs,added_htlc,num_htlcs
43msgdata,channel_init,htlc_states,enum htlc_state,num_htlcs
44msgdata,channel_init,num_fulfilled,u16,
45msgdata,channel_init,fulfilled,fulfilled_htlc,num_fulfilled
46msgdata,channel_init,fulfilled_sides,enum side,num_fulfilled
47msgdata,channel_init,num_failed_in,u16,
48msgdata,channel_init,failed_in,failed_htlc,num_failed_in
49msgdata,channel_init,num_failed_out,u16,
50msgdata,channel_init,failed_out,u64,num_failed_out
51msgdata,channel_init,failheight,u32,
52msgdata,channel_init,local_funding_locked,bool,
53msgdata,channel_init,remote_funding_locked,bool,
54msgdata,channel_init,funding_short_id,short_channel_id,
55msgdata,channel_init,reestablish,bool,
56msgdata,channel_init,send_shutdown,bool,
57msgdata,channel_init,remote_shutdown_received,bool,
58msgdata,channel_init,final_scriptpubkey_len,u16,
59msgdata,channel_init,final_scriptpubkey,u8,final_scriptpubkey_len
60msgdata,channel_init,flags,u8,
61msgdata,channel_init,init_peer_pkt_len,u16,
62msgdata,channel_init,init_peer_pkt,u8,init_peer_pkt_len
63msgdata,channel_init,reached_announce_depth,bool,
64msgdata,channel_init,last_remote_secret,secret,
65msgdata,channel_init,lflen,u16,
66msgdata,channel_init,localfeatures,u8,lflen
67msgdata,channel_init,upfront_shutdown_script_len,u16,
68msgdata,channel_init,upfront_shutdown_script,u8,upfront_shutdown_script_len
69msgdata,channel_init,remote_ann_node_sig,?secp256k1_ecdsa_signature,
70msgdata,channel_init,remote_ann_bitcoin_sig,?secp256k1_ecdsa_signature,
71msgdata,channel_init,option_static_remotekey,bool,
72msgdata,channel_init,dev_fast_gossip,bool,
73msgdata,channel_init,dev_fail_process_onionpacket,bool,
74# master->channeld funding hit new depth(funding locked if >= lock depth)
75msgtype,channel_funding_depth,1002
76msgdata,channel_funding_depth,short_channel_id,?short_channel_id,
77msgdata,channel_funding_depth,depth,u32,
78# Tell channel to offer this htlc
79msgtype,channel_offer_htlc,1004
80msgdata,channel_offer_htlc,amount_msat,amount_msat,
81msgdata,channel_offer_htlc,cltv_expiry,u32,
82msgdata,channel_offer_htlc,payment_hash,sha256,
83msgdata,channel_offer_htlc,onion_routing_packet,u8,1366
84# Reply; synchronous since IDs have to increment.
85msgtype,channel_offer_htlc_reply,1104
86msgdata,channel_offer_htlc_reply,id,u64,
87# Zero failure code means success.,
88msgdata,channel_offer_htlc_reply,failure_code,u16,
89msgdata,channel_offer_htlc_reply,failurestr,wirestring,
90# Main daemon found out the preimage for an HTLC
91#include <bitcoin/preimage.h>
92msgtype,channel_fulfill_htlc,1005
93msgdata,channel_fulfill_htlc,fulfilled_htlc,fulfilled_htlc,
94# Main daemon says HTLC failed
95msgtype,channel_fail_htlc,1006
96msgdata,channel_fail_htlc,failed_htlc,failed_htlc,
97msgdata,channel_fail_htlc,failheight,u32,
98# When we receive funding_locked.
99msgtype,channel_got_funding_locked,1019
100msgdata,channel_got_funding_locked,next_per_commit_point,pubkey,
101# When we send a commitment_signed message, tell master.
102msgtype,channel_sending_commitsig,1020
103msgdata,channel_sending_commitsig,commitnum,u64,
104msgdata,channel_sending_commitsig,fee_states,fee_states,
105# SENT_ADD_COMMIT, SENT_REMOVE_ACK_COMMIT, SENT_ADD_ACK_COMMIT, SENT_REMOVE_COMMIT
106msgdata,channel_sending_commitsig,num_changed,u16,
107msgdata,channel_sending_commitsig,changed,changed_htlc,num_changed
108msgdata,channel_sending_commitsig,commit_sig,bitcoin_signature,
109msgdata,channel_sending_commitsig,num_htlc_sigs,u16,
110msgdata,channel_sending_commitsig,htlc_sigs,secp256k1_ecdsa_signature,num_htlc_sigs
111# Wait for reply, to make sure it's on disk before we send commit.
112msgtype,channel_sending_commitsig_reply,1120
113# When we have a commitment_signed message, tell master to remember.
114msgtype,channel_got_commitsig,1021
115msgdata,channel_got_commitsig,commitnum,u64,
116msgdata,channel_got_commitsig,fee_states,fee_states,
117msgdata,channel_got_commitsig,signature,bitcoin_signature,
118msgdata,channel_got_commitsig,num_htlcs,u16,
119msgdata,channel_got_commitsig,htlc_signature,secp256k1_ecdsa_signature,num_htlcs
120# RCVD_ADD_COMMIT: we're now committed to their new offered HTLCs.
121msgdata,channel_got_commitsig,num_added,u16,
122msgdata,channel_got_commitsig,added,added_htlc,num_added
123msgdata,channel_got_commitsig,shared_secret,secret,num_added
124# RCVD_REMOVE_COMMIT: we're now no longer committed to these HTLCs.
125msgdata,channel_got_commitsig,num_fulfilled,u16,
126msgdata,channel_got_commitsig,fulfilled,fulfilled_htlc,num_fulfilled
127msgdata,channel_got_commitsig,num_failed,u16,
128msgdata,channel_got_commitsig,failed,failed_htlc,num_failed
129# RCVD_ADD_ACK_COMMIT, RCVD_REMOVE_ACK_COMMIT
130msgdata,channel_got_commitsig,num_changed,u16,
131msgdata,channel_got_commitsig,changed,changed_htlc,num_changed
132msgdata,channel_got_commitsig,tx,bitcoin_tx,
133# Wait for reply, to make sure it's on disk before we send revocation.
134msgtype,channel_got_commitsig_reply,1121
135#include <common/htlc_wire.h>
136msgtype,channel_got_revoke,1022
137msgdata,channel_got_revoke,revokenum,u64,
138msgdata,channel_got_revoke,per_commitment_secret,secret,
139msgdata,channel_got_revoke,next_per_commit_point,pubkey,
140# RCVD_ADD_ACK_REVOCATION, RCVD_REMOVE_ACK_REVOCATION, RCVD_ADD_REVOCATION, RCVD_REMOVE_REVOCATION
141msgdata,channel_got_revoke,fee_states,fee_states,
142msgdata,channel_got_revoke,num_changed,u16,
143msgdata,channel_got_revoke,changed,changed_htlc,num_changed
144# Wait for reply, to make sure it's on disk before we continue
145# (eg. if we sent another commitment_signed, that would implicitly ack).
146msgtype,channel_got_revoke_reply,1122
147# Tell peer to shut down channel.
148msgtype,channel_send_shutdown,1023
149msgdata,channel_send_shutdown,shutdown_len,u16,
150msgdata,channel_send_shutdown,shutdown_scriptpubkey,u8,shutdown_len
151# Peer told us that channel is shutting down
152msgtype,channel_got_shutdown,1024
153msgdata,channel_got_shutdown,scriptpubkey_len,u16,
154msgdata,channel_got_shutdown,scriptpubkey,u8,scriptpubkey_len
155# Shutdown is complete, ready for closing negotiation. + peer_fd & gossip_fd.
156msgtype,channel_shutdown_complete,1025
157msgdata,channel_shutdown_complete,per_peer_state,per_peer_state,
158# Re-enable commit timer.
159msgtype,channel_dev_reenable_commit,1026
160msgtype,channel_dev_reenable_commit_reply,1126,
161msgtype,channel_feerates,1027
162msgdata,channel_feerates,feerate,u32,
163msgdata,channel_feerates,min_feerate,u32,
164msgdata,channel_feerates,max_feerate,u32,
165# master -> channeld: do you have a memleak?
166msgtype,channel_dev_memleak,1033
167msgtype,channel_dev_memleak_reply,1133
168msgdata,channel_dev_memleak_reply,leak,bool,
169# Peer presented proof it was from the future.
170msgtype,channel_fail_fallen_behind,1028
171# This is NULL if option_static_remotekey.
172msgdata,channel_fail_fallen_behind,remote_per_commitment_point,?pubkey,
173# Handle a channel specific feerate base ppm configuration
174msgtype,channel_specific_feerates,1029
175msgdata,channel_specific_feerates,feerate_base,u32,
176msgdata,channel_specific_feerates,feerate_ppm,u32,
177# When we receive announcement_signatures for channel announce
178msgtype,channel_got_announcement,1017
179msgdata,channel_got_announcement,remote_ann_node_sig,secp256k1_ecdsa_signature,
180msgdata,channel_got_announcement,remote_ann_bitcoin_sig,secp256k1_ecdsa_signature,
181# Ask channeld to send a error message. Used in forgetting channel case.
182msgtype,channel_send_error,1008
183msgdata,channel_send_error,reason,wirestring,
184# Tell master channeld has sent the error message.
185msgtype,channel_send_error_reply,1108