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 theInvalidBlockOracle(DSL-020) replays to reproduce the validation failure. Size depends on the failure reason;serde_byteskeeps 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 claimedfailure_reason.
Structs§
- Invalid
Block Proof - Evidence that a proposer signed an invalid block.
Enums§
- Invalid
Block Reason - Canonical reason categories for
InvalidBlockProof::failure_reason.