core-lightning/onchaind/onchaind_wire.csv
Rusty Russell f2291c44d6 onchaind: cap RBF penalty fee for testnet/regtest
On testnet I noticed if we can't reach bitcoind for some reason, we'll
keep RBFing our penalty tx ("it didn't go in, RBF harder!!").  Makes
no sense to grossly exceed the amount needed for next block, so simply
cap penalty at 2x "estimatesmartfee 2 CONSERVATIVE".

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2022-11-18 13:38:42 +01:00

5.8 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,delayed_to_us_feerate,u32,
23msgdata,onchaind_init,htlc_feerate,u32,
24msgdata,onchaind_init,penalty_feerate,u32,
25msgdata,onchaind_init,max_penalty_feerate,u32,
26msgdata,onchaind_init,local_dust_limit_satoshi,amount_sat,
27# Gives an easy way to tell if it's our unilateral close or theirs...
28msgdata,onchaind_init,our_broadcast_txid,bitcoin_txid,
29msgdata,onchaind_init,local_scriptpubkey_len,u16,
30msgdata,onchaind_init,local_scriptpubkey,u8,local_scriptpubkey_len
31msgdata,onchaind_init,remote_scriptpubkey_len,u16,
32msgdata,onchaind_init,remote_scriptpubkey,u8,remote_scriptpubkey_len
33msgdata,onchaind_init,ourwallet_index,u32,
34msgdata,onchaind_init,ourwallet_ext_key,ext_key,
35msgdata,onchaind_init,ourwallet_pubkey,pubkey,
36# We need these two for commit number obscurer
37msgdata,onchaind_init,opener,enum side,
38msgdata,onchaind_init,local_basepoints,basepoints,
39msgdata,onchaind_init,remote_basepoints,basepoints,
40msgdata,onchaind_init,tx_parts,tx_parts,
41msgdata,onchaind_init,locktime,u32,
42msgdata,onchaind_init,tx_blockheight,u32,
43msgdata,onchaind_init,reasonable_depth,u32,
44msgdata,onchaind_init,num_htlc_sigs,u16,
45msgdata,onchaind_init,htlc_signature,bitcoin_signature,num_htlc_sigs
46msgdata,onchaind_init,min_possible_feerate,u32,
47msgdata,onchaind_init,max_possible_feerate,u32,
48msgdata,onchaind_init,possible_remote_per_commit_point,?pubkey,
49msgdata,onchaind_init,local_funding_pubkey,pubkey,
50msgdata,onchaind_init,remote_funding_pubkey,pubkey,
51msgdata,onchaind_init,local_static_remotekey_start,u64,
52msgdata,onchaind_init,remote_static_remotekey_start,u64,
53msgdata,onchaind_init,option_anchor_outputs,bool,
54# We need this for BIP125 rule 4
55msgdata,onchaind_init,min_relay_feerate,u32,
56# This says we're ready; give us htlcs and preimages.
57msgtype,onchaind_init_reply,5101
58msgdata,onchaind_init_reply,commit_num,u64,
59#include <onchaind/onchaind_wire.h>
60msgtype,onchaind_htlcs,5002
61msgdata,onchaind_htlcs,num_htlcs,u32,
62msgdata,onchaind_htlcs,htlc,htlc_stub,num_htlcs
63# If it's not in the commitment tx, tell us (immediately or htlc_missing_depth)
64msgdata,onchaind_htlcs,tell_if_missing,bool,num_htlcs
65msgdata,onchaind_htlcs,tell_immediately,bool,num_htlcs
66# onchaind->master: Send out a tx.
67# If is_rbf is false then master should rebroadcast the tx.
68# If is_rbf is true then onchaind is responsible for rebroadcasting
69# it with a higher fee.
70msgtype,onchaind_broadcast_tx,5003
71msgdata,onchaind_broadcast_tx,tx,bitcoin_tx,
72msgdata,onchaind_broadcast_tx,type,enum wallet_tx_type,
73msgdata,onchaind_broadcast_tx,is_rbf,bool,
74# master->onchaind: Notifier that an output has been spent by input_num of tx.
75msgtype,onchaind_spent,5004
76msgdata,onchaind_spent,tx,tx_parts,
77msgdata,onchaind_spent,input_num,u32,
78msgdata,onchaind_spent,blockheight,u32,
79# master->onchaind: We will receive more than one of these, as depth changes.
80msgtype,onchaind_depth,5005
81msgdata,onchaind_depth,txid,bitcoin_txid,
82msgdata,onchaind_depth,depth,u32,
83# onchaind->master: We don't want to watch this tx, or its outputs
84msgtype,onchaind_unwatch_tx,5006
85msgdata,onchaind_unwatch_tx,txid,bitcoin_txid,
86# master->onchaind: We know HTLC preimage
87msgtype,onchaind_known_preimage,5007
88msgdata,onchaind_known_preimage,preimage,preimage,
89# onchaind->master: We discovered HTLC preimage
90msgtype,onchaind_extracted_preimage,5008
91msgdata,onchaind_extracted_preimage,preimage,preimage,
92# onchaind->master: this HTLC was missing from commit tx.
93msgtype,onchaind_missing_htlc_output,5009
94msgdata,onchaind_missing_htlc_output,htlc,htlc_stub,
95# onchaind->master: this HTLC has timed out (after reasonable_depth)
96msgtype,onchaind_htlc_timeout,5010
97msgdata,onchaind_htlc_timeout,htlc,htlc_stub,
98# onchaind->master: this peer can be forgotten
99msgtype,onchaind_all_irrevocably_resolved,5011
100# onchaind->master: hey, I identified an UTXO you'll want to track
101msgtype,onchaind_add_utxo,5012
102msgdata,onchaind_add_utxo,prev_out,bitcoin_outpoint,
103msgdata,onchaind_add_utxo,per_commit_point,?pubkey,
104msgdata,onchaind_add_utxo,value,amount_sat,
105msgdata,onchaind_add_utxo,blockheight,u32,
106msgdata,onchaind_add_utxo,len,u16,
107msgdata,onchaind_add_utxo,scriptpubkey,u8,len
108msgdata,onchaind_add_utxo,csv_lock,u32,
109# master -> onchaind: do you have a memleak?
110msgtype,onchaind_dev_memleak,5033
111msgtype,onchaind_dev_memleak_reply,5133
112msgdata,onchaind_dev_memleak_reply,leak,bool,
113# Tell the main daemon what we've been watching, mainly used for transactions
114# that we tracked automatically but only onchaind knows how to classify their
115# transactions.
116msgtype,onchaind_annotate_txout,5035
117msgdata,onchaind_annotate_txout,outpoint,bitcoin_outpoint,
118msgdata,onchaind_annotate_txout,type,enum wallet_tx_type,
119msgtype,onchaind_annotate_txin,5036
120msgdata,onchaind_annotate_txin,txid,bitcoin_txid,
121msgdata,onchaind_annotate_txin,innum,u32,
122msgdata,onchaind_annotate_txin,type,enum wallet_tx_type,
123msgtype,onchaind_notify_coin_mvt,5037
124msgdata,onchaind_notify_coin_mvt,mvt,chain_coin_mvt,