package tezos-protocol-alpha
Install
Dune Dependency
Authors
Maintainers
Sources
sha256=7062cd57addd452852598a2214ade393130efa087b99068d53713bdf912b3680
sha512=08e4091144a03ce3c107fb91a66501bd8b65ca3278917c455a2eaac6df3e108ade63f6ab8340a4bb152d60f404326e464d0ec95d26cafe8e82f870465d24a5fc
doc/tezos-protocol-alpha.raw/Tezos_raw_protocol_alpha/Stake_storage/index.html
Module Tezos_raw_protocol_alpha.Stake_storage
Source
This module provides basic operations (accessors and setters) on staking tokens.
It is responsible for maintaining the following tables:
Storage.Stake.Selected_distribution_for_cycle
Storage.Stake.Staking_balance
Storage.Stake.Active_delegates_with_minimal_stake
Storage.Stake.Last_snapshot
Storage.Stake.Total_active_stake
val fold :
Raw_context.t ->
f:
((Tezos_protocol_environment_alpha.Signature.Public_key_hash.t * Tez_repr.t) ->
'a ->
'a Tezos_protocol_environment_alpha.Error_monad.tzresult
Tezos_protocol_environment_alpha.Lwt.t) ->
order:[ `Sorted | `Undefined ] ->
'a ->
'a Tezos_protocol_environment_alpha.Error_monad.tzresult
Tezos_protocol_environment_alpha.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 a pair pkh, stake
, where pkh
is the public key hash of the delegate and stake
is the staking balance of the delegate.
val fold_snapshot :
Raw_context.t ->
index:int ->
f:
((Tezos_protocol_environment_alpha.Signature.Public_key_hash.t * Tez_repr.t) ->
'a ->
'a Tezos_protocol_environment_alpha.Error_monad.tzresult
Tezos_protocol_environment_alpha.Lwt.t) ->
init:'a ->
'a Tezos_protocol_environment_alpha.Error_monad.tzresult
Tezos_protocol_environment_alpha.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 Tezos_protocol_environment_alpha.Error_monad.tzresult
Tezos_protocol_environment_alpha.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 ->
(Tezos_protocol_environment_alpha.Signature.public_key_hash * Tez_repr.t)
list ->
Tez_repr.t ->
Raw_context.t Tezos_protocol_environment_alpha.Error_monad.tzresult
Tezos_protocol_environment_alpha.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 Tezos_protocol_environment_alpha.Error_monad.tzresult
Tezos_protocol_environment_alpha.Lwt.t
val fold_on_active_delegates_with_minimal_stake :
Raw_context.t ->
order:[ `Sorted | `Undefined ] ->
init:'a ->
f:
(Tezos_protocol_environment_alpha.Signature.Public_key_hash.t ->
unit ->
'a ->
'a Tezos_protocol_environment_alpha.Lwt.t) ->
'a Tezos_protocol_environment_alpha.Lwt.t
val get_selected_distribution :
Raw_context.t ->
Cycle_repr.t ->
(Tezos_protocol_environment_alpha.Signature.Public_key_hash.t * Tez_repr.t)
list
Tezos_protocol_environment_alpha.Error_monad.tzresult
Tezos_protocol_environment_alpha.Lwt.t
val find_selected_distribution :
Raw_context.t ->
Cycle_repr.t ->
(Tezos_protocol_environment_alpha.Signature.Public_key_hash.t * Tez_repr.t)
list
option
Tezos_protocol_environment_alpha.Error_monad.tzresult
Tezos_protocol_environment_alpha.Lwt.t
val prepare_stake_distribution :
Raw_context.t ->
Raw_context.t Tezos_protocol_environment_alpha.Error_monad.tzresult
Tezos_protocol_environment_alpha.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 ->
Tez_repr.t Tezos_protocol_environment_alpha.Error_monad.tzresult
Tezos_protocol_environment_alpha.Lwt.t
get_total_active_stake ctxt cycle
retrieves the amount in Tez of the active stake at cycle
from ctxt
.
val add_contract_stake :
Raw_context.t ->
Contract_repr.t ->
Tez_repr.t ->
Raw_context.t Tezos_protocol_environment_alpha.Error_monad.tzresult
Tezos_protocol_environment_alpha.Lwt.t
add_contract_stake ctxt contract amount
calls Stake_storage.add_stake ctxt delegate amount
if contract
has a delegate
. Otherwise this function does nothing.
val remove_contract_stake :
Raw_context.t ->
Contract_repr.t ->
Tez_repr.t ->
Raw_context.t Tezos_protocol_environment_alpha.Error_monad.tzresult
Tezos_protocol_environment_alpha.Lwt.t
remove_contract_stake ctxt contract amount
calls Stake_storage.remove_stake ctxt delegate amount
if contract
has a delegate
. Otherwise this function does nothing.