diff --git a/package.json b/package.json index 8fac21d..91b21ec 100644 --- a/package.json +++ b/package.json @@ -44,12 +44,12 @@ }, "homepage": "https://github.com/ethereumjs/ethereumjs-wallet", "dependencies": { + "@web3-js/scrypt-shim": "^0.1.0", "aes-js": "^3.1.1", "bs58check": "^2.1.2", "ethereumjs-util": "^6.0.0", "hdkey": "^1.1.1", "randombytes": "^2.0.6", - "scrypt.js": "^0.3.0", "utf8": "^3.0.0", "uuid": "^3.3.2" }, diff --git a/src/index.ts b/src/index.ts index 8845f61..9a7d66f 100644 --- a/src/index.ts +++ b/src/index.ts @@ -3,7 +3,7 @@ import * as ethUtil from 'ethereumjs-util' const bs58check = require('bs58check') const randomBytes = require('randombytes') -const scryptsy = require('scrypt.js') +const scrypt = require('@web3-js/scrypt-shim') const uuidv4 = require('uuid/v4') // parameters for the toV3() method @@ -313,7 +313,7 @@ export default class Wallet { } const kdfparams = json.Crypto.KeyHeader.KdfParams - const derivedKey = scryptsy( + const derivedKey = scrypt( Buffer.from(password), Buffer.from(json.Crypto.Salt, 'hex'), kdfparams.N, @@ -354,7 +354,7 @@ export default class Wallet { kdfparams = json.crypto.kdfparams // FIXME: support progress reporting callback - derivedKey = scryptsy( + derivedKey = scrypt( Buffer.from(password), Buffer.from(kdfparams.salt, 'hex'), kdfparams.n, @@ -491,7 +491,7 @@ export default class Wallet { case KDFFunctions.Scrypt: kdfParams = kdfParamsForScrypt(v3Params) // FIXME: support progress reporting callback - derivedKey = scryptsy( + derivedKey = scrypt( Buffer.from(password), kdfParams.salt, kdfParams.n, diff --git a/src/thirdparty.ts b/src/thirdparty.ts index bbb2179..3aade8a 100644 --- a/src/thirdparty.ts +++ b/src/thirdparty.ts @@ -3,7 +3,7 @@ import * as ethUtil from 'ethereumjs-util' import Wallet from './index' -const scryptsy = require('scrypt.js') +const scrypt = require('@web3-js/scrypt-shim') const utf8 = require('utf8') const aesjs = require('aes-js') @@ -213,7 +213,7 @@ function fromKryptoKit(entropy: string, password: string): Wallet { const checksum = entropy.slice(30, 46) const salt = kryptoKitBrokenScryptSeed(encryptedSeed) - const aesKey = scryptsy(Buffer.from(password, 'utf8'), salt, 16384, 8, 1, 32) + const aesKey = scrypt(Buffer.from(password, 'utf8'), salt, 16384, 8, 1, 32) /* FIXME: try to use `crypto` instead of `aesjs`