synor/apps/web
Gulshan Yadav fd7f6446ea feat(web-wallet): add hardware wallet support (Ledger/Trezor)
- 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.
2026-01-10 06:03:24 +05:30
..
public Initial commit: Synor blockchain monorepo 2026-01-08 05:22:17 +05:30
src feat(web-wallet): add hardware wallet support (Ledger/Trezor) 2026-01-10 06:03:24 +05:30
.gitignore Initial commit: Synor blockchain monorepo 2026-01-08 05:22:17 +05:30
Dockerfile feat(web-wallet): add hardware wallet support (Ledger/Trezor) 2026-01-10 06:03:24 +05:30
index.html Initial commit: Synor blockchain monorepo 2026-01-08 05:22:17 +05:30
package.json feat(web-wallet): add hardware wallet support (Ledger/Trezor) 2026-01-10 06:03:24 +05:30
postcss.config.js Initial commit: Synor blockchain monorepo 2026-01-08 05:22:17 +05:30
README.md Initial commit: Synor blockchain monorepo 2026-01-08 05:22:17 +05:30
tailwind.config.js Initial commit: Synor blockchain monorepo 2026-01-08 05:22:17 +05:30
tsconfig.json Initial commit: Synor blockchain monorepo 2026-01-08 05:22:17 +05:30
tsconfig.node.json Initial commit: Synor blockchain monorepo 2026-01-08 05:22:17 +05:30
vite.config.ts feat: Phase 7 critical tasks - security, formal verification, WASM crypto 2026-01-10 01:40:03 +05:30

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