mirror of
https://github.com/ElementsProject/lightning.git
synced 2025-03-04 03:03:51 +01:00
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??
275 lines
12 KiB
CSV
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
|