From 2c7a7b0d04e1b43ee847289955ce52e0c4141aff Mon Sep 17 00:00:00 2001 From: cedoor Date: Wed, 9 Mar 2022 18:03:26 +0100 Subject: [PATCH 1/2] fix: add checks to ensure zeroes are valid zk values --- .../contracts/IncrementalBinaryTree.sol | 1 + .../contracts/IncrementalQuinTree.sol | 1 + 2 files changed, 2 insertions(+) diff --git a/packages/incremental-merkle-tree.sol/contracts/IncrementalBinaryTree.sol b/packages/incremental-merkle-tree.sol/contracts/IncrementalBinaryTree.sol index ce61113..ad17456 100644 --- a/packages/incremental-merkle-tree.sol/contracts/IncrementalBinaryTree.sol +++ b/packages/incremental-merkle-tree.sol/contracts/IncrementalBinaryTree.sol @@ -31,6 +31,7 @@ library IncrementalBinaryTree { uint8 depth, uint256 zero ) public { + require(zero < SNARK_SCALAR_FIELD, "IncrementalBinaryTree: leaf must be < SNARK_SCALAR_FIELD"); require(depth > 0 && depth <= MAX_DEPTH, "IncrementalBinaryTree: tree depth must be between 1 and 32"); self.depth = depth; diff --git a/packages/incremental-merkle-tree.sol/contracts/IncrementalQuinTree.sol b/packages/incremental-merkle-tree.sol/contracts/IncrementalQuinTree.sol index a49157c..c0d22c8 100644 --- a/packages/incremental-merkle-tree.sol/contracts/IncrementalQuinTree.sol +++ b/packages/incremental-merkle-tree.sol/contracts/IncrementalQuinTree.sol @@ -31,6 +31,7 @@ library IncrementalQuinTree { uint8 depth, uint256 zero ) public { + require(zero < SNARK_SCALAR_FIELD, "IncrementalBinaryTree: leaf must be < SNARK_SCALAR_FIELD"); require(depth > 0 && depth <= MAX_DEPTH, "IncrementalQuinTree: tree depth must be between 1 and 32"); self.depth = depth; From 63625b1f5003720e65f20355044e62bb14cd10a8 Mon Sep 17 00:00:00 2001 From: cedoor Date: Wed, 9 Mar 2022 18:04:06 +0100 Subject: [PATCH 2/2] chore(intremental-merkle-tree.sol): v0.3.1 --- packages/incremental-merkle-tree.sol/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/incremental-merkle-tree.sol/package.json b/packages/incremental-merkle-tree.sol/package.json index 0a0ffeb..77e585f 100644 --- a/packages/incremental-merkle-tree.sol/package.json +++ b/packages/incremental-merkle-tree.sol/package.json @@ -1,6 +1,6 @@ { "name": "@zk-kit/incremental-merkle-tree.sol", - "version": "0.3.0", + "version": "0.3.1", "description": "Incremental Merkle tree Solidity libraries.", "license": "MIT", "files": [