Mavryk_raw_protocol_alpha.Voting_period_repr
The voting period kinds are ordered as follows: Proposal -> Exploration -> Cooldown -> Promotion -> Adoption. This order is the one used be the function succ
below.
val kind_encoding : kind Mavryk_protocol_environment_alpha.Data_encoding.t
type voting_period = {
index : Mavryk_protocol_environment_alpha.Int32.t;
kind : kind;
start_position : Mavryk_protocol_environment_alpha.Int32.t;
}
A voting period can be of several kinds and is uniquely identified by the counter 'index'. The 'start_position' represents the relative position of the first level of the period with respect to the first level of the Alpha family of protocols.
type t = voting_period
type info = {
voting_period : t;
position : Mavryk_protocol_environment_alpha.Int32.t;
remaining : Mavryk_protocol_environment_alpha.Int32.t;
}
Information about a block with respect to the voting period it belongs to: the voting period, the position within the voting period and the number of remaining blocks till the end of the period. The following invariant is satisfied: `position + remaining + 1 = blocks_per_voting_period`
val root : start_position:Mavryk_protocol_environment_alpha.Int32.t -> t
include Mavryk_protocol_environment_alpha.Compare.S
with type t := voting_period
val (=) : voting_period -> voting_period -> bool
val (<>) : voting_period -> voting_period -> bool
val (<) : voting_period -> voting_period -> bool
val (<=) : voting_period -> voting_period -> bool
val (>=) : voting_period -> voting_period -> bool
val (>) : voting_period -> voting_period -> bool
val compare : voting_period -> voting_period -> int
val equal : voting_period -> voting_period -> bool
val max : voting_period -> voting_period -> voting_period
val min : voting_period -> voting_period -> voting_period
val encoding : t Mavryk_protocol_environment_alpha.Data_encoding.t
val info_encoding : info Mavryk_protocol_environment_alpha.Data_encoding.t
val pp : Mavryk_protocol_environment_alpha.Format.formatter -> t -> unit
val pp_info :
Mavryk_protocol_environment_alpha.Format.formatter ->
info ->
unit
val pp_kind :
Mavryk_protocol_environment_alpha.Format.formatter ->
kind ->
unit
val raw_reset :
t ->
start_position:Mavryk_protocol_environment_alpha.Int32.t ->
t
raw_reset period ~start_position
increment the index by one and set the kind to Proposal which is the period kind that start the voting process. start_position
is the level at wich this voting_period started.
val raw_succ :
t ->
start_position:Mavryk_protocol_environment_alpha.Int32.t ->
t
raw_succ period ~start_position
increment the index by one and set the kind to its successor. start_position
is the level at which this voting_period started.
val position_since :
Level_repr.t ->
t ->
Mavryk_protocol_environment_alpha.Int32.t
val remaining_blocks :
Level_repr.t ->
t ->
blocks_per_voting_period:Mavryk_protocol_environment_alpha.Int32.t ->
Mavryk_protocol_environment_alpha.Int32.t