This commit enables full wallet recovery from BIP-39 mnemonics by implementing deterministic Dilithium3 key derivation using HKDF-SHA3-256 with domain separation. Changes: - crates/synor-crypto-wasm: Implement deterministic Dilithium keygen - Use HKDF with info="synor:dilithium:v1" for key derivation - Enable pqc_dilithium's crypto_sign_keypair via dilithium_kat cfg flag - Add proper memory zeroization on drop - Add tests for deterministic key generation - apps/web: Update transaction signing for hybrid signatures - Add signTransactionHybrid() for Ed25519 + Dilithium3 signatures - Add createSendTransactionHybrid() for quantum-resistant transactions - Update fee estimation for larger hybrid signature size (~5.5KB/input) - Maintain legacy Ed25519-only functions for backwards compatibility - WASM module: Rebuild with deterministic keygen - Update synor_crypto_bg.wasm with new implementation - Module size reduced to ~470KB (optimized) - Documentation updates: - Update mobile wallet plan: React Native -> Flutter - Add testnet-first approach note - Update explorer frontend progress to 90%
5.2 KiB
Phase 7, Milestone 3: Ecosystem
Build ecosystem applications and integrations
Status: 🔄 In Progress Priority: Medium Components: Web wallet, Explorer, Documentation
Overview
Develop ecosystem applications including wallet applications, block explorer frontend, API providers, and exchange integrations to support mainnet adoption.
Tasks
Task 3.1: Web Wallet
- React + TypeScript foundation
- BIP39 mnemonic support
- Ed25519 signing (client-side)
- AES-256-GCM encrypted storage
- Transaction building/signing
- JSON-RPC client
- Zustand state management
- Dilithium3 WASM module
- QR code generation
- Hardware wallet support
- Multi-language support
Files:
apps/web/(Complete foundation)
Status: 70% Complete
Validation:
cd apps/web
npm install
npm run dev
npm run test
npm run build
Task 3.2: Desktop Wallet
- Tauri framework setup
- Native file system access
- BIP39 mnemonic generation
- Argon2id + ChaCha20-Poly1305 encryption
- Secure state management (auto-clear)
- System tray integration
- Auto-updates
- OS keychain integration
- Hardware wallet support
Files:
apps/desktop-wallet/(Implemented)
Status: 80% Complete
Tech Stack:
- Tauri 2.0 (Rust + React)
- React + TypeScript + Tailwind CSS
- Native Rust crypto (bip39, argon2, chacha20poly1305)
- Zustand for state management
Task 3.3: Mobile Wallet
- Flutter setup (cross-platform)
- Biometric authentication (Face ID / Fingerprint)
- Push notifications
- Deep linking
- App store deployment (iOS + Android)
Files:
apps/mobile-wallet/(Planned)
Status: Not Started
Tech Stack:
- Flutter (Dart) for cross-platform native performance
- flutter_secure_storage for encrypted keychain
- Dilithium3 via FFI bindings to Rust
Platforms:
- iOS (App Store)
- Android (Play Store)
Task 3.4: Block Explorer Frontend
- Backend API (apps/explorer)
- React frontend
- Real-time updates (WebSocket)
- DAG visualization
- Address tracking
- Transaction search
Files:
apps/explorer-web/(Planned)
Status: Backend 100%, Frontend 0%
Features:
| Feature | Priority | Status |
|---|---|---|
| Block view | High | Pending |
| TX view | High | Pending |
| Address view | High | Pending |
| DAG viz | Medium | Pending |
| Search | High | Pending |
| Stats | Medium | Pending |
Task 3.5: Developer Documentation
- DEVELOPER_GUIDE.md
- Host functions documentation
- API reference (rustdoc)
- Tutorial series
- Video walkthroughs
- Example applications
Files:
docs/DEVELOPER_GUIDE.md✅contracts/HOST_FUNCTIONS.md✅
Status: 60% Complete
Task 3.6: API Providers
- Public RPC endpoints
- Rate limiting tiers
- API key management
- Usage analytics
- SLA documentation
Planned Endpoints:
| Tier | Rate Limit | Price |
|---|---|---|
| Free | 100 req/min | $0 |
| Developer | 1000 req/min | $49/mo |
| Enterprise | Unlimited | Custom |
Task 3.7: Exchange Integrations
- Integration documentation
- Deposit/withdrawal APIs
- Confirmation requirements
- Test environment
- Listing applications
Requirements for Exchanges:
- 100 confirmations for deposits
- Hybrid signature support
- UTXO-based transaction model
- JSON-RPC API access
Validation
Validation Commands
# Web wallet
cd apps/web
npm test
npm run lint
npm run build
# Documentation
mdbook build docs/
# API testing
./scripts/test-public-api.sh
Validation Agents
| Agent | Purpose |
|---|---|
code-reviewer |
Review wallet code |
frontend-design |
UI/UX review |
pr-test-analyzer |
Test coverage |
Security Checklist
Web Wallet:
- CSP headers configured
- No XSS vulnerabilities
- Secure cookie settings
- HTTPS enforced
- Private key never transmitted
API:
- Rate limiting active
- Input validation
- Error messages safe
- Logging sanitized
Progress Summary
| Component | Progress | Status |
|---|---|---|
| Web Wallet | 70% | Foundation complete, needs Dilithium3 WASM |
| Desktop Wallet | 80% | Tauri + security implemented |
| Mobile Wallet | 0% | Planned (Flutter) |
| Explorer Frontend | 90% | Home, Blocks, TX, Address, DAG, Network, Gas pages complete |
| Documentation | 60% | Guides complete |
| API Providers | 0% | Planned |
| Exchange Integration | 0% | Planned |
Note: TESTNET deployment will be maintained until the entire ecosystem is developed, tested, and validated. MAINNET launch will only proceed after full ecosystem completion and satisfactory testnet performance.
Next Steps
- Immediate: Complete web wallet Dilithium3 WASM
- Short-term: Mobile wallet (Flutter)
- Medium-term: synor.cc website
- Long-term: Exchange listings and API providers
Acceptance Criteria
- Web wallet fully functional
- Explorer frontend live
- Documentation complete
- At least one API provider
- Exchange integration documentation ready
Started: January 2026 Target: Q3 2026