closingd: convert to new wire generation style.

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
This commit is contained in:
Rusty Russell
2020-08-25 11:45:48 +09:30
parent 6d09c0eba9
commit fe8564555f
22 changed files with 411 additions and 426 deletions

View File

@@ -13,31 +13,31 @@ onchaind/gen_onchain_types_names.h: onchaind/onchain_types.h ccan/ccan/cdump/too
# onchaind needs these:
LIGHTNINGD_ONCHAIN_HEADERS_GEN := \
onchaind/gen_onchain_wire.h \
onchaind/onchaind_wiregen.h \
onchaind/gen_onchain_types_names.h
LIGHTNINGD_ONCHAIN_HEADERS_NOGEN := \
onchaind/onchain_types.h \
onchaind/onchain_wire.h
onchaind/onchaind_wire.h
LIGHTNINGD_ONCHAIN_HEADERS := $(LIGHTNINGD_ONCHAIN_HEADERS_GEN) $(LIGHTNINGD_ONCHAIN_HEADERS_NOGEN)
LIGHTNINGD_ONCHAIN_SRC := onchaind/onchaind.c \
onchaind/gen_onchain_wire.c \
onchaind/onchain_wire.c
onchaind/onchaind_wiregen.c \
onchaind/onchaind_wire.c
LIGHTNINGD_ONCHAIN_OBJS := $(LIGHTNINGD_ONCHAIN_SRC:.c=.o)
# Control daemon uses this:
LIGHTNINGD_ONCHAIN_CONTROL_HEADERS := \
onchaind/gen_onchain_wire.h \
onchaind/onchain_wire.h
onchaind/onchaind_wiregen.h \
onchaind/onchaind_wire.h
LIGHTNINGD_ONCHAIN_CONTROL_SRC := $(LIGHTNINGD_ONCHAIN_CONTROL_HEADERS:.h=.c)
LIGHTNINGD_ONCHAIN_CONTROL_OBJS := $(LIGHTNINGD_ONCHAIN_CONTROL_SRC:.c=.o)
LIGHTNINGD_ONCHAIN_GEN_SRC := $(filter onchaind/gen_%, $(LIGHTNINGD_ONCHAIN_SRC) $(LIGHTNINGD_ONCHAIN_CONTROL_SRC))
LIGHTNINGD_ONCHAIN_GEN_SRC := $(filter onchaind/%wiregen.c, $(LIGHTNINGD_ONCHAIN_SRC) $(LIGHTNINGD_ONCHAIN_CONTROL_SRC))
LIGHTNINGD_ONCHAIN_SRC_NOGEN := $(filter-out onchaind/gen_%, $(LIGHTNINGD_ONCHAIN_SRC))
LIGHTNINGD_ONCHAIN_SRC_NOGEN := $(filter-out onchaind/%wiregen.c, $(LIGHTNINGD_ONCHAIN_SRC))
# Add to headers which any object might need.
LIGHTNINGD_HEADERS_GEN += $(LIGHTNINGD_ONCHAIN_HEADERS_GEN)
@@ -78,12 +78,6 @@ ONCHAIND_COMMON_OBJS := \
common/version.o \
common/wallet.o
onchaind/gen_onchain_wire.h: $(WIRE_GEN) onchaind/onchain_wire.csv
$(WIRE_GEN) --page header $@ onchain_wire_type < onchaind/onchain_wire.csv > $@
onchaind/gen_onchain_wire.c: $(WIRE_GEN) onchaind/onchain_wire.csv
$(WIRE_GEN) --page impl ${@:.c=.h} onchain_wire_type < onchaind/onchain_wire.csv > $@
LIGHTNINGD_ONCHAIN_OBJS := $(LIGHTNINGD_ONCHAIN_SRC:.c=.o) $(LIGHTNINGD_ONCHAIN_GEN_SRC:.c=.o)
# Make sure these depend on everything.

View File

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

View File

@@ -23,8 +23,8 @@
#include <hsmd/hsmd_wiregen.h>
#include <inttypes.h>
#include <lightningd/channel_state.h>
#include <onchaind/gen_onchain_wire.h>
#include <onchaind/onchain_types.h>
#include <onchaind/onchaind_wiregen.h>
#include <stdio.h>
#include <unistd.h>
#include <wire/wire_sync.h>
@@ -141,7 +141,7 @@ static bool wally_tx_output_scripteq(const struct wally_tx_output *out,
static void send_coin_mvt(struct chain_coin_mvt *mvt TAKES)
{
wire_sync_write(REQ_FD,
take(towire_onchain_notify_coin_mvt(NULL, mvt)));
take(towire_onchaind_notify_coin_mvt(NULL, mvt)));
if (taken(mvt))
tal_free(mvt);
@@ -837,7 +837,7 @@ static void proposal_meets_depth(struct tracked_output *out, bool is_replay)
wire_sync_write(
REQ_FD,
take(towire_onchain_broadcast_tx(
take(towire_onchaind_broadcast_tx(
NULL, out->proposal->tx,
onchain_txtype_to_wallet_txtype(out->proposal->tx_type))));
@@ -1164,7 +1164,7 @@ static void unwatch_txid(const struct bitcoin_txid *txid)
{
u8 *msg;
msg = towire_onchain_unwatch_tx(NULL, txid);
msg = towire_onchaind_unwatch_tx(NULL, txid);
wire_sync_write(REQ_FD, take(msg));
}
@@ -1259,7 +1259,7 @@ static void handle_htlc_onchain_fulfill(struct tracked_output *out,
output_type_name(out->output_type),
type_to_string(tmpctx, struct preimage, &preimage));
wire_sync_write(REQ_FD,
take(towire_onchain_extracted_preimage(NULL,
take(towire_onchaind_extracted_preimage(NULL,
&preimage)));
}
@@ -1390,14 +1390,14 @@ static void steal_htlc_tx(struct tracked_output *out,
static void onchain_annotate_txout(const struct bitcoin_txid *txid, u32 outnum,
enum wallet_tx_type type)
{
wire_sync_write(REQ_FD, take(towire_onchain_annotate_txout(
wire_sync_write(REQ_FD, take(towire_onchaind_annotate_txout(
tmpctx, txid, outnum, type)));
}
static void onchain_annotate_txin(const struct bitcoin_txid *txid, u32 innum,
enum wallet_tx_type type)
{
wire_sync_write(REQ_FD, take(towire_onchain_annotate_txin(
wire_sync_write(REQ_FD, take(towire_onchaind_annotate_txin(
tmpctx, txid, innum, type)));
}
@@ -1568,7 +1568,7 @@ static void update_resolution_depth(struct tracked_output *out, u32 depth)
tx_type_name(out->tx_type),
output_type_name(out->output_type),
depth);
msg = towire_onchain_htlc_timeout(out, &out->htlc);
msg = towire_onchaind_htlc_timeout(out, &out->htlc);
wire_sync_write(REQ_FD, take(msg));
}
out->resolved->depth = depth;
@@ -1776,7 +1776,7 @@ static bool handle_dev_memleak(struct tracked_output **outs, const u8 *msg)
struct htable *memtable;
bool found_leak;
if (!fromwire_onchain_dev_memleak(msg))
if (!fromwire_onchaind_dev_memleak(msg))
return false;
memtable = memleak_enter_allocations(tmpctx, msg, msg);
@@ -1786,7 +1786,7 @@ static bool handle_dev_memleak(struct tracked_output **outs, const u8 *msg)
found_leak = dump_memleak(memtable);
wire_sync_write(REQ_FD,
take(towire_onchain_dev_memleak_reply(NULL,
take(towire_onchaind_dev_memleak_reply(NULL,
found_leak)));
return true;
}
@@ -1819,14 +1819,14 @@ static void wait_for_resolved(struct tracked_output **outs)
struct tx_parts *tx_parts;
status_debug("Got new message %s",
onchain_wire_type_name(fromwire_peektype(msg)));
onchaind_wire_name(fromwire_peektype(msg)));
if (fromwire_onchain_depth(msg, &txid, &depth, &is_replay))
if (fromwire_onchaind_depth(msg, &txid, &depth, &is_replay))
tx_new_depth(outs, &txid, depth, is_replay);
else if (fromwire_onchain_spent(msg, msg, &tx_parts, &input_num,
else if (fromwire_onchaind_spent(msg, msg, &tx_parts, &input_num,
&tx_blockheight, &is_replay)) {
output_spent(&outs, tx_parts, input_num, tx_blockheight, is_replay);
} else if (fromwire_onchain_known_preimage(msg, &preimage, &is_replay))
} else if (fromwire_onchaind_known_preimage(msg, &preimage, &is_replay))
handle_preimage(outs, &preimage, is_replay);
else if (!handle_dev_memleak(outs, msg))
master_badmsg(-1, msg);
@@ -1837,13 +1837,13 @@ static void wait_for_resolved(struct tracked_output **outs)
}
wire_sync_write(REQ_FD,
take(towire_onchain_all_irrevocably_resolved(outs)));
take(towire_onchaind_all_irrevocably_resolved(outs)));
}
static void init_reply(const char *what)
{
/* Send init_reply first, so billboard gets credited to ONCHAIND */
wire_sync_write(REQ_FD, take(towire_onchain_init_reply(NULL)));
wire_sync_write(REQ_FD, take(towire_onchaind_init_reply(NULL)));
peer_billboard(true, what);
}
@@ -2151,7 +2151,7 @@ static void note_missing_htlcs(u8 **htlc_scripts,
if (!tell_if_missing[i])
continue;
msg = towire_onchain_missing_htlc_output(missing_htlc_msgs,
msg = towire_onchaind_missing_htlc_output(missing_htlc_msgs,
&htlcs[i]);
if (tell_immediately[i])
wire_sync_write(REQ_FD, take(msg));
@@ -2545,7 +2545,7 @@ static void tell_wallet_to_remote(const struct tx_parts *tx,
per_commit_point = NULL;
wire_sync_write(REQ_FD,
take(towire_onchain_add_utxo(NULL, &tx->txid, outnum,
take(towire_onchaind_add_utxo(NULL, &tx->txid, outnum,
per_commit_point,
amt,
tx_blockheight,
@@ -3307,7 +3307,7 @@ search_done:
if (!tell_if_missing[i])
continue;
msg = towire_onchain_missing_htlc_output(NULL, &htlcs[i]);
msg = towire_onchaind_missing_htlc_output(NULL, &htlcs[i]);
wire_sync_write(REQ_FD, take(msg));
}
@@ -3345,7 +3345,7 @@ int main(int argc, char *argv[])
missing_htlc_msgs = tal_arr(ctx, u8 *, 0);
msg = wire_sync_read(tmpctx, REQ_FD);
if (!fromwire_onchain_init(tmpctx, msg,
if (!fromwire_onchaind_init(tmpctx, msg,
&shachain,
&chainparams,
&funding,
@@ -3379,7 +3379,7 @@ int main(int argc, char *argv[])
&option_static_remotekey,
&option_anchor_outputs,
&open_is_replay)) {
master_badmsg(WIRE_ONCHAIN_INIT, msg);
master_badmsg(WIRE_ONCHAIND_INIT, msg);
}
status_debug("delayed_to_us_feerate = %u, htlc_feerate = %u, "
@@ -3398,10 +3398,10 @@ int main(int argc, char *argv[])
for (u64 i = 0; i < num_htlcs; i++) {
msg = wire_sync_read(tmpctx, REQ_FD);
if (!fromwire_onchain_htlc(msg, &htlcs[i],
if (!fromwire_onchaind_htlc(msg, &htlcs[i],
&tell_if_missing[i],
&tell_immediately[i]))
master_badmsg(WIRE_ONCHAIN_HTLC, msg);
master_badmsg(WIRE_ONCHAIND_HTLC, msg);
}
outs = tal_arr(ctx, struct tracked_output *, 0);

View File

@@ -1,5 +1,5 @@
#include <common/htlc_wire.h>
#include <onchaind/onchain_wire.h>
#include <onchaind/onchaind_wire.h>
#include <wire/wire.h>
void towire_htlc_stub(u8 **pptr, const struct htlc_stub *htlc_stub)

136
onchaind/onchaind_wire.csv Normal file
View File

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

View File

@@ -1,5 +1,5 @@
#ifndef LIGHTNING_ONCHAIND_ONCHAIN_WIRE_H
#define LIGHTNING_ONCHAIND_ONCHAIN_WIRE_H
#ifndef LIGHTNING_ONCHAIND_ONCHAIND_WIRE_H
#define LIGHTNING_ONCHAIND_ONCHAIND_WIRE_H
#include "config.h"
#include <ccan/short_types/short_types.h>
#include <ccan/tal/tal.h>
@@ -16,4 +16,4 @@ struct htlc_stub {
void towire_htlc_stub(u8 **pptr, const struct htlc_stub *htlc_stub);
void fromwire_htlc_stub(const u8 **cursor, size_t *max,
struct htlc_stub *htlc_stub);
#endif /* LIGHTNING_ONCHAIND_ONCHAIN_WIRE_H */
#endif /* LIGHTNING_ONCHAIND_ONCHAIND_WIRE_H */

View File

@@ -40,24 +40,24 @@ void *fromwire_fail(const u8 **cursor UNNEEDED, size_t *max UNNEEDED)
/* Generated stub for fromwire_hsmd_get_per_commitment_point_reply */
bool fromwire_hsmd_get_per_commitment_point_reply(const tal_t *ctx UNNEEDED, const void *p UNNEEDED, struct pubkey *per_commitment_point UNNEEDED, struct secret **old_commitment_secret UNNEEDED)
{ fprintf(stderr, "fromwire_hsmd_get_per_commitment_point_reply called!\n"); abort(); }
/* Generated stub for fromwire_onchain_depth */
bool fromwire_onchain_depth(const void *p UNNEEDED, struct bitcoin_txid *txid UNNEEDED, u32 *depth UNNEEDED, bool *is_replay UNNEEDED)
{ fprintf(stderr, "fromwire_onchain_depth called!\n"); abort(); }
/* Generated stub for fromwire_onchain_dev_memleak */
bool fromwire_onchain_dev_memleak(const void *p UNNEEDED)
{ fprintf(stderr, "fromwire_onchain_dev_memleak called!\n"); abort(); }
/* Generated stub for fromwire_onchain_htlc */
bool fromwire_onchain_htlc(const void *p UNNEEDED, struct htlc_stub *htlc UNNEEDED, bool *tell_if_missing UNNEEDED, bool *tell_immediately UNNEEDED)
{ fprintf(stderr, "fromwire_onchain_htlc called!\n"); abort(); }
/* Generated stub for fromwire_onchain_init */
bool fromwire_onchain_init(const tal_t *ctx UNNEEDED, const void *p UNNEEDED, struct shachain *shachain UNNEEDED, const struct chainparams **chainparams UNNEEDED, struct amount_sat *funding_amount_satoshi UNNEEDED, struct amount_msat *our_msat UNNEEDED, struct pubkey *old_remote_per_commitment_point UNNEEDED, struct pubkey *remote_per_commitment_point UNNEEDED, u32 *local_to_self_delay UNNEEDED, u32 *remote_to_self_delay UNNEEDED, u32 *delayed_to_us_feerate UNNEEDED, u32 *htlc_feerate UNNEEDED, u32 *penalty_feerate UNNEEDED, struct amount_sat *local_dust_limit_satoshi UNNEEDED, struct bitcoin_txid *our_broadcast_txid UNNEEDED, u8 **local_scriptpubkey UNNEEDED, u8 **remote_scriptpubkey UNNEEDED, struct pubkey *ourwallet_pubkey UNNEEDED, enum side *opener UNNEEDED, struct basepoints *local_basepoints UNNEEDED, struct basepoints *remote_basepoints UNNEEDED, struct tx_parts **tx_parts UNNEEDED, u32 *locktime UNNEEDED, u32 *tx_blockheight UNNEEDED, u32 *reasonable_depth UNNEEDED, struct bitcoin_signature **htlc_signature UNNEEDED, u64 *num_htlcs UNNEEDED, u32 *min_possible_feerate UNNEEDED, u32 *max_possible_feerate UNNEEDED, struct pubkey **possible_remote_per_commit_point UNNEEDED, struct pubkey *local_funding_pubkey UNNEEDED, struct pubkey *remote_funding_pubkey UNNEEDED, bool *option_static_remotekey UNNEEDED, bool *option_anchor_outputs UNNEEDED, bool *is_replay UNNEEDED)
{ fprintf(stderr, "fromwire_onchain_init called!\n"); abort(); }
/* Generated stub for fromwire_onchain_known_preimage */
bool fromwire_onchain_known_preimage(const void *p UNNEEDED, struct preimage *preimage UNNEEDED, bool *is_replay UNNEEDED)
{ fprintf(stderr, "fromwire_onchain_known_preimage called!\n"); abort(); }
/* Generated stub for fromwire_onchain_spent */
bool fromwire_onchain_spent(const tal_t *ctx UNNEEDED, const void *p UNNEEDED, struct tx_parts **tx UNNEEDED, u32 *input_num UNNEEDED, u32 *blockheight UNNEEDED, bool *is_replay UNNEEDED)
{ fprintf(stderr, "fromwire_onchain_spent called!\n"); abort(); }
/* Generated stub for fromwire_onchaind_depth */
bool fromwire_onchaind_depth(const void *p UNNEEDED, struct bitcoin_txid *txid UNNEEDED, u32 *depth UNNEEDED, bool *is_replay UNNEEDED)
{ fprintf(stderr, "fromwire_onchaind_depth called!\n"); abort(); }
/* Generated stub for fromwire_onchaind_dev_memleak */
bool fromwire_onchaind_dev_memleak(const void *p UNNEEDED)
{ fprintf(stderr, "fromwire_onchaind_dev_memleak called!\n"); abort(); }
/* Generated stub for fromwire_onchaind_htlc */
bool fromwire_onchaind_htlc(const void *p UNNEEDED, struct htlc_stub *htlc UNNEEDED, bool *tell_if_missing UNNEEDED, bool *tell_immediately UNNEEDED)
{ fprintf(stderr, "fromwire_onchaind_htlc called!\n"); abort(); }
/* Generated stub for fromwire_onchaind_init */
bool fromwire_onchaind_init(const tal_t *ctx UNNEEDED, const void *p UNNEEDED, struct shachain *shachain UNNEEDED, const struct chainparams **chainparams UNNEEDED, struct amount_sat *funding_amount_satoshi UNNEEDED, struct amount_msat *our_msat UNNEEDED, struct pubkey *old_remote_per_commitment_point UNNEEDED, struct pubkey *remote_per_commitment_point UNNEEDED, u32 *local_to_self_delay UNNEEDED, u32 *remote_to_self_delay UNNEEDED, u32 *delayed_to_us_feerate UNNEEDED, u32 *htlc_feerate UNNEEDED, u32 *penalty_feerate UNNEEDED, struct amount_sat *local_dust_limit_satoshi UNNEEDED, struct bitcoin_txid *our_broadcast_txid UNNEEDED, u8 **local_scriptpubkey UNNEEDED, u8 **remote_scriptpubkey UNNEEDED, struct pubkey *ourwallet_pubkey UNNEEDED, enum side *opener UNNEEDED, struct basepoints *local_basepoints UNNEEDED, struct basepoints *remote_basepoints UNNEEDED, struct tx_parts **tx_parts UNNEEDED, u32 *locktime UNNEEDED, u32 *tx_blockheight UNNEEDED, u32 *reasonable_depth UNNEEDED, struct bitcoin_signature **htlc_signature UNNEEDED, u64 *num_htlcs UNNEEDED, u32 *min_possible_feerate UNNEEDED, u32 *max_possible_feerate UNNEEDED, struct pubkey **possible_remote_per_commit_point UNNEEDED, struct pubkey *local_funding_pubkey UNNEEDED, struct pubkey *remote_funding_pubkey UNNEEDED, bool *option_static_remotekey UNNEEDED, bool *option_anchor_outputs UNNEEDED, bool *is_replay UNNEEDED)
{ fprintf(stderr, "fromwire_onchaind_init called!\n"); abort(); }
/* Generated stub for fromwire_onchaind_known_preimage */
bool fromwire_onchaind_known_preimage(const void *p UNNEEDED, struct preimage *preimage UNNEEDED, bool *is_replay UNNEEDED)
{ fprintf(stderr, "fromwire_onchaind_known_preimage called!\n"); abort(); }
/* Generated stub for fromwire_onchaind_spent */
bool fromwire_onchaind_spent(const tal_t *ctx UNNEEDED, const void *p UNNEEDED, struct tx_parts **tx UNNEEDED, u32 *input_num UNNEEDED, u32 *blockheight UNNEEDED, bool *is_replay UNNEEDED)
{ fprintf(stderr, "fromwire_onchaind_spent called!\n"); abort(); }
/* Generated stub for fromwire_peektype */
int fromwire_peektype(const u8 *cursor UNNEEDED)
{ fprintf(stderr, "fromwire_peektype called!\n"); abort(); }
@@ -189,9 +189,9 @@ struct chain_coin_mvt *new_coin_withdrawal_sat(const tal_t *ctx UNNEEDED,
/* Generated stub for notleak_ */
void *notleak_(const void *ptr UNNEEDED, bool plus_children UNNEEDED)
{ fprintf(stderr, "notleak_ called!\n"); abort(); }
/* Generated stub for onchain_wire_type_name */
const char *onchain_wire_type_name(int e UNNEEDED)
{ fprintf(stderr, "onchain_wire_type_name called!\n"); abort(); }
/* Generated stub for onchaind_wire_name */
const char *onchaind_wire_name(int e UNNEEDED)
{ fprintf(stderr, "onchaind_wire_name called!\n"); abort(); }
/* Generated stub for peer_billboard */
void peer_billboard(bool perm UNNEEDED, const char *fmt UNNEEDED, ...)
{ fprintf(stderr, "peer_billboard called!\n"); abort(); }
@@ -233,42 +233,42 @@ u8 *towire_hsmd_sign_penalty_to_us(const tal_t *ctx UNNEEDED, const struct secre
/* Generated stub for towire_hsmd_sign_remote_htlc_to_us */
u8 *towire_hsmd_sign_remote_htlc_to_us(const tal_t *ctx UNNEEDED, const struct pubkey *remote_per_commitment_point UNNEEDED, const struct bitcoin_tx *tx UNNEEDED, const u8 *wscript UNNEEDED, bool option_anchor_outputs UNNEEDED)
{ fprintf(stderr, "towire_hsmd_sign_remote_htlc_to_us called!\n"); abort(); }
/* Generated stub for towire_onchain_add_utxo */
u8 *towire_onchain_add_utxo(const tal_t *ctx UNNEEDED, const struct bitcoin_txid *prev_out_tx UNNEEDED, u32 prev_out_index UNNEEDED, const struct pubkey *per_commit_point UNNEEDED, struct amount_sat value UNNEEDED, u32 blockheight UNNEEDED, const u8 *scriptpubkey UNNEEDED)
{ fprintf(stderr, "towire_onchain_add_utxo called!\n"); abort(); }
/* Generated stub for towire_onchain_all_irrevocably_resolved */
u8 *towire_onchain_all_irrevocably_resolved(const tal_t *ctx UNNEEDED)
{ fprintf(stderr, "towire_onchain_all_irrevocably_resolved called!\n"); abort(); }
/* Generated stub for towire_onchain_annotate_txin */
u8 *towire_onchain_annotate_txin(const tal_t *ctx UNNEEDED, const struct bitcoin_txid *txid UNNEEDED, u32 innum UNNEEDED, enum wallet_tx_type type UNNEEDED)
{ fprintf(stderr, "towire_onchain_annotate_txin called!\n"); abort(); }
/* Generated stub for towire_onchain_annotate_txout */
u8 *towire_onchain_annotate_txout(const tal_t *ctx UNNEEDED, const struct bitcoin_txid *txid UNNEEDED, u32 outnum UNNEEDED, enum wallet_tx_type type UNNEEDED)
{ fprintf(stderr, "towire_onchain_annotate_txout called!\n"); abort(); }
/* Generated stub for towire_onchain_broadcast_tx */
u8 *towire_onchain_broadcast_tx(const tal_t *ctx UNNEEDED, const struct bitcoin_tx *tx UNNEEDED, enum wallet_tx_type type UNNEEDED)
{ fprintf(stderr, "towire_onchain_broadcast_tx called!\n"); abort(); }
/* Generated stub for towire_onchain_dev_memleak_reply */
u8 *towire_onchain_dev_memleak_reply(const tal_t *ctx UNNEEDED, bool leak UNNEEDED)
{ fprintf(stderr, "towire_onchain_dev_memleak_reply called!\n"); abort(); }
/* Generated stub for towire_onchain_extracted_preimage */
u8 *towire_onchain_extracted_preimage(const tal_t *ctx UNNEEDED, const struct preimage *preimage UNNEEDED)
{ fprintf(stderr, "towire_onchain_extracted_preimage called!\n"); abort(); }
/* Generated stub for towire_onchain_htlc_timeout */
u8 *towire_onchain_htlc_timeout(const tal_t *ctx UNNEEDED, const struct htlc_stub *htlc UNNEEDED)
{ fprintf(stderr, "towire_onchain_htlc_timeout called!\n"); abort(); }
/* Generated stub for towire_onchain_init_reply */
u8 *towire_onchain_init_reply(const tal_t *ctx UNNEEDED)
{ fprintf(stderr, "towire_onchain_init_reply called!\n"); abort(); }
/* Generated stub for towire_onchain_missing_htlc_output */
u8 *towire_onchain_missing_htlc_output(const tal_t *ctx UNNEEDED, const struct htlc_stub *htlc UNNEEDED)
{ fprintf(stderr, "towire_onchain_missing_htlc_output called!\n"); abort(); }
/* Generated stub for towire_onchain_notify_coin_mvt */
u8 *towire_onchain_notify_coin_mvt(const tal_t *ctx UNNEEDED, const struct chain_coin_mvt *mvt UNNEEDED)
{ fprintf(stderr, "towire_onchain_notify_coin_mvt called!\n"); abort(); }
/* Generated stub for towire_onchain_unwatch_tx */
u8 *towire_onchain_unwatch_tx(const tal_t *ctx UNNEEDED, const struct bitcoin_txid *txid UNNEEDED)
{ fprintf(stderr, "towire_onchain_unwatch_tx called!\n"); abort(); }
/* Generated stub for towire_onchaind_add_utxo */
u8 *towire_onchaind_add_utxo(const tal_t *ctx UNNEEDED, const struct bitcoin_txid *prev_out_tx UNNEEDED, u32 prev_out_index UNNEEDED, const struct pubkey *per_commit_point UNNEEDED, struct amount_sat value UNNEEDED, u32 blockheight UNNEEDED, const u8 *scriptpubkey UNNEEDED)
{ fprintf(stderr, "towire_onchaind_add_utxo called!\n"); abort(); }
/* Generated stub for towire_onchaind_all_irrevocably_resolved */
u8 *towire_onchaind_all_irrevocably_resolved(const tal_t *ctx UNNEEDED)
{ fprintf(stderr, "towire_onchaind_all_irrevocably_resolved called!\n"); abort(); }
/* Generated stub for towire_onchaind_annotate_txin */
u8 *towire_onchaind_annotate_txin(const tal_t *ctx UNNEEDED, const struct bitcoin_txid *txid UNNEEDED, u32 innum UNNEEDED, enum wallet_tx_type type UNNEEDED)
{ fprintf(stderr, "towire_onchaind_annotate_txin called!\n"); abort(); }
/* Generated stub for towire_onchaind_annotate_txout */
u8 *towire_onchaind_annotate_txout(const tal_t *ctx UNNEEDED, const struct bitcoin_txid *txid UNNEEDED, u32 outnum UNNEEDED, enum wallet_tx_type type UNNEEDED)
{ fprintf(stderr, "towire_onchaind_annotate_txout called!\n"); abort(); }
/* Generated stub for towire_onchaind_broadcast_tx */
u8 *towire_onchaind_broadcast_tx(const tal_t *ctx UNNEEDED, const struct bitcoin_tx *tx UNNEEDED, enum wallet_tx_type type UNNEEDED)
{ fprintf(stderr, "towire_onchaind_broadcast_tx called!\n"); abort(); }
/* Generated stub for towire_onchaind_dev_memleak_reply */
u8 *towire_onchaind_dev_memleak_reply(const tal_t *ctx UNNEEDED, bool leak UNNEEDED)
{ fprintf(stderr, "towire_onchaind_dev_memleak_reply called!\n"); abort(); }
/* Generated stub for towire_onchaind_extracted_preimage */
u8 *towire_onchaind_extracted_preimage(const tal_t *ctx UNNEEDED, const struct preimage *preimage UNNEEDED)
{ fprintf(stderr, "towire_onchaind_extracted_preimage called!\n"); abort(); }
/* Generated stub for towire_onchaind_htlc_timeout */
u8 *towire_onchaind_htlc_timeout(const tal_t *ctx UNNEEDED, const struct htlc_stub *htlc UNNEEDED)
{ fprintf(stderr, "towire_onchaind_htlc_timeout called!\n"); abort(); }
/* Generated stub for towire_onchaind_init_reply */
u8 *towire_onchaind_init_reply(const tal_t *ctx UNNEEDED)
{ fprintf(stderr, "towire_onchaind_init_reply called!\n"); abort(); }
/* Generated stub for towire_onchaind_missing_htlc_output */
u8 *towire_onchaind_missing_htlc_output(const tal_t *ctx UNNEEDED, const struct htlc_stub *htlc UNNEEDED)
{ fprintf(stderr, "towire_onchaind_missing_htlc_output called!\n"); abort(); }
/* Generated stub for towire_onchaind_notify_coin_mvt */
u8 *towire_onchaind_notify_coin_mvt(const tal_t *ctx UNNEEDED, const struct chain_coin_mvt *mvt UNNEEDED)
{ fprintf(stderr, "towire_onchaind_notify_coin_mvt called!\n"); abort(); }
/* Generated stub for towire_onchaind_unwatch_tx */
u8 *towire_onchaind_unwatch_tx(const tal_t *ctx UNNEEDED, const struct bitcoin_txid *txid UNNEEDED)
{ fprintf(stderr, "towire_onchaind_unwatch_tx called!\n"); abort(); }
/* Generated stub for towire_secp256k1_ecdsa_signature */
void towire_secp256k1_ecdsa_signature(u8 **pptr UNNEEDED,
const secp256k1_ecdsa_signature *signature UNNEEDED)

View File

@@ -44,24 +44,24 @@ bool fromwire_hsmd_get_per_commitment_point_reply(const tal_t *ctx UNNEEDED, con
/* Generated stub for fromwire_hsmd_sign_tx_reply */
bool fromwire_hsmd_sign_tx_reply(const void *p UNNEEDED, struct bitcoin_signature *sig UNNEEDED)
{ fprintf(stderr, "fromwire_hsmd_sign_tx_reply called!\n"); abort(); }
/* Generated stub for fromwire_onchain_depth */
bool fromwire_onchain_depth(const void *p UNNEEDED, struct bitcoin_txid *txid UNNEEDED, u32 *depth UNNEEDED, bool *is_replay UNNEEDED)
{ fprintf(stderr, "fromwire_onchain_depth called!\n"); abort(); }
/* Generated stub for fromwire_onchain_dev_memleak */
bool fromwire_onchain_dev_memleak(const void *p UNNEEDED)
{ fprintf(stderr, "fromwire_onchain_dev_memleak called!\n"); abort(); }
/* Generated stub for fromwire_onchain_htlc */
bool fromwire_onchain_htlc(const void *p UNNEEDED, struct htlc_stub *htlc UNNEEDED, bool *tell_if_missing UNNEEDED, bool *tell_immediately UNNEEDED)
{ fprintf(stderr, "fromwire_onchain_htlc called!\n"); abort(); }
/* Generated stub for fromwire_onchain_init */
bool fromwire_onchain_init(const tal_t *ctx UNNEEDED, const void *p UNNEEDED, struct shachain *shachain UNNEEDED, const struct chainparams **chainparams UNNEEDED, struct amount_sat *funding_amount_satoshi UNNEEDED, struct amount_msat *our_msat UNNEEDED, struct pubkey *old_remote_per_commitment_point UNNEEDED, struct pubkey *remote_per_commitment_point UNNEEDED, u32 *local_to_self_delay UNNEEDED, u32 *remote_to_self_delay UNNEEDED, u32 *delayed_to_us_feerate UNNEEDED, u32 *htlc_feerate UNNEEDED, u32 *penalty_feerate UNNEEDED, struct amount_sat *local_dust_limit_satoshi UNNEEDED, struct bitcoin_txid *our_broadcast_txid UNNEEDED, u8 **local_scriptpubkey UNNEEDED, u8 **remote_scriptpubkey UNNEEDED, struct pubkey *ourwallet_pubkey UNNEEDED, enum side *opener UNNEEDED, struct basepoints *local_basepoints UNNEEDED, struct basepoints *remote_basepoints UNNEEDED, struct tx_parts **tx_parts UNNEEDED, u32 *locktime UNNEEDED, u32 *tx_blockheight UNNEEDED, u32 *reasonable_depth UNNEEDED, struct bitcoin_signature **htlc_signature UNNEEDED, u64 *num_htlcs UNNEEDED, u32 *min_possible_feerate UNNEEDED, u32 *max_possible_feerate UNNEEDED, struct pubkey **possible_remote_per_commit_point UNNEEDED, struct pubkey *local_funding_pubkey UNNEEDED, struct pubkey *remote_funding_pubkey UNNEEDED, bool *option_static_remotekey UNNEEDED, bool *option_anchor_outputs UNNEEDED, bool *is_replay UNNEEDED)
{ fprintf(stderr, "fromwire_onchain_init called!\n"); abort(); }
/* Generated stub for fromwire_onchain_known_preimage */
bool fromwire_onchain_known_preimage(const void *p UNNEEDED, struct preimage *preimage UNNEEDED, bool *is_replay UNNEEDED)
{ fprintf(stderr, "fromwire_onchain_known_preimage called!\n"); abort(); }
/* Generated stub for fromwire_onchain_spent */
bool fromwire_onchain_spent(const tal_t *ctx UNNEEDED, const void *p UNNEEDED, struct tx_parts **tx UNNEEDED, u32 *input_num UNNEEDED, u32 *blockheight UNNEEDED, bool *is_replay UNNEEDED)
{ fprintf(stderr, "fromwire_onchain_spent called!\n"); abort(); }
/* Generated stub for fromwire_onchaind_depth */
bool fromwire_onchaind_depth(const void *p UNNEEDED, struct bitcoin_txid *txid UNNEEDED, u32 *depth UNNEEDED, bool *is_replay UNNEEDED)
{ fprintf(stderr, "fromwire_onchaind_depth called!\n"); abort(); }
/* Generated stub for fromwire_onchaind_dev_memleak */
bool fromwire_onchaind_dev_memleak(const void *p UNNEEDED)
{ fprintf(stderr, "fromwire_onchaind_dev_memleak called!\n"); abort(); }
/* Generated stub for fromwire_onchaind_htlc */
bool fromwire_onchaind_htlc(const void *p UNNEEDED, struct htlc_stub *htlc UNNEEDED, bool *tell_if_missing UNNEEDED, bool *tell_immediately UNNEEDED)
{ fprintf(stderr, "fromwire_onchaind_htlc called!\n"); abort(); }
/* Generated stub for fromwire_onchaind_init */
bool fromwire_onchaind_init(const tal_t *ctx UNNEEDED, const void *p UNNEEDED, struct shachain *shachain UNNEEDED, const struct chainparams **chainparams UNNEEDED, struct amount_sat *funding_amount_satoshi UNNEEDED, struct amount_msat *our_msat UNNEEDED, struct pubkey *old_remote_per_commitment_point UNNEEDED, struct pubkey *remote_per_commitment_point UNNEEDED, u32 *local_to_self_delay UNNEEDED, u32 *remote_to_self_delay UNNEEDED, u32 *delayed_to_us_feerate UNNEEDED, u32 *htlc_feerate UNNEEDED, u32 *penalty_feerate UNNEEDED, struct amount_sat *local_dust_limit_satoshi UNNEEDED, struct bitcoin_txid *our_broadcast_txid UNNEEDED, u8 **local_scriptpubkey UNNEEDED, u8 **remote_scriptpubkey UNNEEDED, struct pubkey *ourwallet_pubkey UNNEEDED, enum side *opener UNNEEDED, struct basepoints *local_basepoints UNNEEDED, struct basepoints *remote_basepoints UNNEEDED, struct tx_parts **tx_parts UNNEEDED, u32 *locktime UNNEEDED, u32 *tx_blockheight UNNEEDED, u32 *reasonable_depth UNNEEDED, struct bitcoin_signature **htlc_signature UNNEEDED, u64 *num_htlcs UNNEEDED, u32 *min_possible_feerate UNNEEDED, u32 *max_possible_feerate UNNEEDED, struct pubkey **possible_remote_per_commit_point UNNEEDED, struct pubkey *local_funding_pubkey UNNEEDED, struct pubkey *remote_funding_pubkey UNNEEDED, bool *option_static_remotekey UNNEEDED, bool *option_anchor_outputs UNNEEDED, bool *is_replay UNNEEDED)
{ fprintf(stderr, "fromwire_onchaind_init called!\n"); abort(); }
/* Generated stub for fromwire_onchaind_known_preimage */
bool fromwire_onchaind_known_preimage(const void *p UNNEEDED, struct preimage *preimage UNNEEDED, bool *is_replay UNNEEDED)
{ fprintf(stderr, "fromwire_onchaind_known_preimage called!\n"); abort(); }
/* Generated stub for fromwire_onchaind_spent */
bool fromwire_onchaind_spent(const tal_t *ctx UNNEEDED, const void *p UNNEEDED, struct tx_parts **tx UNNEEDED, u32 *input_num UNNEEDED, u32 *blockheight UNNEEDED, bool *is_replay UNNEEDED)
{ fprintf(stderr, "fromwire_onchaind_spent called!\n"); abort(); }
/* Generated stub for fromwire_secp256k1_ecdsa_signature */
void fromwire_secp256k1_ecdsa_signature(const u8 **cursor UNNEEDED, size_t *max UNNEEDED,
secp256k1_ecdsa_signature *signature UNNEEDED)
@@ -253,42 +253,42 @@ u8 *towire_hsmd_sign_penalty_to_us(const tal_t *ctx UNNEEDED, const struct secre
/* Generated stub for towire_hsmd_sign_remote_htlc_to_us */
u8 *towire_hsmd_sign_remote_htlc_to_us(const tal_t *ctx UNNEEDED, const struct pubkey *remote_per_commitment_point UNNEEDED, const struct bitcoin_tx *tx UNNEEDED, const u8 *wscript UNNEEDED, bool option_anchor_outputs UNNEEDED)
{ fprintf(stderr, "towire_hsmd_sign_remote_htlc_to_us called!\n"); abort(); }
/* Generated stub for towire_onchain_add_utxo */
u8 *towire_onchain_add_utxo(const tal_t *ctx UNNEEDED, const struct bitcoin_txid *prev_out_tx UNNEEDED, u32 prev_out_index UNNEEDED, const struct pubkey *per_commit_point UNNEEDED, struct amount_sat value UNNEEDED, u32 blockheight UNNEEDED, const u8 *scriptpubkey UNNEEDED)
{ fprintf(stderr, "towire_onchain_add_utxo called!\n"); abort(); }
/* Generated stub for towire_onchain_all_irrevocably_resolved */
u8 *towire_onchain_all_irrevocably_resolved(const tal_t *ctx UNNEEDED)
{ fprintf(stderr, "towire_onchain_all_irrevocably_resolved called!\n"); abort(); }
/* Generated stub for towire_onchain_annotate_txin */
u8 *towire_onchain_annotate_txin(const tal_t *ctx UNNEEDED, const struct bitcoin_txid *txid UNNEEDED, u32 innum UNNEEDED, enum wallet_tx_type type UNNEEDED)
{ fprintf(stderr, "towire_onchain_annotate_txin called!\n"); abort(); }
/* Generated stub for towire_onchain_annotate_txout */
u8 *towire_onchain_annotate_txout(const tal_t *ctx UNNEEDED, const struct bitcoin_txid *txid UNNEEDED, u32 outnum UNNEEDED, enum wallet_tx_type type UNNEEDED)
{ fprintf(stderr, "towire_onchain_annotate_txout called!\n"); abort(); }
/* Generated stub for towire_onchain_broadcast_tx */
u8 *towire_onchain_broadcast_tx(const tal_t *ctx UNNEEDED, const struct bitcoin_tx *tx UNNEEDED, enum wallet_tx_type type UNNEEDED)
{ fprintf(stderr, "towire_onchain_broadcast_tx called!\n"); abort(); }
/* Generated stub for towire_onchain_dev_memleak_reply */
u8 *towire_onchain_dev_memleak_reply(const tal_t *ctx UNNEEDED, bool leak UNNEEDED)
{ fprintf(stderr, "towire_onchain_dev_memleak_reply called!\n"); abort(); }
/* Generated stub for towire_onchain_extracted_preimage */
u8 *towire_onchain_extracted_preimage(const tal_t *ctx UNNEEDED, const struct preimage *preimage UNNEEDED)
{ fprintf(stderr, "towire_onchain_extracted_preimage called!\n"); abort(); }
/* Generated stub for towire_onchain_htlc_timeout */
u8 *towire_onchain_htlc_timeout(const tal_t *ctx UNNEEDED, const struct htlc_stub *htlc UNNEEDED)
{ fprintf(stderr, "towire_onchain_htlc_timeout called!\n"); abort(); }
/* Generated stub for towire_onchain_init_reply */
u8 *towire_onchain_init_reply(const tal_t *ctx UNNEEDED)
{ fprintf(stderr, "towire_onchain_init_reply called!\n"); abort(); }
/* Generated stub for towire_onchain_missing_htlc_output */
u8 *towire_onchain_missing_htlc_output(const tal_t *ctx UNNEEDED, const struct htlc_stub *htlc UNNEEDED)
{ fprintf(stderr, "towire_onchain_missing_htlc_output called!\n"); abort(); }
/* Generated stub for towire_onchain_notify_coin_mvt */
u8 *towire_onchain_notify_coin_mvt(const tal_t *ctx UNNEEDED, const struct chain_coin_mvt *mvt UNNEEDED)
{ fprintf(stderr, "towire_onchain_notify_coin_mvt called!\n"); abort(); }
/* Generated stub for towire_onchain_unwatch_tx */
u8 *towire_onchain_unwatch_tx(const tal_t *ctx UNNEEDED, const struct bitcoin_txid *txid UNNEEDED)
{ fprintf(stderr, "towire_onchain_unwatch_tx called!\n"); abort(); }
/* Generated stub for towire_onchaind_add_utxo */
u8 *towire_onchaind_add_utxo(const tal_t *ctx UNNEEDED, const struct bitcoin_txid *prev_out_tx UNNEEDED, u32 prev_out_index UNNEEDED, const struct pubkey *per_commit_point UNNEEDED, struct amount_sat value UNNEEDED, u32 blockheight UNNEEDED, const u8 *scriptpubkey UNNEEDED)
{ fprintf(stderr, "towire_onchaind_add_utxo called!\n"); abort(); }
/* Generated stub for towire_onchaind_all_irrevocably_resolved */
u8 *towire_onchaind_all_irrevocably_resolved(const tal_t *ctx UNNEEDED)
{ fprintf(stderr, "towire_onchaind_all_irrevocably_resolved called!\n"); abort(); }
/* Generated stub for towire_onchaind_annotate_txin */
u8 *towire_onchaind_annotate_txin(const tal_t *ctx UNNEEDED, const struct bitcoin_txid *txid UNNEEDED, u32 innum UNNEEDED, enum wallet_tx_type type UNNEEDED)
{ fprintf(stderr, "towire_onchaind_annotate_txin called!\n"); abort(); }
/* Generated stub for towire_onchaind_annotate_txout */
u8 *towire_onchaind_annotate_txout(const tal_t *ctx UNNEEDED, const struct bitcoin_txid *txid UNNEEDED, u32 outnum UNNEEDED, enum wallet_tx_type type UNNEEDED)
{ fprintf(stderr, "towire_onchaind_annotate_txout called!\n"); abort(); }
/* Generated stub for towire_onchaind_broadcast_tx */
u8 *towire_onchaind_broadcast_tx(const tal_t *ctx UNNEEDED, const struct bitcoin_tx *tx UNNEEDED, enum wallet_tx_type type UNNEEDED)
{ fprintf(stderr, "towire_onchaind_broadcast_tx called!\n"); abort(); }
/* Generated stub for towire_onchaind_dev_memleak_reply */
u8 *towire_onchaind_dev_memleak_reply(const tal_t *ctx UNNEEDED, bool leak UNNEEDED)
{ fprintf(stderr, "towire_onchaind_dev_memleak_reply called!\n"); abort(); }
/* Generated stub for towire_onchaind_extracted_preimage */
u8 *towire_onchaind_extracted_preimage(const tal_t *ctx UNNEEDED, const struct preimage *preimage UNNEEDED)
{ fprintf(stderr, "towire_onchaind_extracted_preimage called!\n"); abort(); }
/* Generated stub for towire_onchaind_htlc_timeout */
u8 *towire_onchaind_htlc_timeout(const tal_t *ctx UNNEEDED, const struct htlc_stub *htlc UNNEEDED)
{ fprintf(stderr, "towire_onchaind_htlc_timeout called!\n"); abort(); }
/* Generated stub for towire_onchaind_init_reply */
u8 *towire_onchaind_init_reply(const tal_t *ctx UNNEEDED)
{ fprintf(stderr, "towire_onchaind_init_reply called!\n"); abort(); }
/* Generated stub for towire_onchaind_missing_htlc_output */
u8 *towire_onchaind_missing_htlc_output(const tal_t *ctx UNNEEDED, const struct htlc_stub *htlc UNNEEDED)
{ fprintf(stderr, "towire_onchaind_missing_htlc_output called!\n"); abort(); }
/* Generated stub for towire_onchaind_notify_coin_mvt */
u8 *towire_onchaind_notify_coin_mvt(const tal_t *ctx UNNEEDED, const struct chain_coin_mvt *mvt UNNEEDED)
{ fprintf(stderr, "towire_onchaind_notify_coin_mvt called!\n"); abort(); }
/* Generated stub for towire_onchaind_unwatch_tx */
u8 *towire_onchaind_unwatch_tx(const tal_t *ctx UNNEEDED, const struct bitcoin_txid *txid UNNEEDED)
{ fprintf(stderr, "towire_onchaind_unwatch_tx called!\n"); abort(); }
/* Generated stub for towire_secp256k1_ecdsa_signature */
void towire_secp256k1_ecdsa_signature(u8 **pptr UNNEEDED,
const secp256k1_ecdsa_signature *signature UNNEEDED)