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% |
||
|---|---|---|
| .. | ||
| public | ||
| src | ||
| .gitignore | ||
| index.html | ||
| package.json | ||
| postcss.config.js | ||
| README.md | ||
| tailwind.config.js | ||
| tsconfig.json | ||
| tsconfig.node.json | ||
| vite.config.ts | ||
Synor Web Wallet
A quantum-secure web wallet for the Synor blockchain.
Features
- Create and recover wallets using BIP39 mnemonic phrases
- Send and receive SYNOR tokens
- View transaction history
- Connect to any Synor RPC node
- Support for mainnet, testnet, and devnet
Development
# Install dependencies
npm install
# Start development server
npm run dev
# Build for production
npm run build
# Preview production build
npm run preview
Configuration
Create a .env.local file:
VITE_RPC_ENDPOINT=http://localhost:16110
Security
- Private keys are encrypted with AES-256-GCM using PBKDF2-derived keys
- Seeds never leave the browser
- No backend required - connects directly to Synor nodes
Architecture
src/
├── components/ # Reusable UI components
├── lib/ # Core libraries
│ ├── crypto.ts # Cryptographic functions
│ ├── rpc.ts # JSON-RPC client
│ └── transaction.ts # Transaction building
├── pages/ # Route pages
├── store/ # Zustand state management
└── App.tsx # Main application