Module Mavryk_raw_protocol_alpha.Misbehaviour_repr

type kind =
  1. | Double_baking
  2. | Double_attesting
  3. | Double_preattesting

Which double signing event has occurred.

type t = {
  1. level : Raw_level_repr.t;
  2. round : Round_repr.t;
  3. kind : kind;
}

Internal representation of a double signing event used in Denunciations_repr.item.

For a double baking event, the level and round are those of both duplicate blocks. For a double (pre)attestating event, the level and round are those that appear in the Operation_repr.consensus_content of both duplicate consensus operations.

Note: the culprit pkh doesn't appear as a field here because it is typically used as a key when storing denunciation items in the context.

val compare_kind : kind -> kind -> int

Comparison function for double signing kinds.

Double_baking < Double_attesting < Double_preattesting

val equal_kind : kind -> kind -> bool
val compare : t -> t -> int

Comparison function for misbehaviours.

Misbehaviours are ordered by increasing level, then increasing round, then kind using compare_kind.