Commit graph

11 commits

Author SHA1 Message Date
Gulshan Yadav
681f40cb5e fix: desktop wallet navigation and build issues
- Add escape options on unlock page (import/reset wallet)
- Add confirmation modal for wallet reset with warning
- Fix Rust build errors by adding once_cell and md5 dependencies
- Remove duplicate Arc import in commands.rs
- Browser mock mode improvements for 24-word mnemonic
2026-02-02 15:37:41 +05:30
Gulshan Yadav
c32622f34f expansion of desktop wallet features. 2026-02-02 14:30:07 +05:30
Gulshan Yadav
81347ab15d feat(wallet): add comprehensive desktop wallet features
Add all-in-one desktop wallet with extensive feature set:

Infrastructure:
- Storage: IPFS-based decentralized file storage with upload/download
- Hosting: Domain registration and static site hosting
- Compute: GPU/CPU job marketplace for distributed computing
- Database: Multi-model database services (KV, Document, Vector, etc.)

Financial Features:
- Privacy: Confidential transactions with Pedersen commitments
- Bridge: Cross-chain transfers (Ethereum, Bitcoin, IBC/Cosmos)
- Governance: DAO proposals, voting, and delegation
- ZK-Rollup: L2 scaling with deposits, withdrawals, and transfers

UI/UX Improvements:
- Add ErrorBoundary component for graceful error handling
- Add LoadingStates components (spinners, skeletons, overlays)
- Add Animation components (FadeIn, SlideIn, CountUp, etc.)
- Update navigation with new feature sections

Testing:
- Add Playwright E2E smoke tests
- Test route accessibility and page rendering
- Verify build process and asset loading

Build:
- Fix TypeScript compilation errors
- Update Tauri plugin dependencies
- Successfully build macOS app bundle and DMG
2026-02-02 11:35:21 +05:30
Gulshan Yadav
63c52b26b2 feat(desktop-wallet): add comprehensive wallet features
Add 10 major features to complete the desktop wallet:
- Staking: Stake SYN tokens for rewards with pool management
- DEX/Swap: Built-in token swap interface with liquidity pools
- Address Book: Save and manage frequently used addresses
- DApp Browser: Interact with decentralized applications
- Hardware Wallet: Ledger/Trezor support for secure signing
- Multi-sig Wallets: Require multiple signatures for transactions
- Price Charts: Market data and real-time price tracking
- Notifications: Push notifications for transactions and alerts
- QR Scanner: Generate and parse payment QR codes
- Backup/Export: Encrypted wallet backup and recovery

Includes Tauri backend commands for all features, Zustand stores
for state management, and complete UI pages with navigation.
2026-02-02 09:57:55 +05:30
Gulshan Yadav
d81b5fe81b feat(desktop-wallet): add NFT support
Add complete NFT (non-fungible token) functionality:

Backend (Rust/Tauri):
- nft_create_collection: Deploy new NFT collection contract
- nft_mint, nft_batch_mint: Mint single or multiple NFTs
- nft_transfer: Transfer NFT ownership
- nft_burn: Permanently destroy NFT
- nft_list_owned: List all NFTs owned by address
- nft_get_collection_info, nft_get_token_info: Query metadata
- nft_set_approval_for_all, nft_set_base_uri: Collection management

Frontend (React/TypeScript):
- NFT Zustand store with collection tracking
- NftsDashboard page with 5 tabs:
  - Gallery: Visual grid of owned NFTs with modal details
  - Collections: Track and manage NFT collections
  - Create: Deploy new collection with royalties and soulbound options
  - Mint: Mint new NFTs with metadata URIs
  - Transfer: Send NFTs to other addresses
- Navigation sidebar updated with NFTs link
- Route added for /nfts path

Features:
- Royalty configuration in basis points (e.g., 250 = 2.5%)
- Soulbound token support (non-transferable)
- Batch minting up to 100 NFTs
- Collection import by contract address
- NFT burn with confirmation dialog
2026-02-02 09:23:07 +05:30
Gulshan Yadav
a5e4fc1c21 feat(desktop-wallet): add smart contracts and tokens UI
Add complete frontend and backend implementation for smart contracts
and tokens management:

Backend (Rust/Tauri):
- Add contract_deploy, contract_call, contract_read, contract_get_info commands
- Add token_create, token_transfer, token_get_info, token_get_balance commands
- Add token_list_balances, token_mint, token_burn commands
- Add new error variants for validation and contract errors

Frontend (React/TypeScript):
- Add contracts Zustand store with persistence
- Add tokens Zustand store with persistence
- Add ContractsDashboard page with deploy/interact tabs
- Add TokensDashboard page with balances/create/transfer/manage tabs
- Update navigation sidebar with Contracts and Tokens links
- Add routes for new pages
2026-02-02 09:03:58 +05:30
Gulshan Yadav
5cd6fdcb35 desktop wallet enhancements 2026-02-02 04:54:53 +05:30
Gulshan Yadav
f56a6f5088 feat(wallet): add OS keychain integration with biometric unlock
Add cross-platform keychain support using the keyring crate for secure
credential storage with biometric authentication (TouchID on macOS,
Windows Hello on Windows, Secret Service on Linux).

- Add keychain module with enable/disable biometric unlock
- Add Tauri commands for keychain operations
- Add Keychain error variant for proper error handling
- Add Java SDK foundation
- Update milestone docs to reflect 95% completion
2026-01-11 17:31:21 +05:30
Gulshan Yadav
f23e7928ea fix(desktop-wallet): update crypto APIs for bech32 v0.11 and bip39 v2
- Update bech32 encoding to use Hrp struct and segwit::encode
- Update bip39 to use from_entropy() instead of generate_in()
- Update Mnemonic::parse() instead of parse_in(Language)
- Fix HMAC ambiguity with explicit type annotation
- Add Debug and Clone derives to EncryptedWallet
- Use show_menu_on_left_click() (deprecation fix)
- Add placeholder icons for development builds
2026-01-10 07:08:47 +05:30
Gulshan Yadav
ce5c996b35 feat(desktop-wallet): add system tray and auto-updater
- Add system tray with menu: Show, Hide, Lock, Check Updates, Quit
- Integrate tauri-plugin-updater for seamless auto-updates
- Add UpdateBanner component for update notifications
- Add useAutoUpdater hook for update state management
- Add useTrayEvents hook for tray event handling
- Add Updates section to Settings page for manual update checks
- Configure updater endpoints in tauri.conf.json
- Exclude desktop-wallet from Cargo workspace (uses own Tauri deps)
2026-01-10 06:55:44 +05:30
Gulshan Yadav
6b5a232a5e feat: Desktop wallet, gas estimator UI, and 30-day monitoring stack
Security (Desktop Wallet):
- Implement BIP39 mnemonic generation with cryptographic RNG
- Add Argon2id password-based key derivation (64MB, 3 iterations)
- Add ChaCha20-Poly1305 authenticated encryption for seed storage
- Add mnemonic auto-clear (60s timeout) and clipboard auto-clear (30s)
- Add sanitized error logging to prevent credential leaks
- Strengthen CSP with object-src, base-uri, form-action, frame-ancestors
- Clear sensitive state on component unmount

Explorer (Gas Estimator):
- Add Gas Estimation page with from/to/amount/data inputs
- Add bech32 address validation (synor1/tsynor1 prefix)
- Add BigInt-based amount parsing to avoid floating point errors
- Add production guard for mock mode (cannot enable in prod builds)

Monitoring (30-day Testnet):
- Add Prometheus config with 30-day retention
- Add comprehensive alert rules for node health, consensus, network, mempool
- Add Alertmanager with severity-based routing and inhibition rules
- Add Grafana with auto-provisioned datasource and dashboard
- Add Synor testnet dashboard with uptime SLA tracking

Docker:
- Update docker-compose.testnet.yml with monitoring profile
- Fix node-exporter for macOS Docker Desktop compatibility
- Change Grafana port to 3001 to avoid conflict
2026-01-10 04:38:09 +05:30