Tezos_shell_context.Proxy_delegate_makerval of_memory_tree :
Tezos_context_memory.Context.tree ->
Tezos_protocol_environment.Proxy_delegate.tof_memory_tree t creates a delegate that is backed by the tree t. This is an alternative to delegating to a distant endpoint by doing RPCs (as done in the client, see e.g. proto_alpha/lib_client/proxy.ml). As delegates created by of_memory_tree are backed by an in-memory tree, they are as fast as they can be.
This constructor is easier to use than of_memory_context, because it requires only a tree of data; not a context. This constructor is typically useful for tests.
val of_memory_context :
Tezos_context_memory.Context.t ->
Tezos_protocol_environment.Proxy_delegate.tof_memory_context m creates a delegate that is backed by the tree underlying m. This is an alternative to delegating to a distant endpoint by doing RPCs (as done in the client, see e.g. proto_alpha/lib_client/proxy.ml). As delegates created by of_memory_context are backed by an in-memory tree, they are as fast as they can be.
This constructor is slightly harder to use than of_memory_tree, because it requires a full-fledged context instead of a tree (a context contains a tree, so a context is harder to obtain).
val make_index : context_path:string -> Tezos_context.Context.index Lwt.tmake_index context_path creates an index that is suitable for being passed to of_index.
val of_index :
index:Tezos_context.Context.index ->
Tezos_crypto.Hashed.Context_hash.t ->
Tezos_protocol_environment.Proxy_delegate.t Tezos_base.TzPervasives.tzresult
Lwt.tof_index index ctxt_hash creates a delegate that checkouts the given index at the given ctxt_hash. It fails in the error monad if the hash is unknown. Otherwise it returns a delegate that queries the tree of data at this hash.
This constructor is the hardest to use of all of this file, because to obtain an index, you need a full-fledged context on disk.