zilpay extension 2.0
Version 2.0.0
This release marks a comprehensive evolution of the ZilPay extension, emphasizing enhanced security through quantum-resistant cryptography, expanded multi-chain compatibility, and a refined user interface. Focusing on robust testing, ledger hardware support, and seamless EVM network integration. These updates position ZilPay as a versatile, decentralized wallet for Zilliqa and beyond, with improved performance and localization.
Key Highlights
- Quantum-Resistant Security: Introduced post-quantum algorithms (e.g., NTRU Prime, Kuznechik) and advanced encryption (Argon2, AES-256) to protect against emerging threats.
- Multi-Chain Expansion: Added support for EVM-compatible networks, enabling interactions with Ethereum, Binance Smart Chain, Polygon, Avalanche, Fantom, Arbitrum, and Optimism.
- Ledger Integration: Full hardware wallet compatibility, including Bluetooth and USB transport, for secure key management and transaction signing.
- User Experience Enhancements: Revamped UI with new modals, themes, and multilingual support (e.g., Japanese, Chinese, Russian translations).
- Build and Deployment Improvements: Adopted Rollup for bundling, added Makefile for Manifest V2/V3 builds with SHA256 checksums and ZIP archives.
New Features
- Implemented ledger support with Bluetooth (BLE) and USB HID transport, including account addition and transaction signing (e.g., EIP-712, personal messages).
- Added multi-currency token management, including ERC-721 (NFT) support, metadata fetching, and balance updates for ZRC-2 and ERC-20 tokens.
- Introduced EVM provider with methods for chain addition, switching, and permissions (e.g.,
wallet_requestPermissions,handleAddEthereumChain). - Enabled NFT collections viewing, tracking, and parsing, with dedicated pages and modals.
- Added advanced security options, such as session storage for Manifest V2, auto-lock timers, and reveal/export functionalities for keys and mnemonics.
- Incorporated gas estimation and editing modals, supporting both Scilla and EVM transaction types.
- Added multilingual translations across all pages (e.g., home, settings, confirmations) and dynamic locale detection.
- Integrated notification system for transactions and errors, with global enable/disable toggles.
- Supported trackable addresses and asset trackers for monitoring external wallets.
Improvements
- Refactored storage system to version 4, with migration logic from prior versions (V2/V3), ensuring backward compatibility and optimized performance.
- Enhanced transaction handling: Added batch requests, proxy via nodes, and detailed parsing for history (e.g., Scilla, EVM, Zilliqa proto).
- Optimized UI components: Updated icons, Jazzicon avatars, dropdowns, switches, and modals for better responsiveness and theming.
- Improved build process: Fixed Rollup configuration for proper file copying (e.g., inject scripts without nesting), added visualizers and terser for production.
- Expanded testing coverage: Added extensive unit tests for wallet generation, encryption, RPC providers, gas parsing, and migration logic.
- Streamlined wallet management: Enabled account addition/removal, name editing, and switching between BIP-39/keypair/ledger types.
- Updated dependencies: Migrated to modern libraries (e.g.,
@noble/secp256k1,@hicaru/argon2-pure.js) and removed obsolete ones.
Bug Fixes
- Resolved migration issues for tokens, states, and cipher systems during storage upgrades.
- Fixed ledger-specific problems, such as address derivation, signing verification, and connection handling for already-connected devices.
- Corrected transaction encoding/decoding for deployments, Scilla calls, and EVM types (e.g., RLP encoding, gas limits).
- Addressed UI inconsistencies: Fixed icon rendering, theme application, modal wrappers, and layout issues on pages like home, networks, and history.
- Fixed network switching and gas fetching logic, including handling for testnet indicators and Zilliqa-specific addresses.
- Corrected error handling in JSON-RPC requests, session management for Manifest V2, and hash collisions in connections.
- Resolved translation and localization bugs across multiple languages and pages.
- Fixed various parsing errors: Nonce, gas fees, token metadata, and historical transactions.
Dependencies and Technical Updates
- Upgraded to Svelte 5 with runes for reactive components.
- Integrated new cryptographic primitives: Schnorr signatures, BIP-32/39 for key derivation, and Protobuf for Zilliqa transactions.
- Added support for vector testing and entropy-based mnemonic generation.
- Removed legacy files and refactored core utilities for cleaner architecture.
This release ensures ZilPay remains a secure, user-friendly tool for blockchain interactions. For developers, enhanced Web3 integration facilitates dApp creation. Users upgrading from prior versions should note potential breaking changes in storage and UI; refer to the updated README for build instructions. Feedback and contributions are encouraged via the repository.