Skip to content

zilpay extension 2.0

Choose a tag to compare

@hicaru hicaru released this 10 Nov 13:37
· 60 commits to master since this release

Version 2.0.0

Frame 411-2

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.