eth-crypto-js
Advanced tools
Comparing version 0.1.10 to 0.1.11
@@ -1,2 +0,2 @@ | ||
import{keccak256 as e,concat as r,randomBytes as t,Wallet as n,toUtf8Bytes as i}from"ethers";import{privateToPublic as f,toBuffer as o}from"ethereumjs-util";import{ecdsaSign as u,publicKeyConvert as c,ecdsaRecover as h}from"secp256k1";import{encrypt as a,decrypt as m}from"eccrypto";function s(n){if(n){if(!Buffer.isBuffer(n))throw new Error("WallabyCrypto.createPrivateKey(): given entropy is no Buffer");if(Buffer.byteLength(n,"utf8")<128)throw new Error("WallabyCrypto.createPrivateKey(): Entropy-size must be at least 128");return e(n)}var i=e(r([t(32),t(32)])),f=r([r([t(32),i]),t(32)]);return e(f)}function y(e){return e.startsWith("0x")?e:"0x"+e}function p(e){var r=y(e);return f(o(r)).toString("hex")}var x=function(e){var r=s(e),t=new n(r);return{privateKey:r,publicKey:p(r),address:t.address}};function g(e){return e.startsWith("0x")?e.substring(2):e}function l(e,r){if(66!==(r=y(r)).length)throw new Error("WallabyCrypto.sign(): Can only sign hashes, given: "+r);var t=u(new Uint8Array(Buffer.from(g(r),"hex")),new Uint8Array(Buffer.from(g(e),"hex"))),n=1===t.recid?"1c":"1b";return"0x"+Buffer.from(t.signature).toString("hex")+n}function v(e){return Buffer.from(e).toString("hex")}function B(e){return new Uint8Array(Buffer.from(e,"hex"))}function b(e){return 64===Buffer.from(e,"hex").length&&(e="04"+e),v(c(B(e),!1)).substring(2)}var P=function(e,r,t){void 0===t&&(t={});try{var n=b(e);return Promise.resolve(a(Buffer.from("04"+n,"hex"),Buffer.from(r),t).then(function(e){return{iv:e.iv.toString("hex"),ephemPublicKey:e.ephemPublicKey.toString("hex"),ciphertext:e.ciphertext.toString("hex"),mac:e.mac.toString("hex")}}))}catch(e){return Promise.reject(e)}};function K(e){if("string"!=typeof e)return e;var r=Buffer.from(e,"hex"),t={iv:r.toString("hex",0,16),ephemPublicKey:r.toString("hex",16,49),mac:r.toString("hex",49,81),ciphertext:r.toString("hex",81,r.length)};return t.ephemPublicKey="04"+b(t.ephemPublicKey),t}var S=function(e,r){try{r=K(r);var t=g(e),n={iv:Buffer.from(r.iv,"hex"),ephemPublicKey:Buffer.from(r.ephemPublicKey,"hex"),ciphertext:Buffer.from(r.ciphertext,"hex"),mac:Buffer.from(r.mac,"hex")};return Promise.resolve(m(Buffer.from(t,"hex"),n).then(function(e){return e.toString()}))}catch(e){return Promise.reject(e)}};function d(e,r){var t=(e=g(e)).substring(0,e.length-2),n="1c"===e.slice(-2)?1:0;return v(h(B(t),n,B(g(r)),!1)).slice(2)}function w(r){return e(i(r))}function k(e){return 64===Buffer.from(e,"hex").length&&(e="04"+e),v(c(B(e),!0))}function W(e){if("string"==typeof e)return e;var r=k(e.ephemPublicKey);return Buffer.concat([Buffer.from(e.iv,"hex"),Buffer.from(r,"hex"),Buffer.from(e.mac,"hex"),Buffer.from(e.ciphertext,"hex")]).toString("hex")}var C={keccak256:w},E={compress:k,decomporess:b},j={parse:K,stringify:W},A={createPrivateKey:s,publicKeyByPrivateKey:p,createIdentity:x,sign:l,encryptWithPublicKey:P,decryptWithPrivateKey:S,recoverPublicKey:d,keccak256:w,cipherParser:K,cipherStringify:W,hash:C,publicKey:E,cipher:j};export{j as cipher,K as cipherParser,W as cipherStringify,x as createIdentity,s as createPrivateKey,S as decryptWithPrivateKey,A as default,P as encryptWithPublicKey,C as hash,w as keccak256,E as publicKey,p as publicKeyByPrivateKey,d as recoverPublicKey,l as sign}; | ||
var e=require("ethers"),r=require("ethereumjs-util"),t=require("secp256k1"),i=require("eccrypto");function n(r){if(r){if(!Buffer.isBuffer(r))throw new Error("WallabyCrypto.createPrivateKey(): given entropy is no Buffer");if(Buffer.byteLength(r,"utf8")<128)throw new Error("WallabyCrypto.createPrivateKey(): Entropy-size must be at least 128");return e.keccak256(r)}var t=e.keccak256(e.concat([e.randomBytes(32),e.randomBytes(32)])),i=e.concat([e.concat([e.randomBytes(32),t]),e.randomBytes(32)]);return e.keccak256(i)}function c(e){return e.startsWith("0x")?e:"0x"+e}function o(e){var t=c(e);return r.privateToPublic(r.toBuffer(t)).toString("hex")}var f=function(r){var t=n(r),i=new e.Wallet(t);return{privateKey:t,publicKey:o(t),address:i.address}};function u(e){return e.startsWith("0x")?e.substring(2):e}function a(e,r){if(66!==(r=c(r)).length)throw new Error("WallabyCrypto.sign(): Can only sign hashes, given: "+r);var i=t.ecdsaSign(new Uint8Array(Buffer.from(u(r),"hex")),new Uint8Array(Buffer.from(u(e),"hex"))),n=1===i.recid?"1c":"1b";return"0x"+Buffer.from(i.signature).toString("hex")+n}function h(e){return Buffer.from(e).toString("hex")}function s(e){return new Uint8Array(Buffer.from(e,"hex"))}function y(e){return 64===Buffer.from(e,"hex").length&&(e="04"+e),h(t.publicKeyConvert(s(e),!1)).substring(2)}var p=function(e,r,t){void 0===t&&(t={});try{var n=y(e);return Promise.resolve(i.encrypt(Buffer.from("04"+n,"hex"),Buffer.from(r),t).then(function(e){return{iv:e.iv.toString("hex"),ephemPublicKey:e.ephemPublicKey.toString("hex"),ciphertext:e.ciphertext.toString("hex"),mac:e.mac.toString("hex")}}))}catch(e){return Promise.reject(e)}};function x(e){if("string"!=typeof e)return e;var r=Buffer.from(e,"hex"),t={iv:r.toString("hex",0,16),ephemPublicKey:r.toString("hex",16,49),mac:r.toString("hex",49,81),ciphertext:r.toString("hex",81,r.length)};return t.ephemPublicKey="04"+y(t.ephemPublicKey),t}var m=function(e,r){try{r=x(r);var t=u(e),n={iv:Buffer.from(r.iv,"hex"),ephemPublicKey:Buffer.from(r.ephemPublicKey,"hex"),ciphertext:Buffer.from(r.ciphertext,"hex"),mac:Buffer.from(r.mac,"hex")};return Promise.resolve(i.decrypt(Buffer.from(t,"hex"),n).then(function(e){return e.toString()}))}catch(e){return Promise.reject(e)}};function l(e,r){var i=(e=u(e)).substring(0,e.length-2),n="1c"===e.slice(-2)?1:0;return h(t.ecdsaRecover(s(i),n,s(u(r)),!1)).slice(2)}function v(r){return e.keccak256(e.toUtf8Bytes(r))}function g(e){return 64===Buffer.from(e,"hex").length&&(e="04"+e),h(t.publicKeyConvert(s(e),!0))}function B(e){if("string"==typeof e)return e;var r=g(e.ephemPublicKey);return Buffer.concat([Buffer.from(e.iv,"hex"),Buffer.from(r,"hex"),Buffer.from(e.mac,"hex"),Buffer.from(e.ciphertext,"hex")]).toString("hex")}var b={keccak256:v},K={compress:g,decomporess:y},P={parse:x,stringify:B},d={createPrivateKey:n,publicKeyByPrivateKey:o,createIdentity:f,sign:a,encryptWithPublicKey:p,decryptWithPrivateKey:m,recoverPublicKey:l,keccak256:v,cipherParser:x,cipherStringify:B,hash:b,publicKey:K,cipher:P};exports.cipher=P,exports.cipherParser=x,exports.cipherStringify=B,exports.createIdentity=f,exports.createPrivateKey=n,exports.decryptWithPrivateKey=m,exports.default=d,exports.encryptWithPublicKey=p,exports.hash=b,exports.keccak256=v,exports.publicKey=K,exports.publicKeyByPrivateKey=o,exports.recoverPublicKey=l,exports.sign=a; | ||
//# sourceMappingURL=index.js.map |
{ | ||
"name": "eth-crypto-js", | ||
"version": "0.1.10", | ||
"version": "0.1.11", | ||
"description": "Cryptographic javascript-functions for ethereum and tutorials on how to use them together with web3js and solidity", | ||
@@ -16,9 +16,8 @@ "author": "Olivier Esuka <oesukan@gmail.com> (https://oesukam.me)", | ||
"main": "./dist/index.js", | ||
"module": "./dist/index.js", | ||
"unpkg": "./dist/index.umd.js", | ||
"module": "./dist/index.esm.js", | ||
"types": "./dist/index.d.ts", | ||
"exports": { | ||
"types": "./dist/index.d.ts", | ||
"require": "./dist/index.cjs", | ||
"default": "./dist/index.modern.js" | ||
"import": "./dist/index.esm.js", | ||
"require": "./dist/index.js" | ||
}, | ||
@@ -25,0 +24,0 @@ "files": [ |
Sorry, the diff of this file is not supported yet
Minified code
QualityThis package contains minified code. This may be harmless in some cases where minified code is included in packaged libraries, however packages on npm should not minify code.
Found 1 instance in 1 package
82090
559
3