From d502a7ecbb8778e7549721b8118e02c4114a8b90 Mon Sep 17 00:00:00 2001 From: Rusty Russell Date: Mon, 10 Apr 2023 09:48:56 +0930 Subject: [PATCH] bitcoin: bitcoin_tx_remove_output() Signed-off-by: Rusty Russell --- bitcoin/tx.c | 9 +++++++++ bitcoin/tx.h | 3 +++ 2 files changed, 12 insertions(+) diff --git a/bitcoin/tx.c b/bitcoin/tx.c index d6fcd6c08..c48d255fa 100644 --- a/bitcoin/tx.c +++ b/bitcoin/tx.c @@ -95,6 +95,15 @@ int bitcoin_tx_add_output(struct bitcoin_tx *tx, const u8 *script, return i; } +void bitcoin_tx_remove_output(struct bitcoin_tx *tx, size_t outnum) +{ + int ret; + ret = wally_tx_remove_output(tx->wtx, outnum); + assert(ret == WALLY_OK); + ret = wally_psbt_remove_output(tx->psbt, outnum); + assert(ret == WALLY_OK); +} + bool elements_wtx_output_is_fee(const struct wally_tx *tx, int outnum) { assert(outnum < tx->num_outputs); diff --git a/bitcoin/tx.h b/bitcoin/tx.h index 34c9afb56..8bb62c50e 100644 --- a/bitcoin/tx.h +++ b/bitcoin/tx.h @@ -104,6 +104,9 @@ int bitcoin_tx_add_output(struct bitcoin_tx *tx, const u8 *script, const u8 *wscript, struct amount_sat amount); +/* Remove one output. */ +void bitcoin_tx_remove_output(struct bitcoin_tx *tx, size_t outnum); + /* Set the locktime for a transaction */ void bitcoin_tx_set_locktime(struct bitcoin_tx *tx, u32 locktime);