pub fn canonical_envelope(envelope: &ClientEnvelope) -> CanonicalEnvelopeExpand description
Encode the outer envelope once for storage, retries, and hash matching.
Inner payload bytes are copied exactly as supplied. This function does not validate the payload or calculate the separate client MLS message ID.