package tezos-protocol-014-PtKathma
Storage management of slots for the data-availability layer.
Overview
This module is an interface for the slot storage for the layer 1.
Depending on the current level of the context and the lag
(a constant given by the context), the status of the slot may differ:
- For every level in the interval
current_level; current_level + lag -1
the slot isPending
. This means a slot header was proposed but was not declared available yet.
- For every level above
current_level + lag
, the slot may beconfirmed
. For any slot confirmed by the protocol (i.e. indices returned byfinalize_pending_slots
), subscribers of the DAL should take into account the corresponding slots.
- For every level below
current_level - lag
, there should not be any slot in the storage.
val find :
Raw_context.t ->
Raw_level_repr.t ->
Dal_slot_repr.t list option
Tezos_protocol_environment_014_PtKathma.Error_monad.tzresult
Tezos_protocol_environment_014_PtKathma.Lwt.t
find ctxt level
returns Some slots
where slots
are pending slots at level level
. None
is returned if no slot
was registered at this level. The function fails if the reading into the context fails.
val finalize_current_slots :
Raw_context.t ->
Raw_context.t Tezos_protocol_environment_014_PtKathma.Lwt.t
finalize_current_slots ctxt
finalizes the current slots posted on this block and marks them as pending into the context.
val finalize_pending_slots :
Raw_context.t ->
(Raw_context.t * Dal_endorsement_repr.t)
Tezos_protocol_environment_014_PtKathma.Error_monad.tzresult
Tezos_protocol_environment_014_PtKathma.Lwt.t
finalize_pending_slots ctxt
finalizes pending slots which are old enough (i.e. registered at level current_level - lag
). All slots marked as available are returned. All the pending slots at current_level - lag
level are removed from the context.