mirror of
https://github.com/ElementsProject/lightning.git
synced 2025-03-11 17:57:33 +01:00
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)
284 lines
12 KiB
CSV
284 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,from_abort,bool,
|
|
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,remote_commit_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: about to send first commitment_signed
|
|
msgtype,dualopend_commit_ready,7009
|
|
msgdata,dualopend_commit_ready,their_config,channel_config,
|
|
msgdata,dualopend_commit_ready,psbt,wally_psbt,
|
|
msgdata,dualopend_commit_ready,revocation_basepoint,pubkey,
|
|
msgdata,dualopend_commit_ready,payment_basepoint,pubkey,
|
|
msgdata,dualopend_commit_ready,htlc_basepoint,pubkey,
|
|
msgdata,dualopend_commit_ready,delayed_payment_basepoint,pubkey,
|
|
msgdata,dualopend_commit_ready,their_per_commit_point,pubkey,
|
|
msgdata,dualopend_commit_ready,remote_fundingkey,pubkey,
|
|
msgdata,dualopend_commit_ready,funding,bitcoin_outpoint,
|
|
msgdata,dualopend_commit_ready,funding_satoshis,amount_sat,
|
|
msgdata,dualopend_commit_ready,our_funding_sats,amount_sat,
|
|
msgdata,dualopend_commit_ready,channel_flags,u8,
|
|
msgdata,dualopend_commit_ready,feerate_per_kw_funding,u32,
|
|
msgdata,dualopend_commit_ready,feerate_per_kw_commitment,u32,
|
|
msgdata,dualopend_commit_ready,local_shutdown_len,u16,
|
|
msgdata,dualopend_commit_ready,local_shutdown_scriptpubkey,u8,local_shutdown_len
|
|
msgdata,dualopend_commit_ready,remote_shutdown_len,u16,
|
|
msgdata,dualopend_commit_ready,remote_shutdown_scriptpubkey,u8,remote_shutdown_len
|
|
msgdata,dualopend_commit_ready,lease_amt,amount_sat,
|
|
msgdata,dualopend_commit_ready,lease_start_blockheight,u32,
|
|
msgdata,dualopend_commit_ready,lease_expiry,u32,
|
|
msgdata,dualopend_commit_ready,lease_fee,amount_sat,
|
|
msgdata,dualopend_commit_ready,lease_commit_sig,?secp256k1_ecdsa_signature,
|
|
msgdata,dualopend_commit_ready,lease_chan_max_msat,u32,
|
|
msgdata,dualopend_commit_ready,lease_chan_max_ppt,u16,
|
|
msgdata,dualopend_commit_ready,channel_type,channel_type,
|
|
|
|
# master->dualopend: channel saved to disk
|
|
msgtype,dualopend_commit_send_ack,7109
|
|
|
|
# dualopend->master: received commitment signed from peer,
|
|
# get some signatures for the funding_tx.
|
|
msgtype,dualopend_commit_rcvd,7007
|
|
msgdata,dualopend_commit_rcvd,remote_first_commit,bitcoin_tx,
|
|
msgdata,dualopend_commit_rcvd,first_commit_sig,bitcoin_signature,
|
|
msgdata,dualopend_commit_rcvd,pbase,?penalty_base,
|
|
|
|
# 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,anchor_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
|