Module taproot

Expand description

Bitcoin Taproot.

This module provides support for taproot tagged hashes.

Structs§

ControlBlock
Control block data structure used in Tapscript satisfaction.
FutureLeafVersion
Inner type representing future (non-tapscript) leaf versions. See LeafVersion::Future.
NodeInfo
Represents the node information in taproot tree.
ScriptLeaf
Store information about taproot leaf node.
TapBranchHash
Taproot-tagged hash for tapscript Merkle tree branches
TapBranchTag
The tag used for TapBranchHash
TapLeafHash
Taproot-tagged hash for tapscript Merkle tree leafs
TapLeafTag
The tag used for TapLeafHash
TapSighashHash
Taproot-tagged hash for the taproot signature hash
TapSighashTag
The tag used for TapSighashHash
TapTweakHash
Taproot-tagged hash for public key tweaks
TapTweakTag
The tag used for TapTweakHash
TaprootBuilder
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.
TaprootMerkleBranch
The merkle proof for inclusion of a tree in a taptree hash.
TaprootSpendInfo
Represents taproot spending information.

Enums§

LeafVersion
The leaf version for tapleafs.
TaprootBuilderError
Detailed error type for taproot builder.
TaprootError
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.