- Add hardware-wallet.ts with Ledger and Trezor integration - Create HardwareWalletConnect.tsx component for wallet selection UI - Add Hardware Wallet section to Settings page - Support WebHID transport for Ledger (Nano S/X/S Plus) - Support Trezor Connect for Trezor Model T/One - Implement hybrid signature flow for hardware wallets: - Ed25519 signed on hardware device (key never leaves device) - Dilithium3 requested from server (for post-quantum protection) Dependencies added: - @ledgerhq/hw-transport-webhid: WebHID transport for Ledger - @trezor/connect-web: Trezor Connect integration Note: Hardware wallets don't support Dilithium3 yet, so the hybrid signature scheme uses server-side Dilithium signing with Ed25519 proof. |
||
|---|---|---|
| .. | ||
| public | ||
| src | ||
| .gitignore | ||
| Dockerfile | ||
| 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