mirror of
https://github.com/permissionlesstech/bitchat.git
synced 2026-08-08 06:56:10 +00:00
Both changes address the Codex review on #1472. The signing vector used type 0x2a, which is not a MessageType on main — it is the spray-receipt opcode from a separate unmerged branch, so the frame decoded to nothing and was misleading as an end-to-end courier vector. It now encodes an actual courierEnvelope deposit: type 0x04 carrying the encoded envelope from the TLV vector as its payload. 14 header + 8 sender + 8 recipient + 74 envelope = 104 unsigned and unpadded, 256 signed, 168 on the wire. The envelope is under the 100-byte compression threshold, so the compressed path stays out of it. The pre-image assertions checked only length, the first three bytes, the flags byte and the padding suffix. A change to timestamp encoding, payload length or field layout could have left the test green while the JSON went stale — which made the claim that these cannot drift without a test failing untrue as written. Both the unpadded and padded sequences are now compared in full. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>