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