package tezos-protocol-005-PsBabyM1
val pp :
Tezos_protocol_environment_005_PsBabyM1.Format.formatter ->
'key t ->
unit
Trivial display of the key-value context layout.
val build_directory :
'key t ->
'key Tezos_protocol_environment_005_PsBabyM1.RPC_directory.t
Export an RPC hierarchy for querying the context. There is one service by possible path in the context. Services for "directory" are able to aggregate in one JSON object the whole subtree.
val create : unit -> 'key t
Create a empty context description, keys will be registred by side effects.
val register_value :
'key t ->
get:
('key ->
'a option Tezos_protocol_environment_005_PsBabyM1.Error_monad.tzresult
Tezos_protocol_environment_005_PsBabyM1.Lwt.t) ->
'a Tezos_protocol_environment_005_PsBabyM1.Data_encoding.t ->
unit
Register a single key accessor at a given path.
Return a description for a prefixed fragment of the given context. All keys registred in the subcontext will be shared by the external context
type (_, _, _) args =
| One : {
rpc_arg : 'a Tezos_protocol_environment_005_PsBabyM1.RPC_arg.t;
encoding : 'a Tezos_protocol_environment_005_PsBabyM1.Data_encoding.t;
compare : 'a -> 'a -> int;
} -> ('key, 'a, 'key * 'a) args
| Pair : ('key, 'a, 'inter_key) args * ('inter_key, 'b, 'sub_key) args -> ('key, 'a * 'b, 'sub_key) args
Description of an index as a sequence of `RPC_arg.t`.
val register_indexed_subcontext :
'key t ->
list:
('key ->
'arg list Tezos_protocol_environment_005_PsBabyM1.Error_monad.tzresult
Tezos_protocol_environment_005_PsBabyM1.Lwt.t) ->
('key, 'arg, 'sub_key) args ->
'sub_key t
Return a description for a indexed sub-context. All keys registred in the subcontext will be shared by the external context. One should provide a function to list all the registred index in the context.
Helpers for manipulating and defining indexes.
val pack : ('key, 'a, 'sub_key) args -> 'key -> 'a -> 'sub_key
val unpack : ('key, 'a, 'sub_key) args -> 'sub_key -> 'key * 'a
module type INDEX = sig ... end