mirror of
https://github.com/vitorpamplona/amethyst.git
synced 2026-08-09 08:04:45 +00:00
Follow-up to the P2PK redeem support: - Gate the redeem signing-key gathering behind an actual P2PK lock. The wallet P2PK key is decrypted from kind:17375 via the signer — a network round-trip on a NIP-46 bunker (and a possible approval prompt). The common case (a plain, unlocked token) needs none of it, so only fetch keys when `anyP2pkLocked()` is true. Applies to both the wallet ViewModel and the amy CLI token-redeem path. - Fast-reject in `P2PK.parseSecret`: NUT-10 well-known secrets are JSON arrays, so bail before the throwing JSON parse when the string isn't one. Redeem parses every proof's secret once, so this drops a thrown+caught exception per plain proof (also benefits the nutzap redeem path). Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01QKeRaX749TYnJ7oR8UpqA4