Module Mavryk_raw_protocol_alpha.Delegate_activation_storage

This 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:

last_cycle_before_deactivation ctxt delegate is the cycle at which the delegate is scheduled to become inactive.

set_inactive context delegate adds delegate to the set of inactive contracts.

set_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 updated
  • is_inactive represents the state of delegate, prior to the update.