mirror of
https://github.com/ElementsProject/lightning.git
synced 2024-11-19 01:43:36 +01:00
73ad8eaa31
This is needed to all multi-channel splices. When channeld can return the signatures to the user (based on signing order precedent), it now does from splice_update. Additionally, we move sending of the initial psbt from splice_init down to splice_update. This is also necessary for correct psbt diff detection during multi-channel splices. Changelog-Changed: splice_update can in some cases now return the remotely partiall signed psbt to the user, if so `signtures_secured` will be true.
39 lines
1012 B
C
39 lines
1012 B
C
#include "config.h"
|
|
#include <ccan/tal/tal.h>
|
|
#include <channeld/splice.h>
|
|
|
|
struct splice_state *splice_state_new(const tal_t *ctx)
|
|
{
|
|
struct splice_state *splice_state = tal(ctx, struct splice_state);
|
|
|
|
splice_state->count = 0;
|
|
splice_state->locked_ready[LOCAL] = false;
|
|
splice_state->locked_ready[REMOTE] = false;
|
|
splice_state->await_commitment_succcess = false;
|
|
splice_state->inflights = NULL;
|
|
|
|
return splice_state;
|
|
}
|
|
|
|
struct splicing *splicing_new(const tal_t *ctx)
|
|
{
|
|
struct splicing *splicing = tal(ctx, struct splicing);
|
|
|
|
splicing->opener_relative = 0;
|
|
splicing->accepter_relative = 0;
|
|
splicing->feerate_per_kw = 0;
|
|
splicing->force_feerate = false;
|
|
splicing->force_sign_first = false;
|
|
splicing->mode = false;
|
|
splicing->tx_add_input_count = 0;
|
|
splicing->tx_add_output_count = 0;
|
|
splicing->current_psbt = NULL;
|
|
splicing->received_tx_complete = false;
|
|
splicing->sent_tx_complete = false;
|
|
splicing->tx_sig_msg = NULL;
|
|
splicing->inws = NULL;
|
|
splicing->their_sig = NULL;
|
|
|
|
return splicing;
|
|
}
|