# Functions
NewTree constructs a Merkle tree from a list of leaf hashes.
NewTreeNodeNotFoundError creates a new TreeNodeNotFoundError with the given target hash.
# Constants
HashPairSize defines the size of hash pairs when computing parent nodes.
# Variables
ErrNoLayers indicates that the Merkle tree has no layers.
# Structs
Tree represents a cryptographic Merkle tree used to verify data integrity.
TreeNodeNotFoundError indicates that a target hash could not be found in the tree.