rspace-online/backlog/tasks/task-72 - Universal-Profile...

51 lines
2.0 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

---
title: "Universal Profiles × EncryptID Integration"
status: "In Progress"
priority: "high"
created: 2026-03-16
labels: ["encryptid", "blockchain", "lukso", "base"]
---
# 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)
- [x] Client-side secp256k1 key derivation from PRF via HKDF (`evm-key.ts`)
- [x] UP deployment service (`encryptid-up-service/`) — Hono API with CREATE2 factory
- [x] LSP6 permission encoding (AuthLevel → BitArray mapping)
- [x] LSP25 gasless relay service
- [x] LSP3 profile metadata sync
- [x] Database schema migration (UP columns on users table)
- [x] JWT claims updated with `eid.up` object
- [x] 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.