summaryrefslogtreecommitdiff
path: root/bip-0341.mediawiki
diff options
context:
space:
mode:
authorJonas Nick <jonasd.nick@gmail.com>2022-08-12 08:24:30 +0000
committerJonas Nick <jonasd.nick@gmail.com>2023-01-04 14:31:44 +0000
commit3d243d8a49cefd16d628b85cc3ef0f54bd71f107 (patch)
treee4e74837b754cbc85f73f705bb1917308481e4f0 /bip-0341.mediawiki
parent79bb53dde55e94ebf51ada4adee38fb40f127ae6 (diff)
downloadbips-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.
Diffstat (limited to 'bip-0341.mediawiki')
-rw-r--r--bip-0341.mediawiki5
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: