core-lightning/lightningd/channel/channel_wire.csv
Rusty Russell c1d5e41dfe channeld: include last sent commit and last revoke in init message.
It's easiest to have the master keep the last commit we sent, for
re-transmission.  We could recalculate it, but it's made more difficult
by the before/after revoke case.

And because revoke_and_ack changes the channel state, we need to
remember which order we sent them in for re-transmission.

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2017-06-23 09:29:42 +09:30

4.8 KiB

1# Shouldn't happen
2channel_bad_command,0x8000
3# Also shouldn't happen
4channel_hsm_failed,0x8001
5channel_crypto_failed,0x8002
6channel_internal_error,0x8003
7channel_gossip_bad_message,0x8004
8# These are due to peer.
9channel_peer_write_failed,0x8010
10channel_peer_read_failed,0x8011
11channel_peer_bad_message,0x8012
12# Received and sent funding_locked
13channel_normal_operation,1001
14#include <lightningd/cryptomsg.h>
15#include <lightningd/channel_config.h>
16# Begin! (passes gossipd-client fd)
17channel_init,1
18channel_init,,funding_txid,struct sha256_double
19channel_init,,funding_txout,2
20channel_init,,our_config,struct channel_config
21channel_init,,their_config,struct channel_config
22channel_init,,first_commit_sig,secp256k1_ecdsa_signature
23channel_init,,crypto_state,struct crypto_state
24channel_init,,remote_fundingkey,33
25channel_init,,revocation_basepoint,33
26channel_init,,payment_basepoint,33
27channel_init,,delayed_payment_basepoint,33
28channel_init,,their_per_commit_point,33
29channel_init,,am_funder,bool
30channel_init,,fee_base,4
31channel_init,,fee_proportional,4
32channel_init,,funding_satoshi,8
33channel_init,,push_msat,8
34channel_init,,seed,struct privkey
35channel_init,,local_node_id,struct pubkey
36channel_init,,remote_node_id,struct pubkey
37channel_init,,commit_msec,4
38channel_init,,cltv_delta,u16
39channel_init,,last_was_revoke,bool
40channel_init,,num_last_sent_commit,u16
41channel_init,,last_sent_commit,num_last_sent_commit*struct changed_htlc
42channel_init,,init_peer_pkt_len,u16
43channel_init,,init_peer_pkt,init_peer_pkt_len*u8
44# Tx is deep enough, go!
45channel_funding_locked,2
46channel_funding_locked,,short_channel_id,struct short_channel_id
47# Tell the channel that we may announce the channel's existence
48channel_funding_announce_depth,3
49# Tell channel to offer this htlc
50channel_offer_htlc,4
51channel_offer_htlc,,amount_msat,8
52channel_offer_htlc,,cltv_expiry,4
53channel_offer_htlc,,payment_hash,32
54channel_offer_htlc,,onion_routing_packet,1366*u8
55# Reply; synchronous since IDs have to increment.
56channel_offer_htlc_reply,104
57channel_offer_htlc_reply,,id,8
58# Zero failure code means success.
59channel_offer_htlc_reply,,failure_code,2
60channel_offer_htlc_reply,,failurestrlen,2
61channel_offer_htlc_reply,,failurestr,failurestrlen*u8
62# Main daemon found out the preimage for an htlc
63#include <bitcoin/preimage.h>
64channel_fulfill_htlc,5
65channel_fulfill_htlc,,id,8
66channel_fulfill_htlc,,payment_preimage,struct preimage
67# Main daemon says HTLC failed
68channel_fail_htlc,6
69channel_fail_htlc,,id,8
70channel_fail_htlc,,len,2
71channel_fail_htlc,,error_pkt,len*u8
72# Ping/pong test.
73channel_ping,11
74channel_ping,,num_pong_bytes,u16
75channel_ping,,len,u16
76channel_ping_reply,111
77channel_ping_reply,,totlen,u16
78# Channeld tells the master that the channel has been announced
79channel_announced,12
80# When we receive funding_locked.
81channel_got_funding_locked,19
82channel_got_funding_locked,,next_per_commit_point,struct pubkey
83# When we send a commitment_signed message, tell master.
84channel_sending_commitsig,20
85channel_sending_commitsig,,commitnum,u64
86# SENT_ADD_COMMIT, SENT_REMOVE_ACK_COMMIT, SENT_ADD_ACK_COMMIT, SENT_REMOVE_COMMIT
87channel_sending_commitsig,,num_changed,u16
88channel_sending_commitsig,,changed,num_changed*struct changed_htlc
89# Wait for reply, to make sure it's on disk before we send commit.
90channel_sending_commitsig_reply,120
91# When we have a commitment_signed message, tell master to remember.
92channel_got_commitsig,21
93channel_got_commitsig,,commitnum,u64
94channel_got_commitsig,,signature,secp256k1_ecdsa_signature
95channel_got_commitsig,,num_htlcs,u16
96channel_got_commitsig,,htlc_signature,num_htlcs*secp256k1_ecdsa_signature
97# RCVD_ADD_COMMIT: we're now committed to their new offered HTLCs.
98channel_got_commitsig,,num_added,u16
99channel_got_commitsig,,added,num_added*struct added_htlc
100channel_got_commitsig,,shared_secret,num_added*struct secret
101# RCVD_REMOVE_COMMIT: we're now no longer committed to these HTLCs.
102channel_got_commitsig,,num_fulfilled,u16
103channel_got_commitsig,,fulfilled,num_fulfilled*struct fulfilled_htlc
104channel_got_commitsig,,num_failed,u16
105channel_got_commitsig,,failed,num_failed*struct failed_htlc
106# RCVD_ADD_ACK_COMMIT, RCVD_REMOVE_ACK_COMMIT
107channel_got_commitsig,,num_changed,u16
108channel_got_commitsig,,changed,num_changed*struct changed_htlc
109# Wait for reply, to make sure it's on disk before we send revocation.
110channel_got_commitsig_reply,121
111#include <lightningd/htlc_wire.h>
112channel_got_revoke,22
113channel_got_revoke,,revokenum,u64
114channel_got_revoke,,per_commitment_secret,struct sha256
115channel_got_revoke,,next_per_commit_point,struct pubkey
116# RCVD_ADD_ACK_REVOCATION, RCVD_REMOVE_ACK_REVOCATION, RCVD_ADD_REVOCATION, RCVD_REMOVE_REVOCATION
117channel_got_revoke,,num_changed,u16
118channel_got_revoke,,changed,num_changed*struct changed_htlc
119# Wait for reply, to make sure it's on disk before we continue
120# (eg. if we sent another commitment_signed, that would implicitly ack).
121channel_got_revoke_reply,122