From 5dd8d933d549e67c0f26e408966fec5d1645b742 Mon Sep 17 00:00:00 2001 From: Jon Griffiths Date: Thu, 22 Feb 2024 10:01:48 +1300 Subject: [PATCH] Revert "core: Add a function check if a script is P2WSH without allocating" The is_xxx script functions already perform these checks for us without allocating. They currently expect their memory to be tal-allocated, which is why a copy is made. However: - The memory already *is* tal-allocated since wally is configured to do so. - The tal-dependency is artifical and is removed in a future commit in this PR. This reverts commit c3297567236f8160c2e7779a7ce66b03c3f73ea2. Signed-off-by: Jon Griffiths --- bitcoin/script.c | 3 +++ bitcoin/script.h | 3 --- bitcoin/tx.c | 10 ---------- bitcoin/tx.h | 8 -------- 4 files changed, 3 insertions(+), 21 deletions(-) diff --git a/bitcoin/script.c b/bitcoin/script.c index 8acde8a23..54c53d82e 100644 --- a/bitcoin/script.c +++ b/bitcoin/script.c @@ -10,6 +10,9 @@ #include #include +/* To push 0-75 bytes onto stack. */ +#define OP_PUSHBYTES(val) (val) + /* Bitcoin's OP_HASH160 is RIPEMD(SHA256()) */ static void hash160(struct ripemd160 *redeemhash, const void *mem, size_t len) { diff --git a/bitcoin/script.h b/bitcoin/script.h index c7fd73cb5..660c83ad6 100644 --- a/bitcoin/script.h +++ b/bitcoin/script.h @@ -13,9 +13,6 @@ struct ripemd160; struct rel_locktime; struct abs_locktime; -/* To push 0-75 bytes onto stack. */ -#define OP_PUSHBYTES(val) (val) - /* tal_count() gives the length of the script. */ u8 *bitcoin_redeem_2of2(const tal_t *ctx, const struct pubkey *key1, diff --git a/bitcoin/tx.c b/bitcoin/tx.c index 62a1d249a..d86b53c94 100644 --- a/bitcoin/tx.c +++ b/bitcoin/tx.c @@ -324,16 +324,6 @@ const u8 *bitcoin_tx_output_get_script(const tal_t *ctx, return cln_wally_tx_output_get_script(ctx, output); } -bool bitcoin_tx_output_script_is_p2wsh(const struct bitcoin_tx *tx, int outnum) -{ const struct wally_tx_output *output; - assert(outnum < tx->wtx->num_outputs); - output = &tx->wtx->outputs[outnum]; - - return output->script_len == BITCOIN_SCRIPTPUBKEY_P2WSH_LEN && - output->script[0] == OP_0 && - output->script[1] == OP_PUSHBYTES(sizeof(struct sha256)); -} - u8 *bitcoin_tx_output_get_witscript(const tal_t *ctx, const struct bitcoin_tx *tx, int outnum) { diff --git a/bitcoin/tx.h b/bitcoin/tx.h index 849db6305..091ecb476 100644 --- a/bitcoin/tx.h +++ b/bitcoin/tx.h @@ -154,14 +154,6 @@ void bitcoin_tx_output_set_amount(struct bitcoin_tx *tx, int outnum, */ const u8 *bitcoin_tx_output_get_script(const tal_t *ctx, const struct bitcoin_tx *tx, int outnum); -/** - * Return `true` if the given output is a P2WSH output. - * - * This is useful if you want to peek at the script, without having to - * extract it first. - */ -bool bitcoin_tx_output_script_is_p2wsh(const struct bitcoin_tx *tx, int outnum); - /** * Helper to get the script of a script's output as a tal_arr *