2017-03-10 11:56:58 +01:00
|
|
|
# Shouldn't happen
|
|
|
|
channel_bad_command,0x8000
|
|
|
|
# Also shouldn't happen
|
|
|
|
channel_hsm_failed,0x8001
|
2017-04-01 12:28:39 +02:00
|
|
|
channel_crypto_failed,0x8002
|
2017-04-01 12:58:30 +02:00
|
|
|
channel_internal_error,0x8003
|
2017-06-05 23:36:32 +02:00
|
|
|
channel_gossip_bad_message,0x8004
|
2017-03-10 11:56:58 +01:00
|
|
|
|
|
|
|
# These are due to peer.
|
|
|
|
channel_peer_write_failed,0x8010
|
|
|
|
channel_peer_read_failed,0x8011
|
|
|
|
channel_peer_bad_message,0x8012
|
|
|
|
|
|
|
|
# Received and sent funding_locked
|
|
|
|
channel_normal_operation,1001
|
|
|
|
|
2017-03-07 02:26:12 +01:00
|
|
|
#include <lightningd/cryptomsg.h>
|
|
|
|
#include <lightningd/channel_config.h>
|
|
|
|
|
2017-06-20 07:55:03 +02:00
|
|
|
# Begin! (passes gossipd-client fd)
|
2017-03-07 02:26:12 +01:00
|
|
|
channel_init,1
|
2017-05-25 04:16:04 +02:00
|
|
|
channel_init,,funding_txid,struct sha256_double
|
|
|
|
channel_init,,funding_txout,2
|
|
|
|
channel_init,,our_config,struct channel_config
|
|
|
|
channel_init,,their_config,struct channel_config
|
|
|
|
channel_init,,first_commit_sig,secp256k1_ecdsa_signature
|
|
|
|
channel_init,,crypto_state,struct crypto_state
|
|
|
|
channel_init,,remote_fundingkey,33
|
|
|
|
channel_init,,revocation_basepoint,33
|
|
|
|
channel_init,,payment_basepoint,33
|
|
|
|
channel_init,,delayed_payment_basepoint,33
|
|
|
|
channel_init,,their_per_commit_point,33
|
|
|
|
channel_init,,am_funder,bool
|
|
|
|
channel_init,,fee_base,4
|
|
|
|
channel_init,,fee_proportional,4
|
|
|
|
channel_init,,funding_satoshi,8
|
|
|
|
channel_init,,push_msat,8
|
|
|
|
channel_init,,seed,struct privkey
|
|
|
|
channel_init,,local_node_id,struct pubkey
|
|
|
|
channel_init,,remote_node_id,struct pubkey
|
|
|
|
channel_init,,commit_msec,4
|
|
|
|
channel_init,,cltv_delta,u16
|
2017-06-20 08:03:03 +02:00
|
|
|
channel_init,,last_was_revoke,bool
|
|
|
|
channel_init,,num_last_sent_commit,u16
|
|
|
|
channel_init,,last_sent_commit,num_last_sent_commit*struct changed_htlc
|
2017-05-25 04:16:04 +02:00
|
|
|
channel_init,,init_peer_pkt_len,u16
|
|
|
|
channel_init,,init_peer_pkt,init_peer_pkt_len*u8
|
2017-03-07 02:26:12 +01:00
|
|
|
|
|
|
|
# Tx is deep enough, go!
|
|
|
|
channel_funding_locked,2
|
2017-05-25 04:16:04 +02:00
|
|
|
channel_funding_locked,,short_channel_id,struct short_channel_id
|
2017-03-20 17:09:12 +01:00
|
|
|
|
|
|
|
# Tell the channel that we may announce the channel's existence
|
2017-03-29 13:01:15 +02:00
|
|
|
channel_funding_announce_depth,3
|
|
|
|
|
|
|
|
# Tell channel to offer this htlc
|
|
|
|
channel_offer_htlc,4
|
2017-06-06 01:49:10 +02:00
|
|
|
channel_offer_htlc,,amount_msat,8
|
2017-05-25 04:16:04 +02:00
|
|
|
channel_offer_htlc,,cltv_expiry,4
|
|
|
|
channel_offer_htlc,,payment_hash,32
|
|
|
|
channel_offer_htlc,,onion_routing_packet,1366*u8
|
2017-03-29 13:01:15 +02:00
|
|
|
|
|
|
|
# Reply; synchronous since IDs have to increment.
|
|
|
|
channel_offer_htlc_reply,104
|
2017-05-25 04:16:04 +02:00
|
|
|
channel_offer_htlc_reply,,id,8
|
2017-03-29 13:01:15 +02:00
|
|
|
# Zero failure code means success.
|
2017-05-25 04:16:04 +02:00
|
|
|
channel_offer_htlc_reply,,failure_code,2
|
|
|
|
channel_offer_htlc_reply,,failurestrlen,2
|
|
|
|
channel_offer_htlc_reply,,failurestr,failurestrlen*u8
|
2017-03-29 13:01:15 +02:00
|
|
|
|
|
|
|
# Main daemon found out the preimage for an htlc
|
|
|
|
#include <bitcoin/preimage.h>
|
|
|
|
channel_fulfill_htlc,5
|
2017-05-25 04:16:04 +02:00
|
|
|
channel_fulfill_htlc,,id,8
|
|
|
|
channel_fulfill_htlc,,payment_preimage,struct preimage
|
2017-03-29 13:01:15 +02:00
|
|
|
|
|
|
|
# Main daemon says HTLC failed
|
|
|
|
channel_fail_htlc,6
|
2017-05-25 04:16:04 +02:00
|
|
|
channel_fail_htlc,,id,8
|
|
|
|
channel_fail_htlc,,len,2
|
|
|
|
channel_fail_htlc,,error_pkt,len*u8
|
2017-03-29 13:01:15 +02:00
|
|
|
|
2017-04-12 18:10:10 +02:00
|
|
|
# Ping/pong test.
|
|
|
|
channel_ping,11
|
2017-05-25 04:16:04 +02:00
|
|
|
channel_ping,,num_pong_bytes,u16
|
|
|
|
channel_ping,,len,u16
|
2017-04-12 18:10:10 +02:00
|
|
|
|
|
|
|
channel_ping_reply,111
|
2017-05-25 04:16:04 +02:00
|
|
|
channel_ping_reply,,totlen,u16
|
2017-04-12 18:10:10 +02:00
|
|
|
|
2017-05-07 01:59:48 +02:00
|
|
|
# Channeld tells the master that the channel has been announced
|
2017-05-22 13:27:20 +02:00
|
|
|
channel_announced,12
|
2017-06-20 07:50:03 +02:00
|
|
|
|
2017-06-20 07:55:03 +02:00
|
|
|
# When we receive funding_locked.
|
|
|
|
channel_got_funding_locked,19
|
|
|
|
channel_got_funding_locked,,next_per_commit_point,struct pubkey
|
|
|
|
|
2017-06-20 07:50:03 +02:00
|
|
|
# When we send a commitment_signed message, tell master.
|
|
|
|
channel_sending_commitsig,20
|
|
|
|
channel_sending_commitsig,,commitnum,u64
|
|
|
|
# SENT_ADD_COMMIT, SENT_REMOVE_ACK_COMMIT, SENT_ADD_ACK_COMMIT, SENT_REMOVE_COMMIT
|
|
|
|
channel_sending_commitsig,,num_changed,u16
|
|
|
|
channel_sending_commitsig,,changed,num_changed*struct changed_htlc
|
|
|
|
|
|
|
|
# Wait for reply, to make sure it's on disk before we send commit.
|
|
|
|
channel_sending_commitsig_reply,120
|
|
|
|
|
|
|
|
# When we have a commitment_signed message, tell master to remember.
|
|
|
|
channel_got_commitsig,21
|
|
|
|
channel_got_commitsig,,commitnum,u64
|
|
|
|
channel_got_commitsig,,signature,secp256k1_ecdsa_signature
|
|
|
|
channel_got_commitsig,,num_htlcs,u16
|
|
|
|
channel_got_commitsig,,htlc_signature,num_htlcs*secp256k1_ecdsa_signature
|
|
|
|
# RCVD_ADD_COMMIT: we're now committed to their new offered HTLCs.
|
|
|
|
channel_got_commitsig,,num_added,u16
|
|
|
|
channel_got_commitsig,,added,num_added*struct added_htlc
|
2017-06-20 07:54:03 +02:00
|
|
|
channel_got_commitsig,,shared_secret,num_added*struct secret
|
2017-06-20 07:50:03 +02:00
|
|
|
# RCVD_REMOVE_COMMIT: we're now no longer committed to these HTLCs.
|
|
|
|
channel_got_commitsig,,num_fulfilled,u16
|
|
|
|
channel_got_commitsig,,fulfilled,num_fulfilled*struct fulfilled_htlc
|
|
|
|
channel_got_commitsig,,num_failed,u16
|
|
|
|
channel_got_commitsig,,failed,num_failed*struct failed_htlc
|
|
|
|
# RCVD_ADD_ACK_COMMIT, RCVD_REMOVE_ACK_COMMIT
|
|
|
|
channel_got_commitsig,,num_changed,u16
|
|
|
|
channel_got_commitsig,,changed,num_changed*struct changed_htlc
|
|
|
|
|
|
|
|
# Wait for reply, to make sure it's on disk before we send revocation.
|
|
|
|
channel_got_commitsig_reply,121
|
|
|
|
|
|
|
|
#include <lightningd/htlc_wire.h>
|
|
|
|
|
|
|
|
channel_got_revoke,22
|
|
|
|
channel_got_revoke,,revokenum,u64
|
|
|
|
channel_got_revoke,,per_commitment_secret,struct sha256
|
2017-06-20 07:55:03 +02:00
|
|
|
channel_got_revoke,,next_per_commit_point,struct pubkey
|
2017-06-20 07:54:03 +02:00
|
|
|
# RCVD_ADD_ACK_REVOCATION, RCVD_REMOVE_ACK_REVOCATION, RCVD_ADD_REVOCATION, RCVD_REMOVE_REVOCATION
|
2017-06-20 07:50:03 +02:00
|
|
|
channel_got_revoke,,num_changed,u16
|
|
|
|
channel_got_revoke,,changed,num_changed*struct changed_htlc
|
|
|
|
# Wait for reply, to make sure it's on disk before we continue
|
|
|
|
# (eg. if we sent another commitment_signed, that would implicitly ack).
|
|
|
|
channel_got_revoke_reply,122
|