1
+ var Buffer = require ( 'safe-buffer' ) . Buffer
1
2
var ethUtil = require ( 'ethereumjs-util' )
2
3
var crypto = require ( 'crypto' )
3
4
var scryptsy = require ( 'scrypt.js' )
@@ -122,13 +123,13 @@ Wallet.prototype.toV3 = function (password, opts) {
122
123
if ( kdf === 'pbkdf2' ) {
123
124
kdfparams . c = opts . c || 262144
124
125
kdfparams . prf = 'hmac-sha256'
125
- derivedKey = crypto . pbkdf2Sync ( new Buffer ( password ) , salt , kdfparams . c , kdfparams . dklen , 'sha256' )
126
+ derivedKey = crypto . pbkdf2Sync ( Buffer . from ( password ) , salt , kdfparams . c , kdfparams . dklen , 'sha256' )
126
127
} else if ( kdf === 'scrypt' ) {
127
128
// FIXME: support progress reporting callback
128
129
kdfparams . n = opts . n || 262144
129
130
kdfparams . r = opts . r || 8
130
131
kdfparams . p = opts . p || 1
131
- derivedKey = scryptsy ( new Buffer ( password ) , salt , kdfparams . n , kdfparams . r , kdfparams . p , kdfparams . dklen )
132
+ derivedKey = scryptsy ( Buffer . from ( password ) , salt , kdfparams . n , kdfparams . r , kdfparams . p , kdfparams . dklen )
132
133
} else {
133
134
throw new Error ( 'Unsupported kdf' )
134
135
}
@@ -140,7 +141,7 @@ Wallet.prototype.toV3 = function (password, opts) {
140
141
141
142
var ciphertext = Buffer . concat ( [ cipher . update ( this . privKey ) , cipher . final ( ) ] )
142
143
143
- var mac = ethUtil . sha3 ( Buffer . concat ( [ derivedKey . slice ( 16 , 32 ) , new Buffer ( ciphertext , 'hex' ) ] ) )
144
+ var mac = ethUtil . sha3 ( Buffer . concat ( [ derivedKey . slice ( 16 , 32 ) , Buffer . from ( ciphertext , 'hex' ) ] ) )
144
145
145
146
return {
146
147
version : 3 ,
@@ -224,17 +225,17 @@ Wallet.fromV1 = function (input, password) {
224
225
}
225
226
226
227
var kdfparams = json . Crypto . KeyHeader . KdfParams
227
- var derivedKey = scryptsy ( new Buffer ( password ) , new Buffer ( json . Crypto . Salt , 'hex' ) , kdfparams . N , kdfparams . R , kdfparams . P , kdfparams . DkLen )
228
+ var derivedKey = scryptsy ( Buffer . from ( password ) , Buffer . from ( json . Crypto . Salt , 'hex' ) , kdfparams . N , kdfparams . R , kdfparams . P , kdfparams . DkLen )
228
229
229
- var ciphertext = new Buffer ( json . Crypto . CipherText , 'hex' )
230
+ var ciphertext = Buffer . from ( json . Crypto . CipherText , 'hex' )
230
231
231
232
var mac = ethUtil . sha3 ( Buffer . concat ( [ derivedKey . slice ( 16 , 32 ) , ciphertext ] ) )
232
233
233
234
if ( mac . toString ( 'hex' ) !== json . Crypto . MAC ) {
234
235
throw new Error ( 'Key derivation failed - possibly wrong passphrase' )
235
236
}
236
237
237
- var decipher = crypto . createDecipheriv ( 'aes-128-cbc' , ethUtil . sha3 ( derivedKey . slice ( 0 , 16 ) ) . slice ( 0 , 16 ) , new Buffer ( json . Crypto . IV , 'hex' ) )
238
+ var decipher = crypto . createDecipheriv ( 'aes-128-cbc' , ethUtil . sha3 ( derivedKey . slice ( 0 , 16 ) ) . slice ( 0 , 16 ) , Buffer . from ( json . Crypto . IV , 'hex' ) )
238
239
var seed = decipherBuffer ( decipher , ciphertext )
239
240
240
241
return new Wallet ( seed )
@@ -254,27 +255,27 @@ Wallet.fromV3 = function (input, password, nonStrict) {
254
255
kdfparams = json . crypto . kdfparams
255
256
256
257
// FIXME: support progress reporting callback
257
- derivedKey = scryptsy ( new Buffer ( password ) , new Buffer ( kdfparams . salt , 'hex' ) , kdfparams . n , kdfparams . r , kdfparams . p , kdfparams . dklen )
258
+ derivedKey = scryptsy ( Buffer . from ( password ) , Buffer . from ( kdfparams . salt , 'hex' ) , kdfparams . n , kdfparams . r , kdfparams . p , kdfparams . dklen )
258
259
} else if ( json . crypto . kdf === 'pbkdf2' ) {
259
260
kdfparams = json . crypto . kdfparams
260
261
261
262
if ( kdfparams . prf !== 'hmac-sha256' ) {
262
263
throw new Error ( 'Unsupported parameters to PBKDF2' )
263
264
}
264
265
265
- derivedKey = crypto . pbkdf2Sync ( new Buffer ( password ) , new Buffer ( kdfparams . salt , 'hex' ) , kdfparams . c , kdfparams . dklen , 'sha256' )
266
+ derivedKey = crypto . pbkdf2Sync ( Buffer . from ( password ) , Buffer . from ( kdfparams . salt , 'hex' ) , kdfparams . c , kdfparams . dklen , 'sha256' )
266
267
} else {
267
268
throw new Error ( 'Unsupported key derivation scheme' )
268
269
}
269
270
270
- var ciphertext = new Buffer ( json . crypto . ciphertext , 'hex' )
271
+ var ciphertext = Buffer . from ( json . crypto . ciphertext , 'hex' )
271
272
272
273
var mac = ethUtil . sha3 ( Buffer . concat ( [ derivedKey . slice ( 16 , 32 ) , ciphertext ] ) )
273
274
if ( mac . toString ( 'hex' ) !== json . crypto . mac ) {
274
275
throw new Error ( 'Key derivation failed - possibly wrong passphrase' )
275
276
}
276
277
277
- var decipher = crypto . createDecipheriv ( json . crypto . cipher , derivedKey . slice ( 0 , 16 ) , new Buffer ( json . crypto . cipherparams . iv , 'hex' ) )
278
+ var decipher = crypto . createDecipheriv ( json . crypto . cipher , derivedKey . slice ( 0 , 16 ) , Buffer . from ( json . crypto . cipherparams . iv , 'hex' ) )
278
279
var seed = decipherBuffer ( decipher , ciphertext , 'hex' )
279
280
280
281
return new Wallet ( seed )
@@ -288,7 +289,7 @@ Wallet.fromEthSale = function (input, password) {
288
289
assert ( typeof password === 'string' )
289
290
var json = ( typeof input === 'object' ) ? input : JSON . parse ( input )
290
291
291
- var encseed = new Buffer ( json . encseed , 'hex' )
292
+ var encseed = Buffer . from ( json . encseed , 'hex' )
292
293
293
294
// key derivation
294
295
var derivedKey = crypto . pbkdf2Sync ( password , password , 2000 , 32 , 'sha256' ) . slice ( 0 , 16 )
0 commit comments