Mavryk_proxy.Proxy_gettermodule Local := Mavryk_context_memory.Contextmodule Proof := Mavryk_context_sigs.Context.Proof_typesval raw_context_size : Proof.raw_context -> intThe size of a tree, for logging
module StringMap = Mavryk_base.TzPervasives.String.Mapmodule type REQUESTS_TREE = sig ... endThe point of this data structure is as follows:
module RequestsTree : REQUESTS_TREEThe point of this data structure is as follows:
module type M = sig ... endtype proxy_m = (module M)type proxy_builder = | Of_rpc of Proxy_proto.proto_rpc -> proxy_m Lwt.tBuild a proxy that uses network requests for all data.
*)| Of_data_dir of Mavryk_base.TzPervasives.Context_hash.t ->
Mavryk_protocol_environment.Proxy_delegate.t
Mavryk_base.TzPervasives.tzresult
Lwt.tBuild a proxy that looks up data in a running node's data dir.
*)The different ways to obtain data from the node. The two functions being wrapped are ultimately used to build Proxy_delegate.t values, that are passed to Proxy_context.empty.
type rpc_context_args = {printer : Mavryk_client_base.Client_context.printer option;Optional printer to display information in some custom format.
*)proxy_builder : proxy_builder;Given the protocol implementation of the RPCs required by the proxy mode, how to build an instance of proxy_m that will then make it possible to build a Mavryk_protocol_environment.Proxy_context.
rpc_context : Mavryk_rpc.Context.generic;How to perform RPC calls. We need such a value, because the proxy mode performs RPCs to initialize itself (by requesting the header) and also to fill Mavryk_protocol_environment.Proxy_context on-demand.
mode : Proxy.mode;Whether the client or the proxy server is running.
*)chain : Mavryk_shell_services.Block_services.chain;The chain to provide RPC calls for.
*)block : Mavryk_shell_services.Block_services.block;The block to provide RPC calls for.
*)}Input data required by the proxy mode to build a Mavryk_protocol_environment.rpc_context.
val make_delegate :
rpc_context_args ->
(module Proxy_proto.PROTO_RPC) ->
Mavryk_base.TzPervasives.Context_hash.t ->
Mavryk_protocol_environment.Proxy_delegate.t
Mavryk_base.TzPervasives.tzresult
Lwt.tBuilds a proxy delegate in the way specified by the proxy_builder field of the rpc_context_args argument.
module MakeProxy (X : Proxy_proto.PROTO_RPC) : MFunctor to obtain the implementation of M for the proxy mode (as opposed to the light mode implementation)
module Make (C : Proxy.CORE) (X : Proxy_proto.PROTO_RPC) : MFunctor to obtain a generic implementation. Used by the light mode
module Internal : sig ... endExposed for testing purpose only, you should not use it directly