Mavryk_raw_protocol_001_PtAtLas.Delegate_sampler
This module draws random values for a cycle based on the Seed_repr.seed
associated that cycle. These random values are:
This module is responsible for maintaining the table Storage.Delegate_sampler_state
.
val slot_owner :
Raw_context.t ->
Level_repr.t ->
Slot_repr.t ->
(Raw_context.t * Delegate_consensus_key.pk)
Mavryk_protocol_environment_001_PtAtLas.Error_monad.tzresult
Mavryk_protocol_environment_001_PtAtLas.Lwt.t
Participation slots potentially associated to accounts. The accounts that didn't place a deposit will be excluded from this list. This function should only be used to compute the deposits to freeze or initialize the protocol while stitching. RPCs can use this function to predict an approximation of long term future slot allocations. It shouldn't be used in the baker.
val baking_rights_owner :
Raw_context.t ->
Level_repr.t ->
round:Round_repr.round ->
(Raw_context.t * Slot_repr.t * Delegate_consensus_key.pk)
Mavryk_protocol_environment_001_PtAtLas.Error_monad.tzresult
Mavryk_protocol_environment_001_PtAtLas.Lwt.t
val load_sampler_for_cycle :
Raw_context.t ->
Cycle_repr.t ->
Raw_context.t Mavryk_protocol_environment_001_PtAtLas.Error_monad.tzresult
Mavryk_protocol_environment_001_PtAtLas.Lwt.t
load_sampler_for_cycle ctxt cycle
caches the seeded stake sampler for cycle
in ctxt
. If the sampler was already cached, then ctxt
is returned unchanged.
This function has the same effect on ctxt
as slot_owner
and baking_rights_owner
.
val compute_snapshot_index :
Raw_context.t ->
Cycle_repr.t ->
max_snapshot_index:int ->
int Mavryk_protocol_environment_001_PtAtLas.Error_monad.tzresult
Mavryk_protocol_environment_001_PtAtLas.Lwt.t
compute_snapshot_index ctxt cycle max_snapshot_index
Returns the index of the selected snapshot for the cycle
passed as argument, and for the max index of snapshots taken so far, max_snapshot_index
(see Stake_storage.max_snapshot_index
.
val select_new_distribution_at_cycle_end :
Raw_context.t ->
slashings:
Int_percentage.t
Mavryk_protocol_environment_001_PtAtLas.Signature.Public_key_hash.Map.t ->
new_cycle:Cycle_repr.t ->
Raw_context.t Mavryk_protocol_environment_001_PtAtLas.Error_monad.tzresult
Mavryk_protocol_environment_001_PtAtLas.Lwt.t
val clear_outdated_sampling_data :
Raw_context.t ->
new_cycle:Cycle_repr.t ->
Raw_context.t Mavryk_protocol_environment_001_PtAtLas.Error_monad.tzresult
Mavryk_protocol_environment_001_PtAtLas.Lwt.t
val select_distribution_for_cycle :
Raw_context.t ->
slashings:
Int_percentage.t
Mavryk_protocol_environment_001_PtAtLas.Signature.Public_key_hash.Map.t ->
Cycle_repr.t ->
Raw_context.t Mavryk_protocol_environment_001_PtAtLas.Error_monad.tzresult
Mavryk_protocol_environment_001_PtAtLas.Lwt.t
module For_RPC : sig ... end