You're Invited:Meet the Socket Team at BlackHat and DEF CON in Las Vegas, Aug 7-8.RSVP
Socket
Socket
Sign inDemoInstall

bip39

Package Overview
Dependencies
Maintainers
2
Versions
22
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

Comparing version 3.0.4 to 3.1.0

15

package.json
{
"name": "bip39",
"version": "3.0.4",
"version": "3.1.0",
"description": "Bitcoin BIP39: Mnemonic code for generating deterministic keys",

@@ -10,3 +10,3 @@ "main": "src/index.js",

"clean": "rm -rf src",
"coverage": "nyc --branches 100 --functions 100 --check-coverage npm run unit",
"coverage": "nyc --branches 85 --functions 100 --check-coverage npm run unit",
"format": "npm run prettier -- --write",

@@ -39,12 +39,7 @@ "format:ci": "npm run prettier -- --check",

"dependencies": {
"@types/node": "11.11.6",
"create-hash": "^1.1.0",
"pbkdf2": "^3.0.9",
"randombytes": "^2.0.1"
"@noble/hashes": "^1.2.0"
},
"devDependencies": {
"@types/create-hash": "1.2.0",
"@types/pbkdf2": "3.0.0",
"@types/randombytes": "2.0.0",
"node-fetch": "^2.6.1",
"@types/node": "11.11.6",
"node-fetch": "2.6.9",
"nyc": "^15.0.0",

@@ -51,0 +46,0 @@ "prettier": "1.16.4",

@@ -41,3 +41,3 @@ # BIP39

You can also do this in Webpack using the `IgnorePlugin`. Here is an example of excluding all non-English wordlists
You can also do this in Webpack 5 using the `IgnorePlugin`. Here is an example of excluding all non-English wordlists

@@ -47,3 +47,7 @@ ```javascript

plugins: [
new webpack.IgnorePlugin(/^\.\/wordlists\/(?!english)/, /bip39\/src$/),
new webpack.IgnorePlugin({
checkResource(resource) {
return /.*\/wordlists\/(?!english).*\.json/.test(resource)
}
}),
],

@@ -50,0 +54,0 @@ ...

"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
const createHash = require("create-hash");
const pbkdf2_1 = require("pbkdf2");
const randomBytes = require("randombytes");
const sha256_1 = require("@noble/hashes/sha256");
const sha512_1 = require("@noble/hashes/sha512");
const pbkdf2_1 = require("@noble/hashes/pbkdf2");
const utils_1 = require("@noble/hashes/utils");
const _wordlists_1 = require("./_wordlists");

@@ -13,15 +14,2 @@ let DEFAULT_WORDLIST = _wordlists_1._default;

'Please pass a 2048 word array explicitly.';
function pbkdf2Promise(password, saltMixin, iterations, keylen, digest) {
return Promise.resolve().then(() => new Promise((resolve, reject) => {
const callback = (err, derivedKey) => {
if (err) {
return reject(err);
}
else {
return resolve(derivedKey);
}
};
pbkdf2_1.pbkdf2(password, saltMixin, iterations, keylen, digest, callback);
}));
}
function normalize(str) {

@@ -45,5 +33,3 @@ return (str || '').normalize('NFKD');

const CS = ENT / 32;
const hash = createHash('sha256')
.update(entropyBuffer)
.digest();
const hash = sha256_1.sha256(Uint8Array.from(entropyBuffer));
return bytesToBinary(Array.from(hash)).slice(0, CS);

@@ -55,13 +41,18 @@ }

function mnemonicToSeedSync(mnemonic, password) {
const mnemonicBuffer = Buffer.from(normalize(mnemonic), 'utf8');
const saltBuffer = Buffer.from(salt(normalize(password)), 'utf8');
return pbkdf2_1.pbkdf2Sync(mnemonicBuffer, saltBuffer, 2048, 64, 'sha512');
const mnemonicBuffer = Uint8Array.from(Buffer.from(normalize(mnemonic), 'utf8'));
const saltBuffer = Uint8Array.from(Buffer.from(salt(normalize(password)), 'utf8'));
const res = pbkdf2_1.pbkdf2(sha512_1.sha512, mnemonicBuffer, saltBuffer, {
c: 2048,
dkLen: 64,
});
return Buffer.from(res);
}
exports.mnemonicToSeedSync = mnemonicToSeedSync;
function mnemonicToSeed(mnemonic, password) {
return Promise.resolve().then(() => {
const mnemonicBuffer = Buffer.from(normalize(mnemonic), 'utf8');
const saltBuffer = Buffer.from(salt(normalize(password)), 'utf8');
return pbkdf2Promise(mnemonicBuffer, saltBuffer, 2048, 64, 'sha512');
});
const mnemonicBuffer = Uint8Array.from(Buffer.from(normalize(mnemonic), 'utf8'));
const saltBuffer = Uint8Array.from(Buffer.from(salt(normalize(password)), 'utf8'));
return pbkdf2_1.pbkdf2Async(sha512_1.sha512, mnemonicBuffer, saltBuffer, {
c: 2048,
dkLen: 64,
}).then((res) => Buffer.from(res));
}

@@ -147,3 +138,3 @@ exports.mnemonicToSeed = mnemonicToSeed;

}
rng = rng || randomBytes;
rng = rng || ((size) => Buffer.from(utils_1.randomBytes(size)));
return entropyToMnemonic(rng(strength / 8), wordlist);

@@ -150,0 +141,0 @@ }

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc