From 8629462a94d6b7fcfe8ef6251a5304da4c794cec Mon Sep 17 00:00:00 2001 From: Ferdinando Ametrano Date: Mon, 7 Sep 2026 18:01:00 +0200 Subject: [PATCH] bip-0371: drop the finalizer clause from PSBT_OUT_TAP_BIP32_DERIVATION The six taproot input fields say "Finalizers should remove this field after PSBT_IN_FINAL_SCRIPTWITNESS is constructed", and so does the output field PSBT_OUT_TAP_BIP32_DERIVATION. An output has no PSBT_IN_FINAL_SCRIPTWITNESS, the clause names no input, and its two neighbours in the output table carry no such clause. Drop it; Bitcoin Core does not clear output fields on finalization. --- bip-0371.mediawiki | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bip-0371.mediawiki b/bip-0371.mediawiki index cc7ad3ed..01680221 100644 --- a/bip-0371.mediawiki +++ b/bip-0371.mediawiki @@ -142,7 +142,7 @@ The new per-output types are defined as follows: | <32 byte xonlypubkey> | A 32 byte X-only public key involved in this output. It may be the output key, the internal key, or a key present in a leaf script. | <32 byte leaf hash>* <4 byte fingerprint> <32-bit little endian uint path element>* -| A compact size unsigned integer representing the number of leaf hashes, followed by a list of leaf hashes, followed by the 4 byte master key fingerprint concatenated with the derivation path of the public key. The derivation path is represented as 32-bit little endian unsigned integer indexes concatenated with each other. Public keys are those needed to spend this output. The leaf hashes are of the leaves which involve this public key. The internal key does not have leaf hashes, so can be indicated with a hashes len of 0. Finalizers should remove this field after PSBT_IN_FINAL_SCRIPTWITNESS is constructed. +| A compact size unsigned integer representing the number of leaf hashes, followed by a list of leaf hashes, followed by the 4 byte master key fingerprint concatenated with the derivation path of the public key. The derivation path is represented as 32-bit little endian unsigned integer indexes concatenated with each other. Public keys are those needed to spend this output. The leaf hashes are of the leaves which involve this public key. The internal key does not have leaf hashes, so can be indicated with a hashes len of 0. | | | 0, 2