diff --git a/tests/codex/merkletree/generictreetests.nim b/tests/codex/merkletree/generictreetests.nim deleted file mode 100644 index e24cbad1..00000000 --- a/tests/codex/merkletree/generictreetests.nim +++ /dev/null @@ -1,118 +0,0 @@ -import pkg/unittest2 - -import pkg/codex/merkletree - -proc testGenericTree*[H, K, U]( - name: string, - data: openArray[H], - zero: H, - compress: proc(z, y: H, key: K): H, - makeTree: proc(data: seq[H]): U, -) = - let data = @data - - suite "Correctness tests - " & name: - test "Should build correct tree for single leaf": - let expectedRoot = compress(data[0], zero, K.KeyOddAndBottomLayer) - - let tree = makeTree(data[0 .. 0]) - check: - tree.root.tryGet == expectedRoot - - test "Should build correct tree for even bottom layer": - let expectedRoot = compress( - compress( - compress(data[0], data[1], K.KeyBottomLayer), - compress(data[2], data[3], K.KeyBottomLayer), - K.KeyNone, - ), - compress( - compress(data[4], data[5], K.KeyBottomLayer), - compress(data[6], data[7], K.KeyBottomLayer), - K.KeyNone, - ), - K.KeyNone, - ) - - let tree = makeTree(data[0 .. 7]) - - check: - tree.root.tryGet == expectedRoot - - test "Should build correct tree for odd bottom layer": - let expectedRoot = compress( - compress( - compress(data[0], data[1], K.KeyBottomLayer), - compress(data[2], data[3], K.KeyBottomLayer), - K.KeyNone, - ), - compress( - compress(data[4], data[5], K.KeyBottomLayer), - compress(data[6], zero, K.KeyOddAndBottomLayer), - K.KeyNone, - ), - K.KeyNone, - ) - - let tree = makeTree(data[0 .. 6]) - - check: - tree.root.tryGet == expectedRoot - - test "Should build correct tree for even bottom and odd upper layers": - let expectedRoot = compress( - compress( - compress( - compress(data[0], data[1], K.KeyBottomLayer), - compress(data[2], data[3], K.KeyBottomLayer), - K.KeyNone, - ), - compress( - compress(data[4], data[5], K.KeyBottomLayer), - compress(data[6], data[7], K.KeyBottomLayer), - K.KeyNone, - ), - K.KeyNone, - ), - compress( - compress(compress(data[8], data[9], K.KeyBottomLayer), zero, K.KeyOdd), - zero, - K.KeyOdd, - ), - K.KeyNone, - ) - - let tree = makeTree(data[0 .. 9]) - - check: - tree.root.tryGet == expectedRoot - - test "Should get and validate correct proofs": - let expectedRoot = compress( - compress( - compress( - compress(data[0], data[1], K.KeyBottomLayer), - compress(data[2], data[3], K.KeyBottomLayer), - K.KeyNone, - ), - compress( - compress(data[4], data[5], K.KeyBottomLayer), - compress(data[6], data[7], K.KeyBottomLayer), - K.KeyNone, - ), - K.KeyNone, - ), - compress( - compress(compress(data[8], data[9], K.KeyBottomLayer), zero, K.KeyOdd), - zero, - K.KeyOdd, - ), - K.KeyNone, - ) - - let tree = makeTree(data) - - for i in 0 ..< data.len: - let proof = tree.getProof(i).tryGet - check: - proof.verify(tree.leaves[i], expectedRoot).isOk diff --git a/tests/codex/merkletree/testcodextree.nim b/tests/codex/merkletree/testcodextree.nim index 917eb232..15ec6ce9 100644 --- a/tests/codex/merkletree/testcodextree.nim +++ b/tests/codex/merkletree/testcodextree.nim @@ -12,7 +12,6 @@ import pkg/codex/utils/digest import pkg/taskpools import ./helpers -import ./generictreetests import ../../asynctest # TODO: Generalize to other hashes @@ -160,5 +159,3 @@ let makeTree = proc(data: seq[seq[byte]]): StorageMerkleTree = StorageMerkleTree.init(sha256, leaves = data).tryGet - -testGenericTree("StorageMerkleTree", @data, zero, compress, makeTree)