Skip to main content

RECEIPT_VERSION

Constant RECEIPT_VERSION 

Source
pub const RECEIPT_VERSION: u32 = 2;
Expand description

Version of the receipt format itself (evolution surface).

Version history:

  • 1 — the signature covers the bare JCS canonicalization of the body. Legacy; still verifiable (see signing_message) but never issued anymore.
  • 2 — the signature covers a domain-separated message: RECEIPT_DOMAIN_TAG_V2 + the u64 big-endian byte length of the JCS canonical body + the JCS canonical body bytes. This closes a cross-protocol confusion risk: the same Ed25519 key also feeds the journal-MAC KDF (journal.rs), and a signature over un-tagged bytes could in principle be replayed as a signature over some other protocol’s message. Mirrors the framing style of journal.rs (b"agentvisor-journal-v1\0" + BE length prefixes).