package tezos-protocol-014-PtKathma

  1. Overview
  2. Docs
Legend:
Library
Module
Module type
Parameter
Class
Class type
val name : string
include module type of struct include Tezos_raw_protocol_014_PtKathma end
module Constants_parametric_previous_repr = Tezos_raw_protocol_014_PtKathma.Constants_parametric_previous_repr
module Tx_rollup_message_result_hash_repr = Tezos_raw_protocol_014_PtKathma.Tx_rollup_message_result_hash_repr
include module type of struct include Tezos_raw_protocol_014_PtKathma.Main end
type validation_mode = Tezos_raw_protocol_014_PtKathma.Main.validation_mode =
  1. | Application of {
    1. block_header : Tezos_raw_protocol_014_PtKathma.Alpha_context.Block_header.t;
    2. fitness : Tezos_raw_protocol_014_PtKathma.Alpha_context.Fitness.t;
    3. payload_producer : Tezos_raw_protocol_014_PtKathma.Alpha_context.public_key_hash;
    4. block_producer : Tezos_raw_protocol_014_PtKathma.Alpha_context.public_key_hash;
    5. predecessor_round : Tezos_raw_protocol_014_PtKathma.Alpha_context.Round.t;
    6. predecessor_level : Tezos_raw_protocol_014_PtKathma.Alpha_context.Level.t;
    }
  2. | Partial_application of {
    1. block_header : Tezos_raw_protocol_014_PtKathma.Alpha_context.Block_header.t;
    2. fitness : Tezos_raw_protocol_014_PtKathma.Alpha_context.Fitness.t;
    3. payload_producer : Tezos_raw_protocol_014_PtKathma.Alpha_context.public_key_hash;
    4. block_producer : Tezos_raw_protocol_014_PtKathma.Alpha_context.public_key_hash;
    5. predecessor_level : Tezos_raw_protocol_014_PtKathma.Alpha_context.Level.t;
    6. predecessor_round : Tezos_raw_protocol_014_PtKathma.Alpha_context.Round.t;
    }
    (*

    Partial_application is used in pre-checking of blocks - not all checks are done. Special case of Application to allow quick rejection of bad blocks. See Tezos_protocol_environment_sigs.V5.T.Updater.PROTOCOL.begin_partial_application

    *)
  3. | Partial_construction of {
    1. predecessor : Tezos_protocol_environment_014_PtKathma.Block_hash.t;
    2. predecessor_fitness : Tezos_protocol_environment_014_PtKathma.Fitness.t;
    3. predecessor_level : Tezos_raw_protocol_014_PtKathma.Alpha_context.Level.t;
    4. predecessor_round : Tezos_raw_protocol_014_PtKathma.Alpha_context.Round.t;
    }
    (*

    Shell/mempool-only construction of a virtual block. See Tezos_protocol_environment_sigs.V5.T.Updater.PROTOCOL.begin_construction

    *)
  4. | Full_construction of {
    1. predecessor : Tezos_protocol_environment_014_PtKathma.Block_hash.t;
    2. payload_producer : Tezos_raw_protocol_014_PtKathma.Alpha_context.public_key_hash;
    3. block_producer : Tezos_raw_protocol_014_PtKathma.Alpha_context.public_key_hash;
    4. protocol_data_contents : Tezos_raw_protocol_014_PtKathma.Alpha_context.Block_header.contents;
    5. level : Tezos_protocol_environment_014_PtKathma.Int32.t;
    6. round : Tezos_raw_protocol_014_PtKathma.Alpha_context.Round.t;
    7. predecessor_level : Tezos_raw_protocol_014_PtKathma.Alpha_context.Level.t;
    8. predecessor_round : Tezos_raw_protocol_014_PtKathma.Alpha_context.Round.t;
    }
    (*

    Baker-only block construction for baking in. See Tezos_protocol_environment_sigs.V5.T.Updater.PROTOCOL.begin_construction

    *)

validation_mode permits to differenciate !type:validation_state values.

There are four validation modes:

  • Application
  • Partial_application
  • Partial_construction
  • Full_construction

For the meaning and typical uses of each mode, refer to the comments attached to the corresponding type constructors below.

include Tezos_protocol_environment_014_PtKathma.Updater.PROTOCOL with type block_header_data = Tezos_raw_protocol_014_PtKathma.Alpha_context.Block_header.protocol_data and type block_header_metadata = Tezos_raw_protocol_014_PtKathma.Apply_results.block_metadata and type block_header = Tezos_raw_protocol_014_PtKathma.Alpha_context.Block_header.t and type operation_data := operation_data and type operation_receipt = Tezos_raw_protocol_014_PtKathma.Apply_results.packed_operation_metadata and type operation := operation and type validation_state := validation_state
val max_block_length : int
val max_operation_data_length : int
val acceptable_passes : operation -> int list
val relative_position_within_block : operation -> operation -> int
OCaml

Innovation. Community. Security.