package tezos-protocol-012-Psithaca

  1. Overview
  2. Docs
Legend:
Library
Module
Module type
Parameter
Class
Class type
val is_inactive : Raw_context.t -> Tezos_crypto.Signature.public_key_hash -> (bool, Tezos_protocol_environment_012_Psithaca__Environment.Error_monad.error Tezos_protocol_environment_012_Psithaca__Environment.Error_monad.trace) result Lwt.t
val add_amount : Raw_context.t -> Tezos_crypto.Signature.public_key_hash -> Tez_repr.t -> (Raw_context.t, Tezos_protocol_environment_012_Psithaca__Environment.Error_monad.error Tezos_protocol_environment_012_Psithaca__Environment.Error_monad.trace) result Lwt.t

add_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_crypto.Signature.public_key_hash -> Tez_repr.t -> (Raw_context.t, Tezos_protocol_environment_012_Psithaca__Environment.Error_monad.error Tezos_protocol_environment_012_Psithaca__Environment.Error_monad.trace) result Lwt.t

remove_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_crypto.Signature.public_key_hash -> (Raw_context.t, Tezos_protocol_environment_012_Psithaca__Environment.Error_monad.error Tezos_protocol_environment_012_Psithaca__Environment.Error_monad.trace) result Lwt.t

set_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_crypto.Signature.public_key_hash -> (Raw_context.t, Tezos_protocol_environment_012_Psithaca__Environment.Error_monad.error Tezos_protocol_environment_012_Psithaca__Environment.Error_monad.trace) result Lwt.t

If 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.

OCaml

Innovation. Community. Security.