Module Mavryk_raw_protocol_001_PtAtLas.Dal_apply

This modules handles all the validation/application/finalisation of any operation related to the DAL.

validate_attestation ctxt get_consensus_key op checks whether the DAL attestation op is valid, assuming the delegate returned by get_consensus_key () issued those attestations. If an Error _ is returned, the op is not valid.

apply_attestation ctxt consensus_key op applies op.attestation into the ctxt assuming consensus_key.delegate issued those attestations.

validate_publish_slot_header ctxt slot ensures that slot_header is valid and prevents an operation containing slot_header to be refused on top of ctxt. If an Error _ is returned, the slot_header is not valid.

apply_publish_slot_header ctxt slot_header applies the publication of slot header slot_header on top of ctxt. Fails if the slot contains already a slot header.

finalisation ctxt should be executed at block finalisation time. A set of slots attested at level ctxt.current_level - lag is returned encapsulated into the attestation data-structure.

lag is a parametric constant specific to the data-availability layer.

initialize ctxt ~level should be executed at block initialisation time. It allows to cache the committee for level in memory so that every time we need to use this committee, there is no need to recompute it again.

compute_committee ctxt level computes the DAL committee for level.