diff options
author | Jonas Nick <jonasd.nick@gmail.com> | 2022-08-12 08:24:30 +0000 |
---|---|---|
committer | Jonas Nick <jonasd.nick@gmail.com> | 2023-01-04 14:31:44 +0000 |
commit | 3d243d8a49cefd16d628b85cc3ef0f54bd71f107 (patch) | |
tree | e4e74837b754cbc85f73f705bb1917308481e4f0 | |
parent | 79bb53dde55e94ebf51ada4adee38fb40f127ae6 (diff) | |
download | bips-3d243d8a49cefd16d628b85cc3ef0f54bd71f107.tar.xz |
BIP 341: allow taproot_sign_key with no script tree
In contrast to taproot_output_script, taproot_sign_key was not able to deal with
a script_tree that is None. This commit fixes taproot_sign_key such that it can
sign for such outputs.
This commit avoids changing the behavior of the functions except
taproot_sign_key at the cost of having some code duplication. Alternatively, one
could let taproot_tree_helper deal with a None script_tree directly.
-rw-r--r-- | bip-0341.mediawiki | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/bip-0341.mediawiki b/bip-0341.mediawiki index 9bc8723..8d2af3c 100644 --- a/bip-0341.mediawiki +++ b/bip-0341.mediawiki @@ -249,7 +249,10 @@ TapTweak = tagged_hash("TapTweak", p + ABCDE) <source lang="python"> def taproot_sign_key(script_tree, internal_seckey, hash_type, bip340_aux_rand): - _, h = taproot_tree_helper(script_tree) + if script_tree is None: + h = bytes() + else: + _, h = taproot_tree_helper(script_tree) output_seckey = taproot_tweak_seckey(internal_seckey, h) sig = schnorr_sign(sighash(hash_type), output_seckey, bip340_aux_rand) if hash_type != 0: |