V11.Makemodule Param : sig ... endinclude Mavryk_protocol_environment_sigs.V11.T
with type Format.formatter = Stdlib.Format.formatter
and type 'a Seq.node = 'a Mavryk_base.TzPervasives.Seq.node
and type 'a Seq.t = unit -> 'a Mavryk_base.TzPervasives.Seq.node
and type 'a Data_encoding.t = 'a Mavryk_base.TzPervasives.Data_encoding.t
and type 'a Data_encoding.Compact.t =
'a Mavryk_base.TzPervasives.Data_encoding.Compact.t
and type 'a Data_encoding.lazy_t =
'a Mavryk_base.TzPervasives.Data_encoding.lazy_t
and type 'a Lwt.t = 'a Lwt.t
and type ('a, 'b) Pervasives.result = ('a, 'b) Stdlib.result
and type Chain_id.t = Mavryk_base.TzPervasives.Chain_id.t
and type Block_hash.t = Mavryk_base.TzPervasives.Block_hash.t
and type Operation_hash.t = Mavryk_base.TzPervasives.Operation_hash.t
and type Operation_list_hash.t =
Mavryk_base.TzPervasives.Operation_list_hash.t
and type Operation_list_list_hash.t =
Mavryk_base.TzPervasives.Operation_list_list_hash.t
and type Context.t =
Mavryk_protocol_environment__.Environment_context.Context.t
and type Context.cache_key =
Mavryk_protocol_environment__.Environment_context.Context.cache_key
and type Context.cache_value =
Mavryk_protocol_environment__.Environment_context.Context.cache_value
and type Context_hash.t = Mavryk_base.TzPervasives.Context_hash.t
and type Context_hash.Version.t =
Mavryk_base.TzPervasives.Context_hash.Version.t
and type Context.config = Mavryk_context_sigs.Config.t
and module Context.Proof =
Mavryk_protocol_environment__.Environment_context.Context.Proof
and type Context_binary.t = Mavryk_context_memory.Context_binary.t
and type Context_binary.tree = Mavryk_context_memory.Context_binary.tree
and type Protocol_hash.t = Mavryk_base.TzPervasives.Protocol_hash.t
and type Time.t = Mavryk_base.TzPervasives.Time.Protocol.t
and type Operation.shell_header =
Mavryk_base.TzPervasives.Operation.shell_header
and type Operation.t = Mavryk_base.TzPervasives.Operation.t
and type Block_header.shell_header =
Mavryk_base.TzPervasives.Block_header.shell_header
and type Block_header.t = Mavryk_base.TzPervasives.Block_header.t
and type 'a RPC_directory.t = 'a Mavryk_rpc.Directory.t
and type Ed25519.Public_key_hash.t =
Mavryk_crypto.Signature.Ed25519.Public_key_hash.t
and type Ed25519.Public_key.t = Mavryk_crypto.Signature.Ed25519.Public_key.t
and type Ed25519.t = Mavryk_crypto.Signature.Ed25519.t
and type Secp256k1.Public_key_hash.t =
Mavryk_crypto.Signature.Secp256k1.Public_key_hash.t
and type Secp256k1.Public_key.t =
Mavryk_crypto.Signature.Secp256k1.Public_key.t
and type Secp256k1.t = Mavryk_crypto.Signature.Secp256k1.t
and type P256.Public_key_hash.t =
Mavryk_crypto.Signature.P256.Public_key_hash.t
and type P256.Public_key.t = Mavryk_crypto.Signature.P256.Public_key.t
and type P256.t = Mavryk_crypto.Signature.P256.t
and type Bls.Public_key_hash.t =
Mavryk_crypto.Signature.Bls.Public_key_hash.t
and type Bls.Public_key.t = Mavryk_crypto.Signature.Bls.Public_key.t
and type Bls.t = Mavryk_crypto.Signature.Bls.t
and type Signature.public_key_hash =
Mavryk_crypto.Signature.V1.public_key_hash
and type Signature.public_key = Mavryk_crypto.Signature.V1.public_key
and type Signature.signature = Mavryk_crypto.Signature.V1.signature
and type Signature.t = Mavryk_crypto.Signature.V1.t
and type Signature.watermark = Mavryk_crypto.Signature.V1.watermark
and type Micheline.canonical_location =
Mavryk_micheline.Micheline.canonical_location
and type 'a Micheline.canonical = 'a Mavryk_micheline.Micheline.canonical
and type Z.t = Z.t
and type Q.t = Q.t
and type ('a, 'b) Micheline.node = ('a, 'b) Mavryk_micheline.Micheline.node
and type Data_encoding.json_schema =
Mavryk_base.TzPervasives.Data_encoding.json_schema
and type ('a, 'b) RPC_path.t = ('a, 'b) Mavryk_rpc.Path.t
and type RPC_service.meth = Mavryk_rpc.Service.meth
and type (+'m, 'pr, 'p, 'q, 'i, 'o) RPC_service.t =
('m, 'pr, 'p, 'q, 'i, 'o) Mavryk_rpc.Service.t
and type Error_monad.shell_tztrace =
Mavryk_base.TzPervasives.Error_monad.tztrace
and type 'a Error_monad.shell_tzresult =
('a, Mavryk_base.TzPervasives.Error_monad.tztrace) Stdlib.result
and type Timelock.chest = Mavryk_crypto.Timelock.chest
and type Timelock.chest_key = Mavryk_crypto.Timelock.chest_key
and type Timelock.opening_result = Mavryk_crypto.Timelock.opening_result
and module Sapling = Mavryk_sapling.Core.Validator
and type ('a, 'b) Either.t = ('a, 'b) Stdlib.Either.t
and type Bls.Primitive.Fr.t = Mavryk_bls12_381.Fr.t
and type Plonk.proof = Mavryk_protocol_environment_structs.V11.Plonk.proof
and type Plonk.public_parameters =
Mavryk_protocol_environment_structs.V11.Plonk.verifier_public_parameters
and type Dal.parameters = Mavryk_crypto_dal.Cryptobox.Verifier.parameters
and type Dal.commitment = Mavryk_crypto_dal.Cryptobox.Verifier.commitment
and type Dal.commitment_proof =
Mavryk_crypto_dal.Cryptobox.Verifier.commitment_proof
and type Dal.page_proof = Mavryk_crypto_dal.Cryptobox.Verifier.page_proof
and type Bounded.Non_negative_int32.t =
Mavryk_base.Bounded.Non_negative_int32.t
and type Wasm_2_0_0.version = Mavryk_scoru_wasm.Wasm_pvm_state.version
and type Wasm_2_0_0.input = Mavryk_scoru_wasm.Wasm_pvm_state.input_info
and type Wasm_2_0_0.output = Mavryk_scoru_wasm.Wasm_pvm_state.output_info
and type Wasm_2_0_0.reveal = Mavryk_scoru_wasm.Wasm_pvm_state.reveal
and type Wasm_2_0_0.input_request =
Mavryk_scoru_wasm.Wasm_pvm_state.input_request
and type Wasm_2_0_0.info = Mavryk_scoru_wasm.Wasm_pvm_state.info
and module Skip_list = Mavryk_base.Skip_list
and type Smart_rollup.Address.t =
Mavryk_crypto.Hashed.Smart_rollup_address.t
and type Smart_rollup.Commitment_hash.t =
Mavryk_crypto.Hashed.Smart_rollup_commitment_hash.t
and type Smart_rollup.State_hash.t =
Mavryk_crypto.Hashed.Smart_rollup_state_hash.t
and type Smart_rollup.Inbox_hash.t =
Mavryk_crypto.Hashed.Smart_rollup_inbox_hash.t
and type Smart_rollup.Merkelized_payload_hashes_hash.t =
Mavryk_crypto.Hashed.Smart_rollup_merkelized_payload_hashes_hash.t
with type Updater.quota =
Mavryk_protocol_environment__.Environment_context.quota
with type Updater.rpc_context =
Mavryk_protocol_environment__.Environment_context.rpc_contextmodule CamlinternalFormatBasics :
module type of struct include Mavryk_protocol_environment_sigs_internals.CamlinternalFormatBasics endmodule Pervasives : sig ... endThe OCaml Standard library.
module Either : sig ... endEither type.
module String : sig ... endString operations.
module Char : sig ... endCharacter operations.
module Bytes : sig ... endByte sequence operations.
module Int32 : sig ... end32-bit integers.
module Int64 : sig ... end64-bit integers.
module Format : sig ... endPretty-printing.
module Logging : sig ... endmodule Hex : sig ... endHexadecimal encoding.
module Z : sig ... endIntegers.
module Q : sig ... endRationals.
module Lwt : sig ... endmodule Data_encoding : sig ... endmodule Raw_hashes : sig ... endmodule Compare : sig ... endmodule Time : sig ... endmodule TzEndian : sig ... endmodule Bits : sig ... endmodule Equality_witness : sig ... endThis module provides support for type equalities and runtime type identifiers.
module FallbackArray : sig ... endThis module implements arrays equipped with accessors that cannot raise exceptions. Reading out of the bounds of the arrays return a fallback value fixed at array construction time, writing out of the bounds of the arrays is ignored.
module Error_monad : sig ... endmodule Seq : sig ... endmodule List : sig ... endmodule Array : sig ... endThis module is a very restricted subset of OCaml's Stdlib Array module. There is just enough exposed that you can pass arrays around to some functions and such, but not enough that you can easily shoot yourself in the foot. (See details below.)
module Set : sig ... endmodule Map : sig ... endmodule Option : sig ... endSignature from Lwtreslib's option module
module Result : sig ... endmodule RPC_arg : sig ... endSee src/lib_rpc/RPC_arg.mli for documentation
module RPC_path : sig ... endmodule RPC_query : sig ... endmodule RPC_service : sig ... endmodule RPC_answer : sig ... endmodule RPC_directory : sig ... endmodule Base58 : sig ... endmodule S : sig ... endmodule Blake2B : sig ... endBuilds a new Hash type using Blake2B.
module Bls : sig ... endMavryk - BLS12-381 cryptography
module Ed25519 : sig ... endMavryk - Ed25519 cryptography
module Secp256k1 : sig ... endMavryk - Secp256k1 cryptography
module P256 : sig ... endMavryk - P256 cryptography
module Chain_id : sig ... endmodule Signature : sig ... endmodule Block_hash : sig ... endmodule Operation_hash : sig ... endmodule Operation_list_hash : sig ... endmodule Operation_list_list_hash : sig ... endmodule Protocol_hash : sig ... endmodule Context_hash : sig ... endmodule Sapling = Mavryk_sapling.Core.Validatormodule Timelock : sig ... endmodule Vdf : sig ... endmodule Micheline : sig ... endmodule Block_header : sig ... endmodule Bounded : sig ... endThis module implements bounded (or refined) versions of data types.
module Fitness : sig ... endmodule Operation : sig ... endMavryk operations.
module Context : sig ... endView over the context store, restricted to types, access and functional manipulation of an existing context.
module Updater : sig ... endMavryk Protocol Environment - Protocol updater.
module RPC_context : sig ... endmodule Context_binary : sig ... endmodule Wasm_2_0_0 : sig ... endmodule Plonk : sig ... endaPlonK is a PlonK-based proving system. As such, it provides a way to create succinct cryptographic proofs about a given predicate, which can be then verified with a low computational cost.
module Dal : sig ... endmodule Skip_list = Mavryk_base.Skip_listmodule Smart_rollup : sig ... endAn 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.}).
val wrap_tzerror : Error_monad.error -> Mavryk_base.TzPervasives.errorwrap_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 ->
Mavryk_base.TzPervasives.error Mavryk_base.TzPervasives.tracewrap_tztrace t is a shell trace composed of the wrapped errors of the protocol trace t.
val wrap_tzresult :
'a Error_monad.tzresult ->
'a Mavryk_base.TzPervasives.tzresultwrap_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.)
module Lift (P : Updater.PROTOCOL) : sig ... endclass ['chain, 'block] proto_rpc_context : Mavryk_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