Invariants / CN-OPCERT-01

CN-OPCERT-01

CN derived enforced

The opcert envelope parser accepts a real cardano-cli node.opcert text envelope (closed type check NodeOperationalCertificate + CBOR array(2) shape locked by N-R-A A1 OQ4 fixtures against cardano-cli 11.0.0.0 / cardano-node 11.0.1). Element 0 is an array(4) of [hot_vkey(bytes(32)), sequence_number(uint), kes_period(uint), sigma(bytes(64))] mapping to the canonical OperationalCert. Element 1 is bytes(32) cold_vk. Any shape mismatch (wrong type field, malformed cborHex, wrong outer/inner arity, wrong field types or lengths) fail-closes with a structured OpCertParseError variant. No String payloads in load-bearing error variants.

Source

docs/planning/phase4-n-r-invariants.md §1 (I6); §2 (N6); §3 (D4); N-R-A A1 OQ4 fixtures

Cluster
PHASE4-N-R-C
Introduced in
PHASE4-N-R-C

Enforcement trace

Tests 5

  • accepted_envelope_decodes_to_expected_opcert
  • malformed_type_envelope_emits_wrong_envelope_type
  • malformed_cbor_hex_envelope_emits_malformed_cbor_hex
  • wrong_arity_envelope_emits_malformed_cbor
  • parser_is_byte_identical_across_two_runs

Cross-references

Strengthened in