- Major cleanup - backwards compatible!
- Updated all dependencies
- Code optimizations
- Migrated to ES6
- Fixed an issue with
signing.concatSig
where ther
ands
were not left padded, and the resulting signature was invalid. - Removed dist files from git.
-
Major cleanup - not backwards compatible!
-
Remove legacy constructor - now only
createVault
is supported. AlsocreateVault
now require seed and hd path as inputs. -
Remove
deriveKeyFromPassword
function in favor ofkeyFromPassword
function. -
Remove special handling of encryption keys in the keystore. You can still use keystore keys to encrypt, but they no longer use pubkeys to index. To get the pubkey corresponding to an address, please use the function
encryption.addressToPublicEncKey
. -
Make the keystore and interfaces simpler by only allowing one
hdPathString
. If you need to derive from more HD paths you need to create more keystores. -
Add
0x
prefix for all addresses and transaction hex data. -
Remove unneeded
bitcore-lib
package dependency. Thanks to Srirangan.
- Switch back to using npm version of
web3.js
, since version0.19.1
is now fixed.
- Remove redundant dependency on
bignumber.js
library which has stopped working. Temporarily use a fork ofweb3.js
since this library also breaks because of the issues with thebignumber.js
library.
-
Upgrade bitcore-lib and explicitly increase version of bitcore-mnemonic. By roderik.
-
Upgrade ethereumjs-util and add needed babel plugins.
-
Update dist files
- Make sure the deprecation warning doesn't show up when we are using the new constructor. By flyswatter.
-
Fixed a bug that caused the dist files to fail in browsers.
-
Update dist files.
- Update dist files.
- Introduced a new constructor function that introduces a random seed in key derivation, which protects against rainbow attacks. By flyswatter.
- Fixed an issue that caused lightwallet to fail in Firefox 48+. By miladmostavi.
- Update README.
- Add more safety checks for valid password derived keys.
-
Add correct deserialization of default HD path. By johnmcdowall.
-
Fix a bug where the default HD path was not set correctly in the constructor.
- Add new message signing function
signMsgHash()
. By Georgi87.
- Fixed a bug which would create random addresses if the wrong pwDerivedKey was used.
- Add "var" statements for function declarations. Thanks to dalexj and pipermerriam.
- Add missing built files. Thanks to area.
- Add functions
signMsg
andrecoverAddress
for signing messages and recovering the signing address. Thanks to ckeenan and Georgi87.
- Fixed a bug where there uglify would cause an infinite loop in the elliptic library. Thanks to pelle for the fix.
- Update dependencies
- Fixed bug in serialization
- Add non-minified distributable
- Update distributable.
-
Handle bug from bitcore where leading zeros are stripped. We do this by padding the private key to 32 bytes in the
keystore._generatePrivKeys()
function. -
Remove unsupported
string.repeat()
function. H/T chrisforrester. -
Change
Uint8Array.from()
tonew Uint8Array
in key derivation. H/T chrisforrester. -
Update
ethereumjs-tx
library dependency. -
Hardened dependency on
bignumber.js
to specific commit.
-
Change order of parameters in
encryption
module. -
Add function
keystore.isDerivedKeyCorrect()
. -
Removed redundant data members
keyHash, salt
of the keystore.
- Refactoring by cubedro - move functions out to separate modules (signing, encryption) in order to make the core keystore object less cluttered.
-
Big refactoring of password handling. Key derivation is now moved out into an asyncronous function allowing for more secure password-based key derivation or user-supplied keys. A helper function is provided with Scrypt key derivation.
-
Change from using AES for keystore encryption to using xsalsa20 (in the form of
nacl.secretbox
). This provides a simpler interface for the symmetric encryption. -
Updated tests with the new password handling and correct usage of
done()
.
- Formatting changes in documentation.
-
Ability to have multiple HD derivation paths - allowing multiple Personas from one wallet seed
-
The ability to designate that keys from a derivation path should be used for asymmetric encryption using Curve25519
-
Ability to encrypt messages using keys in the lightwallet: messages can be encrypted to multiple recipients, allowing selective disclosure of Persona attributes as well as things like encrypted group chats between Personas
-
A massive test of the private key —> address functionality using a file with 10000 pseudorandomly generated private keys.
-
Fixed issues with nested
bitcore-lib
packages that would cause the build to fail with NPM3