Module Snarky_backendless.Merkle_tree
include Ppx_sexp_conv_lib.Sexpable.S2
with type ('hash, 'a) t := ( 'hash, 'a ) t
val t_of_sexp :
( Sexplib0__.Sexp.t -> 'a ) ->
( Sexplib0__.Sexp.t -> 'b ) ->
Sexplib0__.Sexp.t ->
( 'a, 'b ) t
val sexp_of_t :
( 'a -> Sexplib0__.Sexp.t ) ->
( 'b -> Sexplib0__.Sexp.t ) ->
( 'a, 'b ) t ->
Sexplib0__.Sexp.t
type ('hash, 'a) merkle_tree = ( 'hash, 'a ) t
val depth : ( _, _ ) t -> int
val create :
hash:( 'a option -> 'hash ) ->
merge:( 'hash -> 'hash -> 'hash ) ->
'a ->
( 'hash, 'a ) t
val add : ( 'hash, 'a ) t -> 'a -> ( 'hash, 'a ) t
val add_many : ( 'hash, 'a ) t -> 'a list -> ( 'hash, 'a ) t
val get_path : ( 'hash, 'a ) t -> Address.t -> 'hash list
val implied_root :
merge:( 'hash -> 'hash -> 'hash ) ->
Address.t ->
'hash ->
'hash list ->
'hash
val root : ( 'hash, 'a ) t -> 'hash
val to_list : ( 'hash, 'a ) t -> 'a list
val check_exn : ( _, _ ) t -> unit