Socket
Socket
Sign inDemoInstall

eth-crypto

Package Overview
Dependencies
Maintainers
1
Versions
38
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

eth-crypto - npm Package Compare versions

Comparing version 2.1.0 to 2.2.0

21

dist/es/create-identity.js

@@ -1,6 +0,5 @@

import publicKeyByPrivateKey from './public-key-by-private-key';
import { fromPrivate } from 'eth-lib/lib/account';
import { keccak256 } from 'eth-lib/lib/hash';
import Bytes from 'eth-lib/lib/bytes';
import { utils as ethersUtils, Wallet } from 'ethers';
import { stripHexPrefix } from 'ethereumjs-util';
var MIN_ENTROPY_SIZE = 128;
var keccak256 = ethersUtils.keccak256;
/**

@@ -19,5 +18,4 @@ * create a privateKey from the given entropy or a new one

} else {
// @link https://github.com/MaiaVictor/eth-lib/blob/master/lib/account.js#L8
var innerHex = keccak256(Bytes.concat(Bytes.random(32), Bytes.random(32)));
var middleHex = Bytes.concat(Bytes.concat(Bytes.random(32), innerHex), Bytes.random(32));
var innerHex = keccak256(ethersUtils.concat([ethersUtils.randomBytes(32), ethersUtils.randomBytes(32)]));
var middleHex = ethersUtils.concat([ethersUtils.concat([ethersUtils.randomBytes(32), innerHex]), ethersUtils.randomBytes(32)]);

@@ -37,5 +35,10 @@ var _outerHex = keccak256(middleHex);

var privateKey = createPrivateKey(entropy);
var identity = fromPrivate(privateKey);
identity.publicKey = publicKeyByPrivateKey(identity.privateKey);
var wallet = new Wallet(privateKey);
var identity = {
privateKey: privateKey,
// remove trailing '0x04'
publicKey: stripHexPrefix(wallet.publicKey).slice(2),
address: wallet.address
};
return identity;
}

@@ -1,2 +0,2 @@

import { decodeSignature, encodeSignature } from 'eth-lib/lib/account';
import { utils as ethersUtils } from 'ethers';
/**

@@ -9,7 +9,8 @@ * split signature-hex into parts

export function fromString(hexString) {
var arr = decodeSignature(hexString);
var arr = ethersUtils.splitSignature(hexString);
return {
v: arr[0],
r: arr[1],
s: arr[2]
// convert "v" to hex
v: "0x".concat(arr.v.toString(16)),
r: arr.r,
s: arr.s
};

@@ -24,4 +25,3 @@ }

export function toString(sig) {
var partsArray = [sig.v, sig.r, sig.s];
return encodeSignature(partsArray);
return ethersUtils.joinSignature(sig);
}

@@ -6,3 +6,3 @@ "use strict";

});
exports.default = calculateContractAddress;
exports["default"] = calculateContractAddress;

@@ -9,0 +9,0 @@ var _ethereumjsUtil = require("ethereumjs-util");

@@ -6,4 +6,4 @@ "use strict";

});
exports.parse = parse;
exports.stringify = stringify;
exports.parse = parse;

@@ -10,0 +10,0 @@ var _publicKey = require("./public-key");

"use strict";
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {

@@ -9,13 +7,10 @@ value: true

exports.createPrivateKey = createPrivateKey;
exports.default = createIdentity;
exports["default"] = createIdentity;
var _publicKeyByPrivateKey = _interopRequireDefault(require("./public-key-by-private-key"));
var _ethers = require("ethers");
var _account = require("eth-lib/lib/account");
var _ethereumjsUtil = require("ethereumjs-util");
var _hash = require("eth-lib/lib/hash");
var _bytes = _interopRequireDefault(require("eth-lib/lib/bytes"));
var MIN_ENTROPY_SIZE = 128;
var keccak256 = _ethers.utils.keccak256;
/**

@@ -31,11 +26,10 @@ * create a privateKey from the given entropy or a new one

if (Buffer.byteLength(entropy, 'utf8') < MIN_ENTROPY_SIZE) throw new Error('EthCrypto.createPrivateKey(): Entropy-size must be at least ' + MIN_ENTROPY_SIZE);
var outerHex = (0, _hash.keccak256)(entropy);
var outerHex = keccak256(entropy);
return outerHex;
} else {
// @link https://github.com/MaiaVictor/eth-lib/blob/master/lib/account.js#L8
var innerHex = (0, _hash.keccak256)(_bytes.default.concat(_bytes.default.random(32), _bytes.default.random(32)));
var innerHex = keccak256(_ethers.utils.concat([_ethers.utils.randomBytes(32), _ethers.utils.randomBytes(32)]));
var middleHex = _bytes.default.concat(_bytes.default.concat(_bytes.default.random(32), innerHex), _bytes.default.random(32));
var middleHex = _ethers.utils.concat([_ethers.utils.concat([_ethers.utils.randomBytes(32), innerHex]), _ethers.utils.randomBytes(32)]);
var _outerHex = (0, _hash.keccak256)(middleHex);
var _outerHex = keccak256(middleHex);

@@ -54,5 +48,10 @@ return _outerHex;

var privateKey = createPrivateKey(entropy);
var identity = (0, _account.fromPrivate)(privateKey);
identity.publicKey = (0, _publicKeyByPrivateKey.default)(identity.privateKey);
var wallet = new _ethers.Wallet(privateKey);
var identity = {
privateKey: privateKey,
// remove trailing '0x04'
publicKey: (0, _ethereumjsUtil.stripHexPrefix)(wallet.publicKey).slice(2),
address: wallet.address
};
return identity;
}

@@ -6,3 +6,3 @@ "use strict";

});
exports.default = decryptWithPrivateKey;
exports["default"] = decryptWithPrivateKey;

@@ -9,0 +9,0 @@ var _eccrypto = require("eccrypto");

@@ -6,3 +6,3 @@ "use strict";

});
exports.default = encryptWithPublicKey;
exports["default"] = encryptWithPublicKey;

@@ -9,0 +9,0 @@ var _eccrypto = require("eccrypto");

@@ -6,4 +6,4 @@ "use strict";

});
exports.SIGN_PREFIX = void 0;
exports.keccak256 = keccak256;
exports.SIGN_PREFIX = void 0;

@@ -10,0 +10,0 @@ var _ethers = require("ethers");

"use strict";
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard");
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
var _typeof = require("@babel/runtime/helpers/typeof");
Object.defineProperty(exports, "__esModule", {
value: true
});
Object.defineProperty(exports, "calculateContractAddress", {
enumerable: true,
get: function get() {
return _calculateContractAddress["default"];
}
});
exports.cipher = void 0;
Object.defineProperty(exports, "createIdentity", {
enumerable: true,
get: function get() {
return _createIdentity.default;
return _createIdentity["default"];
}

@@ -19,15 +26,17 @@ });

get: function get() {
return _decryptWithPrivateKey.default;
return _decryptWithPrivateKey["default"];
}
});
exports["default"] = void 0;
Object.defineProperty(exports, "encryptWithPublicKey", {
enumerable: true,
get: function get() {
return _encryptWithPublicKey.default;
return _encryptWithPublicKey["default"];
}
});
exports.publicKey = exports.hex = exports.hash = void 0;
Object.defineProperty(exports, "publicKeyByPrivateKey", {
enumerable: true,
get: function get() {
return _publicKeyByPrivateKey.default;
return _publicKeyByPrivateKey["default"];
}

@@ -38,3 +47,3 @@ });

get: function get() {
return _recover.default;
return _recover["default"];
}

@@ -45,3 +54,3 @@ });

get: function get() {
return _recoverPublicKey.default;
return _recoverPublicKey["default"];
}

@@ -52,3 +61,3 @@ });

get: function get() {
return _sign.default;
return _sign["default"];
}

@@ -59,3 +68,3 @@ });

get: function get() {
return _signTransaction.default;
return _signTransaction["default"];
}

@@ -66,12 +75,6 @@ });

get: function get() {
return _txDataByCompiled.default;
return _txDataByCompiled["default"];
}
});
Object.defineProperty(exports, "calculateContractAddress", {
enumerable: true,
get: function get() {
return _calculateContractAddress.default;
}
});
exports.util = exports.vrs = exports.hex = exports.hash = exports.cipher = exports.publicKey = exports.default = void 0;
exports.vrs = exports.util = void 0;

@@ -121,15 +124,20 @@ var _createIdentity = _interopRequireDefault(require("./create-identity"));

exports.util = util;
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
var _default = {
createIdentity: _createIdentity.default,
createIdentity: _createIdentity["default"],
publicKey: publicKey,
decryptWithPrivateKey: _decryptWithPrivateKey.default,
encryptWithPublicKey: _encryptWithPublicKey.default,
decryptWithPrivateKey: _decryptWithPrivateKey["default"],
encryptWithPublicKey: _encryptWithPublicKey["default"],
cipher: cipher,
publicKeyByPrivateKey: _publicKeyByPrivateKey.default,
recover: _recover.default,
recoverPublicKey: _recoverPublicKey.default,
sign: _sign.default,
signTransaction: _signTransaction.default,
txDataByCompiled: _txDataByCompiled.default,
calculateContractAddress: _calculateContractAddress.default,
publicKeyByPrivateKey: _publicKeyByPrivateKey["default"],
recover: _recover["default"],
recoverPublicKey: _recoverPublicKey["default"],
sign: _sign["default"],
signTransaction: _signTransaction["default"],
txDataByCompiled: _txDataByCompiled["default"],
calculateContractAddress: _calculateContractAddress["default"],
hash: hash,

@@ -140,2 +148,2 @@ hex: hex,

};
exports.default = _default;
exports["default"] = _default;

@@ -6,3 +6,3 @@ "use strict";

});
exports.default = publicKeyOfPrivateKey;
exports["default"] = publicKeyOfPrivateKey;

@@ -9,0 +9,0 @@ var _ethereumjsUtil = require("ethereumjs-util");

@@ -6,3 +6,3 @@ "use strict";

});
exports.default = recoverPublicKey;
exports["default"] = recoverPublicKey;

@@ -9,0 +9,0 @@ var _secp256k = require("secp256k1");

@@ -8,3 +8,3 @@ "use strict";

});
exports.default = recover;
exports["default"] = recover;

@@ -22,5 +22,5 @@ var _recoverPublicKey = _interopRequireDefault(require("./recover-public-key"));

function recover(sigString, hash) {
var pubkey = (0, _recoverPublicKey.default)(sigString, hash);
var pubkey = (0, _recoverPublicKey["default"])(sigString, hash);
var address = (0, _publicKey.toAddress)(pubkey);
return address;
}

@@ -8,3 +8,3 @@ "use strict";

});
exports.default = signTransaction;
exports["default"] = signTransaction;

@@ -20,3 +20,3 @@ var _tx = require("@ethereumjs/tx");

// check if privateKey->address matches rawTx.from
var publicKey = (0, _publicKeyByPrivateKey.default)(privateKey);
var publicKey = (0, _publicKeyByPrivateKey["default"])(privateKey);
var address = (0, _publicKey.toAddress)(publicKey);

@@ -23,0 +23,0 @@ if (address != rawTx.from) throw new Error('EthCrypto.signTransaction(): rawTx.from does not match the address of the privateKey');

@@ -6,3 +6,3 @@ "use strict";

});
exports.default = sign;
exports["default"] = sign;

@@ -9,0 +9,0 @@ var _secp256k = require("secp256k1");

@@ -8,3 +8,3 @@ "use strict";

});
exports.default = txDataByCompiled;
exports["default"] = txDataByCompiled;

@@ -20,4 +20,4 @@ var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));

var factory = new _ethers.ContractFactory(abi, '0x' + bytecode);
var deployTransaction = factory.getDeployTransaction.apply(factory, (0, _toConsumableArray2.default)(args));
var deployTransaction = factory.getDeployTransaction.apply(factory, (0, _toConsumableArray2["default"])(args));
return deployTransaction.data;
}

@@ -6,6 +6,6 @@ "use strict";

});
exports.addLeading0x = addLeading0x;
exports.hexToUnit8Array = hexToUnit8Array;
exports.removeLeading0x = removeLeading0x;
exports.addLeading0x = addLeading0x;
exports.uint8ArrayToHex = uint8ArrayToHex;
exports.hexToUnit8Array = hexToUnit8Array;

@@ -12,0 +12,0 @@ function removeLeading0x(str) {

@@ -9,3 +9,3 @@ "use strict";

var _account = require("eth-lib/lib/account");
var _ethers = require("ethers");

@@ -18,7 +18,9 @@ /**

function fromString(hexString) {
var arr = (0, _account.decodeSignature)(hexString);
var arr = _ethers.utils.splitSignature(hexString);
return {
v: arr[0],
r: arr[1],
s: arr[2]
// convert "v" to hex
v: "0x".concat(arr.v.toString(16)),
r: arr.r,
s: arr.s
};

@@ -34,4 +36,3 @@ }

function toString(sig) {
var partsArray = [sig.v, sig.r, sig.s];
return (0, _account.encodeSignature)(partsArray);
return _ethers.utils.joinSignature(sig);
}
{
"name": "eth-crypto",
"version": "2.1.0",
"version": "2.2.0",
"description": "Cryptographic functions for ethereum and how to use them with web3 and solidity",

@@ -52,12 +52,12 @@ "keywords": [

"devDependencies": {
"@babel/cli": "7.15.4",
"@babel/core": "7.0.0",
"@babel/plugin-transform-runtime": "7.15.0",
"@babel/preset-env": "7.0.0",
"@babel/cli": "7.16.8",
"@babel/core": "7.16.12",
"@babel/plugin-transform-runtime": "7.16.10",
"@babel/preset-env": "7.16.11",
"assert": "2.0.0",
"async-test-util": "1.7.3",
"babel-loader": "8.2.2",
"async-test-util": "2.0.0",
"babel-loader": "8.2.3",
"bn.js": "5.2.0",
"browserify": "17.0.0",
"concurrently": "6.2.1",
"concurrently": "7.0.0",
"convert-hrtime": "5.0.0",

@@ -72,10 +72,10 @@ "cross-env": "7.0.3",

"js-sha3": "0.8.0",
"karma": "6.3.4",
"karma": "6.3.13",
"karma-babel-preprocessor": "8.0.1",
"karma-browserify": "8.1.0",
"karma-chrome-launcher": "3.1.0",
"karma-coverage": "2.0.3",
"karma-coverage": "2.1.0",
"karma-detect-browsers": "2.3.3",
"karma-edge-launcher": "0.4.2",
"karma-firefox-launcher": "2.1.1",
"karma-firefox-launcher": "2.1.2",
"karma-ie-launcher": "1.0.0",

@@ -85,3 +85,3 @@ "karma-mocha": "2.0.1",

"karma-safari-launcher": "1.0.0",
"mocha": "9.1.2",
"mocha": "9.2.0",
"rimraf": "3.0.2",

@@ -91,20 +91,19 @@ "solhint": "3.3.6",

"terser-webpack-plugin": "4.2.3",
"ts-node": "10.2.1",
"typescript": "4.4.3",
"ts-node": "10.4.0",
"typescript": "4.5.5",
"uglify-es": "3.3.9",
"web3": "1.5.3",
"web3": "1.7.0",
"webpack": "4.41.5",
"webpack-bundle-analyzer": "4.4.2",
"webpack-cli": "4.8.0"
"webpack-bundle-analyzer": "4.5.0",
"webpack-cli": "4.9.2"
},
"dependencies": {
"@babel/runtime": "7.15.4",
"@ethereumjs/tx": "3.3.0",
"@babel/runtime": "7.16.7",
"@ethereumjs/tx": "3.4.0",
"@types/bn.js": "5.1.0",
"eccrypto": "1.1.6",
"eth-lib": "0.2.8",
"ethereumjs-util": "7.1.0",
"ethers": "5.4.7",
"secp256k1": "4.0.2"
"ethereumjs-util": "7.1.3",
"ethers": "5.5.4",
"secp256k1": "4.0.3"
}
}

@@ -238,3 +238,3 @@ <p align="center">

to: '0x86Fa049857E0209aa7D9e616F7eb3b3B78ECfdb0',
value: 1000000000000000000,
value: new BN('1000000000000000000'),
gasPrice: 5000000000,

@@ -311,3 +311,3 @@ nonce: 0,

Compress or decompress a hex-string to make it smaller. You can either compress to utf16 which reduces the size to about 1/4, or to base64 which reduces the size to about 4/5.
"Compress" or "decompress" a hex-string to make it smaller. You can either compress to utf16 which reduces the size to about 1/4, or to base64 which reduces the size to about 4/5. This is not a real compression, it just make your string smaller when you have to store it in utf-16 anyways.

@@ -314,0 +314,0 @@ ```javascript

@@ -1,15 +0,7 @@

import publicKeyByPrivateKey from './public-key-by-private-key';
import { utils as ethersUtils, Wallet } from 'ethers';
import { stripHexPrefix } from 'ethereumjs-util';
import {
fromPrivate
} from 'eth-lib/lib/account';
import {
keccak256
} from 'eth-lib/lib/hash';
import Bytes from 'eth-lib/lib/bytes';
const MIN_ENTROPY_SIZE = 128;
const { keccak256 } = ethersUtils;
/**

@@ -30,5 +22,4 @@ * create a privateKey from the given entropy or a new one

} else {
// @link https://github.com/MaiaVictor/eth-lib/blob/master/lib/account.js#L8
const innerHex = keccak256(Bytes.concat(Bytes.random(32), Bytes.random(32)));
const middleHex = Bytes.concat(Bytes.concat(Bytes.random(32), innerHex), Bytes.random(32));
const innerHex = keccak256(ethersUtils.concat([ethersUtils.randomBytes(32), ethersUtils.randomBytes(32)]));
const middleHex = ethersUtils.concat([ethersUtils.concat([ethersUtils.randomBytes(32), innerHex]), ethersUtils.randomBytes(32)]);
const outerHex = keccak256(middleHex);

@@ -46,5 +37,10 @@ return outerHex;

const privateKey = createPrivateKey(entropy);
const identity = fromPrivate(privateKey);
identity.publicKey = publicKeyByPrivateKey(identity.privateKey);
const wallet = new Wallet(privateKey);
const identity = {
privateKey: privateKey,
// remove trailing '0x04'
publicKey: stripHexPrefix(wallet.publicKey).slice(2),
address: wallet.address,
};
return identity;
}
import {
decodeSignature,
encodeSignature
} from 'eth-lib/lib/account';
utils as ethersUtils
} from 'ethers';
/**

@@ -12,7 +10,8 @@ * split signature-hex into parts

export function fromString(hexString) {
const arr = decodeSignature(hexString);
const arr = ethersUtils.splitSignature(hexString);
return {
v: arr[0],
r: arr[1],
s: arr[2]
// convert "v" to hex
v: `0x${arr.v.toString(16)}`,
r: arr.r,
s: arr.s,
};

@@ -27,4 +26,3 @@ }

export function toString(sig) {
const partsArray = [sig.v, sig.r, sig.s];
return encodeSignature(partsArray);
return ethersUtils.joinSignature(sig);
}

@@ -1,2 +0,2 @@

import BigNumber = require('bn.js');
import BigNumber from 'bn.js';
import { TxOptions } from '@ethereumjs/tx';

@@ -3,0 +3,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