core-lightning/onchaind/onchain_wire.csv
Rusty Russell a730cbdc96 onchaind: recognize (and ignore) anchor outputs.
Without this, onchaind fails to identify them.  So onchaind now needs
to know the funding pubkeys.

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2020-08-14 11:51:14 +09:30

5.4 KiB

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