Mavryk_raw_protocol_alpha.Delegate_activation_storageThis module deals with delegates' activity. Typically, the provided functions can be used to deactivate a delegate that has not shown activity for a certain number of cycles, and to reactivate it when appropriate.
This module is responsible for maintaining the following tables:
val last_cycle_before_deactivation :
Raw_context.t ->
Mavryk_protocol_environment_alpha.Signature.Public_key_hash.t ->
Cycle_repr.t Mavryk_protocol_environment_alpha.Error_monad.tzresult
Mavryk_protocol_environment_alpha.Lwt.tlast_cycle_before_deactivation ctxt delegate is the cycle at which the delegate is scheduled to become inactive.
val set_inactive :
Raw_context.t ->
Mavryk_protocol_environment_alpha.Signature.Public_key_hash.t ->
Raw_context.t Mavryk_protocol_environment_alpha.Lwt.tset_inactive context delegate adds delegate to the set of inactive contracts.
val set_active :
Raw_context.t ->
Mavryk_protocol_environment_alpha.Signature.Public_key_hash.t ->
(Raw_context.t * bool) Mavryk_protocol_environment_alpha.Error_monad.tzresult
Mavryk_protocol_environment_alpha.Lwt.tset_active ctxt delegate returns a pair (new_ctxt, is_inactive) where:
new_ctxt is a new context, updated from ctxt, where the delegate's last active cycle has been updatedis_inactive represents the state of delegate, prior to the update.