Module Sponge

module Intf : sig ... end
module Params : sig ... end
module State : sig ... end
module Make_hash (P : Intf.Permutation) : Intf.Hash with module State := State and module Field := P.Field
type sponge_state =
  1. | Absorbed of int
  2. | Squeezed of int
val sexp_of_sponge_state : sponge_state -> Ppx_sexp_conv_lib.Sexp.t
val sponge_state_of_sexp : Ppx_sexp_conv_lib.Sexp.t -> sponge_state
type 'f t = {
  1. mutable state : 'f State.t;
  2. params : 'f Params.t;
  3. mutable sponge_state : sponge_state;
  4. id : int;
}
val make : state:'f State.t -> params:'f Params.t -> sponge_state:sponge_state -> 'f t
module Make_sponge (P : Intf.Permutation) : sig ... end
module Make_debug_sponge (P : sig ... end) : sig ... end
module Bit_sponge : sig ... end