Tezos_proxy.ProxyCode that is used both by protocol-dependent code and by other code. Note that we don't want this code in proxy_proto.ml because it's independent from the protocol and we neither want this code in proxy_getter.ml, because it would create a cyclic dependency between proxy_proto.ml and proxy_getter.ml
module Local = Tezos_context_memory.Contexttype proxy_getter_input = {rpc_context : Tezos_rpc.Context.simple;How to perform RPC calls
*)chain : Tezos_shell_services.Block_services.chain;The chain involved in the RPC call
*)block : Tezos_shell_services.Block_services.block;The block involved in the RPC call
*)}A dumb container, used to perform RPC calls concerning a specific chain and block. In other words this container is used to perform RPC calls of the form /chains/<chain>/blocks/<block> where the <...> received the value of the corresponding field of this record.
The result of setting a leaf. A mutation if done in place, otherwise a fresh value. We need this type because the proxy implementation returns a value whereas the light mode's implementation performs a mutation (because of Irmin under the hood).
module type TREE = sig ... endAn ad-hoc module type used by implementations of the proxy mode when it uses the ../raw/bytes RPC to query its distant endpoint. It is ad-hoc because its get function has the concrete Proxy_context.M.tree as a return type and because add_leaf has the concrete Tezos_context_sigs.Context.Proof_types.raw_context as a parameter (this type is inherited from the return type of the ../raw/bytes RPC).
module type CORE = sig ... endModule used by implementations of Proxy_getter.M.