Module taproot

Module taproot 

Source
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.