Tezos_raw_protocol_alpha.Dal_attestation_reprSourceSlot attestation representation for the data-availability layer.
For the data-availability layer, the layer 1 provides a list of slots at every level (see Dal_slot_repr). Slots are not posted directly onto L1 blocks. Stakeholders, called attestors in this context, can commit on the availability of the data (via endorsements or attestation operations, see https://gitlab.com/tezos/tezos/-/issues/3115).
The slot is uniformly split into shards. Each attestor commits, for every slot, on the availability of all shards they are assigned to.
This module encapsulates the representation of this commitment that aims to be provided with endorsement operations. To avoid overloading the network, this representation should be compact.
type operation = {attestor : Tezos_protocol_environment_alpha.Signature.Public_key_hash.t;The account who attests the availability of the slots.
*)attestation : t;The bitset of slots that are attested to be available.
*)level : Raw_level_repr.t;The level at which the operation is valid. It should be equal to the attested slot's published level plus the DAL attestation lag.
*)}The shape of Dal attestation operations injected by delegates.
empty returns an empty slot_attestation which commits that every slot are unavailable.
is_attested slot_attestation ~index returns true if the slot_attestation commits that the slot at index is available.
commit slot_attestation index commits into slot_attestation that the slot index is available.
occupied_size_in_bits slot_attestation returns the size in bits of an attestation.
expected_size_in_bits ~max_index returns the expected size (in bits) of an attestation considering the maximum index for a slot is max_index.
A shard_index aims to be a positive number.
This module is used to record the shard attestations.