Skip to main content

Module appeal

Module appeal 

Source
Expand description

Appeal-domain types + verifiers.

Traces to: SPEC.md §3.6 + §6, catalogue rows DSL-034..073 + DSL-159..164.

§Role

Optimistic slashing is reversible during the 8-epoch appeal window. This module owns the three appeal payload shapes (ProposerSlashingAppeal, AttesterSlashingAppeal, InvalidBlockAppeal), the SlashAppeal envelope, and the per-ground verifiers that produce an AppealVerdict.

§Scope (incremental)

Module grows one DSL at a time. First commit lands DSL-034 (ProposerAppeal HeadersIdentical). Sibling grounds + the dispatcher + adjudicator come in subsequent commits.

Re-exports§

pub use adjudicator::AppealAdjudicationResult;
pub use adjudicator::BondSplitResult;
pub use adjudicator::ClawbackResult;
pub use adjudicator::ReporterPenalty;
pub use adjudicator::ShortfallAbsorption;
pub use adjudicator::adjudicate_absorb_clawback_shortfall;
pub use adjudicator::adjudicate_appeal;
pub use adjudicator::adjudicate_rejected_challenge_open;
pub use adjudicator::adjudicate_rejected_forfeit_appellant_bond;
pub use adjudicator::adjudicate_sustained_clawback_rewards;
pub use adjudicator::adjudicate_sustained_forfeit_reporter_bond;
pub use adjudicator::adjudicate_sustained_reporter_penalty;
pub use adjudicator::adjudicate_sustained_restore_status;
pub use adjudicator::adjudicate_sustained_revert_base_slash;
pub use adjudicator::adjudicate_sustained_revert_collateral;
pub use adjudicator::adjudicate_sustained_status_reverted;
pub use envelope::SlashAppeal;
pub use envelope::SlashAppealPayload;
pub use ground::AttesterAppealGround;
pub use ground::AttesterSlashingAppeal;
pub use ground::InvalidBlockAppeal;
pub use ground::InvalidBlockAppealGround;
pub use ground::ProposerAppealGround;
pub use ground::ProposerSlashingAppeal;
pub use verdict::AppealRejectReason;
pub use verdict::AppealSustainReason;
pub use verdict::AppealVerdict;
pub use verify::verify_attester_appeal_attestations_identical;
pub use verify::verify_attester_appeal_empty_intersection;
pub use verify::verify_attester_appeal_invalid_indexed_attestation_structure;
pub use verify::verify_attester_appeal_not_slashable_by_predicate;
pub use verify::verify_attester_appeal_signature_a_invalid;
pub use verify::verify_attester_appeal_signature_b_invalid;
pub use verify::verify_attester_appeal_validator_not_in_intersection;
pub use verify::verify_invalid_block_appeal_block_actually_valid;
pub use verify::verify_invalid_block_appeal_evidence_epoch_mismatch;
pub use verify::verify_invalid_block_appeal_failure_reason_mismatch;
pub use verify::verify_invalid_block_appeal_proposer_signature_invalid;
pub use verify::verify_proposer_appeal_headers_identical;
pub use verify::verify_proposer_appeal_proposer_index_mismatch;
pub use verify::verify_proposer_appeal_signature_a_invalid;
pub use verify::verify_proposer_appeal_signature_b_invalid;
pub use verify::verify_proposer_appeal_slot_mismatch;
pub use verify::verify_proposer_appeal_validator_not_active_at_epoch;

Modules§

adjudicator
Appeal adjudicator — applies the economic consequences of a sustained or rejected AppealVerdict.
envelope
SlashAppeal envelope — wraps one of the three appeal payloads plus appellant identity + timing.
ground
Per-variant appeal payloads + ground enums.
verdict
Appeal verdict types.
verify
Per-ground appeal verifiers.