Files
buzz/crates
npub1qyvc0c5kl4gqv2fd97fsk46tu378sqgy35vc83rvgfwne90sel7s0ed67dandTyler Longwell a5098e990a test(push-gateway): pin App Attest transcript bytes with known-answer vectors
Add tests/vectors/app_attest_transcripts.json — deterministic
known-answer vectors (exact transcript bytes + SHA-256) for all five
NIP-PL App Attest operations: enroll, delegate, rotate_endpoint,
revoke_delegation, revoke_installation — generated by the gateway's
own transcript() encoder, plus in-crate tests asserting the encoder
reproduces the fixture byte-for-byte.

The fixture is shared ground truth for client-side canonical encoders
(the Swift NIP-PL iOS client): a client that fails to reproduce these
bytes exactly fails every attested call with invalid_attestation and
no diagnostic (Swift JSONSerialization's \/ escaping is the known
trap). Any future change to the Rust encoder now breaks a test
instead of silently stranding clients.

Co-authored-by: Tyler Longwell <tlongwell@block.xyz>
Signed-off-by: Tyler Longwell <tlongwell@block.xyz>
2026-07-15 17:58:09 -04:00
..