Invariants / CN-CINPUT-01

CN-CINPUT-01

CN constraint enforced

The seed-epoch consensus inputs (epoch, active-slots coefficient, total active stake, and the per-pool active-stake + registered VRF keyhash distribution) persisted as Ade recovered state MUST be a single closed canonical type (SeedEpochConsensusInputs) with a SOLE encoder/decoder pair. The codec is deterministic CBOR, BTreeMap-ordered (no HashMap), version-gated (decode rejects any version != SEED_CINPUT_SCHEMA_VERSION fail-closed), and byte-canonical (a structurally valid but non-canonically-encoded buffer is rejected, not silently re-canonicalized). No second encoder/decoder for this type may exist.

Source

docs/clusters/PHASE4-N-F-A/cluster.md; A1-seed-epoch-consensus-inputs-type.md

Cluster
PHASE4-N-F-A
Introduced in
PHASE4-N-F-A

Enforcement trace

Tests 3

  • seed_epoch_consensus_inputs_round_trips_byte_identical
  • seed_cinput_decode_rejects_unknown_version
  • seed_cinput_decode_rejects_noncanonical_or_duplicate_keys

CI 0

no CI script — gap

Cross-references