Module Tezos_base.Protocol

type t = {
expected_env : env_version;
components : component list;
}
and component = {
name : string;
interface : string option;
implementation : string;
}
and env_version =
| V0
| V1
| V2
| V3
| V4
| V5
| V6
| V7
val component_encoding : component Data_encoding.t
val compare_version : env_version -> env_version -> int

compare_version va vb is negative if va is a less recent version than vb, positive if va is a more recent version than vb, zero if they are the same version.

In less precise but more intuitive terms, compare_version va vb <op> 0 is the same truthness as va <op> vb where <op> is any comparison operator.

E.g., compare_version V0 V1 < 0 is true.

val env_version_encoding : env_version Data_encoding.t
val pp_ocaml : Stdlib.Format.formatter -> t -> unit
include S.HASHABLE with type t := t and type hash := Tezos_crypto.Protocol_hash.t
include S.T with type t := t
include Tezos_stdlib.Compare.S with type t := t
val (=) : t -> t -> bool

x = y iff compare x y = 0

val (<>) : t -> t -> bool

x <> y iff compare x y <> 0

val (<) : t -> t -> bool

x < y iff compare x y < 0

val (<=) : t -> t -> bool

x <= y iff compare x y <= 0

val (>=) : t -> t -> bool

x >= y iff compare x y >= 0

val (>) : t -> t -> bool

x > y iff compare x y > 0

val compare : t -> t -> int

compare an alias for the functor parameter's compare function

val equal : t -> t -> bool

equal x y iff compare x y = 0

val max : t -> t -> t

max x y is x if x >= y otherwise it is y

val min : t -> t -> t

min x y is x if x <= y otherwise it is y

val pp : Stdlib.Format.formatter -> t -> unit
val encoding : t Data_encoding.t
val to_bytes : t -> Stdlib.Bytes.t
val of_bytes : Stdlib.Bytes.t -> t option
val hash_raw : Stdlib.Bytes.t -> Tezos_crypto.Protocol_hash.t
val of_bytes_exn : Stdlib.Bytes.t -> t
val of_string_exn : Stdlib.String.t -> t
val of_string : Stdlib.String.t -> t option
val bounded_encoding : ?max_size:int -> unit -> t Data_encoding.t
val module_name_of_env_version : env_version -> string
module Meta : sig ... end