Skip to main content

Module invalid_block

Module invalid_block 

Source
Expand description

InvalidBlockProof — per-offense payload for OffenseType::InvalidBlock.

Traces to: SPEC.md §3.4, catalogue row DSL-008.

§Role

Carries everything needed to prove a proposer signed a block that fails canonical validation:

  • SignedBlockHeader — the block header + BLS signature (DSL-009).
  • failure_witness — caller-supplied bytes that the InvalidBlockOracle (DSL-020) replays to reproduce the validation failure. Size depends on the failure reason; serde_bytes keeps the binary-format encoding compact.
  • InvalidBlockReason — categorical tag. Eight variants covering the distinct canonical-validation failure modes.

§Downstream

  • verify_invalid_block (DSL-018..020) consumes all three fields.
  • Appeal ground InvalidBlockAppealGround::FailureReasonMismatch (DSL-051) checks oracle-reported reason against the claimed failure_reason.

Structs§

InvalidBlockProof
Evidence that a proposer signed an invalid block.

Enums§

InvalidBlockReason
Canonical reason categories for InvalidBlockProof::failure_reason.