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
val remove_frozen_stake_only_call_from_token :
Raw_context.t ->
Frozen_staker_repr.t ->
Tez_repr.t ->
Raw_context.t Mavryk_protocol_environment_001_PtAtLas.Error_monad.tzresult
Mavryk_protocol_environment_001_PtAtLas.Lwt.t
val add_frozen_stake_only_call_from_token :
Raw_context.t ->
Frozen_staker_repr.t ->
Tez_repr.t ->
Raw_context.t Mavryk_protocol_environment_001_PtAtLas.Error_monad.tzresult
Mavryk_protocol_environment_001_PtAtLas.Lwt.t
val fold_on_active_delegates_with_minimal_stake_es :
Raw_context.t ->
f:
(Mavryk_protocol_environment_001_PtAtLas.Signature.Public_key_hash.t ->
'a ->
'a Mavryk_protocol_environment_001_PtAtLas.Error_monad.tzresult
Mavryk_protocol_environment_001_PtAtLas.Lwt.t) ->
order:[ `Sorted | `Undefined ] ->
init:'a ->
'a Mavryk_protocol_environment_001_PtAtLas.Error_monad.tzresult
Mavryk_protocol_environment_001_PtAtLas.Lwt.t
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.
val fold_snapshot :
Raw_context.t ->
index:int ->
f:
((Mavryk_protocol_environment_001_PtAtLas.Signature.Public_key_hash.t
* Full_staking_balance_repr.t) ->
'a ->
'a Mavryk_protocol_environment_001_PtAtLas.Error_monad.tzresult
Mavryk_protocol_environment_001_PtAtLas.Lwt.t) ->
init:'a ->
'a Mavryk_protocol_environment_001_PtAtLas.Error_monad.tzresult
Mavryk_protocol_environment_001_PtAtLas.Lwt.t
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
.
val max_snapshot_index :
Raw_context.t ->
int Mavryk_protocol_environment_001_PtAtLas.Error_monad.tzresult
Mavryk_protocol_environment_001_PtAtLas.Lwt.t
max_snapshot_index ctxt
returns the index of the last snapshot taken of staking balances and active delegates.
val set_selected_distribution_for_cycle :
Raw_context.t ->
Cycle_repr.t ->
(Mavryk_protocol_environment_001_PtAtLas.Signature.public_key_hash
* Stake_repr.t)
list ->
Stake_repr.t ->
Raw_context.t Mavryk_protocol_environment_001_PtAtLas.Error_monad.tzresult
Mavryk_protocol_environment_001_PtAtLas.Lwt.t
set_selected_distribution_for_cycle ctxt cycle distrib total_stake
saves the selected distribution distrib
of the total_stake
for the given cycle
.
val clear_at_cycle_end :
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 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
val find_selected_distribution :
Raw_context.t ->
Cycle_repr.t ->
(Mavryk_protocol_environment_001_PtAtLas.Signature.Public_key_hash.t
* Stake_repr.t)
list
option
Mavryk_protocol_environment_001_PtAtLas.Error_monad.tzresult
Mavryk_protocol_environment_001_PtAtLas.Lwt.t
val prepare_stake_distribution :
Raw_context.t ->
Raw_context.t Mavryk_protocol_environment_001_PtAtLas.Error_monad.tzresult
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.
val get_total_active_stake :
Raw_context.t ->
Cycle_repr.t ->
Stake_repr.t Mavryk_protocol_environment_001_PtAtLas.Error_monad.tzresult
Mavryk_protocol_environment_001_PtAtLas.Lwt.t
get_total_active_stake ctxt cycle
retrieves the amount in Tez of the active stake at cycle
from ctxt
.
val add_contract_delegated_stake :
Raw_context.t ->
Contract_repr.t ->
Tez_repr.t ->
Raw_context.t Mavryk_protocol_environment_001_PtAtLas.Error_monad.tzresult
Mavryk_protocol_environment_001_PtAtLas.Lwt.t
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.
val remove_contract_delegated_stake :
Raw_context.t ->
Contract_repr.t ->
Tez_repr.t ->
Raw_context.t Mavryk_protocol_environment_001_PtAtLas.Error_monad.tzresult
Mavryk_protocol_environment_001_PtAtLas.Lwt.t
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