package tezos-protocol-alpha

  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_alpha end
module Apply_internal_results = Tezos_raw_protocol_alpha.Apply_internal_results
module Apply_operation_result = Tezos_raw_protocol_alpha.Apply_operation_result
module Blinded_public_key_hash = Tezos_raw_protocol_alpha.Blinded_public_key_hash
module Cache_memory_helpers = Tezos_raw_protocol_alpha.Cache_memory_helpers
module Carbonated_map_costs = Tezos_raw_protocol_alpha.Carbonated_map_costs
module Constants_parametric_previous_repr = Tezos_raw_protocol_alpha.Constants_parametric_previous_repr
module Constants_parametric_repr = Tezos_raw_protocol_alpha.Constants_parametric_repr
module Contract_delegate_storage = Tezos_raw_protocol_alpha.Contract_delegate_storage
module Contract_manager_storage = Tezos_raw_protocol_alpha.Contract_manager_storage
module Dal_endorsement_repr = Tezos_raw_protocol_alpha.Dal_endorsement_repr
module Delegate_activation_storage = Tezos_raw_protocol_alpha.Delegate_activation_storage
module Frozen_deposits_storage = Tezos_raw_protocol_alpha.Frozen_deposits_storage
module Gas_comparable_input_size = Tezos_raw_protocol_alpha.Gas_comparable_input_size
module Global_constants_costs = Tezos_raw_protocol_alpha.Global_constants_costs
module Global_constants_storage = Tezos_raw_protocol_alpha.Global_constants_storage
module Legacy_script_patches = Tezos_raw_protocol_alpha.Legacy_script_patches
module Liquidity_baking_cpmm = Tezos_raw_protocol_alpha.Liquidity_baking_cpmm
module Liquidity_baking_lqt = Tezos_raw_protocol_alpha.Liquidity_baking_lqt
module Liquidity_baking_migration = Tezos_raw_protocol_alpha.Liquidity_baking_migration
module Liquidity_baking_repr = Tezos_raw_protocol_alpha.Liquidity_baking_repr
module Liquidity_baking_storage = Tezos_raw_protocol_alpha.Liquidity_baking_storage
module Michelson_v1_primitives = Tezos_raw_protocol_alpha.Michelson_v1_primitives
module Sc_rollup_commitment_repr = Tezos_raw_protocol_alpha.Sc_rollup_commitment_repr
module Sc_rollup_commitment_storage = Tezos_raw_protocol_alpha.Sc_rollup_commitment_storage
module Sc_rollup_data_version_sig = Tezos_raw_protocol_alpha.Sc_rollup_data_version_sig
module Sc_rollup_inbox_message_repr = Tezos_raw_protocol_alpha.Sc_rollup_inbox_message_repr
module Sc_rollup_inbox_repr = Tezos_raw_protocol_alpha.Sc_rollup_inbox_repr
module Sc_rollup_inbox_storage = Tezos_raw_protocol_alpha.Sc_rollup_inbox_storage
module Sc_rollup_management_protocol = Tezos_raw_protocol_alpha.Sc_rollup_management_protocol
module Sc_rollup_operations = Tezos_raw_protocol_alpha.Sc_rollup_operations
module Sc_rollup_outbox_message_repr = Tezos_raw_protocol_alpha.Sc_rollup_outbox_message_repr
module Sc_rollup_outbox_storage = Tezos_raw_protocol_alpha.Sc_rollup_outbox_storage
module Sc_rollup_proof_repr = Tezos_raw_protocol_alpha.Sc_rollup_proof_repr
module Sc_rollup_refutation_storage = Tezos_raw_protocol_alpha.Sc_rollup_refutation_storage
module Sc_rollup_stake_storage = Tezos_raw_protocol_alpha.Sc_rollup_stake_storage
module Script_interpreter_defs = Tezos_raw_protocol_alpha.Script_interpreter_defs
module Script_interpreter_logging = Tezos_raw_protocol_alpha.Script_interpreter_logging
module Script_ir_translator = Tezos_raw_protocol_alpha.Script_ir_translator
module Script_tc_errors_registration = Tezos_raw_protocol_alpha.Script_tc_errors_registration
module Script_typed_ir_size = Tezos_raw_protocol_alpha.Script_typed_ir_size
module Script_typed_ir_size_costs = Tezos_raw_protocol_alpha.Script_typed_ir_size_costs
module Services_registration = Tezos_raw_protocol_alpha.Services_registration
module Ticket_lazy_storage_diff = Tezos_raw_protocol_alpha.Ticket_lazy_storage_diff
module Ticket_operations_diff = Tezos_raw_protocol_alpha.Ticket_operations_diff
module Tx_rollup_commitment_repr = Tezos_raw_protocol_alpha.Tx_rollup_commitment_repr
module Tx_rollup_commitment_storage = Tezos_raw_protocol_alpha.Tx_rollup_commitment_storage
module Tx_rollup_errors_repr = Tezos_raw_protocol_alpha.Tx_rollup_errors_repr
module Tx_rollup_hash_builder = Tezos_raw_protocol_alpha.Tx_rollup_hash_builder
module Tx_rollup_inbox_repr = Tezos_raw_protocol_alpha.Tx_rollup_inbox_repr
module Tx_rollup_inbox_storage = Tezos_raw_protocol_alpha.Tx_rollup_inbox_storage
module Tx_rollup_l2_address = Tezos_raw_protocol_alpha.Tx_rollup_l2_address
module Tx_rollup_l2_context = Tezos_raw_protocol_alpha.Tx_rollup_l2_context
module Tx_rollup_l2_context_hash = Tezos_raw_protocol_alpha.Tx_rollup_l2_context_hash
module Tx_rollup_l2_context_sig = Tezos_raw_protocol_alpha.Tx_rollup_l2_context_sig
module Tx_rollup_l2_storage_sig = Tezos_raw_protocol_alpha.Tx_rollup_l2_storage_sig
module Tx_rollup_l2_verifier = Tezos_raw_protocol_alpha.Tx_rollup_l2_verifier
module Tx_rollup_level_repr = Tezos_raw_protocol_alpha.Tx_rollup_level_repr
module Tx_rollup_message_hash_repr = Tezos_raw_protocol_alpha.Tx_rollup_message_hash_repr
module Tx_rollup_message_repr = Tezos_raw_protocol_alpha.Tx_rollup_message_repr
module Tx_rollup_message_result_hash_repr = Tezos_raw_protocol_alpha.Tx_rollup_message_result_hash_repr
module Tx_rollup_message_result_repr = Tezos_raw_protocol_alpha.Tx_rollup_message_result_repr
module Tx_rollup_parameters = Tezos_raw_protocol_alpha.Tx_rollup_parameters
module Tx_rollup_reveal_repr = Tezos_raw_protocol_alpha.Tx_rollup_reveal_repr
module Tx_rollup_reveal_storage = Tezos_raw_protocol_alpha.Tx_rollup_reveal_storage
module Tx_rollup_state_repr = Tezos_raw_protocol_alpha.Tx_rollup_state_repr
module Tx_rollup_state_storage = Tezos_raw_protocol_alpha.Tx_rollup_state_storage
module Tx_rollup_withdraw_list_hash_repr = Tezos_raw_protocol_alpha.Tx_rollup_withdraw_list_hash_repr
module Tx_rollup_withdraw_repr = Tezos_raw_protocol_alpha.Tx_rollup_withdraw_repr
module Voting_period_storage = Tezos_raw_protocol_alpha.Voting_period_storage
include module type of struct include Tezos_raw_protocol_alpha.Main end
type validation_mode = Tezos_raw_protocol_alpha.Main.validation_mode =
  1. | Application of {
    1. block_header : Tezos_raw_protocol_alpha.Alpha_context.Block_header.t;
    2. fitness : Tezos_raw_protocol_alpha.Alpha_context.Fitness.t;
    3. payload_producer : Tezos_raw_protocol_alpha.Alpha_context.public_key_hash;
    4. block_producer : Tezos_raw_protocol_alpha.Alpha_context.public_key_hash;
    5. predecessor_round : Tezos_raw_protocol_alpha.Alpha_context.Round.t;
    6. predecessor_level : Tezos_raw_protocol_alpha.Alpha_context.Level.t;
    }
  2. | Partial_application of {
    1. block_header : Tezos_raw_protocol_alpha.Alpha_context.Block_header.t;
    2. fitness : Tezos_raw_protocol_alpha.Alpha_context.Fitness.t;
    3. payload_producer : Tezos_raw_protocol_alpha.Alpha_context.public_key_hash;
    4. block_producer : Tezos_raw_protocol_alpha.Alpha_context.public_key_hash;
    5. predecessor_level : Tezos_raw_protocol_alpha.Alpha_context.Level.t;
    6. predecessor_round : Tezos_raw_protocol_alpha.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_alpha.Block_hash.t;
    2. predecessor_fitness : Tezos_protocol_environment_alpha.Fitness.t;
    3. predecessor_level : Tezos_raw_protocol_alpha.Alpha_context.Level.t;
    4. predecessor_round : Tezos_raw_protocol_alpha.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_alpha.Block_hash.t;
    2. payload_producer : Tezos_raw_protocol_alpha.Alpha_context.public_key_hash;
    3. block_producer : Tezos_raw_protocol_alpha.Alpha_context.public_key_hash;
    4. protocol_data_contents : Tezos_raw_protocol_alpha.Alpha_context.Block_header.contents;
    5. level : Tezos_protocol_environment_alpha.Int32.t;
    6. round : Tezos_raw_protocol_alpha.Alpha_context.Round.t;
    7. predecessor_level : Tezos_raw_protocol_alpha.Alpha_context.Level.t;
    8. predecessor_round : Tezos_raw_protocol_alpha.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_alpha.Updater.PROTOCOL with type block_header_data = Tezos_raw_protocol_alpha.Alpha_context.Block_header.protocol_data and type block_header_metadata = Tezos_raw_protocol_alpha.Apply_results.block_metadata and type block_header = Tezos_raw_protocol_alpha.Alpha_context.Block_header.t and type operation_data := operation_data and type operation_receipt = Tezos_raw_protocol_alpha.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