mirror of
				https://github.com/bitcoin/bips.git
				synced 2025-10-27 14:09:10 +00:00 
			
		
		
		
	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.
This commit is contained in:
		
							parent
							
								
									79bb53dde5
								
							
						
					
					
						commit
						3d243d8a49
					
				| @ -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: | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user