Dal_common.RPC
type default_uri_provider = (Dal_node.t, Endpoint.t) Either.t
type local_uri_provider = Dal_node.t
type remote_uri_provider = Endpoint.t
Profiles that operate on shards/slots.
type controller_profiles = controller_profile list
List of controller profiles.
Information contained in a slot header fetched from the DAL node.
val slot_header_of_json : Tezt_wrapper.JSON.t -> slot_header
slot_header_of_json json
decodes json
as a slot header. The function fails if the given json
cannot be decoded.
val slot_headers_of_json : Tezt_wrapper.JSON.t -> slot_header list
slot_header_of_json json_
similar to slot_header_of_json
, but the input (and output) is expected to be a list.
val post_slot :
?slot_index:int ->
Helpers.slot ->
(commitment * commitment_proof) RPC_core.t
Call RPC "POST /slots" to store a slot and return the commitment and its proof in case of success.
val get_level_slot_content :
slot_level:int ->
slot_index:int ->
Helpers.slot RPC_core.t
Call RPC "GET /levels/<slot_level>/slot/<slot_index>/content" to retrieve the slot content associated with the given level and index.
val get_level_slot_pages :
published_level:int ->
slot_index:int ->
string list RPC_core.t
get_level_slot_pages ~published_level ~slot_index
gets the pages of the slot published at level published_level
on slot index slot_index
.
val get_level_index_commitment :
slot_level:int ->
slot_index:int ->
commitment RPC_core.t
Call RPC "GET /levels/<published_level>/slot_indices/<slot_index>/commitment" to get the commitment associated to the given level and index.
val patch_profiles : controller_profiles -> unit RPC_core.t
Call RPC "PATCH /profiles" to update the list of profiles tracked by the DAL node.
val get_profiles : unit -> profile RPC_core.t
Call RPC "GET /profiles" to retrieve the list of profiles tracked by the DAL node.
val get_level_slot_status :
slot_level:int ->
slot_index:int ->
string RPC_core.t
Call RPC "GET /levels/<slot_level>/slots/<slot_index>/status" to get the status known about the given slot.
val get_assigned_shard_indices : level:int -> pkh:string -> int list RPC_core.t
Call RPC "GET /profiles/<public_key_hash>/attested_levels/<level>/assigned_shard_indices" to get shard ids assigned to the given public key hash at the given level.
val get_attestable_slots :
attester:Account.key ->
attested_level:int ->
attestable_slots RPC_core.t
Call RPC "GET /profiles/<public_key_hash>/attested_levels/<level>/attestable_slots" to get the slots currently attestable by the given public key hash at the given attested level. The result is either a Not_in_committee
or a Attestable_slots flags
, where flags
is a boolean list of length num_slots
. A slot is attestable if it is published at level level -
attestation_lag
) and all the shards assigned to the given attester at level level
are available in the DAL node's store.
val delete_p2p_peer_disconnect : peer_id:string -> unit RPC_core.t
Call RPC "DELETE /p2p/peers/disconnect" to disconnect the node whose identity is given.
val patch_p2p_peers_by_id :
peer_id:string ->
?acl:string ->
unit ->
unit RPC_core.t
Call RPC "PATCH /p2p/peers/by-id/<peer_id>" to patch the ACL of the node whose identity is given. Ignores the output of the RPC.
val get_topics : unit -> topic list RPC_core.t
Call RPC "GET /p2p/gossipsub/topics" to list the topics
val get_topics_peers :
?all:bool ->
unit ->
(topic * string list) list RPC_core.t
Call RPC "GET /p2p/gossipsub/topics/peers" to list the peers on each subscribed topic. If all
is true
(the default is false
) then list the peers on each known topic (not only the subscribed ones).
val get_slot_indexes_peers :
?all:bool ->
unit ->
(int * string list) list RPC_core.t
Call RPC "GET /p2p/gossipsub/slot_indexes/peers" to list the peers on each slot index part of a subscribed topic. If all
is true
(the default is false
) then list the peers on each known topic (not only the subscribed ones).
val get_pkhs_peers :
?all:bool ->
unit ->
(string * string list) list RPC_core.t
Call RPC "GET /p2p/gossipsub/pkhs/peers" to list the peers on each pkh part of a (all) topic. If all
is true
(the default is false
) then list the peers on each known topic (not only the subscribed ones).
val get_gossipsub_connections : unit -> Tezt_wrapper.JSON.t RPC_core.t
val get_scores : unit -> peer_score list RPC_core.t
Call RPC "GET /p2p/gossipsub/scores" to list the scores of peers with a known score.
val get_plugin_commitments_history_hash :
proto_hash:string ->
hash:string ->
unit ->
Tezt_wrapper.JSON.t RPC_core.t
Call RPC /plugin/proto_hash
/<commitments_history/hash/hash
.
val get_level_slot_shard_content :
slot_level:int ->
slot_index:int ->
shard_index:int ->
string RPC_core.t
Call /levels/<slot_level>/slots/<slot_index>/shards/<shard_index>/content
unistring_to_json s
converts a possibly invalid UTF-8 string into a JSON object using Data-encoding's unistring representation.
module Local : RPC_core.CALLERS with type uri_provider := local_uri_provider
module Remote : RPC_core.CALLERS with type uri_provider := remote_uri_provider