Module Mavryk_proxy.Proxy_getter

val raw_context_size : Proof.raw_context -> int

The size of a tree, for logging

module type REQUESTS_TREE = sig ... end

The point of this data structure is as follows:

The point of this data structure is as follows:

module type M = sig ... end
type proxy_m = (module M)
type proxy_builder =
  1. | Of_rpc of Proxy_proto.proto_rpc -> proxy_m Lwt.t
    (*

    Build a proxy that uses network requests for all data.

    *)
  2. | Of_data_dir of Mavryk_base.TzPervasives.Context_hash.t -> Mavryk_protocol_environment.Proxy_delegate.t Mavryk_base.TzPervasives.tzresult Lwt.t
    (*

    Build 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 = {
  1. printer : Mavryk_client_base.Client_context.printer option;
    (*

    Optional printer to display information in some custom format.

    *)
  2. 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.

    *)
  3. 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.

    *)
  4. mode : Proxy.mode;
    (*

    Whether the client or the proxy server is running.

    *)
  5. chain : Mavryk_shell_services.Block_services.chain;
    (*

    The chain to provide RPC calls for.

    *)
  6. 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.

Builds a proxy delegate in the way specified by the proxy_builder field of the rpc_context_args argument.

Functor to obtain the implementation of M for the proxy mode (as opposed to the light mode implementation)

Functor to obtain a generic implementation. Used by the light mode

module Internal : sig ... end

Exposed for testing purpose only, you should not use it directly