mirror of
https://github.com/selfxyz/self.git
synced 2026-04-27 03:01:15 -04:00
* fix: use raw bytes for KYC register circuit inputs instead of deserialize+reserialize The deserialize→reserialize path strips the namespace prefix from id_type, producing different bytes than what the TEE signed. This causes EdDSA signature verification to fail in the circuit. Use raw base64-decoded bytes directly, matching the TEE's signed data. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> * fix: use raw bytes for KYC register circuit inputs in common and new-common The deserialize→reserialize path strips the namespace prefix from id_type (\x05didit), producing different bytes than what the TEE signed. This causes EdDSA signature verification to fail in the register_kyc circuit. Use raw base64-decoded bytes directly in both common/ and new-common/. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> * fix: use raw bytes for KYC disclose circuit inputs Same issue as register — .toString('utf-8') corrupts bytes >= 128, causing Num2Bits assertion failures in vc_and_disclose_kyc circuit. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> * fix: use raw bytes for KYC disclose circuit inputs in new-common Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> * chore: remove dev functions from KYC registry, add upgrade module, clean up debug logs - Remove devRemoveNullifier and devResetTree (no longer needed) - Add upgradeKycRegistry ignition module - Update deployed_addresses.json with new KYC registry proxy - Remove debug logging from provingMachine Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
OpenPassport Commons
Constants and utils used in multiple OpenPassport subdirectories.
Package Structure
This package includes granular export files (e.g., src/utils/hash/sha.ts, src/utils/circuits/dsc-inputs.ts) that re-export specific functions from their original modules. These enable fine-grained imports for better tree-shaking optimization in consuming applications.
Note: Source files use explicit .js extensions in internal imports. TypeScript's
nodenext module setting requires file extensions for ESM, so dropping them
would cause type-check failures.