Tezos_protocol_environment_023_PtSeouLo.Liftmodule P : Updater.PROTOCOLtype block_header_data = P.block_header_dataval block_header_data_encoding : 
  block_header_data Tezos_base.TzPervasives.Data_encoding.ttype block_header = P.block_header = {shell : Tezos_base.TzPervasives.Block_header.shell_header;protocol_data : block_header_data;}type block_header_metadata = P.block_header_metadataval block_header_metadata_encoding : 
  block_header_metadata Tezos_base.TzPervasives.Data_encoding.ttype operation_data = P.operation_datatype operation_receipt = P.operation_receipttype operation = P.operation = {shell : Tezos_base.TzPervasives.Operation.shell_header;protocol_data : operation_data;}val operation_data_encoding : 
  operation_data Tezos_base.TzPervasives.Data_encoding.tval operation_receipt_encoding : 
  operation_receipt Tezos_base.TzPervasives.Data_encoding.tval operation_data_and_receipt_encoding : 
  (operation_data * operation_receipt) Tezos_base.TzPervasives.Data_encoding.tval acceptable_pass : operation -> int optionval compare_operations : 
  (Tezos_crypto.Hashed.Operation_hash.t * operation) ->
  (Tezos_crypto.Hashed.Operation_hash.t * operation) ->
  inttype validation_state = P.validation_statetype application_state = P.application_statetype mode = | Application of block_header| Partial_validation of block_header| Construction of {predecessor_hash : Tezos_crypto.Hashed.Block_hash.t;timestamp : Tezos_base.TzPervasives.Time.Protocol.t;block_header_data : block_header_data;}| Partial_construction of {predecessor_hash : Tezos_crypto.Hashed.Block_hash.t;timestamp : Tezos_base.TzPervasives.Time.Protocol.t;}val validate_operation : 
  ?check_signature:bool ->
  validation_state ->
  Tezos_crypto.Hashed.Operation_hash.t ->
  operation ->
  validation_state Tezos_base.TzPervasives.Error_monad.tzresult Lwt.tval finalize_validation : 
  validation_state ->
  unit Tezos_base.TzPervasives.Error_monad.tzresult Lwt.tval apply_operation : 
  application_state ->
  Tezos_crypto.Hashed.Operation_hash.t ->
  operation ->
  (application_state * operation_receipt)
    Tezos_base.TzPervasives.Error_monad.tzresult
    Lwt.tval finalize_application : 
  application_state ->
  Tezos_base.TzPervasives.Block_header.shell_header option ->
  (Tezos_protocol_environment__.Environment_context.validation_result
   * block_header_metadata)
    Tezos_base.TzPervasives.Error_monad.tzresult
    Lwt.tval rpc_services : 
  Tezos_protocol_environment__.Environment_context.rpc_context
    Tezos_rpc.Directory.tval init : 
  Tezos_crypto.Hashed.Chain_id.t ->
  Tezos_protocol_environment__.Environment_context.Context.t ->
  Tezos_base.TzPervasives.Block_header.shell_header ->
  Tezos_protocol_environment__.Environment_context.validation_result
    Tezos_base.TzPervasives.Error_monad.tzresult
    Lwt.tval value_of_key : 
  chain_id:Tezos_crypto.Hashed.Chain_id.t ->
  predecessor_context:
    Tezos_protocol_environment__.Environment_context.Context.t ->
  predecessor_timestamp:Tezos_base.TzPervasives.Time.Protocol.t ->
  predecessor_level:Stdlib.Int32.t ->
  predecessor_fitness:Tezos_base.TzPervasives.Fitness.t ->
  predecessor:Tezos_crypto.Hashed.Block_hash.t ->
  timestamp:Tezos_base.TzPervasives.Time.Protocol.t ->
  (Tezos_protocol_environment__.Environment_context.Context.cache_key ->
    Tezos_protocol_environment__.Environment_context.Context.cache_value
      Tezos_base.TzPervasives.Error_monad.tzresult
      Lwt.t)
    Tezos_base.TzPervasives.Error_monad.tzresult
    Lwt.tval set_log_message_consumer : 
  (Tezos_base.TzPervasives.Internal_event.level -> string -> unit) ->
  unitval environment_version : Tezos_base.TzPervasives.Protocol.env_versionval begin_validation : 
  Tezos_protocol_environment__.Environment_context.Context.t ->
  Tezos_crypto.Hashed.Chain_id.t ->
  mode ->
  predecessor:Tezos_base.TzPervasives.Block_header.shell_header ->
  cache:
    [ `Force_load
    | `Load
    | `Lazy
    | `Inherited of
      Tezos_protocol_environment__.Environment_context.Context.block_cache
      * Tezos_crypto.Hashed.Context_hash.t ] ->
  validation_state Tezos_base.TzPervasives.Error_monad.tzresult Lwt.tval begin_application : 
  Tezos_protocol_environment__.Environment_context.Context.t ->
  Tezos_crypto.Hashed.Chain_id.t ->
  mode ->
  predecessor:Tezos_base.TzPervasives.Block_header.shell_header ->
  cache:
    [ `Force_load
    | `Load
    | `Lazy
    | `Inherited of
      Tezos_protocol_environment__.Environment_context.Context.block_cache
      * Tezos_crypto.Hashed.Context_hash.t ] ->
  application_state Tezos_base.TzPervasives.Error_monad.tzresult Lwt.tmodule Mempool : sig ... end