pub enum ScoreEvent {
BrokenCommit,
BrokenMlsProposal,
CensorshipInactivity,
EmergencyYesCreator,
EmergencyNoCreator,
SuccessfulCommit,
HonestCommitAttempt,
MisbehavingCommit,
}Expand description
A scoreable event in the protocol.
Each variant maps to a single score delta. Violation types (BrokenCommit, etc.) go through the ECP consensus path — when accepted, the target receives a violation-type-specific penalty and the creator receives a flat reward.
Variants§
BrokenCommit
ECP accepted: steward committed proposals that don’t match what was voted on.
BrokenMlsProposal
ECP accepted: MLS proposal payload was malformed or didn’t match the voted action.
CensorshipInactivity
ECP accepted: steward failed to commit within the threshold duration.
EmergencyYesCreator
ECP accepted — flat reward to the proposal creator.
EmergencyNoCreator
ECP rejected — flat penalty to the proposal creator (false accusation).
SuccessfulCommit
Steward successfully committed a valid batch.
HonestCommitAttempt
Competing commit with same proposals but different MLS entropy — honest participation (RFC: “MUST NOT be classified as misbehavior”).
MisbehavingCommit
Competing commit with a different proposal set than the selected one (RFC: “MUST be classified as misbehavior”).
Trait Implementations§
Source§impl Clone for ScoreEvent
impl Clone for ScoreEvent
Source§fn clone(&self) -> ScoreEvent
fn clone(&self) -> ScoreEvent
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for ScoreEvent
impl Debug for ScoreEvent
Source§impl Hash for ScoreEvent
impl Hash for ScoreEvent
Source§impl PartialEq for ScoreEvent
impl PartialEq for ScoreEvent
Source§fn eq(&self, other: &ScoreEvent) -> bool
fn eq(&self, other: &ScoreEvent) -> bool
self and other values to be equal, and is used by ==.impl Copy for ScoreEvent
impl Eq for ScoreEvent
impl StructuralPartialEq for ScoreEvent
Auto Trait Implementations§
impl Freeze for ScoreEvent
impl RefUnwindSafe for ScoreEvent
impl Send for ScoreEvent
impl Sync for ScoreEvent
impl Unpin for ScoreEvent
impl UnsafeUnpin for ScoreEvent
impl UnwindSafe for ScoreEvent
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Declassify for T
impl<T> Declassify for T
type Declassified = T
fn declassify(self) -> T
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more