package octez-shell-libs
module Local := Tezos_context_memory.Context
module Proof := Tezos_context_sigs.Context.Proof_types
val raw_context_size : Proof.raw_context -> int
The size of a tree, for logging
module StringMap = Tezos_base.TzPervasives.String.Map
module type REQUESTS_TREE = sig ... end
The point of this data structure is as follows:
module RequestsTree : REQUESTS_TREE
The point of this data structure is as follows:
module type M = sig ... end
type proxy_m = (module M)
type proxy_builder =
| Of_rpc of Proxy_proto.proto_rpc -> proxy_m Lwt.t
(*Build a proxy that uses network requests for all data.
*)| Of_data_dir of Tezos_base.TzPervasives.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 = {
printer : Tezos_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 aTezos_protocol_environment.Proxy_context
.rpc_context : Tezos_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.mode : Proxy.mode;
(*Whether the client or the proxy server is running.
*)chain : Tezos_shell_services.Block_services.chain;
(*The chain to provide RPC calls for.
*)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
.
val make_delegate :
rpc_context_args ->
(module Proxy_proto.PROTO_RPC) ->
Tezos_base.TzPervasives.Context_hash.t ->
Tezos_protocol_environment.Proxy_delegate.t Tezos_base.TzPervasives.tzresult
Lwt.t
Builds 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) : M
Functor 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) : M
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