package tezos-protocol-alpha

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

This module maintains the storage related to slashing of delegates for double signing. In particular, it is responsible for maintaining the Storage.Slashed_deposits, Storage.Contract.Slashed_deposits, and Storage.Current_cycle_denunciations tables.

Returns true if the given delegate has already been slashed for double baking for the given level.

Returns true if the given delegate has already been slashed for double preattesting or double attesting for the given level.

type reward_and_burn = {
  1. reward : Tez_repr.t;
  2. amount_to_burn : Tez_repr.t;
}

The reward_and_burn type embeds amounts involved when slashing a delegate for double attesting or double baking.

type punishing_amounts = {
  1. staked : reward_and_burn;
  2. unstaked : (Cycle_repr.t * reward_and_burn) list;
}

The punishing_amounts type embeds amounts involved when slashing a delegate for double attesting or double baking.

Record in the context that the given delegate has now been slashed for double signing for the given misbehaviour for the given level and return the amounts to burn and to reward. If the delegate has no remaining frozen deposits, this will also forbid it to bake or attest until a new deposit is frozen.

Fails with Unrequired_denunciation if the given delegate has already been slashed for the same misbehaviour for the given level.

val clear_outdated_slashed_deposits : Raw_context.t -> new_cycle:Cycle_repr.t -> Raw_context.t Tezos_protocol_environment_alpha.Lwt.t
OCaml

Innovation. Community. Security.