Mavryk_raw_protocol_alpha.Dal_slot_storageStorage management of slots for the data-availability layer.
This module is an interface for the slot storage for the layer 1.
Depending on the current level of the context and the attestation_lag (a constant given by the context), the status of the slot may differ:
current_level; current_level +
attestation_lag - 1 the slot is Pending. This means a slot header was proposed but was not declared available yet.current_level + attestation_lag, the slot may be attested. For any slot attested by the protocol (i.e. indices returned by finalize_pending_slots), subscribers of the DAL should take into account the corresponding slots.current_level - attestation_lag, there should not be any slot in the storage.val find_slot_headers :
Raw_context.t ->
Raw_level_repr.t ->
Dal_slot_repr.Header.t list option
Mavryk_protocol_environment_alpha.Error_monad.tzresult
Mavryk_protocol_environment_alpha.Lwt.tfind_slot_headers ctxt level returns Some slot_headers where slot_headers are pending slots at level level. None is returned if no slot_header was registered at this level. The function fails if the reading into the context fails.
val finalize_current_slot_headers :
Raw_context.t ->
Raw_context.t Mavryk_protocol_environment_alpha.Lwt.tfinalize_current_slot_headers ctxt finalizes the current slot headers posted on this block and marks them as pending into the context.
val finalize_pending_slot_headers :
Raw_context.t ->
number_of_slots:int ->
(Raw_context.t * Dal_attestation_repr.t)
Mavryk_protocol_environment_alpha.Error_monad.tzresult
Mavryk_protocol_environment_alpha.Lwt.tfinalize_pending_slot_headers ctxt ~number_of_slots finalizes pending slot headers which are old enough (i.e. registered at level current_level -
attestation_lag). All slots marked as available are returned. All the pending slots at current_level - attestation_lag level are removed from the context.
val get_slot_headers_history :
Raw_context.t ->
Dal_slot_repr.History.t
Mavryk_protocol_environment_alpha.Error_monad.tzresult
Mavryk_protocol_environment_alpha.Lwt.tget_slot_headers_history ctxt returns the current value of slots_history stored in ctxt, or Slots_history.genesis if no value is stored yet.
val compute_attested_slot_headers :
is_slot_attested:(Dal_slot_repr.Header.t -> bool) ->
Dal_slot_repr.Header.t list ->
Dal_slot_repr.Header.t list * Dal_attestation_repr.tcompute_attested_slot_headers ~is_slot_attested published_slot_headers filter the given published_slot_headers and return the list of attested slot headers and the corresponding bitset.