package tezos-protocol-017-PtNairob

  1. Overview
  2. Docs
Legend:
Library
Module
Module type
Parameter
Class
Class type
type t
type 'value slot_map
type slot_set
type slot
type round
type consensus_pk
val allowed_endorsements : t -> (consensus_pk * int) slot_map option

Returns a map where each endorser's pkh is associated to the list of its endorsing slots (in decreasing order) for a given level.

val allowed_preendorsements : t -> (consensus_pk * int) slot_map option

Returns a map where each endorser's pkh is associated to the list of its endorsing slots (in decreasing order) for a given level.

type Tezos_protocol_environment_017_PtNairob.Error_monad.error +=
  1. | Slot_map_not_found of {
    1. loc : string;
    }

Missing pre-computed map by first slot. This error should not happen.

val current_endorsement_power : t -> int

endorsement power ctx returns the endorsement power of the current block.

val initialize_consensus_operation : t -> allowed_endorsements:(consensus_pk * int) slot_map option -> allowed_preendorsements:(consensus_pk * int) slot_map option -> t

Initializes the map of allowed endorsements and preendorsements, this function must be called only once and before applying any consensus operation.

val record_endorsement : t -> initial_slot:slot -> power:int -> t Tezos_protocol_environment_017_PtNairob.Error_monad.tzresult

record_endorsement ctx ~initial_slot ~power records an endorsement for the current block.

The endorsement should be valid in the sense that Int_map.find_opt initial_slot allowed_endorsement ctx = Some (pkh, power).

val record_preendorsement : t -> initial_slot:slot -> power:int -> round -> t Tezos_protocol_environment_017_PtNairob.Error_monad.tzresult

record_preendorsement ctx ~initial_slot ~power round payload_hash power records a preendorsement for a proposal at round with payload payload_hash.

The preendorsement should be valid in the sense that Int_map.find_opt initial_slot allowed_preendorsement ctx = Some (pkh, power).

val endorsements_seen : t -> slot_set
val get_preendorsements_quorum_round : t -> round option

get_preendorsements_quorum_round ctx returns None if no preendorsement are included in the current block. Otherwise, return Some r where r is the round of the preendorsements included in the block.

val set_preendorsements_quorum_round : t -> round -> t

set_preendorsements_quorum_round ctx round sets the round for preendorsements included in this block. This function should be called only once.

This function is only used in Full_construction mode.

val locked_round_evidence : t -> (round * int) option

locked_round_evidence ctx returns the round of the recorded preendorsements as well as their power.

OCaml

Innovation. Community. Security.