Tezos_raw_protocol_017_PtNairob.Dal_applyThis modules handles all the validation/application/finalisation of any operation related to the DAL.
val validate_attestation :
Alpha_context.t ->
Alpha_context.Dal.Attestation.operation ->
unit Tezos_protocol_environment_017_PtNairob.Error_monad.tzresultvalidate_attestation ctxt op ensures that op.attestation is valid and prevents an operation containing op.attestation to be refused on top of ctxt. If an Error _ is returned, the op.attestation is not valid.
val apply_attestation :
Alpha_context.t ->
Alpha_context.Dal.Attestation.operation ->
Alpha_context.t Tezos_protocol_environment_017_PtNairob.Error_monad.tzresultapply_attestation ctxt op applies op.attestation into the ctxt assuming op.attestor issued those attestations.
val validate_publish_slot_header :
Alpha_context.t ->
Alpha_context.Dal.Operations.Publish_slot_header.t ->
unit Tezos_protocol_environment_017_PtNairob.Error_monad.tzresultvalidate_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.
val apply_publish_slot_header :
Alpha_context.t ->
Alpha_context.Dal.Operations.Publish_slot_header.t ->
(Alpha_context.t * Alpha_context.Dal.Slot.Header.t)
Tezos_protocol_environment_017_PtNairob.Error_monad.tzresultapply_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.
val finalisation :
Alpha_context.t ->
(Alpha_context.t * Alpha_context.Dal.Attestation.t option)
Tezos_protocol_environment_017_PtNairob.Error_monad.tzresult
Tezos_protocol_environment_017_PtNairob.Lwt.tfinalisation 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.
val initialisation :
Alpha_context.t ->
level:Alpha_context.Level.t ->
Alpha_context.t Tezos_protocol_environment_017_PtNairob.Error_monad.tzresult
Tezos_protocol_environment_017_PtNairob.Lwt.tinitialize 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.
val compute_committee :
Alpha_context.t ->
Alpha_context.Level.t ->
Alpha_context.Dal.Attestation.committee
Tezos_protocol_environment_017_PtNairob.Error_monad.tzresult
Tezos_protocol_environment_017_PtNairob.Lwt.tcompute_committee ctxt level computes the DAL committee for level.