package tezos-proxy

  1. Overview
  2. Docs
module Local := Local_context

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 Tezos_crypto.Context_hash.t -> Tezos_protocol_environment.Proxy_delegate.t Tezos_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 : Tezos_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 Tezos_protocol_environment.Proxy_context.

    *)
  3. rpc_context : Tezos_rpc.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 Tezos_protocol_environment.Proxy_context on-demand.

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

    Whether the client or the proxy server is running.

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

    The chain to provide RPC calls for.

    *)
  6. block : Tezos_shell_services.Block_services.block;
    (*

    The block to provide RPC calls for.

    *)
}

Input data required by the proxy mode to build a Tezos_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