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
SlashAppealenvelope — 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.