Skip to main content

Module evidence

Module evidence 

Source
Expand description

Evidence-domain types + verification.

Traces to: SPEC.md §3, §5, catalogue rows DSL-001..DSL-021 + DSL-157..DSL-158.

This module owns the offense catalogue, evidence envelopes, attestation data model, and per-offense deterministic verifiers. Every public type here is consumed by the lifecycle, appeal, and REMARK modules but does NOT depend on them (one-way edge).

Re-exports§

pub use attestation_data::AttestationData;
pub use attester_slashing::AttesterSlashing;
pub use checkpoint::Checkpoint;
pub use envelope::SlashingEvidence;
pub use envelope::SlashingEvidencePayload;
pub use indexed_attestation::IndexedAttestation;
pub use invalid_block::InvalidBlockProof;
pub use invalid_block::InvalidBlockReason;
pub use offense::OffenseType;
pub use proposer_slashing::ProposerSlashing;
pub use proposer_slashing::SignedBlockHeader;
pub use verify::VerifiedEvidence;
pub use verify::block_signing_message;
pub use verify::verify_attester_slashing;
pub use verify::verify_evidence;
pub use verify::verify_evidence_for_inclusion;
pub use verify::verify_invalid_block;
pub use verify::verify_proposer_slashing;

Modules§

attestation_data
AttestationData — the Ethereum-parity attester vote payload.
attester_slashing
AttesterSlashing — pair of conflicting attestations plus the helper that extracts the slashable-validator set.
checkpoint
Checkpoint — the FFG (epoch, root) vote pair.
envelope
SlashingEvidence — outer wrapper that carries offense classification, reporter identity, epoch, and the per-offense payload.
indexed_attestation
IndexedAttestation — aggregate-signed committee attestation.
invalid_block
InvalidBlockProof — per-offense payload for OffenseType::InvalidBlock.
offense
OffenseType — the four discrete slashable consensus offenses.
proposer_slashing
SignedBlockHeader + ProposerSlashing — proposer-side evidence types.
verify
Evidence verification dispatcher.