package tezos-protocol-alpha

  1. Overview
  2. Docs
Legend:
Library
Module
Module type
Parameter
Class
Class type

Basic roll manipulation.

The storage related to roll (i.e. `Storage.Roll`) is not used outside of this module. And, this interface enforces the invariant that a roll is always either in the limbo list or owned by a delegate.

type Tezos_protocol_environment_alpha__Environment.Error_monad.error +=
  1. | Consume_roll_change
  2. | No_roll_for_delegate
  3. | No_stake_snapshot_for_cycle of Cycle_repr.t
  4. | Unregistered_delegate of Tezos_crypto.Signature.public_key_hash
val fold : Raw_context.t -> f: (Roll_repr_legacy.roll -> Tezos_crypto.Signature.public_key -> 'a -> ('a, Tezos_protocol_environment_alpha__Environment.Error_monad.error Tezos_protocol_environment_alpha__Environment.Error_monad.trace) result Lwt.t) -> 'a -> ('a, Tezos_protocol_environment_alpha__Environment.Error_monad.error Tezos_protocol_environment_alpha__Environment.Error_monad.trace) result Lwt.t

fold ctxt f init folds f on the list of all rolls from Roll_repr.first to Storage.Next.Roll of the context ctxt. Only rolls which have owners are considered, rolls without owners are skipped. The first parameter of f is a roll r, the second parameter of f is the owner of r, and the last parameter is the initial value of the accumulator.

module Delegate : sig ... end
module Contract : sig ... end
val delegate_pubkey : Raw_context.t -> Tezos_crypto.Signature.public_key_hash -> (Tezos_crypto.Signature.public_key, Tezos_protocol_environment_alpha__Environment.Error_monad.error Tezos_protocol_environment_alpha__Environment.Error_monad.trace) result Lwt.t

delegate_pubkey ctxt delegate returns the public key of delegate found in context ctxt if there exists a registered contract.

val get_change : Raw_context.t -> Tezos_crypto.Signature.public_key_hash -> (Tez_repr.t, Tezos_protocol_environment_alpha__Environment.Error_monad.error Tezos_protocol_environment_alpha__Environment.Error_monad.trace) result Lwt.t

get_change ctxt delegate returns the amount of change held by delegate in context ctxt. The change is the part of the staking balance of a delegate that is not part of a roll, i.e., the amount of staking balance (smaller than the value of a roll) not being taken into account for baking rights computation.

val get_contract_delegate : Raw_context.t -> Contract_repr.t -> (Tezos_crypto.Signature.public_key_hash option, Tezos_protocol_environment_alpha__Environment.Error_monad.error Tezos_protocol_environment_alpha__Environment.Error_monad.trace) result Lwt.t

get_contract_delegate ctxt contract returns the public key hash of the delegate whose contract is contract in context ctxt.