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