core-lightning/onchaind/onchain_wire.csv
Christian Decker 314622028f onchaind: Eliminate a chicken-and-egg problem with msg parsing
Turns out that if we have the init message contain both the chainparams as
well as a transaction that needs to be parsed we need to set the parser to
elements mode before we reach the transaction...
2019-10-03 04:32:57 +00:00

4.6 KiB

1#include <common/derive_basepoints.h>
2#include <common/htlc_wire.h>
3#include <common/wallet.h>
4# Begin! Here's the onchain tx which spends funding tx, followed by all HTLCs.
5msgtype,onchain_init,5001
6msgdata,onchain_init,shachain,shachain,
7# This needs to be set explicitly since the same message also contains a
8# transaction that we need to parse correctly.
9msgdata,onchain_init,is_elements,bool,
10msgdata,onchain_init,chain_hash,bitcoin_blkid,
11msgdata,onchain_init,funding_amount_satoshi,amount_sat,
12# Remote per commit point for committed tx.
13msgdata,onchain_init,old_remote_per_commitment_point,pubkey,
14# Remote per commit point for current tx (needed if we haven't got revoke_and_ack yet).
15msgdata,onchain_init,remote_per_commitment_point,pubkey,
16msgdata,onchain_init,local_to_self_delay,u32,
17msgdata,onchain_init,remote_to_self_delay,u32,
18msgdata,onchain_init,feerate_per_kw,u32,
19msgdata,onchain_init,local_dust_limit_satoshi,amount_sat,
20# Gives an easy way to tell if it's our unilateral close or theirs...
21msgdata,onchain_init,our_broadcast_txid,bitcoin_txid,
22msgdata,onchain_init,local_scriptpubkey_len,u16,
23msgdata,onchain_init,local_scriptpubkey,u8,local_scriptpubkey_len
24msgdata,onchain_init,remote_scriptpubkey_len,u16,
25msgdata,onchain_init,remote_scriptpubkey,u8,remote_scriptpubkey_len
26msgdata,onchain_init,ourwallet_pubkey,pubkey,
27# We need these two for commit number obscurer
28msgdata,onchain_init,funder,enum side,
29msgdata,onchain_init,local_basepoints,basepoints,
30msgdata,onchain_init,remote_basepoints,basepoints,
31msgdata,onchain_init,tx,bitcoin_tx,
32msgdata,onchain_init,tx_blockheight,u32,
33msgdata,onchain_init,reasonable_depth,u32,
34msgdata,onchain_init,num_htlc_sigs,u16,
35msgdata,onchain_init,htlc_signature,secp256k1_ecdsa_signature,num_htlc_sigs
36msgdata,onchain_init,num_htlcs,u64,
37msgdata,onchain_init,min_possible_feerate,u32,
38msgdata,onchain_init,max_possible_feerate,u32,
39msgdata,onchain_init,possible_remote_per_commit_point,?pubkey,
40msgdata,onchain_init,option_static_remotekey,bool,
41#include <onchaind/onchain_wire.h>
42# This is all the HTLCs: one per message
43msgtype,onchain_htlc,5002
44msgdata,onchain_htlc,htlc,htlc_stub,
45# If it's not in the commitment tx, tell us (immediately or htlc_missing_depth)
46msgdata,onchain_htlc,tell_if_missing,bool,
47msgdata,onchain_htlc,tell_immediately,bool,
48# This says we're ready; give us preimages.
49msgtype,onchain_init_reply,5101
50# onchaind->master: Send out a tx.
51msgtype,onchain_broadcast_tx,5003
52msgdata,onchain_broadcast_tx,tx,bitcoin_tx,
53msgdata,onchain_broadcast_tx,type,enum wallet_tx_type,
54# master->onchaind: Notifier that an output has been spent by input_num of tx.
55msgtype,onchain_spent,5004
56msgdata,onchain_spent,tx,bitcoin_tx,
57msgdata,onchain_spent,input_num,u32,
58msgdata,onchain_spent,blockheight,u32,
59# master->onchaind: We will receive more than one of these, as depth changes.
60msgtype,onchain_depth,5005
61msgdata,onchain_depth,txid,bitcoin_txid,
62msgdata,onchain_depth,depth,u32,
63# onchaind->master: We don't want to watch this tx, or its outputs
64msgtype,onchain_unwatch_tx,5006
65msgdata,onchain_unwatch_tx,txid,bitcoin_txid,
66# master->onchaind: We know HTLC preimage
67msgtype,onchain_known_preimage,5007
68msgdata,onchain_known_preimage,preimage,preimage,
69# onchaind->master: We discovered HTLC preimage
70msgtype,onchain_extracted_preimage,5008
71msgdata,onchain_extracted_preimage,preimage,preimage,
72# onchaind->master: this HTLC was missing from commit tx.
73msgtype,onchain_missing_htlc_output,5009
74msgdata,onchain_missing_htlc_output,htlc,htlc_stub,
75# onchaind->master: this HTLC has timed out (after reasonable_depth)
76msgtype,onchain_htlc_timeout,5010
77msgdata,onchain_htlc_timeout,htlc,htlc_stub,
78# onchaind->master: this peer can be forgotten
79msgtype,onchain_all_irrevocably_resolved,5011
80# onchaind->master: hey, I identified an UTXO you'll want to track
81msgtype,onchain_add_utxo,5012
82msgdata,onchain_add_utxo,prev_out_tx,bitcoin_txid,
83msgdata,onchain_add_utxo,prev_out_index,u32,
84msgdata,onchain_add_utxo,per_commit_point,?pubkey,
85msgdata,onchain_add_utxo,value,amount_sat,
86msgdata,onchain_add_utxo,blockheight,u32,
87msgdata,onchain_add_utxo,len,u16,
88msgdata,onchain_add_utxo,scriptpubkey,u8,len
89# master -> onchaind: do you have a memleak?
90msgtype,onchain_dev_memleak,5033
91msgtype,onchain_dev_memleak_reply,5133
92msgdata,onchain_dev_memleak_reply,leak,bool,
93# Tell the main daemon what we've been watching, mainly used for transactions
94# that we tracked automatically but only onchaind knows how to classify their
95# transactions.
96msgtype,onchain_transaction_annotate,5034
97msgdata,onchain_transaction_annotate,txid,bitcoin_txid,
98msgdata,onchain_transaction_annotate,type,enum wallet_tx_type,