Tezos_raw_protocol_023_PtSeouLo.MainTezos 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 operation_data = Alpha_context.packed_protocol_datatype operation = Alpha_context.packed_operation = {shell : Tezos_protocol_environment_023_PtSeouLo.Operation.shell_header;protocol_data : operation_data;}include Tezos_protocol_environment_023_PtSeouLo.Updater.PROTOCOL
  with type block_header_data = Alpha_context.Block_header.protocol_data
   and type block_header_metadata = Apply_results.block_metadata
   and type block_header = Alpha_context.Block_header.t
   and type operation_data := operation_data
   and type operation_receipt = Apply_results.packed_operation_metadata
   and type operation := operation
   and type validation_state = Validate.validation_state
   and type application_state = Apply.application_stateval validation_passes : 
  Tezos_protocol_environment_023_PtSeouLo.Updater.quota listtype block_header_data = Alpha_context.Block_header.protocol_dataval block_header_data_encoding : 
  block_header_data Tezos_protocol_environment_023_PtSeouLo.Data_encoding.ttype block_header = Alpha_context.Block_header.t = {shell : Tezos_protocol_environment_023_PtSeouLo.Block_header.shell_header;protocol_data : block_header_data;}type block_header_metadata = Apply_results.block_metadataval block_header_metadata_encoding : 
  block_header_metadata Tezos_protocol_environment_023_PtSeouLo.Data_encoding.ttype operation_receipt = Apply_results.packed_operation_metadataval operation_data_encoding : 
  operation_data Tezos_protocol_environment_023_PtSeouLo.Data_encoding.tval operation_receipt_encoding : 
  operation_receipt Tezos_protocol_environment_023_PtSeouLo.Data_encoding.tval operation_data_and_receipt_encoding : 
  (operation_data * operation_receipt)
    Tezos_protocol_environment_023_PtSeouLo.Data_encoding.tval acceptable_pass : operation -> int optionval compare_operations : 
  (Tezos_protocol_environment_023_PtSeouLo.Operation_hash.t * operation) ->
  (Tezos_protocol_environment_023_PtSeouLo.Operation_hash.t * operation) ->
  inttype mode = | Application of block_header| Partial_validation of block_header| Construction of {predecessor_hash : Tezos_protocol_environment_023_PtSeouLo.Block_hash.t;timestamp : Tezos_protocol_environment_023_PtSeouLo.Time.t;block_header_data : block_header_data;}| Partial_construction of {predecessor_hash : Tezos_protocol_environment_023_PtSeouLo.Block_hash.t;timestamp : Tezos_protocol_environment_023_PtSeouLo.Time.t;}type validation_state = Validate.validation_statetype application_state = Apply.application_stateval begin_validation : 
  Tezos_protocol_environment_023_PtSeouLo.Context.t ->
  Tezos_protocol_environment_023_PtSeouLo.Chain_id.t ->
  mode ->
  predecessor:Tezos_protocol_environment_023_PtSeouLo.Block_header.shell_header ->
  validation_state Tezos_protocol_environment_023_PtSeouLo.Error_monad.tzresult
    Tezos_protocol_environment_023_PtSeouLo.Lwt.tval validate_operation : 
  ?check_signature:bool ->
  validation_state ->
  Tezos_protocol_environment_023_PtSeouLo.Operation_hash.t ->
  operation ->
  validation_state Tezos_protocol_environment_023_PtSeouLo.Error_monad.tzresult
    Tezos_protocol_environment_023_PtSeouLo.Lwt.tval finalize_validation : 
  validation_state ->
  unit Tezos_protocol_environment_023_PtSeouLo.Error_monad.tzresult
    Tezos_protocol_environment_023_PtSeouLo.Lwt.tval begin_application : 
  Tezos_protocol_environment_023_PtSeouLo.Context.t ->
  Tezos_protocol_environment_023_PtSeouLo.Chain_id.t ->
  mode ->
  predecessor:Tezos_protocol_environment_023_PtSeouLo.Block_header.shell_header ->
  application_state
    Tezos_protocol_environment_023_PtSeouLo.Error_monad.tzresult
    Tezos_protocol_environment_023_PtSeouLo.Lwt.tval finalize_application : 
  application_state ->
  Tezos_protocol_environment_023_PtSeouLo.Block_header.shell_header option ->
  (Tezos_protocol_environment_023_PtSeouLo.Updater.validation_result
   * block_header_metadata)
    Tezos_protocol_environment_023_PtSeouLo.Error_monad.tzresult
    Tezos_protocol_environment_023_PtSeouLo.Lwt.tval init : 
  Tezos_protocol_environment_023_PtSeouLo.Chain_id.t ->
  Tezos_protocol_environment_023_PtSeouLo.Context.t ->
  Tezos_protocol_environment_023_PtSeouLo.Block_header.shell_header ->
  Tezos_protocol_environment_023_PtSeouLo.Updater.validation_result
    Tezos_protocol_environment_023_PtSeouLo.Error_monad.tzresult
    Tezos_protocol_environment_023_PtSeouLo.Lwt.tval value_of_key : 
  chain_id:Tezos_protocol_environment_023_PtSeouLo.Chain_id.t ->
  predecessor_context:Tezos_protocol_environment_023_PtSeouLo.Context.t ->
  predecessor_timestamp:Tezos_protocol_environment_023_PtSeouLo.Time.t ->
  predecessor_level:Tezos_protocol_environment_023_PtSeouLo.Int32.t ->
  predecessor_fitness:Tezos_protocol_environment_023_PtSeouLo.Fitness.t ->
  predecessor:Tezos_protocol_environment_023_PtSeouLo.Block_hash.t ->
  timestamp:Tezos_protocol_environment_023_PtSeouLo.Time.t ->
  (Tezos_protocol_environment_023_PtSeouLo.Context.Cache.key ->
    Tezos_protocol_environment_023_PtSeouLo.Context.Cache.value
      Tezos_protocol_environment_023_PtSeouLo.Error_monad.tzresult
      Tezos_protocol_environment_023_PtSeouLo.Lwt.t)
    Tezos_protocol_environment_023_PtSeouLo.Error_monad.tzresult
    Tezos_protocol_environment_023_PtSeouLo.Lwt.tmodule Mempool : sig ... end