package octez-protocol-017-PtNairob-libs

  1. Overview
  2. Docs
Legend:
Library
Module
Module type
Parameter
Class
Class type
type consensus_key = {
  1. alias : string option;
  2. public_key : Tezos_base.TzPervasives.Signature.public_key;
  3. public_key_hash : Tezos_base.TzPervasives.Signature.public_key_hash;
  4. secret_key_uri : Tezos_client_base.Client_keys.sk_uri;
}
val pp_consensus_key : Format.formatter -> consensus_key -> unit
val pp_consensus_key_and_delegate : Format.formatter -> consensus_key_and_delegate -> unit
type validation_mode =
  1. | Node
  2. | Local of Abstract_context_index.t
type endorsing_slot = {
  1. first_slot : Tezos_protocol_017_PtNairob.Protocol.Alpha_context.Slot.t;
  2. endorsing_power : int;
}
type delegate_slots = {
  1. own_delegate_slots : (consensus_key_and_delegate * endorsing_slot) SlotMap.t;
  2. all_delegate_slots : endorsing_slot SlotMap.t;
  3. all_slots_by_round : Tezos_protocol_017_PtNairob.Protocol.Alpha_context.Slot.t array;
}
type proposal = {
  1. block : block_info;
  2. predecessor : block_info;
}
val is_first_block_in_protocol : proposal -> bool

Identify the first block of the protocol, ie. the block that activates the current protocol.

This block should be baked by the baker of the previous protocol (that's why this same block is also referred to as the last block of the previous protocol). It is always considered final and therefore is not endorsed.

type endorsable_payload = {
  1. proposal : proposal;
  2. prequorum : prequorum;
}
type level_state = {
  1. current_level : int32;
  2. latest_proposal : proposal;
  3. is_latest_proposal_applied : bool;
  4. locked_round : locked_round option;
  5. endorsable_payload : endorsable_payload option;
  6. elected_block : elected_block option;
  7. delegate_slots : delegate_slots;
  8. next_level_delegate_slots : delegate_slots;
  9. next_level_proposed_round : Tezos_protocol_017_PtNairob.Protocol.Alpha_context.Round.t option;
}
type phase =
  1. | Idle
  2. | Awaiting_preendorsements
  3. | Awaiting_endorsements
  4. | Awaiting_application
type state = {
  1. global_state : global_state;
  2. level_state : level_state;
  3. round_state : round_state;
}
type t = state
val update_current_phase : t -> phase -> t
type timeout_kind =
  1. | End_of_round of {
    1. ending_round : Tezos_protocol_017_PtNairob.Protocol.Alpha_context.Round.t;
    }
  2. | Time_to_bake_next_level of {
    1. at_round : Tezos_protocol_017_PtNairob.Protocol.Alpha_context.Round.t;
    }
type state_data = {
  1. level_data : int32;
  2. locked_round_data : locked_round option;
  3. endorsable_payload_data : endorsable_payload option;
}
val record_state : t -> unit Tezos_base.TzPervasives.tzresult Lwt.t
val may_record_new_state : previous_state:t -> new_state:t -> unit Tezos_base.TzPervasives.tzresult Lwt.t
val may_load_endorsable_data : t -> t Tezos_base.TzPervasives.tzresult Lwt.t
val create_cache : unit -> cache
val pp_validation_mode : Format.formatter -> validation_mode -> unit
val pp_global_state : Format.formatter -> global_state -> unit
val pp_option : (Format.formatter -> 'a -> unit) -> Format.formatter -> 'a option -> unit
val pp_block_info : Format.formatter -> block_info -> unit
val pp_proposal : Format.formatter -> proposal -> unit
val pp_locked_round : Format.formatter -> locked_round -> unit
val pp_endorsable_payload : Format.formatter -> endorsable_payload -> unit
val pp_elected_block : Format.formatter -> elected_block -> unit
val pp_endorsing_slot : Format.formatter -> (consensus_key_and_delegate * endorsing_slot) -> unit
val pp_delegate_slots : Format.formatter -> delegate_slots -> unit
val pp_level_state : Format.formatter -> level_state -> unit
val pp_phase : Format.formatter -> phase -> unit
val pp_round_state : Format.formatter -> round_state -> unit
val pp : Format.formatter -> t -> unit
val pp_timeout_kind : Format.formatter -> timeout_kind -> unit
val pp_event : Format.formatter -> event -> unit
OCaml

Innovation. Community. Security.