Module type Tezos_protocol_environment.CONTEXT

type t
type key = string list
type value = bytes
type tree
val mem : t -> key -> bool Lwt.t
val mem_tree : t -> key -> bool Lwt.t
val find : t -> key -> value option Lwt.t
val find_tree : t -> key -> tree option Lwt.t
val list : t -> ?⁠offset:int -> ?⁠length:int -> key -> (string * tree) list Lwt.t
val add : t -> key -> value -> t Lwt.t
val add_tree : t -> key -> tree -> t Lwt.t
val remove : t -> key -> t Lwt.t
val fold : ?⁠depth:[ `Eq of int | `Ge of int | `Gt of int | `Le of int | `Lt of int ] -> t -> key -> init:'a -> f:(key -> tree -> 'a -> 'a Lwt.t) -> 'a Lwt.t
module Tree : sig ... end
val set_protocol : t -> Tezos_crypto.Protocol_hash.t -> t Lwt.t
val get_protocol : t -> Tezos_crypto.Protocol_hash.t Lwt.t
val fork_test_chain : t -> protocol:Tezos_crypto.Protocol_hash.t -> expiration:Tezos_base__TzPervasives.Time.Protocol.t -> t Lwt.t