We used to use a check on the active psbt to see if our splice signature was in it — but now we need to generate the signature early. So we have to add a field tracking if we’ve sent it and add it to the database, wire protocols, and inflight objects.
30 lines
804 B
C
30 lines
804 B
C
#ifndef LIGHTNING_CHANNELD_INFLIGHT_H
|
|
#define LIGHTNING_CHANNELD_INFLIGHT_H
|
|
|
|
#include "config.h"
|
|
#include <bitcoin/pubkey.h>
|
|
#include <bitcoin/tx.h>
|
|
#include <common/amount.h>
|
|
|
|
struct inflight {
|
|
/* The new channel outpoint */
|
|
struct bitcoin_outpoint outpoint;
|
|
struct pubkey remote_funding;
|
|
struct amount_sat amnt;
|
|
bool remote_tx_sigs;
|
|
struct wally_psbt *psbt;
|
|
s64 splice_amnt;
|
|
struct bitcoin_tx *last_tx;
|
|
/* last_sig is assumed valid if last_tx is set */
|
|
struct bitcoin_signature last_sig;
|
|
bool i_am_initiator;
|
|
bool force_sign_first;
|
|
struct short_channel_id *locked_scid;
|
|
bool i_sent_sigs;
|
|
};
|
|
|
|
struct inflight *fromwire_inflight(const tal_t *ctx, const u8 **cursor, size_t *max);
|
|
void towire_inflight(u8 **pptr, const struct inflight *inflight);
|
|
|
|
#endif /* LIGHTNING_CHANNELD_INFLIGHT_H */
|