ethereumjs / keythereum

Create, import and export Ethereum keys
MIT License
609 stars 163 forks source link

Update dependencies #93

Closed paulmillr closed 2 years ago

paulmillr commented 2 years ago
  1. Replaced crypto-browserify with browserify-aes, which is a dependency of crypto-browserify; without all the unnecessary modules. We are still using browserify-aes because the keythereum's related api methods are synchronous - ethereum-cryptography/aes exposes async-only methods, I didn't want to change API
  2. Replaced keccak with ethereum-cryptography/keccak
  3. Replaced scrypt-js with ethereum-cryptography/scrypt. NOTE: tests were failing after that because EC's scrypt conforms to RFC7914 section 2, which prohibits N: 262144, p: 8, r: 1. The old version did not conform to spec. My guess is that someone at some point messed up the tests and passed p: 8, r: 1 instead of r: 8, p: 1, which is standard.
  4. Replaced secp256k1 with ethereum-cryptography/secp256k1-compat
  5. Removed sjcl which had pbkdf2 implementation - we are using EC's one
  6. Updated uuid from 3.0.0 to 8.3.2
  7. The package versions are exact, like before - no version ranges

wc < dist/keythereum.js output:

Backwards incompatibilities: