core-lightning/onchaind/onchaind_wire.csv
Christian Decker 10acbffcf9 onchaind: Remove key derivation involving the signer
The signer may not be present at this time. If we want to keep the
check to protect against bit flips we should move it into `onchaind`
where it doesn't matter as much that the signer may be slow to
respond.
2024-07-29 17:08:33 +02:00

9.1 KiB

1#include <bitcoin/tx_parts.h>
2#include <common/bip32.h>
3#include <common/coin_mvt.h>
4#include <common/derive_basepoints.h>
5#include <common/htlc_wire.h>
6#include <common/wallet.h>
7# Begin! Here's the onchain tx which spends funding tx, followed by all HTLCs.
8msgtype,onchaind_init,5001
9msgdata,onchaind_init,shachain,shachain,
10# This needs to be set explicitly since the same message also contains a
11# transaction that we need to parse correctly.
12msgdata,onchaind_init,chainparams,chainparams,
13msgdata,onchaind_init,funding_amount_satoshi,amount_sat,
14# Our current balance (of funding amount, not counting any pending htlcs)
15msgdata,onchaind_init,our_msat,amount_msat,
16# Remote per commit point for committed tx.
17msgdata,onchaind_init,old_remote_per_commitment_point,pubkey,
18# Remote per commit point for current tx (needed if we haven't got revoke_and_ack yet).
19msgdata,onchaind_init,remote_per_commitment_point,pubkey,
20msgdata,onchaind_init,local_to_self_delay,u32,
21msgdata,onchaind_init,remote_to_self_delay,u32,
22msgdata,onchaind_init,local_dust_limit_satoshi,amount_sat,
23# Gives an easy way to tell if it's our unilateral close or theirs...
24msgdata,onchaind_init,our_broadcast_txid,bitcoin_txid,
25msgdata,onchaind_init,local_scriptpubkey_len,u16,
26msgdata,onchaind_init,local_scriptpubkey,u8,local_scriptpubkey_len
27msgdata,onchaind_init,remote_scriptpubkey_len,u16,
28msgdata,onchaind_init,remote_scriptpubkey,u8,remote_scriptpubkey_len
29msgdata,onchaind_init,ourwallet_index,u32,
30# We need these two for commit number obscurer
31msgdata,onchaind_init,opener,enum side,
32msgdata,onchaind_init,local_basepoints,basepoints,
33msgdata,onchaind_init,remote_basepoints,basepoints,
34msgdata,onchaind_init,tx_parts,tx_parts,
35msgdata,onchaind_init,locktime,u32,
36msgdata,onchaind_init,tx_blockheight,u32,
37msgdata,onchaind_init,reasonable_depth,u32,
38msgdata,onchaind_init,num_htlc_sigs,u16,
39msgdata,onchaind_init,htlc_signature,bitcoin_signature,num_htlc_sigs
40msgdata,onchaind_init,min_possible_feerate,u32,
41msgdata,onchaind_init,max_possible_feerate,u32,
42msgdata,onchaind_init,local_funding_pubkey,pubkey,
43msgdata,onchaind_init,remote_funding_pubkey,pubkey,
44msgdata,onchaind_init,local_static_remotekey_start,u64,
45msgdata,onchaind_init,remote_static_remotekey_start,u64,
46msgdata,onchaind_init,option_anchor_outputs,bool,
47msgdata,onchaind_init,option_anchors_zero_fee_htlc_tx,bool,
48# We need this for BIP125 rule 4
49msgdata,onchaind_init,min_relay_feerate,u32,
50# This says we're ready; give us htlcs and preimages.
51msgtype,onchaind_init_reply,5101
52msgdata,onchaind_init_reply,commit_num,u64,
53#include <onchaind/onchaind_wire.h>
54msgtype,onchaind_htlcs,5002
55msgdata,onchaind_htlcs,num_htlcs,u32,
56msgdata,onchaind_htlcs,htlc,htlc_stub,num_htlcs
57# If it's not in the commitment tx, tell us (immediately or htlc_missing_depth)
58msgdata,onchaind_htlcs,tell_if_missing,bool,num_htlcs
59msgdata,onchaind_htlcs,tell_immediately,bool,num_htlcs
60# master->onchaind: Notifier that an output has been spent by input_num of tx.
61msgtype,onchaind_spent,5004
62msgdata,onchaind_spent,tx,tx_parts,
63msgdata,onchaind_spent,input_num,u32,
64msgdata,onchaind_spent,blockheight,u32,
65# master->onchaind: We will receive more than one of these, as depth changes.
66msgtype,onchaind_depth,5005
67msgdata,onchaind_depth,txid,bitcoin_txid,
68msgdata,onchaind_depth,depth,u32,
69# onchaind->master: We don't want to watch this tx, or its outputs
70msgtype,onchaind_unwatch_tx,5006
71msgdata,onchaind_unwatch_tx,txid,bitcoin_txid,
72# master->onchaind: We know HTLC preimage
73msgtype,onchaind_known_preimage,5007
74msgdata,onchaind_known_preimage,preimage,preimage,
75# onchaind->master: We discovered HTLC preimage
76msgtype,onchaind_extracted_preimage,5008
77msgdata,onchaind_extracted_preimage,preimage,preimage,
78# onchaind->master: this HTLC was missing from commit tx.
79msgtype,onchaind_missing_htlc_output,5009
80msgdata,onchaind_missing_htlc_output,htlc,htlc_stub,
81# onchaind->master: this HTLC has timed out (after reasonable_depth)
82msgtype,onchaind_htlc_timeout,5010
83msgdata,onchaind_htlc_timeout,htlc,htlc_stub,
84# onchaind->master: this peer can be forgotten
85msgtype,onchaind_all_irrevocably_resolved,5011
86# onchaind->master: hey, I identified an UTXO you'll want to track
87msgtype,onchaind_add_utxo,5012
88msgdata,onchaind_add_utxo,prev_out,bitcoin_outpoint,
89msgdata,onchaind_add_utxo,per_commit_point,?pubkey,
90msgdata,onchaind_add_utxo,value,amount_sat,
91msgdata,onchaind_add_utxo,blockheight,u32,
92msgdata,onchaind_add_utxo,len,u16,
93msgdata,onchaind_add_utxo,scriptpubkey,u8,len
94msgdata,onchaind_add_utxo,csv_lock,u32,
95# master -> onchaind: do you have a memleak?
96msgtype,onchaind_dev_memleak,5033
97msgtype,onchaind_dev_memleak_reply,5133
98msgdata,onchaind_dev_memleak_reply,leak,bool,
99# Tell the main daemon what we've been watching, mainly used for transactions
100# that we tracked automatically but only onchaind knows how to classify their
101# transactions.
102msgtype,onchaind_annotate_txout,5035
103msgdata,onchaind_annotate_txout,outpoint,bitcoin_outpoint,
104msgdata,onchaind_annotate_txout,type,enum wallet_tx_type,
105msgtype,onchaind_annotate_txin,5036
106msgdata,onchaind_annotate_txin,txid,bitcoin_txid,
107msgdata,onchaind_annotate_txin,innum,u32,
108msgdata,onchaind_annotate_txin,type,enum wallet_tx_type,
109msgtype,onchaind_notify_coin_mvt,5037
110msgdata,onchaind_notify_coin_mvt,mvt,chain_coin_mvt,
111# We tell lightningd to create, sign and broadcast this tx:
112msgtype,onchaind_spend_to_us,5040
113msgdata,onchaind_spend_to_us,outpoint,bitcoin_outpoint,
114msgdata,onchaind_spend_to_us,outpoint_amount,amount_sat,
115msgdata,onchaind_spend_to_us,minblock,u32,
116msgdata,onchaind_spend_to_us,commit_num,u64,
117msgdata,onchaind_spend_to_us,wscript_len,u32,
118msgdata,onchaind_spend_to_us,wscript,u8,wscript_len
119# We tell lightningd to create, sign and broadcast this penalty tx:
120msgtype,onchaind_spend_penalty,5041
121msgdata,onchaind_spend_penalty,outpoint,bitcoin_outpoint,
122msgdata,onchaind_spend_penalty,outpoint_amount,amount_sat,
123msgdata,onchaind_spend_penalty,remote_per_commitment_secret,secret,
124msgdata,onchaind_spend_penalty,stack_elem_len,u16,
125msgdata,onchaind_spend_penalty,stack_elem,u8,stack_elem_len
126msgdata,onchaind_spend_penalty,wscript_len,u32,
127msgdata,onchaind_spend_penalty,wscript,u8,wscript_len
128# We tell lightningd to create, sign and broadcast this htlc_success tx:
129msgtype,onchaind_spend_htlc_success,5042
130msgdata,onchaind_spend_htlc_success,outpoint,bitcoin_outpoint,
131msgdata,onchaind_spend_htlc_success,outpoint_amount,amount_sat,
132msgdata,onchaind_spend_htlc_success,fee,amount_sat,
133msgdata,onchaind_spend_htlc_success,htlc_id,u64,
134msgdata,onchaind_spend_htlc_success,commit_num,u64,
135msgdata,onchaind_spend_htlc_success,remote_htlc_sig,bitcoin_signature,
136msgdata,onchaind_spend_htlc_success,preimage,preimage,
137msgdata,onchaind_spend_htlc_success,wscript_len,u32,
138msgdata,onchaind_spend_htlc_success,wscript,u8,wscript_len
139msgdata,onchaind_spend_htlc_success,htlc_wscript_len,u32,
140msgdata,onchaind_spend_htlc_success,htlc_wscript,u8,htlc_wscript_len
141# We tell lightningd to create, sign and broadcast this HTLC redepmtion:
142msgtype,onchaind_spend_fulfill,5043
143msgdata,onchaind_spend_fulfill,outpoint,bitcoin_outpoint,
144msgdata,onchaind_spend_fulfill,outpoint_amount,amount_sat,
145msgdata,onchaind_spend_fulfill,htlc_id,u64,
146msgdata,onchaind_spend_fulfill,remote_per_commitment_point,pubkey,
147msgdata,onchaind_spend_fulfill,preimage,preimage,
148msgdata,onchaind_spend_fulfill,wscript_len,u32,
149msgdata,onchaind_spend_fulfill,wscript,u8,wscript_len
150# We tell lightningd to create, sign and broadcast this htlc_timeout tx:
151msgtype,onchaind_spend_htlc_timeout,5044
152msgdata,onchaind_spend_htlc_timeout,outpoint,bitcoin_outpoint,
153msgdata,onchaind_spend_htlc_timeout,outpoint_amount,amount_sat,
154msgdata,onchaind_spend_htlc_timeout,fee,amount_sat,
155msgdata,onchaind_spend_htlc_timeout,htlc_id,u64,
156msgdata,onchaind_spend_htlc_timeout,cltv_expiry,u32,
157msgdata,onchaind_spend_htlc_timeout,commit_num,u64,
158msgdata,onchaind_spend_htlc_timeout,remote_htlc_sig,bitcoin_signature,
159msgdata,onchaind_spend_htlc_timeout,wscript_len,u32,
160msgdata,onchaind_spend_htlc_timeout,wscript,u8,wscript_len
161msgdata,onchaind_spend_htlc_timeout,htlc_wscript_len,u32,
162msgdata,onchaind_spend_htlc_timeout,htlc_wscript,u8,htlc_wscript_len
163# We tell lightningd to create, sign and broadcast this tx to collect our
164# expired htlc in their unilateral close:
165msgtype,onchaind_spend_htlc_expired,5045
166msgdata,onchaind_spend_htlc_expired,outpoint,bitcoin_outpoint,
167msgdata,onchaind_spend_htlc_expired,outpoint_amount,amount_sat,
168msgdata,onchaind_spend_htlc_expired,htlc_id,u64,
169msgdata,onchaind_spend_htlc_expired,cltv_expiry,u32,
170msgdata,onchaind_spend_htlc_expired,remote_per_commitment_point,pubkey,
171msgdata,onchaind_spend_htlc_expired,wscript_len,u32,
172msgdata,onchaind_spend_htlc_expired,wscript,u8,wscript_len
173subtype,onchain_witness_element
174subtypedata,onchain_witness_element,is_signature,bool,
175subtypedata,onchain_witness_element,len,u32,
176subtypedata,onchain_witness_element,witness,u8,len
177# lightningd replies; if it considers it uneconomic, it tells onchaind
178# so it doesn't wait forever!
179msgtype,onchaind_spend_created,5140
180msgdata,onchaind_spend_created,expect_to_succeed,bool,
181msgdata,onchaind_spend_created,num_witnesses,u32,
182msgdata,onchaind_spend_created,witness,onchain_witness_element,num_witnesses