Invariants / DC-STORE-09
DC-STORE-09
DC derived enforcedSnapshot bytes carry a closed u32 version tag (initial == 1) and the source state's blake2b-256 fingerprint. Decoder reads the version tag first and rejects unknown versions before decoding the ledger or chain-dep payload; decoder recomputes the fingerprint on the decoded state and rejects on mismatch.
- Source
docs/planning/persistent-snapshot-encoder-invariants.md §1 (I-3, I-4)
Enforcement trace
Tests 3
- snapshot::framing::tests::snapshot_round_trip
- snapshot::framing::tests::decode_rejects_unknown_version
- snapshot::framing::tests::decode_rejects_fingerprint_mismatch