rspace-online/shared
Jeff Emmett be271de7fb feat: add Gnosis Safe + EncryptID passkey wallet abstraction
Derive a deterministic secp256k1 EOA from the passkey's PRF output via
HKDF-SHA256, enabling hardware-backed signing for x402 micropayments and
Safe treasury proposals without storing private keys.

Key changes:
- EOA key derivation with domain-separated HKDF (eoa-derivation.ts)
- Key manager integration with PRF-only EOA path (key-derivation.ts)
- Encrypted client-side wallet store for Safe associations (wallet-store.ts)
- Passkey-backed x402 signer replacing EVM_PRIVATE_KEY (passkey-signer.ts)
- Safe propose/confirm/execute proxy routes in rwallet (mod.ts)
- Wallet capability flag in JWT via users.wallet_address (server.ts)
- Payment operation permissions: x402, safe-propose, safe-execute (session.ts)

Privacy: Safe wallet associations stored client-side only (AES-256-GCM
encrypted localStorage). Server only knows user has wallet capability.

108 tests passing across 5 test suites.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-02 12:18:34 -08:00
..
components feat: strip demo pages to show just the interactive component 2026-03-01 15:03:46 -08:00
db security: remove hardcoded secrets, require env vars 2026-02-26 09:45:10 -08:00
local-first fix: pass auth token in WebSocket connections for private spaces 2026-02-28 22:08:07 -08:00
x402 feat: add Gnosis Safe + EncryptID passkey wallet abstraction 2026-03-02 12:18:34 -08:00
module.ts feat: strip demo pages to show just the interactive component 2026-03-01 15:03:46 -08:00
tab-cache.ts feat: persistent tab bar, offline save improvements, and shape validation 2026-03-01 11:11:14 -08:00
url-helpers.ts feat: creative tools suite — 7 tools in unified canvas toolbar 2026-02-27 13:57:50 -08:00