Module taproot
Expand description
Bitcoin Taproot.
This module provides support for taproot tagged hashes.
Structs§
- Control
Block - Control block data structure used in Tapscript satisfaction.
- Future
Leaf Version - Inner type representing future (non-tapscript) leaf versions. See
LeafVersion::Future
. - Node
Info - Represents the node information in taproot tree.
- Script
Leaf - Store information about taproot leaf node.
- TapBranch
Hash - Taproot-tagged hash for tapscript Merkle tree branches
- TapBranch
Tag - The tag used for TapBranchHash
- TapLeaf
Hash - Taproot-tagged hash for tapscript Merkle tree leafs
- TapLeaf
Tag - The tag used for TapLeafHash
- TapSighash
Hash - Taproot-tagged hash for the taproot signature hash
- TapSighash
Tag - The tag used for TapSighashHash
- TapTweak
Hash - Taproot-tagged hash for public key tweaks
- TapTweak
Tag - The tag used for TapTweakHash
- Taproot
Builder - Builder for building taproot iteratively. Users can specify tap leaf or omitted/hidden branches in a depth-first search (DFS) walk order to construct this tree.
- Taproot
Merkle Branch - The merkle proof for inclusion of a tree in a taptree hash.
- Taproot
Spend Info - Represents taproot spending information.
Enums§
- Leaf
Version - The leaf version for tapleafs.
- Taproot
Builder Error - Detailed error type for taproot builder.
- Taproot
Error - Detailed error type for taproot utilities.
Constants§
- TAPROOT_
ANNEX_ PREFIX - Taproot annex prefix.
- TAPROOT_
CONTROL_ BASE_ SIZE - Tapscript control base size.
- TAPROOT_
CONTROL_ MAX_ NODE_ COUNT - Maximum depth of a taproot tree script spend path.
- TAPROOT_
CONTROL_ MAX_ SIZE - Tapscript control max size.
- TAPROOT_
CONTROL_ NODE_ SIZE - Size of a taproot control node.
- TAPROOT_
LEAF_ MASK - Tapleaf mask for getting the leaf version from first byte of control block.
- TAPROOT_
LEAF_ TAPSCRIPT - Tapscript leaf version.