Module Tezos_raw_protocol_alpha.Fitness_repr

type Tezos_protocol_environment_alpha.Error_monad.error +=
  1. | Invalid_fitness
  2. | Wrong_fitness
  3. | Outdated_fitness
  4. | Locked_round_not_less_than_round of {
    1. round : Round_repr.t;
    2. locked_round : Round_repr.t;
    }
type t
val create : level:Raw_level_repr.t -> locked_round:Round_repr.t option -> predecessor_round:Round_repr.t -> round:Round_repr.t -> t Tezos_protocol_environment_alpha.Error_monad.tzresult
val create_without_locked_round : level:Raw_level_repr.t -> predecessor_round:Round_repr.t -> round:Round_repr.t -> t

Returns the corresponding protocol fitness if the shell fitness has the expected version, given by Constants_repr.fitness_version_number. If the fitness' version is from a previous protocol version, then it raises an "outdated fitness" error. If the fitness version is higher then it raises an "invalid fitness" error.

Returns the round from a raw fitness. If the fitness is from a previous protocol, the returned value will be Round.zero.

Returns the predecessor round from a raw fitness. If the fitness is from a previous protocol, the returned value will be Round.zero.

Returns the locked round from a raw fitness. If the fitness is from a previous version, the returned value will be None.

val check_except_locked_round : t -> level:Raw_level_repr.t -> predecessor_round:Round_repr.t -> unit Tezos_protocol_environment_alpha.Error_monad.tzresult

Validate only the part of the fitness for which information are available during begin_application

val level : t -> Raw_level_repr.t
val round : t -> Round_repr.t
val locked_round : t -> Round_repr.t option
val predecessor_round : t -> Round_repr.t