Module Tezos_raw_protocol_alpha.Delegate_sampler

This module draws random values for a cycle based on the Seed_repr.seed associated that cycle. These random values are only delegates associated with slots. The selection of delegates is done by sampling from a particular distribution of the stake among the active delegates.

This module is responsible for maintaining the table Storage.Delegate_sampler_state.

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.

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 cleanup_values_for_protocol_p : Raw_context.t -> preserved_cycles:int -> consensus_rights_delay:int -> new_cycle:Cycle_repr.t -> Raw_context.t Tezos_protocol_environment_alpha.Error_monad.tzresult Tezos_protocol_environment_alpha.Lwt.t

attesting_rights_count ctxt level returns a map of the delegates to their number of attestation slots for the given level. Fails if the given level is in a cycle for which the seed is not in the storage

module For_RPC : sig ... end