diff --git a/packages/merkle-tree/README.md b/packages/incremental-merkle-tree/README.md similarity index 100% rename from packages/merkle-tree/README.md rename to packages/incremental-merkle-tree/README.md diff --git a/packages/incremental-merkle-tree/benchmarks/index.ts b/packages/incremental-merkle-tree/benchmarks/index.ts new file mode 100644 index 0000000..bf617b4 --- /dev/null +++ b/packages/incremental-merkle-tree/benchmarks/index.ts @@ -0,0 +1,39 @@ +import b from "benny" +import { poseidon } from "circomlibjs" +import { IncrementalMerkleTree } from "../src" +import { IncrementalQuinTree } from "incrementalquintree" + +const newTree = new IncrementalMerkleTree(poseidon, 20, BigInt(0), 2) +const oldTree = new IncrementalQuinTree(20, BigInt(0), 2, poseidon) + +const numberOfLeaves = 2 ** 4 + +b.suite( + "Incremental Merkle tree benchmarks", + + b.add("Generate proof for new tree", () => { + for (let i = 0; i < numberOfLeaves; i += 1) { + newTree.insert(BigInt(i + 1)) + } + + for (let i = 0; i < numberOfLeaves; i += 1) { + newTree.createProof(i) + } + }), + + b.add("Generate proof for old tree", () => { + for (let i = 0; i < numberOfLeaves; i += 1) { + oldTree.insert(BigInt(i + 1)) + } + + for (let i = 0; i < numberOfLeaves; i += 1) { + oldTree.genMerklePath(i) + } + }), + + b.cycle(), + b.complete(), + + b.save({ file: "reduce", version: "1.0.0", details: true }), + b.save({ file: "reduce", format: "chart.html", details: true }) +) diff --git a/packages/merkle-tree/build.tsconfig.json b/packages/incremental-merkle-tree/build.tsconfig.json similarity index 100% rename from packages/merkle-tree/build.tsconfig.json rename to packages/incremental-merkle-tree/build.tsconfig.json diff --git a/packages/merkle-tree/jest.config.json b/packages/incremental-merkle-tree/jest.config.json similarity index 100% rename from packages/merkle-tree/jest.config.json rename to packages/incremental-merkle-tree/jest.config.json diff --git a/packages/merkle-tree/package-lock.json b/packages/incremental-merkle-tree/package-lock.json similarity index 100% rename from packages/merkle-tree/package-lock.json rename to packages/incremental-merkle-tree/package-lock.json diff --git a/packages/merkle-tree/package.json b/packages/incremental-merkle-tree/package.json similarity index 94% rename from packages/merkle-tree/package.json rename to packages/incremental-merkle-tree/package.json index 0be9f4d..e3f80d2 100644 --- a/packages/merkle-tree/package.json +++ b/packages/incremental-merkle-tree/package.json @@ -26,6 +26,7 @@ }, "license": "MIT", "scripts": { + "benchmark": "node -r ts-node/register benchmarks/index.ts", "build:watch": "rollup -c rollup.config.ts -w --configPlugin typescript", "build": "rimraf dist && rollup -c rollup.config.ts --configPlugin typescript", "prepublishOnly": "yarn build" diff --git a/packages/merkle-tree/rollup.config.ts b/packages/incremental-merkle-tree/rollup.config.ts similarity index 100% rename from packages/merkle-tree/rollup.config.ts rename to packages/incremental-merkle-tree/rollup.config.ts diff --git a/packages/merkle-tree/src/checkParameter.ts b/packages/incremental-merkle-tree/src/checkParameter.ts similarity index 100% rename from packages/merkle-tree/src/checkParameter.ts rename to packages/incremental-merkle-tree/src/checkParameter.ts diff --git a/packages/merkle-tree/src/incremental-merkle-tree.ts b/packages/incremental-merkle-tree/src/incremental-merkle-tree.ts similarity index 100% rename from packages/merkle-tree/src/incremental-merkle-tree.ts rename to packages/incremental-merkle-tree/src/incremental-merkle-tree.ts diff --git a/packages/merkle-tree/src/index.ts b/packages/incremental-merkle-tree/src/index.ts similarity index 100% rename from packages/merkle-tree/src/index.ts rename to packages/incremental-merkle-tree/src/index.ts diff --git a/packages/merkle-tree/src/types/index.ts b/packages/incremental-merkle-tree/src/types/index.ts similarity index 100% rename from packages/merkle-tree/src/types/index.ts rename to packages/incremental-merkle-tree/src/types/index.ts diff --git a/packages/merkle-tree/tests/index.test.ts b/packages/incremental-merkle-tree/tests/index.test.ts similarity index 100% rename from packages/merkle-tree/tests/index.test.ts rename to packages/incremental-merkle-tree/tests/index.test.ts diff --git a/packages/incremental-merkle-tree/tsconfig.json b/packages/incremental-merkle-tree/tsconfig.json new file mode 100644 index 0000000..a364d42 --- /dev/null +++ b/packages/incremental-merkle-tree/tsconfig.json @@ -0,0 +1,4 @@ +{ + "extends": "../../tsconfig.json", + "include": ["src", "tests", "benchmarks", "rollup.config.ts"] +} diff --git a/packages/merkle-tree/benchmarks/index.js b/packages/merkle-tree/benchmarks/index.js deleted file mode 100644 index c1df0f4..0000000 --- a/packages/merkle-tree/benchmarks/index.js +++ /dev/null @@ -1,38 +0,0 @@ -// const b = require("benny"); -// const { poseidon } = require("circomlibjs"); -// const { IncrementalMerkleTree } = require("../dist/types") -// const Tree = require("incrementalquintree/build/IncrementalQuinTree") - -// const tree = new IncrementalMerkleTree(poseidon, 20, BigInt(0), 2) -// const old = new Tree.IncrementalQuinTree(20, BigInt(0), 2, poseidon) - -// const numberOfLeaves = 2 ** 10; - -// b.suite( -// 'incremental merkle tree benchmarks', - -// b.add('generate proof for nary binary tree', () => { -// for (let i = 0; i < numberOfLeaves; i+=1) { -// tree.insert(BigInt(i + 1)) -// } - -// for (let i = 0; i < numberOfLeaves; i += 1) { -// tree.createProof(i) -// } -// }), - -// b.add('generate proof for old binary tree', () => { -// for (let i = 0; i < numberOfLeaves; i+=1) { -// old.insert(BigInt(i + 1)) -// } - -// for (let i = 0; i < numberOfLeaves; i += 1) { -// old.genMerklePath(i) -// } -// }), - -// b.cycle(), -// b.complete(), -// b.save({ file: 'reduce', version: '1.0.0', details: true }), -// b.save({ file: 'reduce', format: 'chart.html', details: true }), -// ) diff --git a/packages/merkle-tree/tsconfig.json b/packages/merkle-tree/tsconfig.json deleted file mode 100644 index 0a7c84c..0000000 --- a/packages/merkle-tree/tsconfig.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "extends": "../../tsconfig.json", - "include": ["src", "tests", "rollup.config.ts", "benchmarks"] -}