package tezos-protocol-alpha

  1. Overview
  2. Docs
Legend:
Library
Module
Module type
Parameter
Class
Class type

Representation of block headers.

type contents = {
  1. payload_hash : Block_payload_hash.t;
  2. payload_round : Round_repr.t;
  3. seed_nonce_hash : Nonce_hash.t option;
  4. proof_of_work_nonce : bytes;
  5. liquidity_baking_toggle_vote : Liquidity_baking_repr.liquidity_baking_toggle_vote;
}
type protocol_data = {
  1. contents : contents;
  2. signature : Tezos_protocol_environment_alpha.Signature.t;
}
type block_header = t
val raw : block_header -> raw
type block_watermark =
  1. | Block_header of Tezos_protocol_environment_alpha.Chain_id.t
val max_header_length : int

The maximum size of block headers in bytes

module Proof_of_work : sig ... end

Checks if the header that would be built from the given components is valid for the given difficulty. The signature is not passed as it is does not impact the proof-of-work stamp. The stamp is checked on the hash of a block header whose signature has been zeroed-out.

check_timestamp ctxt timestamp round predecessor_timestamp predecessor_round verifies that the block's timestamp and round are coherent with the predecessor block's timestamp and round. Fails with an error if that is not the case.

val begin_validate_block_header : block_header:t -> chain_id:Tezos_protocol_environment_alpha.Chain_id.t -> predecessor_timestamp:Tezos_protocol_environment_alpha.Time.t -> predecessor_round:Round_repr.t -> fitness:Fitness_repr.t -> timestamp:Tezos_protocol_environment_alpha.Time.t -> delegate_pk:Tezos_protocol_environment_alpha.Signature.public_key -> round_durations:Round_repr.Durations.t -> proof_of_work_threshold:int64 -> expected_commitment:bool -> unit Tezos_protocol_environment_alpha.Error_monad.tzresult
type locked_round_evidence = {
  1. preendorsement_round : Round_repr.t;
  2. preendorsement_count : int;
}
type checkable_payload_hash =
  1. | No_check
  2. | Expected_payload_hash of Block_payload_hash.t
val finalize_validate_block_header : block_header_contents:contents -> round:Round_repr.t -> fitness:Fitness_repr.t -> checkable_payload_hash:checkable_payload_hash -> locked_round_evidence:locked_round_evidence option -> consensus_threshold:int -> unit Tezos_protocol_environment_alpha.Error_monad.tzresult
OCaml

Innovation. Community. Security.