package tezos-protocol-011-PtHangz2

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

Tezos Protocol Implementation - Protocol Signature Instance

This module is the entrypoint to the protocol for shells and other embedders. This signature is an instance of the Updater.PROTOCOL signature from the Protocol Environment.

Each Protocol depends on a version of the Protocol Environment. For the currently developed protocol, this is normally the latest version. You can see the full list of versions here.

For details on how Protocol and Environment interact, see this overview.

type validation_mode =
  1. | Application of {
    1. block_header : Alpha_context.Block_header.t;
    2. baker : Alpha_context.public_key_hash;
    }
  2. | Partial_application of {
    1. block_header : Alpha_context.Block_header.t;
    2. baker : Alpha_context.public_key_hash;
    }
  3. | Partial_construction of {
    1. predecessor : Tezos_crypto.Block_hash.t;
    }
  4. | Full_construction of {
    1. predecessor : Tezos_crypto.Block_hash.t;
    2. protocol_data : Alpha_context.Block_header.contents;
    3. baker : Alpha_context.public_key_hash;
    }
type validation_state = {
  1. mode : validation_mode;
  2. chain_id : Tezos_crypto.Chain_id.t;
  3. ctxt : Alpha_context.t;
  4. op_count : int;
  5. migration_balance_updates : Alpha_context.Receipt.balance_updates;
  6. liquidity_baking_escape_ema : int32;
  7. implicit_operations_results : Apply_results.packed_successful_manager_operation_result list;
}
val max_block_length : int
val max_operation_data_length : int
val validation_passes : Environment_context.quota list
val block_header_data_encoding : block_header_data Data_encoding.t
type block_header_metadata = Apply_results.block_metadata
val block_header_metadata_encoding : block_header_metadata Data_encoding.t
val operation_data_encoding : operation_data Data_encoding.t
val operation_receipt_encoding : operation_receipt Data_encoding.t
val operation_data_and_receipt_encoding : (operation_data * operation_receipt) Data_encoding.t
val acceptable_passes : operation -> int list
val relative_position_within_block : operation -> operation -> int
val begin_partial_application : chain_id:Tezos_crypto.Chain_id.t -> ancestor_context:Environment_context.Context.t -> predecessor_timestamp:Tezos_base.Time.Protocol.t -> predecessor_fitness:bytes list -> block_header -> (validation_state, Tezos_protocol_environment_011_PtHangz2__Environment.Error_monad.error Tezos_protocol_environment_011_PtHangz2__Environment.Error_monad.trace) result Lwt.t
val begin_application : chain_id:Tezos_crypto.Chain_id.t -> predecessor_context:Environment_context.Context.t -> predecessor_timestamp:Tezos_base.Time.Protocol.t -> predecessor_fitness:bytes list -> block_header -> (validation_state, Tezos_protocol_environment_011_PtHangz2__Environment.Error_monad.error Tezos_protocol_environment_011_PtHangz2__Environment.Error_monad.trace) result Lwt.t
val begin_construction : chain_id:Tezos_crypto.Chain_id.t -> predecessor_context:Environment_context.Context.t -> predecessor_timestamp:Tezos_base.Time.Protocol.t -> predecessor_level:int32 -> predecessor_fitness:bytes list -> predecessor:Tezos_crypto.Block_hash.t -> timestamp:Tezos_base.Time.Protocol.t -> ?protocol_data:block_header_data -> unit -> (validation_state, Tezos_protocol_environment_011_PtHangz2__Environment.Error_monad.error Tezos_protocol_environment_011_PtHangz2__Environment.Error_monad.trace) result Lwt.t
val apply_operation : validation_state -> operation -> (validation_state * operation_receipt, Tezos_protocol_environment_011_PtHangz2__Environment.Error_monad.error Tezos_protocol_environment_011_PtHangz2__Environment.Error_monad.trace) result Lwt.t
val finalize_block : validation_state -> Tezos_base.Block_header.shell_header option -> (Environment_context.validation_result * block_header_metadata, Tezos_protocol_environment_011_PtHangz2__Environment.Error_monad.error Tezos_protocol_environment_011_PtHangz2__Environment.Error_monad.trace) result Lwt.t
val init : Environment_context.Context.t -> Tezos_base.Block_header.shell_header -> (Environment_context.validation_result, Tezos_protocol_environment_011_PtHangz2__Environment.Error_monad.error Tezos_protocol_environment_011_PtHangz2__Environment.Error_monad.trace) result Lwt.t
val value_of_key : chain_id:Tezos_crypto.Chain_id.t -> predecessor_context:Environment_context.Context.t -> predecessor_timestamp:Tezos_base.Time.Protocol.t -> predecessor_level:int32 -> predecessor_fitness:bytes list -> predecessor:Tezos_crypto.Block_hash.t -> timestamp:Tezos_base.Time.Protocol.t -> (Environment_context.Context.cache_key -> (Environment_context.Context.cache_value, Tezos_protocol_environment_011_PtHangz2__Environment.Error_monad.error Tezos_protocol_environment_011_PtHangz2__Environment.Error_monad.trace) result Lwt.t, Tezos_protocol_environment_011_PtHangz2__Environment.Error_monad.error Tezos_protocol_environment_011_PtHangz2__Environment.Error_monad.trace) result Lwt.t
OCaml

Innovation. Community. Security.