Module Tezos_dal_node_services.Services

This module provides different services related to DAL.

type 'rpc service = ('meth, 'prefix, 'params, 'query, 'input, 'output) Tezos_rpc.Service.service constraint 'rpc = < meth : 'meth ; prefix : 'prefix ; params : 'params ; query : 'query ; input : 'input ; output : 'output >
val health : < meth : [ `GET ] ; input : unit ; output : Types.Health.t ; prefix : unit ; params : unit ; query : unit > service
val synchronized : < meth : [ `GET ] ; input : unit ; output : L1_crawler_status.t ; prefix : unit ; params : unit ; query : unit > service
val monitor_synchronized : < meth : [ `GET ] ; input : unit ; output : L1_crawler_status.t ; prefix : unit ; params : unit ; query : unit > service
val post_slot : < meth : [ `POST ] ; input : string ; output : Tezos_crypto_dal.Cryptobox.commitment * Tezos_crypto_dal.Cryptobox.commitment_proof ; prefix : unit ; params : unit ; query : < padding : char ; slot_index : Types.slot_index option > > service

This RPC should be used by a slot producer. It allows to produce a commitment, a commitment proof and the shards from a slot. A padding is added if the slot is not of the expected size (slot_size from the Cryptobox).

val patch_commitment : < meth : [ `PATCH ] ; input : Types.slot_id ; output : unit ; prefix : unit ; params : unit * Tezos_crypto_dal.Cryptobox.commitment ; query : unit > service

Associate a commitment to a level and a slot index. See Slot_manager.associate_slot_id_with_commitment for more details.

val get_slot_content : < meth : [ `GET ] ; input : unit ; output : Tezos_crypto_dal.Cryptobox.slot ; prefix : unit ; params : (unit * Types.level) * Types.slot_index ; query : unit > service

Retrieve the content of the slot associated with the given slot id.

val get_slot_pages : < meth : [ `GET ] ; input : unit ; output : Tezos_crypto_dal.Cryptobox.page list ; prefix : unit ; params : (unit * Types.level) * Types.slot_index ; query : unit > service

Returns the pages of the slot identified by the given slot id.

val get_slot_page_proof : < meth : [ `GET ] ; input : unit ; output : Tezos_crypto_dal.Cryptobox.page_proof ; prefix : unit ; params : ((unit * Types.level) * Types.slot_index) * Types.page_index ; query : unit > service

Compute the proof associated to the page whose index is given of the given slot.

val get_slot_commitment : < meth : [ `GET ] ; input : unit ; output : Tezos_crypto_dal.Cryptobox.commitment ; prefix : unit ; params : (unit * Types.level) * Types.slot_index ; query : unit > service

Return the commitment associated to the given slot index and published at the given level, if any. The commitment is fetched from the skip-list storage. Note that the commitment is not present in the storage immediately after publication, but only when its attestation status is known and final.

val get_slot_status : < meth : [ `GET ] ; input : unit ; output : Types.header_status ; prefix : unit ; params : (unit * Types.level) * Types.slot_index ; query : unit > service

Return the status of the given slot. It first looks for the status in its cache, which is available only during the attestation window. If not found in the cache, it fetches the status in the corresponding cell in the skip-list store; this therefore works only on operator nodes.

val get_last_processed_level : < meth : [ `GET ] ; input : unit ; output : int32 ; prefix : unit ; params : unit ; query : unit > service

Returns the last (finalized) L1 level which was processed by the DAL \ node.

val get_protocol_parameters : < meth : [ `GET ] ; input : unit ; output : Types.proto_parameters ; prefix : unit ; params : unit ; query : int32 option > service

Returns the protocol parameters as known by the DAL node.

val patch_profiles : < meth : [ `PATCH ] ; input : Controller_profiles.t ; output : unit ; prefix : unit ; params : unit ; query : unit > service

Update the list of profiles tracked by the DAL node. Note that it does not take the bootstrap profile as it is incompatible with other profiles.

val get_profiles : < meth : [ `GET ] ; input : unit ; output : Types.profile ; prefix : unit ; params : unit ; query : unit > service

Return the list of current profiles tracked by the DAL node

val get_assigned_shard_indices : < meth : [ `GET ] ; input : unit ; output : Types.shard_index list ; prefix : unit ; params : (unit * Tezos_base.TzPervasives.Signature.public_key_hash) * Types.level ; query : unit > service

Return the shard indexes assigned to the given delegate (identified by its delegate key address) at the given level.

val get_attestable_slots : < meth : [ `GET ] ; input : unit ; output : Types.attestable_slots ; prefix : unit ; params : (unit * Tezos_base.TzPervasives.Signature.public_key_hash) * Types.level ; query : unit > service

Return the set of currently attestable slots. A slot is attestable at level l if it is published at level l - attestation_lag and *all* the shards assigned at level l to the given delegate (identified by its delegate key address) are available in the DAL node's store.

val monitor_attestable_slots : < meth : [ `GET ] ; input : unit ; output : Types.slot_id ; prefix : unit ; params : unit * Tezos_base.TzPervasives.Signature.public_key_hash ; query : unit > service

Stream attestable slot_ids for the given public key hash pkh. A slot is attestable at level L if it was published at L - attestation_lag and *all* shards assigned at level L to pkh are available in the DAL node's store.

val get_traps : < meth : [ `GET ] ; input : unit ; output : Types.trap list ; prefix : unit ; params : unit * Types.level ; query : < delegate : Tezos_base.TzPervasives.Signature.public_key_hash option ; slot_index : Types.slot_index option > > service

For a given published level, return all the traps known by the node.

val get_slot_shard : < meth : [ `GET ] ; input : unit ; output : Tezos_crypto_dal.Cryptobox.shard ; prefix : unit ; params : ((unit * Types.level) * Types.slot_index) * int ; query : unit > service

Return the shard associated to the given index.

val version : < meth : [ `GET ] ; input : unit ; output : Types.Version.t ; prefix : unit ; params : unit ; query : unit > service
module P2P : sig ... end