Files
palladum-lightning/openingd/dualopend_wire.csv
niftynei b9376ac66b dualfund: report on whether or not we've gotten commitments
We need to keep track of if we've gotten the last negotiation's
commitment sigs, for reconnect logic (helps us know what messages to
send in the reconnect case)
2023-11-02 19:32:05 +10:30

12 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/channel_type.h>
7#include <common/derive_basepoints.h>
8#include <common/features.h>
9#include <common/fee_states.h>
10#include <common/htlc_wire.h>
11#include <common/penalty_base.h>
12#include <common/tx_roles.h>
13#include <secp256k1.h>
14#include <wire/peer_wire.h>
15msgtypedualopend_init7000
16# Which network are we configured for?
17msgdatadualopend_initchainparamschainparams
18msgdatadualopend_initour_feature_setfeature_set
19msgdatadualopend_inittheir_init_features_lenu16
20msgdatadualopend_inittheir_init_featuresu8their_init_features_len
21# Base configuration we'll offer
22msgdatadualopend_initour_configchannel_config
23# Minimum/maximum configuration values we'll accept
24msgdatadualopend_initmax_to_self_delayu32
25msgdatadualopend_initmin_effective_htlc_capacity_msatamount_msat
26msgdatadualopend_initour_basepointsbasepoints
27msgdatadualopend_initour_funding_pubkeypubkey
28# Constraints in case the other end tries to open a channel.
29msgdatadualopend_initminimum_depthu32
30msgdatadualopend_initrequire_confirmed_inputsbool
31# master-dualopend: peer has reconnected
32msgtypedualopend_reinit7001
33msgdatadualopend_reinitchainparamschainparams
34msgdatadualopend_reinitfrom_abortbool
35msgdatadualopend_reinitour_feature_setfeature_set
36msgdatadualopend_reinittheir_init_features_lenu16
37msgdatadualopend_reinittheir_init_featuresu8their_init_features_len
38msgdatadualopend_reinitour_configchannel_config
39msgdatadualopend_reinittheir_configchannel_config
40msgdatadualopend_reinitchannel_idchannel_id
41msgdatadualopend_reinitmax_to_self_delayu32
42msgdatadualopend_reinitmin_effective_htlc_capacity_msatamount_msat
43msgdatadualopend_reinitour_basepointsbasepoints
44msgdatadualopend_reinitour_funding_pubkeypubkey
45msgdatadualopend_reinittheir_funding_pubkeypubkey
46msgdatadualopend_reinitminimum_depthu32
47msgdatadualopend_reinitfundingbitcoin_outpoint
48msgdatadualopend_reinitmost_recent_feerate_per_kw_fundingu32
49msgdatadualopend_reinitfunding_satoshiamount_sat
50msgdatadualopend_reinitour_fundingamount_msat
51msgdatadualopend_reinittheir_basepointsbasepoints
52msgdatadualopend_reinitremote_per_commitpubkey
53msgdatadualopend_reinitfunding_psbtwally_psbt
54msgdatadualopend_reinitopenerenum side
55msgdatadualopend_reinitlocal_channel_readybool
56msgdatadualopend_reinitremote_channel_readybool
57msgdatadualopend_reinitsend_shutdownbool
58msgdatadualopend_reinitremote_shutdown_receivedbool
59msgdatadualopend_reinitlocal_shutdown_lenu16
60msgdatadualopend_reinitlocal_shutdown_scriptpubkeyu8local_shutdown_len
61msgdatadualopend_reinitremote_shutdown_lenu16
62msgdatadualopend_reinitremote_shutdown_scriptpubkeyu8remote_shutdown_len
63msgdatadualopend_reinitlocal_shutdown_wallet_index?u32
64msgdatadualopend_reinitremote_funding_sigs_receivedbool
65msgdatadualopend_reinitremote_commit_receivedbool
66msgdatadualopend_reinitfee_statesfee_states
67msgdatadualopend_reinitchannel_flagsu8
68msgdatadualopend_reinitlease_start_blockheightu32
69msgdatadualopend_reinitlease_expiryu32
70msgdatadualopend_reinitlease_commit_sig?secp256k1_ecdsa_signature
71msgdatadualopend_reinitlease_chan_max_msatu32
72msgdatadualopend_reinitlease_chan_max_pptu16
73msgdatadualopend_reinitrequested_lease?amount_sat
74msgdatadualopend_reinitchannel_typechannel_type
75msgdatadualopend_reinitwe_require_confirmed_inputsbool
76msgdatadualopend_reinitthey_require_confirmed_inputsbool
77# dualopend->master: they offered channelshould we continue?
78msgtypedualopend_got_offer7005
79msgdatadualopend_got_offerchannel_idchannel_id
80msgdatadualopend_got_offeropener_fundingamount_sat
81msgdatadualopend_got_offerdust_limit_satoshisamount_sat
82msgdatadualopend_got_offermax_htlc_value_in_flight_msatamount_msat
83msgdatadualopend_got_offerhtlc_minimum_msatamount_msat
84msgdatadualopend_got_offerfeerate_per_kw_fundingu32
85msgdatadualopend_got_offerfeerate_per_kw_commitmentu32
86msgdatadualopend_got_offerto_self_delayu16
87msgdatadualopend_got_offermax_accepted_htlcsu16
88msgdatadualopend_got_offerchannel_flagsu8
89msgdatadualopend_got_offerlocktimeu32
90msgdatadualopend_got_offershutdown_lenu16
91msgdatadualopend_got_offershutdown_scriptpubkeyu8shutdown_len
92msgdatadualopend_got_offerrequested_amt?amount_sat
93msgdatadualopend_got_offerlease_blockheight_startu32
94msgdatadualopend_got_offerrequire_confirmed_inputsbool
95# master->dualopend: reply back with our first funding info/contribs
96msgtypedualopend_got_offer_reply7105
97msgdatadualopend_got_offer_replyaccepter_fundingamount_sat
98msgdatadualopend_got_offer_replypsbtwally_psbt
99msgdatadualopend_got_offer_replyshutdown_lenu16
100msgdatadualopend_got_offer_replyour_shutdown_scriptpubkey?u8shutdown_len
101msgdatadualopend_got_offer_replyour_shutdown_wallet_index?u32
102# must go last because of embedded tu32
103msgdatadualopend_got_offer_replylease_rates?lease_rates
104# dualopend->master: they offered a RBFshould we continue?
105msgtypedualopend_got_rbf_offer7500
106msgdatadualopend_got_rbf_offerchannel_idchannel_id
107msgdatadualopend_got_rbf_offertheir_last_fundingamount_sat
108msgdatadualopend_got_rbf_offertheir_curr_fundingamount_sat
109msgdatadualopend_got_rbf_offerour_last_fundingamount_sat
110msgdatadualopend_got_rbf_offerfunding_feerate_per_kwu32
111msgdatadualopend_got_rbf_offerlocktimeu32
112msgdatadualopend_got_rbf_offerrequested_lease?amount_sat
113# master->dualopend: reply back with our funding info/contribs
114msgtypedualopend_got_rbf_offer_reply7505
115msgdatadualopend_got_rbf_offer_replyour_fundingamount_sat
116msgdatadualopend_got_rbf_offer_replypsbtwally_psbt
117# dualopend->master: is this a valid RBF candidate transaction?
118msgtypedualopend_rbf_validate7506
119msgdatadualopend_rbf_validateproposed_funding_psbtwally_psbt
120# master->dualopend: this is a valid RBF candidate transaction
121msgtypedualopend_rbf_valid7507
122# master->dualopend: attempt an RBF
123msgtypedualopend_rbf_init7509
124msgdatadualopend_rbf_initour_fundingamount_sat
125msgdatadualopend_rbf_initfunding_feerate_perkwu32
126msgdatadualopend_rbf_initpsbtwally_psbt
127# dualopend->master: about to send first commitment_signed
128msgtypedualopend_commit_ready7009
129msgdatadualopend_commit_readytheir_configchannel_config
130msgdatadualopend_commit_readypsbtwally_psbt
131msgdatadualopend_commit_readyrevocation_basepointpubkey
132msgdatadualopend_commit_readypayment_basepointpubkey
133msgdatadualopend_commit_readyhtlc_basepointpubkey
134msgdatadualopend_commit_readydelayed_payment_basepointpubkey
135msgdatadualopend_commit_readytheir_per_commit_pointpubkey
136msgdatadualopend_commit_readyremote_fundingkeypubkey
137msgdatadualopend_commit_readyfundingbitcoin_outpoint
138msgdatadualopend_commit_readyfunding_satoshisamount_sat
139msgdatadualopend_commit_readyour_funding_satsamount_sat
140msgdatadualopend_commit_readychannel_flagsu8
141msgdatadualopend_commit_readyfeerate_per_kw_fundingu32
142msgdatadualopend_commit_readyfeerate_per_kw_commitmentu32
143msgdatadualopend_commit_readylocal_shutdown_lenu16
144msgdatadualopend_commit_readylocal_shutdown_scriptpubkeyu8local_shutdown_len
145msgdatadualopend_commit_readyremote_shutdown_lenu16
146msgdatadualopend_commit_readyremote_shutdown_scriptpubkeyu8remote_shutdown_len
147msgdatadualopend_commit_readylease_amtamount_sat
148msgdatadualopend_commit_readylease_start_blockheightu32
149msgdatadualopend_commit_readylease_expiryu32
150msgdatadualopend_commit_readylease_feeamount_sat
151msgdatadualopend_commit_readylease_commit_sig?secp256k1_ecdsa_signature
152msgdatadualopend_commit_readylease_chan_max_msatu32
153msgdatadualopend_commit_readylease_chan_max_pptu16
154msgdatadualopend_commit_readychannel_typechannel_type
155# master->dualopend: channel saved to disk
156msgtypedualopend_commit_send_ack7109
157# dualopend->master: received commitment signed from peer
158# get some signatures for the funding_tx.
159msgtypedualopend_commit_rcvd7007
160msgdatadualopend_commit_rcvdremote_first_commitbitcoin_tx
161msgdatadualopend_commit_rcvdfirst_commit_sigbitcoin_signature
162msgdatadualopend_commit_rcvdpbase?penalty_base
163# dualopend->master: peer updated the psbt
164msgtypedualopend_psbt_changed7107
165msgdatadualopend_psbt_changedchannel_idchannel_id
166msgdatadualopend_psbt_changedrequires_confirmed_inputsbool
167msgdatadualopend_psbt_changedfunding_serialu64
168msgdatadualopend_psbt_changedpsbtwally_psbt
169# master->dualopend: we updated the psbt
170msgtypedualopend_psbt_updated7108
171msgdatadualopend_psbt_updatedpsbtwally_psbt
172# master->dualopend: fail this channel open
173msgtypedualopend_fail7003
174msgdatadualopend_failreasonwirestring
175# master->dualopend: helloI'd like to start a channel open
176msgtypedualopend_opener_init7200
177msgdatadualopend_opener_initpsbtwally_psbt
178msgdatadualopend_opener_initfunding_amountamount_sat
179msgdatadualopend_opener_initlocal_shutdown_lenu16
180msgdatadualopend_opener_initlocal_shutdown_scriptpubkeyu8local_shutdown_len
181msgdatadualopend_opener_initlocal_shutdown_wallet_index?u32
182msgdatadualopend_opener_initfeerate_per_kwu32
183msgdatadualopend_opener_initanchor_feerate_per_kwu32
184msgdatadualopend_opener_initfeerate_per_kw_fundingu32
185msgdatadualopend_opener_initchannel_flagsu8
186msgdatadualopend_opener_initrequested_sats?amount_sat
187msgdatadualopend_opener_initblockheightu32
188msgdatadualopend_opener_initdry_runbool
189# must go last because embedded tu32
190msgdatadualopend_opener_initexpected_rates?lease_rates
191# dualopend->master received tx_sigs from peer
192msgtypedualopend_funding_sigs7010
193msgdatadualopend_funding_sigssigned_psbtwally_psbt
194# master->dualopend send our tx_sigs to peer
195msgtypedualopend_send_tx_sigs7011
196msgdatadualopend_send_tx_sigssigned_psbtwally_psbt
197# dualopend->master tx sigs transmitted to peer
198msgtypedualopend_tx_sigs_sent7012
199# dualopend->peer peer locked channel
200msgtypedualopend_peer_locked7018
201msgdatadualopend_peer_lockedremote_per_commitpubkey
202# dualopend->master this channel has been locked
203msgtypedualopend_channel_locked7019
204# master->dualopend funding reached depth; tell peer
205msgtypedualopend_depth_reached7020
206msgdatadualopend_depth_reacheddepthu32
207# Tell peer to shut down channel.
208msgtypedualopend_send_shutdown7023
209msgdatadualopend_send_shutdownshutdown_scriptpubkey_lenu16
210msgdatadualopend_send_shutdownshutdown_scriptpubkeyu8shutdown_scriptpubkey_len
211# Peer told us that channel is shutting down
212msgtypedualopend_got_shutdown7024
213msgdatadualopend_got_shutdownscriptpubkey_lenu16
214msgdatadualopend_got_shutdownscriptpubkeyu8scriptpubkey_len
215# Peer presented proof it was from the future.
216msgtypedualopend_fail_fallen_behind1028
217# Shutdown is completeready for closing negotiation. + peer_fd & gossip_fd.
218msgtypedualopend_shutdown_complete7025
219# master -> dualopend: do you have a memleak?
220msgtypedualopend_dev_memleak7033
221msgtypedualopend_dev_memleak_reply7133
222msgdatadualopend_dev_memleak_replyleakbool
223# dualopend -> master: this was a dry runhere's some info about this open
224msgtypedualopend_dry_run7026
225msgdatadualopend_dry_runchannel_idchannel_id
226msgdatadualopend_dry_runour_fundingamount_sat
227msgdatadualopend_dry_runtheir_fundingamount_sat
228msgdatadualopend_dry_runrequires_confirmed_inputsbool
229# must go last because of embedded tu32
230msgdatadualopend_dry_runlease_rates?lease_rates
231# dualopend -> master: are inputs in this psbt confirmed?
232msgtypedualopend_validate_inputs7029
233msgdatadualopend_validate_inputspsbtwally_psbt
234msgdatadualopend_validate_inputssideenum tx_role
235# master -> dualopend: confirms inputs are valid
236msgtypedualopend_validate_inputs_reply7030
237# dualopend -> master: validate liqudity offer sig
238msgtypedualopend_validate_lease7027
239msgdatadualopend_validate_leasesigsecp256k1_ecdsa_signature
240msgdatadualopend_validate_leaselease_expiryu32
241msgdatadualopend_validate_leasechan_fee_max_base_msatu32
242msgdatadualopend_validate_leasechan_fee_max_pptu16
243msgdatadualopend_validate_leasetheir_pubkeypubkey
244msgtypedualopend_validate_lease_reply7127
245msgdatadualopend_validate_lease_replyerr_msg?wirestring
246# Tell gossipd about this (as-yet) unannounced channel
247msgtypedualopend_local_private_channel7015
248msgdatadualopend_local_private_channelcapacityamount_sat
249msgdatadualopend_local_private_channellenu16
250msgdatadualopend_local_private_channelfeaturesu8len