From ad918f8d14a16d48bb4f1be9e52559dad3833824 Mon Sep 17 00:00:00 2001 From: vivianjeng Date: Sun, 3 Apr 2022 13:26:01 +0800 Subject: [PATCH] chore: use `crypto-js/sha256` instead of `js-sha256` Former-commit-id: 8a772b0d77b55929795d244f645fdb344e11bd4c [formerly 1119c557a4fed1fbe1dda8efa9dbe086af5de8b1] [formerly da83a0e3582b4b7e3bbb7a483dff82aaf412aec5 [formerly 6e0800107d77b017d354aa741cee2e7d5e6fd076]] [formerly 9d3aeb5eb19cc7a9f776520cdcb450b5cec4c3ea [formerly 950a9ada74e00515c86790a07a031162f34878ec] [formerly 4ffd33009da54431bd7304518049a9fe235f45a4 [formerly d98e49c97729f9083da47fed8ce6ae428099466c]]] Former-commit-id: b6c799338bcc5e140a9d71cb49bdffbc815a9171 [formerly 06de1ccac0b192657d79a64dc06477e0785a23b1] [formerly bd3ed75547b171e251a3a04ec27cbfa44e12d708 [formerly ff483816a3d1f7f459d806d49cb2d9f381f240a4]] Former-commit-id: e71db4e65f7408b4d92306124bdae94815a4462f [formerly c5e89ffa76022cafa0259c33bc8683e510431bd9] Former-commit-id: bd8ac6363d169e68055ef82587ca22214d0344bd --- packages/identity/package.json | 3 ++- packages/identity/src/utils.ts | 8 +++----- packages/identity/yarn.lock | 15 ++++++++++----- packages/sparse-merkle-tree/README.md | 4 ++-- packages/sparse-merkle-tree/package.json | 3 ++- packages/sparse-merkle-tree/tests/index.test.ts | 6 +++--- packages/sparse-merkle-tree/yarn.lock | 15 ++++++++++----- 7 files changed, 32 insertions(+), 22 deletions(-) diff --git a/packages/identity/package.json b/packages/identity/package.json index 7302b19..6fe6d9f 100644 --- a/packages/identity/package.json +++ b/packages/identity/package.json @@ -31,6 +31,7 @@ }, "devDependencies": { "@rollup/plugin-typescript": "^8.3.0", + "@types/crypto-js": "^4.1.1", "rollup-plugin-cleanup": "^3.2.1", "typedoc": "^0.22.11" }, @@ -38,6 +39,6 @@ "@ethersproject/bignumber": "^5.5.0", "@ethersproject/random": "^5.5.1", "circomlibjs": "0.0.8", - "js-sha256": "^0.9.0" + "crypto-js": "^4.1.1" } } diff --git a/packages/identity/src/utils.ts b/packages/identity/src/utils.ts index f6f3328..e4f5544 100644 --- a/packages/identity/src/utils.ts +++ b/packages/identity/src/utils.ts @@ -1,6 +1,6 @@ import { BigNumber } from "@ethersproject/bignumber" import { randomBytes } from "@ethersproject/random" -import { sha256 as _sha256 } from "js-sha256" +import _sha256 from "crypto-js/sha256" /** * Returns an hexadecimal sha256 hash of the message passed as parameter. @@ -8,11 +8,9 @@ import { sha256 as _sha256 } from "js-sha256" * @returns The hexadecimal hash of the message. */ export function sha256(message: string): string { - const hash = _sha256.create() + const hash = _sha256(message) - hash.update(message) - - return hash.hex() + return hash.toString() } /** diff --git a/packages/identity/yarn.lock b/packages/identity/yarn.lock index d9d44c4..3ba9325 100644 --- a/packages/identity/yarn.lock +++ b/packages/identity/yarn.lock @@ -245,6 +245,11 @@ dependencies: "@types/node" "*" +"@types/crypto-js@^4.1.1": + version "4.1.1" + resolved "https://registry.yarnpkg.com/@types/crypto-js/-/crypto-js-4.1.1.tgz#602859584cecc91894eb23a4892f38cfa927890d" + integrity sha512-BG7fQKZ689HIoc5h+6D2Dgq1fABRa0RbBWKBd9SP/MVRVXROflpm5fhwyATX5duFmbStzyzyycPB8qUYKDH3NA== + "@types/estree@0.0.39": version "0.0.39" resolved "https://registry.yarnpkg.com/@types/estree/-/estree-0.0.39.tgz#e177e699ee1b8c22d23174caaa7422644389509f" @@ -752,6 +757,11 @@ crypto-browserify@3.12.0: randombytes "^2.0.0" randomfill "^1.0.3" +crypto-js@^4.1.1: + version "4.1.1" + resolved "https://registry.yarnpkg.com/crypto-js/-/crypto-js-4.1.1.tgz#9e485bcf03521041bd85844786b83fb7619736cf" + integrity sha512-o2JlM7ydqd3Qk9CA0L4NL6mTzU2sdx96a+oOfPu8Mkl/PK51vSyoi8/rQ8NknZtk44vq15lmhAj9CIAGwgeWKw== + d@1, d@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/d/-/d-1.0.1.tgz#8698095372d58dbee346ffd0c7093f99f8f9eb5a" @@ -1618,11 +1628,6 @@ js-cleanup@^1.2.0: perf-regexes "^1.0.1" skip-regex "^1.0.2" -js-sha256@^0.9.0: - version "0.9.0" - resolved "https://registry.yarnpkg.com/js-sha256/-/js-sha256-0.9.0.tgz#0b89ac166583e91ef9123644bd3c5334ce9d0966" - integrity sha512-sga3MHh9sgQN2+pJ9VYZ+1LPwXOxuBJBA5nrR5/ofPfuiJBE2hnjsaN8se8JznOmGLN2p49Pe5U/ttafcs/apA== - js-sha3@0.8.0, js-sha3@^0.8.0: version "0.8.0" resolved "https://registry.yarnpkg.com/js-sha3/-/js-sha3-0.8.0.tgz#b9b7a5da73afad7dedd0f8c463954cbde6818840" diff --git a/packages/sparse-merkle-tree/README.md b/packages/sparse-merkle-tree/README.md index 3bc3cdf..e0e97a0 100644 --- a/packages/sparse-merkle-tree/README.md +++ b/packages/sparse-merkle-tree/README.md @@ -90,11 +90,11 @@ or [JSDelivr](https://www.jsdelivr.com/): ```typescript import { SparseMerkleTree } from "@zk-kit/sparse-merkle-tree" -import { sha256 } from "js-sha256" +import sha256 from "crypto-js/sha256" import { poseidon } from "circomlibjs" // Hexadecimal hashes. -const hash = (childNodes: ChildNodes) => sha256(childNodes.join("")) +const hash = (childNodes: ChildNodes) => sha256(childNodes.join("")).toString() const tree = new SparseMerkleTree(hash) // Big number hashes. diff --git a/packages/sparse-merkle-tree/package.json b/packages/sparse-merkle-tree/package.json index ee7024a..aa4ab68 100644 --- a/packages/sparse-merkle-tree/package.json +++ b/packages/sparse-merkle-tree/package.json @@ -41,7 +41,8 @@ "devDependencies": { "@rollup/plugin-typescript": "^8.3.0", "circomlibjs": "^0.0.8", - "js-sha256": "^0.9.0", + "crypto-js": "^4.1.1", + "@types/crypto-js": "^4.1.1", "rollup-plugin-cleanup": "^3.2.1", "rollup-plugin-terser": "^7.0.2", "typedoc": "^0.22.11" diff --git a/packages/sparse-merkle-tree/tests/index.test.ts b/packages/sparse-merkle-tree/tests/index.test.ts index bf8df89..ca15019 100644 --- a/packages/sparse-merkle-tree/tests/index.test.ts +++ b/packages/sparse-merkle-tree/tests/index.test.ts @@ -1,9 +1,9 @@ import { poseidon, smt } from "circomlibjs" -import { sha256 } from "js-sha256" +import sha256 from "crypto-js/sha256" import { ChildNodes, SparseMerkleTree } from "../src" describe("Sparse Merkle tree", () => { - const hash = (childNodes: ChildNodes) => sha256(childNodes.join("")) + const hash = (childNodes: ChildNodes) => sha256(childNodes.join("")).toString() const testKeys = ["a", "3", "2b", "20", "9", "17"] describe("Create hexadecimal trees", () => { @@ -177,7 +177,7 @@ describe("Sparse Merkle tree", () => { }) it("Should not create a big number tree if the hash function does not return a big number", () => { - const hash = (childNodes: ChildNodes) => sha256(childNodes.join("")) + const hash = (childNodes: ChildNodes) => sha256(childNodes.join("")).toString() const fun = () => new SparseMerkleTree(hash, true) diff --git a/packages/sparse-merkle-tree/yarn.lock b/packages/sparse-merkle-tree/yarn.lock index fe4fd42..5762325 100644 --- a/packages/sparse-merkle-tree/yarn.lock +++ b/packages/sparse-merkle-tree/yarn.lock @@ -258,6 +258,11 @@ dependencies: "@types/node" "*" +"@types/crypto-js@^4.1.1": + version "4.1.1" + resolved "https://registry.yarnpkg.com/@types/crypto-js/-/crypto-js-4.1.1.tgz#602859584cecc91894eb23a4892f38cfa927890d" + integrity sha512-BG7fQKZ689HIoc5h+6D2Dgq1fABRa0RbBWKBd9SP/MVRVXROflpm5fhwyATX5duFmbStzyzyycPB8qUYKDH3NA== + "@types/estree@0.0.39": version "0.0.39" resolved "https://registry.yarnpkg.com/@types/estree/-/estree-0.0.39.tgz#e177e699ee1b8c22d23174caaa7422644389509f" @@ -803,6 +808,11 @@ crypto-browserify@3.12.0: randombytes "^2.0.0" randomfill "^1.0.3" +crypto-js@^4.1.1: + version "4.1.1" + resolved "https://registry.yarnpkg.com/crypto-js/-/crypto-js-4.1.1.tgz#9e485bcf03521041bd85844786b83fb7619736cf" + integrity sha512-o2JlM7ydqd3Qk9CA0L4NL6mTzU2sdx96a+oOfPu8Mkl/PK51vSyoi8/rQ8NknZtk44vq15lmhAj9CIAGwgeWKw== + d@1, d@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/d/-/d-1.0.1.tgz#8698095372d58dbee346ffd0c7093f99f8f9eb5a" @@ -1693,11 +1703,6 @@ js-cleanup@^1.2.0: perf-regexes "^1.0.1" skip-regex "^1.0.2" -js-sha256@^0.9.0: - version "0.9.0" - resolved "https://registry.yarnpkg.com/js-sha256/-/js-sha256-0.9.0.tgz#0b89ac166583e91ef9123644bd3c5334ce9d0966" - integrity sha512-sga3MHh9sgQN2+pJ9VYZ+1LPwXOxuBJBA5nrR5/ofPfuiJBE2hnjsaN8se8JznOmGLN2p49Pe5U/ttafcs/apA== - js-sha3@0.8.0, js-sha3@^0.8.0: version "0.8.0" resolved "https://registry.yarnpkg.com/js-sha3/-/js-sha3-0.8.0.tgz#b9b7a5da73afad7dedd0f8c463954cbde6818840"