package tezos-protocol-alpha
Install
Dune Dependency
Authors
Maintainers
Sources
sha256=55ea1fb8bb3273a7fc270ca8f650d45c56449665619482aad9bc12f3ea736b7e
sha512=fec850fc2d17d7490bbabd5147d62aad13b3aaed8774270f8a38ab419670ed03e0fd30cf8642a97984eca5c2446726fe590ad99c015f7ec50919dc7652f25053
doc/tezos_raw_protocol_alpha/Tezos_raw_protocol_alpha/Dal_apply/index.html
Module Tezos_raw_protocol_alpha.Dal_apply
Source
This modules handles all the validation/application/finalisation of any operation related to the DAL.
val validate_attestation :
Alpha_context.t ->
(unit ->
Alpha_context.Consensus_key.pk
Tezos_protocol_environment_alpha.Error_monad.tzresult
Tezos_protocol_environment_alpha.Lwt.t) ->
Alpha_context.Dal.Attestation.operation ->
Alpha_context.Consensus_key.pk
Tezos_protocol_environment_alpha.Error_monad.tzresult
Tezos_protocol_environment_alpha.Lwt.t
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.
val apply_attestation :
Alpha_context.t ->
Alpha_context.Consensus_key.pk ->
Alpha_context.Dal.Attestation.operation ->
Alpha_context.t Tezos_protocol_environment_alpha.Error_monad.tzresult
apply_attestation ctxt consensus_key op
applies op.attestation
into the ctxt
assuming consensus_key.delegate
issued those attestations.
val validate_publish_slot_header :
Alpha_context.t ->
Alpha_context.Dal.Operations.Publish_slot_header.t ->
unit Tezos_protocol_environment_alpha.Error_monad.tzresult
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.
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_alpha.Error_monad.tzresult
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.
val finalisation :
Alpha_context.t ->
(Alpha_context.t * Alpha_context.Dal.Attestation.t option)
Tezos_protocol_environment_alpha.Error_monad.tzresult
Tezos_protocol_environment_alpha.Lwt.t
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.
val initialisation :
Alpha_context.t ->
level:Alpha_context.Level.t ->
Alpha_context.t Tezos_protocol_environment_alpha.Error_monad.tzresult
Tezos_protocol_environment_alpha.Lwt.t
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.
val compute_committee :
Alpha_context.t ->
Alpha_context.Level.t ->
Alpha_context.Dal.Attestation.committee
Tezos_protocol_environment_alpha.Error_monad.tzresult
Tezos_protocol_environment_alpha.Lwt.t
compute_committee ctxt level
computes the DAL committee for level
.