core-lightning/openingd/dualopend_wire.csv
niftynei beec517910 df: persist our setting to disk, read back to dualopend at reinit
It's not likely but possible that the node's settings will shift btw a
start and an RBF; we persist the setting to the database so we don't
lose it.

Right now holding onto it forever is kind of extra but maybe we'll
reuse the setting for splices? idk.

Should this be a channel type??
2023-02-07 21:03:36 -06:00

275 lines
12 KiB
CSV

#include <bitcoin/chainparams.h>
#include <bitcoin/psbt.h>
#include <common/cryptomsg.h>
#include <common/channel_config.h>
#include <common/channel_id.h>
#include <common/channel_type.h>
#include <common/derive_basepoints.h>
#include <common/features.h>
#include <common/fee_states.h>
#include <common/htlc_wire.h>
#include <common/penalty_base.h>
#include <common/tx_roles.h>
#include <secp256k1.h>
#include <wire/peer_wire.h>
msgtype,dualopend_init,7000
# Which network are we configured for?
msgdata,dualopend_init,chainparams,chainparams,
msgdata,dualopend_init,our_feature_set,feature_set,
msgdata,dualopend_init,their_init_features_len,u16,
msgdata,dualopend_init,their_init_features,u8,their_init_features_len
# Base configuration we'll offer
msgdata,dualopend_init,our_config,channel_config,
# Minimum/maximum configuration values we'll accept
msgdata,dualopend_init,max_to_self_delay,u32,
msgdata,dualopend_init,min_effective_htlc_capacity_msat,amount_msat,
msgdata,dualopend_init,our_basepoints,basepoints,
msgdata,dualopend_init,our_funding_pubkey,pubkey,
# Constraints in case the other end tries to open a channel.
msgdata,dualopend_init,minimum_depth,u32,
msgdata,dualopend_init,require_confirmed_inputs,bool,
# master-dualopend: peer has reconnected
msgtype,dualopend_reinit,7001
msgdata,dualopend_reinit,chainparams,chainparams,
msgdata,dualopend_reinit,our_feature_set,feature_set,
msgdata,dualopend_reinit,their_init_features_len,u16,
msgdata,dualopend_reinit,their_init_features,u8,their_init_features_len
msgdata,dualopend_reinit,our_config,channel_config,
msgdata,dualopend_reinit,their_config,channel_config,
msgdata,dualopend_reinit,channel_id,channel_id,
msgdata,dualopend_reinit,max_to_self_delay,u32,
msgdata,dualopend_reinit,min_effective_htlc_capacity_msat,amount_msat,
msgdata,dualopend_reinit,our_basepoints,basepoints,
msgdata,dualopend_reinit,our_funding_pubkey,pubkey,
msgdata,dualopend_reinit,their_funding_pubkey,pubkey,
msgdata,dualopend_reinit,minimum_depth,u32,
msgdata,dualopend_reinit,funding,bitcoin_outpoint,
msgdata,dualopend_reinit,most_recent_feerate_per_kw_funding,u32,
msgdata,dualopend_reinit,funding_satoshi,amount_sat,
msgdata,dualopend_reinit,our_funding,amount_msat,
msgdata,dualopend_reinit,their_basepoints,basepoints,
msgdata,dualopend_reinit,remote_per_commit,pubkey,
msgdata,dualopend_reinit,funding_psbt,wally_psbt,
msgdata,dualopend_reinit,opener,enum side,
msgdata,dualopend_reinit,local_channel_ready,bool,
msgdata,dualopend_reinit,remote_channel_ready,bool,
msgdata,dualopend_reinit,send_shutdown,bool,
msgdata,dualopend_reinit,remote_shutdown_received,bool,
msgdata,dualopend_reinit,local_shutdown_len,u16,
msgdata,dualopend_reinit,local_shutdown_scriptpubkey,u8,local_shutdown_len
msgdata,dualopend_reinit,remote_shutdown_len,u16,
msgdata,dualopend_reinit,remote_shutdown_scriptpubkey,u8,remote_shutdown_len
msgdata,dualopend_reinit,local_shutdown_wallet_index,?u32,
msgdata,dualopend_reinit,remote_funding_sigs_received,bool,
msgdata,dualopend_reinit,fee_states,fee_states,
msgdata,dualopend_reinit,channel_flags,u8,
msgdata,dualopend_reinit,lease_start_blockheight,u32,
msgdata,dualopend_reinit,lease_expiry,u32,
msgdata,dualopend_reinit,lease_commit_sig,?secp256k1_ecdsa_signature,
msgdata,dualopend_reinit,lease_chan_max_msat,u32,
msgdata,dualopend_reinit,lease_chan_max_ppt,u16,
msgdata,dualopend_reinit,requested_lease,?amount_sat,
msgdata,dualopend_reinit,channel_type,channel_type,
msgdata,dualopend_reinit,we_require_confirmed_inputs,bool,
msgdata,dualopend_reinit,they_require_confirmed_inputs,bool,
# dualopend->master: they offered channel, should we continue?
msgtype,dualopend_got_offer,7005
msgdata,dualopend_got_offer,channel_id,channel_id,
msgdata,dualopend_got_offer,opener_funding,amount_sat,
msgdata,dualopend_got_offer,dust_limit_satoshis,amount_sat,
msgdata,dualopend_got_offer,max_htlc_value_in_flight_msat,amount_msat,
msgdata,dualopend_got_offer,htlc_minimum_msat,amount_msat,
msgdata,dualopend_got_offer,feerate_per_kw_funding,u32,
msgdata,dualopend_got_offer,feerate_per_kw_commitment,u32,
msgdata,dualopend_got_offer,to_self_delay,u16,
msgdata,dualopend_got_offer,max_accepted_htlcs,u16,
msgdata,dualopend_got_offer,channel_flags,u8,
msgdata,dualopend_got_offer,locktime,u32,
msgdata,dualopend_got_offer,shutdown_len,u16,
msgdata,dualopend_got_offer,shutdown_scriptpubkey,u8,shutdown_len
msgdata,dualopend_got_offer,requested_amt,?amount_sat,
msgdata,dualopend_got_offer,lease_blockheight_start,u32,
msgdata,dualopend_got_offer,require_confirmed_inputs,bool,
# master->dualopend: reply back with our first funding info/contribs
msgtype,dualopend_got_offer_reply,7105
msgdata,dualopend_got_offer_reply,accepter_funding,amount_sat,
msgdata,dualopend_got_offer_reply,psbt,wally_psbt,
msgdata,dualopend_got_offer_reply,shutdown_len,u16,
msgdata,dualopend_got_offer_reply,our_shutdown_scriptpubkey,?u8,shutdown_len
msgdata,dualopend_got_offer_reply,our_shutdown_wallet_index,?u32,
# must go last because of embedded tu32
msgdata,dualopend_got_offer_reply,lease_rates,?lease_rates,
# dualopend->master: they offered a RBF, should we continue?
msgtype,dualopend_got_rbf_offer,7500
msgdata,dualopend_got_rbf_offer,channel_id,channel_id,
msgdata,dualopend_got_rbf_offer,their_last_funding,amount_sat,
msgdata,dualopend_got_rbf_offer,their_curr_funding,amount_sat,
msgdata,dualopend_got_rbf_offer,our_last_funding,amount_sat,
msgdata,dualopend_got_rbf_offer,funding_feerate_per_kw,u32,
msgdata,dualopend_got_rbf_offer,locktime,u32,
msgdata,dualopend_got_rbf_offer,requested_lease,?amount_sat,
# master->dualopend: reply back with our funding info/contribs
msgtype,dualopend_got_rbf_offer_reply,7505
msgdata,dualopend_got_rbf_offer_reply,our_funding,amount_sat,
msgdata,dualopend_got_rbf_offer_reply,psbt,wally_psbt,
# dualopend->master: is this a valid RBF candidate transaction?
msgtype,dualopend_rbf_validate,7506
msgdata,dualopend_rbf_validate,proposed_funding_psbt,wally_psbt,
# master->dualopend: this is a valid RBF candidate transaction
msgtype,dualopend_rbf_valid,7507
# master->dualopend: attempt an RBF
msgtype,dualopend_rbf_init,7509
msgdata,dualopend_rbf_init,our_funding,amount_sat,
msgdata,dualopend_rbf_init,funding_feerate_perkw,u32,
msgdata,dualopend_rbf_init,psbt,wally_psbt,
# dualopend->master: ready to commit channel open to database and
# get some signatures for the funding_tx.
msgtype,dualopend_commit_rcvd,7007
msgdata,dualopend_commit_rcvd,their_config,channel_config,
msgdata,dualopend_commit_rcvd,remote_first_commit,bitcoin_tx,
msgdata,dualopend_commit_rcvd,pbase,?penalty_base,
msgdata,dualopend_commit_rcvd,first_commit_sig,bitcoin_signature,
msgdata,dualopend_commit_rcvd,psbt,wally_psbt,
msgdata,dualopend_commit_rcvd,revocation_basepoint,pubkey,
msgdata,dualopend_commit_rcvd,payment_basepoint,pubkey,
msgdata,dualopend_commit_rcvd,htlc_basepoint,pubkey,
msgdata,dualopend_commit_rcvd,delayed_payment_basepoint,pubkey,
msgdata,dualopend_commit_rcvd,their_per_commit_point,pubkey,
msgdata,dualopend_commit_rcvd,remote_fundingkey,pubkey,
msgdata,dualopend_commit_rcvd,funding,bitcoin_outpoint,
msgdata,dualopend_commit_rcvd,funding_satoshis,amount_sat,
msgdata,dualopend_commit_rcvd,our_funding_sats,amount_sat,
msgdata,dualopend_commit_rcvd,channel_flags,u8,
msgdata,dualopend_commit_rcvd,feerate_per_kw_funding,u32,
msgdata,dualopend_commit_rcvd,feerate_per_kw_commitment,u32,
msgdata,dualopend_commit_rcvd,local_shutdown_len,u16,
msgdata,dualopend_commit_rcvd,local_shutdown_scriptpubkey,u8,local_shutdown_len
msgdata,dualopend_commit_rcvd,remote_shutdown_len,u16,
msgdata,dualopend_commit_rcvd,remote_shutdown_scriptpubkey,u8,remote_shutdown_len
msgdata,dualopend_commit_rcvd,lease_amt,amount_sat,
msgdata,dualopend_commit_rcvd,lease_start_blockheight,u32,
msgdata,dualopend_commit_rcvd,lease_expiry,u32,
msgdata,dualopend_commit_rcvd,lease_fee,amount_sat,
msgdata,dualopend_commit_rcvd,lease_commit_sig,?secp256k1_ecdsa_signature,
msgdata,dualopend_commit_rcvd,lease_chan_max_msat,u32,
msgdata,dualopend_commit_rcvd,lease_chan_max_ppt,u16,
msgdata,dualopend_commit_rcvd,channel_type,channel_type,
# dualopend->master: peer updated the psbt
msgtype,dualopend_psbt_changed,7107
msgdata,dualopend_psbt_changed,channel_id,channel_id,
msgdata,dualopend_psbt_changed,requires_confirmed_inputs,bool,
msgdata,dualopend_psbt_changed,funding_serial,u64,
msgdata,dualopend_psbt_changed,psbt,wally_psbt,
# master->dualopend: we updated the psbt
msgtype,dualopend_psbt_updated,7108
msgdata,dualopend_psbt_updated,psbt,wally_psbt,
# master->dualopend: fail this channel open
msgtype,dualopend_fail,7003
msgdata,dualopend_fail,reason,wirestring,
# master->dualopend: hello, I'd like to start a channel open
msgtype,dualopend_opener_init,7200
msgdata,dualopend_opener_init,psbt,wally_psbt,
msgdata,dualopend_opener_init,funding_amount,amount_sat,
msgdata,dualopend_opener_init,local_shutdown_len,u16,
msgdata,dualopend_opener_init,local_shutdown_scriptpubkey,u8,local_shutdown_len
msgdata,dualopend_opener_init,local_shutdown_wallet_index,?u32,
msgdata,dualopend_opener_init,feerate_per_kw,u32,
msgdata,dualopend_opener_init,feerate_per_kw_funding,u32,
msgdata,dualopend_opener_init,channel_flags,u8,
msgdata,dualopend_opener_init,requested_sats,?amount_sat,
msgdata,dualopend_opener_init,blockheight,u32,
msgdata,dualopend_opener_init,dry_run,bool,
# must go last because embedded tu32
msgdata,dualopend_opener_init,expected_rates,?lease_rates,
# dualopend->master received tx_sigs from peer
msgtype,dualopend_funding_sigs,7010
msgdata,dualopend_funding_sigs,signed_psbt,wally_psbt,
# master->dualopend send our tx_sigs to peer
msgtype,dualopend_send_tx_sigs,7011
msgdata,dualopend_send_tx_sigs,signed_psbt,wally_psbt,
# dualopend->master tx sigs transmitted to peer
msgtype,dualopend_tx_sigs_sent,7012
# dualopend->peer peer locked channel
msgtype,dualopend_peer_locked,7018
msgdata,dualopend_peer_locked,remote_per_commit,pubkey,
# dualopend->master this channel has been locked
msgtype,dualopend_channel_locked,7019
# master->dualopend funding reached depth; tell peer
msgtype,dualopend_depth_reached,7020
msgdata,dualopend_depth_reached,depth,u32,
# Tell peer to shut down channel.
msgtype,dualopend_send_shutdown,7023
msgdata,dualopend_send_shutdown,shutdown_scriptpubkey_len,u16,
msgdata,dualopend_send_shutdown,shutdown_scriptpubkey,u8,shutdown_scriptpubkey_len
# Peer told us that channel is shutting down
msgtype,dualopend_got_shutdown,7024
msgdata,dualopend_got_shutdown,scriptpubkey_len,u16,
msgdata,dualopend_got_shutdown,scriptpubkey,u8,scriptpubkey_len
# Peer presented proof it was from the future.
msgtype,dualopend_fail_fallen_behind,1028
# Shutdown is complete, ready for closing negotiation. + peer_fd & gossip_fd.
msgtype,dualopend_shutdown_complete,7025
# master -> dualopend: do you have a memleak?
msgtype,dualopend_dev_memleak,7033
msgtype,dualopend_dev_memleak_reply,7133
msgdata,dualopend_dev_memleak_reply,leak,bool,
# dualopend -> master: this was a dry run, here's some info about this open
msgtype,dualopend_dry_run,7026
msgdata,dualopend_dry_run,channel_id,channel_id,
msgdata,dualopend_dry_run,our_funding,amount_sat,
msgdata,dualopend_dry_run,their_funding,amount_sat,
msgdata,dualopend_dry_run,requires_confirmed_inputs,bool,
# must go last because of embedded tu32
msgdata,dualopend_dry_run,lease_rates,?lease_rates,
# dualopend -> master: are inputs in this psbt confirmed?
msgtype,dualopend_validate_inputs,7029
msgdata,dualopend_validate_inputs,psbt,wally_psbt,
msgdata,dualopend_validate_inputs,side,enum tx_role,
# master -> dualopend: confirms inputs are valid
msgtype,dualopend_validate_inputs_reply,7030
# dualopend -> master: validate liqudity offer sig
msgtype,dualopend_validate_lease,7027
msgdata,dualopend_validate_lease,sig,secp256k1_ecdsa_signature,
msgdata,dualopend_validate_lease,lease_expiry,u32,
msgdata,dualopend_validate_lease,chan_fee_max_base_msat,u32,
msgdata,dualopend_validate_lease,chan_fee_max_ppt,u16,
msgdata,dualopend_validate_lease,their_pubkey,pubkey,
msgtype,dualopend_validate_lease_reply,7127
msgdata,dualopend_validate_lease_reply,err_msg,?wirestring,
# Tell gossipd about this (as-yet) unannounced channel
msgtype,dualopend_local_private_channel,7015
msgdata,dualopend_local_private_channel,capacity,amount_sat,
msgdata,dualopend_local_private_channel,len,u16,
msgdata,dualopend_local_private_channel,features,u8,len