Module Mavryk_context_sigs.Context

type depth = [
  1. | `Eq of int
  2. | `Le of int
  3. | `Lt of int
  4. | `Ge of int
  5. | `Gt of int
]

The tree depth of a fold. See the fold function for more information.

module type VIEW = sig ... end
module Kind : sig ... end
module type TREE = sig ... end

Tree provides immutable, in-memory partial mirror of the context, with lazy reads and delayed writes. The trees are Merkle trees that carry the same hash as the part of the context they mirror.

module type HASH_VERSION = sig ... end
module Proof_types : sig ... end

Mavryk-specific proof types, as opposed to proofs provided by Irmin. These types are used only by the light mode and it is recommended to avoid extending their usage: only the light mode should use them.

module type PROOF = sig ... end
module type PROOF_ENCODING = sig ... end
module type MAVRYK_CONTEXT = sig ... end

MAVRYK_CONTEXT is the module type implemented by all storage implementations. This is the module type that the shell expects for its operation. As such, it should be a strict superset of the interface exposed to the protocol (see module type S above and Mavryk_protocol_environment.Environment_context_intf.S).

module type Storelike = sig ... end

Functor With_get_data adds a get_data function to modules of signature S. Note that the partially applied get_data kind key function has the correct type to be provided to produce_tree_proof and verify_tree_proof which is its intended goal.

val current_data_key : string list
val data_key : string list -> string list
module With_get_data (Store : Storelike) : sig ... end