mirror of
https://github.com/lightningnetwork/lnd.git
synced 2024-11-19 09:53:54 +01:00
input: add tapscript root hash helper function
This commit is contained in:
parent
0d6e791042
commit
9f47d31681
@ -105,3 +105,24 @@ func TapscriptPartialReveal(internalKey *btcec.PublicKey,
|
||||
RevealedScript: revealedLeaf.Script,
|
||||
}
|
||||
}
|
||||
|
||||
// TapscriptRootHashOnly creates a waddrmgr.Tapscript for the given internal key
|
||||
// and root hash.
|
||||
func TapscriptRootHashOnly(internalKey *btcec.PublicKey,
|
||||
rootHash []byte) *waddrmgr.Tapscript {
|
||||
|
||||
controlBlock := &txscript.ControlBlock{
|
||||
InternalKey: internalKey,
|
||||
}
|
||||
|
||||
tapKey := txscript.ComputeTaprootOutputKey(internalKey, rootHash)
|
||||
if tapKey.SerializeCompressed()[0] == PubKeyFormatCompressedOdd {
|
||||
controlBlock.OutputKeyYIsOdd = true
|
||||
}
|
||||
|
||||
return &waddrmgr.Tapscript{
|
||||
Type: waddrmgr.TaprootKeySpendRootHash,
|
||||
ControlBlock: controlBlock,
|
||||
RootHash: rootHash,
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user