package tezos-protocol-012-Psithaca

  1. Overview
  2. Docs
Legend:
Library
Module
Module type
Parameter
Class
Class type
type contents = {
  1. payload_hash : Block_payload_hash.t;
  2. payload_round : Round.t;
  3. seed_nonce_hash : Nonce_hash.t option;
  4. proof_of_work_nonce : bytes;
  5. liquidity_baking_escape_vote : bool;
}
type protocol_data = {
  1. contents : contents;
  2. signature : Tezos_crypto.Signature.t;
}
type t = {
  1. shell : Tezos_base.Block_header.shell_header;
  2. protocol_data : protocol_data;
}
type block_header = t
type block_watermark =
  1. | Block_header of Tezos_crypto.Chain_id.t
module Proof_of_work : sig ... end
val raw : block_header -> raw
val hash_raw : raw -> Tezos_crypto.Block_hash.t
val raw_encoding : raw Data_encoding.t
val contents_encoding : contents Data_encoding.t
val unsigned_encoding : (shell_header * contents) Data_encoding.t
val protocol_data_encoding : protocol_data Data_encoding.t
val shell_header_encoding : shell_header Data_encoding.t
val max_header_length : int

The maximum size of block headers in bytes

type Tezos_protocol_environment_012_Psithaca__Environment.Error_monad.error +=
  1. | Invalid_block_signature of Tezos_crypto.Block_hash.t * Tezos_crypto.Signature.public_key_hash
  2. | Invalid_stamp
  3. | Invalid_payload_hash of {
    1. expected : Block_payload_hash.t;
    2. provided : Block_payload_hash.t;
    }
  4. | Locked_round_after_block_round of {
    1. locked_round : Round_repr.t;
    2. round : Round_repr.t;
    }
  5. | Invalid_payload_round of {
    1. payload_round : Round_repr.t;
    2. round : Round_repr.t;
    }
  6. | Insufficient_locked_round_evidence of {
    1. voting_power : int;
    2. consensus_threshold : int;
    }
  7. | Invalid_commitment of {
    1. expected : bool;
    }
val check_timestamp : Round.round_durations -> timestamp:Tezos_base.Time.Protocol.t -> round:Round.t -> predecessor_timestamp:Tezos_base.Time.Protocol.t -> predecessor_round:Round.t -> (unit, Tezos_protocol_environment_012_Psithaca__Environment.Error_monad.error Tezos_protocol_environment_012_Psithaca__Environment.Error_monad.trace) result
val check_signature : t -> Tezos_crypto.Chain_id.t -> Tezos_crypto.Signature.public_key -> (unit, Tezos_protocol_environment_012_Psithaca__Environment.Error_monad.error Tezos_protocol_environment_012_Psithaca__Environment.Error_monad.trace) result
val begin_validate_block_header : block_header:t -> chain_id:Tezos_crypto.Chain_id.t -> predecessor_timestamp:Tezos_base.Time.Protocol.t -> predecessor_round:Round.t -> fitness:Fitness.t -> timestamp:Tezos_base.Time.Protocol.t -> delegate_pk:Tezos_crypto.Signature.public_key -> round_durations:Round.round_durations -> proof_of_work_threshold:int64 -> expected_commitment:bool -> (unit, Tezos_protocol_environment_012_Psithaca__Environment.Error_monad.error Tezos_protocol_environment_012_Psithaca__Environment.Error_monad.trace) result
type locked_round_evidence = {
  1. preendorsement_round : Round.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.t -> fitness:Fitness.t -> checkable_payload_hash:checkable_payload_hash -> locked_round_evidence:locked_round_evidence option -> consensus_threshold:int -> (unit, Tezos_protocol_environment_012_Psithaca__Environment.Error_monad.error Tezos_protocol_environment_012_Psithaca__Environment.Error_monad.trace) result