Mavryk_raw_protocol_alpha.Delegate_consensus_keyManagement of a delegate's consensus key, the one used to sign blocks and consensus operations. It is responsible for maintaining the tables Storage.Consensus_keys, Storage.Contract.Consensus_key, and Storage.Contract.Pending_consensus_keys.
type Mavryk_protocol_environment_alpha.Error_monad.error += | Invalid_consensus_key_update_noop of Cycle_repr.t| Invalid_consensus_key_update_active| Invalid_consensus_key_update_mv4 of Mavryk_protocol_environment_alpha.Bls.Public_key.ttype pk = Raw_context.consensus_pk = {delegate : Mavryk_protocol_environment_alpha.Signature.Public_key_hash.t;consensus_pk : Mavryk_protocol_environment_alpha.Signature.Public_key.t;consensus_pkh : Mavryk_protocol_environment_alpha.Signature.Public_key_hash.t;}The public key of a consensus key and the associated delegate.
type t = {delegate : Mavryk_protocol_environment_alpha.Signature.Public_key_hash.t;consensus_pkh : Mavryk_protocol_environment_alpha.Signature.Public_key_hash.t;}The public key hash of a consensus key and the associated delegate.
val zero : tval pp : Mavryk_protocol_environment_alpha.Format.formatter -> t -> unitval check_not_mv4 :
Mavryk_protocol_environment_alpha.Signature.public_key ->
unit Mavryk_protocol_environment_alpha.Error_monad.tzresultcheck_not_mv4 pk checks that pk is not a BLS address.
val init :
Raw_context.t ->
Mavryk_protocol_environment_alpha.Signature.Public_key_hash.t ->
Mavryk_protocol_environment_alpha.Signature.Public_key.t ->
Raw_context.t Mavryk_protocol_environment_alpha.Error_monad.tzresult
Mavryk_protocol_environment_alpha.Lwt.tInitialize the consensus key when registering a delegate.
val active_pubkey :
Raw_context.t ->
Mavryk_protocol_environment_alpha.Signature.Public_key_hash.t ->
pk Mavryk_protocol_environment_alpha.Error_monad.tzresult
Mavryk_protocol_environment_alpha.Lwt.tReturns the active consensus key for the current cycle.
val active_key :
Raw_context.t ->
Mavryk_protocol_environment_alpha.Signature.Public_key_hash.t ->
t Mavryk_protocol_environment_alpha.Error_monad.tzresult
Mavryk_protocol_environment_alpha.Lwt.tReturns the active consensus key for the current cycle.
val active_pubkey_for_cycle :
Raw_context.t ->
Mavryk_protocol_environment_alpha.Signature.Public_key_hash.t ->
Cycle_repr.t ->
pk Mavryk_protocol_environment_alpha.Error_monad.tzresult
Mavryk_protocol_environment_alpha.Lwt.tReturns the active consensus key for the given cycle.
val pending_updates :
Raw_context.t ->
Mavryk_protocol_environment_alpha.Signature.Public_key_hash.t ->
(Cycle_repr.t
* Mavryk_protocol_environment_alpha.Signature.Public_key_hash.t
* Mavryk_protocol_environment_alpha.Signature.Public_key.t)
list
Mavryk_protocol_environment_alpha.Error_monad.tzresult
Mavryk_protocol_environment_alpha.Lwt.tReturns the list of pending consensus-key updates in upcoming cycles.
val register_update :
Raw_context.t ->
Mavryk_protocol_environment_alpha.Signature.Public_key_hash.t ->
Mavryk_protocol_environment_alpha.Signature.Public_key.t ->
Raw_context.t Mavryk_protocol_environment_alpha.Error_monad.tzresult
Mavryk_protocol_environment_alpha.Lwt.tRegister a consensus-key update.
val activate :
Raw_context.t ->
new_cycle:Cycle_repr.t ->
Raw_context.t Mavryk_protocol_environment_alpha.Lwt.tActivate consensus keys at the beginning of cycle new_cycle.