Module MerklePV.P

type tree =
  1. | Leaf of Plompiler.Csir.Scalar.t
  2. | Node of Plompiler.Csir.Scalar.t * tree * tree
val generate_tree : ?leaves:Plompiler.Csir.Scalar.t array -> int -> tree
val get_depth : tree -> int
val get_leaves : tree -> Plompiler.Csir.Scalar.t array
val print_tree : tree -> unit
type leaf = HashPV.P.scalar
type path = (HashPV.P.scalar * bool) list
val proof_path : int -> tree -> leaf * path
val update_tree : ?input_length:int -> tree -> int -> HashPV.P.scalar -> tree