Module penumbra_tct::internal::height

source ·
Available on crate feature internal only.
Expand description

Type level machinery used to statically determine the height of a tree, to ensure the correct domain separator is used when hashing at any height.

Because the height of a tree is inferred by the type system, this means that bugs where the wrong height is used to compute a subtree’s hashing domain separator are greatly reduced.

This module contains type-level code for computing the height of structures and translating an unary representation good for type-level constraints (Succ and Zero) into constant u64s suitable for value-level computation.

Structs§

Traits§

  • Trait identifying the statically-known height of a given tree element.
  • The constant u8 associated with each unary height.