From 6ea92745423ad3e4104f16a2cec7d4d6c69ade72 Mon Sep 17 00:00:00 2001 From: cedoor Date: Wed, 9 Mar 2022 18:03:26 +0100 Subject: [PATCH] fix: add checks to ensure zeroes are valid zk values Former-commit-id: 0f7e817c2b1b28e48ca7c57676da7c1dcc1b8b31 [formerly 83bae522a2ecb0262f39a8e5d767bc8525786286] [formerly 532da3422214cc9b229d3df96c0b281646118584 [formerly 0fef21e3e982134be6166ccf78bb68b620488902]] [formerly 0df0db7a1d6d3acae5062029a9a7a97019e30e11 [formerly 7c2fb4094654dec1ec198885cba4b7a62988ee8a] [formerly 3ed228d0fc532825d01bd0a48f6593e0cf00acd7 [formerly 2c7a7b0d04e1b43ee847289955ce52e0c4141aff]]] Former-commit-id: 30af5fad2d9f02562df9424efcecd6dc0e593905 [formerly dbfc13d01afd6594aee2ad6b11b0e414d7d7ecef] [formerly 186f0157878fe51425bbc61fec72ac1cf1a68df3 [formerly 4f3d2565f4b5ebcd6483ffa2c4a481ef82dfe5db]] Former-commit-id: 697b1fe06aab6d1efa21a97f51b63ba6b47fd8aa [formerly ab1644d6f971f621e65b996e9f79fea36da71ff6] Former-commit-id: 52d75818bd8e28da3b2005d274ff75ac7384f96a --- .../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;