package octez-shell-libs
Install
Dune Dependency
Authors
Maintainers
Sources
sha256=aa2f5bc99cc4ca2217c52a1af2a2cdfd3b383208cb859ca2e79ca0903396ca1d
sha512=d68bb3eb615e3dcccc845fddfc9901c95b3c6dc8e105e39522ce97637b1308a7fa7aa1d271351d5933febd7476b2819e1694f31198f1f0919681f1f9cc97cb3a
doc/octez-shell-libs.proxy/Tezos_proxy/Proxy_getter/MakeProxy/argument-1-X/index.html
Parameter MakeProxy.X
val split_key :
Proxy.mode ->
Tezos_protocol_environment.Proxy_context.M.key ->
(Tezos_protocol_environment.Proxy_context.M.key
* Tezos_protocol_environment.Proxy_context.M.key)
option
When about to do a RPC request, how to modify the request; to possibly request a parent tree of the key, to batch successive requests into one.
For example when requesting baking_rights, there's the following sequence of requests (for carthage):
v1;constants v1;first_level
To speed things up, this function returns "v1" on any of these keys, to do a single request instead of two. This list is arbitrary. It was built by initial input from @klakplok and by experimenting. When the proxy server was introduced, this function was generalized to split differently according to the mode.
This function guarantees that if it returns Some(prefix, suffix) then prefix @@ suffix = key
.
val failure_is_permanent :
Tezos_protocol_environment.Proxy_context.M.key ->
bool
failure_is_permanent key
means that, if the request rpc get /chains/<chain_id>/blocks/<block_id>/context/raw/bytes/key
fails once, then it should not be retried; because this key is known to be missing all the time. It is safe to return always false
. Returning true
for some keys will reduce the number of RPC calls.
val do_rpc :
Proxy.proxy_getter_input ->
Tezos_protocol_environment.Proxy_context.M.key ->
Tezos_context_sigs.Context.Proof_types.raw_context
Tezos_base.TzPervasives.tzresult
Lwt.t