package tezos-protocol-010-PtGRANAD
Install
dune-project
Dependency
Authors
Maintainers
Sources
sha256=7062cd57addd452852598a2214ade393130efa087b99068d53713bdf912b3680
sha512=08e4091144a03ce3c107fb91a66501bd8b65ca3278917c455a2eaac6df3e108ade63f6ab8340a4bb152d60f404326e464d0ec95d26cafe8e82f870465d24a5fc
doc/tezos-protocol-010-PtGRANAD.raw/Tezos_raw_protocol_010_PtGRANAD/Roll_storage/Delegate/index.html
Module Roll_storage.DelegateSource
val add_amount :
Raw_context.t ->
Tezos_protocol_environment_010_PtGRANAD.Signature.Public_key_hash.t ->
Tez_repr.t ->
Raw_context.t Tezos_protocol_environment_010_PtGRANAD.Error_monad.tzresult
Tezos_protocol_environment_010_PtGRANAD.Lwt.tadd_amount ctxt dlg am performs the following actions:
1. if the delegate dlg is inactive, increase its change chg by am, 2. if the dlg is active, update dlg's number of rolls nr, and change chg so that dlg's number of tokens is increased by am, and equal to nr * tokens_per_roll + chg, where chg < tokens_per_roll.
val remove_amount :
Raw_context.t ->
Tezos_protocol_environment_010_PtGRANAD.Signature.Public_key_hash.t ->
Tez_repr.t ->
Raw_context.t Tezos_protocol_environment_010_PtGRANAD.Error_monad.tzresult
Tezos_protocol_environment_010_PtGRANAD.Lwt.tremove_amount ctxt dlg am performs the following actions:
1. if the delegate dlg is inactive, decrease its change chg by am, 2. if the dlg is active, update dlg's number of rolls nr, and change chg so that dlg's number of tokens is decreased by am, and equal to nr * tokens_per_roll + chg, where chg < tokens_per_roll.
val set_inactive :
Raw_context.t ->
Tezos_protocol_environment_010_PtGRANAD.Signature.Public_key_hash.t ->
Raw_context.t Tezos_protocol_environment_010_PtGRANAD.Error_monad.tzresult
Tezos_protocol_environment_010_PtGRANAD.Lwt.tset_inactive ctxt dlg renders delegate dlg inactive and performs the following actions:
1. empty the list of rolls of dlg, 2. increase the change of dlg by nr * tokens_per_roll, where nr is dlg's number of rolls prior to inactivation.
val set_active :
Raw_context.t ->
Tezos_protocol_environment_010_PtGRANAD.Signature.Public_key_hash.t ->
Raw_context.t Tezos_protocol_environment_010_PtGRANAD.Error_monad.tzresult
Tezos_protocol_environment_010_PtGRANAD.Lwt.tIf the delegate dlg is already active then set_active ctxt dlg performs the following sequence of actions:
1. if the delegate is not scheduled to become inactive, then schedule the delegate to become inactive after (preserved_cycles * 2) + 1 cycles, 2. if the delegate is already scheduled to become inactive at cycle ic, then re-schedule it to become inactive at cycle max ic (cc + preserved_cycles + 1), where cc is the current cycle.
If dlg is inactive then this function puts dlg in active state and performs the following actions:
1. if dlg is not scheduled to become inactive, schedule dlg to become inactive after (preserved_cycles * 2) + 1 cycles, 2. if the dlg is already scheduled to become inactive at cycle ic, then re-schedule it to become inactive at cycle max ic (cc + (preserved_cycles * 2) + 1), where cc is the current cycle, 3. dispatch dlg's change chg into nr rolls of size tokens_per_roll so that the total amount managed by dlg is unchanged and equal to (nr * tokens_per_roll) + chg, where chg < tokens_per_roll.