core-lightning/openingd/dualopend_wire.csv
niftynei bc98cafe9e dual-fund: add require_confirmed_inputs to RBF flows
We now require peers to reaffirm their preference for
`require_confirmed_inputs` when executing an RBF.

Requested-By: @t-bast
2024-02-11 10:46:40 +01:00

13 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>
15# Which network are we configured for?
16# Base configuration we'll offer
17# Minimum/maximum configuration values we'll accept
18# Constraints in case the other end tries to open a channel.
19# master-dualopend: peer has reconnected
20# master->dualopend: reply back with our first funding info/contribs
21# must go last because of embedded tu32
22# master->dualopend: reply back with our funding info/contribs
23# dualopend->master: update to require_confirmed_inputs preference
24# dualopend->master: is this a valid RBF candidate transaction?
25# master->dualopend: this is a valid RBF candidate transaction
26# master->dualopend: attempt an RBF
27# dualopend->master: about to send first commitment_signed
28# master->dualopend: channel saved to disk
29# get some signatures for the funding_tx.
30# dualopend->master: peer updated the psbt
31# master->dualopend: we updated the psbt
32# master->dualopend: fail this channel open
33# must go last because embedded tu32
34# dualopend->master received tx_sigs from peer
35# master->dualopend send our tx_sigs to peer
36# dualopend->master tx sigs transmitted to peer
37# dualopend->peer peer locked channel
38# dualopend->master this channel has been locked
39# master->dualopend funding reached depth; tell peer
40# Tell peer to shut down channel.
41# Peer told us that channel is shutting down
42# Peer presented proof it was from the future.
43# master -> dualopend: do you have a memleak?
44# must go last because of embedded tu32
45# dualopend -> master: are inputs in this psbt confirmed?
46# master -> dualopend: confirms inputs are valid
47# dualopend -> master: validate liqudity offer sig