All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog and this project adheres to Semantic Versioning.
- Portis: Upgrade @portis/web3 to 3.0.10 to help with SSR sign-in pop-up issues
- Native: Changed NativeAdapter to support more than one hdwallet instance by removing the need to provide a deviceId
- Native: "deviceId" is now required when calling
pairDevice
- Native: Add EncryptedWallet class to support encrypting/decrypting mnemonic phrases using an email/password
- Core: Fio types and interface
- Native: Fio support
- Native: Use provided chain_id, account_number, and sequence if provided for Binance.
- Native: Unique class variable/function names to prevent overriding wallet specific logic when mixing in classes.
- Native: Add MNEMONIC_REQUIRED event when the wallet hasn't been initialized
- Sandbox: Add "Event Log" area to help developers see the events being raised
- Cosmos: Add an option "fee" property to CosmosSignTx interface
- Native: Add binance support
- Remove unused "hdkey" dependency
- Native: Fix Cosmos support
- Native: Keep the mnemonic private
- Initialize each supported native wallet using seed derived from mnemonic (performance)
- Native: New native software hdwallet package
- Native: Support for BTC, DASH, DGB, DOGE, LTC, ETH.
- Native: Support for Non-Segwit, Segwit, and Native-Segwit for applicable coins
- Native: Integration test suite
- Native: No support for Bitcoin clones at this time (BCH, BTG, etc.)
- Native: No support for UTXO message signing and verifying at this time
- Prettier formatting rules and a husky pre-commit hook to run prettier against changed files
- Switched HDWallet from using Microbundle to tsc (no umd or esm support)
- Native wallet now utilizes mixins in an attempt to have a cleaner package
- Updated example payloads and data in the sandbox to support Native (using psbt which is validating inputs against pubkeyhash)
- KeepKey: Fix Dash DIP2 payload logic
- Ledger: Call TransportWebUSB.request() instead of .create() so the permission modal is displayed on every call to getTransport()
- Cosmos support for KeepKey
- Ledger: Improved logic for handling disconnect/connect event for ledger and discern if the event is due to app navigation
- Ledger transport calls that require a specific app to be open will validateCurrentApp() before making the call
- Add appName to networkUtils object for ledger (BTC,BCH,DASH,DGB,DOGE,ETH,LTC)
- validateCurrentApp() now takes the coin name instead of symbol
- Error message for WrongApp exception updated
- Increase ledger APP_NAVIGATION_DELAY time to allow for slower connect/discconect event propagation
- Move timing of ledger handleConnect timeout to reconnect as soon as possible despite increased delay
- Updated DGB config to support segwit
- Sandbox support for getAppInfo call on Ledger Device
- Implemented ethGetPublicKeys() which uses the ETH getAddress() call and filters out any non ETH account paths
- Function definition for getPublicKeys() return type. Allow null.
- Broke out logic that existed in getPublicKeys() into Bitcoin specific btcGetPublicKeys()
- Ledger getPublicKeys() calls appropriate function based on app open on device (BTC or ETH)
- Correct descriptions for the supported Ledger ETH account paths
- More robust error handling for Ledger
- Dropped promises from several of the HDWalletInfo interfaces
- Lock portis version to prevent regressions
- Updated yarn.lock
- Add portis BTC support
- Add ledger validateCurrentApp() and openApp()
- Ledger: use transport.call() to get firmware version
- Nano X getFirmwareVersion
- Better guards for isObject checks
- Better reliability on ledger-transport
- Zeit Now pull request builder
- Fix Trezor getFirmwareVersion()
- Fix KeepKey + Trezor btcVerifyMessage() for invalid signatures
- Ledger BCH transaction signing
- Fix infinite recursion bug in keyring.get()
- Automaticaly log user out of portis wallet after 10 minutes of inactivity
- Removed getInitializeCount from keyring
- Create new portis object everytime wallet is paired instead of using existing object.