core-lightning/common/psbt_internal.h
Dusty Daemon 4628e3ace8 channeld: Code to implement splicing
Update the lightningd <-> channeld interface with lots of new commands to needed to facilitate spicing.

Implement the channeld splicing protocol leveraging the interactivetx protocol.

Implement lightningd’s channel_control to support channeld in its splicing efforts.

Changelog-Added: Added the features to enable splicing & resizing of active channels.
2023-07-31 21:00:22 +09:30

39 lines
1.1 KiB
C

#ifndef LIGHTNING_COMMON_PSBT_INTERNAL_H
#define LIGHTNING_COMMON_PSBT_INTERNAL_H
#include "config.h"
#include <ccan/tal/tal.h>
#include <common/tx_roles.h>
struct wally_psbt;
struct wally_psbt_input;
struct witness;
/* psbt_finalize_input - Finalize an input with a given witness stack
*
* Sets the given witness elements onto the PSBT. Also finalizes
* the redeem_script, if any.
* @ctx - the context to allocate onto
* @in - input to set final_witness for
* @witness - witness data to add to witness stack
*/
void psbt_finalize_input(const tal_t *ctx,
struct wally_psbt_input *in,
const struct witness *witness);
/* psbt_to_witnesses - Take a side's sigs from a PSBT and copy to a
* wire witness
*
* @ctx - allocation context
* @psbt - PSBT to copy sigs from
* @side_to_stack - which side to stack witnesses of
* @input_index_to_ignore - which input to not include. Pass -1 to include all.
*/
const struct witness **
psbt_to_witnesses(const tal_t *ctx,
const struct wally_psbt *psbt,
enum tx_role side_to_stack,
int input_index_to_ignore);
#endif /* LIGHTNING_COMMON_PSBT_INTERNAL_H */