package octez-proto-libs
Install
    
    dune-project
 Dependency
Authors
Maintainers
Sources
sha256=55ea1fb8bb3273a7fc270ca8f650d45c56449665619482aad9bc12f3ea736b7e
    
    
  sha512=fec850fc2d17d7490bbabd5147d62aad13b3aaed8774270f8a38ab419670ed03e0fd30cf8642a97984eca5c2446726fe590ad99c015f7ec50919dc7652f25053
    
    
  doc/octez-proto-libs.protocol-environment/Tezos_protocol_environment/V2/Make/index.html
Module V2.MakeSource
Parameters
module Param : sig ... endSignature
include Tezos_protocol_environment_sigs.V2.T
  with type Format.formatter = Format.formatter
   and type 'a Data_encoding.t = 'a Tezos_base.TzPervasives.Data_encoding.t
   and type 'a Data_encoding.lazy_t =
         'a Tezos_base.TzPervasives.Data_encoding.lazy_t
   and type 'a Lwt.t = 'a Lwt.t
   and type ('a, 'b) Pervasives.result = ('a, 'b) result
   and type Chain_id.t = Tezos_crypto.Hashed.Chain_id.t
   and type Block_hash.t = Tezos_crypto.Hashed.Block_hash.t
   and type Operation_hash.t = Tezos_crypto.Hashed.Operation_hash.t
   and type Operation_list_hash.t = Tezos_crypto.Hashed.Operation_list_hash.t
   and type Operation_list_list_hash.t =
         Tezos_crypto.Hashed.Operation_list_list_hash.t
   and type Context.t =
         Tezos_protocol_environment__.Environment_context.Context.t
   and type Context_hash.t = Tezos_crypto.Hashed.Context_hash.t
   and type Protocol_hash.t = Tezos_crypto.Hashed.Protocol_hash.t
   and type Time.t = Tezos_base.TzPervasives.Time.Protocol.t
   and type Operation.shell_header =
         Tezos_base.TzPervasives.Operation.shell_header
   and type Operation.t = Tezos_base.TzPervasives.Operation.t
   and type Block_header.shell_header =
         Tezos_base.TzPervasives.Block_header.shell_header
   and type Block_header.t = Tezos_base.TzPervasives.Block_header.t
   and type 'a RPC_directory.t = 'a Tezos_rpc.Directory.t
   and type Ed25519.Public_key_hash.t =
         Tezos_base.TzPervasives.Signature.Ed25519.Public_key_hash.t
   and type Ed25519.Public_key.t =
         Tezos_base.TzPervasives.Signature.Ed25519.Public_key.t
   and type Ed25519.t = Tezos_base.TzPervasives.Signature.Ed25519.t
   and type Secp256k1.Public_key_hash.t =
         Tezos_base.TzPervasives.Signature.Secp256k1.Public_key_hash.t
   and type Secp256k1.Public_key.t =
         Tezos_base.TzPervasives.Signature.Secp256k1.Public_key.t
   and type Secp256k1.t = Tezos_base.TzPervasives.Signature.Secp256k1.t
   and type P256.Public_key_hash.t =
         Tezos_base.TzPervasives.Signature.P256.Public_key_hash.t
   and type P256.Public_key.t =
         Tezos_base.TzPervasives.Signature.P256.Public_key.t
   and type P256.t = Tezos_base.TzPervasives.Signature.P256.t
   and type Signature.public_key_hash =
         Tezos_base.TzPervasives.Signature.V0.public_key_hash
   and type Signature.public_key =
         Tezos_base.TzPervasives.Signature.V0.public_key
   and type Signature.t = Tezos_base.TzPervasives.Signature.V0.t
   and type Signature.watermark =
         Tezos_base.TzPervasives.Signature.V0.watermark
   and type 'a Micheline.canonical = 'a Tezos_micheline.Micheline.canonical
   and type Z.t = Z.t
   and type ('a, 'b) Micheline.node = ('a, 'b) Tezos_micheline.Micheline.node
   and type Data_encoding.json_schema =
         Tezos_base.TzPervasives.Data_encoding.json_schema
   and type ('a, 'b) RPC_path.t = ('a, 'b) Tezos_rpc.Path.t
   and type RPC_service.meth = Tezos_rpc.Service.meth
   and type (+'m, 'pr, 'p, 'q, 'i, 'o) RPC_service.t =
         ('m, 'pr, 'p, 'q, 'i, 'o) Tezos_rpc.Service.t
   and type Error_monad.shell_tztrace =
         Tezos_base.TzPervasives.Error_monad.tztrace
   and type 'a Error_monad.shell_tzresult =
         ('a, Tezos_base.TzPervasives.Error_monad.tztrace) result
   and module Sapling = Tezos_sapling.Core.Validator_legacy
  with type Updater.validation_result =
         Tezos_protocol_environment__.Environment_context.validation_result
  with type Updater.quota =
         Tezos_protocol_environment__.Environment_context.quota
  with type Updater.rpc_context =
         Tezos_protocol_environment__.Environment_context.rpc_context
module CamlinternalFormatBasics : 
  module type of struct include Tezos_protocol_environment_sigs_internals.CamlinternalFormatBasics endThe OCaml Standard library.
module Z : sig ... endIntegers.
module Lwt : sig ... endmodule Lwt_list : sig ... endList helpers
module Bits : sig ... endView over the context store, restricted to types, access and functional manipulation of an existing context.
This module provides support for type equalities and runtime type identifiers.
An Ecoproto_error e is a shell error that carry a protocol error.
Each protocol has its own error-monad (instantiated when this module here is applied) with a fresh extensible error type. This protocol-specific error type is incompatible with the shell's. The Ecoproto_error constructor belongs to the shell's error type and it carries the errors of the protocol's specific error type back into the shell's.
The function wrap_tz* below provide wrappers for three different levels: errors, traces, and tzresults. They are used within the implementation of the environment to translate some return values from the protocol's error monad into the shell's. They are exported because they can be useful for writing tests for the protocol (i.e., for the tests located in src/proto_*/lib_protocol/test/) and for writing protocol-specific support libraries and binaries (i.e., for the code in src/proto_*/lib_{client,delegate,etc.}).
wrap_tzerror e is a shell error wrapping the protocol error e. (It is Ecoproto_error e.)
val wrap_tztrace : 
  Error_monad.error Error_monad.trace ->
  Tezos_base.TzPervasives.error Tezos_base.TzPervasives.tracewrap_tztrace t is a shell trace composed of the wrapped errors of the protocol trace t.
wrap_tzresult r is a shell tzresult that carries the same result as or a wrapped trace of the protocol tzresult r. (It is Ok x if r is Ok x, it is Error (wrap_tztrace t) if r is Error t.)
class ['chain, 'block] proto_rpc_context : Tezos_rpc.Context.t -> (unit, (unit * 'chain) * 'block) RPC_path.t -> 
  ('chain * 'block)
    RPC_context.simpleclass 'block proto_rpc_context_of_directory : ('block ->
  RPC_context.t) -> RPC_context.t RPC_directory.t -> 'block RPC_context.simple