wire-gen: move in-house wire delcarations to new format

tidying things up!
This commit is contained in:
lisa neigut
2019-07-23 17:51:11 -05:00
committed by Rusty Russell
parent 236d26308f
commit 32eaae0cb9
23 changed files with 703 additions and 698 deletions

View File

@@ -1,197 +1,198 @@
# Clients should not give a bad request but not the HSM's decision to crash.
hsmstatus_client_bad_request,1000
hsmstatus_client_bad_request,,id,struct node_id
hsmstatus_client_bad_request,,description,wirestring
hsmstatus_client_bad_request,,len,u16
hsmstatus_client_bad_request,,msg,len*u8
msgtype,hsmstatus_client_bad_request,1000
msgdata,hsmstatus_client_bad_request,id,node_id,
msgdata,hsmstatus_client_bad_request,description,wirestring,
msgdata,hsmstatus_client_bad_request,len,u16,
msgdata,hsmstatus_client_bad_request,msg,u8,len
#include <bitcoin/chainparams.h>
# Start the HSM.
hsm_init,11
hsm_init,,bip32_key_version,struct bip32_key_version
hsm_init,,dev_force_privkey,?struct privkey
hsm_init,,dev_force_bip32_seed,?struct secret
hsm_init,,dev_force_channel_secrets,?struct secrets
hsm_init,,dev_force_channel_secrets_shaseed,?struct sha256
msgtype,hsm_init,11
msgdata,hsm_init,bip32_key_version,bip32_key_version,
msgdata,hsm_init,dev_force_privkey,?privkey,
msgdata,hsm_init,dev_force_bip32_seed,?secret,
msgdata,hsm_init,dev_force_channel_secrets,?secrets,
msgdata,hsm_init,dev_force_channel_secrets_shaseed,?sha256,
#include <common/bip32.h>
hsm_init_reply,111
hsm_init_reply,,node_id,struct node_id
hsm_init_reply,,bip32,struct ext_key
msgtype,hsm_init_reply,111
msgdata,hsm_init_reply,node_id,node_id,
msgdata,hsm_init_reply,bip32,ext_key,
# Get a new HSM FD, with the specified capabilities
hsm_client_hsmfd,9
hsm_client_hsmfd,,id,struct node_id # Which identity to use for requests
msgtype,hsm_client_hsmfd,9
# Which identity to use for requests
msgdata,hsm_client_hsmfd,id,node_id,
# Database id for this client, if any.
hsm_client_hsmfd,,dbid,u64
hsm_client_hsmfd,,capabilities,u64
msgdata,hsm_client_hsmfd,dbid,u64,
msgdata,hsm_client_hsmfd,capabilities,u64,
# No content, just an fd.
hsm_client_hsmfd_reply,109
msgtype,hsm_client_hsmfd_reply,109
#include <common/derive_basepoints.h>
# Get the basepoints and funding key for this specific channel.
hsm_get_channel_basepoints,10
hsm_get_channel_basepoints,,peerid,struct node_id
hsm_get_channel_basepoints,,dbid,u64
msgtype,hsm_get_channel_basepoints,10
msgdata,hsm_get_channel_basepoints,peerid,node_id,
msgdata,hsm_get_channel_basepoints,dbid,u64,
hsm_get_channel_basepoints_reply,110
hsm_get_channel_basepoints_reply,,basepoints,struct basepoints
hsm_get_channel_basepoints_reply,,funding_pubkey,struct pubkey
msgtype,hsm_get_channel_basepoints_reply,110
msgdata,hsm_get_channel_basepoints_reply,basepoints,basepoints,
msgdata,hsm_get_channel_basepoints_reply,funding_pubkey,pubkey,
# Return signature for a funding tx.
#include <common/utxo.h>
# FIXME: This should also take their commit sig & details, to verify.
hsm_sign_funding,4
hsm_sign_funding,,satoshi_out,struct amount_sat
hsm_sign_funding,,change_out,struct amount_sat
hsm_sign_funding,,change_keyindex,u32
hsm_sign_funding,,our_pubkey,struct pubkey
hsm_sign_funding,,their_pubkey,struct pubkey
hsm_sign_funding,,num_inputs,u16
hsm_sign_funding,,inputs,num_inputs*struct utxo
msgtype,hsm_sign_funding,4
msgdata,hsm_sign_funding,satoshi_out,amount_sat,
msgdata,hsm_sign_funding,change_out,amount_sat,
msgdata,hsm_sign_funding,change_keyindex,u32,
msgdata,hsm_sign_funding,our_pubkey,pubkey,
msgdata,hsm_sign_funding,their_pubkey,pubkey,
msgdata,hsm_sign_funding,num_inputs,u16,
msgdata,hsm_sign_funding,inputs,utxo,num_inputs
hsm_sign_funding_reply,104
hsm_sign_funding_reply,,tx,struct bitcoin_tx
msgtype,hsm_sign_funding_reply,104
msgdata,hsm_sign_funding_reply,tx,bitcoin_tx,
# Master asks the HSM to sign a node_announcement
hsm_node_announcement_sig_req,6
hsm_node_announcement_sig_req,,annlen,u16
hsm_node_announcement_sig_req,,announcement,annlen*u8
msgtype,hsm_node_announcement_sig_req,6
msgdata,hsm_node_announcement_sig_req,annlen,u16,
msgdata,hsm_node_announcement_sig_req,announcement,u8,annlen
hsm_node_announcement_sig_reply,106
hsm_node_announcement_sig_reply,,signature,secp256k1_ecdsa_signature
msgtype,hsm_node_announcement_sig_reply,106
msgdata,hsm_node_announcement_sig_reply,signature,secp256k1_ecdsa_signature,
# Sign a withdrawal request
hsm_sign_withdrawal,7
hsm_sign_withdrawal,,satoshi_out,struct amount_sat
hsm_sign_withdrawal,,change_out,struct amount_sat
hsm_sign_withdrawal,,change_keyindex,u32
hsm_sign_withdrawal,,scriptpubkey_len,u16
hsm_sign_withdrawal,,scriptpubkey,scriptpubkey_len*u8
hsm_sign_withdrawal,,num_inputs,u16
hsm_sign_withdrawal,,inputs,num_inputs*struct utxo
msgtype,hsm_sign_withdrawal,7
msgdata,hsm_sign_withdrawal,satoshi_out,amount_sat,
msgdata,hsm_sign_withdrawal,change_out,amount_sat,
msgdata,hsm_sign_withdrawal,change_keyindex,u32,
msgdata,hsm_sign_withdrawal,scriptpubkey_len,u16,
msgdata,hsm_sign_withdrawal,scriptpubkey,u8,scriptpubkey_len
msgdata,hsm_sign_withdrawal,num_inputs,u16,
msgdata,hsm_sign_withdrawal,inputs,utxo,num_inputs
hsm_sign_withdrawal_reply,107
hsm_sign_withdrawal_reply,,tx,struct bitcoin_tx
msgtype,hsm_sign_withdrawal_reply,107
msgdata,hsm_sign_withdrawal_reply,tx,bitcoin_tx,
# Sign an invoice
hsm_sign_invoice,8
hsm_sign_invoice,,len,u16
hsm_sign_invoice,,u5bytes,len*u8
hsm_sign_invoice,,hrplen,u16
hsm_sign_invoice,,hrp,hrplen*u8
msgtype,hsm_sign_invoice,8
msgdata,hsm_sign_invoice,len,u16,
msgdata,hsm_sign_invoice,u5bytes,u8,len
msgdata,hsm_sign_invoice,hrplen,u16,
msgdata,hsm_sign_invoice,hrp,u8,hrplen
hsm_sign_invoice_reply,108
hsm_sign_invoice_reply,,sig,secp256k1_ecdsa_recoverable_signature
msgtype,hsm_sign_invoice_reply,108
msgdata,hsm_sign_invoice_reply,sig,secp256k1_ecdsa_recoverable_signature,
# Give me ECDH(node-id-secret,point)
hsm_ecdh_req,1
hsm_ecdh_req,,point,struct pubkey
hsm_ecdh_resp,100
hsm_ecdh_resp,,ss,struct secret
msgtype,hsm_ecdh_req,1
msgdata,hsm_ecdh_req,point,pubkey,
msgtype,hsm_ecdh_resp,100
msgdata,hsm_ecdh_resp,ss,secret,
hsm_cannouncement_sig_req,2
hsm_cannouncement_sig_req,,calen,u16
hsm_cannouncement_sig_req,,ca,calen*u8
msgtype,hsm_cannouncement_sig_req,2
msgdata,hsm_cannouncement_sig_req,calen,u16,
msgdata,hsm_cannouncement_sig_req,ca,u8,calen
hsm_cannouncement_sig_reply,102
hsm_cannouncement_sig_reply,,node_signature,secp256k1_ecdsa_signature
hsm_cannouncement_sig_reply,,bitcoin_signature,secp256k1_ecdsa_signature
msgtype,hsm_cannouncement_sig_reply,102
msgdata,hsm_cannouncement_sig_reply,node_signature,secp256k1_ecdsa_signature,
msgdata,hsm_cannouncement_sig_reply,bitcoin_signature,secp256k1_ecdsa_signature,
hsm_cupdate_sig_req,3
hsm_cupdate_sig_req,,culen,u16
hsm_cupdate_sig_req,,cu,culen*u8
msgtype,hsm_cupdate_sig_req,3
msgdata,hsm_cupdate_sig_req,culen,u16,
msgdata,hsm_cupdate_sig_req,cu,u8,culen
hsm_cupdate_sig_reply,103
hsm_cupdate_sig_reply,,culen,u16
hsm_cupdate_sig_reply,,cu,culen*u8
msgtype,hsm_cupdate_sig_reply,103
msgdata,hsm_cupdate_sig_reply,culen,u16,
msgdata,hsm_cupdate_sig_reply,cu,u8,culen
# Master asks HSM to sign a commitment transaction.
hsm_sign_commitment_tx,5
hsm_sign_commitment_tx,,peer_id,struct node_id
hsm_sign_commitment_tx,,channel_dbid,u64
hsm_sign_commitment_tx,,tx,struct bitcoin_tx
hsm_sign_commitment_tx,,remote_funding_key,struct pubkey
hsm_sign_commitment_tx,,funding_amount,struct amount_sat
msgtype,hsm_sign_commitment_tx,5
msgdata,hsm_sign_commitment_tx,peer_id,node_id,
msgdata,hsm_sign_commitment_tx,channel_dbid,u64,
msgdata,hsm_sign_commitment_tx,tx,bitcoin_tx,
msgdata,hsm_sign_commitment_tx,remote_funding_key,pubkey,
msgdata,hsm_sign_commitment_tx,funding_amount,amount_sat,
hsm_sign_commitment_tx_reply,105
hsm_sign_commitment_tx_reply,,sig,struct bitcoin_signature
msgtype,hsm_sign_commitment_tx_reply,105
msgdata,hsm_sign_commitment_tx_reply,sig,bitcoin_signature,
# Onchaind asks HSM to sign a spend to-us. Four variants, since each set
# of keys is derived differently...
# FIXME: Have master tell hsmd the keyindex, so it can validate output!
hsm_sign_delayed_payment_to_us,12
hsm_sign_delayed_payment_to_us,,commit_num,u64
hsm_sign_delayed_payment_to_us,,tx,struct bitcoin_tx
hsm_sign_delayed_payment_to_us,,wscript_len,u16
hsm_sign_delayed_payment_to_us,,wscript,wscript_len*u8
hsm_sign_delayed_payment_to_us,,input_amount,struct amount_sat
msgtype,hsm_sign_delayed_payment_to_us,12
msgdata,hsm_sign_delayed_payment_to_us,commit_num,u64,
msgdata,hsm_sign_delayed_payment_to_us,tx,bitcoin_tx,
msgdata,hsm_sign_delayed_payment_to_us,wscript_len,u16,
msgdata,hsm_sign_delayed_payment_to_us,wscript,u8,wscript_len
msgdata,hsm_sign_delayed_payment_to_us,input_amount,amount_sat,
hsm_sign_remote_htlc_to_us,13
hsm_sign_remote_htlc_to_us,,remote_per_commitment_point,struct pubkey
hsm_sign_remote_htlc_to_us,,tx,struct bitcoin_tx
hsm_sign_remote_htlc_to_us,,wscript_len,u16
hsm_sign_remote_htlc_to_us,,wscript,wscript_len*u8
hsm_sign_remote_htlc_to_us,,input_amount,struct amount_sat
msgtype,hsm_sign_remote_htlc_to_us,13
msgdata,hsm_sign_remote_htlc_to_us,remote_per_commitment_point,pubkey,
msgdata,hsm_sign_remote_htlc_to_us,tx,bitcoin_tx,
msgdata,hsm_sign_remote_htlc_to_us,wscript_len,u16,
msgdata,hsm_sign_remote_htlc_to_us,wscript,u8,wscript_len
msgdata,hsm_sign_remote_htlc_to_us,input_amount,amount_sat,
hsm_sign_penalty_to_us,14
hsm_sign_penalty_to_us,,revocation_secret,struct secret
hsm_sign_penalty_to_us,,tx,struct bitcoin_tx
hsm_sign_penalty_to_us,,wscript_len,u16
hsm_sign_penalty_to_us,,wscript,wscript_len*u8
hsm_sign_penalty_to_us,,input_amount,struct amount_sat
msgtype,hsm_sign_penalty_to_us,14
msgdata,hsm_sign_penalty_to_us,revocation_secret,secret,
msgdata,hsm_sign_penalty_to_us,tx,bitcoin_tx,
msgdata,hsm_sign_penalty_to_us,wscript_len,u16,
msgdata,hsm_sign_penalty_to_us,wscript,u8,wscript_len
msgdata,hsm_sign_penalty_to_us,input_amount,amount_sat,
# Onchaind asks HSM to sign a local HTLC success or HTLC timeout tx.
hsm_sign_local_htlc_tx,16
hsm_sign_local_htlc_tx,,commit_num,u64
hsm_sign_local_htlc_tx,,tx,struct bitcoin_tx
hsm_sign_local_htlc_tx,,wscript_len,u16
hsm_sign_local_htlc_tx,,wscript,wscript_len*u8
hsm_sign_local_htlc_tx,,input_amount,struct amount_sat
msgtype,hsm_sign_local_htlc_tx,16
msgdata,hsm_sign_local_htlc_tx,commit_num,u64,
msgdata,hsm_sign_local_htlc_tx,tx,bitcoin_tx,
msgdata,hsm_sign_local_htlc_tx,wscript_len,u16,
msgdata,hsm_sign_local_htlc_tx,wscript,u8,wscript_len
msgdata,hsm_sign_local_htlc_tx,input_amount,amount_sat,
# Openingd/channeld asks HSM to sign the other sides' commitment tx.
hsm_sign_remote_commitment_tx,19
hsm_sign_remote_commitment_tx,,tx,struct bitcoin_tx
hsm_sign_remote_commitment_tx,,remote_funding_key,struct pubkey
hsm_sign_remote_commitment_tx,,funding_amount,struct amount_sat
msgtype,hsm_sign_remote_commitment_tx,19
msgdata,hsm_sign_remote_commitment_tx,tx,bitcoin_tx,
msgdata,hsm_sign_remote_commitment_tx,remote_funding_key,pubkey,
msgdata,hsm_sign_remote_commitment_tx,funding_amount,amount_sat,
# channeld asks HSM to sign remote HTLC tx.
hsm_sign_remote_htlc_tx,20
hsm_sign_remote_htlc_tx,,tx,struct bitcoin_tx
hsm_sign_remote_htlc_tx,,len,u16
hsm_sign_remote_htlc_tx,,wscript,len*u8
hsm_sign_remote_htlc_tx,,amounts_satoshi,struct amount_sat
hsm_sign_remote_htlc_tx,,remote_per_commit_point,struct pubkey
msgtype,hsm_sign_remote_htlc_tx,20
msgdata,hsm_sign_remote_htlc_tx,tx,bitcoin_tx,
msgdata,hsm_sign_remote_htlc_tx,len,u16,
msgdata,hsm_sign_remote_htlc_tx,wscript,u8,len
msgdata,hsm_sign_remote_htlc_tx,amounts_satoshi,amount_sat,
msgdata,hsm_sign_remote_htlc_tx,remote_per_commit_point,pubkey,
# closingd asks HSM to sign mutual close tx.
hsm_sign_mutual_close_tx,21
hsm_sign_mutual_close_tx,,tx,struct bitcoin_tx
hsm_sign_mutual_close_tx,,remote_funding_key,struct pubkey
hsm_sign_mutual_close_tx,,funding,struct amount_sat
msgtype,hsm_sign_mutual_close_tx,21
msgdata,hsm_sign_mutual_close_tx,tx,bitcoin_tx,
msgdata,hsm_sign_mutual_close_tx,remote_funding_key,pubkey,
msgdata,hsm_sign_mutual_close_tx,funding,amount_sat,
# Reply for all the above requests.
hsm_sign_tx_reply,112
hsm_sign_tx_reply,,sig,struct bitcoin_signature
msgtype,hsm_sign_tx_reply,112
msgdata,hsm_sign_tx_reply,sig,bitcoin_signature,
# Openingd/channeld/onchaind asks for Nth per_commitment_point, if > 2, gets N-2 secret.
hsm_get_per_commitment_point,18
hsm_get_per_commitment_point,,n,u64
msgtype,hsm_get_per_commitment_point,18
msgdata,hsm_get_per_commitment_point,n,u64,
hsm_get_per_commitment_point_reply,118
hsm_get_per_commitment_point_reply,,per_commitment_point,struct pubkey
hsm_get_per_commitment_point_reply,,old_commitment_secret,?struct secret
msgtype,hsm_get_per_commitment_point_reply,118
msgdata,hsm_get_per_commitment_point_reply,per_commitment_point,pubkey,
msgdata,hsm_get_per_commitment_point_reply,old_commitment_secret,?secret,
# master -> hsmd: do you have a memleak?
hsm_dev_memleak,33
msgtype,hsm_dev_memleak,33
hsm_dev_memleak_reply,133
hsm_dev_memleak_reply,,leak,bool
msgtype,hsm_dev_memleak_reply,133
msgdata,hsm_dev_memleak_reply,leak,bool,
# channeld asks to check if claimed future commitment_secret is correct.
hsm_check_future_secret,22
hsm_check_future_secret,,n,u64
hsm_check_future_secret,,commitment_secret,struct secret
msgtype,hsm_check_future_secret,22
msgdata,hsm_check_future_secret,n,u64,
msgdata,hsm_check_future_secret,commitment_secret,secret,
hsm_check_future_secret_reply,122
hsm_check_future_secret_reply,,correct,bool
msgtype,hsm_check_future_secret_reply,122
msgdata,hsm_check_future_secret_reply,correct,bool,
1 # Clients should not give a bad request but not the HSM's decision to crash.
2 hsmstatus_client_bad_request,1000 msgtype,hsmstatus_client_bad_request,1000
3 hsmstatus_client_bad_request,,id,struct node_id msgdata,hsmstatus_client_bad_request,id,node_id,
4 hsmstatus_client_bad_request,,description,wirestring msgdata,hsmstatus_client_bad_request,description,wirestring,
5 hsmstatus_client_bad_request,,len,u16 msgdata,hsmstatus_client_bad_request,len,u16,
6 hsmstatus_client_bad_request,,msg,len*u8 msgdata,hsmstatus_client_bad_request,msg,u8,len
7 #include <bitcoin/chainparams.h>
8 # Start the HSM.
9 hsm_init,11 msgtype,hsm_init,11
10 hsm_init,,bip32_key_version,struct bip32_key_version msgdata,hsm_init,bip32_key_version,bip32_key_version,
11 hsm_init,,dev_force_privkey,?struct privkey msgdata,hsm_init,dev_force_privkey,?privkey,
12 hsm_init,,dev_force_bip32_seed,?struct secret msgdata,hsm_init,dev_force_bip32_seed,?secret,
13 hsm_init,,dev_force_channel_secrets,?struct secrets msgdata,hsm_init,dev_force_channel_secrets,?secrets,
14 hsm_init,,dev_force_channel_secrets_shaseed,?struct sha256 msgdata,hsm_init,dev_force_channel_secrets_shaseed,?sha256,
15 #include <common/bip32.h>
16 hsm_init_reply,111 msgtype,hsm_init_reply,111
17 hsm_init_reply,,node_id,struct node_id msgdata,hsm_init_reply,node_id,node_id,
18 hsm_init_reply,,bip32,struct ext_key msgdata,hsm_init_reply,bip32,ext_key,
19 # Get a new HSM FD, with the specified capabilities
20 hsm_client_hsmfd,9 msgtype,hsm_client_hsmfd,9
21 hsm_client_hsmfd,,id,struct node_id # Which identity to use for requests # Which identity to use for requests
22 # Database id for this client, if any. msgdata,hsm_client_hsmfd,id,node_id,
23 hsm_client_hsmfd,,dbid,u64 # Database id for this client, if any.
24 hsm_client_hsmfd,,capabilities,u64 msgdata,hsm_client_hsmfd,dbid,u64,
25 msgdata,hsm_client_hsmfd,capabilities,u64,
26 # No content, just an fd.
27 hsm_client_hsmfd_reply,109 msgtype,hsm_client_hsmfd_reply,109
28 #include <common/derive_basepoints.h>
29 # Get the basepoints and funding key for this specific channel.
30 hsm_get_channel_basepoints,10 msgtype,hsm_get_channel_basepoints,10
31 hsm_get_channel_basepoints,,peerid,struct node_id msgdata,hsm_get_channel_basepoints,peerid,node_id,
32 hsm_get_channel_basepoints,,dbid,u64 msgdata,hsm_get_channel_basepoints,dbid,u64,
33 hsm_get_channel_basepoints_reply,110 msgtype,hsm_get_channel_basepoints_reply,110
34 hsm_get_channel_basepoints_reply,,basepoints,struct basepoints msgdata,hsm_get_channel_basepoints_reply,basepoints,basepoints,
35 hsm_get_channel_basepoints_reply,,funding_pubkey,struct pubkey msgdata,hsm_get_channel_basepoints_reply,funding_pubkey,pubkey,
36 # Return signature for a funding tx.
37 #include <common/utxo.h>
38 # FIXME: This should also take their commit sig & details, to verify.
39 hsm_sign_funding,4 msgtype,hsm_sign_funding,4
40 hsm_sign_funding,,satoshi_out,struct amount_sat msgdata,hsm_sign_funding,satoshi_out,amount_sat,
41 hsm_sign_funding,,change_out,struct amount_sat msgdata,hsm_sign_funding,change_out,amount_sat,
42 hsm_sign_funding,,change_keyindex,u32 msgdata,hsm_sign_funding,change_keyindex,u32,
43 hsm_sign_funding,,our_pubkey,struct pubkey msgdata,hsm_sign_funding,our_pubkey,pubkey,
44 hsm_sign_funding,,their_pubkey,struct pubkey msgdata,hsm_sign_funding,their_pubkey,pubkey,
45 hsm_sign_funding,,num_inputs,u16 msgdata,hsm_sign_funding,num_inputs,u16,
46 hsm_sign_funding,,inputs,num_inputs*struct utxo msgdata,hsm_sign_funding,inputs,utxo,num_inputs
47 hsm_sign_funding_reply,104 msgtype,hsm_sign_funding_reply,104
48 hsm_sign_funding_reply,,tx,struct bitcoin_tx msgdata,hsm_sign_funding_reply,tx,bitcoin_tx,
49 # Master asks the HSM to sign a node_announcement
50 hsm_node_announcement_sig_req,6 msgtype,hsm_node_announcement_sig_req,6
51 hsm_node_announcement_sig_req,,annlen,u16 msgdata,hsm_node_announcement_sig_req,annlen,u16,
52 hsm_node_announcement_sig_req,,announcement,annlen*u8 msgdata,hsm_node_announcement_sig_req,announcement,u8,annlen
53 hsm_node_announcement_sig_reply,106 msgtype,hsm_node_announcement_sig_reply,106
54 hsm_node_announcement_sig_reply,,signature,secp256k1_ecdsa_signature msgdata,hsm_node_announcement_sig_reply,signature,secp256k1_ecdsa_signature,
55 # Sign a withdrawal request
56 hsm_sign_withdrawal,7 msgtype,hsm_sign_withdrawal,7
57 hsm_sign_withdrawal,,satoshi_out,struct amount_sat msgdata,hsm_sign_withdrawal,satoshi_out,amount_sat,
58 hsm_sign_withdrawal,,change_out,struct amount_sat msgdata,hsm_sign_withdrawal,change_out,amount_sat,
59 hsm_sign_withdrawal,,change_keyindex,u32 msgdata,hsm_sign_withdrawal,change_keyindex,u32,
60 hsm_sign_withdrawal,,scriptpubkey_len,u16 msgdata,hsm_sign_withdrawal,scriptpubkey_len,u16,
61 hsm_sign_withdrawal,,scriptpubkey,scriptpubkey_len*u8 msgdata,hsm_sign_withdrawal,scriptpubkey,u8,scriptpubkey_len
62 hsm_sign_withdrawal,,num_inputs,u16 msgdata,hsm_sign_withdrawal,num_inputs,u16,
63 hsm_sign_withdrawal,,inputs,num_inputs*struct utxo msgdata,hsm_sign_withdrawal,inputs,utxo,num_inputs
64 hsm_sign_withdrawal_reply,107 msgtype,hsm_sign_withdrawal_reply,107
65 hsm_sign_withdrawal_reply,,tx,struct bitcoin_tx msgdata,hsm_sign_withdrawal_reply,tx,bitcoin_tx,
66 # Sign an invoice
67 hsm_sign_invoice,8 msgtype,hsm_sign_invoice,8
68 hsm_sign_invoice,,len,u16 msgdata,hsm_sign_invoice,len,u16,
69 hsm_sign_invoice,,u5bytes,len*u8 msgdata,hsm_sign_invoice,u5bytes,u8,len
70 hsm_sign_invoice,,hrplen,u16 msgdata,hsm_sign_invoice,hrplen,u16,
71 hsm_sign_invoice,,hrp,hrplen*u8 msgdata,hsm_sign_invoice,hrp,u8,hrplen
72 hsm_sign_invoice_reply,108 msgtype,hsm_sign_invoice_reply,108
73 hsm_sign_invoice_reply,,sig,secp256k1_ecdsa_recoverable_signature msgdata,hsm_sign_invoice_reply,sig,secp256k1_ecdsa_recoverable_signature,
74 # Give me ECDH(node-id-secret,point)
75 hsm_ecdh_req,1 msgtype,hsm_ecdh_req,1
76 hsm_ecdh_req,,point,struct pubkey msgdata,hsm_ecdh_req,point,pubkey,
77 hsm_ecdh_resp,100 msgtype,hsm_ecdh_resp,100
78 hsm_ecdh_resp,,ss,struct secret msgdata,hsm_ecdh_resp,ss,secret,
79 hsm_cannouncement_sig_req,2 msgtype,hsm_cannouncement_sig_req,2
80 hsm_cannouncement_sig_req,,calen,u16 msgdata,hsm_cannouncement_sig_req,calen,u16,
81 hsm_cannouncement_sig_req,,ca,calen*u8 msgdata,hsm_cannouncement_sig_req,ca,u8,calen
82 hsm_cannouncement_sig_reply,102 msgtype,hsm_cannouncement_sig_reply,102
83 hsm_cannouncement_sig_reply,,node_signature,secp256k1_ecdsa_signature msgdata,hsm_cannouncement_sig_reply,node_signature,secp256k1_ecdsa_signature,
84 hsm_cannouncement_sig_reply,,bitcoin_signature,secp256k1_ecdsa_signature msgdata,hsm_cannouncement_sig_reply,bitcoin_signature,secp256k1_ecdsa_signature,
85 hsm_cupdate_sig_req,3 msgtype,hsm_cupdate_sig_req,3
86 hsm_cupdate_sig_req,,culen,u16 msgdata,hsm_cupdate_sig_req,culen,u16,
87 hsm_cupdate_sig_req,,cu,culen*u8 msgdata,hsm_cupdate_sig_req,cu,u8,culen
88 hsm_cupdate_sig_reply,103 msgtype,hsm_cupdate_sig_reply,103
89 hsm_cupdate_sig_reply,,culen,u16 msgdata,hsm_cupdate_sig_reply,culen,u16,
90 hsm_cupdate_sig_reply,,cu,culen*u8 msgdata,hsm_cupdate_sig_reply,cu,u8,culen
91 # Master asks HSM to sign a commitment transaction.
92 hsm_sign_commitment_tx,5 msgtype,hsm_sign_commitment_tx,5
93 hsm_sign_commitment_tx,,peer_id,struct node_id msgdata,hsm_sign_commitment_tx,peer_id,node_id,
94 hsm_sign_commitment_tx,,channel_dbid,u64 msgdata,hsm_sign_commitment_tx,channel_dbid,u64,
95 hsm_sign_commitment_tx,,tx,struct bitcoin_tx msgdata,hsm_sign_commitment_tx,tx,bitcoin_tx,
96 hsm_sign_commitment_tx,,remote_funding_key,struct pubkey msgdata,hsm_sign_commitment_tx,remote_funding_key,pubkey,
97 hsm_sign_commitment_tx,,funding_amount,struct amount_sat msgdata,hsm_sign_commitment_tx,funding_amount,amount_sat,
98 hsm_sign_commitment_tx_reply,105 msgtype,hsm_sign_commitment_tx_reply,105
99 hsm_sign_commitment_tx_reply,,sig,struct bitcoin_signature msgdata,hsm_sign_commitment_tx_reply,sig,bitcoin_signature,
100 # Onchaind asks HSM to sign a spend to-us. Four variants, since each set
101 # of keys is derived differently...
102 # FIXME: Have master tell hsmd the keyindex, so it can validate output!
103 hsm_sign_delayed_payment_to_us,12 msgtype,hsm_sign_delayed_payment_to_us,12
104 hsm_sign_delayed_payment_to_us,,commit_num,u64 msgdata,hsm_sign_delayed_payment_to_us,commit_num,u64,
105 hsm_sign_delayed_payment_to_us,,tx,struct bitcoin_tx msgdata,hsm_sign_delayed_payment_to_us,tx,bitcoin_tx,
106 hsm_sign_delayed_payment_to_us,,wscript_len,u16 msgdata,hsm_sign_delayed_payment_to_us,wscript_len,u16,
107 hsm_sign_delayed_payment_to_us,,wscript,wscript_len*u8 msgdata,hsm_sign_delayed_payment_to_us,wscript,u8,wscript_len
108 hsm_sign_delayed_payment_to_us,,input_amount,struct amount_sat msgdata,hsm_sign_delayed_payment_to_us,input_amount,amount_sat,
109 hsm_sign_remote_htlc_to_us,13 msgtype,hsm_sign_remote_htlc_to_us,13
110 hsm_sign_remote_htlc_to_us,,remote_per_commitment_point,struct pubkey msgdata,hsm_sign_remote_htlc_to_us,remote_per_commitment_point,pubkey,
111 hsm_sign_remote_htlc_to_us,,tx,struct bitcoin_tx msgdata,hsm_sign_remote_htlc_to_us,tx,bitcoin_tx,
112 hsm_sign_remote_htlc_to_us,,wscript_len,u16 msgdata,hsm_sign_remote_htlc_to_us,wscript_len,u16,
113 hsm_sign_remote_htlc_to_us,,wscript,wscript_len*u8 msgdata,hsm_sign_remote_htlc_to_us,wscript,u8,wscript_len
114 hsm_sign_remote_htlc_to_us,,input_amount,struct amount_sat msgdata,hsm_sign_remote_htlc_to_us,input_amount,amount_sat,
115 hsm_sign_penalty_to_us,14 msgtype,hsm_sign_penalty_to_us,14
116 hsm_sign_penalty_to_us,,revocation_secret,struct secret msgdata,hsm_sign_penalty_to_us,revocation_secret,secret,
117 hsm_sign_penalty_to_us,,tx,struct bitcoin_tx msgdata,hsm_sign_penalty_to_us,tx,bitcoin_tx,
118 hsm_sign_penalty_to_us,,wscript_len,u16 msgdata,hsm_sign_penalty_to_us,wscript_len,u16,
119 hsm_sign_penalty_to_us,,wscript,wscript_len*u8 msgdata,hsm_sign_penalty_to_us,wscript,u8,wscript_len
120 hsm_sign_penalty_to_us,,input_amount,struct amount_sat msgdata,hsm_sign_penalty_to_us,input_amount,amount_sat,
121 # Onchaind asks HSM to sign a local HTLC success or HTLC timeout tx.
122 hsm_sign_local_htlc_tx,16 msgtype,hsm_sign_local_htlc_tx,16
123 hsm_sign_local_htlc_tx,,commit_num,u64 msgdata,hsm_sign_local_htlc_tx,commit_num,u64,
124 hsm_sign_local_htlc_tx,,tx,struct bitcoin_tx msgdata,hsm_sign_local_htlc_tx,tx,bitcoin_tx,
125 hsm_sign_local_htlc_tx,,wscript_len,u16 msgdata,hsm_sign_local_htlc_tx,wscript_len,u16,
126 hsm_sign_local_htlc_tx,,wscript,wscript_len*u8 msgdata,hsm_sign_local_htlc_tx,wscript,u8,wscript_len
127 hsm_sign_local_htlc_tx,,input_amount,struct amount_sat msgdata,hsm_sign_local_htlc_tx,input_amount,amount_sat,
128 # Openingd/channeld asks HSM to sign the other sides' commitment tx.
129 hsm_sign_remote_commitment_tx,19 msgtype,hsm_sign_remote_commitment_tx,19
130 hsm_sign_remote_commitment_tx,,tx,struct bitcoin_tx msgdata,hsm_sign_remote_commitment_tx,tx,bitcoin_tx,
131 hsm_sign_remote_commitment_tx,,remote_funding_key,struct pubkey msgdata,hsm_sign_remote_commitment_tx,remote_funding_key,pubkey,
132 hsm_sign_remote_commitment_tx,,funding_amount,struct amount_sat msgdata,hsm_sign_remote_commitment_tx,funding_amount,amount_sat,
133 # channeld asks HSM to sign remote HTLC tx.
134 hsm_sign_remote_htlc_tx,20 msgtype,hsm_sign_remote_htlc_tx,20
135 hsm_sign_remote_htlc_tx,,tx,struct bitcoin_tx msgdata,hsm_sign_remote_htlc_tx,tx,bitcoin_tx,
136 hsm_sign_remote_htlc_tx,,len,u16 msgdata,hsm_sign_remote_htlc_tx,len,u16,
137 hsm_sign_remote_htlc_tx,,wscript,len*u8 msgdata,hsm_sign_remote_htlc_tx,wscript,u8,len
138 hsm_sign_remote_htlc_tx,,amounts_satoshi,struct amount_sat msgdata,hsm_sign_remote_htlc_tx,amounts_satoshi,amount_sat,
139 hsm_sign_remote_htlc_tx,,remote_per_commit_point,struct pubkey msgdata,hsm_sign_remote_htlc_tx,remote_per_commit_point,pubkey,
140 # closingd asks HSM to sign mutual close tx.
141 hsm_sign_mutual_close_tx,21 msgtype,hsm_sign_mutual_close_tx,21
142 hsm_sign_mutual_close_tx,,tx,struct bitcoin_tx msgdata,hsm_sign_mutual_close_tx,tx,bitcoin_tx,
143 hsm_sign_mutual_close_tx,,remote_funding_key,struct pubkey msgdata,hsm_sign_mutual_close_tx,remote_funding_key,pubkey,
144 hsm_sign_mutual_close_tx,,funding,struct amount_sat msgdata,hsm_sign_mutual_close_tx,funding,amount_sat,
145 # Reply for all the above requests.
146 hsm_sign_tx_reply,112 msgtype,hsm_sign_tx_reply,112
147 hsm_sign_tx_reply,,sig,struct bitcoin_signature msgdata,hsm_sign_tx_reply,sig,bitcoin_signature,
148 # Openingd/channeld/onchaind asks for Nth per_commitment_point, if > 2, gets N-2 secret.
149 hsm_get_per_commitment_point,18 msgtype,hsm_get_per_commitment_point,18
150 hsm_get_per_commitment_point,,n,u64 msgdata,hsm_get_per_commitment_point,n,u64,
151 hsm_get_per_commitment_point_reply,118 msgtype,hsm_get_per_commitment_point_reply,118
152 hsm_get_per_commitment_point_reply,,per_commitment_point,struct pubkey msgdata,hsm_get_per_commitment_point_reply,per_commitment_point,pubkey,
153 hsm_get_per_commitment_point_reply,,old_commitment_secret,?struct secret msgdata,hsm_get_per_commitment_point_reply,old_commitment_secret,?secret,
154 # master -> hsmd: do you have a memleak?
155 hsm_dev_memleak,33 msgtype,hsm_dev_memleak,33
156 hsm_dev_memleak_reply,133 msgtype,hsm_dev_memleak_reply,133
157 hsm_dev_memleak_reply,,leak,bool msgdata,hsm_dev_memleak_reply,leak,bool,
158 # channeld asks to check if claimed future commitment_secret is correct.
159 hsm_check_future_secret,22 msgtype,hsm_check_future_secret,22
160 hsm_check_future_secret,,n,u64 msgdata,hsm_check_future_secret,n,u64,
161 hsm_check_future_secret,,commitment_secret,struct secret msgdata,hsm_check_future_secret,commitment_secret,secret,
162 hsm_check_future_secret_reply,122 msgtype,hsm_check_future_secret_reply,122
163 hsm_check_future_secret_reply,,correct,bool msgdata,hsm_check_future_secret_reply,correct,bool,
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198