Module Mavryk_raw_protocol_alpha.Dal_apply

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

validate_attestation ctxt level slot consensus_key attestation checks whether the DAL attestation attestation emitted at given level by the attester with the given consensus_key and given slot is valid. If an Error _ is returned, the op is not valid. The checks made are: * the attestation size does not exceed the maximum; * the delegate is in the DAL committee.

These are checks done for the DAL part alone, checks on other fields of an attestation (like level, round) are done by the caller.

apply_attestation ctxt attestation records in the context that the given attestation was issued and the corresponding attester has the given power.

validate_publish_commitment 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_commitment 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.