Files
palladum-lightning/openingd/dualopend_wire.csv
Rusty Russell d7ffb712e5 dualopend: restore memleak calls.
And implement a timeout (20 seconds) just in case it's not listening.

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2022-03-10 09:40:09 +10:30

11 KiB

1#include <bitcoin/chainparams.h>
2#include <bitcoin/psbt.h>
3#include <common/cryptomsg.h>
4#include <common/channel_config.h>
5#include <common/channel_id.h>
6#include <common/derive_basepoints.h>
7#include <common/features.h>
8#include <common/fee_states.h>
9#include <common/htlc_wire.h>
10#include <common/penalty_base.h>
11#include <secp256k1.h>
12#include <wire/peer_wire.h>
13msgtypedualopend_init7000
14# Which network are we configured for?
15msgdatadualopend_initchainparamschainparams
16msgdatadualopend_initour_feature_setfeature_set
17msgdatadualopend_inittheir_init_features_lenu16
18msgdatadualopend_inittheir_init_featuresu8their_init_features_len
19# Base configuration we'll offer
20msgdatadualopend_initour_configchannel_config
21# Minimum/maximum configuration values we'll accept
22msgdatadualopend_initmax_to_self_delayu32
23msgdatadualopend_initmin_effective_htlc_capacity_msatamount_msat
24msgdatadualopend_initour_basepointsbasepoints
25msgdatadualopend_initour_funding_pubkeypubkey
26# Constraints in case the other end tries to open a channel.
27msgdatadualopend_initminimum_depthu32
28# master-dualopend: peer has reconnected
29msgtypedualopend_reinit7001
30msgdatadualopend_reinitchainparamschainparams
31msgdatadualopend_reinitour_feature_setfeature_set
32msgdatadualopend_reinittheir_init_features_lenu16
33msgdatadualopend_reinittheir_init_featuresu8their_init_features_len
34msgdatadualopend_reinitour_configchannel_config
35msgdatadualopend_reinittheir_configchannel_config
36msgdatadualopend_reinitchannel_idchannel_id
37msgdatadualopend_reinitmax_to_self_delayu32
38msgdatadualopend_reinitmin_effective_htlc_capacity_msatamount_msat
39msgdatadualopend_reinitour_basepointsbasepoints
40msgdatadualopend_reinitour_funding_pubkeypubkey
41msgdatadualopend_reinittheir_funding_pubkeypubkey
42msgdatadualopend_reinitminimum_depthu32
43msgdatadualopend_reinitfundingbitcoin_outpoint
44msgdatadualopend_reinitmost_recent_feerate_per_kw_fundingu32
45msgdatadualopend_reinitfunding_satoshiamount_sat
46msgdatadualopend_reinitour_fundingamount_msat
47msgdatadualopend_reinittheir_basepointsbasepoints
48msgdatadualopend_reinitremote_per_commitpubkey
49msgdatadualopend_reinitfunding_psbtwally_psbt
50msgdatadualopend_reinitopenerenum side
51msgdatadualopend_reinitlocal_funding_lockedbool
52msgdatadualopend_reinitremote_funding_lockedbool
53msgdatadualopend_reinitsend_shutdownbool
54msgdatadualopend_reinitremote_shutdown_receivedbool
55msgdatadualopend_reinitlocal_shutdown_lenu16
56msgdatadualopend_reinitlocal_shutdown_scriptpubkeyu8local_shutdown_len
57msgdatadualopend_reinitremote_shutdown_lenu16
58msgdatadualopend_reinitremote_shutdown_scriptpubkeyu8remote_shutdown_len
59msgdatadualopend_reinitlocal_shutdown_wallet_index?u32
60msgdatadualopend_reinitremote_funding_sigs_receivedbool
61msgdatadualopend_reinitfee_statesfee_states
62msgdatadualopend_reinitchannel_flagsu8
63msgdatadualopend_reinitlease_start_blockheightu32
64msgdatadualopend_reinitlease_expiryu32
65msgdatadualopend_reinitlease_commit_sig?secp256k1_ecdsa_signature
66msgdatadualopend_reinitlease_chan_max_msatu32
67msgdatadualopend_reinitlease_chan_max_pptu16
68# dualopend->master: they offered channelshould we continue?
69msgtypedualopend_got_offer7005
70msgdatadualopend_got_offerchannel_idchannel_id
71msgdatadualopend_got_offeropener_fundingamount_sat
72msgdatadualopend_got_offerdust_limit_satoshisamount_sat
73msgdatadualopend_got_offermax_htlc_value_in_flight_msatamount_msat
74msgdatadualopend_got_offerhtlc_minimum_msatamount_msat
75msgdatadualopend_got_offerfeerate_per_kw_fundingu32
76msgdatadualopend_got_offerfeerate_per_kw_commitmentu32
77msgdatadualopend_got_offerto_self_delayu16
78msgdatadualopend_got_offermax_accepted_htlcsu16
79msgdatadualopend_got_offerchannel_flagsu8
80msgdatadualopend_got_offerlocktimeu32
81msgdatadualopend_got_offershutdown_lenu16
82msgdatadualopend_got_offershutdown_scriptpubkeyu8shutdown_len
83msgdatadualopend_got_offerrequested_amtamount_sat
84msgdatadualopend_got_offerlease_blockheight_startu32
85# master->dualopend: reply back with our first funding info/contribs
86msgtypedualopend_got_offer_reply7105
87msgdatadualopend_got_offer_replyaccepter_fundingamount_sat
88msgdatadualopend_got_offer_replypsbtwally_psbt
89msgdatadualopend_got_offer_replyshutdown_lenu16
90msgdatadualopend_got_offer_replyour_shutdown_scriptpubkey?u8shutdown_len
91msgdatadualopend_got_offer_replyour_shutdown_wallet_index?u32
92# must go last because of embedded tu32
93msgdatadualopend_got_offer_replylease_rates?lease_rates
94# dualopend->master: they offered a RBFshould we continue?
95msgtypedualopend_got_rbf_offer7500
96msgdatadualopend_got_rbf_offerchannel_idchannel_id
97msgdatadualopend_got_rbf_offertheir_fundingamount_sat
98msgdatadualopend_got_rbf_offerfunding_feerate_per_kwu32
99msgdatadualopend_got_rbf_offerlocktimeu32
100# master->dualopend: reply back with our funding info/contribs
101msgtypedualopend_got_rbf_offer_reply7505
102msgdatadualopend_got_rbf_offer_replyour_fundingamount_sat
103msgdatadualopend_got_rbf_offer_replypsbtwally_psbt
104# dualopend->master: is this a valid RBF candidate transaction?
105msgtypedualopend_rbf_validate7506
106msgdatadualopend_rbf_validateproposed_funding_psbtwally_psbt
107# master->dualopend: this is a valid RBF candidate transaction
108msgtypedualopend_rbf_valid7507
109# master->dualopend: attempt an RBF
110msgtypedualopend_rbf_init7509
111msgdatadualopend_rbf_initour_fundingamount_sat
112msgdatadualopend_rbf_initfunding_feerate_perkwu32
113msgdatadualopend_rbf_initpsbtwally_psbt
114# dualopend->master: ready to commit channel open to database and
115# get some signatures for the funding_tx.
116msgtypedualopend_commit_rcvd7007
117msgdatadualopend_commit_rcvdtheir_configchannel_config
118msgdatadualopend_commit_rcvdremote_first_commitbitcoin_tx
119msgdatadualopend_commit_rcvdpbase?penalty_base
120msgdatadualopend_commit_rcvdfirst_commit_sigbitcoin_signature
121msgdatadualopend_commit_rcvdpsbtwally_psbt
122msgdatadualopend_commit_rcvdrevocation_basepointpubkey
123msgdatadualopend_commit_rcvdpayment_basepointpubkey
124msgdatadualopend_commit_rcvdhtlc_basepointpubkey
125msgdatadualopend_commit_rcvddelayed_payment_basepointpubkey
126msgdatadualopend_commit_rcvdtheir_per_commit_pointpubkey
127msgdatadualopend_commit_rcvdremote_fundingkeypubkey
128msgdatadualopend_commit_rcvdfundingbitcoin_outpoint
129msgdatadualopend_commit_rcvdfunding_satoshisamount_sat
130msgdatadualopend_commit_rcvdour_funding_satsamount_sat
131msgdatadualopend_commit_rcvdchannel_flagsu8
132msgdatadualopend_commit_rcvdfeerate_per_kw_fundingu32
133msgdatadualopend_commit_rcvdfeerate_per_kw_commitmentu32
134msgdatadualopend_commit_rcvdlocal_shutdown_lenu16
135msgdatadualopend_commit_rcvdlocal_shutdown_scriptpubkeyu8local_shutdown_len
136msgdatadualopend_commit_rcvdremote_shutdown_lenu16
137msgdatadualopend_commit_rcvdremote_shutdown_scriptpubkeyu8remote_shutdown_len
138msgdatadualopend_commit_rcvdlease_start_blockheightu32
139msgdatadualopend_commit_rcvdlease_expiryu32
140msgdatadualopend_commit_rcvdlease_feeamount_sat
141msgdatadualopend_commit_rcvdlease_commit_sig?secp256k1_ecdsa_signature
142msgdatadualopend_commit_rcvdlease_chan_max_msatu32
143msgdatadualopend_commit_rcvdlease_chan_max_pptu16
144# dualopend->master: peer updated the psbt
145msgtypedualopend_psbt_changed7107
146msgdatadualopend_psbt_changedchannel_idchannel_id
147msgdatadualopend_psbt_changedfunding_serialu64
148msgdatadualopend_psbt_changedpsbtwally_psbt
149# master->dualopend: we updated the psbt
150msgtypedualopend_psbt_updated7108
151msgdatadualopend_psbt_updatedpsbtwally_psbt
152# master->dualopend: fail this channel open
153msgtypedualopend_fail7003
154msgdatadualopend_failreasonwirestring
155# master->dualopend: helloI'd like to start a channel open
156msgtypedualopend_opener_init7200
157msgdatadualopend_opener_initpsbtwally_psbt
158msgdatadualopend_opener_initfunding_amountamount_sat
159msgdatadualopend_opener_initlocal_shutdown_lenu16
160msgdatadualopend_opener_initlocal_shutdown_scriptpubkeyu8local_shutdown_len
161msgdatadualopend_opener_initlocal_shutdown_wallet_index?u32
162msgdatadualopend_opener_initfeerate_per_kwu32
163msgdatadualopend_opener_initfeerate_per_kw_fundingu32
164msgdatadualopend_opener_initchannel_flagsu8
165msgdatadualopend_opener_initrequested_satsamount_sat
166msgdatadualopend_opener_initblockheightu32
167msgdatadualopend_opener_initdry_runbool
168# must go last because embedded tu32
169msgdatadualopend_opener_initexpected_rates?lease_rates
170# dualopend->master received tx_sigs from peer
171msgtypedualopend_funding_sigs7010
172msgdatadualopend_funding_sigssigned_psbtwally_psbt
173# master->dualopend send our tx_sigs to peer
174msgtypedualopend_send_tx_sigs7011
175msgdatadualopend_send_tx_sigssigned_psbtwally_psbt
176# dualopend->master tx sigs transmitted to peer
177msgtypedualopend_tx_sigs_sent7012
178# dualopend->peer peer locked channel
179msgtypedualopend_peer_locked7018
180msgdatadualopend_peer_lockedremote_per_commitpubkey
181# dualopend->master this channel has been locked
182msgtypedualopend_channel_locked7019
183# master->dualopend funding reached depth; tell peer
184msgtypedualopend_depth_reached7020
185msgdatadualopend_depth_reacheddepthu32
186# Tell peer to shut down channel.
187msgtypedualopend_send_shutdown7023
188msgdatadualopend_send_shutdownshutdown_scriptpubkey_lenu16
189msgdatadualopend_send_shutdownshutdown_scriptpubkeyu8shutdown_scriptpubkey_len
190# Peer told us that channel is shutting down
191msgtypedualopend_got_shutdown7024
192msgdatadualopend_got_shutdownscriptpubkey_lenu16
193msgdatadualopend_got_shutdownscriptpubkeyu8scriptpubkey_len
194# Peer presented proof it was from the future.
195msgtypedualopend_fail_fallen_behind1028
196# Shutdown is completeready for closing negotiation. + peer_fd & gossip_fd.
197msgtypedualopend_shutdown_complete7025
198# master -> dualopend: do you have a memleak?
199msgtypedualopend_dev_memleak7033
200msgtypedualopend_dev_memleak_reply7133
201msgdatadualopend_dev_memleak_replyleakbool
202# dualopend -> master: this was a dry runhere's some info about this open
203msgtypedualopend_dry_run7026
204msgdatadualopend_dry_runchannel_idchannel_id
205msgdatadualopend_dry_runour_fundingamount_sat
206msgdatadualopend_dry_runtheir_fundingamount_sat
207# must go last because of embedded tu32
208msgdatadualopend_dry_runlease_rates?lease_rates
209# dualopend -> master: validate liqudity offer sig
210msgtypedualopend_validate_lease7027
211msgdatadualopend_validate_leasesigsecp256k1_ecdsa_signature
212msgdatadualopend_validate_leaselease_expiryu32
213msgdatadualopend_validate_leasechan_fee_max_base_msatu32
214msgdatadualopend_validate_leasechan_fee_max_pptu16
215msgdatadualopend_validate_leasetheir_pubkeypubkey
216msgtypedualopend_validate_lease_reply7127
217msgdatadualopend_validate_lease_replyerr_msg?wirestring
218# Tell gossipd about this (as-yet) unannounced channel
219msgtypedualopend_local_private_channel7015
220msgdatadualopend_local_private_channelcapacityamount_sat
221msgdatadualopend_local_private_channellenu16
222msgdatadualopend_local_private_channelfeaturesu8len