mirror of
https://github.com/ElementsProject/lightning.git
synced 2024-11-19 18:11:28 +01:00
fe56f572ed
libwally has a quirk where the finalize method will fail to 'completely' finalize an input's parts if either the final_scriptsig or final_redeemscript fields are set since we manually set the final_witness stack here, we also need to fully finalize the redeemscript -> final_scriptsig here as well.
39 lines
1.1 KiB
C
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;
|
|
#if EXPERIMENTAL_FEATURES
|
|
struct witness_element;
|
|
#endif /* EXPERIMENTAL_FEATURES */
|
|
|
|
#if EXPERIMENTAL_FEATURES
|
|
/* 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_element - elements to add to witness stack
|
|
*/
|
|
void psbt_finalize_input(const tal_t *ctx,
|
|
struct wally_psbt_input *in,
|
|
const struct witness_element **elements);
|
|
/* psbt_to_witness_stacks - Take all sigs on a PSBT and copy to a
|
|
* witness_stack
|
|
*
|
|
* @ctx - allocation context
|
|
* @psbt - PSBT to copy sigs from
|
|
* @opener - which side initiated this tx
|
|
*/
|
|
const struct witness_stack **
|
|
psbt_to_witness_stacks(const tal_t *ctx,
|
|
const struct wally_psbt *psbt,
|
|
enum tx_role side_to_stack);
|
|
#endif /* EXPERIMENTAL_FEATURES */
|
|
#endif /* LIGHTNING_COMMON_PSBT_INTERNAL_H */
|