Structs

Double signed block.

Invalid chunk (body of the chunk doesn’t match proofs or invalid encoding).

Doesn’t match post-{state root, outgoing receipts, gas used, etc} results after applying previous chunk.

Enums

Either EncodedShardChunk or ShardChunk. Used for ChunkProofs. Decoded is used to avoid re-encoding an already decoded chunk to construct a challenge. Encoded is still needed in case a challenge challenges an invalid encoded chunk that can’t be decoded.

Type Definitions

Result of checking challenge, contains which accounts to slash. If challenge is invalid this is sender, otherwise author of chunk (and possibly other participants that signed invalid blocks).

Serialized TrieNodeWithSize