Module Mavryk_raw_protocol_001_PtAtLas.Stake_storage

This module provides basic operations (accessors and setters) on staking tokens.

It is responsible for maintaining the following tables:

val has_minimal_stake_and_frozen_stake : Raw_context.t -> Full_staking_balance_repr.t -> bool

fold ctxt ~f ~order init folds f on the list of active delegates having the minimal required stake. The folding process starts with init. Each element of the list is the public key hash of a delegate.

fold_snapshot ctxt ~index ~f ~init folds f on the list of active delegates having the minimal required stake for the given snapshot index. The folding process starts with init. Each element of the list is a pair pkh, stake, where pkh is the public key hash of the delegate and stake is the staking balance of the delegate for the given snapshot index.

max_snapshot_index ctxt returns the index of the last snapshot taken of staking balances and active delegates.

set_selected_distribution_for_cycle ctxt cycle distrib total_stake saves the selected distribution distrib of the total_stake for the given cycle.

val fold_on_active_delegates_with_minimal_stake_s : Raw_context.t -> order:[ `Sorted | `Undefined ] -> init:'a -> f: (Mavryk_protocol_environment_001_PtAtLas.Signature.Public_key_hash.t -> unit -> 'a -> 'a Mavryk_protocol_environment_001_PtAtLas.Lwt.t) -> 'a Mavryk_protocol_environment_001_PtAtLas.Lwt.t

Copy the stake distribution for the current cycle (from Storage.Stake.Selected_distribution_for_cycle) in the raw context.

get_total_active_stake ctxt cycle retrieves the amount in Tez of the active stake at cycle from ctxt.

add_contract_delegated_stake ctxt contract amount calls Stake_storage.add_delegated_stake ctxt delegate amount if contract has a delegate. Otherwise this function does nothing.

remove_contract_delegated_stake ctxt contract amount calls Stake_storage.remove_delegated_stake ctxt delegate amount if contract has a delegate. Otherwise this function does nothing.

module For_RPC : sig ... end
module Internal_for_tests : sig ... end