2.0 KiB
2.0 KiB
| title | status | priority | created | labels | ||||
|---|---|---|---|---|---|---|---|---|
| Universal Profiles × EncryptID Integration | In Progress | high | 2026-03-16 |
|
Universal Profiles × EncryptID Integration
Give every EncryptID user a LUKSO Universal Profile (LSP0 + LSP6) on Base, controlled by their passkey-derived secp256k1 key. Replaces fragmented Openfort wallets and raw EOAs with a unified on-chain identity.
Phase 1: Core — EVM Key Derivation + UP Deployment Service (DONE)
- Client-side secp256k1 key derivation from PRF via HKDF (
evm-key.ts) - UP deployment service (
encryptid-up-service/) — Hono API with CREATE2 factory - LSP6 permission encoding (AuthLevel → BitArray mapping)
- LSP25 gasless relay service
- LSP3 profile metadata sync
- Database schema migration (UP columns on users table)
- JWT claims updated with
eid.upobject - Recovery hooks for on-chain controller rotation
- Deploy LSP0/LSP6 implementation contracts on Base Sepolia
- Set up Infisical secrets (RELAY_PRIVATE_KEY, JWT_SECRET)
- DNS record for up.encryptid.jeffemmett.com
- Install npm dependencies (requires root)
- End-to-end test: passkey → derive key → deploy UP → relay tx
Phase 2: SDK Integration — UP-Aware Sessions
- UP info in JWT claims on auth
- GET/POST /api/profile/:id/up endpoints
- SessionManager: getUPAddress(), hasUniversalProfile()
- Guardian → LSP6 controller mapping for on-chain recovery
Phase 3: Payment-Infra Migration
- WalletAdapter abstraction (UP + Openfort)
- New users → UP by default
- Optional Openfort → UP migration path
Phase 4: NLA Oracle Integration
- getEncryptIDWallet() in NLA CLI
- --encryptid flag on create/fulfill/collect commands
- UP-identified escrow parties with LSP3 metadata
Notes
- 2026-03-16: Phase 1 code complete. SDK changes in encryptid-sdk repo, UP service in encryptid-up-service (new, not yet a git repo). DB/server changes in rspace-online.bak.