package tezos-protocol-alpha

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

This module is used to record the shard attestations.

For each attestor, a list of shards is associated. For each attested slot (see t) we record that those shards were deemed available.

This information will be used at the end of block finalisation to have the protocol declaring whether the slot is available.

type attested_slots = t
type t

The data-structure used to record the shards attestations.

DAL/FIXME https://gitlab.com/tezos/tezos/-/issues/3145

Consider using the Bounded module. In particular, change the semantics of is_slot_attested accordingly.

val init : length:int -> t

init ~length initialises a new accountability data-structure with at most length slots and where for every slot, no shard is available.

val record_attested_shards : t -> attested_slots -> shard_index list -> t

record_attested_shards t slots shards records that for all slots declared available in slots, the shard indices in shards are deemed available. It is the responsibility of the caller to ensure the shard indices are positive numbers. A negative shard index is ignored.

val is_slot_attested : t -> threshold:int -> number_of_shards:int -> Dal_slot_index_repr.t -> bool

is_slot_attested t ~threshold ~number_of_shards slot returns true if the number of shards recorded in t for the slot is above the threshold with respect to the total number of shards specified by number_of_shards. Returns false otherwise or if the index is out of the interval 0;length where length is the value provided to the init function.

OCaml

Innovation. Community. Security.