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

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>
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: is this a valid RBF candidate transaction?
24# master->dualopend: this is a valid RBF candidate transaction
25# master->dualopend: attempt an RBF
26# dualopend->master: ready to commit channel open to database and
27# get some signatures for the funding_tx.
28# dualopend->master: peer updated the psbt
29# master->dualopend: we updated the psbt
30# master->dualopend: fail this channel open
31# must go last because embedded tu32
32# dualopend->master received tx_sigs from peer
33# master->dualopend send our tx_sigs to peer
34# dualopend->master tx sigs transmitted to peer
35# dualopend->peer peer locked channel
36# dualopend->master this channel has been locked
37# master->dualopend funding reached depth; tell peer
38# Tell peer to shut down channel.
39# Peer told us that channel is shutting down
40# Peer presented proof it was from the future.
41# master -> dualopend: do you have a memleak?
42# must go last because of embedded tu32
43# dualopend -> master: are inputs in this psbt confirmed?
44# master -> dualopend: confirms inputs are valid
45# dualopend -> master: validate liqudity offer sig
46# Tell gossipd about this (as-yet) unannounced channel