package tezos-protocol-alpha

  1. Overview
  2. Docs
On This Page
  1. Overview
Legend:
Library
Module
Module type
Parameter
Class
Class type

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 attestation_lag (a constant given by the context), the status of the slot may differ:

  • For every level in the interval current_level; current_level + attestation_lag - 1 the slot is Pending. This means a slot header was proposed but was not declared available yet.
  • For every level above 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.
  • For every level below current_level - attestation_lag, there should not be any slot in the storage.

find_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.

finalize_current_slot_headers ctxt finalizes the current slot headers posted on this block and marks them as pending into the context.

finalize_pending_slot_headers ctxt 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.

get_slot_headers_history ctxt returns the current value of slots_history stored in ctxt, or Slots_history.genesis if no value is stored yet.

OCaml

Innovation. Community. Security.