From 1a5cb86e39a6f03767a6fa775ccfb3156e0f81a0 Mon Sep 17 00:00:00 2001 From: Philippe Boneff Date: Thu, 23 Jul 2026 16:13:53 +0000 Subject: [PATCH 1/5] Add non-zero starting cases to TestRefSubtreeConsistencyProof --- .../0/empty-root-subtree.json | 10 ------- testdata/subtreeinclusion/0/empty-root.json | 10 ------- .../0/happy-path-subtree.json | 10 ------- testdata/subtreeinclusion/0/happy-path.json | 10 ------- .../0/leafIdx-XOR-@2-subtree.json | 10 ------- .../subtreeinclusion/0/leafIdx-XOR-@2.json | 10 ------- .../0/leafIdx-plus-@1-subtree.json | 10 ------- .../subtreeinclusion/0/leafIdx-plus-@1.json | 10 ------- .../0/leafIdx-sub-@1-subtree.json | 10 ------- .../subtreeinclusion/0/leafIdx-sub-@1.json | 10 ------- .../0/preceding-garbage-subtree.json | 12 -------- .../subtreeinclusion/0/preceding-garbage.json | 12 -------- .../0/preceding-root-subtree.json | 12 -------- .../subtreeinclusion/0/preceding-root.json | 12 -------- .../0/random-root-subtree.json | 10 ------- testdata/subtreeinclusion/0/random-root.json | 10 ------- .../0/trailing-garbage-subtree.json | 12 -------- .../subtreeinclusion/0/trailing-garbage.json | 12 -------- .../0/trailing-root-subtree.json | 12 -------- .../subtreeinclusion/0/trailing-root.json | 12 -------- .../0/treeSize-div-@2-subtree.json | 10 ------- .../subtreeinclusion/0/treeSize-div-@2.json | 10 ------- .../0/treeSize-mul-@2-subtree.json | 10 ------- .../subtreeinclusion/0/treeSize-mul-@2.json | 10 ------- .../0/wrong-leaf-subtree.json | 10 ------- testdata/subtreeinclusion/0/wrong-leaf.json | 10 ------- .../1/empty-root-subtree.json | 14 ---------- testdata/subtreeinclusion/1/empty-root.json | 14 ---------- .../1/happy-path-subtree.json | 14 ---------- testdata/subtreeinclusion/1/happy-path.json | 14 ---------- .../1/inserted-component-subtree.json | 15 ---------- .../1/inserted-component.json | 15 ---------- .../1/leafIdx-XOR-@2-subtree.json | 14 ---------- .../subtreeinclusion/1/leafIdx-XOR-@2.json | 14 ---------- .../1/leafIdx-plus-@1-subtree.json | 14 ---------- .../subtreeinclusion/1/leafIdx-plus-@1.json | 14 ---------- .../1/leafIdx-sub-@1-subtree.json | 14 ---------- .../subtreeinclusion/1/leafIdx-sub-@1.json | 14 ---------- .../1/modified-proof[0]-bit-@3-subtree.json | 14 ---------- .../1/modified-proof[0]-bit-@3.json | 14 ---------- .../1/modified-proof[1]-bit-@3-subtree.json | 14 ---------- .../1/modified-proof[1]-bit-@3.json | 14 ---------- .../1/modified-proof[2]-bit-@3-subtree.json | 14 ---------- .../1/modified-proof[2]-bit-@3.json | 14 ---------- .../1/preceding-garbage-subtree.json | 15 ---------- .../subtreeinclusion/1/preceding-garbage.json | 15 ---------- .../1/preceding-root-subtree.json | 15 ---------- .../subtreeinclusion/1/preceding-root.json | 15 ---------- .../1/random-root-subtree.json | 14 ---------- testdata/subtreeinclusion/1/random-root.json | 14 ---------- .../1/removed-component-subtree.json | 13 --------- .../subtreeinclusion/1/removed-component.json | 13 --------- .../1/trailing-garbage-subtree.json | 15 ---------- .../subtreeinclusion/1/trailing-garbage.json | 15 ---------- .../1/trailing-root-subtree.json | 15 ---------- .../subtreeinclusion/1/trailing-root.json | 15 ---------- .../1/treeSize-div-@2-subtree.json | 14 ---------- .../subtreeinclusion/1/treeSize-div-@2.json | 14 ---------- .../1/treeSize-mul-@2-subtree.json | 14 ---------- .../subtreeinclusion/1/treeSize-mul-@2.json | 14 ---------- .../1/wrong-leaf-subtree.json | 14 ---------- testdata/subtreeinclusion/1/wrong-leaf.json | 14 ---------- .../2/empty-root-subtree.json | 14 ---------- testdata/subtreeinclusion/2/empty-root.json | 14 ---------- .../2/happy-path-subtree.json | 14 ---------- testdata/subtreeinclusion/2/happy-path.json | 14 ---------- .../2/inserted-component-subtree.json | 15 ---------- .../2/inserted-component.json | 15 ---------- .../2/leafIdx-XOR-@2-subtree.json | 14 ---------- .../subtreeinclusion/2/leafIdx-XOR-@2.json | 14 ---------- .../2/leafIdx-plus-@1-subtree.json | 14 ---------- .../subtreeinclusion/2/leafIdx-plus-@1.json | 14 ---------- .../2/leafIdx-sub-@1-subtree.json | 14 ---------- .../subtreeinclusion/2/leafIdx-sub-@1.json | 14 ---------- .../2/modified-proof[0]-bit-@3-subtree.json | 14 ---------- .../2/modified-proof[0]-bit-@3.json | 14 ---------- .../2/modified-proof[1]-bit-@3-subtree.json | 14 ---------- .../2/modified-proof[1]-bit-@3.json | 14 ---------- .../2/modified-proof[2]-bit-@3-subtree.json | 14 ---------- .../2/modified-proof[2]-bit-@3.json | 14 ---------- .../2/preceding-garbage-subtree.json | 15 ---------- .../subtreeinclusion/2/preceding-garbage.json | 15 ---------- .../2/preceding-root-subtree.json | 15 ---------- .../subtreeinclusion/2/preceding-root.json | 15 ---------- .../2/random-root-subtree.json | 14 ---------- testdata/subtreeinclusion/2/random-root.json | 14 ---------- .../2/removed-component-subtree.json | 13 --------- .../subtreeinclusion/2/removed-component.json | 13 --------- .../2/trailing-garbage-subtree.json | 15 ---------- .../subtreeinclusion/2/trailing-garbage.json | 15 ---------- .../2/trailing-root-subtree.json | 15 ---------- .../subtreeinclusion/2/trailing-root.json | 15 ---------- .../2/treeSize-div-@2-subtree.json | 14 ---------- .../subtreeinclusion/2/treeSize-div-@2.json | 14 ---------- .../2/treeSize-mul-@2-subtree.json | 14 ---------- .../subtreeinclusion/2/treeSize-mul-@2.json | 14 ---------- .../2/wrong-leaf-subtree.json | 14 ---------- testdata/subtreeinclusion/2/wrong-leaf.json | 14 ---------- .../3/empty-root-subtree.json | 12 -------- testdata/subtreeinclusion/3/empty-root.json | 12 -------- .../3/happy-path-subtree.json | 12 -------- testdata/subtreeinclusion/3/happy-path.json | 12 -------- .../3/leafIdx-XOR-@2-subtree.json | 12 -------- .../subtreeinclusion/3/leafIdx-XOR-@2.json | 12 -------- .../3/leafIdx-plus-@1-subtree.json | 12 -------- .../subtreeinclusion/3/leafIdx-plus-@1.json | 12 -------- .../3/leafIdx-sub-@1-subtree.json | 12 -------- .../subtreeinclusion/3/leafIdx-sub-@1.json | 12 -------- .../3/modified-proof[0]-bit-@3-subtree.json | 12 -------- .../3/modified-proof[0]-bit-@3.json | 12 -------- .../3/preceding-garbage-subtree.json | 13 --------- .../subtreeinclusion/3/preceding-garbage.json | 13 --------- .../3/preceding-root-subtree.json | 13 --------- .../subtreeinclusion/3/preceding-root.json | 13 --------- .../3/random-root-subtree.json | 12 -------- testdata/subtreeinclusion/3/random-root.json | 12 -------- .../3/removed-component-subtree.json | 10 ------- .../subtreeinclusion/3/removed-component.json | 10 ------- .../3/trailing-garbage-subtree.json | 13 --------- .../subtreeinclusion/3/trailing-garbage.json | 13 --------- .../3/trailing-root-subtree.json | 13 --------- .../subtreeinclusion/3/trailing-root.json | 13 --------- .../3/treeSize-div-@2-subtree.json | 12 -------- .../subtreeinclusion/3/treeSize-div-@2.json | 12 -------- .../3/treeSize-mul-@2-subtree.json | 12 -------- .../subtreeinclusion/3/treeSize-mul-@2.json | 12 -------- .../3/wrong-leaf-subtree.json | 12 -------- testdata/subtreeinclusion/3/wrong-leaf.json | 12 -------- .../4/empty-root-subtree.json | 14 ---------- testdata/subtreeinclusion/4/empty-root.json | 14 ---------- .../4/happy-path-subtree.json | 14 ---------- testdata/subtreeinclusion/4/happy-path.json | 14 ---------- .../4/inserted-component-subtree.json | 15 ---------- .../4/inserted-component.json | 15 ---------- .../4/leafIdx-XOR-@2-subtree.json | 14 ---------- .../subtreeinclusion/4/leafIdx-XOR-@2.json | 14 ---------- .../4/leafIdx-plus-@1-subtree.json | 14 ---------- .../subtreeinclusion/4/leafIdx-plus-@1.json | 14 ---------- .../4/leafIdx-sub-@1-subtree.json | 14 ---------- .../subtreeinclusion/4/leafIdx-sub-@1.json | 14 ---------- .../4/modified-proof[0]-bit-@3-subtree.json | 14 ---------- .../4/modified-proof[0]-bit-@3.json | 14 ---------- .../4/modified-proof[1]-bit-@3-subtree.json | 14 ---------- .../4/modified-proof[1]-bit-@3.json | 14 ---------- .../4/modified-proof[2]-bit-@3-subtree.json | 14 ---------- .../4/modified-proof[2]-bit-@3.json | 14 ---------- .../4/preceding-garbage-subtree.json | 15 ---------- .../subtreeinclusion/4/preceding-garbage.json | 15 ---------- .../4/preceding-root-subtree.json | 15 ---------- .../subtreeinclusion/4/preceding-root.json | 15 ---------- .../4/random-root-subtree.json | 14 ---------- testdata/subtreeinclusion/4/random-root.json | 14 ---------- .../4/removed-component-subtree.json | 13 --------- .../subtreeinclusion/4/removed-component.json | 13 --------- .../4/trailing-garbage-subtree.json | 15 ---------- .../subtreeinclusion/4/trailing-garbage.json | 15 ---------- .../4/trailing-root-subtree.json | 15 ---------- .../subtreeinclusion/4/trailing-root.json | 15 ---------- .../4/treeSize-div-@2-subtree.json | 14 ---------- .../subtreeinclusion/4/treeSize-div-@2.json | 14 ---------- .../4/treeSize-mul-@2-subtree.json | 14 ---------- .../subtreeinclusion/4/treeSize-mul-@2.json | 14 ---------- .../4/wrong-leaf-subtree.json | 14 ---------- testdata/subtreeinclusion/4/wrong-leaf.json | 14 ---------- .../0/empty-root-and-random-leaf-subtree.json | 10 ------- .../0/empty-root-and-random-leaf.json | 10 ------- .../additional/0/empty-root-subtree.json | 10 ------- .../additional/0/empty-root.json | 10 ------- .../additional/0/random-leaf-subtree.json | 10 ------- .../additional/0/random-leaf.json | 10 ------- .../1/empty-root-and-random-leaf-subtree.json | 10 ------- .../1/empty-root-and-random-leaf.json | 10 ------- .../additional/1/empty-root-subtree.json | 10 ------- .../additional/1/empty-root.json | 10 ------- .../additional/1/random-leaf-subtree.json | 10 ------- .../additional/1/random-leaf.json | 10 ------- .../2/empty-root-and-random-leaf-subtree.json | 10 ------- .../2/empty-root-and-random-leaf.json | 10 ------- .../additional/2/empty-root-subtree.json | 10 ------- .../additional/2/empty-root.json | 10 ------- .../additional/2/random-leaf-subtree.json | 10 ------- .../additional/2/random-leaf.json | 10 ------- .../3/empty-root-and-random-leaf-subtree.json | 10 ------- .../3/empty-root-and-random-leaf.json | 10 ------- .../additional/3/empty-root-subtree.json | 10 ------- .../additional/3/empty-root.json | 10 ------- .../additional/3/random-leaf-subtree.json | 10 ------- .../additional/3/random-leaf.json | 10 ------- .../errors/everything-zero.json | 10 ------- .../errors/invalid-large-subtree.json | 10 ------- .../errors/invalid-subtree.json | 10 ------- .../subtreeinclusion/errors/oob-left.json | 10 ------- .../subtreeinclusion/errors/oob-right-2.json | 10 ------- .../subtreeinclusion/errors/oob-right.json | 10 ------- .../errors/start-equals-end.json | 10 ------- .../errors/start-larger-than-end.json | 10 ------- .../single-entry/empty-leaf-subtree.json | 10 ------- .../single-entry/empty-leaf.json | 10 ------- .../empty-root-and-leaf-subtree.json | 10 ------- .../single-entry/empty-root-and-leaf.json | 10 ------- .../single-entry/empty-root-subtree.json | 10 ------- .../single-entry/empty-root.json | 10 ------- .../matching-root-and-leaf-subtree.json | 10 ------- .../single-entry/matching-root-and-leaf.json | 10 ------- testonly/reference_test.go | 28 +++++++++++++++++++ 205 files changed, 28 insertions(+), 2576 deletions(-) delete mode 100644 testdata/subtreeinclusion/0/empty-root-subtree.json delete mode 100644 testdata/subtreeinclusion/0/empty-root.json delete mode 100644 testdata/subtreeinclusion/0/happy-path-subtree.json delete mode 100644 testdata/subtreeinclusion/0/happy-path.json delete mode 100644 testdata/subtreeinclusion/0/leafIdx-XOR-@2-subtree.json delete mode 100644 testdata/subtreeinclusion/0/leafIdx-XOR-@2.json delete mode 100644 testdata/subtreeinclusion/0/leafIdx-plus-@1-subtree.json delete mode 100644 testdata/subtreeinclusion/0/leafIdx-plus-@1.json delete mode 100644 testdata/subtreeinclusion/0/leafIdx-sub-@1-subtree.json delete mode 100644 testdata/subtreeinclusion/0/leafIdx-sub-@1.json delete mode 100644 testdata/subtreeinclusion/0/preceding-garbage-subtree.json delete mode 100644 testdata/subtreeinclusion/0/preceding-garbage.json delete mode 100644 testdata/subtreeinclusion/0/preceding-root-subtree.json delete mode 100644 testdata/subtreeinclusion/0/preceding-root.json delete mode 100644 testdata/subtreeinclusion/0/random-root-subtree.json delete mode 100644 testdata/subtreeinclusion/0/random-root.json delete mode 100644 testdata/subtreeinclusion/0/trailing-garbage-subtree.json delete mode 100644 testdata/subtreeinclusion/0/trailing-garbage.json delete mode 100644 testdata/subtreeinclusion/0/trailing-root-subtree.json delete mode 100644 testdata/subtreeinclusion/0/trailing-root.json delete mode 100644 testdata/subtreeinclusion/0/treeSize-div-@2-subtree.json delete mode 100644 testdata/subtreeinclusion/0/treeSize-div-@2.json delete mode 100644 testdata/subtreeinclusion/0/treeSize-mul-@2-subtree.json delete mode 100644 testdata/subtreeinclusion/0/treeSize-mul-@2.json delete mode 100644 testdata/subtreeinclusion/0/wrong-leaf-subtree.json delete mode 100644 testdata/subtreeinclusion/0/wrong-leaf.json delete mode 100644 testdata/subtreeinclusion/1/empty-root-subtree.json delete mode 100644 testdata/subtreeinclusion/1/empty-root.json delete mode 100644 testdata/subtreeinclusion/1/happy-path-subtree.json delete mode 100644 testdata/subtreeinclusion/1/happy-path.json delete mode 100644 testdata/subtreeinclusion/1/inserted-component-subtree.json delete mode 100644 testdata/subtreeinclusion/1/inserted-component.json delete mode 100644 testdata/subtreeinclusion/1/leafIdx-XOR-@2-subtree.json delete mode 100644 testdata/subtreeinclusion/1/leafIdx-XOR-@2.json delete mode 100644 testdata/subtreeinclusion/1/leafIdx-plus-@1-subtree.json delete mode 100644 testdata/subtreeinclusion/1/leafIdx-plus-@1.json delete mode 100644 testdata/subtreeinclusion/1/leafIdx-sub-@1-subtree.json delete mode 100644 testdata/subtreeinclusion/1/leafIdx-sub-@1.json delete mode 100644 testdata/subtreeinclusion/1/modified-proof[0]-bit-@3-subtree.json delete mode 100644 testdata/subtreeinclusion/1/modified-proof[0]-bit-@3.json delete mode 100644 testdata/subtreeinclusion/1/modified-proof[1]-bit-@3-subtree.json delete mode 100644 testdata/subtreeinclusion/1/modified-proof[1]-bit-@3.json delete mode 100644 testdata/subtreeinclusion/1/modified-proof[2]-bit-@3-subtree.json delete mode 100644 testdata/subtreeinclusion/1/modified-proof[2]-bit-@3.json delete mode 100644 testdata/subtreeinclusion/1/preceding-garbage-subtree.json delete mode 100644 testdata/subtreeinclusion/1/preceding-garbage.json delete mode 100644 testdata/subtreeinclusion/1/preceding-root-subtree.json delete mode 100644 testdata/subtreeinclusion/1/preceding-root.json delete mode 100644 testdata/subtreeinclusion/1/random-root-subtree.json delete mode 100644 testdata/subtreeinclusion/1/random-root.json delete mode 100644 testdata/subtreeinclusion/1/removed-component-subtree.json delete mode 100644 testdata/subtreeinclusion/1/removed-component.json delete mode 100644 testdata/subtreeinclusion/1/trailing-garbage-subtree.json delete mode 100644 testdata/subtreeinclusion/1/trailing-garbage.json delete mode 100644 testdata/subtreeinclusion/1/trailing-root-subtree.json delete mode 100644 testdata/subtreeinclusion/1/trailing-root.json delete mode 100644 testdata/subtreeinclusion/1/treeSize-div-@2-subtree.json delete mode 100644 testdata/subtreeinclusion/1/treeSize-div-@2.json delete mode 100644 testdata/subtreeinclusion/1/treeSize-mul-@2-subtree.json delete mode 100644 testdata/subtreeinclusion/1/treeSize-mul-@2.json delete mode 100644 testdata/subtreeinclusion/1/wrong-leaf-subtree.json delete mode 100644 testdata/subtreeinclusion/1/wrong-leaf.json delete mode 100644 testdata/subtreeinclusion/2/empty-root-subtree.json delete mode 100644 testdata/subtreeinclusion/2/empty-root.json delete mode 100644 testdata/subtreeinclusion/2/happy-path-subtree.json delete mode 100644 testdata/subtreeinclusion/2/happy-path.json delete mode 100644 testdata/subtreeinclusion/2/inserted-component-subtree.json delete mode 100644 testdata/subtreeinclusion/2/inserted-component.json delete mode 100644 testdata/subtreeinclusion/2/leafIdx-XOR-@2-subtree.json delete mode 100644 testdata/subtreeinclusion/2/leafIdx-XOR-@2.json delete mode 100644 testdata/subtreeinclusion/2/leafIdx-plus-@1-subtree.json delete mode 100644 testdata/subtreeinclusion/2/leafIdx-plus-@1.json delete mode 100644 testdata/subtreeinclusion/2/leafIdx-sub-@1-subtree.json delete mode 100644 testdata/subtreeinclusion/2/leafIdx-sub-@1.json delete mode 100644 testdata/subtreeinclusion/2/modified-proof[0]-bit-@3-subtree.json delete mode 100644 testdata/subtreeinclusion/2/modified-proof[0]-bit-@3.json delete mode 100644 testdata/subtreeinclusion/2/modified-proof[1]-bit-@3-subtree.json delete mode 100644 testdata/subtreeinclusion/2/modified-proof[1]-bit-@3.json delete mode 100644 testdata/subtreeinclusion/2/modified-proof[2]-bit-@3-subtree.json delete mode 100644 testdata/subtreeinclusion/2/modified-proof[2]-bit-@3.json delete mode 100644 testdata/subtreeinclusion/2/preceding-garbage-subtree.json delete mode 100644 testdata/subtreeinclusion/2/preceding-garbage.json delete mode 100644 testdata/subtreeinclusion/2/preceding-root-subtree.json delete mode 100644 testdata/subtreeinclusion/2/preceding-root.json delete mode 100644 testdata/subtreeinclusion/2/random-root-subtree.json delete mode 100644 testdata/subtreeinclusion/2/random-root.json delete mode 100644 testdata/subtreeinclusion/2/removed-component-subtree.json delete mode 100644 testdata/subtreeinclusion/2/removed-component.json delete mode 100644 testdata/subtreeinclusion/2/trailing-garbage-subtree.json delete mode 100644 testdata/subtreeinclusion/2/trailing-garbage.json delete mode 100644 testdata/subtreeinclusion/2/trailing-root-subtree.json delete mode 100644 testdata/subtreeinclusion/2/trailing-root.json delete mode 100644 testdata/subtreeinclusion/2/treeSize-div-@2-subtree.json delete mode 100644 testdata/subtreeinclusion/2/treeSize-div-@2.json delete mode 100644 testdata/subtreeinclusion/2/treeSize-mul-@2-subtree.json delete mode 100644 testdata/subtreeinclusion/2/treeSize-mul-@2.json delete mode 100644 testdata/subtreeinclusion/2/wrong-leaf-subtree.json delete mode 100644 testdata/subtreeinclusion/2/wrong-leaf.json delete mode 100644 testdata/subtreeinclusion/3/empty-root-subtree.json delete mode 100644 testdata/subtreeinclusion/3/empty-root.json delete mode 100644 testdata/subtreeinclusion/3/happy-path-subtree.json delete mode 100644 testdata/subtreeinclusion/3/happy-path.json delete mode 100644 testdata/subtreeinclusion/3/leafIdx-XOR-@2-subtree.json delete mode 100644 testdata/subtreeinclusion/3/leafIdx-XOR-@2.json delete mode 100644 testdata/subtreeinclusion/3/leafIdx-plus-@1-subtree.json delete mode 100644 testdata/subtreeinclusion/3/leafIdx-plus-@1.json delete mode 100644 testdata/subtreeinclusion/3/leafIdx-sub-@1-subtree.json delete mode 100644 testdata/subtreeinclusion/3/leafIdx-sub-@1.json delete mode 100644 testdata/subtreeinclusion/3/modified-proof[0]-bit-@3-subtree.json delete mode 100644 testdata/subtreeinclusion/3/modified-proof[0]-bit-@3.json delete mode 100644 testdata/subtreeinclusion/3/preceding-garbage-subtree.json delete mode 100644 testdata/subtreeinclusion/3/preceding-garbage.json delete mode 100644 testdata/subtreeinclusion/3/preceding-root-subtree.json delete mode 100644 testdata/subtreeinclusion/3/preceding-root.json delete mode 100644 testdata/subtreeinclusion/3/random-root-subtree.json delete mode 100644 testdata/subtreeinclusion/3/random-root.json delete mode 100644 testdata/subtreeinclusion/3/removed-component-subtree.json delete mode 100644 testdata/subtreeinclusion/3/removed-component.json delete mode 100644 testdata/subtreeinclusion/3/trailing-garbage-subtree.json delete mode 100644 testdata/subtreeinclusion/3/trailing-garbage.json delete mode 100644 testdata/subtreeinclusion/3/trailing-root-subtree.json delete mode 100644 testdata/subtreeinclusion/3/trailing-root.json delete mode 100644 testdata/subtreeinclusion/3/treeSize-div-@2-subtree.json delete mode 100644 testdata/subtreeinclusion/3/treeSize-div-@2.json delete mode 100644 testdata/subtreeinclusion/3/treeSize-mul-@2-subtree.json delete mode 100644 testdata/subtreeinclusion/3/treeSize-mul-@2.json delete mode 100644 testdata/subtreeinclusion/3/wrong-leaf-subtree.json delete mode 100644 testdata/subtreeinclusion/3/wrong-leaf.json delete mode 100644 testdata/subtreeinclusion/4/empty-root-subtree.json delete mode 100644 testdata/subtreeinclusion/4/empty-root.json delete mode 100644 testdata/subtreeinclusion/4/happy-path-subtree.json delete mode 100644 testdata/subtreeinclusion/4/happy-path.json delete mode 100644 testdata/subtreeinclusion/4/inserted-component-subtree.json delete mode 100644 testdata/subtreeinclusion/4/inserted-component.json delete mode 100644 testdata/subtreeinclusion/4/leafIdx-XOR-@2-subtree.json delete mode 100644 testdata/subtreeinclusion/4/leafIdx-XOR-@2.json delete mode 100644 testdata/subtreeinclusion/4/leafIdx-plus-@1-subtree.json delete mode 100644 testdata/subtreeinclusion/4/leafIdx-plus-@1.json delete mode 100644 testdata/subtreeinclusion/4/leafIdx-sub-@1-subtree.json delete mode 100644 testdata/subtreeinclusion/4/leafIdx-sub-@1.json delete mode 100644 testdata/subtreeinclusion/4/modified-proof[0]-bit-@3-subtree.json delete mode 100644 testdata/subtreeinclusion/4/modified-proof[0]-bit-@3.json delete mode 100644 testdata/subtreeinclusion/4/modified-proof[1]-bit-@3-subtree.json delete mode 100644 testdata/subtreeinclusion/4/modified-proof[1]-bit-@3.json delete mode 100644 testdata/subtreeinclusion/4/modified-proof[2]-bit-@3-subtree.json delete mode 100644 testdata/subtreeinclusion/4/modified-proof[2]-bit-@3.json delete mode 100644 testdata/subtreeinclusion/4/preceding-garbage-subtree.json delete mode 100644 testdata/subtreeinclusion/4/preceding-garbage.json delete mode 100644 testdata/subtreeinclusion/4/preceding-root-subtree.json delete mode 100644 testdata/subtreeinclusion/4/preceding-root.json delete mode 100644 testdata/subtreeinclusion/4/random-root-subtree.json delete mode 100644 testdata/subtreeinclusion/4/random-root.json delete mode 100644 testdata/subtreeinclusion/4/removed-component-subtree.json delete mode 100644 testdata/subtreeinclusion/4/removed-component.json delete mode 100644 testdata/subtreeinclusion/4/trailing-garbage-subtree.json delete mode 100644 testdata/subtreeinclusion/4/trailing-garbage.json delete mode 100644 testdata/subtreeinclusion/4/trailing-root-subtree.json delete mode 100644 testdata/subtreeinclusion/4/trailing-root.json delete mode 100644 testdata/subtreeinclusion/4/treeSize-div-@2-subtree.json delete mode 100644 testdata/subtreeinclusion/4/treeSize-div-@2.json delete mode 100644 testdata/subtreeinclusion/4/treeSize-mul-@2-subtree.json delete mode 100644 testdata/subtreeinclusion/4/treeSize-mul-@2.json delete mode 100644 testdata/subtreeinclusion/4/wrong-leaf-subtree.json delete mode 100644 testdata/subtreeinclusion/4/wrong-leaf.json delete mode 100644 testdata/subtreeinclusion/additional/0/empty-root-and-random-leaf-subtree.json delete mode 100644 testdata/subtreeinclusion/additional/0/empty-root-and-random-leaf.json delete mode 100644 testdata/subtreeinclusion/additional/0/empty-root-subtree.json delete mode 100644 testdata/subtreeinclusion/additional/0/empty-root.json delete mode 100644 testdata/subtreeinclusion/additional/0/random-leaf-subtree.json delete mode 100644 testdata/subtreeinclusion/additional/0/random-leaf.json delete mode 100644 testdata/subtreeinclusion/additional/1/empty-root-and-random-leaf-subtree.json delete mode 100644 testdata/subtreeinclusion/additional/1/empty-root-and-random-leaf.json delete mode 100644 testdata/subtreeinclusion/additional/1/empty-root-subtree.json delete mode 100644 testdata/subtreeinclusion/additional/1/empty-root.json delete mode 100644 testdata/subtreeinclusion/additional/1/random-leaf-subtree.json delete mode 100644 testdata/subtreeinclusion/additional/1/random-leaf.json delete mode 100644 testdata/subtreeinclusion/additional/2/empty-root-and-random-leaf-subtree.json delete mode 100644 testdata/subtreeinclusion/additional/2/empty-root-and-random-leaf.json delete mode 100644 testdata/subtreeinclusion/additional/2/empty-root-subtree.json delete mode 100644 testdata/subtreeinclusion/additional/2/empty-root.json delete mode 100644 testdata/subtreeinclusion/additional/2/random-leaf-subtree.json delete mode 100644 testdata/subtreeinclusion/additional/2/random-leaf.json delete mode 100644 testdata/subtreeinclusion/additional/3/empty-root-and-random-leaf-subtree.json delete mode 100644 testdata/subtreeinclusion/additional/3/empty-root-and-random-leaf.json delete mode 100644 testdata/subtreeinclusion/additional/3/empty-root-subtree.json delete mode 100644 testdata/subtreeinclusion/additional/3/empty-root.json delete mode 100644 testdata/subtreeinclusion/additional/3/random-leaf-subtree.json delete mode 100644 testdata/subtreeinclusion/additional/3/random-leaf.json delete mode 100644 testdata/subtreeinclusion/errors/everything-zero.json delete mode 100644 testdata/subtreeinclusion/errors/invalid-large-subtree.json delete mode 100644 testdata/subtreeinclusion/errors/invalid-subtree.json delete mode 100644 testdata/subtreeinclusion/errors/oob-left.json delete mode 100644 testdata/subtreeinclusion/errors/oob-right-2.json delete mode 100644 testdata/subtreeinclusion/errors/oob-right.json delete mode 100644 testdata/subtreeinclusion/errors/start-equals-end.json delete mode 100644 testdata/subtreeinclusion/errors/start-larger-than-end.json delete mode 100644 testdata/subtreeinclusion/single-entry/empty-leaf-subtree.json delete mode 100644 testdata/subtreeinclusion/single-entry/empty-leaf.json delete mode 100644 testdata/subtreeinclusion/single-entry/empty-root-and-leaf-subtree.json delete mode 100644 testdata/subtreeinclusion/single-entry/empty-root-and-leaf.json delete mode 100644 testdata/subtreeinclusion/single-entry/empty-root-subtree.json delete mode 100644 testdata/subtreeinclusion/single-entry/empty-root.json delete mode 100644 testdata/subtreeinclusion/single-entry/matching-root-and-leaf-subtree.json delete mode 100644 testdata/subtreeinclusion/single-entry/matching-root-and-leaf.json diff --git a/testdata/subtreeinclusion/0/empty-root-subtree.json b/testdata/subtreeinclusion/0/empty-root-subtree.json deleted file mode 100644 index 12d6aa0c..00000000 --- a/testdata/subtreeinclusion/0/empty-root-subtree.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "leafIdx": 1, - "start": 1, - "end": 2, - "root": "47DEQpj8HBSa+/TImW+5JCeuQeRkm5NMpJWZG3hSuFU=", - "leafHash": "bjQLnP+zepicpUTmu3gKLHiQHT+zNzh2hRGjBhevoB0=", - "proof": null, - "desc": "empty root - subtree", - "wantErr": true -} \ No newline at end of file diff --git a/testdata/subtreeinclusion/0/empty-root.json b/testdata/subtreeinclusion/0/empty-root.json deleted file mode 100644 index 26e49a07..00000000 --- a/testdata/subtreeinclusion/0/empty-root.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "leafIdx": 0, - "start": 0, - "end": 1, - "root": "47DEQpj8HBSa+/TImW+5JCeuQeRkm5NMpJWZG3hSuFU=", - "leafHash": "bjQLnP+zepicpUTmu3gKLHiQHT+zNzh2hRGjBhevoB0=", - "proof": null, - "desc": "empty root", - "wantErr": true -} \ No newline at end of file diff --git a/testdata/subtreeinclusion/0/happy-path-subtree.json b/testdata/subtreeinclusion/0/happy-path-subtree.json deleted file mode 100644 index 3e138440..00000000 --- a/testdata/subtreeinclusion/0/happy-path-subtree.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "leafIdx": 1, - "start": 1, - "end": 2, - "root": "bjQLnP+zepicpUTmu3gKLHiQHT+zNzh2hRGjBhevoB0=", - "leafHash": "bjQLnP+zepicpUTmu3gKLHiQHT+zNzh2hRGjBhevoB0=", - "proof": null, - "desc": "happy path - subtree", - "wantErr": false -} \ No newline at end of file diff --git a/testdata/subtreeinclusion/0/happy-path.json b/testdata/subtreeinclusion/0/happy-path.json deleted file mode 100644 index fa051b4e..00000000 --- a/testdata/subtreeinclusion/0/happy-path.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "leafIdx": 0, - "start": 0, - "end": 1, - "root": "bjQLnP+zepicpUTmu3gKLHiQHT+zNzh2hRGjBhevoB0=", - "leafHash": "bjQLnP+zepicpUTmu3gKLHiQHT+zNzh2hRGjBhevoB0=", - "proof": null, - "desc": "happy path", - "wantErr": false -} \ No newline at end of file diff --git a/testdata/subtreeinclusion/0/leafIdx-XOR-@2-subtree.json b/testdata/subtreeinclusion/0/leafIdx-XOR-@2-subtree.json deleted file mode 100644 index d30e1665..00000000 --- a/testdata/subtreeinclusion/0/leafIdx-XOR-@2-subtree.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "leafIdx": 3, - "start": 1, - "end": 2, - "root": "bjQLnP+zepicpUTmu3gKLHiQHT+zNzh2hRGjBhevoB0=", - "leafHash": "bjQLnP+zepicpUTmu3gKLHiQHT+zNzh2hRGjBhevoB0=", - "proof": null, - "desc": "leafIdx XOR @2 - subtree", - "wantErr": true -} \ No newline at end of file diff --git a/testdata/subtreeinclusion/0/leafIdx-XOR-@2.json b/testdata/subtreeinclusion/0/leafIdx-XOR-@2.json deleted file mode 100644 index d03117d6..00000000 --- a/testdata/subtreeinclusion/0/leafIdx-XOR-@2.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "leafIdx": 2, - "start": 0, - "end": 1, - "root": "bjQLnP+zepicpUTmu3gKLHiQHT+zNzh2hRGjBhevoB0=", - "leafHash": "bjQLnP+zepicpUTmu3gKLHiQHT+zNzh2hRGjBhevoB0=", - "proof": null, - "desc": "leafIdx XOR @2", - "wantErr": true -} \ No newline at end of file diff --git a/testdata/subtreeinclusion/0/leafIdx-plus-@1-subtree.json b/testdata/subtreeinclusion/0/leafIdx-plus-@1-subtree.json deleted file mode 100644 index 5aa095d1..00000000 --- a/testdata/subtreeinclusion/0/leafIdx-plus-@1-subtree.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "leafIdx": 2, - "start": 1, - "end": 2, - "root": "bjQLnP+zepicpUTmu3gKLHiQHT+zNzh2hRGjBhevoB0=", - "leafHash": "bjQLnP+zepicpUTmu3gKLHiQHT+zNzh2hRGjBhevoB0=", - "proof": null, - "desc": "leafIdx plus @1 - subtree", - "wantErr": true -} \ No newline at end of file diff --git a/testdata/subtreeinclusion/0/leafIdx-plus-@1.json b/testdata/subtreeinclusion/0/leafIdx-plus-@1.json deleted file mode 100644 index 851132f7..00000000 --- a/testdata/subtreeinclusion/0/leafIdx-plus-@1.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "leafIdx": 1, - "start": 0, - "end": 1, - "root": "bjQLnP+zepicpUTmu3gKLHiQHT+zNzh2hRGjBhevoB0=", - "leafHash": "bjQLnP+zepicpUTmu3gKLHiQHT+zNzh2hRGjBhevoB0=", - "proof": null, - "desc": "leafIdx plus @1", - "wantErr": true -} \ No newline at end of file diff --git a/testdata/subtreeinclusion/0/leafIdx-sub-@1-subtree.json b/testdata/subtreeinclusion/0/leafIdx-sub-@1-subtree.json deleted file mode 100644 index 0a5d5875..00000000 --- a/testdata/subtreeinclusion/0/leafIdx-sub-@1-subtree.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "leafIdx": 18446744073709551615, - "start": 1, - "end": 2, - "root": "bjQLnP+zepicpUTmu3gKLHiQHT+zNzh2hRGjBhevoB0=", - "leafHash": "bjQLnP+zepicpUTmu3gKLHiQHT+zNzh2hRGjBhevoB0=", - "proof": null, - "desc": "leafIdx sub @1 - subtree", - "wantErr": true -} \ No newline at end of file diff --git a/testdata/subtreeinclusion/0/leafIdx-sub-@1.json b/testdata/subtreeinclusion/0/leafIdx-sub-@1.json deleted file mode 100644 index a671a5c4..00000000 --- a/testdata/subtreeinclusion/0/leafIdx-sub-@1.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "leafIdx": 18446744073709551615, - "start": 0, - "end": 1, - "root": "bjQLnP+zepicpUTmu3gKLHiQHT+zNzh2hRGjBhevoB0=", - "leafHash": "bjQLnP+zepicpUTmu3gKLHiQHT+zNzh2hRGjBhevoB0=", - "proof": null, - "desc": "leafIdx sub @1", - "wantErr": true -} \ No newline at end of file diff --git a/testdata/subtreeinclusion/0/preceding-garbage-subtree.json b/testdata/subtreeinclusion/0/preceding-garbage-subtree.json deleted file mode 100644 index 45be06f1..00000000 --- a/testdata/subtreeinclusion/0/preceding-garbage-subtree.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "leafIdx": 1, - "start": 1, - "end": 2, - "root": "bjQLnP+zepicpUTmu3gKLHiQHT+zNzh2hRGjBhevoB0=", - "leafHash": "bjQLnP+zepicpUTmu3gKLHiQHT+zNzh2hRGjBhevoB0=", - "proof": [ - "" - ], - "desc": "preceding garbage - subtree", - "wantErr": true -} \ No newline at end of file diff --git a/testdata/subtreeinclusion/0/preceding-garbage.json b/testdata/subtreeinclusion/0/preceding-garbage.json deleted file mode 100644 index f3baee19..00000000 --- a/testdata/subtreeinclusion/0/preceding-garbage.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "leafIdx": 0, - "start": 0, - "end": 1, - "root": "bjQLnP+zepicpUTmu3gKLHiQHT+zNzh2hRGjBhevoB0=", - "leafHash": "bjQLnP+zepicpUTmu3gKLHiQHT+zNzh2hRGjBhevoB0=", - "proof": [ - "" - ], - "desc": "preceding garbage", - "wantErr": true -} \ No newline at end of file diff --git a/testdata/subtreeinclusion/0/preceding-root-subtree.json b/testdata/subtreeinclusion/0/preceding-root-subtree.json deleted file mode 100644 index 862976d4..00000000 --- a/testdata/subtreeinclusion/0/preceding-root-subtree.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "leafIdx": 1, - "start": 1, - "end": 2, - "root": "bjQLnP+zepicpUTmu3gKLHiQHT+zNzh2hRGjBhevoB0=", - "leafHash": "bjQLnP+zepicpUTmu3gKLHiQHT+zNzh2hRGjBhevoB0=", - "proof": [ - "bjQLnP+zepicpUTmu3gKLHiQHT+zNzh2hRGjBhevoB0=" - ], - "desc": "preceding root - subtree", - "wantErr": true -} \ No newline at end of file diff --git a/testdata/subtreeinclusion/0/preceding-root.json b/testdata/subtreeinclusion/0/preceding-root.json deleted file mode 100644 index 980421a6..00000000 --- a/testdata/subtreeinclusion/0/preceding-root.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "leafIdx": 0, - "start": 0, - "end": 1, - "root": "bjQLnP+zepicpUTmu3gKLHiQHT+zNzh2hRGjBhevoB0=", - "leafHash": "bjQLnP+zepicpUTmu3gKLHiQHT+zNzh2hRGjBhevoB0=", - "proof": [ - "bjQLnP+zepicpUTmu3gKLHiQHT+zNzh2hRGjBhevoB0=" - ], - "desc": "preceding root", - "wantErr": true -} \ No newline at end of file diff --git a/testdata/subtreeinclusion/0/random-root-subtree.json b/testdata/subtreeinclusion/0/random-root-subtree.json deleted file mode 100644 index b62f77bc..00000000 --- a/testdata/subtreeinclusion/0/random-root-subtree.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "leafIdx": 1, - "start": 1, - "end": 2, - "root": "q6yroAAAAAAAAAAAAAAAAAAAAAAAAAAAAGAGHgASNFY=", - "leafHash": "bjQLnP+zepicpUTmu3gKLHiQHT+zNzh2hRGjBhevoB0=", - "proof": null, - "desc": "random root - subtree", - "wantErr": true -} \ No newline at end of file diff --git a/testdata/subtreeinclusion/0/random-root.json b/testdata/subtreeinclusion/0/random-root.json deleted file mode 100644 index 0bb97404..00000000 --- a/testdata/subtreeinclusion/0/random-root.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "leafIdx": 0, - "start": 0, - "end": 1, - "root": "q6yroAAAAAAAAAAAAAAAAAAAAAAAAAAAAGAGHgASNFY=", - "leafHash": "bjQLnP+zepicpUTmu3gKLHiQHT+zNzh2hRGjBhevoB0=", - "proof": null, - "desc": "random root", - "wantErr": true -} \ No newline at end of file diff --git a/testdata/subtreeinclusion/0/trailing-garbage-subtree.json b/testdata/subtreeinclusion/0/trailing-garbage-subtree.json deleted file mode 100644 index 5d6c7056..00000000 --- a/testdata/subtreeinclusion/0/trailing-garbage-subtree.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "leafIdx": 1, - "start": 1, - "end": 2, - "root": "bjQLnP+zepicpUTmu3gKLHiQHT+zNzh2hRGjBhevoB0=", - "leafHash": "bjQLnP+zepicpUTmu3gKLHiQHT+zNzh2hRGjBhevoB0=", - "proof": [ - "" - ], - "desc": "trailing garbage - subtree", - "wantErr": true -} \ No newline at end of file diff --git a/testdata/subtreeinclusion/0/trailing-garbage.json b/testdata/subtreeinclusion/0/trailing-garbage.json deleted file mode 100644 index b028f8cd..00000000 --- a/testdata/subtreeinclusion/0/trailing-garbage.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "leafIdx": 0, - "start": 0, - "end": 1, - "root": "bjQLnP+zepicpUTmu3gKLHiQHT+zNzh2hRGjBhevoB0=", - "leafHash": "bjQLnP+zepicpUTmu3gKLHiQHT+zNzh2hRGjBhevoB0=", - "proof": [ - "" - ], - "desc": "trailing garbage", - "wantErr": true -} \ No newline at end of file diff --git a/testdata/subtreeinclusion/0/trailing-root-subtree.json b/testdata/subtreeinclusion/0/trailing-root-subtree.json deleted file mode 100644 index c1cf2b1a..00000000 --- a/testdata/subtreeinclusion/0/trailing-root-subtree.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "leafIdx": 1, - "start": 1, - "end": 2, - "root": "bjQLnP+zepicpUTmu3gKLHiQHT+zNzh2hRGjBhevoB0=", - "leafHash": "bjQLnP+zepicpUTmu3gKLHiQHT+zNzh2hRGjBhevoB0=", - "proof": [ - "bjQLnP+zepicpUTmu3gKLHiQHT+zNzh2hRGjBhevoB0=" - ], - "desc": "trailing root - subtree", - "wantErr": true -} \ No newline at end of file diff --git a/testdata/subtreeinclusion/0/trailing-root.json b/testdata/subtreeinclusion/0/trailing-root.json deleted file mode 100644 index 14640b4d..00000000 --- a/testdata/subtreeinclusion/0/trailing-root.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "leafIdx": 0, - "start": 0, - "end": 1, - "root": "bjQLnP+zepicpUTmu3gKLHiQHT+zNzh2hRGjBhevoB0=", - "leafHash": "bjQLnP+zepicpUTmu3gKLHiQHT+zNzh2hRGjBhevoB0=", - "proof": [ - "bjQLnP+zepicpUTmu3gKLHiQHT+zNzh2hRGjBhevoB0=" - ], - "desc": "trailing root", - "wantErr": true -} \ No newline at end of file diff --git a/testdata/subtreeinclusion/0/treeSize-div-@2-subtree.json b/testdata/subtreeinclusion/0/treeSize-div-@2-subtree.json deleted file mode 100644 index c308e193..00000000 --- a/testdata/subtreeinclusion/0/treeSize-div-@2-subtree.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "leafIdx": 1, - "start": 1, - "end": 1, - "root": "bjQLnP+zepicpUTmu3gKLHiQHT+zNzh2hRGjBhevoB0=", - "leafHash": "bjQLnP+zepicpUTmu3gKLHiQHT+zNzh2hRGjBhevoB0=", - "proof": null, - "desc": "treeSize div @2 - subtree", - "wantErr": true -} \ No newline at end of file diff --git a/testdata/subtreeinclusion/0/treeSize-div-@2.json b/testdata/subtreeinclusion/0/treeSize-div-@2.json deleted file mode 100644 index 5e9ac1d7..00000000 --- a/testdata/subtreeinclusion/0/treeSize-div-@2.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "leafIdx": 0, - "start": 0, - "end": 0, - "root": "bjQLnP+zepicpUTmu3gKLHiQHT+zNzh2hRGjBhevoB0=", - "leafHash": "bjQLnP+zepicpUTmu3gKLHiQHT+zNzh2hRGjBhevoB0=", - "proof": null, - "desc": "treeSize div @2", - "wantErr": true -} \ No newline at end of file diff --git a/testdata/subtreeinclusion/0/treeSize-mul-@2-subtree.json b/testdata/subtreeinclusion/0/treeSize-mul-@2-subtree.json deleted file mode 100644 index eec00d24..00000000 --- a/testdata/subtreeinclusion/0/treeSize-mul-@2-subtree.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "leafIdx": 2, - "start": 2, - "end": 4, - "root": "bjQLnP+zepicpUTmu3gKLHiQHT+zNzh2hRGjBhevoB0=", - "leafHash": "bjQLnP+zepicpUTmu3gKLHiQHT+zNzh2hRGjBhevoB0=", - "proof": null, - "desc": "treeSize mul @2 - subtree", - "wantErr": true -} \ No newline at end of file diff --git a/testdata/subtreeinclusion/0/treeSize-mul-@2.json b/testdata/subtreeinclusion/0/treeSize-mul-@2.json deleted file mode 100644 index a84749d9..00000000 --- a/testdata/subtreeinclusion/0/treeSize-mul-@2.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "leafIdx": 0, - "start": 0, - "end": 2, - "root": "bjQLnP+zepicpUTmu3gKLHiQHT+zNzh2hRGjBhevoB0=", - "leafHash": "bjQLnP+zepicpUTmu3gKLHiQHT+zNzh2hRGjBhevoB0=", - "proof": null, - "desc": "treeSize mul @2", - "wantErr": true -} \ No newline at end of file diff --git a/testdata/subtreeinclusion/0/wrong-leaf-subtree.json b/testdata/subtreeinclusion/0/wrong-leaf-subtree.json deleted file mode 100644 index 7c4c5a12..00000000 --- a/testdata/subtreeinclusion/0/wrong-leaf-subtree.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "leafIdx": 1, - "start": 1, - "end": 2, - "root": "bjQLnP+zepicpUTmu3gKLHiQHT+zNzh2hRGjBhevoB0=", - "leafHash": "V3JvbmdMZWFm", - "proof": null, - "desc": "wrong leaf - subtree", - "wantErr": true -} \ No newline at end of file diff --git a/testdata/subtreeinclusion/0/wrong-leaf.json b/testdata/subtreeinclusion/0/wrong-leaf.json deleted file mode 100644 index dbcf2291..00000000 --- a/testdata/subtreeinclusion/0/wrong-leaf.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "leafIdx": 0, - "start": 0, - "end": 1, - "root": "bjQLnP+zepicpUTmu3gKLHiQHT+zNzh2hRGjBhevoB0=", - "leafHash": "V3JvbmdMZWFm", - "proof": null, - "desc": "wrong leaf", - "wantErr": true -} \ No newline at end of file diff --git a/testdata/subtreeinclusion/1/empty-root-subtree.json b/testdata/subtreeinclusion/1/empty-root-subtree.json deleted file mode 100644 index ecf2d64b..00000000 --- a/testdata/subtreeinclusion/1/empty-root-subtree.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "leafIdx": 8, - "start": 8, - "end": 16, - "root": "47DEQpj8HBSa+/TImW+5JCeuQeRkm5NMpJWZG3hSuFU=", - "leafHash": "bjQLnP+zepicpUTmu3gKLHiQHT+zNzh2hRGjBhevoB0=", - "proof": [ - "lqKW0iTyhcZ77pPDD4owkVfw2qNdxbh+QQt4YwoJz8c=", - "Xwg/ChozygdqlSeYMlgNs+DvRYS9/x9UyKNg9Q3jAx4=", - "a0eq8p7jwq+a+Im8H7klTavTEXfxYjLdaqsDXKOb9uQ=" - ], - "desc": "empty root - subtree", - "wantErr": true -} \ No newline at end of file diff --git a/testdata/subtreeinclusion/1/empty-root.json b/testdata/subtreeinclusion/1/empty-root.json deleted file mode 100644 index 6c57e5e7..00000000 --- a/testdata/subtreeinclusion/1/empty-root.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "leafIdx": 0, - "start": 0, - "end": 8, - "root": "47DEQpj8HBSa+/TImW+5JCeuQeRkm5NMpJWZG3hSuFU=", - "leafHash": "bjQLnP+zepicpUTmu3gKLHiQHT+zNzh2hRGjBhevoB0=", - "proof": [ - "lqKW0iTyhcZ77pPDD4owkVfw2qNdxbh+QQt4YwoJz8c=", - "Xwg/ChozygdqlSeYMlgNs+DvRYS9/x9UyKNg9Q3jAx4=", - "a0eq8p7jwq+a+Im8H7klTavTEXfxYjLdaqsDXKOb9uQ=" - ], - "desc": "empty root", - "wantErr": true -} \ No newline at end of file diff --git a/testdata/subtreeinclusion/1/happy-path-subtree.json b/testdata/subtreeinclusion/1/happy-path-subtree.json deleted file mode 100644 index a330dfcc..00000000 --- a/testdata/subtreeinclusion/1/happy-path-subtree.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "leafIdx": 8, - "start": 8, - "end": 16, - "root": "XcnaeacGWamtVZy3Ad7ZoqudgjqtL0lgz+Nw7/RgQyg=", - "leafHash": "bjQLnP+zepicpUTmu3gKLHiQHT+zNzh2hRGjBhevoB0=", - "proof": [ - "lqKW0iTyhcZ77pPDD4owkVfw2qNdxbh+QQt4YwoJz8c=", - "Xwg/ChozygdqlSeYMlgNs+DvRYS9/x9UyKNg9Q3jAx4=", - "a0eq8p7jwq+a+Im8H7klTavTEXfxYjLdaqsDXKOb9uQ=" - ], - "desc": "happy path - subtree", - "wantErr": false -} \ No newline at end of file diff --git a/testdata/subtreeinclusion/1/happy-path.json b/testdata/subtreeinclusion/1/happy-path.json deleted file mode 100644 index 41aa230a..00000000 --- a/testdata/subtreeinclusion/1/happy-path.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "leafIdx": 0, - "start": 0, - "end": 8, - "root": "XcnaeacGWamtVZy3Ad7ZoqudgjqtL0lgz+Nw7/RgQyg=", - "leafHash": "bjQLnP+zepicpUTmu3gKLHiQHT+zNzh2hRGjBhevoB0=", - "proof": [ - "lqKW0iTyhcZ77pPDD4owkVfw2qNdxbh+QQt4YwoJz8c=", - "Xwg/ChozygdqlSeYMlgNs+DvRYS9/x9UyKNg9Q3jAx4=", - "a0eq8p7jwq+a+Im8H7klTavTEXfxYjLdaqsDXKOb9uQ=" - ], - "desc": "happy path", - "wantErr": false -} \ No newline at end of file diff --git a/testdata/subtreeinclusion/1/inserted-component-subtree.json b/testdata/subtreeinclusion/1/inserted-component-subtree.json deleted file mode 100644 index fd143895..00000000 --- a/testdata/subtreeinclusion/1/inserted-component-subtree.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "leafIdx": 8, - "start": 8, - "end": 16, - "root": "XcnaeacGWamtVZy3Ad7ZoqudgjqtL0lgz+Nw7/RgQyg=", - "leafHash": "bjQLnP+zepicpUTmu3gKLHiQHT+zNzh2hRGjBhevoB0=", - "proof": [ - "lqKW0iTyhcZ77pPDD4owkVfw2qNdxbh+QQt4YwoJz8c=", - "q6yroAAAAAAAAAAAAAAAAAAAAAAAAAAAAGAGHgASNFY=", - "Xwg/ChozygdqlSeYMlgNs+DvRYS9/x9UyKNg9Q3jAx4=", - "a0eq8p7jwq+a+Im8H7klTavTEXfxYjLdaqsDXKOb9uQ=" - ], - "desc": "inserted component - subtree", - "wantErr": true -} \ No newline at end of file diff --git a/testdata/subtreeinclusion/1/inserted-component.json b/testdata/subtreeinclusion/1/inserted-component.json deleted file mode 100644 index 189d4418..00000000 --- a/testdata/subtreeinclusion/1/inserted-component.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "leafIdx": 0, - "start": 0, - "end": 8, - "root": "XcnaeacGWamtVZy3Ad7ZoqudgjqtL0lgz+Nw7/RgQyg=", - "leafHash": "bjQLnP+zepicpUTmu3gKLHiQHT+zNzh2hRGjBhevoB0=", - "proof": [ - "lqKW0iTyhcZ77pPDD4owkVfw2qNdxbh+QQt4YwoJz8c=", - "q6yroAAAAAAAAAAAAAAAAAAAAAAAAAAAAGAGHgASNFY=", - "Xwg/ChozygdqlSeYMlgNs+DvRYS9/x9UyKNg9Q3jAx4=", - "a0eq8p7jwq+a+Im8H7klTavTEXfxYjLdaqsDXKOb9uQ=" - ], - "desc": "inserted component", - "wantErr": true -} \ No newline at end of file diff --git a/testdata/subtreeinclusion/1/leafIdx-XOR-@2-subtree.json b/testdata/subtreeinclusion/1/leafIdx-XOR-@2-subtree.json deleted file mode 100644 index c6d63e7a..00000000 --- a/testdata/subtreeinclusion/1/leafIdx-XOR-@2-subtree.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "leafIdx": 10, - "start": 8, - "end": 16, - "root": "XcnaeacGWamtVZy3Ad7ZoqudgjqtL0lgz+Nw7/RgQyg=", - "leafHash": "bjQLnP+zepicpUTmu3gKLHiQHT+zNzh2hRGjBhevoB0=", - "proof": [ - "lqKW0iTyhcZ77pPDD4owkVfw2qNdxbh+QQt4YwoJz8c=", - "Xwg/ChozygdqlSeYMlgNs+DvRYS9/x9UyKNg9Q3jAx4=", - "a0eq8p7jwq+a+Im8H7klTavTEXfxYjLdaqsDXKOb9uQ=" - ], - "desc": "leafIdx XOR @2 - subtree", - "wantErr": true -} \ No newline at end of file diff --git a/testdata/subtreeinclusion/1/leafIdx-XOR-@2.json b/testdata/subtreeinclusion/1/leafIdx-XOR-@2.json deleted file mode 100644 index 663eb991..00000000 --- a/testdata/subtreeinclusion/1/leafIdx-XOR-@2.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "leafIdx": 2, - "start": 0, - "end": 8, - "root": "XcnaeacGWamtVZy3Ad7ZoqudgjqtL0lgz+Nw7/RgQyg=", - "leafHash": "bjQLnP+zepicpUTmu3gKLHiQHT+zNzh2hRGjBhevoB0=", - "proof": [ - "lqKW0iTyhcZ77pPDD4owkVfw2qNdxbh+QQt4YwoJz8c=", - "Xwg/ChozygdqlSeYMlgNs+DvRYS9/x9UyKNg9Q3jAx4=", - "a0eq8p7jwq+a+Im8H7klTavTEXfxYjLdaqsDXKOb9uQ=" - ], - "desc": "leafIdx XOR @2", - "wantErr": true -} \ No newline at end of file diff --git a/testdata/subtreeinclusion/1/leafIdx-plus-@1-subtree.json b/testdata/subtreeinclusion/1/leafIdx-plus-@1-subtree.json deleted file mode 100644 index d2807ef4..00000000 --- a/testdata/subtreeinclusion/1/leafIdx-plus-@1-subtree.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "leafIdx": 9, - "start": 8, - "end": 16, - "root": "XcnaeacGWamtVZy3Ad7ZoqudgjqtL0lgz+Nw7/RgQyg=", - "leafHash": "bjQLnP+zepicpUTmu3gKLHiQHT+zNzh2hRGjBhevoB0=", - "proof": [ - "lqKW0iTyhcZ77pPDD4owkVfw2qNdxbh+QQt4YwoJz8c=", - "Xwg/ChozygdqlSeYMlgNs+DvRYS9/x9UyKNg9Q3jAx4=", - "a0eq8p7jwq+a+Im8H7klTavTEXfxYjLdaqsDXKOb9uQ=" - ], - "desc": "leafIdx plus @1 - subtree", - "wantErr": true -} \ No newline at end of file diff --git a/testdata/subtreeinclusion/1/leafIdx-plus-@1.json b/testdata/subtreeinclusion/1/leafIdx-plus-@1.json deleted file mode 100644 index 361b3516..00000000 --- a/testdata/subtreeinclusion/1/leafIdx-plus-@1.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "leafIdx": 1, - "start": 0, - "end": 8, - "root": "XcnaeacGWamtVZy3Ad7ZoqudgjqtL0lgz+Nw7/RgQyg=", - "leafHash": "bjQLnP+zepicpUTmu3gKLHiQHT+zNzh2hRGjBhevoB0=", - "proof": [ - "lqKW0iTyhcZ77pPDD4owkVfw2qNdxbh+QQt4YwoJz8c=", - "Xwg/ChozygdqlSeYMlgNs+DvRYS9/x9UyKNg9Q3jAx4=", - "a0eq8p7jwq+a+Im8H7klTavTEXfxYjLdaqsDXKOb9uQ=" - ], - "desc": "leafIdx plus @1", - "wantErr": true -} \ No newline at end of file diff --git a/testdata/subtreeinclusion/1/leafIdx-sub-@1-subtree.json b/testdata/subtreeinclusion/1/leafIdx-sub-@1-subtree.json deleted file mode 100644 index 1d30326c..00000000 --- a/testdata/subtreeinclusion/1/leafIdx-sub-@1-subtree.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "leafIdx": 18446744073709551615, - "start": 8, - "end": 16, - "root": "XcnaeacGWamtVZy3Ad7ZoqudgjqtL0lgz+Nw7/RgQyg=", - "leafHash": "bjQLnP+zepicpUTmu3gKLHiQHT+zNzh2hRGjBhevoB0=", - "proof": [ - "lqKW0iTyhcZ77pPDD4owkVfw2qNdxbh+QQt4YwoJz8c=", - "Xwg/ChozygdqlSeYMlgNs+DvRYS9/x9UyKNg9Q3jAx4=", - "a0eq8p7jwq+a+Im8H7klTavTEXfxYjLdaqsDXKOb9uQ=" - ], - "desc": "leafIdx sub @1 - subtree", - "wantErr": true -} \ No newline at end of file diff --git a/testdata/subtreeinclusion/1/leafIdx-sub-@1.json b/testdata/subtreeinclusion/1/leafIdx-sub-@1.json deleted file mode 100644 index 469bfd24..00000000 --- a/testdata/subtreeinclusion/1/leafIdx-sub-@1.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "leafIdx": 18446744073709551615, - "start": 0, - "end": 8, - "root": "XcnaeacGWamtVZy3Ad7ZoqudgjqtL0lgz+Nw7/RgQyg=", - "leafHash": "bjQLnP+zepicpUTmu3gKLHiQHT+zNzh2hRGjBhevoB0=", - "proof": [ - "lqKW0iTyhcZ77pPDD4owkVfw2qNdxbh+QQt4YwoJz8c=", - "Xwg/ChozygdqlSeYMlgNs+DvRYS9/x9UyKNg9Q3jAx4=", - "a0eq8p7jwq+a+Im8H7klTavTEXfxYjLdaqsDXKOb9uQ=" - ], - "desc": "leafIdx sub @1", - "wantErr": true -} \ No newline at end of file diff --git a/testdata/subtreeinclusion/1/modified-proof[0]-bit-@3-subtree.json b/testdata/subtreeinclusion/1/modified-proof[0]-bit-@3-subtree.json deleted file mode 100644 index b83ec470..00000000 --- a/testdata/subtreeinclusion/1/modified-proof[0]-bit-@3-subtree.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "leafIdx": 8, - "start": 8, - "end": 16, - "root": "XcnaeacGWamtVZy3Ad7ZoqudgjqtL0lgz+Nw7/RgQyg=", - "leafHash": "bjQLnP+zepicpUTmu3gKLHiQHT+zNzh2hRGjBhevoB0=", - "proof": [ - "nqKW0iTyhcZ77pPDD4owkVfw2qNdxbh+QQt4YwoJz8c=", - "Xwg/ChozygdqlSeYMlgNs+DvRYS9/x9UyKNg9Q3jAx4=", - "a0eq8p7jwq+a+Im8H7klTavTEXfxYjLdaqsDXKOb9uQ=" - ], - "desc": "modified proof[0] bit @3 - subtree", - "wantErr": true -} \ No newline at end of file diff --git a/testdata/subtreeinclusion/1/modified-proof[0]-bit-@3.json b/testdata/subtreeinclusion/1/modified-proof[0]-bit-@3.json deleted file mode 100644 index 4f4e134d..00000000 --- a/testdata/subtreeinclusion/1/modified-proof[0]-bit-@3.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "leafIdx": 0, - "start": 0, - "end": 8, - "root": "XcnaeacGWamtVZy3Ad7ZoqudgjqtL0lgz+Nw7/RgQyg=", - "leafHash": "bjQLnP+zepicpUTmu3gKLHiQHT+zNzh2hRGjBhevoB0=", - "proof": [ - "nqKW0iTyhcZ77pPDD4owkVfw2qNdxbh+QQt4YwoJz8c=", - "Xwg/ChozygdqlSeYMlgNs+DvRYS9/x9UyKNg9Q3jAx4=", - "a0eq8p7jwq+a+Im8H7klTavTEXfxYjLdaqsDXKOb9uQ=" - ], - "desc": "modified proof[0] bit @3", - "wantErr": true -} \ No newline at end of file diff --git a/testdata/subtreeinclusion/1/modified-proof[1]-bit-@3-subtree.json b/testdata/subtreeinclusion/1/modified-proof[1]-bit-@3-subtree.json deleted file mode 100644 index 33e64294..00000000 --- a/testdata/subtreeinclusion/1/modified-proof[1]-bit-@3-subtree.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "leafIdx": 8, - "start": 8, - "end": 16, - "root": "XcnaeacGWamtVZy3Ad7ZoqudgjqtL0lgz+Nw7/RgQyg=", - "leafHash": "bjQLnP+zepicpUTmu3gKLHiQHT+zNzh2hRGjBhevoB0=", - "proof": [ - "lqKW0iTyhcZ77pPDD4owkVfw2qNdxbh+QQt4YwoJz8c=", - "Vwg/ChozygdqlSeYMlgNs+DvRYS9/x9UyKNg9Q3jAx4=", - "a0eq8p7jwq+a+Im8H7klTavTEXfxYjLdaqsDXKOb9uQ=" - ], - "desc": "modified proof[1] bit @3 - subtree", - "wantErr": true -} \ No newline at end of file diff --git a/testdata/subtreeinclusion/1/modified-proof[1]-bit-@3.json b/testdata/subtreeinclusion/1/modified-proof[1]-bit-@3.json deleted file mode 100644 index 3b53791d..00000000 --- a/testdata/subtreeinclusion/1/modified-proof[1]-bit-@3.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "leafIdx": 0, - "start": 0, - "end": 8, - "root": "XcnaeacGWamtVZy3Ad7ZoqudgjqtL0lgz+Nw7/RgQyg=", - "leafHash": "bjQLnP+zepicpUTmu3gKLHiQHT+zNzh2hRGjBhevoB0=", - "proof": [ - "lqKW0iTyhcZ77pPDD4owkVfw2qNdxbh+QQt4YwoJz8c=", - "Vwg/ChozygdqlSeYMlgNs+DvRYS9/x9UyKNg9Q3jAx4=", - "a0eq8p7jwq+a+Im8H7klTavTEXfxYjLdaqsDXKOb9uQ=" - ], - "desc": "modified proof[1] bit @3", - "wantErr": true -} \ No newline at end of file diff --git a/testdata/subtreeinclusion/1/modified-proof[2]-bit-@3-subtree.json b/testdata/subtreeinclusion/1/modified-proof[2]-bit-@3-subtree.json deleted file mode 100644 index 0462c405..00000000 --- a/testdata/subtreeinclusion/1/modified-proof[2]-bit-@3-subtree.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "leafIdx": 8, - "start": 8, - "end": 16, - "root": "XcnaeacGWamtVZy3Ad7ZoqudgjqtL0lgz+Nw7/RgQyg=", - "leafHash": "bjQLnP+zepicpUTmu3gKLHiQHT+zNzh2hRGjBhevoB0=", - "proof": [ - "lqKW0iTyhcZ77pPDD4owkVfw2qNdxbh+QQt4YwoJz8c=", - "Xwg/ChozygdqlSeYMlgNs+DvRYS9/x9UyKNg9Q3jAx4=", - "Y0eq8p7jwq+a+Im8H7klTavTEXfxYjLdaqsDXKOb9uQ=" - ], - "desc": "modified proof[2] bit @3 - subtree", - "wantErr": true -} \ No newline at end of file diff --git a/testdata/subtreeinclusion/1/modified-proof[2]-bit-@3.json b/testdata/subtreeinclusion/1/modified-proof[2]-bit-@3.json deleted file mode 100644 index 2989f02a..00000000 --- a/testdata/subtreeinclusion/1/modified-proof[2]-bit-@3.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "leafIdx": 0, - "start": 0, - "end": 8, - "root": "XcnaeacGWamtVZy3Ad7ZoqudgjqtL0lgz+Nw7/RgQyg=", - "leafHash": "bjQLnP+zepicpUTmu3gKLHiQHT+zNzh2hRGjBhevoB0=", - "proof": [ - "lqKW0iTyhcZ77pPDD4owkVfw2qNdxbh+QQt4YwoJz8c=", - "Xwg/ChozygdqlSeYMlgNs+DvRYS9/x9UyKNg9Q3jAx4=", - "Y0eq8p7jwq+a+Im8H7klTavTEXfxYjLdaqsDXKOb9uQ=" - ], - "desc": "modified proof[2] bit @3", - "wantErr": true -} \ No newline at end of file diff --git a/testdata/subtreeinclusion/1/preceding-garbage-subtree.json b/testdata/subtreeinclusion/1/preceding-garbage-subtree.json deleted file mode 100644 index b56b84a4..00000000 --- a/testdata/subtreeinclusion/1/preceding-garbage-subtree.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "leafIdx": 8, - "start": 8, - "end": 16, - "root": "XcnaeacGWamtVZy3Ad7ZoqudgjqtL0lgz+Nw7/RgQyg=", - "leafHash": "bjQLnP+zepicpUTmu3gKLHiQHT+zNzh2hRGjBhevoB0=", - "proof": [ - "", - "lqKW0iTyhcZ77pPDD4owkVfw2qNdxbh+QQt4YwoJz8c=", - "Xwg/ChozygdqlSeYMlgNs+DvRYS9/x9UyKNg9Q3jAx4=", - "a0eq8p7jwq+a+Im8H7klTavTEXfxYjLdaqsDXKOb9uQ=" - ], - "desc": "preceding garbage - subtree", - "wantErr": true -} \ No newline at end of file diff --git a/testdata/subtreeinclusion/1/preceding-garbage.json b/testdata/subtreeinclusion/1/preceding-garbage.json deleted file mode 100644 index 086a0b21..00000000 --- a/testdata/subtreeinclusion/1/preceding-garbage.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "leafIdx": 0, - "start": 0, - "end": 8, - "root": "XcnaeacGWamtVZy3Ad7ZoqudgjqtL0lgz+Nw7/RgQyg=", - "leafHash": "bjQLnP+zepicpUTmu3gKLHiQHT+zNzh2hRGjBhevoB0=", - "proof": [ - "", - "lqKW0iTyhcZ77pPDD4owkVfw2qNdxbh+QQt4YwoJz8c=", - "Xwg/ChozygdqlSeYMlgNs+DvRYS9/x9UyKNg9Q3jAx4=", - "a0eq8p7jwq+a+Im8H7klTavTEXfxYjLdaqsDXKOb9uQ=" - ], - "desc": "preceding garbage", - "wantErr": true -} \ No newline at end of file diff --git a/testdata/subtreeinclusion/1/preceding-root-subtree.json b/testdata/subtreeinclusion/1/preceding-root-subtree.json deleted file mode 100644 index fb0af534..00000000 --- a/testdata/subtreeinclusion/1/preceding-root-subtree.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "leafIdx": 8, - "start": 8, - "end": 16, - "root": "XcnaeacGWamtVZy3Ad7ZoqudgjqtL0lgz+Nw7/RgQyg=", - "leafHash": "bjQLnP+zepicpUTmu3gKLHiQHT+zNzh2hRGjBhevoB0=", - "proof": [ - "XcnaeacGWamtVZy3Ad7ZoqudgjqtL0lgz+Nw7/RgQyg=", - "lqKW0iTyhcZ77pPDD4owkVfw2qNdxbh+QQt4YwoJz8c=", - "Xwg/ChozygdqlSeYMlgNs+DvRYS9/x9UyKNg9Q3jAx4=", - "a0eq8p7jwq+a+Im8H7klTavTEXfxYjLdaqsDXKOb9uQ=" - ], - "desc": "preceding root - subtree", - "wantErr": true -} \ No newline at end of file diff --git a/testdata/subtreeinclusion/1/preceding-root.json b/testdata/subtreeinclusion/1/preceding-root.json deleted file mode 100644 index dee39f10..00000000 --- a/testdata/subtreeinclusion/1/preceding-root.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "leafIdx": 0, - "start": 0, - "end": 8, - "root": "XcnaeacGWamtVZy3Ad7ZoqudgjqtL0lgz+Nw7/RgQyg=", - "leafHash": "bjQLnP+zepicpUTmu3gKLHiQHT+zNzh2hRGjBhevoB0=", - "proof": [ - "XcnaeacGWamtVZy3Ad7ZoqudgjqtL0lgz+Nw7/RgQyg=", - "lqKW0iTyhcZ77pPDD4owkVfw2qNdxbh+QQt4YwoJz8c=", - "Xwg/ChozygdqlSeYMlgNs+DvRYS9/x9UyKNg9Q3jAx4=", - "a0eq8p7jwq+a+Im8H7klTavTEXfxYjLdaqsDXKOb9uQ=" - ], - "desc": "preceding root", - "wantErr": true -} \ No newline at end of file diff --git a/testdata/subtreeinclusion/1/random-root-subtree.json b/testdata/subtreeinclusion/1/random-root-subtree.json deleted file mode 100644 index 79f0b658..00000000 --- a/testdata/subtreeinclusion/1/random-root-subtree.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "leafIdx": 8, - "start": 8, - "end": 16, - "root": "q6yroAAAAAAAAAAAAAAAAAAAAAAAAAAAAGAGHgASNFY=", - "leafHash": "bjQLnP+zepicpUTmu3gKLHiQHT+zNzh2hRGjBhevoB0=", - "proof": [ - "lqKW0iTyhcZ77pPDD4owkVfw2qNdxbh+QQt4YwoJz8c=", - "Xwg/ChozygdqlSeYMlgNs+DvRYS9/x9UyKNg9Q3jAx4=", - "a0eq8p7jwq+a+Im8H7klTavTEXfxYjLdaqsDXKOb9uQ=" - ], - "desc": "random root - subtree", - "wantErr": true -} \ No newline at end of file diff --git a/testdata/subtreeinclusion/1/random-root.json b/testdata/subtreeinclusion/1/random-root.json deleted file mode 100644 index a3d1d591..00000000 --- a/testdata/subtreeinclusion/1/random-root.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "leafIdx": 0, - "start": 0, - "end": 8, - "root": "q6yroAAAAAAAAAAAAAAAAAAAAAAAAAAAAGAGHgASNFY=", - "leafHash": "bjQLnP+zepicpUTmu3gKLHiQHT+zNzh2hRGjBhevoB0=", - "proof": [ - "lqKW0iTyhcZ77pPDD4owkVfw2qNdxbh+QQt4YwoJz8c=", - "Xwg/ChozygdqlSeYMlgNs+DvRYS9/x9UyKNg9Q3jAx4=", - "a0eq8p7jwq+a+Im8H7klTavTEXfxYjLdaqsDXKOb9uQ=" - ], - "desc": "random root", - "wantErr": true -} \ No newline at end of file diff --git a/testdata/subtreeinclusion/1/removed-component-subtree.json b/testdata/subtreeinclusion/1/removed-component-subtree.json deleted file mode 100644 index e7957a1a..00000000 --- a/testdata/subtreeinclusion/1/removed-component-subtree.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "leafIdx": 8, - "start": 8, - "end": 16, - "root": "XcnaeacGWamtVZy3Ad7ZoqudgjqtL0lgz+Nw7/RgQyg=", - "leafHash": "bjQLnP+zepicpUTmu3gKLHiQHT+zNzh2hRGjBhevoB0=", - "proof": [ - "lqKW0iTyhcZ77pPDD4owkVfw2qNdxbh+QQt4YwoJz8c=", - "Xwg/ChozygdqlSeYMlgNs+DvRYS9/x9UyKNg9Q3jAx4=" - ], - "desc": "removed component - subtree", - "wantErr": true -} \ No newline at end of file diff --git a/testdata/subtreeinclusion/1/removed-component.json b/testdata/subtreeinclusion/1/removed-component.json deleted file mode 100644 index 1a3e44c8..00000000 --- a/testdata/subtreeinclusion/1/removed-component.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "leafIdx": 0, - "start": 0, - "end": 8, - "root": "XcnaeacGWamtVZy3Ad7ZoqudgjqtL0lgz+Nw7/RgQyg=", - "leafHash": "bjQLnP+zepicpUTmu3gKLHiQHT+zNzh2hRGjBhevoB0=", - "proof": [ - "lqKW0iTyhcZ77pPDD4owkVfw2qNdxbh+QQt4YwoJz8c=", - "Xwg/ChozygdqlSeYMlgNs+DvRYS9/x9UyKNg9Q3jAx4=" - ], - "desc": "removed component", - "wantErr": true -} \ No newline at end of file diff --git a/testdata/subtreeinclusion/1/trailing-garbage-subtree.json b/testdata/subtreeinclusion/1/trailing-garbage-subtree.json deleted file mode 100644 index 9c0c470b..00000000 --- a/testdata/subtreeinclusion/1/trailing-garbage-subtree.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "leafIdx": 8, - "start": 8, - "end": 16, - "root": "XcnaeacGWamtVZy3Ad7ZoqudgjqtL0lgz+Nw7/RgQyg=", - "leafHash": "bjQLnP+zepicpUTmu3gKLHiQHT+zNzh2hRGjBhevoB0=", - "proof": [ - "lqKW0iTyhcZ77pPDD4owkVfw2qNdxbh+QQt4YwoJz8c=", - "Xwg/ChozygdqlSeYMlgNs+DvRYS9/x9UyKNg9Q3jAx4=", - "a0eq8p7jwq+a+Im8H7klTavTEXfxYjLdaqsDXKOb9uQ=", - "" - ], - "desc": "trailing garbage - subtree", - "wantErr": true -} \ No newline at end of file diff --git a/testdata/subtreeinclusion/1/trailing-garbage.json b/testdata/subtreeinclusion/1/trailing-garbage.json deleted file mode 100644 index 24d49aa5..00000000 --- a/testdata/subtreeinclusion/1/trailing-garbage.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "leafIdx": 0, - "start": 0, - "end": 8, - "root": "XcnaeacGWamtVZy3Ad7ZoqudgjqtL0lgz+Nw7/RgQyg=", - "leafHash": "bjQLnP+zepicpUTmu3gKLHiQHT+zNzh2hRGjBhevoB0=", - "proof": [ - "lqKW0iTyhcZ77pPDD4owkVfw2qNdxbh+QQt4YwoJz8c=", - "Xwg/ChozygdqlSeYMlgNs+DvRYS9/x9UyKNg9Q3jAx4=", - "a0eq8p7jwq+a+Im8H7klTavTEXfxYjLdaqsDXKOb9uQ=", - "" - ], - "desc": "trailing garbage", - "wantErr": true -} \ No newline at end of file diff --git a/testdata/subtreeinclusion/1/trailing-root-subtree.json b/testdata/subtreeinclusion/1/trailing-root-subtree.json deleted file mode 100644 index 3a0cf4f4..00000000 --- a/testdata/subtreeinclusion/1/trailing-root-subtree.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "leafIdx": 8, - "start": 8, - "end": 16, - "root": "XcnaeacGWamtVZy3Ad7ZoqudgjqtL0lgz+Nw7/RgQyg=", - "leafHash": "bjQLnP+zepicpUTmu3gKLHiQHT+zNzh2hRGjBhevoB0=", - "proof": [ - "lqKW0iTyhcZ77pPDD4owkVfw2qNdxbh+QQt4YwoJz8c=", - "Xwg/ChozygdqlSeYMlgNs+DvRYS9/x9UyKNg9Q3jAx4=", - "a0eq8p7jwq+a+Im8H7klTavTEXfxYjLdaqsDXKOb9uQ=", - "XcnaeacGWamtVZy3Ad7ZoqudgjqtL0lgz+Nw7/RgQyg=" - ], - "desc": "trailing root - subtree", - "wantErr": true -} \ No newline at end of file diff --git a/testdata/subtreeinclusion/1/trailing-root.json b/testdata/subtreeinclusion/1/trailing-root.json deleted file mode 100644 index f1c5f6ec..00000000 --- a/testdata/subtreeinclusion/1/trailing-root.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "leafIdx": 0, - "start": 0, - "end": 8, - "root": "XcnaeacGWamtVZy3Ad7ZoqudgjqtL0lgz+Nw7/RgQyg=", - "leafHash": "bjQLnP+zepicpUTmu3gKLHiQHT+zNzh2hRGjBhevoB0=", - "proof": [ - "lqKW0iTyhcZ77pPDD4owkVfw2qNdxbh+QQt4YwoJz8c=", - "Xwg/ChozygdqlSeYMlgNs+DvRYS9/x9UyKNg9Q3jAx4=", - "a0eq8p7jwq+a+Im8H7klTavTEXfxYjLdaqsDXKOb9uQ=", - "XcnaeacGWamtVZy3Ad7ZoqudgjqtL0lgz+Nw7/RgQyg=" - ], - "desc": "trailing root", - "wantErr": true -} \ No newline at end of file diff --git a/testdata/subtreeinclusion/1/treeSize-div-@2-subtree.json b/testdata/subtreeinclusion/1/treeSize-div-@2-subtree.json deleted file mode 100644 index a2a139c8..00000000 --- a/testdata/subtreeinclusion/1/treeSize-div-@2-subtree.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "leafIdx": 4, - "start": 4, - "end": 8, - "root": "XcnaeacGWamtVZy3Ad7ZoqudgjqtL0lgz+Nw7/RgQyg=", - "leafHash": "bjQLnP+zepicpUTmu3gKLHiQHT+zNzh2hRGjBhevoB0=", - "proof": [ - "lqKW0iTyhcZ77pPDD4owkVfw2qNdxbh+QQt4YwoJz8c=", - "Xwg/ChozygdqlSeYMlgNs+DvRYS9/x9UyKNg9Q3jAx4=", - "a0eq8p7jwq+a+Im8H7klTavTEXfxYjLdaqsDXKOb9uQ=" - ], - "desc": "treeSize div @2 - subtree", - "wantErr": true -} \ No newline at end of file diff --git a/testdata/subtreeinclusion/1/treeSize-div-@2.json b/testdata/subtreeinclusion/1/treeSize-div-@2.json deleted file mode 100644 index 59bafdc2..00000000 --- a/testdata/subtreeinclusion/1/treeSize-div-@2.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "leafIdx": 0, - "start": 0, - "end": 4, - "root": "XcnaeacGWamtVZy3Ad7ZoqudgjqtL0lgz+Nw7/RgQyg=", - "leafHash": "bjQLnP+zepicpUTmu3gKLHiQHT+zNzh2hRGjBhevoB0=", - "proof": [ - "lqKW0iTyhcZ77pPDD4owkVfw2qNdxbh+QQt4YwoJz8c=", - "Xwg/ChozygdqlSeYMlgNs+DvRYS9/x9UyKNg9Q3jAx4=", - "a0eq8p7jwq+a+Im8H7klTavTEXfxYjLdaqsDXKOb9uQ=" - ], - "desc": "treeSize div @2", - "wantErr": true -} \ No newline at end of file diff --git a/testdata/subtreeinclusion/1/treeSize-mul-@2-subtree.json b/testdata/subtreeinclusion/1/treeSize-mul-@2-subtree.json deleted file mode 100644 index 190f24c6..00000000 --- a/testdata/subtreeinclusion/1/treeSize-mul-@2-subtree.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "leafIdx": 16, - "start": 16, - "end": 32, - "root": "XcnaeacGWamtVZy3Ad7ZoqudgjqtL0lgz+Nw7/RgQyg=", - "leafHash": "bjQLnP+zepicpUTmu3gKLHiQHT+zNzh2hRGjBhevoB0=", - "proof": [ - "lqKW0iTyhcZ77pPDD4owkVfw2qNdxbh+QQt4YwoJz8c=", - "Xwg/ChozygdqlSeYMlgNs+DvRYS9/x9UyKNg9Q3jAx4=", - "a0eq8p7jwq+a+Im8H7klTavTEXfxYjLdaqsDXKOb9uQ=" - ], - "desc": "treeSize mul @2 - subtree", - "wantErr": true -} \ No newline at end of file diff --git a/testdata/subtreeinclusion/1/treeSize-mul-@2.json b/testdata/subtreeinclusion/1/treeSize-mul-@2.json deleted file mode 100644 index 66ce2f70..00000000 --- a/testdata/subtreeinclusion/1/treeSize-mul-@2.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "leafIdx": 0, - "start": 0, - "end": 16, - "root": "XcnaeacGWamtVZy3Ad7ZoqudgjqtL0lgz+Nw7/RgQyg=", - "leafHash": "bjQLnP+zepicpUTmu3gKLHiQHT+zNzh2hRGjBhevoB0=", - "proof": [ - "lqKW0iTyhcZ77pPDD4owkVfw2qNdxbh+QQt4YwoJz8c=", - "Xwg/ChozygdqlSeYMlgNs+DvRYS9/x9UyKNg9Q3jAx4=", - "a0eq8p7jwq+a+Im8H7klTavTEXfxYjLdaqsDXKOb9uQ=" - ], - "desc": "treeSize mul @2", - "wantErr": true -} \ No newline at end of file diff --git a/testdata/subtreeinclusion/1/wrong-leaf-subtree.json b/testdata/subtreeinclusion/1/wrong-leaf-subtree.json deleted file mode 100644 index 0b90b727..00000000 --- a/testdata/subtreeinclusion/1/wrong-leaf-subtree.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "leafIdx": 8, - "start": 8, - "end": 16, - "root": "XcnaeacGWamtVZy3Ad7ZoqudgjqtL0lgz+Nw7/RgQyg=", - "leafHash": "V3JvbmdMZWFm", - "proof": [ - "lqKW0iTyhcZ77pPDD4owkVfw2qNdxbh+QQt4YwoJz8c=", - "Xwg/ChozygdqlSeYMlgNs+DvRYS9/x9UyKNg9Q3jAx4=", - "a0eq8p7jwq+a+Im8H7klTavTEXfxYjLdaqsDXKOb9uQ=" - ], - "desc": "wrong leaf - subtree", - "wantErr": true -} \ No newline at end of file diff --git a/testdata/subtreeinclusion/1/wrong-leaf.json b/testdata/subtreeinclusion/1/wrong-leaf.json deleted file mode 100644 index 4da838d2..00000000 --- a/testdata/subtreeinclusion/1/wrong-leaf.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "leafIdx": 0, - "start": 0, - "end": 8, - "root": "XcnaeacGWamtVZy3Ad7ZoqudgjqtL0lgz+Nw7/RgQyg=", - "leafHash": "V3JvbmdMZWFm", - "proof": [ - "lqKW0iTyhcZ77pPDD4owkVfw2qNdxbh+QQt4YwoJz8c=", - "Xwg/ChozygdqlSeYMlgNs+DvRYS9/x9UyKNg9Q3jAx4=", - "a0eq8p7jwq+a+Im8H7klTavTEXfxYjLdaqsDXKOb9uQ=" - ], - "desc": "wrong leaf", - "wantErr": true -} \ No newline at end of file diff --git a/testdata/subtreeinclusion/2/empty-root-subtree.json b/testdata/subtreeinclusion/2/empty-root-subtree.json deleted file mode 100644 index 44bf799c..00000000 --- a/testdata/subtreeinclusion/2/empty-root-subtree.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "leafIdx": 13, - "start": 8, - "end": 16, - "root": "47DEQpj8HBSa+/TImW+5JCeuQeRkm5NMpJWZG3hSuFU=", - "leafHash": "QnGia+DYqE8L1UyMMC58s6O10fpngKQLzOKHNHfatlg=", - "proof": [ - "vBoGQ7EuTS18d5GPROD095qDi2z57FtcKD4fTYhZnms=", - "yoVOoSjtBQtBs1/8G4e46yveRh6eO1WW7Oa51ZdaCuA=", - "037kGJdt2VdTwcc4Yrk5j6Kiz5tP8P3+izDNlSCWFLc=" - ], - "desc": "empty root - subtree", - "wantErr": true -} \ No newline at end of file diff --git a/testdata/subtreeinclusion/2/empty-root.json b/testdata/subtreeinclusion/2/empty-root.json deleted file mode 100644 index 536b0fd9..00000000 --- a/testdata/subtreeinclusion/2/empty-root.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "leafIdx": 5, - "start": 0, - "end": 8, - "root": "47DEQpj8HBSa+/TImW+5JCeuQeRkm5NMpJWZG3hSuFU=", - "leafHash": "QnGia+DYqE8L1UyMMC58s6O10fpngKQLzOKHNHfatlg=", - "proof": [ - "vBoGQ7EuTS18d5GPROD095qDi2z57FtcKD4fTYhZnms=", - "yoVOoSjtBQtBs1/8G4e46yveRh6eO1WW7Oa51ZdaCuA=", - "037kGJdt2VdTwcc4Yrk5j6Kiz5tP8P3+izDNlSCWFLc=" - ], - "desc": "empty root", - "wantErr": true -} \ No newline at end of file diff --git a/testdata/subtreeinclusion/2/happy-path-subtree.json b/testdata/subtreeinclusion/2/happy-path-subtree.json deleted file mode 100644 index 99f3e99c..00000000 --- a/testdata/subtreeinclusion/2/happy-path-subtree.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "leafIdx": 13, - "start": 8, - "end": 16, - "root": "XcnaeacGWamtVZy3Ad7ZoqudgjqtL0lgz+Nw7/RgQyg=", - "leafHash": "QnGia+DYqE8L1UyMMC58s6O10fpngKQLzOKHNHfatlg=", - "proof": [ - "vBoGQ7EuTS18d5GPROD095qDi2z57FtcKD4fTYhZnms=", - "yoVOoSjtBQtBs1/8G4e46yveRh6eO1WW7Oa51ZdaCuA=", - "037kGJdt2VdTwcc4Yrk5j6Kiz5tP8P3+izDNlSCWFLc=" - ], - "desc": "happy path - subtree", - "wantErr": false -} \ No newline at end of file diff --git a/testdata/subtreeinclusion/2/happy-path.json b/testdata/subtreeinclusion/2/happy-path.json deleted file mode 100644 index 9b2bd601..00000000 --- a/testdata/subtreeinclusion/2/happy-path.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "leafIdx": 5, - "start": 0, - "end": 8, - "root": "XcnaeacGWamtVZy3Ad7ZoqudgjqtL0lgz+Nw7/RgQyg=", - "leafHash": "QnGia+DYqE8L1UyMMC58s6O10fpngKQLzOKHNHfatlg=", - "proof": [ - "vBoGQ7EuTS18d5GPROD095qDi2z57FtcKD4fTYhZnms=", - "yoVOoSjtBQtBs1/8G4e46yveRh6eO1WW7Oa51ZdaCuA=", - "037kGJdt2VdTwcc4Yrk5j6Kiz5tP8P3+izDNlSCWFLc=" - ], - "desc": "happy path", - "wantErr": false -} \ No newline at end of file diff --git a/testdata/subtreeinclusion/2/inserted-component-subtree.json b/testdata/subtreeinclusion/2/inserted-component-subtree.json deleted file mode 100644 index 697688db..00000000 --- a/testdata/subtreeinclusion/2/inserted-component-subtree.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "leafIdx": 13, - "start": 8, - "end": 16, - "root": "XcnaeacGWamtVZy3Ad7ZoqudgjqtL0lgz+Nw7/RgQyg=", - "leafHash": "QnGia+DYqE8L1UyMMC58s6O10fpngKQLzOKHNHfatlg=", - "proof": [ - "vBoGQ7EuTS18d5GPROD095qDi2z57FtcKD4fTYhZnms=", - "q6yroAAAAAAAAAAAAAAAAAAAAAAAAAAAAGAGHgASNFY=", - "yoVOoSjtBQtBs1/8G4e46yveRh6eO1WW7Oa51ZdaCuA=", - "037kGJdt2VdTwcc4Yrk5j6Kiz5tP8P3+izDNlSCWFLc=" - ], - "desc": "inserted component - subtree", - "wantErr": true -} \ No newline at end of file diff --git a/testdata/subtreeinclusion/2/inserted-component.json b/testdata/subtreeinclusion/2/inserted-component.json deleted file mode 100644 index 20772d9e..00000000 --- a/testdata/subtreeinclusion/2/inserted-component.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "leafIdx": 5, - "start": 0, - "end": 8, - "root": "XcnaeacGWamtVZy3Ad7ZoqudgjqtL0lgz+Nw7/RgQyg=", - "leafHash": "QnGia+DYqE8L1UyMMC58s6O10fpngKQLzOKHNHfatlg=", - "proof": [ - "vBoGQ7EuTS18d5GPROD095qDi2z57FtcKD4fTYhZnms=", - "q6yroAAAAAAAAAAAAAAAAAAAAAAAAAAAAGAGHgASNFY=", - "yoVOoSjtBQtBs1/8G4e46yveRh6eO1WW7Oa51ZdaCuA=", - "037kGJdt2VdTwcc4Yrk5j6Kiz5tP8P3+izDNlSCWFLc=" - ], - "desc": "inserted component", - "wantErr": true -} \ No newline at end of file diff --git a/testdata/subtreeinclusion/2/leafIdx-XOR-@2-subtree.json b/testdata/subtreeinclusion/2/leafIdx-XOR-@2-subtree.json deleted file mode 100644 index 720a21ff..00000000 --- a/testdata/subtreeinclusion/2/leafIdx-XOR-@2-subtree.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "leafIdx": 15, - "start": 8, - "end": 16, - "root": "XcnaeacGWamtVZy3Ad7ZoqudgjqtL0lgz+Nw7/RgQyg=", - "leafHash": "QnGia+DYqE8L1UyMMC58s6O10fpngKQLzOKHNHfatlg=", - "proof": [ - "vBoGQ7EuTS18d5GPROD095qDi2z57FtcKD4fTYhZnms=", - "yoVOoSjtBQtBs1/8G4e46yveRh6eO1WW7Oa51ZdaCuA=", - "037kGJdt2VdTwcc4Yrk5j6Kiz5tP8P3+izDNlSCWFLc=" - ], - "desc": "leafIdx XOR @2 - subtree", - "wantErr": true -} \ No newline at end of file diff --git a/testdata/subtreeinclusion/2/leafIdx-XOR-@2.json b/testdata/subtreeinclusion/2/leafIdx-XOR-@2.json deleted file mode 100644 index 6f9664e9..00000000 --- a/testdata/subtreeinclusion/2/leafIdx-XOR-@2.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "leafIdx": 7, - "start": 0, - "end": 8, - "root": "XcnaeacGWamtVZy3Ad7ZoqudgjqtL0lgz+Nw7/RgQyg=", - "leafHash": "QnGia+DYqE8L1UyMMC58s6O10fpngKQLzOKHNHfatlg=", - "proof": [ - "vBoGQ7EuTS18d5GPROD095qDi2z57FtcKD4fTYhZnms=", - "yoVOoSjtBQtBs1/8G4e46yveRh6eO1WW7Oa51ZdaCuA=", - "037kGJdt2VdTwcc4Yrk5j6Kiz5tP8P3+izDNlSCWFLc=" - ], - "desc": "leafIdx XOR @2", - "wantErr": true -} \ No newline at end of file diff --git a/testdata/subtreeinclusion/2/leafIdx-plus-@1-subtree.json b/testdata/subtreeinclusion/2/leafIdx-plus-@1-subtree.json deleted file mode 100644 index 54fadedd..00000000 --- a/testdata/subtreeinclusion/2/leafIdx-plus-@1-subtree.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "leafIdx": 14, - "start": 8, - "end": 16, - "root": "XcnaeacGWamtVZy3Ad7ZoqudgjqtL0lgz+Nw7/RgQyg=", - "leafHash": "QnGia+DYqE8L1UyMMC58s6O10fpngKQLzOKHNHfatlg=", - "proof": [ - "vBoGQ7EuTS18d5GPROD095qDi2z57FtcKD4fTYhZnms=", - "yoVOoSjtBQtBs1/8G4e46yveRh6eO1WW7Oa51ZdaCuA=", - "037kGJdt2VdTwcc4Yrk5j6Kiz5tP8P3+izDNlSCWFLc=" - ], - "desc": "leafIdx plus @1 - subtree", - "wantErr": true -} \ No newline at end of file diff --git a/testdata/subtreeinclusion/2/leafIdx-plus-@1.json b/testdata/subtreeinclusion/2/leafIdx-plus-@1.json deleted file mode 100644 index 8dd3bb77..00000000 --- a/testdata/subtreeinclusion/2/leafIdx-plus-@1.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "leafIdx": 6, - "start": 0, - "end": 8, - "root": "XcnaeacGWamtVZy3Ad7ZoqudgjqtL0lgz+Nw7/RgQyg=", - "leafHash": "QnGia+DYqE8L1UyMMC58s6O10fpngKQLzOKHNHfatlg=", - "proof": [ - "vBoGQ7EuTS18d5GPROD095qDi2z57FtcKD4fTYhZnms=", - "yoVOoSjtBQtBs1/8G4e46yveRh6eO1WW7Oa51ZdaCuA=", - "037kGJdt2VdTwcc4Yrk5j6Kiz5tP8P3+izDNlSCWFLc=" - ], - "desc": "leafIdx plus @1", - "wantErr": true -} \ No newline at end of file diff --git a/testdata/subtreeinclusion/2/leafIdx-sub-@1-subtree.json b/testdata/subtreeinclusion/2/leafIdx-sub-@1-subtree.json deleted file mode 100644 index 37899626..00000000 --- a/testdata/subtreeinclusion/2/leafIdx-sub-@1-subtree.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "leafIdx": 12, - "start": 8, - "end": 16, - "root": "XcnaeacGWamtVZy3Ad7ZoqudgjqtL0lgz+Nw7/RgQyg=", - "leafHash": "QnGia+DYqE8L1UyMMC58s6O10fpngKQLzOKHNHfatlg=", - "proof": [ - "vBoGQ7EuTS18d5GPROD095qDi2z57FtcKD4fTYhZnms=", - "yoVOoSjtBQtBs1/8G4e46yveRh6eO1WW7Oa51ZdaCuA=", - "037kGJdt2VdTwcc4Yrk5j6Kiz5tP8P3+izDNlSCWFLc=" - ], - "desc": "leafIdx sub @1 - subtree", - "wantErr": true -} \ No newline at end of file diff --git a/testdata/subtreeinclusion/2/leafIdx-sub-@1.json b/testdata/subtreeinclusion/2/leafIdx-sub-@1.json deleted file mode 100644 index 3c80d0aa..00000000 --- a/testdata/subtreeinclusion/2/leafIdx-sub-@1.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "leafIdx": 4, - "start": 0, - "end": 8, - "root": "XcnaeacGWamtVZy3Ad7ZoqudgjqtL0lgz+Nw7/RgQyg=", - "leafHash": "QnGia+DYqE8L1UyMMC58s6O10fpngKQLzOKHNHfatlg=", - "proof": [ - "vBoGQ7EuTS18d5GPROD095qDi2z57FtcKD4fTYhZnms=", - "yoVOoSjtBQtBs1/8G4e46yveRh6eO1WW7Oa51ZdaCuA=", - "037kGJdt2VdTwcc4Yrk5j6Kiz5tP8P3+izDNlSCWFLc=" - ], - "desc": "leafIdx sub @1", - "wantErr": true -} \ No newline at end of file diff --git a/testdata/subtreeinclusion/2/modified-proof[0]-bit-@3-subtree.json b/testdata/subtreeinclusion/2/modified-proof[0]-bit-@3-subtree.json deleted file mode 100644 index 813d68d3..00000000 --- a/testdata/subtreeinclusion/2/modified-proof[0]-bit-@3-subtree.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "leafIdx": 13, - "start": 8, - "end": 16, - "root": "XcnaeacGWamtVZy3Ad7ZoqudgjqtL0lgz+Nw7/RgQyg=", - "leafHash": "QnGia+DYqE8L1UyMMC58s6O10fpngKQLzOKHNHfatlg=", - "proof": [ - "tBoGQ7EuTS18d5GPROD095qDi2z57FtcKD4fTYhZnms=", - "yoVOoSjtBQtBs1/8G4e46yveRh6eO1WW7Oa51ZdaCuA=", - "037kGJdt2VdTwcc4Yrk5j6Kiz5tP8P3+izDNlSCWFLc=" - ], - "desc": "modified proof[0] bit @3 - subtree", - "wantErr": true -} \ No newline at end of file diff --git a/testdata/subtreeinclusion/2/modified-proof[0]-bit-@3.json b/testdata/subtreeinclusion/2/modified-proof[0]-bit-@3.json deleted file mode 100644 index 5bd1d323..00000000 --- a/testdata/subtreeinclusion/2/modified-proof[0]-bit-@3.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "leafIdx": 5, - "start": 0, - "end": 8, - "root": "XcnaeacGWamtVZy3Ad7ZoqudgjqtL0lgz+Nw7/RgQyg=", - "leafHash": "QnGia+DYqE8L1UyMMC58s6O10fpngKQLzOKHNHfatlg=", - "proof": [ - "tBoGQ7EuTS18d5GPROD095qDi2z57FtcKD4fTYhZnms=", - "yoVOoSjtBQtBs1/8G4e46yveRh6eO1WW7Oa51ZdaCuA=", - "037kGJdt2VdTwcc4Yrk5j6Kiz5tP8P3+izDNlSCWFLc=" - ], - "desc": "modified proof[0] bit @3", - "wantErr": true -} \ No newline at end of file diff --git a/testdata/subtreeinclusion/2/modified-proof[1]-bit-@3-subtree.json b/testdata/subtreeinclusion/2/modified-proof[1]-bit-@3-subtree.json deleted file mode 100644 index 22e7ac4d..00000000 --- a/testdata/subtreeinclusion/2/modified-proof[1]-bit-@3-subtree.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "leafIdx": 13, - "start": 8, - "end": 16, - "root": "XcnaeacGWamtVZy3Ad7ZoqudgjqtL0lgz+Nw7/RgQyg=", - "leafHash": "QnGia+DYqE8L1UyMMC58s6O10fpngKQLzOKHNHfatlg=", - "proof": [ - "vBoGQ7EuTS18d5GPROD095qDi2z57FtcKD4fTYhZnms=", - "woVOoSjtBQtBs1/8G4e46yveRh6eO1WW7Oa51ZdaCuA=", - "037kGJdt2VdTwcc4Yrk5j6Kiz5tP8P3+izDNlSCWFLc=" - ], - "desc": "modified proof[1] bit @3 - subtree", - "wantErr": true -} \ No newline at end of file diff --git a/testdata/subtreeinclusion/2/modified-proof[1]-bit-@3.json b/testdata/subtreeinclusion/2/modified-proof[1]-bit-@3.json deleted file mode 100644 index c41ca740..00000000 --- a/testdata/subtreeinclusion/2/modified-proof[1]-bit-@3.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "leafIdx": 5, - "start": 0, - "end": 8, - "root": "XcnaeacGWamtVZy3Ad7ZoqudgjqtL0lgz+Nw7/RgQyg=", - "leafHash": "QnGia+DYqE8L1UyMMC58s6O10fpngKQLzOKHNHfatlg=", - "proof": [ - "vBoGQ7EuTS18d5GPROD095qDi2z57FtcKD4fTYhZnms=", - "woVOoSjtBQtBs1/8G4e46yveRh6eO1WW7Oa51ZdaCuA=", - "037kGJdt2VdTwcc4Yrk5j6Kiz5tP8P3+izDNlSCWFLc=" - ], - "desc": "modified proof[1] bit @3", - "wantErr": true -} \ No newline at end of file diff --git a/testdata/subtreeinclusion/2/modified-proof[2]-bit-@3-subtree.json b/testdata/subtreeinclusion/2/modified-proof[2]-bit-@3-subtree.json deleted file mode 100644 index a03899ac..00000000 --- a/testdata/subtreeinclusion/2/modified-proof[2]-bit-@3-subtree.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "leafIdx": 13, - "start": 8, - "end": 16, - "root": "XcnaeacGWamtVZy3Ad7ZoqudgjqtL0lgz+Nw7/RgQyg=", - "leafHash": "QnGia+DYqE8L1UyMMC58s6O10fpngKQLzOKHNHfatlg=", - "proof": [ - "vBoGQ7EuTS18d5GPROD095qDi2z57FtcKD4fTYhZnms=", - "yoVOoSjtBQtBs1/8G4e46yveRh6eO1WW7Oa51ZdaCuA=", - "237kGJdt2VdTwcc4Yrk5j6Kiz5tP8P3+izDNlSCWFLc=" - ], - "desc": "modified proof[2] bit @3 - subtree", - "wantErr": true -} \ No newline at end of file diff --git a/testdata/subtreeinclusion/2/modified-proof[2]-bit-@3.json b/testdata/subtreeinclusion/2/modified-proof[2]-bit-@3.json deleted file mode 100644 index 723bfa69..00000000 --- a/testdata/subtreeinclusion/2/modified-proof[2]-bit-@3.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "leafIdx": 5, - "start": 0, - "end": 8, - "root": "XcnaeacGWamtVZy3Ad7ZoqudgjqtL0lgz+Nw7/RgQyg=", - "leafHash": "QnGia+DYqE8L1UyMMC58s6O10fpngKQLzOKHNHfatlg=", - "proof": [ - "vBoGQ7EuTS18d5GPROD095qDi2z57FtcKD4fTYhZnms=", - "yoVOoSjtBQtBs1/8G4e46yveRh6eO1WW7Oa51ZdaCuA=", - "237kGJdt2VdTwcc4Yrk5j6Kiz5tP8P3+izDNlSCWFLc=" - ], - "desc": "modified proof[2] bit @3", - "wantErr": true -} \ No newline at end of file diff --git a/testdata/subtreeinclusion/2/preceding-garbage-subtree.json b/testdata/subtreeinclusion/2/preceding-garbage-subtree.json deleted file mode 100644 index 149ff24e..00000000 --- a/testdata/subtreeinclusion/2/preceding-garbage-subtree.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "leafIdx": 13, - "start": 8, - "end": 16, - "root": "XcnaeacGWamtVZy3Ad7ZoqudgjqtL0lgz+Nw7/RgQyg=", - "leafHash": "QnGia+DYqE8L1UyMMC58s6O10fpngKQLzOKHNHfatlg=", - "proof": [ - "", - "vBoGQ7EuTS18d5GPROD095qDi2z57FtcKD4fTYhZnms=", - "yoVOoSjtBQtBs1/8G4e46yveRh6eO1WW7Oa51ZdaCuA=", - "037kGJdt2VdTwcc4Yrk5j6Kiz5tP8P3+izDNlSCWFLc=" - ], - "desc": "preceding garbage - subtree", - "wantErr": true -} \ No newline at end of file diff --git a/testdata/subtreeinclusion/2/preceding-garbage.json b/testdata/subtreeinclusion/2/preceding-garbage.json deleted file mode 100644 index 98fe8353..00000000 --- a/testdata/subtreeinclusion/2/preceding-garbage.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "leafIdx": 5, - "start": 0, - "end": 8, - "root": "XcnaeacGWamtVZy3Ad7ZoqudgjqtL0lgz+Nw7/RgQyg=", - "leafHash": "QnGia+DYqE8L1UyMMC58s6O10fpngKQLzOKHNHfatlg=", - "proof": [ - "", - "vBoGQ7EuTS18d5GPROD095qDi2z57FtcKD4fTYhZnms=", - "yoVOoSjtBQtBs1/8G4e46yveRh6eO1WW7Oa51ZdaCuA=", - "037kGJdt2VdTwcc4Yrk5j6Kiz5tP8P3+izDNlSCWFLc=" - ], - "desc": "preceding garbage", - "wantErr": true -} \ No newline at end of file diff --git a/testdata/subtreeinclusion/2/preceding-root-subtree.json b/testdata/subtreeinclusion/2/preceding-root-subtree.json deleted file mode 100644 index 0c9886b9..00000000 --- a/testdata/subtreeinclusion/2/preceding-root-subtree.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "leafIdx": 13, - "start": 8, - "end": 16, - "root": "XcnaeacGWamtVZy3Ad7ZoqudgjqtL0lgz+Nw7/RgQyg=", - "leafHash": "QnGia+DYqE8L1UyMMC58s6O10fpngKQLzOKHNHfatlg=", - "proof": [ - "XcnaeacGWamtVZy3Ad7ZoqudgjqtL0lgz+Nw7/RgQyg=", - "vBoGQ7EuTS18d5GPROD095qDi2z57FtcKD4fTYhZnms=", - "yoVOoSjtBQtBs1/8G4e46yveRh6eO1WW7Oa51ZdaCuA=", - "037kGJdt2VdTwcc4Yrk5j6Kiz5tP8P3+izDNlSCWFLc=" - ], - "desc": "preceding root - subtree", - "wantErr": true -} \ No newline at end of file diff --git a/testdata/subtreeinclusion/2/preceding-root.json b/testdata/subtreeinclusion/2/preceding-root.json deleted file mode 100644 index a42f3c3c..00000000 --- a/testdata/subtreeinclusion/2/preceding-root.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "leafIdx": 5, - "start": 0, - "end": 8, - "root": "XcnaeacGWamtVZy3Ad7ZoqudgjqtL0lgz+Nw7/RgQyg=", - "leafHash": "QnGia+DYqE8L1UyMMC58s6O10fpngKQLzOKHNHfatlg=", - "proof": [ - "XcnaeacGWamtVZy3Ad7ZoqudgjqtL0lgz+Nw7/RgQyg=", - "vBoGQ7EuTS18d5GPROD095qDi2z57FtcKD4fTYhZnms=", - "yoVOoSjtBQtBs1/8G4e46yveRh6eO1WW7Oa51ZdaCuA=", - "037kGJdt2VdTwcc4Yrk5j6Kiz5tP8P3+izDNlSCWFLc=" - ], - "desc": "preceding root", - "wantErr": true -} \ No newline at end of file diff --git a/testdata/subtreeinclusion/2/random-root-subtree.json b/testdata/subtreeinclusion/2/random-root-subtree.json deleted file mode 100644 index 3eae4774..00000000 --- a/testdata/subtreeinclusion/2/random-root-subtree.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "leafIdx": 13, - "start": 8, - "end": 16, - "root": "q6yroAAAAAAAAAAAAAAAAAAAAAAAAAAAAGAGHgASNFY=", - "leafHash": "QnGia+DYqE8L1UyMMC58s6O10fpngKQLzOKHNHfatlg=", - "proof": [ - "vBoGQ7EuTS18d5GPROD095qDi2z57FtcKD4fTYhZnms=", - "yoVOoSjtBQtBs1/8G4e46yveRh6eO1WW7Oa51ZdaCuA=", - "037kGJdt2VdTwcc4Yrk5j6Kiz5tP8P3+izDNlSCWFLc=" - ], - "desc": "random root - subtree", - "wantErr": true -} \ No newline at end of file diff --git a/testdata/subtreeinclusion/2/random-root.json b/testdata/subtreeinclusion/2/random-root.json deleted file mode 100644 index 45ce0b76..00000000 --- a/testdata/subtreeinclusion/2/random-root.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "leafIdx": 5, - "start": 0, - "end": 8, - "root": "q6yroAAAAAAAAAAAAAAAAAAAAAAAAAAAAGAGHgASNFY=", - "leafHash": "QnGia+DYqE8L1UyMMC58s6O10fpngKQLzOKHNHfatlg=", - "proof": [ - "vBoGQ7EuTS18d5GPROD095qDi2z57FtcKD4fTYhZnms=", - "yoVOoSjtBQtBs1/8G4e46yveRh6eO1WW7Oa51ZdaCuA=", - "037kGJdt2VdTwcc4Yrk5j6Kiz5tP8P3+izDNlSCWFLc=" - ], - "desc": "random root", - "wantErr": true -} \ No newline at end of file diff --git a/testdata/subtreeinclusion/2/removed-component-subtree.json b/testdata/subtreeinclusion/2/removed-component-subtree.json deleted file mode 100644 index 44a64484..00000000 --- a/testdata/subtreeinclusion/2/removed-component-subtree.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "leafIdx": 13, - "start": 8, - "end": 16, - "root": "XcnaeacGWamtVZy3Ad7ZoqudgjqtL0lgz+Nw7/RgQyg=", - "leafHash": "QnGia+DYqE8L1UyMMC58s6O10fpngKQLzOKHNHfatlg=", - "proof": [ - "vBoGQ7EuTS18d5GPROD095qDi2z57FtcKD4fTYhZnms=", - "yoVOoSjtBQtBs1/8G4e46yveRh6eO1WW7Oa51ZdaCuA=" - ], - "desc": "removed component - subtree", - "wantErr": true -} \ No newline at end of file diff --git a/testdata/subtreeinclusion/2/removed-component.json b/testdata/subtreeinclusion/2/removed-component.json deleted file mode 100644 index d64222c1..00000000 --- a/testdata/subtreeinclusion/2/removed-component.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "leafIdx": 5, - "start": 0, - "end": 8, - "root": "XcnaeacGWamtVZy3Ad7ZoqudgjqtL0lgz+Nw7/RgQyg=", - "leafHash": "QnGia+DYqE8L1UyMMC58s6O10fpngKQLzOKHNHfatlg=", - "proof": [ - "vBoGQ7EuTS18d5GPROD095qDi2z57FtcKD4fTYhZnms=", - "yoVOoSjtBQtBs1/8G4e46yveRh6eO1WW7Oa51ZdaCuA=" - ], - "desc": "removed component", - "wantErr": true -} \ No newline at end of file diff --git a/testdata/subtreeinclusion/2/trailing-garbage-subtree.json b/testdata/subtreeinclusion/2/trailing-garbage-subtree.json deleted file mode 100644 index a785e629..00000000 --- a/testdata/subtreeinclusion/2/trailing-garbage-subtree.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "leafIdx": 13, - "start": 8, - "end": 16, - "root": "XcnaeacGWamtVZy3Ad7ZoqudgjqtL0lgz+Nw7/RgQyg=", - "leafHash": "QnGia+DYqE8L1UyMMC58s6O10fpngKQLzOKHNHfatlg=", - "proof": [ - "vBoGQ7EuTS18d5GPROD095qDi2z57FtcKD4fTYhZnms=", - "yoVOoSjtBQtBs1/8G4e46yveRh6eO1WW7Oa51ZdaCuA=", - "037kGJdt2VdTwcc4Yrk5j6Kiz5tP8P3+izDNlSCWFLc=", - "" - ], - "desc": "trailing garbage - subtree", - "wantErr": true -} \ No newline at end of file diff --git a/testdata/subtreeinclusion/2/trailing-garbage.json b/testdata/subtreeinclusion/2/trailing-garbage.json deleted file mode 100644 index 77980d03..00000000 --- a/testdata/subtreeinclusion/2/trailing-garbage.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "leafIdx": 5, - "start": 0, - "end": 8, - "root": "XcnaeacGWamtVZy3Ad7ZoqudgjqtL0lgz+Nw7/RgQyg=", - "leafHash": "QnGia+DYqE8L1UyMMC58s6O10fpngKQLzOKHNHfatlg=", - "proof": [ - "vBoGQ7EuTS18d5GPROD095qDi2z57FtcKD4fTYhZnms=", - "yoVOoSjtBQtBs1/8G4e46yveRh6eO1WW7Oa51ZdaCuA=", - "037kGJdt2VdTwcc4Yrk5j6Kiz5tP8P3+izDNlSCWFLc=", - "" - ], - "desc": "trailing garbage", - "wantErr": true -} \ No newline at end of file diff --git a/testdata/subtreeinclusion/2/trailing-root-subtree.json b/testdata/subtreeinclusion/2/trailing-root-subtree.json deleted file mode 100644 index 22882797..00000000 --- a/testdata/subtreeinclusion/2/trailing-root-subtree.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "leafIdx": 13, - "start": 8, - "end": 16, - "root": "XcnaeacGWamtVZy3Ad7ZoqudgjqtL0lgz+Nw7/RgQyg=", - "leafHash": "QnGia+DYqE8L1UyMMC58s6O10fpngKQLzOKHNHfatlg=", - "proof": [ - "vBoGQ7EuTS18d5GPROD095qDi2z57FtcKD4fTYhZnms=", - "yoVOoSjtBQtBs1/8G4e46yveRh6eO1WW7Oa51ZdaCuA=", - "037kGJdt2VdTwcc4Yrk5j6Kiz5tP8P3+izDNlSCWFLc=", - "XcnaeacGWamtVZy3Ad7ZoqudgjqtL0lgz+Nw7/RgQyg=" - ], - "desc": "trailing root - subtree", - "wantErr": true -} \ No newline at end of file diff --git a/testdata/subtreeinclusion/2/trailing-root.json b/testdata/subtreeinclusion/2/trailing-root.json deleted file mode 100644 index 2933dae5..00000000 --- a/testdata/subtreeinclusion/2/trailing-root.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "leafIdx": 5, - "start": 0, - "end": 8, - "root": "XcnaeacGWamtVZy3Ad7ZoqudgjqtL0lgz+Nw7/RgQyg=", - "leafHash": "QnGia+DYqE8L1UyMMC58s6O10fpngKQLzOKHNHfatlg=", - "proof": [ - "vBoGQ7EuTS18d5GPROD095qDi2z57FtcKD4fTYhZnms=", - "yoVOoSjtBQtBs1/8G4e46yveRh6eO1WW7Oa51ZdaCuA=", - "037kGJdt2VdTwcc4Yrk5j6Kiz5tP8P3+izDNlSCWFLc=", - "XcnaeacGWamtVZy3Ad7ZoqudgjqtL0lgz+Nw7/RgQyg=" - ], - "desc": "trailing root", - "wantErr": true -} \ No newline at end of file diff --git a/testdata/subtreeinclusion/2/treeSize-div-@2-subtree.json b/testdata/subtreeinclusion/2/treeSize-div-@2-subtree.json deleted file mode 100644 index 8c2b439e..00000000 --- a/testdata/subtreeinclusion/2/treeSize-div-@2-subtree.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "leafIdx": 9, - "start": 4, - "end": 8, - "root": "XcnaeacGWamtVZy3Ad7ZoqudgjqtL0lgz+Nw7/RgQyg=", - "leafHash": "QnGia+DYqE8L1UyMMC58s6O10fpngKQLzOKHNHfatlg=", - "proof": [ - "vBoGQ7EuTS18d5GPROD095qDi2z57FtcKD4fTYhZnms=", - "yoVOoSjtBQtBs1/8G4e46yveRh6eO1WW7Oa51ZdaCuA=", - "037kGJdt2VdTwcc4Yrk5j6Kiz5tP8P3+izDNlSCWFLc=" - ], - "desc": "treeSize div @2 - subtree", - "wantErr": true -} \ No newline at end of file diff --git a/testdata/subtreeinclusion/2/treeSize-div-@2.json b/testdata/subtreeinclusion/2/treeSize-div-@2.json deleted file mode 100644 index ae14c758..00000000 --- a/testdata/subtreeinclusion/2/treeSize-div-@2.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "leafIdx": 5, - "start": 0, - "end": 4, - "root": "XcnaeacGWamtVZy3Ad7ZoqudgjqtL0lgz+Nw7/RgQyg=", - "leafHash": "QnGia+DYqE8L1UyMMC58s6O10fpngKQLzOKHNHfatlg=", - "proof": [ - "vBoGQ7EuTS18d5GPROD095qDi2z57FtcKD4fTYhZnms=", - "yoVOoSjtBQtBs1/8G4e46yveRh6eO1WW7Oa51ZdaCuA=", - "037kGJdt2VdTwcc4Yrk5j6Kiz5tP8P3+izDNlSCWFLc=" - ], - "desc": "treeSize div @2", - "wantErr": true -} \ No newline at end of file diff --git a/testdata/subtreeinclusion/2/treeSize-mul-@2-subtree.json b/testdata/subtreeinclusion/2/treeSize-mul-@2-subtree.json deleted file mode 100644 index 8be8c03b..00000000 --- a/testdata/subtreeinclusion/2/treeSize-mul-@2-subtree.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "leafIdx": 21, - "start": 16, - "end": 32, - "root": "XcnaeacGWamtVZy3Ad7ZoqudgjqtL0lgz+Nw7/RgQyg=", - "leafHash": "QnGia+DYqE8L1UyMMC58s6O10fpngKQLzOKHNHfatlg=", - "proof": [ - "vBoGQ7EuTS18d5GPROD095qDi2z57FtcKD4fTYhZnms=", - "yoVOoSjtBQtBs1/8G4e46yveRh6eO1WW7Oa51ZdaCuA=", - "037kGJdt2VdTwcc4Yrk5j6Kiz5tP8P3+izDNlSCWFLc=" - ], - "desc": "treeSize mul @2 - subtree", - "wantErr": true -} \ No newline at end of file diff --git a/testdata/subtreeinclusion/2/treeSize-mul-@2.json b/testdata/subtreeinclusion/2/treeSize-mul-@2.json deleted file mode 100644 index b978f9b5..00000000 --- a/testdata/subtreeinclusion/2/treeSize-mul-@2.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "leafIdx": 5, - "start": 0, - "end": 16, - "root": "XcnaeacGWamtVZy3Ad7ZoqudgjqtL0lgz+Nw7/RgQyg=", - "leafHash": "QnGia+DYqE8L1UyMMC58s6O10fpngKQLzOKHNHfatlg=", - "proof": [ - "vBoGQ7EuTS18d5GPROD095qDi2z57FtcKD4fTYhZnms=", - "yoVOoSjtBQtBs1/8G4e46yveRh6eO1WW7Oa51ZdaCuA=", - "037kGJdt2VdTwcc4Yrk5j6Kiz5tP8P3+izDNlSCWFLc=" - ], - "desc": "treeSize mul @2", - "wantErr": true -} \ No newline at end of file diff --git a/testdata/subtreeinclusion/2/wrong-leaf-subtree.json b/testdata/subtreeinclusion/2/wrong-leaf-subtree.json deleted file mode 100644 index 25563519..00000000 --- a/testdata/subtreeinclusion/2/wrong-leaf-subtree.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "leafIdx": 13, - "start": 8, - "end": 16, - "root": "XcnaeacGWamtVZy3Ad7ZoqudgjqtL0lgz+Nw7/RgQyg=", - "leafHash": "V3JvbmdMZWFm", - "proof": [ - "vBoGQ7EuTS18d5GPROD095qDi2z57FtcKD4fTYhZnms=", - "yoVOoSjtBQtBs1/8G4e46yveRh6eO1WW7Oa51ZdaCuA=", - "037kGJdt2VdTwcc4Yrk5j6Kiz5tP8P3+izDNlSCWFLc=" - ], - "desc": "wrong leaf - subtree", - "wantErr": true -} \ No newline at end of file diff --git a/testdata/subtreeinclusion/2/wrong-leaf.json b/testdata/subtreeinclusion/2/wrong-leaf.json deleted file mode 100644 index e1df8d91..00000000 --- a/testdata/subtreeinclusion/2/wrong-leaf.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "leafIdx": 5, - "start": 0, - "end": 8, - "root": "XcnaeacGWamtVZy3Ad7ZoqudgjqtL0lgz+Nw7/RgQyg=", - "leafHash": "V3JvbmdMZWFm", - "proof": [ - "vBoGQ7EuTS18d5GPROD095qDi2z57FtcKD4fTYhZnms=", - "yoVOoSjtBQtBs1/8G4e46yveRh6eO1WW7Oa51ZdaCuA=", - "037kGJdt2VdTwcc4Yrk5j6Kiz5tP8P3+izDNlSCWFLc=" - ], - "desc": "wrong leaf", - "wantErr": true -} \ No newline at end of file diff --git a/testdata/subtreeinclusion/3/empty-root-subtree.json b/testdata/subtreeinclusion/3/empty-root-subtree.json deleted file mode 100644 index b093a746..00000000 --- a/testdata/subtreeinclusion/3/empty-root-subtree.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "leafIdx": 6, - "start": 4, - "end": 7, - "root": "47DEQpj8HBSa+/TImW+5JCeuQeRkm5NMpJWZG3hSuFU=", - "leafHash": "ApjRIpBtz8EIkstTpzmS/FufST6kybrbJ7eRtBJ6f+c=", - "proof": [ - "+sVCA+fMaWzw38tCySodnbr3CtnmIfS9jZhmLwDjwSU=" - ], - "desc": "empty root - subtree", - "wantErr": true -} \ No newline at end of file diff --git a/testdata/subtreeinclusion/3/empty-root.json b/testdata/subtreeinclusion/3/empty-root.json deleted file mode 100644 index 39f3371f..00000000 --- a/testdata/subtreeinclusion/3/empty-root.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "leafIdx": 2, - "start": 0, - "end": 3, - "root": "47DEQpj8HBSa+/TImW+5JCeuQeRkm5NMpJWZG3hSuFU=", - "leafHash": "ApjRIpBtz8EIkstTpzmS/FufST6kybrbJ7eRtBJ6f+c=", - "proof": [ - "+sVCA+fMaWzw38tCySodnbr3CtnmIfS9jZhmLwDjwSU=" - ], - "desc": "empty root", - "wantErr": true -} \ No newline at end of file diff --git a/testdata/subtreeinclusion/3/happy-path-subtree.json b/testdata/subtreeinclusion/3/happy-path-subtree.json deleted file mode 100644 index c333c22a..00000000 --- a/testdata/subtreeinclusion/3/happy-path-subtree.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "leafIdx": 6, - "start": 4, - "end": 7, - "root": "rra8/idLcKFPsGel5VeCZNsPqbUa9eC6FZFY8yngbnc=", - "leafHash": "ApjRIpBtz8EIkstTpzmS/FufST6kybrbJ7eRtBJ6f+c=", - "proof": [ - "+sVCA+fMaWzw38tCySodnbr3CtnmIfS9jZhmLwDjwSU=" - ], - "desc": "happy path - subtree", - "wantErr": false -} \ No newline at end of file diff --git a/testdata/subtreeinclusion/3/happy-path.json b/testdata/subtreeinclusion/3/happy-path.json deleted file mode 100644 index 4fbef627..00000000 --- a/testdata/subtreeinclusion/3/happy-path.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "leafIdx": 2, - "start": 0, - "end": 3, - "root": "rra8/idLcKFPsGel5VeCZNsPqbUa9eC6FZFY8yngbnc=", - "leafHash": "ApjRIpBtz8EIkstTpzmS/FufST6kybrbJ7eRtBJ6f+c=", - "proof": [ - "+sVCA+fMaWzw38tCySodnbr3CtnmIfS9jZhmLwDjwSU=" - ], - "desc": "happy path", - "wantErr": false -} \ No newline at end of file diff --git a/testdata/subtreeinclusion/3/leafIdx-XOR-@2-subtree.json b/testdata/subtreeinclusion/3/leafIdx-XOR-@2-subtree.json deleted file mode 100644 index d5849601..00000000 --- a/testdata/subtreeinclusion/3/leafIdx-XOR-@2-subtree.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "leafIdx": 4, - "start": 4, - "end": 7, - "root": "rra8/idLcKFPsGel5VeCZNsPqbUa9eC6FZFY8yngbnc=", - "leafHash": "ApjRIpBtz8EIkstTpzmS/FufST6kybrbJ7eRtBJ6f+c=", - "proof": [ - "+sVCA+fMaWzw38tCySodnbr3CtnmIfS9jZhmLwDjwSU=" - ], - "desc": "leafIdx XOR @2 - subtree", - "wantErr": true -} \ No newline at end of file diff --git a/testdata/subtreeinclusion/3/leafIdx-XOR-@2.json b/testdata/subtreeinclusion/3/leafIdx-XOR-@2.json deleted file mode 100644 index 96396f74..00000000 --- a/testdata/subtreeinclusion/3/leafIdx-XOR-@2.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "leafIdx": 0, - "start": 0, - "end": 3, - "root": "rra8/idLcKFPsGel5VeCZNsPqbUa9eC6FZFY8yngbnc=", - "leafHash": "ApjRIpBtz8EIkstTpzmS/FufST6kybrbJ7eRtBJ6f+c=", - "proof": [ - "+sVCA+fMaWzw38tCySodnbr3CtnmIfS9jZhmLwDjwSU=" - ], - "desc": "leafIdx XOR @2", - "wantErr": true -} \ No newline at end of file diff --git a/testdata/subtreeinclusion/3/leafIdx-plus-@1-subtree.json b/testdata/subtreeinclusion/3/leafIdx-plus-@1-subtree.json deleted file mode 100644 index e0dec5bf..00000000 --- a/testdata/subtreeinclusion/3/leafIdx-plus-@1-subtree.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "leafIdx": 7, - "start": 4, - "end": 7, - "root": "rra8/idLcKFPsGel5VeCZNsPqbUa9eC6FZFY8yngbnc=", - "leafHash": "ApjRIpBtz8EIkstTpzmS/FufST6kybrbJ7eRtBJ6f+c=", - "proof": [ - "+sVCA+fMaWzw38tCySodnbr3CtnmIfS9jZhmLwDjwSU=" - ], - "desc": "leafIdx plus @1 - subtree", - "wantErr": true -} \ No newline at end of file diff --git a/testdata/subtreeinclusion/3/leafIdx-plus-@1.json b/testdata/subtreeinclusion/3/leafIdx-plus-@1.json deleted file mode 100644 index 8beb0fdf..00000000 --- a/testdata/subtreeinclusion/3/leafIdx-plus-@1.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "leafIdx": 3, - "start": 0, - "end": 3, - "root": "rra8/idLcKFPsGel5VeCZNsPqbUa9eC6FZFY8yngbnc=", - "leafHash": "ApjRIpBtz8EIkstTpzmS/FufST6kybrbJ7eRtBJ6f+c=", - "proof": [ - "+sVCA+fMaWzw38tCySodnbr3CtnmIfS9jZhmLwDjwSU=" - ], - "desc": "leafIdx plus @1", - "wantErr": true -} \ No newline at end of file diff --git a/testdata/subtreeinclusion/3/leafIdx-sub-@1-subtree.json b/testdata/subtreeinclusion/3/leafIdx-sub-@1-subtree.json deleted file mode 100644 index 7a86259e..00000000 --- a/testdata/subtreeinclusion/3/leafIdx-sub-@1-subtree.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "leafIdx": 5, - "start": 4, - "end": 7, - "root": "rra8/idLcKFPsGel5VeCZNsPqbUa9eC6FZFY8yngbnc=", - "leafHash": "ApjRIpBtz8EIkstTpzmS/FufST6kybrbJ7eRtBJ6f+c=", - "proof": [ - "+sVCA+fMaWzw38tCySodnbr3CtnmIfS9jZhmLwDjwSU=" - ], - "desc": "leafIdx sub @1 - subtree", - "wantErr": true -} \ No newline at end of file diff --git a/testdata/subtreeinclusion/3/leafIdx-sub-@1.json b/testdata/subtreeinclusion/3/leafIdx-sub-@1.json deleted file mode 100644 index f594d322..00000000 --- a/testdata/subtreeinclusion/3/leafIdx-sub-@1.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "leafIdx": 1, - "start": 0, - "end": 3, - "root": "rra8/idLcKFPsGel5VeCZNsPqbUa9eC6FZFY8yngbnc=", - "leafHash": "ApjRIpBtz8EIkstTpzmS/FufST6kybrbJ7eRtBJ6f+c=", - "proof": [ - "+sVCA+fMaWzw38tCySodnbr3CtnmIfS9jZhmLwDjwSU=" - ], - "desc": "leafIdx sub @1", - "wantErr": true -} \ No newline at end of file diff --git a/testdata/subtreeinclusion/3/modified-proof[0]-bit-@3-subtree.json b/testdata/subtreeinclusion/3/modified-proof[0]-bit-@3-subtree.json deleted file mode 100644 index 4ed6f2f3..00000000 --- a/testdata/subtreeinclusion/3/modified-proof[0]-bit-@3-subtree.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "leafIdx": 6, - "start": 4, - "end": 7, - "root": "rra8/idLcKFPsGel5VeCZNsPqbUa9eC6FZFY8yngbnc=", - "leafHash": "ApjRIpBtz8EIkstTpzmS/FufST6kybrbJ7eRtBJ6f+c=", - "proof": [ - "8sVCA+fMaWzw38tCySodnbr3CtnmIfS9jZhmLwDjwSU=" - ], - "desc": "modified proof[0] bit @3 - subtree", - "wantErr": true -} \ No newline at end of file diff --git a/testdata/subtreeinclusion/3/modified-proof[0]-bit-@3.json b/testdata/subtreeinclusion/3/modified-proof[0]-bit-@3.json deleted file mode 100644 index 91de8cef..00000000 --- a/testdata/subtreeinclusion/3/modified-proof[0]-bit-@3.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "leafIdx": 2, - "start": 0, - "end": 3, - "root": "rra8/idLcKFPsGel5VeCZNsPqbUa9eC6FZFY8yngbnc=", - "leafHash": "ApjRIpBtz8EIkstTpzmS/FufST6kybrbJ7eRtBJ6f+c=", - "proof": [ - "8sVCA+fMaWzw38tCySodnbr3CtnmIfS9jZhmLwDjwSU=" - ], - "desc": "modified proof[0] bit @3", - "wantErr": true -} \ No newline at end of file diff --git a/testdata/subtreeinclusion/3/preceding-garbage-subtree.json b/testdata/subtreeinclusion/3/preceding-garbage-subtree.json deleted file mode 100644 index 4e866b33..00000000 --- a/testdata/subtreeinclusion/3/preceding-garbage-subtree.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "leafIdx": 6, - "start": 4, - "end": 7, - "root": "rra8/idLcKFPsGel5VeCZNsPqbUa9eC6FZFY8yngbnc=", - "leafHash": "ApjRIpBtz8EIkstTpzmS/FufST6kybrbJ7eRtBJ6f+c=", - "proof": [ - "", - "+sVCA+fMaWzw38tCySodnbr3CtnmIfS9jZhmLwDjwSU=" - ], - "desc": "preceding garbage - subtree", - "wantErr": true -} \ No newline at end of file diff --git a/testdata/subtreeinclusion/3/preceding-garbage.json b/testdata/subtreeinclusion/3/preceding-garbage.json deleted file mode 100644 index 81abe478..00000000 --- a/testdata/subtreeinclusion/3/preceding-garbage.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "leafIdx": 2, - "start": 0, - "end": 3, - "root": "rra8/idLcKFPsGel5VeCZNsPqbUa9eC6FZFY8yngbnc=", - "leafHash": "ApjRIpBtz8EIkstTpzmS/FufST6kybrbJ7eRtBJ6f+c=", - "proof": [ - "", - "+sVCA+fMaWzw38tCySodnbr3CtnmIfS9jZhmLwDjwSU=" - ], - "desc": "preceding garbage", - "wantErr": true -} \ No newline at end of file diff --git a/testdata/subtreeinclusion/3/preceding-root-subtree.json b/testdata/subtreeinclusion/3/preceding-root-subtree.json deleted file mode 100644 index 6d8be690..00000000 --- a/testdata/subtreeinclusion/3/preceding-root-subtree.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "leafIdx": 6, - "start": 4, - "end": 7, - "root": "rra8/idLcKFPsGel5VeCZNsPqbUa9eC6FZFY8yngbnc=", - "leafHash": "ApjRIpBtz8EIkstTpzmS/FufST6kybrbJ7eRtBJ6f+c=", - "proof": [ - "rra8/idLcKFPsGel5VeCZNsPqbUa9eC6FZFY8yngbnc=", - "+sVCA+fMaWzw38tCySodnbr3CtnmIfS9jZhmLwDjwSU=" - ], - "desc": "preceding root - subtree", - "wantErr": true -} \ No newline at end of file diff --git a/testdata/subtreeinclusion/3/preceding-root.json b/testdata/subtreeinclusion/3/preceding-root.json deleted file mode 100644 index 30abc8d1..00000000 --- a/testdata/subtreeinclusion/3/preceding-root.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "leafIdx": 2, - "start": 0, - "end": 3, - "root": "rra8/idLcKFPsGel5VeCZNsPqbUa9eC6FZFY8yngbnc=", - "leafHash": "ApjRIpBtz8EIkstTpzmS/FufST6kybrbJ7eRtBJ6f+c=", - "proof": [ - "rra8/idLcKFPsGel5VeCZNsPqbUa9eC6FZFY8yngbnc=", - "+sVCA+fMaWzw38tCySodnbr3CtnmIfS9jZhmLwDjwSU=" - ], - "desc": "preceding root", - "wantErr": true -} \ No newline at end of file diff --git a/testdata/subtreeinclusion/3/random-root-subtree.json b/testdata/subtreeinclusion/3/random-root-subtree.json deleted file mode 100644 index 2b895a32..00000000 --- a/testdata/subtreeinclusion/3/random-root-subtree.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "leafIdx": 6, - "start": 4, - "end": 7, - "root": "q6yroAAAAAAAAAAAAAAAAAAAAAAAAAAAAGAGHgASNFY=", - "leafHash": "ApjRIpBtz8EIkstTpzmS/FufST6kybrbJ7eRtBJ6f+c=", - "proof": [ - "+sVCA+fMaWzw38tCySodnbr3CtnmIfS9jZhmLwDjwSU=" - ], - "desc": "random root - subtree", - "wantErr": true -} \ No newline at end of file diff --git a/testdata/subtreeinclusion/3/random-root.json b/testdata/subtreeinclusion/3/random-root.json deleted file mode 100644 index 011d0dde..00000000 --- a/testdata/subtreeinclusion/3/random-root.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "leafIdx": 2, - "start": 0, - "end": 3, - "root": "q6yroAAAAAAAAAAAAAAAAAAAAAAAAAAAAGAGHgASNFY=", - "leafHash": "ApjRIpBtz8EIkstTpzmS/FufST6kybrbJ7eRtBJ6f+c=", - "proof": [ - "+sVCA+fMaWzw38tCySodnbr3CtnmIfS9jZhmLwDjwSU=" - ], - "desc": "random root", - "wantErr": true -} \ No newline at end of file diff --git a/testdata/subtreeinclusion/3/removed-component-subtree.json b/testdata/subtreeinclusion/3/removed-component-subtree.json deleted file mode 100644 index 20c5cc42..00000000 --- a/testdata/subtreeinclusion/3/removed-component-subtree.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "leafIdx": 6, - "start": 4, - "end": 7, - "root": "rra8/idLcKFPsGel5VeCZNsPqbUa9eC6FZFY8yngbnc=", - "leafHash": "ApjRIpBtz8EIkstTpzmS/FufST6kybrbJ7eRtBJ6f+c=", - "proof": [], - "desc": "removed component - subtree", - "wantErr": true -} \ No newline at end of file diff --git a/testdata/subtreeinclusion/3/removed-component.json b/testdata/subtreeinclusion/3/removed-component.json deleted file mode 100644 index 2f372659..00000000 --- a/testdata/subtreeinclusion/3/removed-component.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "leafIdx": 2, - "start": 0, - "end": 3, - "root": "rra8/idLcKFPsGel5VeCZNsPqbUa9eC6FZFY8yngbnc=", - "leafHash": "ApjRIpBtz8EIkstTpzmS/FufST6kybrbJ7eRtBJ6f+c=", - "proof": [], - "desc": "removed component", - "wantErr": true -} \ No newline at end of file diff --git a/testdata/subtreeinclusion/3/trailing-garbage-subtree.json b/testdata/subtreeinclusion/3/trailing-garbage-subtree.json deleted file mode 100644 index 27613e3e..00000000 --- a/testdata/subtreeinclusion/3/trailing-garbage-subtree.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "leafIdx": 6, - "start": 4, - "end": 7, - "root": "rra8/idLcKFPsGel5VeCZNsPqbUa9eC6FZFY8yngbnc=", - "leafHash": "ApjRIpBtz8EIkstTpzmS/FufST6kybrbJ7eRtBJ6f+c=", - "proof": [ - "+sVCA+fMaWzw38tCySodnbr3CtnmIfS9jZhmLwDjwSU=", - "" - ], - "desc": "trailing garbage - subtree", - "wantErr": true -} \ No newline at end of file diff --git a/testdata/subtreeinclusion/3/trailing-garbage.json b/testdata/subtreeinclusion/3/trailing-garbage.json deleted file mode 100644 index 7f8f8dff..00000000 --- a/testdata/subtreeinclusion/3/trailing-garbage.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "leafIdx": 2, - "start": 0, - "end": 3, - "root": "rra8/idLcKFPsGel5VeCZNsPqbUa9eC6FZFY8yngbnc=", - "leafHash": "ApjRIpBtz8EIkstTpzmS/FufST6kybrbJ7eRtBJ6f+c=", - "proof": [ - "+sVCA+fMaWzw38tCySodnbr3CtnmIfS9jZhmLwDjwSU=", - "" - ], - "desc": "trailing garbage", - "wantErr": true -} \ No newline at end of file diff --git a/testdata/subtreeinclusion/3/trailing-root-subtree.json b/testdata/subtreeinclusion/3/trailing-root-subtree.json deleted file mode 100644 index 14db61b9..00000000 --- a/testdata/subtreeinclusion/3/trailing-root-subtree.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "leafIdx": 6, - "start": 4, - "end": 7, - "root": "rra8/idLcKFPsGel5VeCZNsPqbUa9eC6FZFY8yngbnc=", - "leafHash": "ApjRIpBtz8EIkstTpzmS/FufST6kybrbJ7eRtBJ6f+c=", - "proof": [ - "+sVCA+fMaWzw38tCySodnbr3CtnmIfS9jZhmLwDjwSU=", - "rra8/idLcKFPsGel5VeCZNsPqbUa9eC6FZFY8yngbnc=" - ], - "desc": "trailing root - subtree", - "wantErr": true -} \ No newline at end of file diff --git a/testdata/subtreeinclusion/3/trailing-root.json b/testdata/subtreeinclusion/3/trailing-root.json deleted file mode 100644 index c307e470..00000000 --- a/testdata/subtreeinclusion/3/trailing-root.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "leafIdx": 2, - "start": 0, - "end": 3, - "root": "rra8/idLcKFPsGel5VeCZNsPqbUa9eC6FZFY8yngbnc=", - "leafHash": "ApjRIpBtz8EIkstTpzmS/FufST6kybrbJ7eRtBJ6f+c=", - "proof": [ - "+sVCA+fMaWzw38tCySodnbr3CtnmIfS9jZhmLwDjwSU=", - "rra8/idLcKFPsGel5VeCZNsPqbUa9eC6FZFY8yngbnc=" - ], - "desc": "trailing root", - "wantErr": true -} \ No newline at end of file diff --git a/testdata/subtreeinclusion/3/treeSize-div-@2-subtree.json b/testdata/subtreeinclusion/3/treeSize-div-@2-subtree.json deleted file mode 100644 index 523bb382..00000000 --- a/testdata/subtreeinclusion/3/treeSize-div-@2-subtree.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "leafIdx": 3, - "start": 1, - "end": 2, - "root": "rra8/idLcKFPsGel5VeCZNsPqbUa9eC6FZFY8yngbnc=", - "leafHash": "ApjRIpBtz8EIkstTpzmS/FufST6kybrbJ7eRtBJ6f+c=", - "proof": [ - "+sVCA+fMaWzw38tCySodnbr3CtnmIfS9jZhmLwDjwSU=" - ], - "desc": "treeSize div @2 - subtree", - "wantErr": true -} \ No newline at end of file diff --git a/testdata/subtreeinclusion/3/treeSize-div-@2.json b/testdata/subtreeinclusion/3/treeSize-div-@2.json deleted file mode 100644 index 49e67c67..00000000 --- a/testdata/subtreeinclusion/3/treeSize-div-@2.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "leafIdx": 2, - "start": 0, - "end": 1, - "root": "rra8/idLcKFPsGel5VeCZNsPqbUa9eC6FZFY8yngbnc=", - "leafHash": "ApjRIpBtz8EIkstTpzmS/FufST6kybrbJ7eRtBJ6f+c=", - "proof": [ - "+sVCA+fMaWzw38tCySodnbr3CtnmIfS9jZhmLwDjwSU=" - ], - "desc": "treeSize div @2", - "wantErr": true -} \ No newline at end of file diff --git a/testdata/subtreeinclusion/3/treeSize-mul-@2-subtree.json b/testdata/subtreeinclusion/3/treeSize-mul-@2-subtree.json deleted file mode 100644 index fa2fdf42..00000000 --- a/testdata/subtreeinclusion/3/treeSize-mul-@2-subtree.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "leafIdx": 10, - "start": 8, - "end": 14, - "root": "rra8/idLcKFPsGel5VeCZNsPqbUa9eC6FZFY8yngbnc=", - "leafHash": "ApjRIpBtz8EIkstTpzmS/FufST6kybrbJ7eRtBJ6f+c=", - "proof": [ - "+sVCA+fMaWzw38tCySodnbr3CtnmIfS9jZhmLwDjwSU=" - ], - "desc": "treeSize mul @2 - subtree", - "wantErr": true -} \ No newline at end of file diff --git a/testdata/subtreeinclusion/3/treeSize-mul-@2.json b/testdata/subtreeinclusion/3/treeSize-mul-@2.json deleted file mode 100644 index f36f368f..00000000 --- a/testdata/subtreeinclusion/3/treeSize-mul-@2.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "leafIdx": 2, - "start": 0, - "end": 6, - "root": "rra8/idLcKFPsGel5VeCZNsPqbUa9eC6FZFY8yngbnc=", - "leafHash": "ApjRIpBtz8EIkstTpzmS/FufST6kybrbJ7eRtBJ6f+c=", - "proof": [ - "+sVCA+fMaWzw38tCySodnbr3CtnmIfS9jZhmLwDjwSU=" - ], - "desc": "treeSize mul @2", - "wantErr": true -} \ No newline at end of file diff --git a/testdata/subtreeinclusion/3/wrong-leaf-subtree.json b/testdata/subtreeinclusion/3/wrong-leaf-subtree.json deleted file mode 100644 index f21df94d..00000000 --- a/testdata/subtreeinclusion/3/wrong-leaf-subtree.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "leafIdx": 6, - "start": 4, - "end": 7, - "root": "rra8/idLcKFPsGel5VeCZNsPqbUa9eC6FZFY8yngbnc=", - "leafHash": "V3JvbmdMZWFm", - "proof": [ - "+sVCA+fMaWzw38tCySodnbr3CtnmIfS9jZhmLwDjwSU=" - ], - "desc": "wrong leaf - subtree", - "wantErr": true -} \ No newline at end of file diff --git a/testdata/subtreeinclusion/3/wrong-leaf.json b/testdata/subtreeinclusion/3/wrong-leaf.json deleted file mode 100644 index cf85f5f0..00000000 --- a/testdata/subtreeinclusion/3/wrong-leaf.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "leafIdx": 2, - "start": 0, - "end": 3, - "root": "rra8/idLcKFPsGel5VeCZNsPqbUa9eC6FZFY8yngbnc=", - "leafHash": "V3JvbmdMZWFm", - "proof": [ - "+sVCA+fMaWzw38tCySodnbr3CtnmIfS9jZhmLwDjwSU=" - ], - "desc": "wrong leaf", - "wantErr": true -} \ No newline at end of file diff --git a/testdata/subtreeinclusion/4/empty-root-subtree.json b/testdata/subtreeinclusion/4/empty-root-subtree.json deleted file mode 100644 index 9a4520a1..00000000 --- a/testdata/subtreeinclusion/4/empty-root-subtree.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "leafIdx": 9, - "start": 8, - "end": 13, - "root": "47DEQpj8HBSa+/TImW+5JCeuQeRkm5NMpJWZG3hSuFU=", - "leafHash": "lqKW0iTyhcZ77pPDD4owkVfw2qNdxbh+QQt4YwoJz8c=", - "proof": [ - "bjQLnP+zepicpUTmu3gKLHiQHT+zNzh2hRGjBhevoB0=", - "Xwg/ChozygdqlSeYMlgNs+DvRYS9/x9UyKNg9Q3jAx4=", - "vBoGQ7EuTS18d5GPROD095qDi2z57FtcKD4fTYhZnms=" - ], - "desc": "empty root - subtree", - "wantErr": true -} \ No newline at end of file diff --git a/testdata/subtreeinclusion/4/empty-root.json b/testdata/subtreeinclusion/4/empty-root.json deleted file mode 100644 index d2c4c977..00000000 --- a/testdata/subtreeinclusion/4/empty-root.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "leafIdx": 1, - "start": 0, - "end": 5, - "root": "47DEQpj8HBSa+/TImW+5JCeuQeRkm5NMpJWZG3hSuFU=", - "leafHash": "lqKW0iTyhcZ77pPDD4owkVfw2qNdxbh+QQt4YwoJz8c=", - "proof": [ - "bjQLnP+zepicpUTmu3gKLHiQHT+zNzh2hRGjBhevoB0=", - "Xwg/ChozygdqlSeYMlgNs+DvRYS9/x9UyKNg9Q3jAx4=", - "vBoGQ7EuTS18d5GPROD095qDi2z57FtcKD4fTYhZnms=" - ], - "desc": "empty root", - "wantErr": true -} \ No newline at end of file diff --git a/testdata/subtreeinclusion/4/happy-path-subtree.json b/testdata/subtreeinclusion/4/happy-path-subtree.json deleted file mode 100644 index 9f07888c..00000000 --- a/testdata/subtreeinclusion/4/happy-path-subtree.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "leafIdx": 9, - "start": 8, - "end": 13, - "root": "Tju7H3tHjc/nH7YxYxUZo7yhLJrvyhYSv85ME6hiZNQ=", - "leafHash": "lqKW0iTyhcZ77pPDD4owkVfw2qNdxbh+QQt4YwoJz8c=", - "proof": [ - "bjQLnP+zepicpUTmu3gKLHiQHT+zNzh2hRGjBhevoB0=", - "Xwg/ChozygdqlSeYMlgNs+DvRYS9/x9UyKNg9Q3jAx4=", - "vBoGQ7EuTS18d5GPROD095qDi2z57FtcKD4fTYhZnms=" - ], - "desc": "happy path - subtree", - "wantErr": false -} \ No newline at end of file diff --git a/testdata/subtreeinclusion/4/happy-path.json b/testdata/subtreeinclusion/4/happy-path.json deleted file mode 100644 index 7567485e..00000000 --- a/testdata/subtreeinclusion/4/happy-path.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "leafIdx": 1, - "start": 0, - "end": 5, - "root": "Tju7H3tHjc/nH7YxYxUZo7yhLJrvyhYSv85ME6hiZNQ=", - "leafHash": "lqKW0iTyhcZ77pPDD4owkVfw2qNdxbh+QQt4YwoJz8c=", - "proof": [ - "bjQLnP+zepicpUTmu3gKLHiQHT+zNzh2hRGjBhevoB0=", - "Xwg/ChozygdqlSeYMlgNs+DvRYS9/x9UyKNg9Q3jAx4=", - "vBoGQ7EuTS18d5GPROD095qDi2z57FtcKD4fTYhZnms=" - ], - "desc": "happy path", - "wantErr": false -} \ No newline at end of file diff --git a/testdata/subtreeinclusion/4/inserted-component-subtree.json b/testdata/subtreeinclusion/4/inserted-component-subtree.json deleted file mode 100644 index e96502fa..00000000 --- a/testdata/subtreeinclusion/4/inserted-component-subtree.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "leafIdx": 9, - "start": 8, - "end": 13, - "root": "Tju7H3tHjc/nH7YxYxUZo7yhLJrvyhYSv85ME6hiZNQ=", - "leafHash": "lqKW0iTyhcZ77pPDD4owkVfw2qNdxbh+QQt4YwoJz8c=", - "proof": [ - "bjQLnP+zepicpUTmu3gKLHiQHT+zNzh2hRGjBhevoB0=", - "q6yroAAAAAAAAAAAAAAAAAAAAAAAAAAAAGAGHgASNFY=", - "Xwg/ChozygdqlSeYMlgNs+DvRYS9/x9UyKNg9Q3jAx4=", - "vBoGQ7EuTS18d5GPROD095qDi2z57FtcKD4fTYhZnms=" - ], - "desc": "inserted component - subtree", - "wantErr": true -} \ No newline at end of file diff --git a/testdata/subtreeinclusion/4/inserted-component.json b/testdata/subtreeinclusion/4/inserted-component.json deleted file mode 100644 index 2f78b4e4..00000000 --- a/testdata/subtreeinclusion/4/inserted-component.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "leafIdx": 1, - "start": 0, - "end": 5, - "root": "Tju7H3tHjc/nH7YxYxUZo7yhLJrvyhYSv85ME6hiZNQ=", - "leafHash": "lqKW0iTyhcZ77pPDD4owkVfw2qNdxbh+QQt4YwoJz8c=", - "proof": [ - "bjQLnP+zepicpUTmu3gKLHiQHT+zNzh2hRGjBhevoB0=", - "q6yroAAAAAAAAAAAAAAAAAAAAAAAAAAAAGAGHgASNFY=", - "Xwg/ChozygdqlSeYMlgNs+DvRYS9/x9UyKNg9Q3jAx4=", - "vBoGQ7EuTS18d5GPROD095qDi2z57FtcKD4fTYhZnms=" - ], - "desc": "inserted component", - "wantErr": true -} \ No newline at end of file diff --git a/testdata/subtreeinclusion/4/leafIdx-XOR-@2-subtree.json b/testdata/subtreeinclusion/4/leafIdx-XOR-@2-subtree.json deleted file mode 100644 index 2ff17104..00000000 --- a/testdata/subtreeinclusion/4/leafIdx-XOR-@2-subtree.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "leafIdx": 11, - "start": 8, - "end": 13, - "root": "Tju7H3tHjc/nH7YxYxUZo7yhLJrvyhYSv85ME6hiZNQ=", - "leafHash": "lqKW0iTyhcZ77pPDD4owkVfw2qNdxbh+QQt4YwoJz8c=", - "proof": [ - "bjQLnP+zepicpUTmu3gKLHiQHT+zNzh2hRGjBhevoB0=", - "Xwg/ChozygdqlSeYMlgNs+DvRYS9/x9UyKNg9Q3jAx4=", - "vBoGQ7EuTS18d5GPROD095qDi2z57FtcKD4fTYhZnms=" - ], - "desc": "leafIdx XOR @2 - subtree", - "wantErr": true -} \ No newline at end of file diff --git a/testdata/subtreeinclusion/4/leafIdx-XOR-@2.json b/testdata/subtreeinclusion/4/leafIdx-XOR-@2.json deleted file mode 100644 index f55b1d1b..00000000 --- a/testdata/subtreeinclusion/4/leafIdx-XOR-@2.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "leafIdx": 3, - "start": 0, - "end": 5, - "root": "Tju7H3tHjc/nH7YxYxUZo7yhLJrvyhYSv85ME6hiZNQ=", - "leafHash": "lqKW0iTyhcZ77pPDD4owkVfw2qNdxbh+QQt4YwoJz8c=", - "proof": [ - "bjQLnP+zepicpUTmu3gKLHiQHT+zNzh2hRGjBhevoB0=", - "Xwg/ChozygdqlSeYMlgNs+DvRYS9/x9UyKNg9Q3jAx4=", - "vBoGQ7EuTS18d5GPROD095qDi2z57FtcKD4fTYhZnms=" - ], - "desc": "leafIdx XOR @2", - "wantErr": true -} \ No newline at end of file diff --git a/testdata/subtreeinclusion/4/leafIdx-plus-@1-subtree.json b/testdata/subtreeinclusion/4/leafIdx-plus-@1-subtree.json deleted file mode 100644 index 2b53885f..00000000 --- a/testdata/subtreeinclusion/4/leafIdx-plus-@1-subtree.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "leafIdx": 10, - "start": 8, - "end": 13, - "root": "Tju7H3tHjc/nH7YxYxUZo7yhLJrvyhYSv85ME6hiZNQ=", - "leafHash": "lqKW0iTyhcZ77pPDD4owkVfw2qNdxbh+QQt4YwoJz8c=", - "proof": [ - "bjQLnP+zepicpUTmu3gKLHiQHT+zNzh2hRGjBhevoB0=", - "Xwg/ChozygdqlSeYMlgNs+DvRYS9/x9UyKNg9Q3jAx4=", - "vBoGQ7EuTS18d5GPROD095qDi2z57FtcKD4fTYhZnms=" - ], - "desc": "leafIdx plus @1 - subtree", - "wantErr": true -} \ No newline at end of file diff --git a/testdata/subtreeinclusion/4/leafIdx-plus-@1.json b/testdata/subtreeinclusion/4/leafIdx-plus-@1.json deleted file mode 100644 index ec646aff..00000000 --- a/testdata/subtreeinclusion/4/leafIdx-plus-@1.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "leafIdx": 2, - "start": 0, - "end": 5, - "root": "Tju7H3tHjc/nH7YxYxUZo7yhLJrvyhYSv85ME6hiZNQ=", - "leafHash": "lqKW0iTyhcZ77pPDD4owkVfw2qNdxbh+QQt4YwoJz8c=", - "proof": [ - "bjQLnP+zepicpUTmu3gKLHiQHT+zNzh2hRGjBhevoB0=", - "Xwg/ChozygdqlSeYMlgNs+DvRYS9/x9UyKNg9Q3jAx4=", - "vBoGQ7EuTS18d5GPROD095qDi2z57FtcKD4fTYhZnms=" - ], - "desc": "leafIdx plus @1", - "wantErr": true -} \ No newline at end of file diff --git a/testdata/subtreeinclusion/4/leafIdx-sub-@1-subtree.json b/testdata/subtreeinclusion/4/leafIdx-sub-@1-subtree.json deleted file mode 100644 index 5beaf821..00000000 --- a/testdata/subtreeinclusion/4/leafIdx-sub-@1-subtree.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "leafIdx": 8, - "start": 8, - "end": 13, - "root": "Tju7H3tHjc/nH7YxYxUZo7yhLJrvyhYSv85ME6hiZNQ=", - "leafHash": "lqKW0iTyhcZ77pPDD4owkVfw2qNdxbh+QQt4YwoJz8c=", - "proof": [ - "bjQLnP+zepicpUTmu3gKLHiQHT+zNzh2hRGjBhevoB0=", - "Xwg/ChozygdqlSeYMlgNs+DvRYS9/x9UyKNg9Q3jAx4=", - "vBoGQ7EuTS18d5GPROD095qDi2z57FtcKD4fTYhZnms=" - ], - "desc": "leafIdx sub @1 - subtree", - "wantErr": true -} \ No newline at end of file diff --git a/testdata/subtreeinclusion/4/leafIdx-sub-@1.json b/testdata/subtreeinclusion/4/leafIdx-sub-@1.json deleted file mode 100644 index efe0ab84..00000000 --- a/testdata/subtreeinclusion/4/leafIdx-sub-@1.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "leafIdx": 0, - "start": 0, - "end": 5, - "root": "Tju7H3tHjc/nH7YxYxUZo7yhLJrvyhYSv85ME6hiZNQ=", - "leafHash": "lqKW0iTyhcZ77pPDD4owkVfw2qNdxbh+QQt4YwoJz8c=", - "proof": [ - "bjQLnP+zepicpUTmu3gKLHiQHT+zNzh2hRGjBhevoB0=", - "Xwg/ChozygdqlSeYMlgNs+DvRYS9/x9UyKNg9Q3jAx4=", - "vBoGQ7EuTS18d5GPROD095qDi2z57FtcKD4fTYhZnms=" - ], - "desc": "leafIdx sub @1", - "wantErr": true -} \ No newline at end of file diff --git a/testdata/subtreeinclusion/4/modified-proof[0]-bit-@3-subtree.json b/testdata/subtreeinclusion/4/modified-proof[0]-bit-@3-subtree.json deleted file mode 100644 index 195c92d4..00000000 --- a/testdata/subtreeinclusion/4/modified-proof[0]-bit-@3-subtree.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "leafIdx": 9, - "start": 8, - "end": 13, - "root": "Tju7H3tHjc/nH7YxYxUZo7yhLJrvyhYSv85ME6hiZNQ=", - "leafHash": "lqKW0iTyhcZ77pPDD4owkVfw2qNdxbh+QQt4YwoJz8c=", - "proof": [ - "ZjQLnP+zepicpUTmu3gKLHiQHT+zNzh2hRGjBhevoB0=", - "Xwg/ChozygdqlSeYMlgNs+DvRYS9/x9UyKNg9Q3jAx4=", - "vBoGQ7EuTS18d5GPROD095qDi2z57FtcKD4fTYhZnms=" - ], - "desc": "modified proof[0] bit @3 - subtree", - "wantErr": true -} \ No newline at end of file diff --git a/testdata/subtreeinclusion/4/modified-proof[0]-bit-@3.json b/testdata/subtreeinclusion/4/modified-proof[0]-bit-@3.json deleted file mode 100644 index 3a29c339..00000000 --- a/testdata/subtreeinclusion/4/modified-proof[0]-bit-@3.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "leafIdx": 1, - "start": 0, - "end": 5, - "root": "Tju7H3tHjc/nH7YxYxUZo7yhLJrvyhYSv85ME6hiZNQ=", - "leafHash": "lqKW0iTyhcZ77pPDD4owkVfw2qNdxbh+QQt4YwoJz8c=", - "proof": [ - "ZjQLnP+zepicpUTmu3gKLHiQHT+zNzh2hRGjBhevoB0=", - "Xwg/ChozygdqlSeYMlgNs+DvRYS9/x9UyKNg9Q3jAx4=", - "vBoGQ7EuTS18d5GPROD095qDi2z57FtcKD4fTYhZnms=" - ], - "desc": "modified proof[0] bit @3", - "wantErr": true -} \ No newline at end of file diff --git a/testdata/subtreeinclusion/4/modified-proof[1]-bit-@3-subtree.json b/testdata/subtreeinclusion/4/modified-proof[1]-bit-@3-subtree.json deleted file mode 100644 index 6e7cedaa..00000000 --- a/testdata/subtreeinclusion/4/modified-proof[1]-bit-@3-subtree.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "leafIdx": 9, - "start": 8, - "end": 13, - "root": "Tju7H3tHjc/nH7YxYxUZo7yhLJrvyhYSv85ME6hiZNQ=", - "leafHash": "lqKW0iTyhcZ77pPDD4owkVfw2qNdxbh+QQt4YwoJz8c=", - "proof": [ - "bjQLnP+zepicpUTmu3gKLHiQHT+zNzh2hRGjBhevoB0=", - "Vwg/ChozygdqlSeYMlgNs+DvRYS9/x9UyKNg9Q3jAx4=", - "vBoGQ7EuTS18d5GPROD095qDi2z57FtcKD4fTYhZnms=" - ], - "desc": "modified proof[1] bit @3 - subtree", - "wantErr": true -} \ No newline at end of file diff --git a/testdata/subtreeinclusion/4/modified-proof[1]-bit-@3.json b/testdata/subtreeinclusion/4/modified-proof[1]-bit-@3.json deleted file mode 100644 index 50da5406..00000000 --- a/testdata/subtreeinclusion/4/modified-proof[1]-bit-@3.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "leafIdx": 1, - "start": 0, - "end": 5, - "root": "Tju7H3tHjc/nH7YxYxUZo7yhLJrvyhYSv85ME6hiZNQ=", - "leafHash": "lqKW0iTyhcZ77pPDD4owkVfw2qNdxbh+QQt4YwoJz8c=", - "proof": [ - "bjQLnP+zepicpUTmu3gKLHiQHT+zNzh2hRGjBhevoB0=", - "Vwg/ChozygdqlSeYMlgNs+DvRYS9/x9UyKNg9Q3jAx4=", - "vBoGQ7EuTS18d5GPROD095qDi2z57FtcKD4fTYhZnms=" - ], - "desc": "modified proof[1] bit @3", - "wantErr": true -} \ No newline at end of file diff --git a/testdata/subtreeinclusion/4/modified-proof[2]-bit-@3-subtree.json b/testdata/subtreeinclusion/4/modified-proof[2]-bit-@3-subtree.json deleted file mode 100644 index 29fc17aa..00000000 --- a/testdata/subtreeinclusion/4/modified-proof[2]-bit-@3-subtree.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "leafIdx": 9, - "start": 8, - "end": 13, - "root": "Tju7H3tHjc/nH7YxYxUZo7yhLJrvyhYSv85ME6hiZNQ=", - "leafHash": "lqKW0iTyhcZ77pPDD4owkVfw2qNdxbh+QQt4YwoJz8c=", - "proof": [ - "bjQLnP+zepicpUTmu3gKLHiQHT+zNzh2hRGjBhevoB0=", - "Xwg/ChozygdqlSeYMlgNs+DvRYS9/x9UyKNg9Q3jAx4=", - "tBoGQ7EuTS18d5GPROD095qDi2z57FtcKD4fTYhZnms=" - ], - "desc": "modified proof[2] bit @3 - subtree", - "wantErr": true -} \ No newline at end of file diff --git a/testdata/subtreeinclusion/4/modified-proof[2]-bit-@3.json b/testdata/subtreeinclusion/4/modified-proof[2]-bit-@3.json deleted file mode 100644 index e1b79dcc..00000000 --- a/testdata/subtreeinclusion/4/modified-proof[2]-bit-@3.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "leafIdx": 1, - "start": 0, - "end": 5, - "root": "Tju7H3tHjc/nH7YxYxUZo7yhLJrvyhYSv85ME6hiZNQ=", - "leafHash": "lqKW0iTyhcZ77pPDD4owkVfw2qNdxbh+QQt4YwoJz8c=", - "proof": [ - "bjQLnP+zepicpUTmu3gKLHiQHT+zNzh2hRGjBhevoB0=", - "Xwg/ChozygdqlSeYMlgNs+DvRYS9/x9UyKNg9Q3jAx4=", - "tBoGQ7EuTS18d5GPROD095qDi2z57FtcKD4fTYhZnms=" - ], - "desc": "modified proof[2] bit @3", - "wantErr": true -} \ No newline at end of file diff --git a/testdata/subtreeinclusion/4/preceding-garbage-subtree.json b/testdata/subtreeinclusion/4/preceding-garbage-subtree.json deleted file mode 100644 index 81381436..00000000 --- a/testdata/subtreeinclusion/4/preceding-garbage-subtree.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "leafIdx": 9, - "start": 8, - "end": 13, - "root": "Tju7H3tHjc/nH7YxYxUZo7yhLJrvyhYSv85ME6hiZNQ=", - "leafHash": "lqKW0iTyhcZ77pPDD4owkVfw2qNdxbh+QQt4YwoJz8c=", - "proof": [ - "", - "bjQLnP+zepicpUTmu3gKLHiQHT+zNzh2hRGjBhevoB0=", - "Xwg/ChozygdqlSeYMlgNs+DvRYS9/x9UyKNg9Q3jAx4=", - "vBoGQ7EuTS18d5GPROD095qDi2z57FtcKD4fTYhZnms=" - ], - "desc": "preceding garbage - subtree", - "wantErr": true -} \ No newline at end of file diff --git a/testdata/subtreeinclusion/4/preceding-garbage.json b/testdata/subtreeinclusion/4/preceding-garbage.json deleted file mode 100644 index c3a1342d..00000000 --- a/testdata/subtreeinclusion/4/preceding-garbage.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "leafIdx": 1, - "start": 0, - "end": 5, - "root": "Tju7H3tHjc/nH7YxYxUZo7yhLJrvyhYSv85ME6hiZNQ=", - "leafHash": "lqKW0iTyhcZ77pPDD4owkVfw2qNdxbh+QQt4YwoJz8c=", - "proof": [ - "", - "bjQLnP+zepicpUTmu3gKLHiQHT+zNzh2hRGjBhevoB0=", - "Xwg/ChozygdqlSeYMlgNs+DvRYS9/x9UyKNg9Q3jAx4=", - "vBoGQ7EuTS18d5GPROD095qDi2z57FtcKD4fTYhZnms=" - ], - "desc": "preceding garbage", - "wantErr": true -} \ No newline at end of file diff --git a/testdata/subtreeinclusion/4/preceding-root-subtree.json b/testdata/subtreeinclusion/4/preceding-root-subtree.json deleted file mode 100644 index 49b5d94c..00000000 --- a/testdata/subtreeinclusion/4/preceding-root-subtree.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "leafIdx": 9, - "start": 8, - "end": 13, - "root": "Tju7H3tHjc/nH7YxYxUZo7yhLJrvyhYSv85ME6hiZNQ=", - "leafHash": "lqKW0iTyhcZ77pPDD4owkVfw2qNdxbh+QQt4YwoJz8c=", - "proof": [ - "Tju7H3tHjc/nH7YxYxUZo7yhLJrvyhYSv85ME6hiZNQ=", - "bjQLnP+zepicpUTmu3gKLHiQHT+zNzh2hRGjBhevoB0=", - "Xwg/ChozygdqlSeYMlgNs+DvRYS9/x9UyKNg9Q3jAx4=", - "vBoGQ7EuTS18d5GPROD095qDi2z57FtcKD4fTYhZnms=" - ], - "desc": "preceding root - subtree", - "wantErr": true -} \ No newline at end of file diff --git a/testdata/subtreeinclusion/4/preceding-root.json b/testdata/subtreeinclusion/4/preceding-root.json deleted file mode 100644 index 98a407c9..00000000 --- a/testdata/subtreeinclusion/4/preceding-root.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "leafIdx": 1, - "start": 0, - "end": 5, - "root": "Tju7H3tHjc/nH7YxYxUZo7yhLJrvyhYSv85ME6hiZNQ=", - "leafHash": "lqKW0iTyhcZ77pPDD4owkVfw2qNdxbh+QQt4YwoJz8c=", - "proof": [ - "Tju7H3tHjc/nH7YxYxUZo7yhLJrvyhYSv85ME6hiZNQ=", - "bjQLnP+zepicpUTmu3gKLHiQHT+zNzh2hRGjBhevoB0=", - "Xwg/ChozygdqlSeYMlgNs+DvRYS9/x9UyKNg9Q3jAx4=", - "vBoGQ7EuTS18d5GPROD095qDi2z57FtcKD4fTYhZnms=" - ], - "desc": "preceding root", - "wantErr": true -} \ No newline at end of file diff --git a/testdata/subtreeinclusion/4/random-root-subtree.json b/testdata/subtreeinclusion/4/random-root-subtree.json deleted file mode 100644 index 071f0d51..00000000 --- a/testdata/subtreeinclusion/4/random-root-subtree.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "leafIdx": 9, - "start": 8, - "end": 13, - "root": "q6yroAAAAAAAAAAAAAAAAAAAAAAAAAAAAGAGHgASNFY=", - "leafHash": "lqKW0iTyhcZ77pPDD4owkVfw2qNdxbh+QQt4YwoJz8c=", - "proof": [ - "bjQLnP+zepicpUTmu3gKLHiQHT+zNzh2hRGjBhevoB0=", - "Xwg/ChozygdqlSeYMlgNs+DvRYS9/x9UyKNg9Q3jAx4=", - "vBoGQ7EuTS18d5GPROD095qDi2z57FtcKD4fTYhZnms=" - ], - "desc": "random root - subtree", - "wantErr": true -} \ No newline at end of file diff --git a/testdata/subtreeinclusion/4/random-root.json b/testdata/subtreeinclusion/4/random-root.json deleted file mode 100644 index 6d487666..00000000 --- a/testdata/subtreeinclusion/4/random-root.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "leafIdx": 1, - "start": 0, - "end": 5, - "root": "q6yroAAAAAAAAAAAAAAAAAAAAAAAAAAAAGAGHgASNFY=", - "leafHash": "lqKW0iTyhcZ77pPDD4owkVfw2qNdxbh+QQt4YwoJz8c=", - "proof": [ - "bjQLnP+zepicpUTmu3gKLHiQHT+zNzh2hRGjBhevoB0=", - "Xwg/ChozygdqlSeYMlgNs+DvRYS9/x9UyKNg9Q3jAx4=", - "vBoGQ7EuTS18d5GPROD095qDi2z57FtcKD4fTYhZnms=" - ], - "desc": "random root", - "wantErr": true -} \ No newline at end of file diff --git a/testdata/subtreeinclusion/4/removed-component-subtree.json b/testdata/subtreeinclusion/4/removed-component-subtree.json deleted file mode 100644 index 6717f098..00000000 --- a/testdata/subtreeinclusion/4/removed-component-subtree.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "leafIdx": 9, - "start": 8, - "end": 13, - "root": "Tju7H3tHjc/nH7YxYxUZo7yhLJrvyhYSv85ME6hiZNQ=", - "leafHash": "lqKW0iTyhcZ77pPDD4owkVfw2qNdxbh+QQt4YwoJz8c=", - "proof": [ - "bjQLnP+zepicpUTmu3gKLHiQHT+zNzh2hRGjBhevoB0=", - "Xwg/ChozygdqlSeYMlgNs+DvRYS9/x9UyKNg9Q3jAx4=" - ], - "desc": "removed component - subtree", - "wantErr": true -} \ No newline at end of file diff --git a/testdata/subtreeinclusion/4/removed-component.json b/testdata/subtreeinclusion/4/removed-component.json deleted file mode 100644 index 04b2f6a3..00000000 --- a/testdata/subtreeinclusion/4/removed-component.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "leafIdx": 1, - "start": 0, - "end": 5, - "root": "Tju7H3tHjc/nH7YxYxUZo7yhLJrvyhYSv85ME6hiZNQ=", - "leafHash": "lqKW0iTyhcZ77pPDD4owkVfw2qNdxbh+QQt4YwoJz8c=", - "proof": [ - "bjQLnP+zepicpUTmu3gKLHiQHT+zNzh2hRGjBhevoB0=", - "Xwg/ChozygdqlSeYMlgNs+DvRYS9/x9UyKNg9Q3jAx4=" - ], - "desc": "removed component", - "wantErr": true -} \ No newline at end of file diff --git a/testdata/subtreeinclusion/4/trailing-garbage-subtree.json b/testdata/subtreeinclusion/4/trailing-garbage-subtree.json deleted file mode 100644 index 02f715b1..00000000 --- a/testdata/subtreeinclusion/4/trailing-garbage-subtree.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "leafIdx": 9, - "start": 8, - "end": 13, - "root": "Tju7H3tHjc/nH7YxYxUZo7yhLJrvyhYSv85ME6hiZNQ=", - "leafHash": "lqKW0iTyhcZ77pPDD4owkVfw2qNdxbh+QQt4YwoJz8c=", - "proof": [ - "bjQLnP+zepicpUTmu3gKLHiQHT+zNzh2hRGjBhevoB0=", - "Xwg/ChozygdqlSeYMlgNs+DvRYS9/x9UyKNg9Q3jAx4=", - "vBoGQ7EuTS18d5GPROD095qDi2z57FtcKD4fTYhZnms=", - "" - ], - "desc": "trailing garbage - subtree", - "wantErr": true -} \ No newline at end of file diff --git a/testdata/subtreeinclusion/4/trailing-garbage.json b/testdata/subtreeinclusion/4/trailing-garbage.json deleted file mode 100644 index 71d6e30d..00000000 --- a/testdata/subtreeinclusion/4/trailing-garbage.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "leafIdx": 1, - "start": 0, - "end": 5, - "root": "Tju7H3tHjc/nH7YxYxUZo7yhLJrvyhYSv85ME6hiZNQ=", - "leafHash": "lqKW0iTyhcZ77pPDD4owkVfw2qNdxbh+QQt4YwoJz8c=", - "proof": [ - "bjQLnP+zepicpUTmu3gKLHiQHT+zNzh2hRGjBhevoB0=", - "Xwg/ChozygdqlSeYMlgNs+DvRYS9/x9UyKNg9Q3jAx4=", - "vBoGQ7EuTS18d5GPROD095qDi2z57FtcKD4fTYhZnms=", - "" - ], - "desc": "trailing garbage", - "wantErr": true -} \ No newline at end of file diff --git a/testdata/subtreeinclusion/4/trailing-root-subtree.json b/testdata/subtreeinclusion/4/trailing-root-subtree.json deleted file mode 100644 index 3a8f32e3..00000000 --- a/testdata/subtreeinclusion/4/trailing-root-subtree.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "leafIdx": 9, - "start": 8, - "end": 13, - "root": "Tju7H3tHjc/nH7YxYxUZo7yhLJrvyhYSv85ME6hiZNQ=", - "leafHash": "lqKW0iTyhcZ77pPDD4owkVfw2qNdxbh+QQt4YwoJz8c=", - "proof": [ - "bjQLnP+zepicpUTmu3gKLHiQHT+zNzh2hRGjBhevoB0=", - "Xwg/ChozygdqlSeYMlgNs+DvRYS9/x9UyKNg9Q3jAx4=", - "vBoGQ7EuTS18d5GPROD095qDi2z57FtcKD4fTYhZnms=", - "Tju7H3tHjc/nH7YxYxUZo7yhLJrvyhYSv85ME6hiZNQ=" - ], - "desc": "trailing root - subtree", - "wantErr": true -} \ No newline at end of file diff --git a/testdata/subtreeinclusion/4/trailing-root.json b/testdata/subtreeinclusion/4/trailing-root.json deleted file mode 100644 index 6c8ba4bf..00000000 --- a/testdata/subtreeinclusion/4/trailing-root.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "leafIdx": 1, - "start": 0, - "end": 5, - "root": "Tju7H3tHjc/nH7YxYxUZo7yhLJrvyhYSv85ME6hiZNQ=", - "leafHash": "lqKW0iTyhcZ77pPDD4owkVfw2qNdxbh+QQt4YwoJz8c=", - "proof": [ - "bjQLnP+zepicpUTmu3gKLHiQHT+zNzh2hRGjBhevoB0=", - "Xwg/ChozygdqlSeYMlgNs+DvRYS9/x9UyKNg9Q3jAx4=", - "vBoGQ7EuTS18d5GPROD095qDi2z57FtcKD4fTYhZnms=", - "Tju7H3tHjc/nH7YxYxUZo7yhLJrvyhYSv85ME6hiZNQ=" - ], - "desc": "trailing root", - "wantErr": true -} \ No newline at end of file diff --git a/testdata/subtreeinclusion/4/treeSize-div-@2-subtree.json b/testdata/subtreeinclusion/4/treeSize-div-@2-subtree.json deleted file mode 100644 index 115b3387..00000000 --- a/testdata/subtreeinclusion/4/treeSize-div-@2-subtree.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "leafIdx": 3, - "start": 2, - "end": 4, - "root": "Tju7H3tHjc/nH7YxYxUZo7yhLJrvyhYSv85ME6hiZNQ=", - "leafHash": "lqKW0iTyhcZ77pPDD4owkVfw2qNdxbh+QQt4YwoJz8c=", - "proof": [ - "bjQLnP+zepicpUTmu3gKLHiQHT+zNzh2hRGjBhevoB0=", - "Xwg/ChozygdqlSeYMlgNs+DvRYS9/x9UyKNg9Q3jAx4=", - "vBoGQ7EuTS18d5GPROD095qDi2z57FtcKD4fTYhZnms=" - ], - "desc": "treeSize div @2 - subtree", - "wantErr": true -} \ No newline at end of file diff --git a/testdata/subtreeinclusion/4/treeSize-div-@2.json b/testdata/subtreeinclusion/4/treeSize-div-@2.json deleted file mode 100644 index c7bfa6c2..00000000 --- a/testdata/subtreeinclusion/4/treeSize-div-@2.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "leafIdx": 1, - "start": 0, - "end": 2, - "root": "Tju7H3tHjc/nH7YxYxUZo7yhLJrvyhYSv85ME6hiZNQ=", - "leafHash": "lqKW0iTyhcZ77pPDD4owkVfw2qNdxbh+QQt4YwoJz8c=", - "proof": [ - "bjQLnP+zepicpUTmu3gKLHiQHT+zNzh2hRGjBhevoB0=", - "Xwg/ChozygdqlSeYMlgNs+DvRYS9/x9UyKNg9Q3jAx4=", - "vBoGQ7EuTS18d5GPROD095qDi2z57FtcKD4fTYhZnms=" - ], - "desc": "treeSize div @2", - "wantErr": true -} \ No newline at end of file diff --git a/testdata/subtreeinclusion/4/treeSize-mul-@2-subtree.json b/testdata/subtreeinclusion/4/treeSize-mul-@2-subtree.json deleted file mode 100644 index 5413a5e5..00000000 --- a/testdata/subtreeinclusion/4/treeSize-mul-@2-subtree.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "leafIdx": 17, - "start": 16, - "end": 26, - "root": "Tju7H3tHjc/nH7YxYxUZo7yhLJrvyhYSv85ME6hiZNQ=", - "leafHash": "lqKW0iTyhcZ77pPDD4owkVfw2qNdxbh+QQt4YwoJz8c=", - "proof": [ - "bjQLnP+zepicpUTmu3gKLHiQHT+zNzh2hRGjBhevoB0=", - "Xwg/ChozygdqlSeYMlgNs+DvRYS9/x9UyKNg9Q3jAx4=", - "vBoGQ7EuTS18d5GPROD095qDi2z57FtcKD4fTYhZnms=" - ], - "desc": "treeSize mul @2 - subtree", - "wantErr": true -} \ No newline at end of file diff --git a/testdata/subtreeinclusion/4/treeSize-mul-@2.json b/testdata/subtreeinclusion/4/treeSize-mul-@2.json deleted file mode 100644 index e2686125..00000000 --- a/testdata/subtreeinclusion/4/treeSize-mul-@2.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "leafIdx": 1, - "start": 0, - "end": 10, - "root": "Tju7H3tHjc/nH7YxYxUZo7yhLJrvyhYSv85ME6hiZNQ=", - "leafHash": "lqKW0iTyhcZ77pPDD4owkVfw2qNdxbh+QQt4YwoJz8c=", - "proof": [ - "bjQLnP+zepicpUTmu3gKLHiQHT+zNzh2hRGjBhevoB0=", - "Xwg/ChozygdqlSeYMlgNs+DvRYS9/x9UyKNg9Q3jAx4=", - "vBoGQ7EuTS18d5GPROD095qDi2z57FtcKD4fTYhZnms=" - ], - "desc": "treeSize mul @2", - "wantErr": true -} \ No newline at end of file diff --git a/testdata/subtreeinclusion/4/wrong-leaf-subtree.json b/testdata/subtreeinclusion/4/wrong-leaf-subtree.json deleted file mode 100644 index 5c25e184..00000000 --- a/testdata/subtreeinclusion/4/wrong-leaf-subtree.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "leafIdx": 9, - "start": 8, - "end": 13, - "root": "Tju7H3tHjc/nH7YxYxUZo7yhLJrvyhYSv85ME6hiZNQ=", - "leafHash": "V3JvbmdMZWFm", - "proof": [ - "bjQLnP+zepicpUTmu3gKLHiQHT+zNzh2hRGjBhevoB0=", - "Xwg/ChozygdqlSeYMlgNs+DvRYS9/x9UyKNg9Q3jAx4=", - "vBoGQ7EuTS18d5GPROD095qDi2z57FtcKD4fTYhZnms=" - ], - "desc": "wrong leaf - subtree", - "wantErr": true -} \ No newline at end of file diff --git a/testdata/subtreeinclusion/4/wrong-leaf.json b/testdata/subtreeinclusion/4/wrong-leaf.json deleted file mode 100644 index a504dff2..00000000 --- a/testdata/subtreeinclusion/4/wrong-leaf.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "leafIdx": 1, - "start": 0, - "end": 5, - "root": "Tju7H3tHjc/nH7YxYxUZo7yhLJrvyhYSv85ME6hiZNQ=", - "leafHash": "V3JvbmdMZWFm", - "proof": [ - "bjQLnP+zepicpUTmu3gKLHiQHT+zNzh2hRGjBhevoB0=", - "Xwg/ChozygdqlSeYMlgNs+DvRYS9/x9UyKNg9Q3jAx4=", - "vBoGQ7EuTS18d5GPROD095qDi2z57FtcKD4fTYhZnms=" - ], - "desc": "wrong leaf", - "wantErr": true -} \ No newline at end of file diff --git a/testdata/subtreeinclusion/additional/0/empty-root-and-random-leaf-subtree.json b/testdata/subtreeinclusion/additional/0/empty-root-and-random-leaf-subtree.json deleted file mode 100644 index 208b5e2f..00000000 --- a/testdata/subtreeinclusion/additional/0/empty-root-and-random-leaf-subtree.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "leafIdx": 1, - "start": 1, - "end": 1, - "root": "47DEQpj8HBSa+/TImW+5JCeuQeRkm5NMpJWZG3hSuFU=", - "leafHash": "q6yroAAAAAAAAAAAAAAAAAAAAAAAAAAAAGAGHgASNFY=", - "proof": [], - "desc": "empty root and random leaf - subtree", - "wantErr": true -} \ No newline at end of file diff --git a/testdata/subtreeinclusion/additional/0/empty-root-and-random-leaf.json b/testdata/subtreeinclusion/additional/0/empty-root-and-random-leaf.json deleted file mode 100644 index b92eb229..00000000 --- a/testdata/subtreeinclusion/additional/0/empty-root-and-random-leaf.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "leafIdx": 0, - "start": 0, - "end": 0, - "root": "47DEQpj8HBSa+/TImW+5JCeuQeRkm5NMpJWZG3hSuFU=", - "leafHash": "q6yroAAAAAAAAAAAAAAAAAAAAAAAAAAAAGAGHgASNFY=", - "proof": [], - "desc": "empty root and random leaf", - "wantErr": true -} \ No newline at end of file diff --git a/testdata/subtreeinclusion/additional/0/empty-root-subtree.json b/testdata/subtreeinclusion/additional/0/empty-root-subtree.json deleted file mode 100644 index e5ee96ce..00000000 --- a/testdata/subtreeinclusion/additional/0/empty-root-subtree.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "leafIdx": 1, - "start": 1, - "end": 1, - "root": "47DEQpj8HBSa+/TImW+5JCeuQeRkm5NMpJWZG3hSuFU=", - "leafHash": "", - "proof": [], - "desc": "empty root - subtree", - "wantErr": true -} \ No newline at end of file diff --git a/testdata/subtreeinclusion/additional/0/empty-root.json b/testdata/subtreeinclusion/additional/0/empty-root.json deleted file mode 100644 index af436e18..00000000 --- a/testdata/subtreeinclusion/additional/0/empty-root.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "leafIdx": 0, - "start": 0, - "end": 0, - "root": "47DEQpj8HBSa+/TImW+5JCeuQeRkm5NMpJWZG3hSuFU=", - "leafHash": "", - "proof": [], - "desc": "empty root", - "wantErr": true -} \ No newline at end of file diff --git a/testdata/subtreeinclusion/additional/0/random-leaf-subtree.json b/testdata/subtreeinclusion/additional/0/random-leaf-subtree.json deleted file mode 100644 index 4efd51fa..00000000 --- a/testdata/subtreeinclusion/additional/0/random-leaf-subtree.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "leafIdx": 1, - "start": 1, - "end": 1, - "root": "", - "leafHash": "q6yroAAAAAAAAAAAAAAAAAAAAAAAAAAAAGAGHgASNFY=", - "proof": [], - "desc": "random leaf - subtree", - "wantErr": true -} \ No newline at end of file diff --git a/testdata/subtreeinclusion/additional/0/random-leaf.json b/testdata/subtreeinclusion/additional/0/random-leaf.json deleted file mode 100644 index 3b906746..00000000 --- a/testdata/subtreeinclusion/additional/0/random-leaf.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "leafIdx": 0, - "start": 0, - "end": 0, - "root": "", - "leafHash": "q6yroAAAAAAAAAAAAAAAAAAAAAAAAAAAAGAGHgASNFY=", - "proof": [], - "desc": "random leaf", - "wantErr": true -} \ No newline at end of file diff --git a/testdata/subtreeinclusion/additional/1/empty-root-and-random-leaf-subtree.json b/testdata/subtreeinclusion/additional/1/empty-root-and-random-leaf-subtree.json deleted file mode 100644 index 3cd63296..00000000 --- a/testdata/subtreeinclusion/additional/1/empty-root-and-random-leaf-subtree.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "leafIdx": 1, - "start": 1, - "end": 2, - "root": "47DEQpj8HBSa+/TImW+5JCeuQeRkm5NMpJWZG3hSuFU=", - "leafHash": "q6yroAAAAAAAAAAAAAAAAAAAAAAAAAAAAGAGHgASNFY=", - "proof": [], - "desc": "empty root and random leaf - subtree", - "wantErr": true -} \ No newline at end of file diff --git a/testdata/subtreeinclusion/additional/1/empty-root-and-random-leaf.json b/testdata/subtreeinclusion/additional/1/empty-root-and-random-leaf.json deleted file mode 100644 index fbe70cda..00000000 --- a/testdata/subtreeinclusion/additional/1/empty-root-and-random-leaf.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "leafIdx": 0, - "start": 0, - "end": 1, - "root": "47DEQpj8HBSa+/TImW+5JCeuQeRkm5NMpJWZG3hSuFU=", - "leafHash": "q6yroAAAAAAAAAAAAAAAAAAAAAAAAAAAAGAGHgASNFY=", - "proof": [], - "desc": "empty root and random leaf", - "wantErr": true -} \ No newline at end of file diff --git a/testdata/subtreeinclusion/additional/1/empty-root-subtree.json b/testdata/subtreeinclusion/additional/1/empty-root-subtree.json deleted file mode 100644 index 0c905349..00000000 --- a/testdata/subtreeinclusion/additional/1/empty-root-subtree.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "leafIdx": 1, - "start": 1, - "end": 2, - "root": "47DEQpj8HBSa+/TImW+5JCeuQeRkm5NMpJWZG3hSuFU=", - "leafHash": "", - "proof": [], - "desc": "empty root - subtree", - "wantErr": true -} \ No newline at end of file diff --git a/testdata/subtreeinclusion/additional/1/empty-root.json b/testdata/subtreeinclusion/additional/1/empty-root.json deleted file mode 100644 index e22cd209..00000000 --- a/testdata/subtreeinclusion/additional/1/empty-root.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "leafIdx": 0, - "start": 0, - "end": 1, - "root": "47DEQpj8HBSa+/TImW+5JCeuQeRkm5NMpJWZG3hSuFU=", - "leafHash": "", - "proof": [], - "desc": "empty root", - "wantErr": true -} \ No newline at end of file diff --git a/testdata/subtreeinclusion/additional/1/random-leaf-subtree.json b/testdata/subtreeinclusion/additional/1/random-leaf-subtree.json deleted file mode 100644 index 26f24260..00000000 --- a/testdata/subtreeinclusion/additional/1/random-leaf-subtree.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "leafIdx": 1, - "start": 1, - "end": 2, - "root": "", - "leafHash": "q6yroAAAAAAAAAAAAAAAAAAAAAAAAAAAAGAGHgASNFY=", - "proof": [], - "desc": "random leaf - subtree", - "wantErr": true -} \ No newline at end of file diff --git a/testdata/subtreeinclusion/additional/1/random-leaf.json b/testdata/subtreeinclusion/additional/1/random-leaf.json deleted file mode 100644 index 5d94f84e..00000000 --- a/testdata/subtreeinclusion/additional/1/random-leaf.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "leafIdx": 0, - "start": 0, - "end": 1, - "root": "", - "leafHash": "q6yroAAAAAAAAAAAAAAAAAAAAAAAAAAAAGAGHgASNFY=", - "proof": [], - "desc": "random leaf", - "wantErr": true -} \ No newline at end of file diff --git a/testdata/subtreeinclusion/additional/2/empty-root-and-random-leaf-subtree.json b/testdata/subtreeinclusion/additional/2/empty-root-and-random-leaf-subtree.json deleted file mode 100644 index 6501af2e..00000000 --- a/testdata/subtreeinclusion/additional/2/empty-root-and-random-leaf-subtree.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "leafIdx": 2, - "start": 1, - "end": 1, - "root": "47DEQpj8HBSa+/TImW+5JCeuQeRkm5NMpJWZG3hSuFU=", - "leafHash": "q6yroAAAAAAAAAAAAAAAAAAAAAAAAAAAAGAGHgASNFY=", - "proof": [], - "desc": "empty root and random leaf - subtree", - "wantErr": true -} \ No newline at end of file diff --git a/testdata/subtreeinclusion/additional/2/empty-root-and-random-leaf.json b/testdata/subtreeinclusion/additional/2/empty-root-and-random-leaf.json deleted file mode 100644 index 932bd704..00000000 --- a/testdata/subtreeinclusion/additional/2/empty-root-and-random-leaf.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "leafIdx": 1, - "start": 0, - "end": 0, - "root": "47DEQpj8HBSa+/TImW+5JCeuQeRkm5NMpJWZG3hSuFU=", - "leafHash": "q6yroAAAAAAAAAAAAAAAAAAAAAAAAAAAAGAGHgASNFY=", - "proof": [], - "desc": "empty root and random leaf", - "wantErr": true -} \ No newline at end of file diff --git a/testdata/subtreeinclusion/additional/2/empty-root-subtree.json b/testdata/subtreeinclusion/additional/2/empty-root-subtree.json deleted file mode 100644 index 02d11ccb..00000000 --- a/testdata/subtreeinclusion/additional/2/empty-root-subtree.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "leafIdx": 2, - "start": 1, - "end": 1, - "root": "47DEQpj8HBSa+/TImW+5JCeuQeRkm5NMpJWZG3hSuFU=", - "leafHash": "", - "proof": [], - "desc": "empty root - subtree", - "wantErr": true -} \ No newline at end of file diff --git a/testdata/subtreeinclusion/additional/2/empty-root.json b/testdata/subtreeinclusion/additional/2/empty-root.json deleted file mode 100644 index 1fad70cd..00000000 --- a/testdata/subtreeinclusion/additional/2/empty-root.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "leafIdx": 1, - "start": 0, - "end": 0, - "root": "47DEQpj8HBSa+/TImW+5JCeuQeRkm5NMpJWZG3hSuFU=", - "leafHash": "", - "proof": [], - "desc": "empty root", - "wantErr": true -} \ No newline at end of file diff --git a/testdata/subtreeinclusion/additional/2/random-leaf-subtree.json b/testdata/subtreeinclusion/additional/2/random-leaf-subtree.json deleted file mode 100644 index 9488a2a9..00000000 --- a/testdata/subtreeinclusion/additional/2/random-leaf-subtree.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "leafIdx": 2, - "start": 1, - "end": 1, - "root": "", - "leafHash": "q6yroAAAAAAAAAAAAAAAAAAAAAAAAAAAAGAGHgASNFY=", - "proof": [], - "desc": "random leaf - subtree", - "wantErr": true -} \ No newline at end of file diff --git a/testdata/subtreeinclusion/additional/2/random-leaf.json b/testdata/subtreeinclusion/additional/2/random-leaf.json deleted file mode 100644 index 6c442abc..00000000 --- a/testdata/subtreeinclusion/additional/2/random-leaf.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "leafIdx": 1, - "start": 0, - "end": 0, - "root": "", - "leafHash": "q6yroAAAAAAAAAAAAAAAAAAAAAAAAAAAAGAGHgASNFY=", - "proof": [], - "desc": "random leaf", - "wantErr": true -} \ No newline at end of file diff --git a/testdata/subtreeinclusion/additional/3/empty-root-and-random-leaf-subtree.json b/testdata/subtreeinclusion/additional/3/empty-root-and-random-leaf-subtree.json deleted file mode 100644 index ef21e47f..00000000 --- a/testdata/subtreeinclusion/additional/3/empty-root-and-random-leaf-subtree.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "leafIdx": 3, - "start": 1, - "end": 2, - "root": "47DEQpj8HBSa+/TImW+5JCeuQeRkm5NMpJWZG3hSuFU=", - "leafHash": "q6yroAAAAAAAAAAAAAAAAAAAAAAAAAAAAGAGHgASNFY=", - "proof": [], - "desc": "empty root and random leaf - subtree", - "wantErr": true -} \ No newline at end of file diff --git a/testdata/subtreeinclusion/additional/3/empty-root-and-random-leaf.json b/testdata/subtreeinclusion/additional/3/empty-root-and-random-leaf.json deleted file mode 100644 index cedbfc6d..00000000 --- a/testdata/subtreeinclusion/additional/3/empty-root-and-random-leaf.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "leafIdx": 2, - "start": 0, - "end": 1, - "root": "47DEQpj8HBSa+/TImW+5JCeuQeRkm5NMpJWZG3hSuFU=", - "leafHash": "q6yroAAAAAAAAAAAAAAAAAAAAAAAAAAAAGAGHgASNFY=", - "proof": [], - "desc": "empty root and random leaf", - "wantErr": true -} \ No newline at end of file diff --git a/testdata/subtreeinclusion/additional/3/empty-root-subtree.json b/testdata/subtreeinclusion/additional/3/empty-root-subtree.json deleted file mode 100644 index bf8ec3b0..00000000 --- a/testdata/subtreeinclusion/additional/3/empty-root-subtree.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "leafIdx": 3, - "start": 1, - "end": 2, - "root": "47DEQpj8HBSa+/TImW+5JCeuQeRkm5NMpJWZG3hSuFU=", - "leafHash": "", - "proof": [], - "desc": "empty root - subtree", - "wantErr": true -} \ No newline at end of file diff --git a/testdata/subtreeinclusion/additional/3/empty-root.json b/testdata/subtreeinclusion/additional/3/empty-root.json deleted file mode 100644 index 2b3827d0..00000000 --- a/testdata/subtreeinclusion/additional/3/empty-root.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "leafIdx": 2, - "start": 0, - "end": 1, - "root": "47DEQpj8HBSa+/TImW+5JCeuQeRkm5NMpJWZG3hSuFU=", - "leafHash": "", - "proof": [], - "desc": "empty root", - "wantErr": true -} \ No newline at end of file diff --git a/testdata/subtreeinclusion/additional/3/random-leaf-subtree.json b/testdata/subtreeinclusion/additional/3/random-leaf-subtree.json deleted file mode 100644 index 0a5dc869..00000000 --- a/testdata/subtreeinclusion/additional/3/random-leaf-subtree.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "leafIdx": 3, - "start": 1, - "end": 2, - "root": "", - "leafHash": "q6yroAAAAAAAAAAAAAAAAAAAAAAAAAAAAGAGHgASNFY=", - "proof": [], - "desc": "random leaf - subtree", - "wantErr": true -} \ No newline at end of file diff --git a/testdata/subtreeinclusion/additional/3/random-leaf.json b/testdata/subtreeinclusion/additional/3/random-leaf.json deleted file mode 100644 index 0049a254..00000000 --- a/testdata/subtreeinclusion/additional/3/random-leaf.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "leafIdx": 2, - "start": 0, - "end": 1, - "root": "", - "leafHash": "q6yroAAAAAAAAAAAAAAAAAAAAAAAAAAAAGAGHgASNFY=", - "proof": [], - "desc": "random leaf", - "wantErr": true -} \ No newline at end of file diff --git a/testdata/subtreeinclusion/errors/everything-zero.json b/testdata/subtreeinclusion/errors/everything-zero.json deleted file mode 100644 index 8124e8cb..00000000 --- a/testdata/subtreeinclusion/errors/everything-zero.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "leafIdx": 0, - "start": 0, - "end": 0, - "root": "47DEQpj8HBSa+/TImW+5JCeuQeRkm5NMpJWZG3hSuFU=", - "leafHash": "bjQLnP+zepicpUTmu3gKLHiQHT+zNzh2hRGjBhevoB0=", - "proof": null, - "desc": "everything zero", - "wantErr": true -} \ No newline at end of file diff --git a/testdata/subtreeinclusion/errors/invalid-large-subtree.json b/testdata/subtreeinclusion/errors/invalid-large-subtree.json deleted file mode 100644 index 9cc63bc4..00000000 --- a/testdata/subtreeinclusion/errors/invalid-large-subtree.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "leafIdx": 1, - "start": 1, - "end": 9223372036854775810, - "root": "47DEQpj8HBSa+/TImW+5JCeuQeRkm5NMpJWZG3hSuFU=", - "leafHash": "bjQLnP+zepicpUTmu3gKLHiQHT+zNzh2hRGjBhevoB0=", - "proof": null, - "desc": "invalid large subtree", - "wantErr": true -} \ No newline at end of file diff --git a/testdata/subtreeinclusion/errors/invalid-subtree.json b/testdata/subtreeinclusion/errors/invalid-subtree.json deleted file mode 100644 index 158b7574..00000000 --- a/testdata/subtreeinclusion/errors/invalid-subtree.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "leafIdx": 3, - "start": 3, - "end": 5, - "root": "47DEQpj8HBSa+/TImW+5JCeuQeRkm5NMpJWZG3hSuFU=", - "leafHash": "bjQLnP+zepicpUTmu3gKLHiQHT+zNzh2hRGjBhevoB0=", - "proof": null, - "desc": "invalid subtree", - "wantErr": true -} \ No newline at end of file diff --git a/testdata/subtreeinclusion/errors/oob-left.json b/testdata/subtreeinclusion/errors/oob-left.json deleted file mode 100644 index 3d13a567..00000000 --- a/testdata/subtreeinclusion/errors/oob-left.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "leafIdx": 0, - "start": 1, - "end": 2, - "root": "47DEQpj8HBSa+/TImW+5JCeuQeRkm5NMpJWZG3hSuFU=", - "leafHash": "bjQLnP+zepicpUTmu3gKLHiQHT+zNzh2hRGjBhevoB0=", - "proof": null, - "desc": "oob left", - "wantErr": true -} \ No newline at end of file diff --git a/testdata/subtreeinclusion/errors/oob-right-2.json b/testdata/subtreeinclusion/errors/oob-right-2.json deleted file mode 100644 index 2fd72f08..00000000 --- a/testdata/subtreeinclusion/errors/oob-right-2.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "leafIdx": 3, - "start": 0, - "end": 3, - "root": "47DEQpj8HBSa+/TImW+5JCeuQeRkm5NMpJWZG3hSuFU=", - "leafHash": "bjQLnP+zepicpUTmu3gKLHiQHT+zNzh2hRGjBhevoB0=", - "proof": null, - "desc": "oob right 2", - "wantErr": true -} \ No newline at end of file diff --git a/testdata/subtreeinclusion/errors/oob-right.json b/testdata/subtreeinclusion/errors/oob-right.json deleted file mode 100644 index 95ed3bf6..00000000 --- a/testdata/subtreeinclusion/errors/oob-right.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "leafIdx": 3, - "start": 0, - "end": 2, - "root": "47DEQpj8HBSa+/TImW+5JCeuQeRkm5NMpJWZG3hSuFU=", - "leafHash": "bjQLnP+zepicpUTmu3gKLHiQHT+zNzh2hRGjBhevoB0=", - "proof": null, - "desc": "oob right", - "wantErr": true -} \ No newline at end of file diff --git a/testdata/subtreeinclusion/errors/start-equals-end.json b/testdata/subtreeinclusion/errors/start-equals-end.json deleted file mode 100644 index cd6b3494..00000000 --- a/testdata/subtreeinclusion/errors/start-equals-end.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "leafIdx": 0, - "start": 1, - "end": 1, - "root": "47DEQpj8HBSa+/TImW+5JCeuQeRkm5NMpJWZG3hSuFU=", - "leafHash": "bjQLnP+zepicpUTmu3gKLHiQHT+zNzh2hRGjBhevoB0=", - "proof": null, - "desc": "start equals end", - "wantErr": true -} \ No newline at end of file diff --git a/testdata/subtreeinclusion/errors/start-larger-than-end.json b/testdata/subtreeinclusion/errors/start-larger-than-end.json deleted file mode 100644 index e74df6f6..00000000 --- a/testdata/subtreeinclusion/errors/start-larger-than-end.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "leafIdx": 0, - "start": 2, - "end": 1, - "root": "47DEQpj8HBSa+/TImW+5JCeuQeRkm5NMpJWZG3hSuFU=", - "leafHash": "bjQLnP+zepicpUTmu3gKLHiQHT+zNzh2hRGjBhevoB0=", - "proof": null, - "desc": "start larger than end", - "wantErr": true -} \ No newline at end of file diff --git a/testdata/subtreeinclusion/single-entry/empty-leaf-subtree.json b/testdata/subtreeinclusion/single-entry/empty-leaf-subtree.json deleted file mode 100644 index 288e7fb1..00000000 --- a/testdata/subtreeinclusion/single-entry/empty-leaf-subtree.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "leafIdx": 1, - "start": 1, - "end": 2, - "root": "DTrtAjFI/9KiWfvQzcf7PPl1ZYdg03dbgq9vkKrMLfw=", - "leafHash": "", - "proof": [], - "desc": "empty leaf - subtree", - "wantErr": true -} \ No newline at end of file diff --git a/testdata/subtreeinclusion/single-entry/empty-leaf.json b/testdata/subtreeinclusion/single-entry/empty-leaf.json deleted file mode 100644 index e8046a7c..00000000 --- a/testdata/subtreeinclusion/single-entry/empty-leaf.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "leafIdx": 0, - "start": 0, - "end": 1, - "root": "DTrtAjFI/9KiWfvQzcf7PPl1ZYdg03dbgq9vkKrMLfw=", - "leafHash": "", - "proof": [], - "desc": "empty leaf", - "wantErr": true -} \ No newline at end of file diff --git a/testdata/subtreeinclusion/single-entry/empty-root-and-leaf-subtree.json b/testdata/subtreeinclusion/single-entry/empty-root-and-leaf-subtree.json deleted file mode 100644 index c5a8337e..00000000 --- a/testdata/subtreeinclusion/single-entry/empty-root-and-leaf-subtree.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "leafIdx": 1, - "start": 1, - "end": 2, - "root": "", - "leafHash": "", - "proof": [], - "desc": "empty root and leaf - subtree", - "wantErr": true -} \ No newline at end of file diff --git a/testdata/subtreeinclusion/single-entry/empty-root-and-leaf.json b/testdata/subtreeinclusion/single-entry/empty-root-and-leaf.json deleted file mode 100644 index 58aa6dd2..00000000 --- a/testdata/subtreeinclusion/single-entry/empty-root-and-leaf.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "leafIdx": 0, - "start": 0, - "end": 1, - "root": "", - "leafHash": "", - "proof": [], - "desc": "empty root and leaf", - "wantErr": true -} \ No newline at end of file diff --git a/testdata/subtreeinclusion/single-entry/empty-root-subtree.json b/testdata/subtreeinclusion/single-entry/empty-root-subtree.json deleted file mode 100644 index 241d39a0..00000000 --- a/testdata/subtreeinclusion/single-entry/empty-root-subtree.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "leafIdx": 1, - "start": 1, - "end": 2, - "root": "", - "leafHash": "DTrtAjFI/9KiWfvQzcf7PPl1ZYdg03dbgq9vkKrMLfw=", - "proof": [], - "desc": "empty root - subtree", - "wantErr": true -} \ No newline at end of file diff --git a/testdata/subtreeinclusion/single-entry/empty-root.json b/testdata/subtreeinclusion/single-entry/empty-root.json deleted file mode 100644 index 7ae97f68..00000000 --- a/testdata/subtreeinclusion/single-entry/empty-root.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "leafIdx": 0, - "start": 0, - "end": 1, - "root": "", - "leafHash": "DTrtAjFI/9KiWfvQzcf7PPl1ZYdg03dbgq9vkKrMLfw=", - "proof": [], - "desc": "empty root", - "wantErr": true -} \ No newline at end of file diff --git a/testdata/subtreeinclusion/single-entry/matching-root-and-leaf-subtree.json b/testdata/subtreeinclusion/single-entry/matching-root-and-leaf-subtree.json deleted file mode 100644 index 5dd36912..00000000 --- a/testdata/subtreeinclusion/single-entry/matching-root-and-leaf-subtree.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "leafIdx": 1, - "start": 1, - "end": 2, - "root": "DTrtAjFI/9KiWfvQzcf7PPl1ZYdg03dbgq9vkKrMLfw=", - "leafHash": "DTrtAjFI/9KiWfvQzcf7PPl1ZYdg03dbgq9vkKrMLfw=", - "proof": [], - "desc": "matching root and leaf - subtree", - "wantErr": false -} \ No newline at end of file diff --git a/testdata/subtreeinclusion/single-entry/matching-root-and-leaf.json b/testdata/subtreeinclusion/single-entry/matching-root-and-leaf.json deleted file mode 100644 index 9fc1fe5d..00000000 --- a/testdata/subtreeinclusion/single-entry/matching-root-and-leaf.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "leafIdx": 0, - "start": 0, - "end": 1, - "root": "DTrtAjFI/9KiWfvQzcf7PPl1ZYdg03dbgq9vkKrMLfw=", - "leafHash": "DTrtAjFI/9KiWfvQzcf7PPl1ZYdg03dbgq9vkKrMLfw=", - "proof": [], - "desc": "matching root and leaf", - "wantErr": false -} \ No newline at end of file diff --git a/testonly/reference_test.go b/testonly/reference_test.go index 8add5fbd..614043de 100644 --- a/testonly/reference_test.go +++ b/testonly/reference_test.go @@ -304,6 +304,34 @@ func TestRefSubtreeConsistencyProof(t *testing.T) { hd("ca854ea128ed050b41b35ffc1b87b8eb2bde461e9e3b5596ece6b9d5975a0ae0"), hd("d37ee418976dd95753c1c73862b9398fa2a2cf9b4ff0fdfe8b30cd95209614b7"), }}, + // Non-zero starting subtrees: + // Right half [4, 8) in size 8 requires the root of the left half [0, 4). + {start: 4, end: 8, size: 8, known: true, want: [][]byte{ + hd("d37ee418976dd95753c1c73862b9398fa2a2cf9b4ff0fdfe8b30cd95209614b7"), + }}, + // Subtree of size 1 not starting at 0 ([4, 5) in size 8): + {start: 4, end: 5, size: 8, known: true, want: [][]byte{ + hd("4271a26be0d8a84f0bd54c8c302e7cb3a3b5d1fa6780a40bcce2873477dab658"), + hd("ca854ea128ed050b41b35ffc1b87b8eb2bde461e9e3b5596ece6b9d5975a0ae0"), + hd("d37ee418976dd95753c1c73862b9398fa2a2cf9b4ff0fdfe8b30cd95209614b7"), + }}, + // Subtree ending at size not starting at 0 ([6, 8) in size 8): + {start: 6, end: 8, size: 8, known: true, want: [][]byte{ + hd("0ebc5d3437fbe2db158b9f126a1d118e308181031d0a949f8dededebc558ef6a"), + hd("d37ee418976dd95753c1c73862b9398fa2a2cf9b4ff0fdfe8b30cd95209614b7"), + }}, + // Perfect subtree not starting at 0, not ending at size ([2, 4) in size 8): + {start: 2, end: 4, size: 8, known: true, want: [][]byte{ + hd("fac54203e7cc696cf0dfcb42c92a1d9dbaf70ad9e621f4bd8d98662f00e3c125"), + hd("6b47aaf29ee3c2af9af889bc1fb9254dabd31177f16232dd6aab035ca39bf6e4"), + }}, + // Imperfect subtree not starting at 0, not ending at size ([4, 7) in size 8): + {start: 4, end: 7, size: 8, known: true, want: [][]byte{ + hd("b08693ec2e721597130641e8211e7eedccb4c26413963eee6c1e2ed16ffb1a5f"), + hd("46f6ffadd3d06a09ff3c5860d2755c8b9819db7df44251788c7d8e3180de8eb1"), + hd("0ebc5d3437fbe2db158b9f126a1d118e308181031d0a949f8dededebc558ef6a"), + hd("d37ee418976dd95753c1c73862b9398fa2a2cf9b4ff0fdfe8b30cd95209614b7"), + }}, } { t.Run(fmt.Sprintf("start:%d end:%d size:%d known:%t", tc.start, tc.end, tc.size, tc.known), func(t *testing.T) { got := refSubtreeConsistencyProof(tc.start, tc.end, entries[:tc.size], tc.known, hasher) From ecd89653969255dce76c726bfc8f8b108ee1c71a Mon Sep 17 00:00:00 2001 From: Philippe Boneff Date: Wed, 22 Jul 2026 16:09:49 +0000 Subject: [PATCH 2/5] Add non-zero start subtree consistency probes to proofgen More probes --- cmd/proofgen/main.go | 119 ++++++++++++++---- .../subtreeconsistency/10/empty-proof.json | 10 ++ .../subtreeconsistency/10/happy-path.json | 13 ++ .../10/modified-proof@0-bit-@4.json | 13 ++ .../10/modified-proof@1-bit-@4.json | 13 ++ .../10/preceding-garbage.json | 14 +++ .../10/preceding-proof-@0.json | 14 +++ .../preceding-root1.json} | 12 +- .../10/preceding-root2.json | 14 +++ .../subtreeconsistency/10/size1-XOR-@2.json | 13 ++ .../subtreeconsistency/10/size1-plus-@1.json | 13 ++ .../subtreeconsistency/10/size1-sub-@1.json | 13 ++ .../subtreeconsistency/10/size2-div-@2.json | 13 ++ .../subtreeconsistency/10/size2-mul-@2.json | 13 ++ .../subtreeconsistency/10/swapped-roots.json | 13 ++ .../10/trailing-garbage.json | 14 +++ .../subtreeconsistency/10/trailing-root1.json | 14 +++ .../subtreeconsistency/10/trailing-root2.json | 14 +++ .../10/truncated-proof.json | 12 ++ .../subtreeconsistency/10/wrong-root1.json | 13 ++ .../subtreeconsistency/10/wrong-root2.json | 13 ++ .../subtreeconsistency/11/empty-proof.json | 10 ++ .../subtreeconsistency/11/happy-path.json | 15 +++ .../11/modified-proof@0-bit-@4.json | 15 +++ .../11/modified-proof@1-bit-@4.json | 15 +++ .../11/modified-proof@2-bit-@4.json | 15 +++ .../11/modified-proof@3-bit-@4.json | 15 +++ .../11/preceding-garbage.json | 16 +++ .../11/preceding-proof-@0.json | 16 +++ .../11/preceding-root1.json | 16 +++ .../11/preceding-root2.json | 16 +++ .../subtreeconsistency/11/size1-XOR-@2.json | 15 +++ .../subtreeconsistency/11/size1-plus-@1.json | 15 +++ .../subtreeconsistency/11/size1-sub-@1.json | 15 +++ .../subtreeconsistency/11/size2-div-@2.json | 15 +++ .../subtreeconsistency/11/size2-mul-@2.json | 15 +++ .../subtreeconsistency/11/swapped-roots.json | 15 +++ .../11/trailing-garbage.json | 16 +++ .../subtreeconsistency/11/trailing-root1.json | 16 +++ .../subtreeconsistency/11/trailing-root2.json | 16 +++ .../11/truncated-proof.json | 14 +++ .../subtreeconsistency/11/wrong-root1.json | 15 +++ .../subtreeconsistency/11/wrong-root2.json | 15 +++ .../subtreeconsistency/3/invalid-subtree.json | 13 -- .../subtreeconsistency/5/empty-proof.json | 10 ++ testdata/subtreeconsistency/5/happy-path.json | 14 +++ .../5/modified-proof@0-bit-@4.json | 14 +++ .../5/modified-proof@1-bit-@4.json | 14 +++ .../5/modified-proof@2-bit-@4.json | 14 +++ .../5/preceding-garbage.json | 15 +++ .../5/preceding-proof-@0.json | 15 +++ .../subtreeconsistency/5/preceding-root1.json | 15 +++ .../subtreeconsistency/5/preceding-root2.json | 15 +++ .../size1-XOR-@2.json} | 14 +-- .../subtreeconsistency/5/size1-plus-@1.json | 14 +++ .../subtreeconsistency/5/size1-sub-@1.json | 14 +++ .../subtreeconsistency/5/size2-div-@2.json | 14 +++ .../subtreeconsistency/5/size2-mul-@2.json | 14 +++ .../subtreeconsistency/5/swapped-roots.json | 14 +++ .../5/trailing-garbage.json | 15 +++ .../subtreeconsistency/5/trailing-root1.json | 15 +++ .../subtreeconsistency/5/trailing-root2.json | 15 +++ .../subtreeconsistency/5/truncated-proof.json | 13 ++ .../subtreeconsistency/5/wrong-root1.json | 14 +++ .../subtreeconsistency/5/wrong-root2.json | 14 +++ .../subtreeconsistency/6/empty-proof.json | 10 ++ testdata/subtreeconsistency/6/happy-path.json | 12 ++ .../6/modified-proof@0-bit-@4.json | 12 ++ .../6/preceding-garbage.json | 13 ++ .../6/preceding-proof-@0.json | 13 ++ .../subtreeconsistency/6/preceding-root1.json | 13 ++ .../subtreeconsistency/6/preceding-root2.json | 13 ++ .../subtreeconsistency/6/size1-XOR-@2.json | 12 ++ .../subtreeconsistency/6/size1-plus-@1.json | 12 ++ .../subtreeconsistency/6/size1-sub-@1.json | 12 ++ .../subtreeconsistency/6/size2-div-@2.json | 12 ++ .../subtreeconsistency/6/size2-mul-@2.json | 12 ++ .../subtreeconsistency/6/swapped-roots.json | 12 ++ .../6/trailing-garbage.json | 13 ++ .../subtreeconsistency/6/trailing-root1.json | 13 ++ .../subtreeconsistency/6/trailing-root2.json | 13 ++ .../subtreeconsistency/6/truncated-proof.json | 10 ++ .../subtreeconsistency/6/wrong-root1.json | 12 ++ .../subtreeconsistency/6/wrong-root2.json | 12 ++ .../subtreeconsistency/7/empty-proof.json | 10 ++ testdata/subtreeconsistency/7/happy-path.json | 13 ++ .../7/modified-proof@0-bit-@4.json | 13 ++ .../7/modified-proof@1-bit-@4.json | 13 ++ .../7/preceding-garbage.json | 14 +++ .../7/preceding-proof-@0.json | 14 +++ .../preceding-root1.json} | 12 +- .../subtreeconsistency/7/preceding-root2.json | 14 +++ .../subtreeconsistency/7/size1-XOR-@2.json | 13 ++ .../subtreeconsistency/7/size1-plus-@1.json | 13 ++ .../subtreeconsistency/7/size1-sub-@1.json | 13 ++ .../subtreeconsistency/7/size2-div-@2.json | 13 ++ .../subtreeconsistency/7/size2-mul-@2.json | 13 ++ .../subtreeconsistency/7/swapped-roots.json | 13 ++ .../7/trailing-garbage.json | 14 +++ .../subtreeconsistency/7/trailing-root1.json | 14 +++ .../subtreeconsistency/7/trailing-root2.json | 14 +++ .../subtreeconsistency/7/truncated-proof.json | 12 ++ .../subtreeconsistency/7/wrong-root1.json | 13 ++ .../subtreeconsistency/7/wrong-root2.json | 13 ++ .../subtreeconsistency/8/empty-proof.json | 10 ++ testdata/subtreeconsistency/8/happy-path.json | 12 ++ .../8/modified-proof@0-bit-@4.json | 12 ++ .../8/preceding-garbage.json | 13 ++ .../8/preceding-proof-@0.json | 13 ++ .../subtreeconsistency/8/preceding-root1.json | 13 ++ .../subtreeconsistency/8/preceding-root2.json | 13 ++ .../subtreeconsistency/8/size1-XOR-@2.json | 12 ++ .../subtreeconsistency/8/size1-plus-@1.json | 12 ++ .../subtreeconsistency/8/size1-sub-@1.json | 12 ++ .../subtreeconsistency/8/size2-div-@2.json | 12 ++ .../subtreeconsistency/8/size2-mul-@2.json | 12 ++ .../subtreeconsistency/8/swapped-roots.json | 12 ++ .../8/trailing-garbage.json | 13 ++ .../subtreeconsistency/8/trailing-root1.json | 13 ++ .../subtreeconsistency/8/trailing-root2.json | 13 ++ .../subtreeconsistency/8/truncated-proof.json | 10 ++ .../subtreeconsistency/8/wrong-root1.json | 12 ++ .../subtreeconsistency/8/wrong-root2.json | 12 ++ .../subtreeconsistency/9/empty-proof.json | 10 ++ testdata/subtreeconsistency/9/happy-path.json | 14 +++ .../9/modified-proof@0-bit-@4.json | 14 +++ .../9/modified-proof@1-bit-@4.json | 14 +++ .../9/modified-proof@2-bit-@4.json | 14 +++ .../9/preceding-garbage.json | 15 +++ .../9/preceding-proof-@0.json | 15 +++ .../subtreeconsistency/9/preceding-root1.json | 15 +++ .../subtreeconsistency/9/preceding-root2.json | 15 +++ .../subtreeconsistency/9/size1-XOR-@2.json | 14 +++ .../subtreeconsistency/9/size1-plus-@1.json | 14 +++ .../subtreeconsistency/9/size1-sub-@1.json | 14 +++ .../subtreeconsistency/9/size2-div-@2.json | 14 +++ .../subtreeconsistency/9/size2-mul-@2.json | 14 +++ .../subtreeconsistency/9/swapped-roots.json | 14 +++ .../9/trailing-garbage.json | 15 +++ .../subtreeconsistency/9/trailing-root1.json | 15 +++ .../subtreeconsistency/9/trailing-root2.json | 15 +++ .../subtreeconsistency/9/truncated-proof.json | 13 ++ .../subtreeconsistency/9/wrong-root1.json | 14 +++ .../subtreeconsistency/9/wrong-root2.json | 14 +++ ...n-empty-tree-size1-is-zero-is-useless.json | 12 -- ...ts-do-not-not-match-and-sizes-are-one.json | 10 -- ...zes-are-equal-zero-and-proof-is-empty.json | 10 -- ...sizes-do-not-watch-and-proof-is-empty.json | 10 -- .../0/empty-root-subtree.json | 10 ++ testdata/subtreeinclusion/0/empty-root.json | 10 ++ .../0/happy-path-subtree.json | 10 ++ testdata/subtreeinclusion/0/happy-path.json | 10 ++ .../0/leafIdx-XOR-@2-subtree.json | 10 ++ .../subtreeinclusion/0/leafIdx-XOR-@2.json | 10 ++ .../0/leafIdx-plus-@1-subtree.json | 10 ++ .../subtreeinclusion/0/leafIdx-plus-@1.json | 10 ++ .../0/leafIdx-sub-@1-subtree.json | 10 ++ .../subtreeinclusion/0/leafIdx-sub-@1.json | 10 ++ .../0/preceding-garbage-subtree.json | 12 ++ .../subtreeinclusion/0/preceding-garbage.json | 12 ++ .../0/preceding-root-subtree.json | 12 ++ .../subtreeinclusion/0/preceding-root.json | 12 ++ .../0/random-root-subtree.json | 10 ++ testdata/subtreeinclusion/0/random-root.json | 10 ++ .../0/trailing-garbage-subtree.json | 12 ++ .../subtreeinclusion/0/trailing-garbage.json | 12 ++ .../0/trailing-root-subtree.json | 12 ++ .../subtreeinclusion/0/trailing-root.json | 12 ++ .../0/treeSize-div-@2-subtree.json | 10 ++ .../subtreeinclusion/0/treeSize-div-@2.json | 10 ++ .../0/treeSize-mul-@2-subtree.json | 10 ++ .../subtreeinclusion/0/treeSize-mul-@2.json | 10 ++ .../0/wrong-leaf-subtree.json | 10 ++ testdata/subtreeinclusion/0/wrong-leaf.json | 10 ++ .../1/empty-root-subtree.json | 14 +++ testdata/subtreeinclusion/1/empty-root.json | 14 +++ .../1/happy-path-subtree.json | 14 +++ testdata/subtreeinclusion/1/happy-path.json | 14 +++ .../1/inserted-component-subtree.json | 15 +++ .../1/inserted-component.json | 15 +++ .../1/leafIdx-XOR-@2-subtree.json | 14 +++ .../subtreeinclusion/1/leafIdx-XOR-@2.json | 14 +++ .../1/leafIdx-plus-@1-subtree.json | 14 +++ .../subtreeinclusion/1/leafIdx-plus-@1.json | 14 +++ .../1/leafIdx-sub-@1-subtree.json | 14 +++ .../subtreeinclusion/1/leafIdx-sub-@1.json | 14 +++ .../1/modified-proof[0]-bit-@3-subtree.json | 14 +++ .../1/modified-proof[0]-bit-@3.json | 14 +++ .../1/modified-proof[1]-bit-@3-subtree.json | 14 +++ .../1/modified-proof[1]-bit-@3.json | 14 +++ .../1/modified-proof[2]-bit-@3-subtree.json | 14 +++ .../1/modified-proof[2]-bit-@3.json | 14 +++ .../1/preceding-garbage-subtree.json | 15 +++ .../subtreeinclusion/1/preceding-garbage.json | 15 +++ .../1/preceding-root-subtree.json | 15 +++ .../subtreeinclusion/1/preceding-root.json | 15 +++ .../1/random-root-subtree.json | 14 +++ testdata/subtreeinclusion/1/random-root.json | 14 +++ .../1/removed-component-subtree.json | 13 ++ .../subtreeinclusion/1/removed-component.json | 13 ++ .../1/trailing-garbage-subtree.json | 15 +++ .../subtreeinclusion/1/trailing-garbage.json | 15 +++ .../1/trailing-root-subtree.json | 15 +++ .../subtreeinclusion/1/trailing-root.json | 15 +++ .../1/treeSize-div-@2-subtree.json | 14 +++ .../subtreeinclusion/1/treeSize-div-@2.json | 14 +++ .../1/treeSize-mul-@2-subtree.json | 14 +++ .../subtreeinclusion/1/treeSize-mul-@2.json | 14 +++ .../1/wrong-leaf-subtree.json | 14 +++ testdata/subtreeinclusion/1/wrong-leaf.json | 14 +++ .../2/empty-root-subtree.json | 14 +++ testdata/subtreeinclusion/2/empty-root.json | 14 +++ .../2/happy-path-subtree.json | 14 +++ testdata/subtreeinclusion/2/happy-path.json | 14 +++ .../2/inserted-component-subtree.json | 15 +++ .../2/inserted-component.json | 15 +++ .../2/leafIdx-XOR-@2-subtree.json | 14 +++ .../subtreeinclusion/2/leafIdx-XOR-@2.json | 14 +++ .../2/leafIdx-plus-@1-subtree.json | 14 +++ .../subtreeinclusion/2/leafIdx-plus-@1.json | 14 +++ .../2/leafIdx-sub-@1-subtree.json | 14 +++ .../subtreeinclusion/2/leafIdx-sub-@1.json | 14 +++ .../2/modified-proof[0]-bit-@3-subtree.json | 14 +++ .../2/modified-proof[0]-bit-@3.json | 14 +++ .../2/modified-proof[1]-bit-@3-subtree.json | 14 +++ .../2/modified-proof[1]-bit-@3.json | 14 +++ .../2/modified-proof[2]-bit-@3-subtree.json | 14 +++ .../2/modified-proof[2]-bit-@3.json | 14 +++ .../2/preceding-garbage-subtree.json | 15 +++ .../subtreeinclusion/2/preceding-garbage.json | 15 +++ .../2/preceding-root-subtree.json | 15 +++ .../subtreeinclusion/2/preceding-root.json | 15 +++ .../2/random-root-subtree.json | 14 +++ testdata/subtreeinclusion/2/random-root.json | 14 +++ .../2/removed-component-subtree.json | 13 ++ .../subtreeinclusion/2/removed-component.json | 13 ++ .../2/trailing-garbage-subtree.json | 15 +++ .../subtreeinclusion/2/trailing-garbage.json | 15 +++ .../2/trailing-root-subtree.json | 15 +++ .../subtreeinclusion/2/trailing-root.json | 15 +++ .../2/treeSize-div-@2-subtree.json | 14 +++ .../subtreeinclusion/2/treeSize-div-@2.json | 14 +++ .../2/treeSize-mul-@2-subtree.json | 14 +++ .../subtreeinclusion/2/treeSize-mul-@2.json | 14 +++ .../2/wrong-leaf-subtree.json | 14 +++ testdata/subtreeinclusion/2/wrong-leaf.json | 14 +++ .../3/empty-root-subtree.json | 12 ++ testdata/subtreeinclusion/3/empty-root.json | 12 ++ .../3/happy-path-subtree.json | 12 ++ testdata/subtreeinclusion/3/happy-path.json | 12 ++ .../3/leafIdx-XOR-@2-subtree.json | 12 ++ .../subtreeinclusion/3/leafIdx-XOR-@2.json | 12 ++ .../3/leafIdx-plus-@1-subtree.json | 12 ++ .../subtreeinclusion/3/leafIdx-plus-@1.json | 12 ++ .../3/leafIdx-sub-@1-subtree.json | 12 ++ .../subtreeinclusion/3/leafIdx-sub-@1.json | 12 ++ .../3/modified-proof[0]-bit-@3-subtree.json | 12 ++ .../3/modified-proof[0]-bit-@3.json | 12 ++ .../3/preceding-garbage-subtree.json | 13 ++ .../subtreeinclusion/3/preceding-garbage.json | 13 ++ .../3/preceding-root-subtree.json | 13 ++ .../subtreeinclusion/3/preceding-root.json | 13 ++ .../3/random-root-subtree.json | 12 ++ testdata/subtreeinclusion/3/random-root.json | 12 ++ .../3/removed-component-subtree.json | 10 ++ .../subtreeinclusion/3/removed-component.json | 10 ++ .../3/trailing-garbage-subtree.json | 13 ++ .../subtreeinclusion/3/trailing-garbage.json | 13 ++ .../3/trailing-root-subtree.json | 13 ++ .../subtreeinclusion/3/trailing-root.json | 13 ++ .../3/treeSize-div-@2-subtree.json | 12 ++ .../subtreeinclusion/3/treeSize-div-@2.json | 12 ++ .../3/treeSize-mul-@2-subtree.json | 12 ++ .../subtreeinclusion/3/treeSize-mul-@2.json | 12 ++ .../3/wrong-leaf-subtree.json | 12 ++ testdata/subtreeinclusion/3/wrong-leaf.json | 12 ++ .../4/empty-root-subtree.json | 14 +++ testdata/subtreeinclusion/4/empty-root.json | 14 +++ .../4/happy-path-subtree.json | 14 +++ testdata/subtreeinclusion/4/happy-path.json | 14 +++ .../4/inserted-component-subtree.json | 15 +++ .../4/inserted-component.json | 15 +++ .../4/leafIdx-XOR-@2-subtree.json | 14 +++ .../subtreeinclusion/4/leafIdx-XOR-@2.json | 14 +++ .../4/leafIdx-plus-@1-subtree.json | 14 +++ .../subtreeinclusion/4/leafIdx-plus-@1.json | 14 +++ .../4/leafIdx-sub-@1-subtree.json | 14 +++ .../subtreeinclusion/4/leafIdx-sub-@1.json | 14 +++ .../4/modified-proof[0]-bit-@3-subtree.json | 14 +++ .../4/modified-proof[0]-bit-@3.json | 14 +++ .../4/modified-proof[1]-bit-@3-subtree.json | 14 +++ .../4/modified-proof[1]-bit-@3.json | 14 +++ .../4/modified-proof[2]-bit-@3-subtree.json | 14 +++ .../4/modified-proof[2]-bit-@3.json | 14 +++ .../4/preceding-garbage-subtree.json | 15 +++ .../subtreeinclusion/4/preceding-garbage.json | 15 +++ .../4/preceding-root-subtree.json | 15 +++ .../subtreeinclusion/4/preceding-root.json | 15 +++ .../4/random-root-subtree.json | 14 +++ testdata/subtreeinclusion/4/random-root.json | 14 +++ .../4/removed-component-subtree.json | 13 ++ .../subtreeinclusion/4/removed-component.json | 13 ++ .../4/trailing-garbage-subtree.json | 15 +++ .../subtreeinclusion/4/trailing-garbage.json | 15 +++ .../4/trailing-root-subtree.json | 15 +++ .../subtreeinclusion/4/trailing-root.json | 15 +++ .../4/treeSize-div-@2-subtree.json | 14 +++ .../subtreeinclusion/4/treeSize-div-@2.json | 14 +++ .../4/treeSize-mul-@2-subtree.json | 14 +++ .../subtreeinclusion/4/treeSize-mul-@2.json | 14 +++ .../4/wrong-leaf-subtree.json | 14 +++ testdata/subtreeinclusion/4/wrong-leaf.json | 14 +++ .../0/empty-root-and-random-leaf-subtree.json | 10 ++ .../0/empty-root-and-random-leaf.json | 10 ++ .../additional/0/empty-root-subtree.json | 10 ++ .../additional/0/empty-root.json | 10 ++ .../additional/0/random-leaf-subtree.json | 10 ++ .../additional/0/random-leaf.json | 10 ++ .../1/empty-root-and-random-leaf-subtree.json | 10 ++ .../1/empty-root-and-random-leaf.json | 10 ++ .../additional/1/empty-root-subtree.json | 10 ++ .../additional/1/empty-root.json | 10 ++ .../additional/1/random-leaf-subtree.json | 10 ++ .../additional/1/random-leaf.json | 10 ++ .../2/empty-root-and-random-leaf-subtree.json | 10 ++ .../2/empty-root-and-random-leaf.json | 10 ++ .../additional/2/empty-root-subtree.json | 10 ++ .../additional/2/empty-root.json | 10 ++ .../additional/2/random-leaf-subtree.json | 10 ++ .../additional/2/random-leaf.json | 10 ++ .../3/empty-root-and-random-leaf-subtree.json | 10 ++ .../3/empty-root-and-random-leaf.json | 10 ++ .../additional/3/empty-root-subtree.json | 10 ++ .../additional/3/empty-root.json | 10 ++ .../additional/3/random-leaf-subtree.json | 10 ++ .../additional/3/random-leaf.json | 10 ++ .../errors/everything-zero.json | 10 ++ .../errors/invalid-large-subtree.json | 10 ++ .../errors/invalid-subtree.json | 10 ++ .../subtreeinclusion/errors/oob-left.json | 10 ++ .../subtreeinclusion/errors/oob-right-2.json | 10 ++ .../subtreeinclusion/errors/oob-right.json | 10 ++ .../errors/start-equals-end.json | 10 ++ .../errors/start-larger-than-end.json | 10 ++ .../single-entry/empty-leaf-subtree.json | 10 ++ .../single-entry/empty-leaf.json | 10 ++ .../empty-root-and-leaf-subtree.json | 10 ++ .../single-entry/empty-root-and-leaf.json | 10 ++ .../single-entry/empty-root-subtree.json | 10 ++ .../single-entry/empty-root.json | 10 ++ .../matching-root-and-leaf-subtree.json | 10 ++ .../single-entry/matching-root-and-leaf.json | 10 ++ 352 files changed, 4558 insertions(+), 99 deletions(-) create mode 100644 testdata/subtreeconsistency/10/empty-proof.json create mode 100644 testdata/subtreeconsistency/10/happy-path.json create mode 100644 testdata/subtreeconsistency/10/modified-proof@0-bit-@4.json create mode 100644 testdata/subtreeconsistency/10/modified-proof@1-bit-@4.json create mode 100644 testdata/subtreeconsistency/10/preceding-garbage.json create mode 100644 testdata/subtreeconsistency/10/preceding-proof-@0.json rename testdata/subtreeconsistency/{1/invalid-subtree.json => 10/preceding-root1.json} (52%) create mode 100644 testdata/subtreeconsistency/10/preceding-root2.json create mode 100644 testdata/subtreeconsistency/10/size1-XOR-@2.json create mode 100644 testdata/subtreeconsistency/10/size1-plus-@1.json create mode 100644 testdata/subtreeconsistency/10/size1-sub-@1.json create mode 100644 testdata/subtreeconsistency/10/size2-div-@2.json create mode 100644 testdata/subtreeconsistency/10/size2-mul-@2.json create mode 100644 testdata/subtreeconsistency/10/swapped-roots.json create mode 100644 testdata/subtreeconsistency/10/trailing-garbage.json create mode 100644 testdata/subtreeconsistency/10/trailing-root1.json create mode 100644 testdata/subtreeconsistency/10/trailing-root2.json create mode 100644 testdata/subtreeconsistency/10/truncated-proof.json create mode 100644 testdata/subtreeconsistency/10/wrong-root1.json create mode 100644 testdata/subtreeconsistency/10/wrong-root2.json create mode 100644 testdata/subtreeconsistency/11/empty-proof.json create mode 100644 testdata/subtreeconsistency/11/happy-path.json create mode 100644 testdata/subtreeconsistency/11/modified-proof@0-bit-@4.json create mode 100644 testdata/subtreeconsistency/11/modified-proof@1-bit-@4.json create mode 100644 testdata/subtreeconsistency/11/modified-proof@2-bit-@4.json create mode 100644 testdata/subtreeconsistency/11/modified-proof@3-bit-@4.json create mode 100644 testdata/subtreeconsistency/11/preceding-garbage.json create mode 100644 testdata/subtreeconsistency/11/preceding-proof-@0.json create mode 100644 testdata/subtreeconsistency/11/preceding-root1.json create mode 100644 testdata/subtreeconsistency/11/preceding-root2.json create mode 100644 testdata/subtreeconsistency/11/size1-XOR-@2.json create mode 100644 testdata/subtreeconsistency/11/size1-plus-@1.json create mode 100644 testdata/subtreeconsistency/11/size1-sub-@1.json create mode 100644 testdata/subtreeconsistency/11/size2-div-@2.json create mode 100644 testdata/subtreeconsistency/11/size2-mul-@2.json create mode 100644 testdata/subtreeconsistency/11/swapped-roots.json create mode 100644 testdata/subtreeconsistency/11/trailing-garbage.json create mode 100644 testdata/subtreeconsistency/11/trailing-root1.json create mode 100644 testdata/subtreeconsistency/11/trailing-root2.json create mode 100644 testdata/subtreeconsistency/11/truncated-proof.json create mode 100644 testdata/subtreeconsistency/11/wrong-root1.json create mode 100644 testdata/subtreeconsistency/11/wrong-root2.json delete mode 100644 testdata/subtreeconsistency/3/invalid-subtree.json create mode 100644 testdata/subtreeconsistency/5/empty-proof.json create mode 100644 testdata/subtreeconsistency/5/happy-path.json create mode 100644 testdata/subtreeconsistency/5/modified-proof@0-bit-@4.json create mode 100644 testdata/subtreeconsistency/5/modified-proof@1-bit-@4.json create mode 100644 testdata/subtreeconsistency/5/modified-proof@2-bit-@4.json create mode 100644 testdata/subtreeconsistency/5/preceding-garbage.json create mode 100644 testdata/subtreeconsistency/5/preceding-proof-@0.json create mode 100644 testdata/subtreeconsistency/5/preceding-root1.json create mode 100644 testdata/subtreeconsistency/5/preceding-root2.json rename testdata/subtreeconsistency/{4/invalid-subtree.json => 5/size1-XOR-@2.json} (50%) create mode 100644 testdata/subtreeconsistency/5/size1-plus-@1.json create mode 100644 testdata/subtreeconsistency/5/size1-sub-@1.json create mode 100644 testdata/subtreeconsistency/5/size2-div-@2.json create mode 100644 testdata/subtreeconsistency/5/size2-mul-@2.json create mode 100644 testdata/subtreeconsistency/5/swapped-roots.json create mode 100644 testdata/subtreeconsistency/5/trailing-garbage.json create mode 100644 testdata/subtreeconsistency/5/trailing-root1.json create mode 100644 testdata/subtreeconsistency/5/trailing-root2.json create mode 100644 testdata/subtreeconsistency/5/truncated-proof.json create mode 100644 testdata/subtreeconsistency/5/wrong-root1.json create mode 100644 testdata/subtreeconsistency/5/wrong-root2.json create mode 100644 testdata/subtreeconsistency/6/empty-proof.json create mode 100644 testdata/subtreeconsistency/6/happy-path.json create mode 100644 testdata/subtreeconsistency/6/modified-proof@0-bit-@4.json create mode 100644 testdata/subtreeconsistency/6/preceding-garbage.json create mode 100644 testdata/subtreeconsistency/6/preceding-proof-@0.json create mode 100644 testdata/subtreeconsistency/6/preceding-root1.json create mode 100644 testdata/subtreeconsistency/6/preceding-root2.json create mode 100644 testdata/subtreeconsistency/6/size1-XOR-@2.json create mode 100644 testdata/subtreeconsistency/6/size1-plus-@1.json create mode 100644 testdata/subtreeconsistency/6/size1-sub-@1.json create mode 100644 testdata/subtreeconsistency/6/size2-div-@2.json create mode 100644 testdata/subtreeconsistency/6/size2-mul-@2.json create mode 100644 testdata/subtreeconsistency/6/swapped-roots.json create mode 100644 testdata/subtreeconsistency/6/trailing-garbage.json create mode 100644 testdata/subtreeconsistency/6/trailing-root1.json create mode 100644 testdata/subtreeconsistency/6/trailing-root2.json create mode 100644 testdata/subtreeconsistency/6/truncated-proof.json create mode 100644 testdata/subtreeconsistency/6/wrong-root1.json create mode 100644 testdata/subtreeconsistency/6/wrong-root2.json create mode 100644 testdata/subtreeconsistency/7/empty-proof.json create mode 100644 testdata/subtreeconsistency/7/happy-path.json create mode 100644 testdata/subtreeconsistency/7/modified-proof@0-bit-@4.json create mode 100644 testdata/subtreeconsistency/7/modified-proof@1-bit-@4.json create mode 100644 testdata/subtreeconsistency/7/preceding-garbage.json create mode 100644 testdata/subtreeconsistency/7/preceding-proof-@0.json rename testdata/subtreeconsistency/{2/invalid-subtree.json => 7/preceding-root1.json} (66%) create mode 100644 testdata/subtreeconsistency/7/preceding-root2.json create mode 100644 testdata/subtreeconsistency/7/size1-XOR-@2.json create mode 100644 testdata/subtreeconsistency/7/size1-plus-@1.json create mode 100644 testdata/subtreeconsistency/7/size1-sub-@1.json create mode 100644 testdata/subtreeconsistency/7/size2-div-@2.json create mode 100644 testdata/subtreeconsistency/7/size2-mul-@2.json create mode 100644 testdata/subtreeconsistency/7/swapped-roots.json create mode 100644 testdata/subtreeconsistency/7/trailing-garbage.json create mode 100644 testdata/subtreeconsistency/7/trailing-root1.json create mode 100644 testdata/subtreeconsistency/7/trailing-root2.json create mode 100644 testdata/subtreeconsistency/7/truncated-proof.json create mode 100644 testdata/subtreeconsistency/7/wrong-root1.json create mode 100644 testdata/subtreeconsistency/7/wrong-root2.json create mode 100644 testdata/subtreeconsistency/8/empty-proof.json create mode 100644 testdata/subtreeconsistency/8/happy-path.json create mode 100644 testdata/subtreeconsistency/8/modified-proof@0-bit-@4.json create mode 100644 testdata/subtreeconsistency/8/preceding-garbage.json create mode 100644 testdata/subtreeconsistency/8/preceding-proof-@0.json create mode 100644 testdata/subtreeconsistency/8/preceding-root1.json create mode 100644 testdata/subtreeconsistency/8/preceding-root2.json create mode 100644 testdata/subtreeconsistency/8/size1-XOR-@2.json create mode 100644 testdata/subtreeconsistency/8/size1-plus-@1.json create mode 100644 testdata/subtreeconsistency/8/size1-sub-@1.json create mode 100644 testdata/subtreeconsistency/8/size2-div-@2.json create mode 100644 testdata/subtreeconsistency/8/size2-mul-@2.json create mode 100644 testdata/subtreeconsistency/8/swapped-roots.json create mode 100644 testdata/subtreeconsistency/8/trailing-garbage.json create mode 100644 testdata/subtreeconsistency/8/trailing-root1.json create mode 100644 testdata/subtreeconsistency/8/trailing-root2.json create mode 100644 testdata/subtreeconsistency/8/truncated-proof.json create mode 100644 testdata/subtreeconsistency/8/wrong-root1.json create mode 100644 testdata/subtreeconsistency/8/wrong-root2.json create mode 100644 testdata/subtreeconsistency/9/empty-proof.json create mode 100644 testdata/subtreeconsistency/9/happy-path.json create mode 100644 testdata/subtreeconsistency/9/modified-proof@0-bit-@4.json create mode 100644 testdata/subtreeconsistency/9/modified-proof@1-bit-@4.json create mode 100644 testdata/subtreeconsistency/9/modified-proof@2-bit-@4.json create mode 100644 testdata/subtreeconsistency/9/preceding-garbage.json create mode 100644 testdata/subtreeconsistency/9/preceding-proof-@0.json create mode 100644 testdata/subtreeconsistency/9/preceding-root1.json create mode 100644 testdata/subtreeconsistency/9/preceding-root2.json create mode 100644 testdata/subtreeconsistency/9/size1-XOR-@2.json create mode 100644 testdata/subtreeconsistency/9/size1-plus-@1.json create mode 100644 testdata/subtreeconsistency/9/size1-sub-@1.json create mode 100644 testdata/subtreeconsistency/9/size2-div-@2.json create mode 100644 testdata/subtreeconsistency/9/size2-mul-@2.json create mode 100644 testdata/subtreeconsistency/9/swapped-roots.json create mode 100644 testdata/subtreeconsistency/9/trailing-garbage.json create mode 100644 testdata/subtreeconsistency/9/trailing-root1.json create mode 100644 testdata/subtreeconsistency/9/trailing-root2.json create mode 100644 testdata/subtreeconsistency/9/truncated-proof.json create mode 100644 testdata/subtreeconsistency/9/wrong-root1.json create mode 100644 testdata/subtreeconsistency/9/wrong-root2.json delete mode 100644 testdata/subtreeconsistency/additional/consistency-check-on-empty-tree-size1-is-zero-is-useless.json delete mode 100644 testdata/subtreeconsistency/additional/roots-do-not-not-match-and-sizes-are-one.json delete mode 100644 testdata/subtreeconsistency/additional/sizes-are-equal-zero-and-proof-is-empty.json delete mode 100644 testdata/subtreeconsistency/additional/sizes-do-not-watch-and-proof-is-empty.json create mode 100644 testdata/subtreeinclusion/0/empty-root-subtree.json create mode 100644 testdata/subtreeinclusion/0/empty-root.json create mode 100644 testdata/subtreeinclusion/0/happy-path-subtree.json create mode 100644 testdata/subtreeinclusion/0/happy-path.json create mode 100644 testdata/subtreeinclusion/0/leafIdx-XOR-@2-subtree.json create mode 100644 testdata/subtreeinclusion/0/leafIdx-XOR-@2.json create mode 100644 testdata/subtreeinclusion/0/leafIdx-plus-@1-subtree.json create mode 100644 testdata/subtreeinclusion/0/leafIdx-plus-@1.json create mode 100644 testdata/subtreeinclusion/0/leafIdx-sub-@1-subtree.json create mode 100644 testdata/subtreeinclusion/0/leafIdx-sub-@1.json create mode 100644 testdata/subtreeinclusion/0/preceding-garbage-subtree.json create mode 100644 testdata/subtreeinclusion/0/preceding-garbage.json create mode 100644 testdata/subtreeinclusion/0/preceding-root-subtree.json create mode 100644 testdata/subtreeinclusion/0/preceding-root.json create mode 100644 testdata/subtreeinclusion/0/random-root-subtree.json create mode 100644 testdata/subtreeinclusion/0/random-root.json create mode 100644 testdata/subtreeinclusion/0/trailing-garbage-subtree.json create mode 100644 testdata/subtreeinclusion/0/trailing-garbage.json create mode 100644 testdata/subtreeinclusion/0/trailing-root-subtree.json create mode 100644 testdata/subtreeinclusion/0/trailing-root.json create mode 100644 testdata/subtreeinclusion/0/treeSize-div-@2-subtree.json create mode 100644 testdata/subtreeinclusion/0/treeSize-div-@2.json create mode 100644 testdata/subtreeinclusion/0/treeSize-mul-@2-subtree.json create mode 100644 testdata/subtreeinclusion/0/treeSize-mul-@2.json create mode 100644 testdata/subtreeinclusion/0/wrong-leaf-subtree.json create mode 100644 testdata/subtreeinclusion/0/wrong-leaf.json create mode 100644 testdata/subtreeinclusion/1/empty-root-subtree.json create mode 100644 testdata/subtreeinclusion/1/empty-root.json create mode 100644 testdata/subtreeinclusion/1/happy-path-subtree.json create mode 100644 testdata/subtreeinclusion/1/happy-path.json create mode 100644 testdata/subtreeinclusion/1/inserted-component-subtree.json create mode 100644 testdata/subtreeinclusion/1/inserted-component.json create mode 100644 testdata/subtreeinclusion/1/leafIdx-XOR-@2-subtree.json create mode 100644 testdata/subtreeinclusion/1/leafIdx-XOR-@2.json create mode 100644 testdata/subtreeinclusion/1/leafIdx-plus-@1-subtree.json create mode 100644 testdata/subtreeinclusion/1/leafIdx-plus-@1.json create mode 100644 testdata/subtreeinclusion/1/leafIdx-sub-@1-subtree.json create mode 100644 testdata/subtreeinclusion/1/leafIdx-sub-@1.json create mode 100644 testdata/subtreeinclusion/1/modified-proof[0]-bit-@3-subtree.json create mode 100644 testdata/subtreeinclusion/1/modified-proof[0]-bit-@3.json create mode 100644 testdata/subtreeinclusion/1/modified-proof[1]-bit-@3-subtree.json create mode 100644 testdata/subtreeinclusion/1/modified-proof[1]-bit-@3.json create mode 100644 testdata/subtreeinclusion/1/modified-proof[2]-bit-@3-subtree.json create mode 100644 testdata/subtreeinclusion/1/modified-proof[2]-bit-@3.json create mode 100644 testdata/subtreeinclusion/1/preceding-garbage-subtree.json create mode 100644 testdata/subtreeinclusion/1/preceding-garbage.json create mode 100644 testdata/subtreeinclusion/1/preceding-root-subtree.json create mode 100644 testdata/subtreeinclusion/1/preceding-root.json create mode 100644 testdata/subtreeinclusion/1/random-root-subtree.json create mode 100644 testdata/subtreeinclusion/1/random-root.json create mode 100644 testdata/subtreeinclusion/1/removed-component-subtree.json create mode 100644 testdata/subtreeinclusion/1/removed-component.json create mode 100644 testdata/subtreeinclusion/1/trailing-garbage-subtree.json create mode 100644 testdata/subtreeinclusion/1/trailing-garbage.json create mode 100644 testdata/subtreeinclusion/1/trailing-root-subtree.json create mode 100644 testdata/subtreeinclusion/1/trailing-root.json create mode 100644 testdata/subtreeinclusion/1/treeSize-div-@2-subtree.json create mode 100644 testdata/subtreeinclusion/1/treeSize-div-@2.json create mode 100644 testdata/subtreeinclusion/1/treeSize-mul-@2-subtree.json create mode 100644 testdata/subtreeinclusion/1/treeSize-mul-@2.json create mode 100644 testdata/subtreeinclusion/1/wrong-leaf-subtree.json create mode 100644 testdata/subtreeinclusion/1/wrong-leaf.json create mode 100644 testdata/subtreeinclusion/2/empty-root-subtree.json create mode 100644 testdata/subtreeinclusion/2/empty-root.json create mode 100644 testdata/subtreeinclusion/2/happy-path-subtree.json create mode 100644 testdata/subtreeinclusion/2/happy-path.json create mode 100644 testdata/subtreeinclusion/2/inserted-component-subtree.json create mode 100644 testdata/subtreeinclusion/2/inserted-component.json create mode 100644 testdata/subtreeinclusion/2/leafIdx-XOR-@2-subtree.json create mode 100644 testdata/subtreeinclusion/2/leafIdx-XOR-@2.json create mode 100644 testdata/subtreeinclusion/2/leafIdx-plus-@1-subtree.json create mode 100644 testdata/subtreeinclusion/2/leafIdx-plus-@1.json create mode 100644 testdata/subtreeinclusion/2/leafIdx-sub-@1-subtree.json create mode 100644 testdata/subtreeinclusion/2/leafIdx-sub-@1.json create mode 100644 testdata/subtreeinclusion/2/modified-proof[0]-bit-@3-subtree.json create mode 100644 testdata/subtreeinclusion/2/modified-proof[0]-bit-@3.json create mode 100644 testdata/subtreeinclusion/2/modified-proof[1]-bit-@3-subtree.json create mode 100644 testdata/subtreeinclusion/2/modified-proof[1]-bit-@3.json create mode 100644 testdata/subtreeinclusion/2/modified-proof[2]-bit-@3-subtree.json create mode 100644 testdata/subtreeinclusion/2/modified-proof[2]-bit-@3.json create mode 100644 testdata/subtreeinclusion/2/preceding-garbage-subtree.json create mode 100644 testdata/subtreeinclusion/2/preceding-garbage.json create mode 100644 testdata/subtreeinclusion/2/preceding-root-subtree.json create mode 100644 testdata/subtreeinclusion/2/preceding-root.json create mode 100644 testdata/subtreeinclusion/2/random-root-subtree.json create mode 100644 testdata/subtreeinclusion/2/random-root.json create mode 100644 testdata/subtreeinclusion/2/removed-component-subtree.json create mode 100644 testdata/subtreeinclusion/2/removed-component.json create mode 100644 testdata/subtreeinclusion/2/trailing-garbage-subtree.json create mode 100644 testdata/subtreeinclusion/2/trailing-garbage.json create mode 100644 testdata/subtreeinclusion/2/trailing-root-subtree.json create mode 100644 testdata/subtreeinclusion/2/trailing-root.json create mode 100644 testdata/subtreeinclusion/2/treeSize-div-@2-subtree.json create mode 100644 testdata/subtreeinclusion/2/treeSize-div-@2.json create mode 100644 testdata/subtreeinclusion/2/treeSize-mul-@2-subtree.json create mode 100644 testdata/subtreeinclusion/2/treeSize-mul-@2.json create mode 100644 testdata/subtreeinclusion/2/wrong-leaf-subtree.json create mode 100644 testdata/subtreeinclusion/2/wrong-leaf.json create mode 100644 testdata/subtreeinclusion/3/empty-root-subtree.json create mode 100644 testdata/subtreeinclusion/3/empty-root.json create mode 100644 testdata/subtreeinclusion/3/happy-path-subtree.json create mode 100644 testdata/subtreeinclusion/3/happy-path.json create mode 100644 testdata/subtreeinclusion/3/leafIdx-XOR-@2-subtree.json create mode 100644 testdata/subtreeinclusion/3/leafIdx-XOR-@2.json create mode 100644 testdata/subtreeinclusion/3/leafIdx-plus-@1-subtree.json create mode 100644 testdata/subtreeinclusion/3/leafIdx-plus-@1.json create mode 100644 testdata/subtreeinclusion/3/leafIdx-sub-@1-subtree.json create mode 100644 testdata/subtreeinclusion/3/leafIdx-sub-@1.json create mode 100644 testdata/subtreeinclusion/3/modified-proof[0]-bit-@3-subtree.json create mode 100644 testdata/subtreeinclusion/3/modified-proof[0]-bit-@3.json create mode 100644 testdata/subtreeinclusion/3/preceding-garbage-subtree.json create mode 100644 testdata/subtreeinclusion/3/preceding-garbage.json create mode 100644 testdata/subtreeinclusion/3/preceding-root-subtree.json create mode 100644 testdata/subtreeinclusion/3/preceding-root.json create mode 100644 testdata/subtreeinclusion/3/random-root-subtree.json create mode 100644 testdata/subtreeinclusion/3/random-root.json create mode 100644 testdata/subtreeinclusion/3/removed-component-subtree.json create mode 100644 testdata/subtreeinclusion/3/removed-component.json create mode 100644 testdata/subtreeinclusion/3/trailing-garbage-subtree.json create mode 100644 testdata/subtreeinclusion/3/trailing-garbage.json create mode 100644 testdata/subtreeinclusion/3/trailing-root-subtree.json create mode 100644 testdata/subtreeinclusion/3/trailing-root.json create mode 100644 testdata/subtreeinclusion/3/treeSize-div-@2-subtree.json create mode 100644 testdata/subtreeinclusion/3/treeSize-div-@2.json create mode 100644 testdata/subtreeinclusion/3/treeSize-mul-@2-subtree.json create mode 100644 testdata/subtreeinclusion/3/treeSize-mul-@2.json create mode 100644 testdata/subtreeinclusion/3/wrong-leaf-subtree.json create mode 100644 testdata/subtreeinclusion/3/wrong-leaf.json create mode 100644 testdata/subtreeinclusion/4/empty-root-subtree.json create mode 100644 testdata/subtreeinclusion/4/empty-root.json create mode 100644 testdata/subtreeinclusion/4/happy-path-subtree.json create mode 100644 testdata/subtreeinclusion/4/happy-path.json create mode 100644 testdata/subtreeinclusion/4/inserted-component-subtree.json create mode 100644 testdata/subtreeinclusion/4/inserted-component.json create mode 100644 testdata/subtreeinclusion/4/leafIdx-XOR-@2-subtree.json create mode 100644 testdata/subtreeinclusion/4/leafIdx-XOR-@2.json create mode 100644 testdata/subtreeinclusion/4/leafIdx-plus-@1-subtree.json create mode 100644 testdata/subtreeinclusion/4/leafIdx-plus-@1.json create mode 100644 testdata/subtreeinclusion/4/leafIdx-sub-@1-subtree.json create mode 100644 testdata/subtreeinclusion/4/leafIdx-sub-@1.json create mode 100644 testdata/subtreeinclusion/4/modified-proof[0]-bit-@3-subtree.json create mode 100644 testdata/subtreeinclusion/4/modified-proof[0]-bit-@3.json create mode 100644 testdata/subtreeinclusion/4/modified-proof[1]-bit-@3-subtree.json create mode 100644 testdata/subtreeinclusion/4/modified-proof[1]-bit-@3.json create mode 100644 testdata/subtreeinclusion/4/modified-proof[2]-bit-@3-subtree.json create mode 100644 testdata/subtreeinclusion/4/modified-proof[2]-bit-@3.json create mode 100644 testdata/subtreeinclusion/4/preceding-garbage-subtree.json create mode 100644 testdata/subtreeinclusion/4/preceding-garbage.json create mode 100644 testdata/subtreeinclusion/4/preceding-root-subtree.json create mode 100644 testdata/subtreeinclusion/4/preceding-root.json create mode 100644 testdata/subtreeinclusion/4/random-root-subtree.json create mode 100644 testdata/subtreeinclusion/4/random-root.json create mode 100644 testdata/subtreeinclusion/4/removed-component-subtree.json create mode 100644 testdata/subtreeinclusion/4/removed-component.json create mode 100644 testdata/subtreeinclusion/4/trailing-garbage-subtree.json create mode 100644 testdata/subtreeinclusion/4/trailing-garbage.json create mode 100644 testdata/subtreeinclusion/4/trailing-root-subtree.json create mode 100644 testdata/subtreeinclusion/4/trailing-root.json create mode 100644 testdata/subtreeinclusion/4/treeSize-div-@2-subtree.json create mode 100644 testdata/subtreeinclusion/4/treeSize-div-@2.json create mode 100644 testdata/subtreeinclusion/4/treeSize-mul-@2-subtree.json create mode 100644 testdata/subtreeinclusion/4/treeSize-mul-@2.json create mode 100644 testdata/subtreeinclusion/4/wrong-leaf-subtree.json create mode 100644 testdata/subtreeinclusion/4/wrong-leaf.json create mode 100644 testdata/subtreeinclusion/additional/0/empty-root-and-random-leaf-subtree.json create mode 100644 testdata/subtreeinclusion/additional/0/empty-root-and-random-leaf.json create mode 100644 testdata/subtreeinclusion/additional/0/empty-root-subtree.json create mode 100644 testdata/subtreeinclusion/additional/0/empty-root.json create mode 100644 testdata/subtreeinclusion/additional/0/random-leaf-subtree.json create mode 100644 testdata/subtreeinclusion/additional/0/random-leaf.json create mode 100644 testdata/subtreeinclusion/additional/1/empty-root-and-random-leaf-subtree.json create mode 100644 testdata/subtreeinclusion/additional/1/empty-root-and-random-leaf.json create mode 100644 testdata/subtreeinclusion/additional/1/empty-root-subtree.json create mode 100644 testdata/subtreeinclusion/additional/1/empty-root.json create mode 100644 testdata/subtreeinclusion/additional/1/random-leaf-subtree.json create mode 100644 testdata/subtreeinclusion/additional/1/random-leaf.json create mode 100644 testdata/subtreeinclusion/additional/2/empty-root-and-random-leaf-subtree.json create mode 100644 testdata/subtreeinclusion/additional/2/empty-root-and-random-leaf.json create mode 100644 testdata/subtreeinclusion/additional/2/empty-root-subtree.json create mode 100644 testdata/subtreeinclusion/additional/2/empty-root.json create mode 100644 testdata/subtreeinclusion/additional/2/random-leaf-subtree.json create mode 100644 testdata/subtreeinclusion/additional/2/random-leaf.json create mode 100644 testdata/subtreeinclusion/additional/3/empty-root-and-random-leaf-subtree.json create mode 100644 testdata/subtreeinclusion/additional/3/empty-root-and-random-leaf.json create mode 100644 testdata/subtreeinclusion/additional/3/empty-root-subtree.json create mode 100644 testdata/subtreeinclusion/additional/3/empty-root.json create mode 100644 testdata/subtreeinclusion/additional/3/random-leaf-subtree.json create mode 100644 testdata/subtreeinclusion/additional/3/random-leaf.json create mode 100644 testdata/subtreeinclusion/errors/everything-zero.json create mode 100644 testdata/subtreeinclusion/errors/invalid-large-subtree.json create mode 100644 testdata/subtreeinclusion/errors/invalid-subtree.json create mode 100644 testdata/subtreeinclusion/errors/oob-left.json create mode 100644 testdata/subtreeinclusion/errors/oob-right-2.json create mode 100644 testdata/subtreeinclusion/errors/oob-right.json create mode 100644 testdata/subtreeinclusion/errors/start-equals-end.json create mode 100644 testdata/subtreeinclusion/errors/start-larger-than-end.json create mode 100644 testdata/subtreeinclusion/single-entry/empty-leaf-subtree.json create mode 100644 testdata/subtreeinclusion/single-entry/empty-leaf.json create mode 100644 testdata/subtreeinclusion/single-entry/empty-root-and-leaf-subtree.json create mode 100644 testdata/subtreeinclusion/single-entry/empty-root-and-leaf.json create mode 100644 testdata/subtreeinclusion/single-entry/empty-root-subtree.json create mode 100644 testdata/subtreeinclusion/single-entry/empty-root.json create mode 100644 testdata/subtreeinclusion/single-entry/matching-root-and-leaf-subtree.json create mode 100644 testdata/subtreeinclusion/single-entry/matching-root-and-leaf.json diff --git a/cmd/proofgen/main.go b/cmd/proofgen/main.go index 50145c4e..b73d978a 100644 --- a/cmd/proofgen/main.go +++ b/cmd/proofgen/main.go @@ -90,6 +90,74 @@ var ( }}, } + subtreeConsistencyProofs = []struct { + start uint64 + end uint64 + size uint64 + proof [][]byte + root1 []byte + root2 []byte + }{ + // start = zero: + {0, 1, 1, nil, roots[0], roots[0]}, + {0, 1, 8, [][]byte{ + dh("96a296d224f285c67bee93c30f8a309157f0daa35dc5b87e410b78630a09cfc7", 32), + dh("5f083f0a1a33ca076a95279832580db3e0ef4584bdff1f54c8a360f50de3031e", 32), + dh("6b47aaf29ee3c2af9af889bc1fb9254dabd31177f16232dd6aab035ca39bf6e4", 32), + }, roots[0], roots[7]}, + {0, 6, 8, [][]byte{ + dh("0ebc5d3437fbe2db158b9f126a1d118e308181031d0a949f8dededebc558ef6a", 32), + dh("ca854ea128ed050b41b35ffc1b87b8eb2bde461e9e3b5596ece6b9d5975a0ae0", 32), + dh("d37ee418976dd95753c1c73862b9398fa2a2cf9b4ff0fdfe8b30cd95209614b7", 32), + }, roots[5], roots[7]}, + {0, 2, 5, [][]byte{ + dh("5f083f0a1a33ca076a95279832580db3e0ef4584bdff1f54c8a360f50de3031e", 32), + dh("bc1a0643b12e4d2d7c77918f44e0f4f79a838b6cf9ec5b5c283e1f4d88599e6b", 32), + }, roots[1], roots[4]}, + {0, 6, 7, [][]byte{ + dh("0ebc5d3437fbe2db158b9f126a1d118e308181031d0a949f8dededebc558ef6a", 32), + dh("b08693ec2e721597130641e8211e7eedccb4c26413963eee6c1e2ed16ffb1a5f", 32), + dh("d37ee418976dd95753c1c73862b9398fa2a2cf9b4ff0fdfe8b30cd95209614b7", 32), + }, roots[5], roots[6]}, + // start > 0: + // end = size and single entry: + {7, 8, 8, [][]byte{ + dh("b08693ec2e721597130641e8211e7eedccb4c26413963eee6c1e2ed16ffb1a5f", 32), + dh("0ebc5d3437fbe2db158b9f126a1d118e308181031d0a949f8dededebc558ef6a", 32), + roots[3], + }, dh("46f6ffadd3d06a09ff3c5860d2755c8b9819db7df44251788c7d8e3180de8eb1", 32), roots[7]}, + // end = size and perfect: + {4, 8, 8, [][]byte{ + roots[3], // left sibling [0, 4) + }, dh("6b47aaf29ee3c2af9af889bc1fb9254dabd31177f16232dd6aab035ca39bf6e4", 32), roots[7]}, + {6, 8, 8, [][]byte{ + dh("0ebc5d3437fbe2db158b9f126a1d118e308181031d0a949f8dededebc558ef6a", 32), + roots[3], + }, dh("ca854ea128ed050b41b35ffc1b87b8eb2bde461e9e3b5596ece6b9d5975a0ae0", 32), roots[7]}, + // end = size and not perfect: + {4, 7, 7, [][]byte{ + roots[3], + }, dh("837dbb152e9b079010717e84e865da4ebc0fa198a806d59d31bf15accef22d0e", 32), roots[6]}, + // end < size and single entry: + {4, 5, 8, [][]byte{ + dh("4271a26be0d8a84f0bd54c8c302e7cb3a3b5d1fa6780a40bcce2873477dab658", 32), + dh("ca854ea128ed050b41b35ffc1b87b8eb2bde461e9e3b5596ece6b9d5975a0ae0", 32), + roots[3], + }, dh("bc1a0643b12e4d2d7c77918f44e0f4f79a838b6cf9ec5b5c283e1f4d88599e6b", 32), roots[7]}, + // end < size and perfect: + {2, 4, 8, [][]byte{ + dh("fac54203e7cc696cf0dfcb42c92a1d9dbaf70ad9e621f4bd8d98662f00e3c125", 32), + dh("6b47aaf29ee3c2af9af889bc1fb9254dabd31177f16232dd6aab035ca39bf6e4", 32), + }, dh("5f083f0a1a33ca076a95279832580db3e0ef4584bdff1f54c8a360f50de3031e", 32), roots[7]}, + // end < size and not perfect: + {4, 7, 8, [][]byte{ + dh("b08693ec2e721597130641e8211e7eedccb4c26413963eee6c1e2ed16ffb1a5f", 32), + dh("46f6ffadd3d06a09ff3c5860d2755c8b9819db7df44251788c7d8e3180de8eb1", 32), + dh("0ebc5d3437fbe2db158b9f126a1d118e308181031d0a949f8dededebc558ef6a", 32), + roots[3], + }, dh("837dbb152e9b079010717e84e865da4ebc0fa198a806d59d31bf15accef22d0e", 32), roots[7]}, + } + roots = [][]byte{ dh("6e340b9cffb37a989ca544e6bb780a2c78901d3fb33738768511a30617afa01d", 32), dh("fac54203e7cc696cf0dfcb42c92a1d9dbaf70ad9e621f4bd8d98662f00e3c125", 32), @@ -671,14 +739,14 @@ type subtreeConsistencyProbe struct { } func subtreeConsistencyProbes(rootDir string) error { - for i, p := range consistencyProofs { + for i, p := range subtreeConsistencyProofs { dir := filepath.Join(rootDir, strconv.Itoa(i)) if err := os.MkdirAll(dir, 0755); err != nil { return err } - if err := corruptedSubtreeConsistencyProbes(dir, p.size1, p.size2, p.proof, - roots[p.size1-1], roots[p.size2-1]); err != nil { + if err := corruptedSubtreeConsistencyProbes(dir, p.start, p.end, p.size, p.proof, + p.root1, p.root2); err != nil { return fmt.Errorf("write subtree consistency test data: %s", err) } } @@ -695,8 +763,8 @@ func subtreeConsistencyProbes(rootDir string) error { return nil } -func corruptedSubtreeConsistencyProbes(dir string, size1, size2 uint64, proof [][]byte, root1, root2 []byte) error { - happyPath := subtreeConsistencyProbe{0, size1, size2, root1, root2, proof, "happy path", false} +func corruptedSubtreeConsistencyProbes(dir string, start, end, size uint64, proof [][]byte, root1, root2 []byte) error { + happyPath := subtreeConsistencyProbe{start, end, size, root1, root2, proof, "happy path", false} if err := writeSubtreeConsistencyProbe(dir, happyPath); err != nil { return err } @@ -705,7 +773,7 @@ func corruptedSubtreeConsistencyProbes(dir string, size1, size2 uint64, proof [] return nil } - probes := invalidSubtreeConsistencyProof(size1, size2, root1, root2, proof) + probes := invalidSubtreeConsistencyProof(start, end, size, root1, root2, proof) for _, p := range probes { if err := writeSubtreeConsistencyProbe(dir, p); err != nil { return err @@ -715,36 +783,36 @@ func corruptedSubtreeConsistencyProbes(dir string, size1, size2 uint64, proof [] return nil } -func invalidSubtreeConsistencyProof(end, size uint64, root1, root2 []byte, proof [][]byte) []subtreeConsistencyProbe { +func invalidSubtreeConsistencyProof(start, end, size uint64, root1, root2 []byte, proof [][]byte) []subtreeConsistencyProbe { ln := len(proof) ret := []subtreeConsistencyProbe{ // Wrong end (size1). - {0, end - 1, size, root1, root2, proof, "size1 sub @1", true}, - {0, end + 1, size, root1, root2, proof, "size1 plus @1", true}, - {0, end ^ 2, size, root1, root2, proof, "size1 XOR @2", true}, + {start, end - 1, size, root1, root2, proof, "size1 sub @1", true}, + {start, end + 1, size, root1, root2, proof, "size1 plus @1", true}, + {start, end ^ 2, size, root1, root2, proof, "size1 XOR @2", true}, // Wrong tree size (size2). - {0, end, size * 2, root1, root2, proof, "size2 mul @2", true}, - {0, end, size / 2, root1, root2, proof, "size2 div @2", true}, + {start, end, size * 2, root1, root2, proof, "size2 mul @2", true}, + {start, end, size / 2, root1, root2, proof, "size2 div @2", true}, // Wrong root. - {0, end, size, []byte("WrongRoot"), root2, proof, "wrong root1", true}, - {0, end, size, root1, []byte("WrongRoot"), proof, "wrong root2", true}, - {0, end, size, root2, root1, proof, "swapped roots", true}, + {start, end, size, []byte("WrongRoot"), root2, proof, "wrong root1", true}, + {start, end, size, root1, []byte("WrongRoot"), proof, "wrong root2", true}, + {start, end, size, root2, root1, proof, "swapped roots", true}, // Empty proof. - {0, end, size, root1, root2, [][]byte{}, "empty proof", true}, + {start, end, size, root1, root2, [][]byte{}, "empty proof", true}, // Add garbage at the end. - {0, end, size, root1, root2, extend(proof, []byte{}), "trailing garbage", true}, - {0, end, size, root1, root2, extend(proof, root1), "trailing root1", true}, - {0, end, size, root1, root2, extend(proof, root2), "trailing root2", true}, + {start, end, size, root1, root2, extend(proof, []byte{}), "trailing garbage", true}, + {start, end, size, root1, root2, extend(proof, root1), "trailing root1", true}, + {start, end, size, root1, root2, extend(proof, root2), "trailing root2", true}, // Add garbage at the front. - {0, end, size, root1, root2, prepend(proof, []byte{}), "preceding garbage", true}, - {0, end, size, root1, root2, prepend(proof, root1), "preceding root1", true}, - {0, end, size, root1, root2, prepend(proof, root2), "preceding root2", true}, - {0, end, size, root1, root2, prepend(proof, proof[0]), "preceding proof @0", true}, + {start, end, size, root1, root2, prepend(proof, []byte{}), "preceding garbage", true}, + {start, end, size, root1, root2, prepend(proof, root1), "preceding root1", true}, + {start, end, size, root1, root2, prepend(proof, root2), "preceding root2", true}, + {start, end, size, root1, root2, prepend(proof, proof[0]), "preceding proof @0", true}, } // Remove a node from the end. if ln > 0 { - ret = append(ret, subtreeConsistencyProbe{0, end, size, root1, root2, proof[:ln-1], "truncated proof", true}) + ret = append(ret, subtreeConsistencyProbe{start, end, size, root1, root2, proof[:ln-1], "truncated proof", true}) } // Modify single bit in an element of the proof. @@ -753,7 +821,7 @@ func invalidSubtreeConsistencyProof(end, size uint64, root1, root2 []byte, proof wrongProof[i] = append([]byte(nil), wrongProof[i]...) // But also the modified data. wrongProof[i][0] ^= 16 // Flip the bit. desc := fmt.Sprintf("modified proof@%d bit @4", i) - ret = append(ret, subtreeConsistencyProbe{0, end, size, root1, root2, wrongProof, desc, true}) + ret = append(ret, subtreeConsistencyProbe{start, end, size, root1, root2, wrongProof, desc, true}) } return ret @@ -785,6 +853,7 @@ func staticSubtreeConsistencyProbes(dir string) error { {1, 1, 2, sha256EmptyTreeHash, sha256EmptyTreeHash, proof2, "subtree is empty roots valid but proof is not empty", true}, {1, 1, 2, root1, root1, proof1, "subtree is empty roots match but not valid", true}, // Invalid subtree boundaries (not a multiple of power of 2 >= end - start). + // Invalid subtree boundaries (not a multiple of power of 2 >= end - start): {1, 15, 15, root1, root2, proof1, "invalid subtree start 1 end 15 size 15", true}, {1, 3, 8, root1, root2, proof1, "invalid subtree start 1 end 3 size 8", true}, {2, 5, 8, root1, root2, proof1, "invalid subtree start 2 end 5 size 8", true}, diff --git a/testdata/subtreeconsistency/10/empty-proof.json b/testdata/subtreeconsistency/10/empty-proof.json new file mode 100644 index 00000000..4bcf836a --- /dev/null +++ b/testdata/subtreeconsistency/10/empty-proof.json @@ -0,0 +1,10 @@ +{ + "start": 2, + "end": 4, + "size": 8, + "root1": "Xwg/ChozygdqlSeYMlgNs+DvRYS9/x9UyKNg9Q3jAx4=", + "root2": "XcnaeacGWamtVZy3Ad7ZoqudgjqtL0lgz+Nw7/RgQyg=", + "proof": [], + "desc": "empty proof", + "wantErr": true +} \ No newline at end of file diff --git a/testdata/subtreeconsistency/10/happy-path.json b/testdata/subtreeconsistency/10/happy-path.json new file mode 100644 index 00000000..577eedc5 --- /dev/null +++ b/testdata/subtreeconsistency/10/happy-path.json @@ -0,0 +1,13 @@ +{ + "start": 2, + "end": 4, + "size": 8, + "root1": "Xwg/ChozygdqlSeYMlgNs+DvRYS9/x9UyKNg9Q3jAx4=", + "root2": "XcnaeacGWamtVZy3Ad7ZoqudgjqtL0lgz+Nw7/RgQyg=", + "proof": [ + "+sVCA+fMaWzw38tCySodnbr3CtnmIfS9jZhmLwDjwSU=", + "a0eq8p7jwq+a+Im8H7klTavTEXfxYjLdaqsDXKOb9uQ=" + ], + "desc": "happy path", + "wantErr": false +} \ No newline at end of file diff --git a/testdata/subtreeconsistency/10/modified-proof@0-bit-@4.json b/testdata/subtreeconsistency/10/modified-proof@0-bit-@4.json new file mode 100644 index 00000000..87718b1d --- /dev/null +++ b/testdata/subtreeconsistency/10/modified-proof@0-bit-@4.json @@ -0,0 +1,13 @@ +{ + "start": 2, + "end": 4, + "size": 8, + "root1": "Xwg/ChozygdqlSeYMlgNs+DvRYS9/x9UyKNg9Q3jAx4=", + "root2": "XcnaeacGWamtVZy3Ad7ZoqudgjqtL0lgz+Nw7/RgQyg=", + "proof": [ + "6sVCA+fMaWzw38tCySodnbr3CtnmIfS9jZhmLwDjwSU=", + "a0eq8p7jwq+a+Im8H7klTavTEXfxYjLdaqsDXKOb9uQ=" + ], + "desc": "modified proof@0 bit @4", + "wantErr": true +} \ No newline at end of file diff --git a/testdata/subtreeconsistency/10/modified-proof@1-bit-@4.json b/testdata/subtreeconsistency/10/modified-proof@1-bit-@4.json new file mode 100644 index 00000000..25f5cb47 --- /dev/null +++ b/testdata/subtreeconsistency/10/modified-proof@1-bit-@4.json @@ -0,0 +1,13 @@ +{ + "start": 2, + "end": 4, + "size": 8, + "root1": "Xwg/ChozygdqlSeYMlgNs+DvRYS9/x9UyKNg9Q3jAx4=", + "root2": "XcnaeacGWamtVZy3Ad7ZoqudgjqtL0lgz+Nw7/RgQyg=", + "proof": [ + "+sVCA+fMaWzw38tCySodnbr3CtnmIfS9jZhmLwDjwSU=", + "e0eq8p7jwq+a+Im8H7klTavTEXfxYjLdaqsDXKOb9uQ=" + ], + "desc": "modified proof@1 bit @4", + "wantErr": true +} \ No newline at end of file diff --git a/testdata/subtreeconsistency/10/preceding-garbage.json b/testdata/subtreeconsistency/10/preceding-garbage.json new file mode 100644 index 00000000..5ab42677 --- /dev/null +++ b/testdata/subtreeconsistency/10/preceding-garbage.json @@ -0,0 +1,14 @@ +{ + "start": 2, + "end": 4, + "size": 8, + "root1": "Xwg/ChozygdqlSeYMlgNs+DvRYS9/x9UyKNg9Q3jAx4=", + "root2": "XcnaeacGWamtVZy3Ad7ZoqudgjqtL0lgz+Nw7/RgQyg=", + "proof": [ + "", + "+sVCA+fMaWzw38tCySodnbr3CtnmIfS9jZhmLwDjwSU=", + "a0eq8p7jwq+a+Im8H7klTavTEXfxYjLdaqsDXKOb9uQ=" + ], + "desc": "preceding garbage", + "wantErr": true +} \ No newline at end of file diff --git a/testdata/subtreeconsistency/10/preceding-proof-@0.json b/testdata/subtreeconsistency/10/preceding-proof-@0.json new file mode 100644 index 00000000..bcc729f3 --- /dev/null +++ b/testdata/subtreeconsistency/10/preceding-proof-@0.json @@ -0,0 +1,14 @@ +{ + "start": 2, + "end": 4, + "size": 8, + "root1": "Xwg/ChozygdqlSeYMlgNs+DvRYS9/x9UyKNg9Q3jAx4=", + "root2": "XcnaeacGWamtVZy3Ad7ZoqudgjqtL0lgz+Nw7/RgQyg=", + "proof": [ + "+sVCA+fMaWzw38tCySodnbr3CtnmIfS9jZhmLwDjwSU=", + "+sVCA+fMaWzw38tCySodnbr3CtnmIfS9jZhmLwDjwSU=", + "a0eq8p7jwq+a+Im8H7klTavTEXfxYjLdaqsDXKOb9uQ=" + ], + "desc": "preceding proof @0", + "wantErr": true +} \ No newline at end of file diff --git a/testdata/subtreeconsistency/1/invalid-subtree.json b/testdata/subtreeconsistency/10/preceding-root1.json similarity index 52% rename from testdata/subtreeconsistency/1/invalid-subtree.json rename to testdata/subtreeconsistency/10/preceding-root1.json index f1d5b493..e6196f46 100644 --- a/testdata/subtreeconsistency/1/invalid-subtree.json +++ b/testdata/subtreeconsistency/10/preceding-root1.json @@ -1,14 +1,14 @@ { - "start": 1, - "end": 15, - "size": 15, - "root1": "bjQLnP+zepicpUTmu3gKLHiQHT+zNzh2hRGjBhevoB0=", + "start": 2, + "end": 4, + "size": 8, + "root1": "Xwg/ChozygdqlSeYMlgNs+DvRYS9/x9UyKNg9Q3jAx4=", "root2": "XcnaeacGWamtVZy3Ad7ZoqudgjqtL0lgz+Nw7/RgQyg=", "proof": [ - "lqKW0iTyhcZ77pPDD4owkVfw2qNdxbh+QQt4YwoJz8c=", "Xwg/ChozygdqlSeYMlgNs+DvRYS9/x9UyKNg9Q3jAx4=", + "+sVCA+fMaWzw38tCySodnbr3CtnmIfS9jZhmLwDjwSU=", "a0eq8p7jwq+a+Im8H7klTavTEXfxYjLdaqsDXKOb9uQ=" ], - "desc": "invalid subtree", + "desc": "preceding root1", "wantErr": true } \ No newline at end of file diff --git a/testdata/subtreeconsistency/10/preceding-root2.json b/testdata/subtreeconsistency/10/preceding-root2.json new file mode 100644 index 00000000..6457e735 --- /dev/null +++ b/testdata/subtreeconsistency/10/preceding-root2.json @@ -0,0 +1,14 @@ +{ + "start": 2, + "end": 4, + "size": 8, + "root1": "Xwg/ChozygdqlSeYMlgNs+DvRYS9/x9UyKNg9Q3jAx4=", + "root2": "XcnaeacGWamtVZy3Ad7ZoqudgjqtL0lgz+Nw7/RgQyg=", + "proof": [ + "XcnaeacGWamtVZy3Ad7ZoqudgjqtL0lgz+Nw7/RgQyg=", + "+sVCA+fMaWzw38tCySodnbr3CtnmIfS9jZhmLwDjwSU=", + "a0eq8p7jwq+a+Im8H7klTavTEXfxYjLdaqsDXKOb9uQ=" + ], + "desc": "preceding root2", + "wantErr": true +} \ No newline at end of file diff --git a/testdata/subtreeconsistency/10/size1-XOR-@2.json b/testdata/subtreeconsistency/10/size1-XOR-@2.json new file mode 100644 index 00000000..e5d49a5f --- /dev/null +++ b/testdata/subtreeconsistency/10/size1-XOR-@2.json @@ -0,0 +1,13 @@ +{ + "start": 2, + "end": 6, + "size": 8, + "root1": "Xwg/ChozygdqlSeYMlgNs+DvRYS9/x9UyKNg9Q3jAx4=", + "root2": "XcnaeacGWamtVZy3Ad7ZoqudgjqtL0lgz+Nw7/RgQyg=", + "proof": [ + "+sVCA+fMaWzw38tCySodnbr3CtnmIfS9jZhmLwDjwSU=", + "a0eq8p7jwq+a+Im8H7klTavTEXfxYjLdaqsDXKOb9uQ=" + ], + "desc": "size1 XOR @2", + "wantErr": true +} \ No newline at end of file diff --git a/testdata/subtreeconsistency/10/size1-plus-@1.json b/testdata/subtreeconsistency/10/size1-plus-@1.json new file mode 100644 index 00000000..61dfe3ec --- /dev/null +++ b/testdata/subtreeconsistency/10/size1-plus-@1.json @@ -0,0 +1,13 @@ +{ + "start": 2, + "end": 5, + "size": 8, + "root1": "Xwg/ChozygdqlSeYMlgNs+DvRYS9/x9UyKNg9Q3jAx4=", + "root2": "XcnaeacGWamtVZy3Ad7ZoqudgjqtL0lgz+Nw7/RgQyg=", + "proof": [ + "+sVCA+fMaWzw38tCySodnbr3CtnmIfS9jZhmLwDjwSU=", + "a0eq8p7jwq+a+Im8H7klTavTEXfxYjLdaqsDXKOb9uQ=" + ], + "desc": "size1 plus @1", + "wantErr": true +} \ No newline at end of file diff --git a/testdata/subtreeconsistency/10/size1-sub-@1.json b/testdata/subtreeconsistency/10/size1-sub-@1.json new file mode 100644 index 00000000..2010822b --- /dev/null +++ b/testdata/subtreeconsistency/10/size1-sub-@1.json @@ -0,0 +1,13 @@ +{ + "start": 2, + "end": 3, + "size": 8, + "root1": "Xwg/ChozygdqlSeYMlgNs+DvRYS9/x9UyKNg9Q3jAx4=", + "root2": "XcnaeacGWamtVZy3Ad7ZoqudgjqtL0lgz+Nw7/RgQyg=", + "proof": [ + "+sVCA+fMaWzw38tCySodnbr3CtnmIfS9jZhmLwDjwSU=", + "a0eq8p7jwq+a+Im8H7klTavTEXfxYjLdaqsDXKOb9uQ=" + ], + "desc": "size1 sub @1", + "wantErr": true +} \ No newline at end of file diff --git a/testdata/subtreeconsistency/10/size2-div-@2.json b/testdata/subtreeconsistency/10/size2-div-@2.json new file mode 100644 index 00000000..435f7328 --- /dev/null +++ b/testdata/subtreeconsistency/10/size2-div-@2.json @@ -0,0 +1,13 @@ +{ + "start": 2, + "end": 4, + "size": 4, + "root1": "Xwg/ChozygdqlSeYMlgNs+DvRYS9/x9UyKNg9Q3jAx4=", + "root2": "XcnaeacGWamtVZy3Ad7ZoqudgjqtL0lgz+Nw7/RgQyg=", + "proof": [ + "+sVCA+fMaWzw38tCySodnbr3CtnmIfS9jZhmLwDjwSU=", + "a0eq8p7jwq+a+Im8H7klTavTEXfxYjLdaqsDXKOb9uQ=" + ], + "desc": "size2 div @2", + "wantErr": true +} \ No newline at end of file diff --git a/testdata/subtreeconsistency/10/size2-mul-@2.json b/testdata/subtreeconsistency/10/size2-mul-@2.json new file mode 100644 index 00000000..a8013690 --- /dev/null +++ b/testdata/subtreeconsistency/10/size2-mul-@2.json @@ -0,0 +1,13 @@ +{ + "start": 2, + "end": 4, + "size": 16, + "root1": "Xwg/ChozygdqlSeYMlgNs+DvRYS9/x9UyKNg9Q3jAx4=", + "root2": "XcnaeacGWamtVZy3Ad7ZoqudgjqtL0lgz+Nw7/RgQyg=", + "proof": [ + "+sVCA+fMaWzw38tCySodnbr3CtnmIfS9jZhmLwDjwSU=", + "a0eq8p7jwq+a+Im8H7klTavTEXfxYjLdaqsDXKOb9uQ=" + ], + "desc": "size2 mul @2", + "wantErr": true +} \ No newline at end of file diff --git a/testdata/subtreeconsistency/10/swapped-roots.json b/testdata/subtreeconsistency/10/swapped-roots.json new file mode 100644 index 00000000..2a451a63 --- /dev/null +++ b/testdata/subtreeconsistency/10/swapped-roots.json @@ -0,0 +1,13 @@ +{ + "start": 2, + "end": 4, + "size": 8, + "root1": "XcnaeacGWamtVZy3Ad7ZoqudgjqtL0lgz+Nw7/RgQyg=", + "root2": "Xwg/ChozygdqlSeYMlgNs+DvRYS9/x9UyKNg9Q3jAx4=", + "proof": [ + "+sVCA+fMaWzw38tCySodnbr3CtnmIfS9jZhmLwDjwSU=", + "a0eq8p7jwq+a+Im8H7klTavTEXfxYjLdaqsDXKOb9uQ=" + ], + "desc": "swapped roots", + "wantErr": true +} \ No newline at end of file diff --git a/testdata/subtreeconsistency/10/trailing-garbage.json b/testdata/subtreeconsistency/10/trailing-garbage.json new file mode 100644 index 00000000..c34fa08b --- /dev/null +++ b/testdata/subtreeconsistency/10/trailing-garbage.json @@ -0,0 +1,14 @@ +{ + "start": 2, + "end": 4, + "size": 8, + "root1": "Xwg/ChozygdqlSeYMlgNs+DvRYS9/x9UyKNg9Q3jAx4=", + "root2": "XcnaeacGWamtVZy3Ad7ZoqudgjqtL0lgz+Nw7/RgQyg=", + "proof": [ + "+sVCA+fMaWzw38tCySodnbr3CtnmIfS9jZhmLwDjwSU=", + "a0eq8p7jwq+a+Im8H7klTavTEXfxYjLdaqsDXKOb9uQ=", + "" + ], + "desc": "trailing garbage", + "wantErr": true +} \ No newline at end of file diff --git a/testdata/subtreeconsistency/10/trailing-root1.json b/testdata/subtreeconsistency/10/trailing-root1.json new file mode 100644 index 00000000..842e4f90 --- /dev/null +++ b/testdata/subtreeconsistency/10/trailing-root1.json @@ -0,0 +1,14 @@ +{ + "start": 2, + "end": 4, + "size": 8, + "root1": "Xwg/ChozygdqlSeYMlgNs+DvRYS9/x9UyKNg9Q3jAx4=", + "root2": "XcnaeacGWamtVZy3Ad7ZoqudgjqtL0lgz+Nw7/RgQyg=", + "proof": [ + "+sVCA+fMaWzw38tCySodnbr3CtnmIfS9jZhmLwDjwSU=", + "a0eq8p7jwq+a+Im8H7klTavTEXfxYjLdaqsDXKOb9uQ=", + "Xwg/ChozygdqlSeYMlgNs+DvRYS9/x9UyKNg9Q3jAx4=" + ], + "desc": "trailing root1", + "wantErr": true +} \ No newline at end of file diff --git a/testdata/subtreeconsistency/10/trailing-root2.json b/testdata/subtreeconsistency/10/trailing-root2.json new file mode 100644 index 00000000..fa35dfed --- /dev/null +++ b/testdata/subtreeconsistency/10/trailing-root2.json @@ -0,0 +1,14 @@ +{ + "start": 2, + "end": 4, + "size": 8, + "root1": "Xwg/ChozygdqlSeYMlgNs+DvRYS9/x9UyKNg9Q3jAx4=", + "root2": "XcnaeacGWamtVZy3Ad7ZoqudgjqtL0lgz+Nw7/RgQyg=", + "proof": [ + "+sVCA+fMaWzw38tCySodnbr3CtnmIfS9jZhmLwDjwSU=", + "a0eq8p7jwq+a+Im8H7klTavTEXfxYjLdaqsDXKOb9uQ=", + "XcnaeacGWamtVZy3Ad7ZoqudgjqtL0lgz+Nw7/RgQyg=" + ], + "desc": "trailing root2", + "wantErr": true +} \ No newline at end of file diff --git a/testdata/subtreeconsistency/10/truncated-proof.json b/testdata/subtreeconsistency/10/truncated-proof.json new file mode 100644 index 00000000..fce9356f --- /dev/null +++ b/testdata/subtreeconsistency/10/truncated-proof.json @@ -0,0 +1,12 @@ +{ + "start": 2, + "end": 4, + "size": 8, + "root1": "Xwg/ChozygdqlSeYMlgNs+DvRYS9/x9UyKNg9Q3jAx4=", + "root2": "XcnaeacGWamtVZy3Ad7ZoqudgjqtL0lgz+Nw7/RgQyg=", + "proof": [ + "+sVCA+fMaWzw38tCySodnbr3CtnmIfS9jZhmLwDjwSU=" + ], + "desc": "truncated proof", + "wantErr": true +} \ No newline at end of file diff --git a/testdata/subtreeconsistency/10/wrong-root1.json b/testdata/subtreeconsistency/10/wrong-root1.json new file mode 100644 index 00000000..a9c68733 --- /dev/null +++ b/testdata/subtreeconsistency/10/wrong-root1.json @@ -0,0 +1,13 @@ +{ + "start": 2, + "end": 4, + "size": 8, + "root1": "V3JvbmdSb290", + "root2": "XcnaeacGWamtVZy3Ad7ZoqudgjqtL0lgz+Nw7/RgQyg=", + "proof": [ + "+sVCA+fMaWzw38tCySodnbr3CtnmIfS9jZhmLwDjwSU=", + "a0eq8p7jwq+a+Im8H7klTavTEXfxYjLdaqsDXKOb9uQ=" + ], + "desc": "wrong root1", + "wantErr": true +} \ No newline at end of file diff --git a/testdata/subtreeconsistency/10/wrong-root2.json b/testdata/subtreeconsistency/10/wrong-root2.json new file mode 100644 index 00000000..3008b67e --- /dev/null +++ b/testdata/subtreeconsistency/10/wrong-root2.json @@ -0,0 +1,13 @@ +{ + "start": 2, + "end": 4, + "size": 8, + "root1": "Xwg/ChozygdqlSeYMlgNs+DvRYS9/x9UyKNg9Q3jAx4=", + "root2": "V3JvbmdSb290", + "proof": [ + "+sVCA+fMaWzw38tCySodnbr3CtnmIfS9jZhmLwDjwSU=", + "a0eq8p7jwq+a+Im8H7klTavTEXfxYjLdaqsDXKOb9uQ=" + ], + "desc": "wrong root2", + "wantErr": true +} \ No newline at end of file diff --git a/testdata/subtreeconsistency/11/empty-proof.json b/testdata/subtreeconsistency/11/empty-proof.json new file mode 100644 index 00000000..3be01e1d --- /dev/null +++ b/testdata/subtreeconsistency/11/empty-proof.json @@ -0,0 +1,10 @@ +{ + "start": 4, + "end": 7, + "size": 8, + "root1": "g327FS6bB5AQcX6E6GXaTrwPoZioBtWdMb8VrM7yLQ4=", + "root2": "XcnaeacGWamtVZy3Ad7ZoqudgjqtL0lgz+Nw7/RgQyg=", + "proof": [], + "desc": "empty proof", + "wantErr": true +} \ No newline at end of file diff --git a/testdata/subtreeconsistency/11/happy-path.json b/testdata/subtreeconsistency/11/happy-path.json new file mode 100644 index 00000000..8053b713 --- /dev/null +++ b/testdata/subtreeconsistency/11/happy-path.json @@ -0,0 +1,15 @@ +{ + "start": 4, + "end": 7, + "size": 8, + "root1": "g327FS6bB5AQcX6E6GXaTrwPoZioBtWdMb8VrM7yLQ4=", + "root2": "XcnaeacGWamtVZy3Ad7ZoqudgjqtL0lgz+Nw7/RgQyg=", + "proof": [ + "sIaT7C5yFZcTBkHoIR5+7cy0wmQTlj7ubB4u0W/7Gl8=", + "Rvb/rdPQagn/PFhg0nVci5gZ2330QlF4jH2OMYDejrE=", + "DrxdNDf74tsVi58Sah0RjjCBgQMdCpSfje3t68VY72o=", + "037kGJdt2VdTwcc4Yrk5j6Kiz5tP8P3+izDNlSCWFLc=" + ], + "desc": "happy path", + "wantErr": false +} \ No newline at end of file diff --git a/testdata/subtreeconsistency/11/modified-proof@0-bit-@4.json b/testdata/subtreeconsistency/11/modified-proof@0-bit-@4.json new file mode 100644 index 00000000..bf1a5dee --- /dev/null +++ b/testdata/subtreeconsistency/11/modified-proof@0-bit-@4.json @@ -0,0 +1,15 @@ +{ + "start": 4, + "end": 7, + "size": 8, + "root1": "g327FS6bB5AQcX6E6GXaTrwPoZioBtWdMb8VrM7yLQ4=", + "root2": "XcnaeacGWamtVZy3Ad7ZoqudgjqtL0lgz+Nw7/RgQyg=", + "proof": [ + "oIaT7C5yFZcTBkHoIR5+7cy0wmQTlj7ubB4u0W/7Gl8=", + "Rvb/rdPQagn/PFhg0nVci5gZ2330QlF4jH2OMYDejrE=", + "DrxdNDf74tsVi58Sah0RjjCBgQMdCpSfje3t68VY72o=", + "037kGJdt2VdTwcc4Yrk5j6Kiz5tP8P3+izDNlSCWFLc=" + ], + "desc": "modified proof@0 bit @4", + "wantErr": true +} \ No newline at end of file diff --git a/testdata/subtreeconsistency/11/modified-proof@1-bit-@4.json b/testdata/subtreeconsistency/11/modified-proof@1-bit-@4.json new file mode 100644 index 00000000..401284cb --- /dev/null +++ b/testdata/subtreeconsistency/11/modified-proof@1-bit-@4.json @@ -0,0 +1,15 @@ +{ + "start": 4, + "end": 7, + "size": 8, + "root1": "g327FS6bB5AQcX6E6GXaTrwPoZioBtWdMb8VrM7yLQ4=", + "root2": "XcnaeacGWamtVZy3Ad7ZoqudgjqtL0lgz+Nw7/RgQyg=", + "proof": [ + "sIaT7C5yFZcTBkHoIR5+7cy0wmQTlj7ubB4u0W/7Gl8=", + "Vvb/rdPQagn/PFhg0nVci5gZ2330QlF4jH2OMYDejrE=", + "DrxdNDf74tsVi58Sah0RjjCBgQMdCpSfje3t68VY72o=", + "037kGJdt2VdTwcc4Yrk5j6Kiz5tP8P3+izDNlSCWFLc=" + ], + "desc": "modified proof@1 bit @4", + "wantErr": true +} \ No newline at end of file diff --git a/testdata/subtreeconsistency/11/modified-proof@2-bit-@4.json b/testdata/subtreeconsistency/11/modified-proof@2-bit-@4.json new file mode 100644 index 00000000..dec46caf --- /dev/null +++ b/testdata/subtreeconsistency/11/modified-proof@2-bit-@4.json @@ -0,0 +1,15 @@ +{ + "start": 4, + "end": 7, + "size": 8, + "root1": "g327FS6bB5AQcX6E6GXaTrwPoZioBtWdMb8VrM7yLQ4=", + "root2": "XcnaeacGWamtVZy3Ad7ZoqudgjqtL0lgz+Nw7/RgQyg=", + "proof": [ + "sIaT7C5yFZcTBkHoIR5+7cy0wmQTlj7ubB4u0W/7Gl8=", + "Rvb/rdPQagn/PFhg0nVci5gZ2330QlF4jH2OMYDejrE=", + "HrxdNDf74tsVi58Sah0RjjCBgQMdCpSfje3t68VY72o=", + "037kGJdt2VdTwcc4Yrk5j6Kiz5tP8P3+izDNlSCWFLc=" + ], + "desc": "modified proof@2 bit @4", + "wantErr": true +} \ No newline at end of file diff --git a/testdata/subtreeconsistency/11/modified-proof@3-bit-@4.json b/testdata/subtreeconsistency/11/modified-proof@3-bit-@4.json new file mode 100644 index 00000000..31d4aa17 --- /dev/null +++ b/testdata/subtreeconsistency/11/modified-proof@3-bit-@4.json @@ -0,0 +1,15 @@ +{ + "start": 4, + "end": 7, + "size": 8, + "root1": "g327FS6bB5AQcX6E6GXaTrwPoZioBtWdMb8VrM7yLQ4=", + "root2": "XcnaeacGWamtVZy3Ad7ZoqudgjqtL0lgz+Nw7/RgQyg=", + "proof": [ + "sIaT7C5yFZcTBkHoIR5+7cy0wmQTlj7ubB4u0W/7Gl8=", + "Rvb/rdPQagn/PFhg0nVci5gZ2330QlF4jH2OMYDejrE=", + "DrxdNDf74tsVi58Sah0RjjCBgQMdCpSfje3t68VY72o=", + "w37kGJdt2VdTwcc4Yrk5j6Kiz5tP8P3+izDNlSCWFLc=" + ], + "desc": "modified proof@3 bit @4", + "wantErr": true +} \ No newline at end of file diff --git a/testdata/subtreeconsistency/11/preceding-garbage.json b/testdata/subtreeconsistency/11/preceding-garbage.json new file mode 100644 index 00000000..cd9ae906 --- /dev/null +++ b/testdata/subtreeconsistency/11/preceding-garbage.json @@ -0,0 +1,16 @@ +{ + "start": 4, + "end": 7, + "size": 8, + "root1": "g327FS6bB5AQcX6E6GXaTrwPoZioBtWdMb8VrM7yLQ4=", + "root2": "XcnaeacGWamtVZy3Ad7ZoqudgjqtL0lgz+Nw7/RgQyg=", + "proof": [ + "", + "sIaT7C5yFZcTBkHoIR5+7cy0wmQTlj7ubB4u0W/7Gl8=", + "Rvb/rdPQagn/PFhg0nVci5gZ2330QlF4jH2OMYDejrE=", + "DrxdNDf74tsVi58Sah0RjjCBgQMdCpSfje3t68VY72o=", + "037kGJdt2VdTwcc4Yrk5j6Kiz5tP8P3+izDNlSCWFLc=" + ], + "desc": "preceding garbage", + "wantErr": true +} \ No newline at end of file diff --git a/testdata/subtreeconsistency/11/preceding-proof-@0.json b/testdata/subtreeconsistency/11/preceding-proof-@0.json new file mode 100644 index 00000000..e1873d7a --- /dev/null +++ b/testdata/subtreeconsistency/11/preceding-proof-@0.json @@ -0,0 +1,16 @@ +{ + "start": 4, + "end": 7, + "size": 8, + "root1": "g327FS6bB5AQcX6E6GXaTrwPoZioBtWdMb8VrM7yLQ4=", + "root2": "XcnaeacGWamtVZy3Ad7ZoqudgjqtL0lgz+Nw7/RgQyg=", + "proof": [ + "sIaT7C5yFZcTBkHoIR5+7cy0wmQTlj7ubB4u0W/7Gl8=", + "sIaT7C5yFZcTBkHoIR5+7cy0wmQTlj7ubB4u0W/7Gl8=", + "Rvb/rdPQagn/PFhg0nVci5gZ2330QlF4jH2OMYDejrE=", + "DrxdNDf74tsVi58Sah0RjjCBgQMdCpSfje3t68VY72o=", + "037kGJdt2VdTwcc4Yrk5j6Kiz5tP8P3+izDNlSCWFLc=" + ], + "desc": "preceding proof @0", + "wantErr": true +} \ No newline at end of file diff --git a/testdata/subtreeconsistency/11/preceding-root1.json b/testdata/subtreeconsistency/11/preceding-root1.json new file mode 100644 index 00000000..3b996ac5 --- /dev/null +++ b/testdata/subtreeconsistency/11/preceding-root1.json @@ -0,0 +1,16 @@ +{ + "start": 4, + "end": 7, + "size": 8, + "root1": "g327FS6bB5AQcX6E6GXaTrwPoZioBtWdMb8VrM7yLQ4=", + "root2": "XcnaeacGWamtVZy3Ad7ZoqudgjqtL0lgz+Nw7/RgQyg=", + "proof": [ + "g327FS6bB5AQcX6E6GXaTrwPoZioBtWdMb8VrM7yLQ4=", + "sIaT7C5yFZcTBkHoIR5+7cy0wmQTlj7ubB4u0W/7Gl8=", + "Rvb/rdPQagn/PFhg0nVci5gZ2330QlF4jH2OMYDejrE=", + "DrxdNDf74tsVi58Sah0RjjCBgQMdCpSfje3t68VY72o=", + "037kGJdt2VdTwcc4Yrk5j6Kiz5tP8P3+izDNlSCWFLc=" + ], + "desc": "preceding root1", + "wantErr": true +} \ No newline at end of file diff --git a/testdata/subtreeconsistency/11/preceding-root2.json b/testdata/subtreeconsistency/11/preceding-root2.json new file mode 100644 index 00000000..9f29c9c3 --- /dev/null +++ b/testdata/subtreeconsistency/11/preceding-root2.json @@ -0,0 +1,16 @@ +{ + "start": 4, + "end": 7, + "size": 8, + "root1": "g327FS6bB5AQcX6E6GXaTrwPoZioBtWdMb8VrM7yLQ4=", + "root2": "XcnaeacGWamtVZy3Ad7ZoqudgjqtL0lgz+Nw7/RgQyg=", + "proof": [ + "XcnaeacGWamtVZy3Ad7ZoqudgjqtL0lgz+Nw7/RgQyg=", + "sIaT7C5yFZcTBkHoIR5+7cy0wmQTlj7ubB4u0W/7Gl8=", + "Rvb/rdPQagn/PFhg0nVci5gZ2330QlF4jH2OMYDejrE=", + "DrxdNDf74tsVi58Sah0RjjCBgQMdCpSfje3t68VY72o=", + "037kGJdt2VdTwcc4Yrk5j6Kiz5tP8P3+izDNlSCWFLc=" + ], + "desc": "preceding root2", + "wantErr": true +} \ No newline at end of file diff --git a/testdata/subtreeconsistency/11/size1-XOR-@2.json b/testdata/subtreeconsistency/11/size1-XOR-@2.json new file mode 100644 index 00000000..6b397b0d --- /dev/null +++ b/testdata/subtreeconsistency/11/size1-XOR-@2.json @@ -0,0 +1,15 @@ +{ + "start": 4, + "end": 5, + "size": 8, + "root1": "g327FS6bB5AQcX6E6GXaTrwPoZioBtWdMb8VrM7yLQ4=", + "root2": "XcnaeacGWamtVZy3Ad7ZoqudgjqtL0lgz+Nw7/RgQyg=", + "proof": [ + "sIaT7C5yFZcTBkHoIR5+7cy0wmQTlj7ubB4u0W/7Gl8=", + "Rvb/rdPQagn/PFhg0nVci5gZ2330QlF4jH2OMYDejrE=", + "DrxdNDf74tsVi58Sah0RjjCBgQMdCpSfje3t68VY72o=", + "037kGJdt2VdTwcc4Yrk5j6Kiz5tP8P3+izDNlSCWFLc=" + ], + "desc": "size1 XOR @2", + "wantErr": true +} \ No newline at end of file diff --git a/testdata/subtreeconsistency/11/size1-plus-@1.json b/testdata/subtreeconsistency/11/size1-plus-@1.json new file mode 100644 index 00000000..2a14f291 --- /dev/null +++ b/testdata/subtreeconsistency/11/size1-plus-@1.json @@ -0,0 +1,15 @@ +{ + "start": 4, + "end": 8, + "size": 8, + "root1": "g327FS6bB5AQcX6E6GXaTrwPoZioBtWdMb8VrM7yLQ4=", + "root2": "XcnaeacGWamtVZy3Ad7ZoqudgjqtL0lgz+Nw7/RgQyg=", + "proof": [ + "sIaT7C5yFZcTBkHoIR5+7cy0wmQTlj7ubB4u0W/7Gl8=", + "Rvb/rdPQagn/PFhg0nVci5gZ2330QlF4jH2OMYDejrE=", + "DrxdNDf74tsVi58Sah0RjjCBgQMdCpSfje3t68VY72o=", + "037kGJdt2VdTwcc4Yrk5j6Kiz5tP8P3+izDNlSCWFLc=" + ], + "desc": "size1 plus @1", + "wantErr": true +} \ No newline at end of file diff --git a/testdata/subtreeconsistency/11/size1-sub-@1.json b/testdata/subtreeconsistency/11/size1-sub-@1.json new file mode 100644 index 00000000..097e2852 --- /dev/null +++ b/testdata/subtreeconsistency/11/size1-sub-@1.json @@ -0,0 +1,15 @@ +{ + "start": 4, + "end": 6, + "size": 8, + "root1": "g327FS6bB5AQcX6E6GXaTrwPoZioBtWdMb8VrM7yLQ4=", + "root2": "XcnaeacGWamtVZy3Ad7ZoqudgjqtL0lgz+Nw7/RgQyg=", + "proof": [ + "sIaT7C5yFZcTBkHoIR5+7cy0wmQTlj7ubB4u0W/7Gl8=", + "Rvb/rdPQagn/PFhg0nVci5gZ2330QlF4jH2OMYDejrE=", + "DrxdNDf74tsVi58Sah0RjjCBgQMdCpSfje3t68VY72o=", + "037kGJdt2VdTwcc4Yrk5j6Kiz5tP8P3+izDNlSCWFLc=" + ], + "desc": "size1 sub @1", + "wantErr": true +} \ No newline at end of file diff --git a/testdata/subtreeconsistency/11/size2-div-@2.json b/testdata/subtreeconsistency/11/size2-div-@2.json new file mode 100644 index 00000000..5e184921 --- /dev/null +++ b/testdata/subtreeconsistency/11/size2-div-@2.json @@ -0,0 +1,15 @@ +{ + "start": 4, + "end": 7, + "size": 4, + "root1": "g327FS6bB5AQcX6E6GXaTrwPoZioBtWdMb8VrM7yLQ4=", + "root2": "XcnaeacGWamtVZy3Ad7ZoqudgjqtL0lgz+Nw7/RgQyg=", + "proof": [ + "sIaT7C5yFZcTBkHoIR5+7cy0wmQTlj7ubB4u0W/7Gl8=", + "Rvb/rdPQagn/PFhg0nVci5gZ2330QlF4jH2OMYDejrE=", + "DrxdNDf74tsVi58Sah0RjjCBgQMdCpSfje3t68VY72o=", + "037kGJdt2VdTwcc4Yrk5j6Kiz5tP8P3+izDNlSCWFLc=" + ], + "desc": "size2 div @2", + "wantErr": true +} \ No newline at end of file diff --git a/testdata/subtreeconsistency/11/size2-mul-@2.json b/testdata/subtreeconsistency/11/size2-mul-@2.json new file mode 100644 index 00000000..5d8880bb --- /dev/null +++ b/testdata/subtreeconsistency/11/size2-mul-@2.json @@ -0,0 +1,15 @@ +{ + "start": 4, + "end": 7, + "size": 16, + "root1": "g327FS6bB5AQcX6E6GXaTrwPoZioBtWdMb8VrM7yLQ4=", + "root2": "XcnaeacGWamtVZy3Ad7ZoqudgjqtL0lgz+Nw7/RgQyg=", + "proof": [ + "sIaT7C5yFZcTBkHoIR5+7cy0wmQTlj7ubB4u0W/7Gl8=", + "Rvb/rdPQagn/PFhg0nVci5gZ2330QlF4jH2OMYDejrE=", + "DrxdNDf74tsVi58Sah0RjjCBgQMdCpSfje3t68VY72o=", + "037kGJdt2VdTwcc4Yrk5j6Kiz5tP8P3+izDNlSCWFLc=" + ], + "desc": "size2 mul @2", + "wantErr": true +} \ No newline at end of file diff --git a/testdata/subtreeconsistency/11/swapped-roots.json b/testdata/subtreeconsistency/11/swapped-roots.json new file mode 100644 index 00000000..8bd87f5d --- /dev/null +++ b/testdata/subtreeconsistency/11/swapped-roots.json @@ -0,0 +1,15 @@ +{ + "start": 4, + "end": 7, + "size": 8, + "root1": "XcnaeacGWamtVZy3Ad7ZoqudgjqtL0lgz+Nw7/RgQyg=", + "root2": "g327FS6bB5AQcX6E6GXaTrwPoZioBtWdMb8VrM7yLQ4=", + "proof": [ + "sIaT7C5yFZcTBkHoIR5+7cy0wmQTlj7ubB4u0W/7Gl8=", + "Rvb/rdPQagn/PFhg0nVci5gZ2330QlF4jH2OMYDejrE=", + "DrxdNDf74tsVi58Sah0RjjCBgQMdCpSfje3t68VY72o=", + "037kGJdt2VdTwcc4Yrk5j6Kiz5tP8P3+izDNlSCWFLc=" + ], + "desc": "swapped roots", + "wantErr": true +} \ No newline at end of file diff --git a/testdata/subtreeconsistency/11/trailing-garbage.json b/testdata/subtreeconsistency/11/trailing-garbage.json new file mode 100644 index 00000000..815ec40a --- /dev/null +++ b/testdata/subtreeconsistency/11/trailing-garbage.json @@ -0,0 +1,16 @@ +{ + "start": 4, + "end": 7, + "size": 8, + "root1": "g327FS6bB5AQcX6E6GXaTrwPoZioBtWdMb8VrM7yLQ4=", + "root2": "XcnaeacGWamtVZy3Ad7ZoqudgjqtL0lgz+Nw7/RgQyg=", + "proof": [ + "sIaT7C5yFZcTBkHoIR5+7cy0wmQTlj7ubB4u0W/7Gl8=", + "Rvb/rdPQagn/PFhg0nVci5gZ2330QlF4jH2OMYDejrE=", + "DrxdNDf74tsVi58Sah0RjjCBgQMdCpSfje3t68VY72o=", + "037kGJdt2VdTwcc4Yrk5j6Kiz5tP8P3+izDNlSCWFLc=", + "" + ], + "desc": "trailing garbage", + "wantErr": true +} \ No newline at end of file diff --git a/testdata/subtreeconsistency/11/trailing-root1.json b/testdata/subtreeconsistency/11/trailing-root1.json new file mode 100644 index 00000000..a2866921 --- /dev/null +++ b/testdata/subtreeconsistency/11/trailing-root1.json @@ -0,0 +1,16 @@ +{ + "start": 4, + "end": 7, + "size": 8, + "root1": "g327FS6bB5AQcX6E6GXaTrwPoZioBtWdMb8VrM7yLQ4=", + "root2": "XcnaeacGWamtVZy3Ad7ZoqudgjqtL0lgz+Nw7/RgQyg=", + "proof": [ + "sIaT7C5yFZcTBkHoIR5+7cy0wmQTlj7ubB4u0W/7Gl8=", + "Rvb/rdPQagn/PFhg0nVci5gZ2330QlF4jH2OMYDejrE=", + "DrxdNDf74tsVi58Sah0RjjCBgQMdCpSfje3t68VY72o=", + "037kGJdt2VdTwcc4Yrk5j6Kiz5tP8P3+izDNlSCWFLc=", + "g327FS6bB5AQcX6E6GXaTrwPoZioBtWdMb8VrM7yLQ4=" + ], + "desc": "trailing root1", + "wantErr": true +} \ No newline at end of file diff --git a/testdata/subtreeconsistency/11/trailing-root2.json b/testdata/subtreeconsistency/11/trailing-root2.json new file mode 100644 index 00000000..01d68dd3 --- /dev/null +++ b/testdata/subtreeconsistency/11/trailing-root2.json @@ -0,0 +1,16 @@ +{ + "start": 4, + "end": 7, + "size": 8, + "root1": "g327FS6bB5AQcX6E6GXaTrwPoZioBtWdMb8VrM7yLQ4=", + "root2": "XcnaeacGWamtVZy3Ad7ZoqudgjqtL0lgz+Nw7/RgQyg=", + "proof": [ + "sIaT7C5yFZcTBkHoIR5+7cy0wmQTlj7ubB4u0W/7Gl8=", + "Rvb/rdPQagn/PFhg0nVci5gZ2330QlF4jH2OMYDejrE=", + "DrxdNDf74tsVi58Sah0RjjCBgQMdCpSfje3t68VY72o=", + "037kGJdt2VdTwcc4Yrk5j6Kiz5tP8P3+izDNlSCWFLc=", + "XcnaeacGWamtVZy3Ad7ZoqudgjqtL0lgz+Nw7/RgQyg=" + ], + "desc": "trailing root2", + "wantErr": true +} \ No newline at end of file diff --git a/testdata/subtreeconsistency/11/truncated-proof.json b/testdata/subtreeconsistency/11/truncated-proof.json new file mode 100644 index 00000000..cf9e4e41 --- /dev/null +++ b/testdata/subtreeconsistency/11/truncated-proof.json @@ -0,0 +1,14 @@ +{ + "start": 4, + "end": 7, + "size": 8, + "root1": "g327FS6bB5AQcX6E6GXaTrwPoZioBtWdMb8VrM7yLQ4=", + "root2": "XcnaeacGWamtVZy3Ad7ZoqudgjqtL0lgz+Nw7/RgQyg=", + "proof": [ + "sIaT7C5yFZcTBkHoIR5+7cy0wmQTlj7ubB4u0W/7Gl8=", + "Rvb/rdPQagn/PFhg0nVci5gZ2330QlF4jH2OMYDejrE=", + "DrxdNDf74tsVi58Sah0RjjCBgQMdCpSfje3t68VY72o=" + ], + "desc": "truncated proof", + "wantErr": true +} \ No newline at end of file diff --git a/testdata/subtreeconsistency/11/wrong-root1.json b/testdata/subtreeconsistency/11/wrong-root1.json new file mode 100644 index 00000000..0341e16f --- /dev/null +++ b/testdata/subtreeconsistency/11/wrong-root1.json @@ -0,0 +1,15 @@ +{ + "start": 4, + "end": 7, + "size": 8, + "root1": "V3JvbmdSb290", + "root2": "XcnaeacGWamtVZy3Ad7ZoqudgjqtL0lgz+Nw7/RgQyg=", + "proof": [ + "sIaT7C5yFZcTBkHoIR5+7cy0wmQTlj7ubB4u0W/7Gl8=", + "Rvb/rdPQagn/PFhg0nVci5gZ2330QlF4jH2OMYDejrE=", + "DrxdNDf74tsVi58Sah0RjjCBgQMdCpSfje3t68VY72o=", + "037kGJdt2VdTwcc4Yrk5j6Kiz5tP8P3+izDNlSCWFLc=" + ], + "desc": "wrong root1", + "wantErr": true +} \ No newline at end of file diff --git a/testdata/subtreeconsistency/11/wrong-root2.json b/testdata/subtreeconsistency/11/wrong-root2.json new file mode 100644 index 00000000..1ee4ac18 --- /dev/null +++ b/testdata/subtreeconsistency/11/wrong-root2.json @@ -0,0 +1,15 @@ +{ + "start": 4, + "end": 7, + "size": 8, + "root1": "g327FS6bB5AQcX6E6GXaTrwPoZioBtWdMb8VrM7yLQ4=", + "root2": "V3JvbmdSb290", + "proof": [ + "sIaT7C5yFZcTBkHoIR5+7cy0wmQTlj7ubB4u0W/7Gl8=", + "Rvb/rdPQagn/PFhg0nVci5gZ2330QlF4jH2OMYDejrE=", + "DrxdNDf74tsVi58Sah0RjjCBgQMdCpSfje3t68VY72o=", + "037kGJdt2VdTwcc4Yrk5j6Kiz5tP8P3+izDNlSCWFLc=" + ], + "desc": "wrong root2", + "wantErr": true +} \ No newline at end of file diff --git a/testdata/subtreeconsistency/3/invalid-subtree.json b/testdata/subtreeconsistency/3/invalid-subtree.json deleted file mode 100644 index 9dd607e6..00000000 --- a/testdata/subtreeconsistency/3/invalid-subtree.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "start": 1, - "end": 15, - "size": 15, - "root1": "+sVCA+fMaWzw38tCySodnbr3CtnmIfS9jZhmLwDjwSU=", - "root2": "Tju7H3tHjc/nH7YxYxUZo7yhLJrvyhYSv85ME6hiZNQ=", - "proof": [ - "Xwg/ChozygdqlSeYMlgNs+DvRYS9/x9UyKNg9Q3jAx4=", - "vBoGQ7EuTS18d5GPROD095qDi2z57FtcKD4fTYhZnms=" - ], - "desc": "invalid subtree", - "wantErr": true -} \ No newline at end of file diff --git a/testdata/subtreeconsistency/5/empty-proof.json b/testdata/subtreeconsistency/5/empty-proof.json new file mode 100644 index 00000000..8b248490 --- /dev/null +++ b/testdata/subtreeconsistency/5/empty-proof.json @@ -0,0 +1,10 @@ +{ + "start": 7, + "end": 8, + "size": 8, + "root1": "Rvb/rdPQagn/PFhg0nVci5gZ2330QlF4jH2OMYDejrE=", + "root2": "XcnaeacGWamtVZy3Ad7ZoqudgjqtL0lgz+Nw7/RgQyg=", + "proof": [], + "desc": "empty proof", + "wantErr": true +} \ No newline at end of file diff --git a/testdata/subtreeconsistency/5/happy-path.json b/testdata/subtreeconsistency/5/happy-path.json new file mode 100644 index 00000000..3e4eb382 --- /dev/null +++ b/testdata/subtreeconsistency/5/happy-path.json @@ -0,0 +1,14 @@ +{ + "start": 7, + "end": 8, + "size": 8, + "root1": "Rvb/rdPQagn/PFhg0nVci5gZ2330QlF4jH2OMYDejrE=", + "root2": "XcnaeacGWamtVZy3Ad7ZoqudgjqtL0lgz+Nw7/RgQyg=", + "proof": [ + "sIaT7C5yFZcTBkHoIR5+7cy0wmQTlj7ubB4u0W/7Gl8=", + "DrxdNDf74tsVi58Sah0RjjCBgQMdCpSfje3t68VY72o=", + "037kGJdt2VdTwcc4Yrk5j6Kiz5tP8P3+izDNlSCWFLc=" + ], + "desc": "happy path", + "wantErr": false +} \ No newline at end of file diff --git a/testdata/subtreeconsistency/5/modified-proof@0-bit-@4.json b/testdata/subtreeconsistency/5/modified-proof@0-bit-@4.json new file mode 100644 index 00000000..bca9e954 --- /dev/null +++ b/testdata/subtreeconsistency/5/modified-proof@0-bit-@4.json @@ -0,0 +1,14 @@ +{ + "start": 7, + "end": 8, + "size": 8, + "root1": "Rvb/rdPQagn/PFhg0nVci5gZ2330QlF4jH2OMYDejrE=", + "root2": "XcnaeacGWamtVZy3Ad7ZoqudgjqtL0lgz+Nw7/RgQyg=", + "proof": [ + "oIaT7C5yFZcTBkHoIR5+7cy0wmQTlj7ubB4u0W/7Gl8=", + "DrxdNDf74tsVi58Sah0RjjCBgQMdCpSfje3t68VY72o=", + "037kGJdt2VdTwcc4Yrk5j6Kiz5tP8P3+izDNlSCWFLc=" + ], + "desc": "modified proof@0 bit @4", + "wantErr": true +} \ No newline at end of file diff --git a/testdata/subtreeconsistency/5/modified-proof@1-bit-@4.json b/testdata/subtreeconsistency/5/modified-proof@1-bit-@4.json new file mode 100644 index 00000000..6ce2ffcc --- /dev/null +++ b/testdata/subtreeconsistency/5/modified-proof@1-bit-@4.json @@ -0,0 +1,14 @@ +{ + "start": 7, + "end": 8, + "size": 8, + "root1": "Rvb/rdPQagn/PFhg0nVci5gZ2330QlF4jH2OMYDejrE=", + "root2": "XcnaeacGWamtVZy3Ad7ZoqudgjqtL0lgz+Nw7/RgQyg=", + "proof": [ + "sIaT7C5yFZcTBkHoIR5+7cy0wmQTlj7ubB4u0W/7Gl8=", + "HrxdNDf74tsVi58Sah0RjjCBgQMdCpSfje3t68VY72o=", + "037kGJdt2VdTwcc4Yrk5j6Kiz5tP8P3+izDNlSCWFLc=" + ], + "desc": "modified proof@1 bit @4", + "wantErr": true +} \ No newline at end of file diff --git a/testdata/subtreeconsistency/5/modified-proof@2-bit-@4.json b/testdata/subtreeconsistency/5/modified-proof@2-bit-@4.json new file mode 100644 index 00000000..32f00fde --- /dev/null +++ b/testdata/subtreeconsistency/5/modified-proof@2-bit-@4.json @@ -0,0 +1,14 @@ +{ + "start": 7, + "end": 8, + "size": 8, + "root1": "Rvb/rdPQagn/PFhg0nVci5gZ2330QlF4jH2OMYDejrE=", + "root2": "XcnaeacGWamtVZy3Ad7ZoqudgjqtL0lgz+Nw7/RgQyg=", + "proof": [ + "sIaT7C5yFZcTBkHoIR5+7cy0wmQTlj7ubB4u0W/7Gl8=", + "DrxdNDf74tsVi58Sah0RjjCBgQMdCpSfje3t68VY72o=", + "w37kGJdt2VdTwcc4Yrk5j6Kiz5tP8P3+izDNlSCWFLc=" + ], + "desc": "modified proof@2 bit @4", + "wantErr": true +} \ No newline at end of file diff --git a/testdata/subtreeconsistency/5/preceding-garbage.json b/testdata/subtreeconsistency/5/preceding-garbage.json new file mode 100644 index 00000000..e5fd0cfc --- /dev/null +++ b/testdata/subtreeconsistency/5/preceding-garbage.json @@ -0,0 +1,15 @@ +{ + "start": 7, + "end": 8, + "size": 8, + "root1": "Rvb/rdPQagn/PFhg0nVci5gZ2330QlF4jH2OMYDejrE=", + "root2": "XcnaeacGWamtVZy3Ad7ZoqudgjqtL0lgz+Nw7/RgQyg=", + "proof": [ + "", + "sIaT7C5yFZcTBkHoIR5+7cy0wmQTlj7ubB4u0W/7Gl8=", + "DrxdNDf74tsVi58Sah0RjjCBgQMdCpSfje3t68VY72o=", + "037kGJdt2VdTwcc4Yrk5j6Kiz5tP8P3+izDNlSCWFLc=" + ], + "desc": "preceding garbage", + "wantErr": true +} \ No newline at end of file diff --git a/testdata/subtreeconsistency/5/preceding-proof-@0.json b/testdata/subtreeconsistency/5/preceding-proof-@0.json new file mode 100644 index 00000000..f4ffd8a7 --- /dev/null +++ b/testdata/subtreeconsistency/5/preceding-proof-@0.json @@ -0,0 +1,15 @@ +{ + "start": 7, + "end": 8, + "size": 8, + "root1": "Rvb/rdPQagn/PFhg0nVci5gZ2330QlF4jH2OMYDejrE=", + "root2": "XcnaeacGWamtVZy3Ad7ZoqudgjqtL0lgz+Nw7/RgQyg=", + "proof": [ + "sIaT7C5yFZcTBkHoIR5+7cy0wmQTlj7ubB4u0W/7Gl8=", + "sIaT7C5yFZcTBkHoIR5+7cy0wmQTlj7ubB4u0W/7Gl8=", + "DrxdNDf74tsVi58Sah0RjjCBgQMdCpSfje3t68VY72o=", + "037kGJdt2VdTwcc4Yrk5j6Kiz5tP8P3+izDNlSCWFLc=" + ], + "desc": "preceding proof @0", + "wantErr": true +} \ No newline at end of file diff --git a/testdata/subtreeconsistency/5/preceding-root1.json b/testdata/subtreeconsistency/5/preceding-root1.json new file mode 100644 index 00000000..996458cb --- /dev/null +++ b/testdata/subtreeconsistency/5/preceding-root1.json @@ -0,0 +1,15 @@ +{ + "start": 7, + "end": 8, + "size": 8, + "root1": "Rvb/rdPQagn/PFhg0nVci5gZ2330QlF4jH2OMYDejrE=", + "root2": "XcnaeacGWamtVZy3Ad7ZoqudgjqtL0lgz+Nw7/RgQyg=", + "proof": [ + "Rvb/rdPQagn/PFhg0nVci5gZ2330QlF4jH2OMYDejrE=", + "sIaT7C5yFZcTBkHoIR5+7cy0wmQTlj7ubB4u0W/7Gl8=", + "DrxdNDf74tsVi58Sah0RjjCBgQMdCpSfje3t68VY72o=", + "037kGJdt2VdTwcc4Yrk5j6Kiz5tP8P3+izDNlSCWFLc=" + ], + "desc": "preceding root1", + "wantErr": true +} \ No newline at end of file diff --git a/testdata/subtreeconsistency/5/preceding-root2.json b/testdata/subtreeconsistency/5/preceding-root2.json new file mode 100644 index 00000000..73a60488 --- /dev/null +++ b/testdata/subtreeconsistency/5/preceding-root2.json @@ -0,0 +1,15 @@ +{ + "start": 7, + "end": 8, + "size": 8, + "root1": "Rvb/rdPQagn/PFhg0nVci5gZ2330QlF4jH2OMYDejrE=", + "root2": "XcnaeacGWamtVZy3Ad7ZoqudgjqtL0lgz+Nw7/RgQyg=", + "proof": [ + "XcnaeacGWamtVZy3Ad7ZoqudgjqtL0lgz+Nw7/RgQyg=", + "sIaT7C5yFZcTBkHoIR5+7cy0wmQTlj7ubB4u0W/7Gl8=", + "DrxdNDf74tsVi58Sah0RjjCBgQMdCpSfje3t68VY72o=", + "037kGJdt2VdTwcc4Yrk5j6Kiz5tP8P3+izDNlSCWFLc=" + ], + "desc": "preceding root2", + "wantErr": true +} \ No newline at end of file diff --git a/testdata/subtreeconsistency/4/invalid-subtree.json b/testdata/subtreeconsistency/5/size1-XOR-@2.json similarity index 50% rename from testdata/subtreeconsistency/4/invalid-subtree.json rename to testdata/subtreeconsistency/5/size1-XOR-@2.json index de6bac13..306e58b9 100644 --- a/testdata/subtreeconsistency/4/invalid-subtree.json +++ b/testdata/subtreeconsistency/5/size1-XOR-@2.json @@ -1,14 +1,14 @@ { - "start": 1, - "end": 15, - "size": 15, - "root1": "duZ9rbzfHhDht03cYIq9L5jfsW+851J3tSMqEn8gh+8=", - "root2": "3bib5AOAnjJXUNPSY814kpwpQreUKjS3fhIslZSnTIw=", + "start": 7, + "end": 10, + "size": 8, + "root1": "Rvb/rdPQagn/PFhg0nVci5gZ2330QlF4jH2OMYDejrE=", + "root2": "XcnaeacGWamtVZy3Ad7ZoqudgjqtL0lgz+Nw7/RgQyg=", "proof": [ - "DrxdNDf74tsVi58Sah0RjjCBgQMdCpSfje3t68VY72o=", "sIaT7C5yFZcTBkHoIR5+7cy0wmQTlj7ubB4u0W/7Gl8=", + "DrxdNDf74tsVi58Sah0RjjCBgQMdCpSfje3t68VY72o=", "037kGJdt2VdTwcc4Yrk5j6Kiz5tP8P3+izDNlSCWFLc=" ], - "desc": "invalid subtree", + "desc": "size1 XOR @2", "wantErr": true } \ No newline at end of file diff --git a/testdata/subtreeconsistency/5/size1-plus-@1.json b/testdata/subtreeconsistency/5/size1-plus-@1.json new file mode 100644 index 00000000..7b97a4ca --- /dev/null +++ b/testdata/subtreeconsistency/5/size1-plus-@1.json @@ -0,0 +1,14 @@ +{ + "start": 7, + "end": 9, + "size": 8, + "root1": "Rvb/rdPQagn/PFhg0nVci5gZ2330QlF4jH2OMYDejrE=", + "root2": "XcnaeacGWamtVZy3Ad7ZoqudgjqtL0lgz+Nw7/RgQyg=", + "proof": [ + "sIaT7C5yFZcTBkHoIR5+7cy0wmQTlj7ubB4u0W/7Gl8=", + "DrxdNDf74tsVi58Sah0RjjCBgQMdCpSfje3t68VY72o=", + "037kGJdt2VdTwcc4Yrk5j6Kiz5tP8P3+izDNlSCWFLc=" + ], + "desc": "size1 plus @1", + "wantErr": true +} \ No newline at end of file diff --git a/testdata/subtreeconsistency/5/size1-sub-@1.json b/testdata/subtreeconsistency/5/size1-sub-@1.json new file mode 100644 index 00000000..92e6e2e8 --- /dev/null +++ b/testdata/subtreeconsistency/5/size1-sub-@1.json @@ -0,0 +1,14 @@ +{ + "start": 7, + "end": 7, + "size": 8, + "root1": "Rvb/rdPQagn/PFhg0nVci5gZ2330QlF4jH2OMYDejrE=", + "root2": "XcnaeacGWamtVZy3Ad7ZoqudgjqtL0lgz+Nw7/RgQyg=", + "proof": [ + "sIaT7C5yFZcTBkHoIR5+7cy0wmQTlj7ubB4u0W/7Gl8=", + "DrxdNDf74tsVi58Sah0RjjCBgQMdCpSfje3t68VY72o=", + "037kGJdt2VdTwcc4Yrk5j6Kiz5tP8P3+izDNlSCWFLc=" + ], + "desc": "size1 sub @1", + "wantErr": true +} \ No newline at end of file diff --git a/testdata/subtreeconsistency/5/size2-div-@2.json b/testdata/subtreeconsistency/5/size2-div-@2.json new file mode 100644 index 00000000..b42789cb --- /dev/null +++ b/testdata/subtreeconsistency/5/size2-div-@2.json @@ -0,0 +1,14 @@ +{ + "start": 7, + "end": 8, + "size": 4, + "root1": "Rvb/rdPQagn/PFhg0nVci5gZ2330QlF4jH2OMYDejrE=", + "root2": "XcnaeacGWamtVZy3Ad7ZoqudgjqtL0lgz+Nw7/RgQyg=", + "proof": [ + "sIaT7C5yFZcTBkHoIR5+7cy0wmQTlj7ubB4u0W/7Gl8=", + "DrxdNDf74tsVi58Sah0RjjCBgQMdCpSfje3t68VY72o=", + "037kGJdt2VdTwcc4Yrk5j6Kiz5tP8P3+izDNlSCWFLc=" + ], + "desc": "size2 div @2", + "wantErr": true +} \ No newline at end of file diff --git a/testdata/subtreeconsistency/5/size2-mul-@2.json b/testdata/subtreeconsistency/5/size2-mul-@2.json new file mode 100644 index 00000000..8e68bf8c --- /dev/null +++ b/testdata/subtreeconsistency/5/size2-mul-@2.json @@ -0,0 +1,14 @@ +{ + "start": 7, + "end": 8, + "size": 16, + "root1": "Rvb/rdPQagn/PFhg0nVci5gZ2330QlF4jH2OMYDejrE=", + "root2": "XcnaeacGWamtVZy3Ad7ZoqudgjqtL0lgz+Nw7/RgQyg=", + "proof": [ + "sIaT7C5yFZcTBkHoIR5+7cy0wmQTlj7ubB4u0W/7Gl8=", + "DrxdNDf74tsVi58Sah0RjjCBgQMdCpSfje3t68VY72o=", + "037kGJdt2VdTwcc4Yrk5j6Kiz5tP8P3+izDNlSCWFLc=" + ], + "desc": "size2 mul @2", + "wantErr": true +} \ No newline at end of file diff --git a/testdata/subtreeconsistency/5/swapped-roots.json b/testdata/subtreeconsistency/5/swapped-roots.json new file mode 100644 index 00000000..ccf6c18b --- /dev/null +++ b/testdata/subtreeconsistency/5/swapped-roots.json @@ -0,0 +1,14 @@ +{ + "start": 7, + "end": 8, + "size": 8, + "root1": "XcnaeacGWamtVZy3Ad7ZoqudgjqtL0lgz+Nw7/RgQyg=", + "root2": "Rvb/rdPQagn/PFhg0nVci5gZ2330QlF4jH2OMYDejrE=", + "proof": [ + "sIaT7C5yFZcTBkHoIR5+7cy0wmQTlj7ubB4u0W/7Gl8=", + "DrxdNDf74tsVi58Sah0RjjCBgQMdCpSfje3t68VY72o=", + "037kGJdt2VdTwcc4Yrk5j6Kiz5tP8P3+izDNlSCWFLc=" + ], + "desc": "swapped roots", + "wantErr": true +} \ No newline at end of file diff --git a/testdata/subtreeconsistency/5/trailing-garbage.json b/testdata/subtreeconsistency/5/trailing-garbage.json new file mode 100644 index 00000000..3d7586a0 --- /dev/null +++ b/testdata/subtreeconsistency/5/trailing-garbage.json @@ -0,0 +1,15 @@ +{ + "start": 7, + "end": 8, + "size": 8, + "root1": "Rvb/rdPQagn/PFhg0nVci5gZ2330QlF4jH2OMYDejrE=", + "root2": "XcnaeacGWamtVZy3Ad7ZoqudgjqtL0lgz+Nw7/RgQyg=", + "proof": [ + "sIaT7C5yFZcTBkHoIR5+7cy0wmQTlj7ubB4u0W/7Gl8=", + "DrxdNDf74tsVi58Sah0RjjCBgQMdCpSfje3t68VY72o=", + "037kGJdt2VdTwcc4Yrk5j6Kiz5tP8P3+izDNlSCWFLc=", + "" + ], + "desc": "trailing garbage", + "wantErr": true +} \ No newline at end of file diff --git a/testdata/subtreeconsistency/5/trailing-root1.json b/testdata/subtreeconsistency/5/trailing-root1.json new file mode 100644 index 00000000..7ac549f4 --- /dev/null +++ b/testdata/subtreeconsistency/5/trailing-root1.json @@ -0,0 +1,15 @@ +{ + "start": 7, + "end": 8, + "size": 8, + "root1": "Rvb/rdPQagn/PFhg0nVci5gZ2330QlF4jH2OMYDejrE=", + "root2": "XcnaeacGWamtVZy3Ad7ZoqudgjqtL0lgz+Nw7/RgQyg=", + "proof": [ + "sIaT7C5yFZcTBkHoIR5+7cy0wmQTlj7ubB4u0W/7Gl8=", + "DrxdNDf74tsVi58Sah0RjjCBgQMdCpSfje3t68VY72o=", + "037kGJdt2VdTwcc4Yrk5j6Kiz5tP8P3+izDNlSCWFLc=", + "Rvb/rdPQagn/PFhg0nVci5gZ2330QlF4jH2OMYDejrE=" + ], + "desc": "trailing root1", + "wantErr": true +} \ No newline at end of file diff --git a/testdata/subtreeconsistency/5/trailing-root2.json b/testdata/subtreeconsistency/5/trailing-root2.json new file mode 100644 index 00000000..a233dfca --- /dev/null +++ b/testdata/subtreeconsistency/5/trailing-root2.json @@ -0,0 +1,15 @@ +{ + "start": 7, + "end": 8, + "size": 8, + "root1": "Rvb/rdPQagn/PFhg0nVci5gZ2330QlF4jH2OMYDejrE=", + "root2": "XcnaeacGWamtVZy3Ad7ZoqudgjqtL0lgz+Nw7/RgQyg=", + "proof": [ + "sIaT7C5yFZcTBkHoIR5+7cy0wmQTlj7ubB4u0W/7Gl8=", + "DrxdNDf74tsVi58Sah0RjjCBgQMdCpSfje3t68VY72o=", + "037kGJdt2VdTwcc4Yrk5j6Kiz5tP8P3+izDNlSCWFLc=", + "XcnaeacGWamtVZy3Ad7ZoqudgjqtL0lgz+Nw7/RgQyg=" + ], + "desc": "trailing root2", + "wantErr": true +} \ No newline at end of file diff --git a/testdata/subtreeconsistency/5/truncated-proof.json b/testdata/subtreeconsistency/5/truncated-proof.json new file mode 100644 index 00000000..19cef2b8 --- /dev/null +++ b/testdata/subtreeconsistency/5/truncated-proof.json @@ -0,0 +1,13 @@ +{ + "start": 7, + "end": 8, + "size": 8, + "root1": "Rvb/rdPQagn/PFhg0nVci5gZ2330QlF4jH2OMYDejrE=", + "root2": "XcnaeacGWamtVZy3Ad7ZoqudgjqtL0lgz+Nw7/RgQyg=", + "proof": [ + "sIaT7C5yFZcTBkHoIR5+7cy0wmQTlj7ubB4u0W/7Gl8=", + "DrxdNDf74tsVi58Sah0RjjCBgQMdCpSfje3t68VY72o=" + ], + "desc": "truncated proof", + "wantErr": true +} \ No newline at end of file diff --git a/testdata/subtreeconsistency/5/wrong-root1.json b/testdata/subtreeconsistency/5/wrong-root1.json new file mode 100644 index 00000000..1f614502 --- /dev/null +++ b/testdata/subtreeconsistency/5/wrong-root1.json @@ -0,0 +1,14 @@ +{ + "start": 7, + "end": 8, + "size": 8, + "root1": "V3JvbmdSb290", + "root2": "XcnaeacGWamtVZy3Ad7ZoqudgjqtL0lgz+Nw7/RgQyg=", + "proof": [ + "sIaT7C5yFZcTBkHoIR5+7cy0wmQTlj7ubB4u0W/7Gl8=", + "DrxdNDf74tsVi58Sah0RjjCBgQMdCpSfje3t68VY72o=", + "037kGJdt2VdTwcc4Yrk5j6Kiz5tP8P3+izDNlSCWFLc=" + ], + "desc": "wrong root1", + "wantErr": true +} \ No newline at end of file diff --git a/testdata/subtreeconsistency/5/wrong-root2.json b/testdata/subtreeconsistency/5/wrong-root2.json new file mode 100644 index 00000000..5a358b06 --- /dev/null +++ b/testdata/subtreeconsistency/5/wrong-root2.json @@ -0,0 +1,14 @@ +{ + "start": 7, + "end": 8, + "size": 8, + "root1": "Rvb/rdPQagn/PFhg0nVci5gZ2330QlF4jH2OMYDejrE=", + "root2": "V3JvbmdSb290", + "proof": [ + "sIaT7C5yFZcTBkHoIR5+7cy0wmQTlj7ubB4u0W/7Gl8=", + "DrxdNDf74tsVi58Sah0RjjCBgQMdCpSfje3t68VY72o=", + "037kGJdt2VdTwcc4Yrk5j6Kiz5tP8P3+izDNlSCWFLc=" + ], + "desc": "wrong root2", + "wantErr": true +} \ No newline at end of file diff --git a/testdata/subtreeconsistency/6/empty-proof.json b/testdata/subtreeconsistency/6/empty-proof.json new file mode 100644 index 00000000..ba9e12e1 --- /dev/null +++ b/testdata/subtreeconsistency/6/empty-proof.json @@ -0,0 +1,10 @@ +{ + "start": 4, + "end": 8, + "size": 8, + "root1": "a0eq8p7jwq+a+Im8H7klTavTEXfxYjLdaqsDXKOb9uQ=", + "root2": "XcnaeacGWamtVZy3Ad7ZoqudgjqtL0lgz+Nw7/RgQyg=", + "proof": [], + "desc": "empty proof", + "wantErr": true +} \ No newline at end of file diff --git a/testdata/subtreeconsistency/6/happy-path.json b/testdata/subtreeconsistency/6/happy-path.json new file mode 100644 index 00000000..7f0ba00b --- /dev/null +++ b/testdata/subtreeconsistency/6/happy-path.json @@ -0,0 +1,12 @@ +{ + "start": 4, + "end": 8, + "size": 8, + "root1": "a0eq8p7jwq+a+Im8H7klTavTEXfxYjLdaqsDXKOb9uQ=", + "root2": "XcnaeacGWamtVZy3Ad7ZoqudgjqtL0lgz+Nw7/RgQyg=", + "proof": [ + "037kGJdt2VdTwcc4Yrk5j6Kiz5tP8P3+izDNlSCWFLc=" + ], + "desc": "happy path", + "wantErr": false +} \ No newline at end of file diff --git a/testdata/subtreeconsistency/6/modified-proof@0-bit-@4.json b/testdata/subtreeconsistency/6/modified-proof@0-bit-@4.json new file mode 100644 index 00000000..84d3f7e0 --- /dev/null +++ b/testdata/subtreeconsistency/6/modified-proof@0-bit-@4.json @@ -0,0 +1,12 @@ +{ + "start": 4, + "end": 8, + "size": 8, + "root1": "a0eq8p7jwq+a+Im8H7klTavTEXfxYjLdaqsDXKOb9uQ=", + "root2": "XcnaeacGWamtVZy3Ad7ZoqudgjqtL0lgz+Nw7/RgQyg=", + "proof": [ + "w37kGJdt2VdTwcc4Yrk5j6Kiz5tP8P3+izDNlSCWFLc=" + ], + "desc": "modified proof@0 bit @4", + "wantErr": true +} \ No newline at end of file diff --git a/testdata/subtreeconsistency/6/preceding-garbage.json b/testdata/subtreeconsistency/6/preceding-garbage.json new file mode 100644 index 00000000..94189c6a --- /dev/null +++ b/testdata/subtreeconsistency/6/preceding-garbage.json @@ -0,0 +1,13 @@ +{ + "start": 4, + "end": 8, + "size": 8, + "root1": "a0eq8p7jwq+a+Im8H7klTavTEXfxYjLdaqsDXKOb9uQ=", + "root2": "XcnaeacGWamtVZy3Ad7ZoqudgjqtL0lgz+Nw7/RgQyg=", + "proof": [ + "", + "037kGJdt2VdTwcc4Yrk5j6Kiz5tP8P3+izDNlSCWFLc=" + ], + "desc": "preceding garbage", + "wantErr": true +} \ No newline at end of file diff --git a/testdata/subtreeconsistency/6/preceding-proof-@0.json b/testdata/subtreeconsistency/6/preceding-proof-@0.json new file mode 100644 index 00000000..fd1fcdc2 --- /dev/null +++ b/testdata/subtreeconsistency/6/preceding-proof-@0.json @@ -0,0 +1,13 @@ +{ + "start": 4, + "end": 8, + "size": 8, + "root1": "a0eq8p7jwq+a+Im8H7klTavTEXfxYjLdaqsDXKOb9uQ=", + "root2": "XcnaeacGWamtVZy3Ad7ZoqudgjqtL0lgz+Nw7/RgQyg=", + "proof": [ + "037kGJdt2VdTwcc4Yrk5j6Kiz5tP8P3+izDNlSCWFLc=", + "037kGJdt2VdTwcc4Yrk5j6Kiz5tP8P3+izDNlSCWFLc=" + ], + "desc": "preceding proof @0", + "wantErr": true +} \ No newline at end of file diff --git a/testdata/subtreeconsistency/6/preceding-root1.json b/testdata/subtreeconsistency/6/preceding-root1.json new file mode 100644 index 00000000..15dad8b3 --- /dev/null +++ b/testdata/subtreeconsistency/6/preceding-root1.json @@ -0,0 +1,13 @@ +{ + "start": 4, + "end": 8, + "size": 8, + "root1": "a0eq8p7jwq+a+Im8H7klTavTEXfxYjLdaqsDXKOb9uQ=", + "root2": "XcnaeacGWamtVZy3Ad7ZoqudgjqtL0lgz+Nw7/RgQyg=", + "proof": [ + "a0eq8p7jwq+a+Im8H7klTavTEXfxYjLdaqsDXKOb9uQ=", + "037kGJdt2VdTwcc4Yrk5j6Kiz5tP8P3+izDNlSCWFLc=" + ], + "desc": "preceding root1", + "wantErr": true +} \ No newline at end of file diff --git a/testdata/subtreeconsistency/6/preceding-root2.json b/testdata/subtreeconsistency/6/preceding-root2.json new file mode 100644 index 00000000..fa34a70d --- /dev/null +++ b/testdata/subtreeconsistency/6/preceding-root2.json @@ -0,0 +1,13 @@ +{ + "start": 4, + "end": 8, + "size": 8, + "root1": "a0eq8p7jwq+a+Im8H7klTavTEXfxYjLdaqsDXKOb9uQ=", + "root2": "XcnaeacGWamtVZy3Ad7ZoqudgjqtL0lgz+Nw7/RgQyg=", + "proof": [ + "XcnaeacGWamtVZy3Ad7ZoqudgjqtL0lgz+Nw7/RgQyg=", + "037kGJdt2VdTwcc4Yrk5j6Kiz5tP8P3+izDNlSCWFLc=" + ], + "desc": "preceding root2", + "wantErr": true +} \ No newline at end of file diff --git a/testdata/subtreeconsistency/6/size1-XOR-@2.json b/testdata/subtreeconsistency/6/size1-XOR-@2.json new file mode 100644 index 00000000..a6645813 --- /dev/null +++ b/testdata/subtreeconsistency/6/size1-XOR-@2.json @@ -0,0 +1,12 @@ +{ + "start": 4, + "end": 10, + "size": 8, + "root1": "a0eq8p7jwq+a+Im8H7klTavTEXfxYjLdaqsDXKOb9uQ=", + "root2": "XcnaeacGWamtVZy3Ad7ZoqudgjqtL0lgz+Nw7/RgQyg=", + "proof": [ + "037kGJdt2VdTwcc4Yrk5j6Kiz5tP8P3+izDNlSCWFLc=" + ], + "desc": "size1 XOR @2", + "wantErr": true +} \ No newline at end of file diff --git a/testdata/subtreeconsistency/6/size1-plus-@1.json b/testdata/subtreeconsistency/6/size1-plus-@1.json new file mode 100644 index 00000000..50313351 --- /dev/null +++ b/testdata/subtreeconsistency/6/size1-plus-@1.json @@ -0,0 +1,12 @@ +{ + "start": 4, + "end": 9, + "size": 8, + "root1": "a0eq8p7jwq+a+Im8H7klTavTEXfxYjLdaqsDXKOb9uQ=", + "root2": "XcnaeacGWamtVZy3Ad7ZoqudgjqtL0lgz+Nw7/RgQyg=", + "proof": [ + "037kGJdt2VdTwcc4Yrk5j6Kiz5tP8P3+izDNlSCWFLc=" + ], + "desc": "size1 plus @1", + "wantErr": true +} \ No newline at end of file diff --git a/testdata/subtreeconsistency/6/size1-sub-@1.json b/testdata/subtreeconsistency/6/size1-sub-@1.json new file mode 100644 index 00000000..c9a073b5 --- /dev/null +++ b/testdata/subtreeconsistency/6/size1-sub-@1.json @@ -0,0 +1,12 @@ +{ + "start": 4, + "end": 7, + "size": 8, + "root1": "a0eq8p7jwq+a+Im8H7klTavTEXfxYjLdaqsDXKOb9uQ=", + "root2": "XcnaeacGWamtVZy3Ad7ZoqudgjqtL0lgz+Nw7/RgQyg=", + "proof": [ + "037kGJdt2VdTwcc4Yrk5j6Kiz5tP8P3+izDNlSCWFLc=" + ], + "desc": "size1 sub @1", + "wantErr": true +} \ No newline at end of file diff --git a/testdata/subtreeconsistency/6/size2-div-@2.json b/testdata/subtreeconsistency/6/size2-div-@2.json new file mode 100644 index 00000000..e93612c2 --- /dev/null +++ b/testdata/subtreeconsistency/6/size2-div-@2.json @@ -0,0 +1,12 @@ +{ + "start": 4, + "end": 8, + "size": 4, + "root1": "a0eq8p7jwq+a+Im8H7klTavTEXfxYjLdaqsDXKOb9uQ=", + "root2": "XcnaeacGWamtVZy3Ad7ZoqudgjqtL0lgz+Nw7/RgQyg=", + "proof": [ + "037kGJdt2VdTwcc4Yrk5j6Kiz5tP8P3+izDNlSCWFLc=" + ], + "desc": "size2 div @2", + "wantErr": true +} \ No newline at end of file diff --git a/testdata/subtreeconsistency/6/size2-mul-@2.json b/testdata/subtreeconsistency/6/size2-mul-@2.json new file mode 100644 index 00000000..bbabd898 --- /dev/null +++ b/testdata/subtreeconsistency/6/size2-mul-@2.json @@ -0,0 +1,12 @@ +{ + "start": 4, + "end": 8, + "size": 16, + "root1": "a0eq8p7jwq+a+Im8H7klTavTEXfxYjLdaqsDXKOb9uQ=", + "root2": "XcnaeacGWamtVZy3Ad7ZoqudgjqtL0lgz+Nw7/RgQyg=", + "proof": [ + "037kGJdt2VdTwcc4Yrk5j6Kiz5tP8P3+izDNlSCWFLc=" + ], + "desc": "size2 mul @2", + "wantErr": true +} \ No newline at end of file diff --git a/testdata/subtreeconsistency/6/swapped-roots.json b/testdata/subtreeconsistency/6/swapped-roots.json new file mode 100644 index 00000000..c959d3da --- /dev/null +++ b/testdata/subtreeconsistency/6/swapped-roots.json @@ -0,0 +1,12 @@ +{ + "start": 4, + "end": 8, + "size": 8, + "root1": "XcnaeacGWamtVZy3Ad7ZoqudgjqtL0lgz+Nw7/RgQyg=", + "root2": "a0eq8p7jwq+a+Im8H7klTavTEXfxYjLdaqsDXKOb9uQ=", + "proof": [ + "037kGJdt2VdTwcc4Yrk5j6Kiz5tP8P3+izDNlSCWFLc=" + ], + "desc": "swapped roots", + "wantErr": true +} \ No newline at end of file diff --git a/testdata/subtreeconsistency/6/trailing-garbage.json b/testdata/subtreeconsistency/6/trailing-garbage.json new file mode 100644 index 00000000..22c02beb --- /dev/null +++ b/testdata/subtreeconsistency/6/trailing-garbage.json @@ -0,0 +1,13 @@ +{ + "start": 4, + "end": 8, + "size": 8, + "root1": "a0eq8p7jwq+a+Im8H7klTavTEXfxYjLdaqsDXKOb9uQ=", + "root2": "XcnaeacGWamtVZy3Ad7ZoqudgjqtL0lgz+Nw7/RgQyg=", + "proof": [ + "037kGJdt2VdTwcc4Yrk5j6Kiz5tP8P3+izDNlSCWFLc=", + "" + ], + "desc": "trailing garbage", + "wantErr": true +} \ No newline at end of file diff --git a/testdata/subtreeconsistency/6/trailing-root1.json b/testdata/subtreeconsistency/6/trailing-root1.json new file mode 100644 index 00000000..048f312b --- /dev/null +++ b/testdata/subtreeconsistency/6/trailing-root1.json @@ -0,0 +1,13 @@ +{ + "start": 4, + "end": 8, + "size": 8, + "root1": "a0eq8p7jwq+a+Im8H7klTavTEXfxYjLdaqsDXKOb9uQ=", + "root2": "XcnaeacGWamtVZy3Ad7ZoqudgjqtL0lgz+Nw7/RgQyg=", + "proof": [ + "037kGJdt2VdTwcc4Yrk5j6Kiz5tP8P3+izDNlSCWFLc=", + "a0eq8p7jwq+a+Im8H7klTavTEXfxYjLdaqsDXKOb9uQ=" + ], + "desc": "trailing root1", + "wantErr": true +} \ No newline at end of file diff --git a/testdata/subtreeconsistency/6/trailing-root2.json b/testdata/subtreeconsistency/6/trailing-root2.json new file mode 100644 index 00000000..fb5bd5e4 --- /dev/null +++ b/testdata/subtreeconsistency/6/trailing-root2.json @@ -0,0 +1,13 @@ +{ + "start": 4, + "end": 8, + "size": 8, + "root1": "a0eq8p7jwq+a+Im8H7klTavTEXfxYjLdaqsDXKOb9uQ=", + "root2": "XcnaeacGWamtVZy3Ad7ZoqudgjqtL0lgz+Nw7/RgQyg=", + "proof": [ + "037kGJdt2VdTwcc4Yrk5j6Kiz5tP8P3+izDNlSCWFLc=", + "XcnaeacGWamtVZy3Ad7ZoqudgjqtL0lgz+Nw7/RgQyg=" + ], + "desc": "trailing root2", + "wantErr": true +} \ No newline at end of file diff --git a/testdata/subtreeconsistency/6/truncated-proof.json b/testdata/subtreeconsistency/6/truncated-proof.json new file mode 100644 index 00000000..832e3a45 --- /dev/null +++ b/testdata/subtreeconsistency/6/truncated-proof.json @@ -0,0 +1,10 @@ +{ + "start": 4, + "end": 8, + "size": 8, + "root1": "a0eq8p7jwq+a+Im8H7klTavTEXfxYjLdaqsDXKOb9uQ=", + "root2": "XcnaeacGWamtVZy3Ad7ZoqudgjqtL0lgz+Nw7/RgQyg=", + "proof": [], + "desc": "truncated proof", + "wantErr": true +} \ No newline at end of file diff --git a/testdata/subtreeconsistency/6/wrong-root1.json b/testdata/subtreeconsistency/6/wrong-root1.json new file mode 100644 index 00000000..6a4c08c9 --- /dev/null +++ b/testdata/subtreeconsistency/6/wrong-root1.json @@ -0,0 +1,12 @@ +{ + "start": 4, + "end": 8, + "size": 8, + "root1": "V3JvbmdSb290", + "root2": "XcnaeacGWamtVZy3Ad7ZoqudgjqtL0lgz+Nw7/RgQyg=", + "proof": [ + "037kGJdt2VdTwcc4Yrk5j6Kiz5tP8P3+izDNlSCWFLc=" + ], + "desc": "wrong root1", + "wantErr": true +} \ No newline at end of file diff --git a/testdata/subtreeconsistency/6/wrong-root2.json b/testdata/subtreeconsistency/6/wrong-root2.json new file mode 100644 index 00000000..3fb97692 --- /dev/null +++ b/testdata/subtreeconsistency/6/wrong-root2.json @@ -0,0 +1,12 @@ +{ + "start": 4, + "end": 8, + "size": 8, + "root1": "a0eq8p7jwq+a+Im8H7klTavTEXfxYjLdaqsDXKOb9uQ=", + "root2": "V3JvbmdSb290", + "proof": [ + "037kGJdt2VdTwcc4Yrk5j6Kiz5tP8P3+izDNlSCWFLc=" + ], + "desc": "wrong root2", + "wantErr": true +} \ No newline at end of file diff --git a/testdata/subtreeconsistency/7/empty-proof.json b/testdata/subtreeconsistency/7/empty-proof.json new file mode 100644 index 00000000..11c8efc2 --- /dev/null +++ b/testdata/subtreeconsistency/7/empty-proof.json @@ -0,0 +1,10 @@ +{ + "start": 6, + "end": 8, + "size": 8, + "root1": "yoVOoSjtBQtBs1/8G4e46yveRh6eO1WW7Oa51ZdaCuA=", + "root2": "XcnaeacGWamtVZy3Ad7ZoqudgjqtL0lgz+Nw7/RgQyg=", + "proof": [], + "desc": "empty proof", + "wantErr": true +} \ No newline at end of file diff --git a/testdata/subtreeconsistency/7/happy-path.json b/testdata/subtreeconsistency/7/happy-path.json new file mode 100644 index 00000000..f4882d18 --- /dev/null +++ b/testdata/subtreeconsistency/7/happy-path.json @@ -0,0 +1,13 @@ +{ + "start": 6, + "end": 8, + "size": 8, + "root1": "yoVOoSjtBQtBs1/8G4e46yveRh6eO1WW7Oa51ZdaCuA=", + "root2": "XcnaeacGWamtVZy3Ad7ZoqudgjqtL0lgz+Nw7/RgQyg=", + "proof": [ + "DrxdNDf74tsVi58Sah0RjjCBgQMdCpSfje3t68VY72o=", + "037kGJdt2VdTwcc4Yrk5j6Kiz5tP8P3+izDNlSCWFLc=" + ], + "desc": "happy path", + "wantErr": false +} \ No newline at end of file diff --git a/testdata/subtreeconsistency/7/modified-proof@0-bit-@4.json b/testdata/subtreeconsistency/7/modified-proof@0-bit-@4.json new file mode 100644 index 00000000..a4376134 --- /dev/null +++ b/testdata/subtreeconsistency/7/modified-proof@0-bit-@4.json @@ -0,0 +1,13 @@ +{ + "start": 6, + "end": 8, + "size": 8, + "root1": "yoVOoSjtBQtBs1/8G4e46yveRh6eO1WW7Oa51ZdaCuA=", + "root2": "XcnaeacGWamtVZy3Ad7ZoqudgjqtL0lgz+Nw7/RgQyg=", + "proof": [ + "HrxdNDf74tsVi58Sah0RjjCBgQMdCpSfje3t68VY72o=", + "037kGJdt2VdTwcc4Yrk5j6Kiz5tP8P3+izDNlSCWFLc=" + ], + "desc": "modified proof@0 bit @4", + "wantErr": true +} \ No newline at end of file diff --git a/testdata/subtreeconsistency/7/modified-proof@1-bit-@4.json b/testdata/subtreeconsistency/7/modified-proof@1-bit-@4.json new file mode 100644 index 00000000..343802db --- /dev/null +++ b/testdata/subtreeconsistency/7/modified-proof@1-bit-@4.json @@ -0,0 +1,13 @@ +{ + "start": 6, + "end": 8, + "size": 8, + "root1": "yoVOoSjtBQtBs1/8G4e46yveRh6eO1WW7Oa51ZdaCuA=", + "root2": "XcnaeacGWamtVZy3Ad7ZoqudgjqtL0lgz+Nw7/RgQyg=", + "proof": [ + "DrxdNDf74tsVi58Sah0RjjCBgQMdCpSfje3t68VY72o=", + "w37kGJdt2VdTwcc4Yrk5j6Kiz5tP8P3+izDNlSCWFLc=" + ], + "desc": "modified proof@1 bit @4", + "wantErr": true +} \ No newline at end of file diff --git a/testdata/subtreeconsistency/7/preceding-garbage.json b/testdata/subtreeconsistency/7/preceding-garbage.json new file mode 100644 index 00000000..b9c68190 --- /dev/null +++ b/testdata/subtreeconsistency/7/preceding-garbage.json @@ -0,0 +1,14 @@ +{ + "start": 6, + "end": 8, + "size": 8, + "root1": "yoVOoSjtBQtBs1/8G4e46yveRh6eO1WW7Oa51ZdaCuA=", + "root2": "XcnaeacGWamtVZy3Ad7ZoqudgjqtL0lgz+Nw7/RgQyg=", + "proof": [ + "", + "DrxdNDf74tsVi58Sah0RjjCBgQMdCpSfje3t68VY72o=", + "037kGJdt2VdTwcc4Yrk5j6Kiz5tP8P3+izDNlSCWFLc=" + ], + "desc": "preceding garbage", + "wantErr": true +} \ No newline at end of file diff --git a/testdata/subtreeconsistency/7/preceding-proof-@0.json b/testdata/subtreeconsistency/7/preceding-proof-@0.json new file mode 100644 index 00000000..4edca902 --- /dev/null +++ b/testdata/subtreeconsistency/7/preceding-proof-@0.json @@ -0,0 +1,14 @@ +{ + "start": 6, + "end": 8, + "size": 8, + "root1": "yoVOoSjtBQtBs1/8G4e46yveRh6eO1WW7Oa51ZdaCuA=", + "root2": "XcnaeacGWamtVZy3Ad7ZoqudgjqtL0lgz+Nw7/RgQyg=", + "proof": [ + "DrxdNDf74tsVi58Sah0RjjCBgQMdCpSfje3t68VY72o=", + "DrxdNDf74tsVi58Sah0RjjCBgQMdCpSfje3t68VY72o=", + "037kGJdt2VdTwcc4Yrk5j6Kiz5tP8P3+izDNlSCWFLc=" + ], + "desc": "preceding proof @0", + "wantErr": true +} \ No newline at end of file diff --git a/testdata/subtreeconsistency/2/invalid-subtree.json b/testdata/subtreeconsistency/7/preceding-root1.json similarity index 66% rename from testdata/subtreeconsistency/2/invalid-subtree.json rename to testdata/subtreeconsistency/7/preceding-root1.json index 5ecbfe13..0a8ea980 100644 --- a/testdata/subtreeconsistency/2/invalid-subtree.json +++ b/testdata/subtreeconsistency/7/preceding-root1.json @@ -1,14 +1,14 @@ { - "start": 1, - "end": 15, - "size": 15, - "root1": "duZ9rbzfHhDht03cYIq9L5jfsW+851J3tSMqEn8gh+8=", + "start": 6, + "end": 8, + "size": 8, + "root1": "yoVOoSjtBQtBs1/8G4e46yveRh6eO1WW7Oa51ZdaCuA=", "root2": "XcnaeacGWamtVZy3Ad7ZoqudgjqtL0lgz+Nw7/RgQyg=", "proof": [ - "DrxdNDf74tsVi58Sah0RjjCBgQMdCpSfje3t68VY72o=", "yoVOoSjtBQtBs1/8G4e46yveRh6eO1WW7Oa51ZdaCuA=", + "DrxdNDf74tsVi58Sah0RjjCBgQMdCpSfje3t68VY72o=", "037kGJdt2VdTwcc4Yrk5j6Kiz5tP8P3+izDNlSCWFLc=" ], - "desc": "invalid subtree", + "desc": "preceding root1", "wantErr": true } \ No newline at end of file diff --git a/testdata/subtreeconsistency/7/preceding-root2.json b/testdata/subtreeconsistency/7/preceding-root2.json new file mode 100644 index 00000000..49d01c56 --- /dev/null +++ b/testdata/subtreeconsistency/7/preceding-root2.json @@ -0,0 +1,14 @@ +{ + "start": 6, + "end": 8, + "size": 8, + "root1": "yoVOoSjtBQtBs1/8G4e46yveRh6eO1WW7Oa51ZdaCuA=", + "root2": "XcnaeacGWamtVZy3Ad7ZoqudgjqtL0lgz+Nw7/RgQyg=", + "proof": [ + "XcnaeacGWamtVZy3Ad7ZoqudgjqtL0lgz+Nw7/RgQyg=", + "DrxdNDf74tsVi58Sah0RjjCBgQMdCpSfje3t68VY72o=", + "037kGJdt2VdTwcc4Yrk5j6Kiz5tP8P3+izDNlSCWFLc=" + ], + "desc": "preceding root2", + "wantErr": true +} \ No newline at end of file diff --git a/testdata/subtreeconsistency/7/size1-XOR-@2.json b/testdata/subtreeconsistency/7/size1-XOR-@2.json new file mode 100644 index 00000000..49499c43 --- /dev/null +++ b/testdata/subtreeconsistency/7/size1-XOR-@2.json @@ -0,0 +1,13 @@ +{ + "start": 6, + "end": 10, + "size": 8, + "root1": "yoVOoSjtBQtBs1/8G4e46yveRh6eO1WW7Oa51ZdaCuA=", + "root2": "XcnaeacGWamtVZy3Ad7ZoqudgjqtL0lgz+Nw7/RgQyg=", + "proof": [ + "DrxdNDf74tsVi58Sah0RjjCBgQMdCpSfje3t68VY72o=", + "037kGJdt2VdTwcc4Yrk5j6Kiz5tP8P3+izDNlSCWFLc=" + ], + "desc": "size1 XOR @2", + "wantErr": true +} \ No newline at end of file diff --git a/testdata/subtreeconsistency/7/size1-plus-@1.json b/testdata/subtreeconsistency/7/size1-plus-@1.json new file mode 100644 index 00000000..7b241d6d --- /dev/null +++ b/testdata/subtreeconsistency/7/size1-plus-@1.json @@ -0,0 +1,13 @@ +{ + "start": 6, + "end": 9, + "size": 8, + "root1": "yoVOoSjtBQtBs1/8G4e46yveRh6eO1WW7Oa51ZdaCuA=", + "root2": "XcnaeacGWamtVZy3Ad7ZoqudgjqtL0lgz+Nw7/RgQyg=", + "proof": [ + "DrxdNDf74tsVi58Sah0RjjCBgQMdCpSfje3t68VY72o=", + "037kGJdt2VdTwcc4Yrk5j6Kiz5tP8P3+izDNlSCWFLc=" + ], + "desc": "size1 plus @1", + "wantErr": true +} \ No newline at end of file diff --git a/testdata/subtreeconsistency/7/size1-sub-@1.json b/testdata/subtreeconsistency/7/size1-sub-@1.json new file mode 100644 index 00000000..ba9eeb6d --- /dev/null +++ b/testdata/subtreeconsistency/7/size1-sub-@1.json @@ -0,0 +1,13 @@ +{ + "start": 6, + "end": 7, + "size": 8, + "root1": "yoVOoSjtBQtBs1/8G4e46yveRh6eO1WW7Oa51ZdaCuA=", + "root2": "XcnaeacGWamtVZy3Ad7ZoqudgjqtL0lgz+Nw7/RgQyg=", + "proof": [ + "DrxdNDf74tsVi58Sah0RjjCBgQMdCpSfje3t68VY72o=", + "037kGJdt2VdTwcc4Yrk5j6Kiz5tP8P3+izDNlSCWFLc=" + ], + "desc": "size1 sub @1", + "wantErr": true +} \ No newline at end of file diff --git a/testdata/subtreeconsistency/7/size2-div-@2.json b/testdata/subtreeconsistency/7/size2-div-@2.json new file mode 100644 index 00000000..9bf2d0b4 --- /dev/null +++ b/testdata/subtreeconsistency/7/size2-div-@2.json @@ -0,0 +1,13 @@ +{ + "start": 6, + "end": 8, + "size": 4, + "root1": "yoVOoSjtBQtBs1/8G4e46yveRh6eO1WW7Oa51ZdaCuA=", + "root2": "XcnaeacGWamtVZy3Ad7ZoqudgjqtL0lgz+Nw7/RgQyg=", + "proof": [ + "DrxdNDf74tsVi58Sah0RjjCBgQMdCpSfje3t68VY72o=", + "037kGJdt2VdTwcc4Yrk5j6Kiz5tP8P3+izDNlSCWFLc=" + ], + "desc": "size2 div @2", + "wantErr": true +} \ No newline at end of file diff --git a/testdata/subtreeconsistency/7/size2-mul-@2.json b/testdata/subtreeconsistency/7/size2-mul-@2.json new file mode 100644 index 00000000..e7005be8 --- /dev/null +++ b/testdata/subtreeconsistency/7/size2-mul-@2.json @@ -0,0 +1,13 @@ +{ + "start": 6, + "end": 8, + "size": 16, + "root1": "yoVOoSjtBQtBs1/8G4e46yveRh6eO1WW7Oa51ZdaCuA=", + "root2": "XcnaeacGWamtVZy3Ad7ZoqudgjqtL0lgz+Nw7/RgQyg=", + "proof": [ + "DrxdNDf74tsVi58Sah0RjjCBgQMdCpSfje3t68VY72o=", + "037kGJdt2VdTwcc4Yrk5j6Kiz5tP8P3+izDNlSCWFLc=" + ], + "desc": "size2 mul @2", + "wantErr": true +} \ No newline at end of file diff --git a/testdata/subtreeconsistency/7/swapped-roots.json b/testdata/subtreeconsistency/7/swapped-roots.json new file mode 100644 index 00000000..965bc818 --- /dev/null +++ b/testdata/subtreeconsistency/7/swapped-roots.json @@ -0,0 +1,13 @@ +{ + "start": 6, + "end": 8, + "size": 8, + "root1": "XcnaeacGWamtVZy3Ad7ZoqudgjqtL0lgz+Nw7/RgQyg=", + "root2": "yoVOoSjtBQtBs1/8G4e46yveRh6eO1WW7Oa51ZdaCuA=", + "proof": [ + "DrxdNDf74tsVi58Sah0RjjCBgQMdCpSfje3t68VY72o=", + "037kGJdt2VdTwcc4Yrk5j6Kiz5tP8P3+izDNlSCWFLc=" + ], + "desc": "swapped roots", + "wantErr": true +} \ No newline at end of file diff --git a/testdata/subtreeconsistency/7/trailing-garbage.json b/testdata/subtreeconsistency/7/trailing-garbage.json new file mode 100644 index 00000000..f077cd28 --- /dev/null +++ b/testdata/subtreeconsistency/7/trailing-garbage.json @@ -0,0 +1,14 @@ +{ + "start": 6, + "end": 8, + "size": 8, + "root1": "yoVOoSjtBQtBs1/8G4e46yveRh6eO1WW7Oa51ZdaCuA=", + "root2": "XcnaeacGWamtVZy3Ad7ZoqudgjqtL0lgz+Nw7/RgQyg=", + "proof": [ + "DrxdNDf74tsVi58Sah0RjjCBgQMdCpSfje3t68VY72o=", + "037kGJdt2VdTwcc4Yrk5j6Kiz5tP8P3+izDNlSCWFLc=", + "" + ], + "desc": "trailing garbage", + "wantErr": true +} \ No newline at end of file diff --git a/testdata/subtreeconsistency/7/trailing-root1.json b/testdata/subtreeconsistency/7/trailing-root1.json new file mode 100644 index 00000000..a8e92424 --- /dev/null +++ b/testdata/subtreeconsistency/7/trailing-root1.json @@ -0,0 +1,14 @@ +{ + "start": 6, + "end": 8, + "size": 8, + "root1": "yoVOoSjtBQtBs1/8G4e46yveRh6eO1WW7Oa51ZdaCuA=", + "root2": "XcnaeacGWamtVZy3Ad7ZoqudgjqtL0lgz+Nw7/RgQyg=", + "proof": [ + "DrxdNDf74tsVi58Sah0RjjCBgQMdCpSfje3t68VY72o=", + "037kGJdt2VdTwcc4Yrk5j6Kiz5tP8P3+izDNlSCWFLc=", + "yoVOoSjtBQtBs1/8G4e46yveRh6eO1WW7Oa51ZdaCuA=" + ], + "desc": "trailing root1", + "wantErr": true +} \ No newline at end of file diff --git a/testdata/subtreeconsistency/7/trailing-root2.json b/testdata/subtreeconsistency/7/trailing-root2.json new file mode 100644 index 00000000..9c7c5d2b --- /dev/null +++ b/testdata/subtreeconsistency/7/trailing-root2.json @@ -0,0 +1,14 @@ +{ + "start": 6, + "end": 8, + "size": 8, + "root1": "yoVOoSjtBQtBs1/8G4e46yveRh6eO1WW7Oa51ZdaCuA=", + "root2": "XcnaeacGWamtVZy3Ad7ZoqudgjqtL0lgz+Nw7/RgQyg=", + "proof": [ + "DrxdNDf74tsVi58Sah0RjjCBgQMdCpSfje3t68VY72o=", + "037kGJdt2VdTwcc4Yrk5j6Kiz5tP8P3+izDNlSCWFLc=", + "XcnaeacGWamtVZy3Ad7ZoqudgjqtL0lgz+Nw7/RgQyg=" + ], + "desc": "trailing root2", + "wantErr": true +} \ No newline at end of file diff --git a/testdata/subtreeconsistency/7/truncated-proof.json b/testdata/subtreeconsistency/7/truncated-proof.json new file mode 100644 index 00000000..7a9d65b4 --- /dev/null +++ b/testdata/subtreeconsistency/7/truncated-proof.json @@ -0,0 +1,12 @@ +{ + "start": 6, + "end": 8, + "size": 8, + "root1": "yoVOoSjtBQtBs1/8G4e46yveRh6eO1WW7Oa51ZdaCuA=", + "root2": "XcnaeacGWamtVZy3Ad7ZoqudgjqtL0lgz+Nw7/RgQyg=", + "proof": [ + "DrxdNDf74tsVi58Sah0RjjCBgQMdCpSfje3t68VY72o=" + ], + "desc": "truncated proof", + "wantErr": true +} \ No newline at end of file diff --git a/testdata/subtreeconsistency/7/wrong-root1.json b/testdata/subtreeconsistency/7/wrong-root1.json new file mode 100644 index 00000000..eb70ad3c --- /dev/null +++ b/testdata/subtreeconsistency/7/wrong-root1.json @@ -0,0 +1,13 @@ +{ + "start": 6, + "end": 8, + "size": 8, + "root1": "V3JvbmdSb290", + "root2": "XcnaeacGWamtVZy3Ad7ZoqudgjqtL0lgz+Nw7/RgQyg=", + "proof": [ + "DrxdNDf74tsVi58Sah0RjjCBgQMdCpSfje3t68VY72o=", + "037kGJdt2VdTwcc4Yrk5j6Kiz5tP8P3+izDNlSCWFLc=" + ], + "desc": "wrong root1", + "wantErr": true +} \ No newline at end of file diff --git a/testdata/subtreeconsistency/7/wrong-root2.json b/testdata/subtreeconsistency/7/wrong-root2.json new file mode 100644 index 00000000..349190b7 --- /dev/null +++ b/testdata/subtreeconsistency/7/wrong-root2.json @@ -0,0 +1,13 @@ +{ + "start": 6, + "end": 8, + "size": 8, + "root1": "yoVOoSjtBQtBs1/8G4e46yveRh6eO1WW7Oa51ZdaCuA=", + "root2": "V3JvbmdSb290", + "proof": [ + "DrxdNDf74tsVi58Sah0RjjCBgQMdCpSfje3t68VY72o=", + "037kGJdt2VdTwcc4Yrk5j6Kiz5tP8P3+izDNlSCWFLc=" + ], + "desc": "wrong root2", + "wantErr": true +} \ No newline at end of file diff --git a/testdata/subtreeconsistency/8/empty-proof.json b/testdata/subtreeconsistency/8/empty-proof.json new file mode 100644 index 00000000..c0e24d3c --- /dev/null +++ b/testdata/subtreeconsistency/8/empty-proof.json @@ -0,0 +1,10 @@ +{ + "start": 4, + "end": 7, + "size": 7, + "root1": "g327FS6bB5AQcX6E6GXaTrwPoZioBtWdMb8VrM7yLQ4=", + "root2": "3bib5AOAnjJXUNPSY814kpwpQreUKjS3fhIslZSnTIw=", + "proof": [], + "desc": "empty proof", + "wantErr": true +} \ No newline at end of file diff --git a/testdata/subtreeconsistency/8/happy-path.json b/testdata/subtreeconsistency/8/happy-path.json new file mode 100644 index 00000000..42a38e82 --- /dev/null +++ b/testdata/subtreeconsistency/8/happy-path.json @@ -0,0 +1,12 @@ +{ + "start": 4, + "end": 7, + "size": 7, + "root1": "g327FS6bB5AQcX6E6GXaTrwPoZioBtWdMb8VrM7yLQ4=", + "root2": "3bib5AOAnjJXUNPSY814kpwpQreUKjS3fhIslZSnTIw=", + "proof": [ + "037kGJdt2VdTwcc4Yrk5j6Kiz5tP8P3+izDNlSCWFLc=" + ], + "desc": "happy path", + "wantErr": false +} \ No newline at end of file diff --git a/testdata/subtreeconsistency/8/modified-proof@0-bit-@4.json b/testdata/subtreeconsistency/8/modified-proof@0-bit-@4.json new file mode 100644 index 00000000..4d50c425 --- /dev/null +++ b/testdata/subtreeconsistency/8/modified-proof@0-bit-@4.json @@ -0,0 +1,12 @@ +{ + "start": 4, + "end": 7, + "size": 7, + "root1": "g327FS6bB5AQcX6E6GXaTrwPoZioBtWdMb8VrM7yLQ4=", + "root2": "3bib5AOAnjJXUNPSY814kpwpQreUKjS3fhIslZSnTIw=", + "proof": [ + "w37kGJdt2VdTwcc4Yrk5j6Kiz5tP8P3+izDNlSCWFLc=" + ], + "desc": "modified proof@0 bit @4", + "wantErr": true +} \ No newline at end of file diff --git a/testdata/subtreeconsistency/8/preceding-garbage.json b/testdata/subtreeconsistency/8/preceding-garbage.json new file mode 100644 index 00000000..071a7606 --- /dev/null +++ b/testdata/subtreeconsistency/8/preceding-garbage.json @@ -0,0 +1,13 @@ +{ + "start": 4, + "end": 7, + "size": 7, + "root1": "g327FS6bB5AQcX6E6GXaTrwPoZioBtWdMb8VrM7yLQ4=", + "root2": "3bib5AOAnjJXUNPSY814kpwpQreUKjS3fhIslZSnTIw=", + "proof": [ + "", + "037kGJdt2VdTwcc4Yrk5j6Kiz5tP8P3+izDNlSCWFLc=" + ], + "desc": "preceding garbage", + "wantErr": true +} \ No newline at end of file diff --git a/testdata/subtreeconsistency/8/preceding-proof-@0.json b/testdata/subtreeconsistency/8/preceding-proof-@0.json new file mode 100644 index 00000000..4354af5a --- /dev/null +++ b/testdata/subtreeconsistency/8/preceding-proof-@0.json @@ -0,0 +1,13 @@ +{ + "start": 4, + "end": 7, + "size": 7, + "root1": "g327FS6bB5AQcX6E6GXaTrwPoZioBtWdMb8VrM7yLQ4=", + "root2": "3bib5AOAnjJXUNPSY814kpwpQreUKjS3fhIslZSnTIw=", + "proof": [ + "037kGJdt2VdTwcc4Yrk5j6Kiz5tP8P3+izDNlSCWFLc=", + "037kGJdt2VdTwcc4Yrk5j6Kiz5tP8P3+izDNlSCWFLc=" + ], + "desc": "preceding proof @0", + "wantErr": true +} \ No newline at end of file diff --git a/testdata/subtreeconsistency/8/preceding-root1.json b/testdata/subtreeconsistency/8/preceding-root1.json new file mode 100644 index 00000000..565e4809 --- /dev/null +++ b/testdata/subtreeconsistency/8/preceding-root1.json @@ -0,0 +1,13 @@ +{ + "start": 4, + "end": 7, + "size": 7, + "root1": "g327FS6bB5AQcX6E6GXaTrwPoZioBtWdMb8VrM7yLQ4=", + "root2": "3bib5AOAnjJXUNPSY814kpwpQreUKjS3fhIslZSnTIw=", + "proof": [ + "g327FS6bB5AQcX6E6GXaTrwPoZioBtWdMb8VrM7yLQ4=", + "037kGJdt2VdTwcc4Yrk5j6Kiz5tP8P3+izDNlSCWFLc=" + ], + "desc": "preceding root1", + "wantErr": true +} \ No newline at end of file diff --git a/testdata/subtreeconsistency/8/preceding-root2.json b/testdata/subtreeconsistency/8/preceding-root2.json new file mode 100644 index 00000000..c564cd3e --- /dev/null +++ b/testdata/subtreeconsistency/8/preceding-root2.json @@ -0,0 +1,13 @@ +{ + "start": 4, + "end": 7, + "size": 7, + "root1": "g327FS6bB5AQcX6E6GXaTrwPoZioBtWdMb8VrM7yLQ4=", + "root2": "3bib5AOAnjJXUNPSY814kpwpQreUKjS3fhIslZSnTIw=", + "proof": [ + "3bib5AOAnjJXUNPSY814kpwpQreUKjS3fhIslZSnTIw=", + "037kGJdt2VdTwcc4Yrk5j6Kiz5tP8P3+izDNlSCWFLc=" + ], + "desc": "preceding root2", + "wantErr": true +} \ No newline at end of file diff --git a/testdata/subtreeconsistency/8/size1-XOR-@2.json b/testdata/subtreeconsistency/8/size1-XOR-@2.json new file mode 100644 index 00000000..fa989edc --- /dev/null +++ b/testdata/subtreeconsistency/8/size1-XOR-@2.json @@ -0,0 +1,12 @@ +{ + "start": 4, + "end": 5, + "size": 7, + "root1": "g327FS6bB5AQcX6E6GXaTrwPoZioBtWdMb8VrM7yLQ4=", + "root2": "3bib5AOAnjJXUNPSY814kpwpQreUKjS3fhIslZSnTIw=", + "proof": [ + "037kGJdt2VdTwcc4Yrk5j6Kiz5tP8P3+izDNlSCWFLc=" + ], + "desc": "size1 XOR @2", + "wantErr": true +} \ No newline at end of file diff --git a/testdata/subtreeconsistency/8/size1-plus-@1.json b/testdata/subtreeconsistency/8/size1-plus-@1.json new file mode 100644 index 00000000..f4eb8da2 --- /dev/null +++ b/testdata/subtreeconsistency/8/size1-plus-@1.json @@ -0,0 +1,12 @@ +{ + "start": 4, + "end": 8, + "size": 7, + "root1": "g327FS6bB5AQcX6E6GXaTrwPoZioBtWdMb8VrM7yLQ4=", + "root2": "3bib5AOAnjJXUNPSY814kpwpQreUKjS3fhIslZSnTIw=", + "proof": [ + "037kGJdt2VdTwcc4Yrk5j6Kiz5tP8P3+izDNlSCWFLc=" + ], + "desc": "size1 plus @1", + "wantErr": true +} \ No newline at end of file diff --git a/testdata/subtreeconsistency/8/size1-sub-@1.json b/testdata/subtreeconsistency/8/size1-sub-@1.json new file mode 100644 index 00000000..a80d9b7c --- /dev/null +++ b/testdata/subtreeconsistency/8/size1-sub-@1.json @@ -0,0 +1,12 @@ +{ + "start": 4, + "end": 6, + "size": 7, + "root1": "g327FS6bB5AQcX6E6GXaTrwPoZioBtWdMb8VrM7yLQ4=", + "root2": "3bib5AOAnjJXUNPSY814kpwpQreUKjS3fhIslZSnTIw=", + "proof": [ + "037kGJdt2VdTwcc4Yrk5j6Kiz5tP8P3+izDNlSCWFLc=" + ], + "desc": "size1 sub @1", + "wantErr": true +} \ No newline at end of file diff --git a/testdata/subtreeconsistency/8/size2-div-@2.json b/testdata/subtreeconsistency/8/size2-div-@2.json new file mode 100644 index 00000000..016cae88 --- /dev/null +++ b/testdata/subtreeconsistency/8/size2-div-@2.json @@ -0,0 +1,12 @@ +{ + "start": 4, + "end": 7, + "size": 3, + "root1": "g327FS6bB5AQcX6E6GXaTrwPoZioBtWdMb8VrM7yLQ4=", + "root2": "3bib5AOAnjJXUNPSY814kpwpQreUKjS3fhIslZSnTIw=", + "proof": [ + "037kGJdt2VdTwcc4Yrk5j6Kiz5tP8P3+izDNlSCWFLc=" + ], + "desc": "size2 div @2", + "wantErr": true +} \ No newline at end of file diff --git a/testdata/subtreeconsistency/8/size2-mul-@2.json b/testdata/subtreeconsistency/8/size2-mul-@2.json new file mode 100644 index 00000000..2491be58 --- /dev/null +++ b/testdata/subtreeconsistency/8/size2-mul-@2.json @@ -0,0 +1,12 @@ +{ + "start": 4, + "end": 7, + "size": 14, + "root1": "g327FS6bB5AQcX6E6GXaTrwPoZioBtWdMb8VrM7yLQ4=", + "root2": "3bib5AOAnjJXUNPSY814kpwpQreUKjS3fhIslZSnTIw=", + "proof": [ + "037kGJdt2VdTwcc4Yrk5j6Kiz5tP8P3+izDNlSCWFLc=" + ], + "desc": "size2 mul @2", + "wantErr": true +} \ No newline at end of file diff --git a/testdata/subtreeconsistency/8/swapped-roots.json b/testdata/subtreeconsistency/8/swapped-roots.json new file mode 100644 index 00000000..4f4d0d8a --- /dev/null +++ b/testdata/subtreeconsistency/8/swapped-roots.json @@ -0,0 +1,12 @@ +{ + "start": 4, + "end": 7, + "size": 7, + "root1": "3bib5AOAnjJXUNPSY814kpwpQreUKjS3fhIslZSnTIw=", + "root2": "g327FS6bB5AQcX6E6GXaTrwPoZioBtWdMb8VrM7yLQ4=", + "proof": [ + "037kGJdt2VdTwcc4Yrk5j6Kiz5tP8P3+izDNlSCWFLc=" + ], + "desc": "swapped roots", + "wantErr": true +} \ No newline at end of file diff --git a/testdata/subtreeconsistency/8/trailing-garbage.json b/testdata/subtreeconsistency/8/trailing-garbage.json new file mode 100644 index 00000000..68698968 --- /dev/null +++ b/testdata/subtreeconsistency/8/trailing-garbage.json @@ -0,0 +1,13 @@ +{ + "start": 4, + "end": 7, + "size": 7, + "root1": "g327FS6bB5AQcX6E6GXaTrwPoZioBtWdMb8VrM7yLQ4=", + "root2": "3bib5AOAnjJXUNPSY814kpwpQreUKjS3fhIslZSnTIw=", + "proof": [ + "037kGJdt2VdTwcc4Yrk5j6Kiz5tP8P3+izDNlSCWFLc=", + "" + ], + "desc": "trailing garbage", + "wantErr": true +} \ No newline at end of file diff --git a/testdata/subtreeconsistency/8/trailing-root1.json b/testdata/subtreeconsistency/8/trailing-root1.json new file mode 100644 index 00000000..374b735d --- /dev/null +++ b/testdata/subtreeconsistency/8/trailing-root1.json @@ -0,0 +1,13 @@ +{ + "start": 4, + "end": 7, + "size": 7, + "root1": "g327FS6bB5AQcX6E6GXaTrwPoZioBtWdMb8VrM7yLQ4=", + "root2": "3bib5AOAnjJXUNPSY814kpwpQreUKjS3fhIslZSnTIw=", + "proof": [ + "037kGJdt2VdTwcc4Yrk5j6Kiz5tP8P3+izDNlSCWFLc=", + "g327FS6bB5AQcX6E6GXaTrwPoZioBtWdMb8VrM7yLQ4=" + ], + "desc": "trailing root1", + "wantErr": true +} \ No newline at end of file diff --git a/testdata/subtreeconsistency/8/trailing-root2.json b/testdata/subtreeconsistency/8/trailing-root2.json new file mode 100644 index 00000000..a0d3b53a --- /dev/null +++ b/testdata/subtreeconsistency/8/trailing-root2.json @@ -0,0 +1,13 @@ +{ + "start": 4, + "end": 7, + "size": 7, + "root1": "g327FS6bB5AQcX6E6GXaTrwPoZioBtWdMb8VrM7yLQ4=", + "root2": "3bib5AOAnjJXUNPSY814kpwpQreUKjS3fhIslZSnTIw=", + "proof": [ + "037kGJdt2VdTwcc4Yrk5j6Kiz5tP8P3+izDNlSCWFLc=", + "3bib5AOAnjJXUNPSY814kpwpQreUKjS3fhIslZSnTIw=" + ], + "desc": "trailing root2", + "wantErr": true +} \ No newline at end of file diff --git a/testdata/subtreeconsistency/8/truncated-proof.json b/testdata/subtreeconsistency/8/truncated-proof.json new file mode 100644 index 00000000..48c36e9a --- /dev/null +++ b/testdata/subtreeconsistency/8/truncated-proof.json @@ -0,0 +1,10 @@ +{ + "start": 4, + "end": 7, + "size": 7, + "root1": "g327FS6bB5AQcX6E6GXaTrwPoZioBtWdMb8VrM7yLQ4=", + "root2": "3bib5AOAnjJXUNPSY814kpwpQreUKjS3fhIslZSnTIw=", + "proof": [], + "desc": "truncated proof", + "wantErr": true +} \ No newline at end of file diff --git a/testdata/subtreeconsistency/8/wrong-root1.json b/testdata/subtreeconsistency/8/wrong-root1.json new file mode 100644 index 00000000..1afbb61f --- /dev/null +++ b/testdata/subtreeconsistency/8/wrong-root1.json @@ -0,0 +1,12 @@ +{ + "start": 4, + "end": 7, + "size": 7, + "root1": "V3JvbmdSb290", + "root2": "3bib5AOAnjJXUNPSY814kpwpQreUKjS3fhIslZSnTIw=", + "proof": [ + "037kGJdt2VdTwcc4Yrk5j6Kiz5tP8P3+izDNlSCWFLc=" + ], + "desc": "wrong root1", + "wantErr": true +} \ No newline at end of file diff --git a/testdata/subtreeconsistency/8/wrong-root2.json b/testdata/subtreeconsistency/8/wrong-root2.json new file mode 100644 index 00000000..843789d0 --- /dev/null +++ b/testdata/subtreeconsistency/8/wrong-root2.json @@ -0,0 +1,12 @@ +{ + "start": 4, + "end": 7, + "size": 7, + "root1": "g327FS6bB5AQcX6E6GXaTrwPoZioBtWdMb8VrM7yLQ4=", + "root2": "V3JvbmdSb290", + "proof": [ + "037kGJdt2VdTwcc4Yrk5j6Kiz5tP8P3+izDNlSCWFLc=" + ], + "desc": "wrong root2", + "wantErr": true +} \ No newline at end of file diff --git a/testdata/subtreeconsistency/9/empty-proof.json b/testdata/subtreeconsistency/9/empty-proof.json new file mode 100644 index 00000000..8b89163f --- /dev/null +++ b/testdata/subtreeconsistency/9/empty-proof.json @@ -0,0 +1,10 @@ +{ + "start": 4, + "end": 5, + "size": 8, + "root1": "vBoGQ7EuTS18d5GPROD095qDi2z57FtcKD4fTYhZnms=", + "root2": "XcnaeacGWamtVZy3Ad7ZoqudgjqtL0lgz+Nw7/RgQyg=", + "proof": [], + "desc": "empty proof", + "wantErr": true +} \ No newline at end of file diff --git a/testdata/subtreeconsistency/9/happy-path.json b/testdata/subtreeconsistency/9/happy-path.json new file mode 100644 index 00000000..28f23c83 --- /dev/null +++ b/testdata/subtreeconsistency/9/happy-path.json @@ -0,0 +1,14 @@ +{ + "start": 4, + "end": 5, + "size": 8, + "root1": "vBoGQ7EuTS18d5GPROD095qDi2z57FtcKD4fTYhZnms=", + "root2": "XcnaeacGWamtVZy3Ad7ZoqudgjqtL0lgz+Nw7/RgQyg=", + "proof": [ + "QnGia+DYqE8L1UyMMC58s6O10fpngKQLzOKHNHfatlg=", + "yoVOoSjtBQtBs1/8G4e46yveRh6eO1WW7Oa51ZdaCuA=", + "037kGJdt2VdTwcc4Yrk5j6Kiz5tP8P3+izDNlSCWFLc=" + ], + "desc": "happy path", + "wantErr": false +} \ No newline at end of file diff --git a/testdata/subtreeconsistency/9/modified-proof@0-bit-@4.json b/testdata/subtreeconsistency/9/modified-proof@0-bit-@4.json new file mode 100644 index 00000000..6fb0086f --- /dev/null +++ b/testdata/subtreeconsistency/9/modified-proof@0-bit-@4.json @@ -0,0 +1,14 @@ +{ + "start": 4, + "end": 5, + "size": 8, + "root1": "vBoGQ7EuTS18d5GPROD095qDi2z57FtcKD4fTYhZnms=", + "root2": "XcnaeacGWamtVZy3Ad7ZoqudgjqtL0lgz+Nw7/RgQyg=", + "proof": [ + "UnGia+DYqE8L1UyMMC58s6O10fpngKQLzOKHNHfatlg=", + "yoVOoSjtBQtBs1/8G4e46yveRh6eO1WW7Oa51ZdaCuA=", + "037kGJdt2VdTwcc4Yrk5j6Kiz5tP8P3+izDNlSCWFLc=" + ], + "desc": "modified proof@0 bit @4", + "wantErr": true +} \ No newline at end of file diff --git a/testdata/subtreeconsistency/9/modified-proof@1-bit-@4.json b/testdata/subtreeconsistency/9/modified-proof@1-bit-@4.json new file mode 100644 index 00000000..36b0b6d3 --- /dev/null +++ b/testdata/subtreeconsistency/9/modified-proof@1-bit-@4.json @@ -0,0 +1,14 @@ +{ + "start": 4, + "end": 5, + "size": 8, + "root1": "vBoGQ7EuTS18d5GPROD095qDi2z57FtcKD4fTYhZnms=", + "root2": "XcnaeacGWamtVZy3Ad7ZoqudgjqtL0lgz+Nw7/RgQyg=", + "proof": [ + "QnGia+DYqE8L1UyMMC58s6O10fpngKQLzOKHNHfatlg=", + "2oVOoSjtBQtBs1/8G4e46yveRh6eO1WW7Oa51ZdaCuA=", + "037kGJdt2VdTwcc4Yrk5j6Kiz5tP8P3+izDNlSCWFLc=" + ], + "desc": "modified proof@1 bit @4", + "wantErr": true +} \ No newline at end of file diff --git a/testdata/subtreeconsistency/9/modified-proof@2-bit-@4.json b/testdata/subtreeconsistency/9/modified-proof@2-bit-@4.json new file mode 100644 index 00000000..a38003aa --- /dev/null +++ b/testdata/subtreeconsistency/9/modified-proof@2-bit-@4.json @@ -0,0 +1,14 @@ +{ + "start": 4, + "end": 5, + "size": 8, + "root1": "vBoGQ7EuTS18d5GPROD095qDi2z57FtcKD4fTYhZnms=", + "root2": "XcnaeacGWamtVZy3Ad7ZoqudgjqtL0lgz+Nw7/RgQyg=", + "proof": [ + "QnGia+DYqE8L1UyMMC58s6O10fpngKQLzOKHNHfatlg=", + "yoVOoSjtBQtBs1/8G4e46yveRh6eO1WW7Oa51ZdaCuA=", + "w37kGJdt2VdTwcc4Yrk5j6Kiz5tP8P3+izDNlSCWFLc=" + ], + "desc": "modified proof@2 bit @4", + "wantErr": true +} \ No newline at end of file diff --git a/testdata/subtreeconsistency/9/preceding-garbage.json b/testdata/subtreeconsistency/9/preceding-garbage.json new file mode 100644 index 00000000..d4398b6e --- /dev/null +++ b/testdata/subtreeconsistency/9/preceding-garbage.json @@ -0,0 +1,15 @@ +{ + "start": 4, + "end": 5, + "size": 8, + "root1": "vBoGQ7EuTS18d5GPROD095qDi2z57FtcKD4fTYhZnms=", + "root2": "XcnaeacGWamtVZy3Ad7ZoqudgjqtL0lgz+Nw7/RgQyg=", + "proof": [ + "", + "QnGia+DYqE8L1UyMMC58s6O10fpngKQLzOKHNHfatlg=", + "yoVOoSjtBQtBs1/8G4e46yveRh6eO1WW7Oa51ZdaCuA=", + "037kGJdt2VdTwcc4Yrk5j6Kiz5tP8P3+izDNlSCWFLc=" + ], + "desc": "preceding garbage", + "wantErr": true +} \ No newline at end of file diff --git a/testdata/subtreeconsistency/9/preceding-proof-@0.json b/testdata/subtreeconsistency/9/preceding-proof-@0.json new file mode 100644 index 00000000..7aca30cb --- /dev/null +++ b/testdata/subtreeconsistency/9/preceding-proof-@0.json @@ -0,0 +1,15 @@ +{ + "start": 4, + "end": 5, + "size": 8, + "root1": "vBoGQ7EuTS18d5GPROD095qDi2z57FtcKD4fTYhZnms=", + "root2": "XcnaeacGWamtVZy3Ad7ZoqudgjqtL0lgz+Nw7/RgQyg=", + "proof": [ + "QnGia+DYqE8L1UyMMC58s6O10fpngKQLzOKHNHfatlg=", + "QnGia+DYqE8L1UyMMC58s6O10fpngKQLzOKHNHfatlg=", + "yoVOoSjtBQtBs1/8G4e46yveRh6eO1WW7Oa51ZdaCuA=", + "037kGJdt2VdTwcc4Yrk5j6Kiz5tP8P3+izDNlSCWFLc=" + ], + "desc": "preceding proof @0", + "wantErr": true +} \ No newline at end of file diff --git a/testdata/subtreeconsistency/9/preceding-root1.json b/testdata/subtreeconsistency/9/preceding-root1.json new file mode 100644 index 00000000..0492f326 --- /dev/null +++ b/testdata/subtreeconsistency/9/preceding-root1.json @@ -0,0 +1,15 @@ +{ + "start": 4, + "end": 5, + "size": 8, + "root1": "vBoGQ7EuTS18d5GPROD095qDi2z57FtcKD4fTYhZnms=", + "root2": "XcnaeacGWamtVZy3Ad7ZoqudgjqtL0lgz+Nw7/RgQyg=", + "proof": [ + "vBoGQ7EuTS18d5GPROD095qDi2z57FtcKD4fTYhZnms=", + "QnGia+DYqE8L1UyMMC58s6O10fpngKQLzOKHNHfatlg=", + "yoVOoSjtBQtBs1/8G4e46yveRh6eO1WW7Oa51ZdaCuA=", + "037kGJdt2VdTwcc4Yrk5j6Kiz5tP8P3+izDNlSCWFLc=" + ], + "desc": "preceding root1", + "wantErr": true +} \ No newline at end of file diff --git a/testdata/subtreeconsistency/9/preceding-root2.json b/testdata/subtreeconsistency/9/preceding-root2.json new file mode 100644 index 00000000..d90d593c --- /dev/null +++ b/testdata/subtreeconsistency/9/preceding-root2.json @@ -0,0 +1,15 @@ +{ + "start": 4, + "end": 5, + "size": 8, + "root1": "vBoGQ7EuTS18d5GPROD095qDi2z57FtcKD4fTYhZnms=", + "root2": "XcnaeacGWamtVZy3Ad7ZoqudgjqtL0lgz+Nw7/RgQyg=", + "proof": [ + "XcnaeacGWamtVZy3Ad7ZoqudgjqtL0lgz+Nw7/RgQyg=", + "QnGia+DYqE8L1UyMMC58s6O10fpngKQLzOKHNHfatlg=", + "yoVOoSjtBQtBs1/8G4e46yveRh6eO1WW7Oa51ZdaCuA=", + "037kGJdt2VdTwcc4Yrk5j6Kiz5tP8P3+izDNlSCWFLc=" + ], + "desc": "preceding root2", + "wantErr": true +} \ No newline at end of file diff --git a/testdata/subtreeconsistency/9/size1-XOR-@2.json b/testdata/subtreeconsistency/9/size1-XOR-@2.json new file mode 100644 index 00000000..5336a862 --- /dev/null +++ b/testdata/subtreeconsistency/9/size1-XOR-@2.json @@ -0,0 +1,14 @@ +{ + "start": 4, + "end": 7, + "size": 8, + "root1": "vBoGQ7EuTS18d5GPROD095qDi2z57FtcKD4fTYhZnms=", + "root2": "XcnaeacGWamtVZy3Ad7ZoqudgjqtL0lgz+Nw7/RgQyg=", + "proof": [ + "QnGia+DYqE8L1UyMMC58s6O10fpngKQLzOKHNHfatlg=", + "yoVOoSjtBQtBs1/8G4e46yveRh6eO1WW7Oa51ZdaCuA=", + "037kGJdt2VdTwcc4Yrk5j6Kiz5tP8P3+izDNlSCWFLc=" + ], + "desc": "size1 XOR @2", + "wantErr": true +} \ No newline at end of file diff --git a/testdata/subtreeconsistency/9/size1-plus-@1.json b/testdata/subtreeconsistency/9/size1-plus-@1.json new file mode 100644 index 00000000..ba189fe4 --- /dev/null +++ b/testdata/subtreeconsistency/9/size1-plus-@1.json @@ -0,0 +1,14 @@ +{ + "start": 4, + "end": 6, + "size": 8, + "root1": "vBoGQ7EuTS18d5GPROD095qDi2z57FtcKD4fTYhZnms=", + "root2": "XcnaeacGWamtVZy3Ad7ZoqudgjqtL0lgz+Nw7/RgQyg=", + "proof": [ + "QnGia+DYqE8L1UyMMC58s6O10fpngKQLzOKHNHfatlg=", + "yoVOoSjtBQtBs1/8G4e46yveRh6eO1WW7Oa51ZdaCuA=", + "037kGJdt2VdTwcc4Yrk5j6Kiz5tP8P3+izDNlSCWFLc=" + ], + "desc": "size1 plus @1", + "wantErr": true +} \ No newline at end of file diff --git a/testdata/subtreeconsistency/9/size1-sub-@1.json b/testdata/subtreeconsistency/9/size1-sub-@1.json new file mode 100644 index 00000000..915d987e --- /dev/null +++ b/testdata/subtreeconsistency/9/size1-sub-@1.json @@ -0,0 +1,14 @@ +{ + "start": 4, + "end": 4, + "size": 8, + "root1": "vBoGQ7EuTS18d5GPROD095qDi2z57FtcKD4fTYhZnms=", + "root2": "XcnaeacGWamtVZy3Ad7ZoqudgjqtL0lgz+Nw7/RgQyg=", + "proof": [ + "QnGia+DYqE8L1UyMMC58s6O10fpngKQLzOKHNHfatlg=", + "yoVOoSjtBQtBs1/8G4e46yveRh6eO1WW7Oa51ZdaCuA=", + "037kGJdt2VdTwcc4Yrk5j6Kiz5tP8P3+izDNlSCWFLc=" + ], + "desc": "size1 sub @1", + "wantErr": true +} \ No newline at end of file diff --git a/testdata/subtreeconsistency/9/size2-div-@2.json b/testdata/subtreeconsistency/9/size2-div-@2.json new file mode 100644 index 00000000..034a2f21 --- /dev/null +++ b/testdata/subtreeconsistency/9/size2-div-@2.json @@ -0,0 +1,14 @@ +{ + "start": 4, + "end": 5, + "size": 4, + "root1": "vBoGQ7EuTS18d5GPROD095qDi2z57FtcKD4fTYhZnms=", + "root2": "XcnaeacGWamtVZy3Ad7ZoqudgjqtL0lgz+Nw7/RgQyg=", + "proof": [ + "QnGia+DYqE8L1UyMMC58s6O10fpngKQLzOKHNHfatlg=", + "yoVOoSjtBQtBs1/8G4e46yveRh6eO1WW7Oa51ZdaCuA=", + "037kGJdt2VdTwcc4Yrk5j6Kiz5tP8P3+izDNlSCWFLc=" + ], + "desc": "size2 div @2", + "wantErr": true +} \ No newline at end of file diff --git a/testdata/subtreeconsistency/9/size2-mul-@2.json b/testdata/subtreeconsistency/9/size2-mul-@2.json new file mode 100644 index 00000000..bd93e49c --- /dev/null +++ b/testdata/subtreeconsistency/9/size2-mul-@2.json @@ -0,0 +1,14 @@ +{ + "start": 4, + "end": 5, + "size": 16, + "root1": "vBoGQ7EuTS18d5GPROD095qDi2z57FtcKD4fTYhZnms=", + "root2": "XcnaeacGWamtVZy3Ad7ZoqudgjqtL0lgz+Nw7/RgQyg=", + "proof": [ + "QnGia+DYqE8L1UyMMC58s6O10fpngKQLzOKHNHfatlg=", + "yoVOoSjtBQtBs1/8G4e46yveRh6eO1WW7Oa51ZdaCuA=", + "037kGJdt2VdTwcc4Yrk5j6Kiz5tP8P3+izDNlSCWFLc=" + ], + "desc": "size2 mul @2", + "wantErr": true +} \ No newline at end of file diff --git a/testdata/subtreeconsistency/9/swapped-roots.json b/testdata/subtreeconsistency/9/swapped-roots.json new file mode 100644 index 00000000..a70f43b2 --- /dev/null +++ b/testdata/subtreeconsistency/9/swapped-roots.json @@ -0,0 +1,14 @@ +{ + "start": 4, + "end": 5, + "size": 8, + "root1": "XcnaeacGWamtVZy3Ad7ZoqudgjqtL0lgz+Nw7/RgQyg=", + "root2": "vBoGQ7EuTS18d5GPROD095qDi2z57FtcKD4fTYhZnms=", + "proof": [ + "QnGia+DYqE8L1UyMMC58s6O10fpngKQLzOKHNHfatlg=", + "yoVOoSjtBQtBs1/8G4e46yveRh6eO1WW7Oa51ZdaCuA=", + "037kGJdt2VdTwcc4Yrk5j6Kiz5tP8P3+izDNlSCWFLc=" + ], + "desc": "swapped roots", + "wantErr": true +} \ No newline at end of file diff --git a/testdata/subtreeconsistency/9/trailing-garbage.json b/testdata/subtreeconsistency/9/trailing-garbage.json new file mode 100644 index 00000000..e38d1855 --- /dev/null +++ b/testdata/subtreeconsistency/9/trailing-garbage.json @@ -0,0 +1,15 @@ +{ + "start": 4, + "end": 5, + "size": 8, + "root1": "vBoGQ7EuTS18d5GPROD095qDi2z57FtcKD4fTYhZnms=", + "root2": "XcnaeacGWamtVZy3Ad7ZoqudgjqtL0lgz+Nw7/RgQyg=", + "proof": [ + "QnGia+DYqE8L1UyMMC58s6O10fpngKQLzOKHNHfatlg=", + "yoVOoSjtBQtBs1/8G4e46yveRh6eO1WW7Oa51ZdaCuA=", + "037kGJdt2VdTwcc4Yrk5j6Kiz5tP8P3+izDNlSCWFLc=", + "" + ], + "desc": "trailing garbage", + "wantErr": true +} \ No newline at end of file diff --git a/testdata/subtreeconsistency/9/trailing-root1.json b/testdata/subtreeconsistency/9/trailing-root1.json new file mode 100644 index 00000000..a65cdf94 --- /dev/null +++ b/testdata/subtreeconsistency/9/trailing-root1.json @@ -0,0 +1,15 @@ +{ + "start": 4, + "end": 5, + "size": 8, + "root1": "vBoGQ7EuTS18d5GPROD095qDi2z57FtcKD4fTYhZnms=", + "root2": "XcnaeacGWamtVZy3Ad7ZoqudgjqtL0lgz+Nw7/RgQyg=", + "proof": [ + "QnGia+DYqE8L1UyMMC58s6O10fpngKQLzOKHNHfatlg=", + "yoVOoSjtBQtBs1/8G4e46yveRh6eO1WW7Oa51ZdaCuA=", + "037kGJdt2VdTwcc4Yrk5j6Kiz5tP8P3+izDNlSCWFLc=", + "vBoGQ7EuTS18d5GPROD095qDi2z57FtcKD4fTYhZnms=" + ], + "desc": "trailing root1", + "wantErr": true +} \ No newline at end of file diff --git a/testdata/subtreeconsistency/9/trailing-root2.json b/testdata/subtreeconsistency/9/trailing-root2.json new file mode 100644 index 00000000..2a97165e --- /dev/null +++ b/testdata/subtreeconsistency/9/trailing-root2.json @@ -0,0 +1,15 @@ +{ + "start": 4, + "end": 5, + "size": 8, + "root1": "vBoGQ7EuTS18d5GPROD095qDi2z57FtcKD4fTYhZnms=", + "root2": "XcnaeacGWamtVZy3Ad7ZoqudgjqtL0lgz+Nw7/RgQyg=", + "proof": [ + "QnGia+DYqE8L1UyMMC58s6O10fpngKQLzOKHNHfatlg=", + "yoVOoSjtBQtBs1/8G4e46yveRh6eO1WW7Oa51ZdaCuA=", + "037kGJdt2VdTwcc4Yrk5j6Kiz5tP8P3+izDNlSCWFLc=", + "XcnaeacGWamtVZy3Ad7ZoqudgjqtL0lgz+Nw7/RgQyg=" + ], + "desc": "trailing root2", + "wantErr": true +} \ No newline at end of file diff --git a/testdata/subtreeconsistency/9/truncated-proof.json b/testdata/subtreeconsistency/9/truncated-proof.json new file mode 100644 index 00000000..eb485a45 --- /dev/null +++ b/testdata/subtreeconsistency/9/truncated-proof.json @@ -0,0 +1,13 @@ +{ + "start": 4, + "end": 5, + "size": 8, + "root1": "vBoGQ7EuTS18d5GPROD095qDi2z57FtcKD4fTYhZnms=", + "root2": "XcnaeacGWamtVZy3Ad7ZoqudgjqtL0lgz+Nw7/RgQyg=", + "proof": [ + "QnGia+DYqE8L1UyMMC58s6O10fpngKQLzOKHNHfatlg=", + "yoVOoSjtBQtBs1/8G4e46yveRh6eO1WW7Oa51ZdaCuA=" + ], + "desc": "truncated proof", + "wantErr": true +} \ No newline at end of file diff --git a/testdata/subtreeconsistency/9/wrong-root1.json b/testdata/subtreeconsistency/9/wrong-root1.json new file mode 100644 index 00000000..6233b8ae --- /dev/null +++ b/testdata/subtreeconsistency/9/wrong-root1.json @@ -0,0 +1,14 @@ +{ + "start": 4, + "end": 5, + "size": 8, + "root1": "V3JvbmdSb290", + "root2": "XcnaeacGWamtVZy3Ad7ZoqudgjqtL0lgz+Nw7/RgQyg=", + "proof": [ + "QnGia+DYqE8L1UyMMC58s6O10fpngKQLzOKHNHfatlg=", + "yoVOoSjtBQtBs1/8G4e46yveRh6eO1WW7Oa51ZdaCuA=", + "037kGJdt2VdTwcc4Yrk5j6Kiz5tP8P3+izDNlSCWFLc=" + ], + "desc": "wrong root1", + "wantErr": true +} \ No newline at end of file diff --git a/testdata/subtreeconsistency/9/wrong-root2.json b/testdata/subtreeconsistency/9/wrong-root2.json new file mode 100644 index 00000000..9a1ad688 --- /dev/null +++ b/testdata/subtreeconsistency/9/wrong-root2.json @@ -0,0 +1,14 @@ +{ + "start": 4, + "end": 5, + "size": 8, + "root1": "vBoGQ7EuTS18d5GPROD095qDi2z57FtcKD4fTYhZnms=", + "root2": "V3JvbmdSb290", + "proof": [ + "QnGia+DYqE8L1UyMMC58s6O10fpngKQLzOKHNHfatlg=", + "yoVOoSjtBQtBs1/8G4e46yveRh6eO1WW7Oa51ZdaCuA=", + "037kGJdt2VdTwcc4Yrk5j6Kiz5tP8P3+izDNlSCWFLc=" + ], + "desc": "wrong root2", + "wantErr": true +} \ No newline at end of file diff --git a/testdata/subtreeconsistency/additional/consistency-check-on-empty-tree-size1-is-zero-is-useless.json b/testdata/subtreeconsistency/additional/consistency-check-on-empty-tree-size1-is-zero-is-useless.json deleted file mode 100644 index a181a061..00000000 --- a/testdata/subtreeconsistency/additional/consistency-check-on-empty-tree-size1-is-zero-is-useless.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "start": 0, - "end": 0, - "size": 1, - "root1": "47DEQpj8HBSa+/TImW+5JCeuQeRkm5NMpJWZG3hSuFU=", - "root2": "47DEQpj8HBSa+/TImW+5JCeuQeRkm5NMpJWZG3hSuFU=", - "proof": [ - "47DEQpj8HBSa+/TImW+5JCeuQeRkm5NMpJWZG3hSuFU=" - ], - "desc": "consistency check on empty tree (size1 is zero) is useless", - "wantErr": true -} \ No newline at end of file diff --git a/testdata/subtreeconsistency/additional/roots-do-not-not-match-and-sizes-are-one.json b/testdata/subtreeconsistency/additional/roots-do-not-not-match-and-sizes-are-one.json deleted file mode 100644 index 7201a4c8..00000000 --- a/testdata/subtreeconsistency/additional/roots-do-not-not-match-and-sizes-are-one.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "start": 0, - "end": 1, - "size": 1, - "root1": "47DEQpj8HBSa+/TImW+5JCeuQeRkm5NMpJWZG3hSuFU=", - "root2": "ZG9uJ3QgY2FyZSAy", - "proof": [], - "desc": "roots do not not match and sizes are one", - "wantErr": true -} \ No newline at end of file diff --git a/testdata/subtreeconsistency/additional/sizes-are-equal-zero-and-proof-is-empty.json b/testdata/subtreeconsistency/additional/sizes-are-equal-zero-and-proof-is-empty.json deleted file mode 100644 index d66f96d6..00000000 --- a/testdata/subtreeconsistency/additional/sizes-are-equal-zero-and-proof-is-empty.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "start": 0, - "end": 0, - "size": 0, - "root1": "ZG9uJ3QgY2FyZSAx", - "root2": "ZG9uJ3QgY2FyZSAx", - "proof": [], - "desc": "sizes are equal (zero) and proof is empty", - "wantErr": true -} \ No newline at end of file diff --git a/testdata/subtreeconsistency/additional/sizes-do-not-watch-and-proof-is-empty.json b/testdata/subtreeconsistency/additional/sizes-do-not-watch-and-proof-is-empty.json deleted file mode 100644 index 5babc26f..00000000 --- a/testdata/subtreeconsistency/additional/sizes-do-not-watch-and-proof-is-empty.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "start": 0, - "end": 1, - "size": 2, - "root1": "ZG9uJ3QgY2FyZSAx", - "root2": "ZG9uJ3QgY2FyZSAy", - "proof": [], - "desc": "sizes do not watch and proof is empty", - "wantErr": true -} \ No newline at end of file diff --git a/testdata/subtreeinclusion/0/empty-root-subtree.json b/testdata/subtreeinclusion/0/empty-root-subtree.json new file mode 100644 index 00000000..12d6aa0c --- /dev/null +++ b/testdata/subtreeinclusion/0/empty-root-subtree.json @@ -0,0 +1,10 @@ +{ + "leafIdx": 1, + "start": 1, + "end": 2, + "root": "47DEQpj8HBSa+/TImW+5JCeuQeRkm5NMpJWZG3hSuFU=", + "leafHash": "bjQLnP+zepicpUTmu3gKLHiQHT+zNzh2hRGjBhevoB0=", + "proof": null, + "desc": "empty root - subtree", + "wantErr": true +} \ No newline at end of file diff --git a/testdata/subtreeinclusion/0/empty-root.json b/testdata/subtreeinclusion/0/empty-root.json new file mode 100644 index 00000000..26e49a07 --- /dev/null +++ b/testdata/subtreeinclusion/0/empty-root.json @@ -0,0 +1,10 @@ +{ + "leafIdx": 0, + "start": 0, + "end": 1, + "root": "47DEQpj8HBSa+/TImW+5JCeuQeRkm5NMpJWZG3hSuFU=", + "leafHash": "bjQLnP+zepicpUTmu3gKLHiQHT+zNzh2hRGjBhevoB0=", + "proof": null, + "desc": "empty root", + "wantErr": true +} \ No newline at end of file diff --git a/testdata/subtreeinclusion/0/happy-path-subtree.json b/testdata/subtreeinclusion/0/happy-path-subtree.json new file mode 100644 index 00000000..3e138440 --- /dev/null +++ b/testdata/subtreeinclusion/0/happy-path-subtree.json @@ -0,0 +1,10 @@ +{ + "leafIdx": 1, + "start": 1, + "end": 2, + "root": "bjQLnP+zepicpUTmu3gKLHiQHT+zNzh2hRGjBhevoB0=", + "leafHash": "bjQLnP+zepicpUTmu3gKLHiQHT+zNzh2hRGjBhevoB0=", + "proof": null, + "desc": "happy path - subtree", + "wantErr": false +} \ No newline at end of file diff --git a/testdata/subtreeinclusion/0/happy-path.json b/testdata/subtreeinclusion/0/happy-path.json new file mode 100644 index 00000000..fa051b4e --- /dev/null +++ b/testdata/subtreeinclusion/0/happy-path.json @@ -0,0 +1,10 @@ +{ + "leafIdx": 0, + "start": 0, + "end": 1, + "root": "bjQLnP+zepicpUTmu3gKLHiQHT+zNzh2hRGjBhevoB0=", + "leafHash": "bjQLnP+zepicpUTmu3gKLHiQHT+zNzh2hRGjBhevoB0=", + "proof": null, + "desc": "happy path", + "wantErr": false +} \ No newline at end of file diff --git a/testdata/subtreeinclusion/0/leafIdx-XOR-@2-subtree.json b/testdata/subtreeinclusion/0/leafIdx-XOR-@2-subtree.json new file mode 100644 index 00000000..d30e1665 --- /dev/null +++ b/testdata/subtreeinclusion/0/leafIdx-XOR-@2-subtree.json @@ -0,0 +1,10 @@ +{ + "leafIdx": 3, + "start": 1, + "end": 2, + "root": "bjQLnP+zepicpUTmu3gKLHiQHT+zNzh2hRGjBhevoB0=", + "leafHash": "bjQLnP+zepicpUTmu3gKLHiQHT+zNzh2hRGjBhevoB0=", + "proof": null, + "desc": "leafIdx XOR @2 - subtree", + "wantErr": true +} \ No newline at end of file diff --git a/testdata/subtreeinclusion/0/leafIdx-XOR-@2.json b/testdata/subtreeinclusion/0/leafIdx-XOR-@2.json new file mode 100644 index 00000000..d03117d6 --- /dev/null +++ b/testdata/subtreeinclusion/0/leafIdx-XOR-@2.json @@ -0,0 +1,10 @@ +{ + "leafIdx": 2, + "start": 0, + "end": 1, + "root": "bjQLnP+zepicpUTmu3gKLHiQHT+zNzh2hRGjBhevoB0=", + "leafHash": "bjQLnP+zepicpUTmu3gKLHiQHT+zNzh2hRGjBhevoB0=", + "proof": null, + "desc": "leafIdx XOR @2", + "wantErr": true +} \ No newline at end of file diff --git a/testdata/subtreeinclusion/0/leafIdx-plus-@1-subtree.json b/testdata/subtreeinclusion/0/leafIdx-plus-@1-subtree.json new file mode 100644 index 00000000..5aa095d1 --- /dev/null +++ b/testdata/subtreeinclusion/0/leafIdx-plus-@1-subtree.json @@ -0,0 +1,10 @@ +{ + "leafIdx": 2, + "start": 1, + "end": 2, + "root": "bjQLnP+zepicpUTmu3gKLHiQHT+zNzh2hRGjBhevoB0=", + "leafHash": "bjQLnP+zepicpUTmu3gKLHiQHT+zNzh2hRGjBhevoB0=", + "proof": null, + "desc": "leafIdx plus @1 - subtree", + "wantErr": true +} \ No newline at end of file diff --git a/testdata/subtreeinclusion/0/leafIdx-plus-@1.json b/testdata/subtreeinclusion/0/leafIdx-plus-@1.json new file mode 100644 index 00000000..851132f7 --- /dev/null +++ b/testdata/subtreeinclusion/0/leafIdx-plus-@1.json @@ -0,0 +1,10 @@ +{ + "leafIdx": 1, + "start": 0, + "end": 1, + "root": "bjQLnP+zepicpUTmu3gKLHiQHT+zNzh2hRGjBhevoB0=", + "leafHash": "bjQLnP+zepicpUTmu3gKLHiQHT+zNzh2hRGjBhevoB0=", + "proof": null, + "desc": "leafIdx plus @1", + "wantErr": true +} \ No newline at end of file diff --git a/testdata/subtreeinclusion/0/leafIdx-sub-@1-subtree.json b/testdata/subtreeinclusion/0/leafIdx-sub-@1-subtree.json new file mode 100644 index 00000000..0a5d5875 --- /dev/null +++ b/testdata/subtreeinclusion/0/leafIdx-sub-@1-subtree.json @@ -0,0 +1,10 @@ +{ + "leafIdx": 18446744073709551615, + "start": 1, + "end": 2, + "root": "bjQLnP+zepicpUTmu3gKLHiQHT+zNzh2hRGjBhevoB0=", + "leafHash": "bjQLnP+zepicpUTmu3gKLHiQHT+zNzh2hRGjBhevoB0=", + "proof": null, + "desc": "leafIdx sub @1 - subtree", + "wantErr": true +} \ No newline at end of file diff --git a/testdata/subtreeinclusion/0/leafIdx-sub-@1.json b/testdata/subtreeinclusion/0/leafIdx-sub-@1.json new file mode 100644 index 00000000..a671a5c4 --- /dev/null +++ b/testdata/subtreeinclusion/0/leafIdx-sub-@1.json @@ -0,0 +1,10 @@ +{ + "leafIdx": 18446744073709551615, + "start": 0, + "end": 1, + "root": "bjQLnP+zepicpUTmu3gKLHiQHT+zNzh2hRGjBhevoB0=", + "leafHash": "bjQLnP+zepicpUTmu3gKLHiQHT+zNzh2hRGjBhevoB0=", + "proof": null, + "desc": "leafIdx sub @1", + "wantErr": true +} \ No newline at end of file diff --git a/testdata/subtreeinclusion/0/preceding-garbage-subtree.json b/testdata/subtreeinclusion/0/preceding-garbage-subtree.json new file mode 100644 index 00000000..45be06f1 --- /dev/null +++ b/testdata/subtreeinclusion/0/preceding-garbage-subtree.json @@ -0,0 +1,12 @@ +{ + "leafIdx": 1, + "start": 1, + "end": 2, + "root": "bjQLnP+zepicpUTmu3gKLHiQHT+zNzh2hRGjBhevoB0=", + "leafHash": "bjQLnP+zepicpUTmu3gKLHiQHT+zNzh2hRGjBhevoB0=", + "proof": [ + "" + ], + "desc": "preceding garbage - subtree", + "wantErr": true +} \ No newline at end of file diff --git a/testdata/subtreeinclusion/0/preceding-garbage.json b/testdata/subtreeinclusion/0/preceding-garbage.json new file mode 100644 index 00000000..f3baee19 --- /dev/null +++ b/testdata/subtreeinclusion/0/preceding-garbage.json @@ -0,0 +1,12 @@ +{ + "leafIdx": 0, + "start": 0, + "end": 1, + "root": "bjQLnP+zepicpUTmu3gKLHiQHT+zNzh2hRGjBhevoB0=", + "leafHash": "bjQLnP+zepicpUTmu3gKLHiQHT+zNzh2hRGjBhevoB0=", + "proof": [ + "" + ], + "desc": "preceding garbage", + "wantErr": true +} \ No newline at end of file diff --git a/testdata/subtreeinclusion/0/preceding-root-subtree.json b/testdata/subtreeinclusion/0/preceding-root-subtree.json new file mode 100644 index 00000000..862976d4 --- /dev/null +++ b/testdata/subtreeinclusion/0/preceding-root-subtree.json @@ -0,0 +1,12 @@ +{ + "leafIdx": 1, + "start": 1, + "end": 2, + "root": "bjQLnP+zepicpUTmu3gKLHiQHT+zNzh2hRGjBhevoB0=", + "leafHash": "bjQLnP+zepicpUTmu3gKLHiQHT+zNzh2hRGjBhevoB0=", + "proof": [ + "bjQLnP+zepicpUTmu3gKLHiQHT+zNzh2hRGjBhevoB0=" + ], + "desc": "preceding root - subtree", + "wantErr": true +} \ No newline at end of file diff --git a/testdata/subtreeinclusion/0/preceding-root.json b/testdata/subtreeinclusion/0/preceding-root.json new file mode 100644 index 00000000..980421a6 --- /dev/null +++ b/testdata/subtreeinclusion/0/preceding-root.json @@ -0,0 +1,12 @@ +{ + "leafIdx": 0, + "start": 0, + "end": 1, + "root": "bjQLnP+zepicpUTmu3gKLHiQHT+zNzh2hRGjBhevoB0=", + "leafHash": "bjQLnP+zepicpUTmu3gKLHiQHT+zNzh2hRGjBhevoB0=", + "proof": [ + "bjQLnP+zepicpUTmu3gKLHiQHT+zNzh2hRGjBhevoB0=" + ], + "desc": "preceding root", + "wantErr": true +} \ No newline at end of file diff --git a/testdata/subtreeinclusion/0/random-root-subtree.json b/testdata/subtreeinclusion/0/random-root-subtree.json new file mode 100644 index 00000000..b62f77bc --- /dev/null +++ b/testdata/subtreeinclusion/0/random-root-subtree.json @@ -0,0 +1,10 @@ +{ + "leafIdx": 1, + "start": 1, + "end": 2, + "root": "q6yroAAAAAAAAAAAAAAAAAAAAAAAAAAAAGAGHgASNFY=", + "leafHash": "bjQLnP+zepicpUTmu3gKLHiQHT+zNzh2hRGjBhevoB0=", + "proof": null, + "desc": "random root - subtree", + "wantErr": true +} \ No newline at end of file diff --git a/testdata/subtreeinclusion/0/random-root.json b/testdata/subtreeinclusion/0/random-root.json new file mode 100644 index 00000000..0bb97404 --- /dev/null +++ b/testdata/subtreeinclusion/0/random-root.json @@ -0,0 +1,10 @@ +{ + "leafIdx": 0, + "start": 0, + "end": 1, + "root": "q6yroAAAAAAAAAAAAAAAAAAAAAAAAAAAAGAGHgASNFY=", + "leafHash": "bjQLnP+zepicpUTmu3gKLHiQHT+zNzh2hRGjBhevoB0=", + "proof": null, + "desc": "random root", + "wantErr": true +} \ No newline at end of file diff --git a/testdata/subtreeinclusion/0/trailing-garbage-subtree.json b/testdata/subtreeinclusion/0/trailing-garbage-subtree.json new file mode 100644 index 00000000..5d6c7056 --- /dev/null +++ b/testdata/subtreeinclusion/0/trailing-garbage-subtree.json @@ -0,0 +1,12 @@ +{ + "leafIdx": 1, + "start": 1, + "end": 2, + "root": "bjQLnP+zepicpUTmu3gKLHiQHT+zNzh2hRGjBhevoB0=", + "leafHash": "bjQLnP+zepicpUTmu3gKLHiQHT+zNzh2hRGjBhevoB0=", + "proof": [ + "" + ], + "desc": "trailing garbage - subtree", + "wantErr": true +} \ No newline at end of file diff --git a/testdata/subtreeinclusion/0/trailing-garbage.json b/testdata/subtreeinclusion/0/trailing-garbage.json new file mode 100644 index 00000000..b028f8cd --- /dev/null +++ b/testdata/subtreeinclusion/0/trailing-garbage.json @@ -0,0 +1,12 @@ +{ + "leafIdx": 0, + "start": 0, + "end": 1, + "root": "bjQLnP+zepicpUTmu3gKLHiQHT+zNzh2hRGjBhevoB0=", + "leafHash": "bjQLnP+zepicpUTmu3gKLHiQHT+zNzh2hRGjBhevoB0=", + "proof": [ + "" + ], + "desc": "trailing garbage", + "wantErr": true +} \ No newline at end of file diff --git a/testdata/subtreeinclusion/0/trailing-root-subtree.json b/testdata/subtreeinclusion/0/trailing-root-subtree.json new file mode 100644 index 00000000..c1cf2b1a --- /dev/null +++ b/testdata/subtreeinclusion/0/trailing-root-subtree.json @@ -0,0 +1,12 @@ +{ + "leafIdx": 1, + "start": 1, + "end": 2, + "root": "bjQLnP+zepicpUTmu3gKLHiQHT+zNzh2hRGjBhevoB0=", + "leafHash": "bjQLnP+zepicpUTmu3gKLHiQHT+zNzh2hRGjBhevoB0=", + "proof": [ + "bjQLnP+zepicpUTmu3gKLHiQHT+zNzh2hRGjBhevoB0=" + ], + "desc": "trailing root - subtree", + "wantErr": true +} \ No newline at end of file diff --git a/testdata/subtreeinclusion/0/trailing-root.json b/testdata/subtreeinclusion/0/trailing-root.json new file mode 100644 index 00000000..14640b4d --- /dev/null +++ b/testdata/subtreeinclusion/0/trailing-root.json @@ -0,0 +1,12 @@ +{ + "leafIdx": 0, + "start": 0, + "end": 1, + "root": "bjQLnP+zepicpUTmu3gKLHiQHT+zNzh2hRGjBhevoB0=", + "leafHash": "bjQLnP+zepicpUTmu3gKLHiQHT+zNzh2hRGjBhevoB0=", + "proof": [ + "bjQLnP+zepicpUTmu3gKLHiQHT+zNzh2hRGjBhevoB0=" + ], + "desc": "trailing root", + "wantErr": true +} \ No newline at end of file diff --git a/testdata/subtreeinclusion/0/treeSize-div-@2-subtree.json b/testdata/subtreeinclusion/0/treeSize-div-@2-subtree.json new file mode 100644 index 00000000..c308e193 --- /dev/null +++ b/testdata/subtreeinclusion/0/treeSize-div-@2-subtree.json @@ -0,0 +1,10 @@ +{ + "leafIdx": 1, + "start": 1, + "end": 1, + "root": "bjQLnP+zepicpUTmu3gKLHiQHT+zNzh2hRGjBhevoB0=", + "leafHash": "bjQLnP+zepicpUTmu3gKLHiQHT+zNzh2hRGjBhevoB0=", + "proof": null, + "desc": "treeSize div @2 - subtree", + "wantErr": true +} \ No newline at end of file diff --git a/testdata/subtreeinclusion/0/treeSize-div-@2.json b/testdata/subtreeinclusion/0/treeSize-div-@2.json new file mode 100644 index 00000000..5e9ac1d7 --- /dev/null +++ b/testdata/subtreeinclusion/0/treeSize-div-@2.json @@ -0,0 +1,10 @@ +{ + "leafIdx": 0, + "start": 0, + "end": 0, + "root": "bjQLnP+zepicpUTmu3gKLHiQHT+zNzh2hRGjBhevoB0=", + "leafHash": "bjQLnP+zepicpUTmu3gKLHiQHT+zNzh2hRGjBhevoB0=", + "proof": null, + "desc": "treeSize div @2", + "wantErr": true +} \ No newline at end of file diff --git a/testdata/subtreeinclusion/0/treeSize-mul-@2-subtree.json b/testdata/subtreeinclusion/0/treeSize-mul-@2-subtree.json new file mode 100644 index 00000000..eec00d24 --- /dev/null +++ b/testdata/subtreeinclusion/0/treeSize-mul-@2-subtree.json @@ -0,0 +1,10 @@ +{ + "leafIdx": 2, + "start": 2, + "end": 4, + "root": "bjQLnP+zepicpUTmu3gKLHiQHT+zNzh2hRGjBhevoB0=", + "leafHash": "bjQLnP+zepicpUTmu3gKLHiQHT+zNzh2hRGjBhevoB0=", + "proof": null, + "desc": "treeSize mul @2 - subtree", + "wantErr": true +} \ No newline at end of file diff --git a/testdata/subtreeinclusion/0/treeSize-mul-@2.json b/testdata/subtreeinclusion/0/treeSize-mul-@2.json new file mode 100644 index 00000000..a84749d9 --- /dev/null +++ b/testdata/subtreeinclusion/0/treeSize-mul-@2.json @@ -0,0 +1,10 @@ +{ + "leafIdx": 0, + "start": 0, + "end": 2, + "root": "bjQLnP+zepicpUTmu3gKLHiQHT+zNzh2hRGjBhevoB0=", + "leafHash": "bjQLnP+zepicpUTmu3gKLHiQHT+zNzh2hRGjBhevoB0=", + "proof": null, + "desc": "treeSize mul @2", + "wantErr": true +} \ No newline at end of file diff --git a/testdata/subtreeinclusion/0/wrong-leaf-subtree.json b/testdata/subtreeinclusion/0/wrong-leaf-subtree.json new file mode 100644 index 00000000..7c4c5a12 --- /dev/null +++ b/testdata/subtreeinclusion/0/wrong-leaf-subtree.json @@ -0,0 +1,10 @@ +{ + "leafIdx": 1, + "start": 1, + "end": 2, + "root": "bjQLnP+zepicpUTmu3gKLHiQHT+zNzh2hRGjBhevoB0=", + "leafHash": "V3JvbmdMZWFm", + "proof": null, + "desc": "wrong leaf - subtree", + "wantErr": true +} \ No newline at end of file diff --git a/testdata/subtreeinclusion/0/wrong-leaf.json b/testdata/subtreeinclusion/0/wrong-leaf.json new file mode 100644 index 00000000..dbcf2291 --- /dev/null +++ b/testdata/subtreeinclusion/0/wrong-leaf.json @@ -0,0 +1,10 @@ +{ + "leafIdx": 0, + "start": 0, + "end": 1, + "root": "bjQLnP+zepicpUTmu3gKLHiQHT+zNzh2hRGjBhevoB0=", + "leafHash": "V3JvbmdMZWFm", + "proof": null, + "desc": "wrong leaf", + "wantErr": true +} \ No newline at end of file diff --git a/testdata/subtreeinclusion/1/empty-root-subtree.json b/testdata/subtreeinclusion/1/empty-root-subtree.json new file mode 100644 index 00000000..ecf2d64b --- /dev/null +++ b/testdata/subtreeinclusion/1/empty-root-subtree.json @@ -0,0 +1,14 @@ +{ + "leafIdx": 8, + "start": 8, + "end": 16, + "root": "47DEQpj8HBSa+/TImW+5JCeuQeRkm5NMpJWZG3hSuFU=", + "leafHash": "bjQLnP+zepicpUTmu3gKLHiQHT+zNzh2hRGjBhevoB0=", + "proof": [ + "lqKW0iTyhcZ77pPDD4owkVfw2qNdxbh+QQt4YwoJz8c=", + "Xwg/ChozygdqlSeYMlgNs+DvRYS9/x9UyKNg9Q3jAx4=", + "a0eq8p7jwq+a+Im8H7klTavTEXfxYjLdaqsDXKOb9uQ=" + ], + "desc": "empty root - subtree", + "wantErr": true +} \ No newline at end of file diff --git a/testdata/subtreeinclusion/1/empty-root.json b/testdata/subtreeinclusion/1/empty-root.json new file mode 100644 index 00000000..6c57e5e7 --- /dev/null +++ b/testdata/subtreeinclusion/1/empty-root.json @@ -0,0 +1,14 @@ +{ + "leafIdx": 0, + "start": 0, + "end": 8, + "root": "47DEQpj8HBSa+/TImW+5JCeuQeRkm5NMpJWZG3hSuFU=", + "leafHash": "bjQLnP+zepicpUTmu3gKLHiQHT+zNzh2hRGjBhevoB0=", + "proof": [ + "lqKW0iTyhcZ77pPDD4owkVfw2qNdxbh+QQt4YwoJz8c=", + "Xwg/ChozygdqlSeYMlgNs+DvRYS9/x9UyKNg9Q3jAx4=", + "a0eq8p7jwq+a+Im8H7klTavTEXfxYjLdaqsDXKOb9uQ=" + ], + "desc": "empty root", + "wantErr": true +} \ No newline at end of file diff --git a/testdata/subtreeinclusion/1/happy-path-subtree.json b/testdata/subtreeinclusion/1/happy-path-subtree.json new file mode 100644 index 00000000..a330dfcc --- /dev/null +++ b/testdata/subtreeinclusion/1/happy-path-subtree.json @@ -0,0 +1,14 @@ +{ + "leafIdx": 8, + "start": 8, + "end": 16, + "root": "XcnaeacGWamtVZy3Ad7ZoqudgjqtL0lgz+Nw7/RgQyg=", + "leafHash": "bjQLnP+zepicpUTmu3gKLHiQHT+zNzh2hRGjBhevoB0=", + "proof": [ + "lqKW0iTyhcZ77pPDD4owkVfw2qNdxbh+QQt4YwoJz8c=", + "Xwg/ChozygdqlSeYMlgNs+DvRYS9/x9UyKNg9Q3jAx4=", + "a0eq8p7jwq+a+Im8H7klTavTEXfxYjLdaqsDXKOb9uQ=" + ], + "desc": "happy path - subtree", + "wantErr": false +} \ No newline at end of file diff --git a/testdata/subtreeinclusion/1/happy-path.json b/testdata/subtreeinclusion/1/happy-path.json new file mode 100644 index 00000000..41aa230a --- /dev/null +++ b/testdata/subtreeinclusion/1/happy-path.json @@ -0,0 +1,14 @@ +{ + "leafIdx": 0, + "start": 0, + "end": 8, + "root": "XcnaeacGWamtVZy3Ad7ZoqudgjqtL0lgz+Nw7/RgQyg=", + "leafHash": "bjQLnP+zepicpUTmu3gKLHiQHT+zNzh2hRGjBhevoB0=", + "proof": [ + "lqKW0iTyhcZ77pPDD4owkVfw2qNdxbh+QQt4YwoJz8c=", + "Xwg/ChozygdqlSeYMlgNs+DvRYS9/x9UyKNg9Q3jAx4=", + "a0eq8p7jwq+a+Im8H7klTavTEXfxYjLdaqsDXKOb9uQ=" + ], + "desc": "happy path", + "wantErr": false +} \ No newline at end of file diff --git a/testdata/subtreeinclusion/1/inserted-component-subtree.json b/testdata/subtreeinclusion/1/inserted-component-subtree.json new file mode 100644 index 00000000..fd143895 --- /dev/null +++ b/testdata/subtreeinclusion/1/inserted-component-subtree.json @@ -0,0 +1,15 @@ +{ + "leafIdx": 8, + "start": 8, + "end": 16, + "root": "XcnaeacGWamtVZy3Ad7ZoqudgjqtL0lgz+Nw7/RgQyg=", + "leafHash": "bjQLnP+zepicpUTmu3gKLHiQHT+zNzh2hRGjBhevoB0=", + "proof": [ + "lqKW0iTyhcZ77pPDD4owkVfw2qNdxbh+QQt4YwoJz8c=", + "q6yroAAAAAAAAAAAAAAAAAAAAAAAAAAAAGAGHgASNFY=", + "Xwg/ChozygdqlSeYMlgNs+DvRYS9/x9UyKNg9Q3jAx4=", + "a0eq8p7jwq+a+Im8H7klTavTEXfxYjLdaqsDXKOb9uQ=" + ], + "desc": "inserted component - subtree", + "wantErr": true +} \ No newline at end of file diff --git a/testdata/subtreeinclusion/1/inserted-component.json b/testdata/subtreeinclusion/1/inserted-component.json new file mode 100644 index 00000000..189d4418 --- /dev/null +++ b/testdata/subtreeinclusion/1/inserted-component.json @@ -0,0 +1,15 @@ +{ + "leafIdx": 0, + "start": 0, + "end": 8, + "root": "XcnaeacGWamtVZy3Ad7ZoqudgjqtL0lgz+Nw7/RgQyg=", + "leafHash": "bjQLnP+zepicpUTmu3gKLHiQHT+zNzh2hRGjBhevoB0=", + "proof": [ + "lqKW0iTyhcZ77pPDD4owkVfw2qNdxbh+QQt4YwoJz8c=", + "q6yroAAAAAAAAAAAAAAAAAAAAAAAAAAAAGAGHgASNFY=", + "Xwg/ChozygdqlSeYMlgNs+DvRYS9/x9UyKNg9Q3jAx4=", + "a0eq8p7jwq+a+Im8H7klTavTEXfxYjLdaqsDXKOb9uQ=" + ], + "desc": "inserted component", + "wantErr": true +} \ No newline at end of file diff --git a/testdata/subtreeinclusion/1/leafIdx-XOR-@2-subtree.json b/testdata/subtreeinclusion/1/leafIdx-XOR-@2-subtree.json new file mode 100644 index 00000000..c6d63e7a --- /dev/null +++ b/testdata/subtreeinclusion/1/leafIdx-XOR-@2-subtree.json @@ -0,0 +1,14 @@ +{ + "leafIdx": 10, + "start": 8, + "end": 16, + "root": "XcnaeacGWamtVZy3Ad7ZoqudgjqtL0lgz+Nw7/RgQyg=", + "leafHash": "bjQLnP+zepicpUTmu3gKLHiQHT+zNzh2hRGjBhevoB0=", + "proof": [ + "lqKW0iTyhcZ77pPDD4owkVfw2qNdxbh+QQt4YwoJz8c=", + "Xwg/ChozygdqlSeYMlgNs+DvRYS9/x9UyKNg9Q3jAx4=", + "a0eq8p7jwq+a+Im8H7klTavTEXfxYjLdaqsDXKOb9uQ=" + ], + "desc": "leafIdx XOR @2 - subtree", + "wantErr": true +} \ No newline at end of file diff --git a/testdata/subtreeinclusion/1/leafIdx-XOR-@2.json b/testdata/subtreeinclusion/1/leafIdx-XOR-@2.json new file mode 100644 index 00000000..663eb991 --- /dev/null +++ b/testdata/subtreeinclusion/1/leafIdx-XOR-@2.json @@ -0,0 +1,14 @@ +{ + "leafIdx": 2, + "start": 0, + "end": 8, + "root": "XcnaeacGWamtVZy3Ad7ZoqudgjqtL0lgz+Nw7/RgQyg=", + "leafHash": "bjQLnP+zepicpUTmu3gKLHiQHT+zNzh2hRGjBhevoB0=", + "proof": [ + "lqKW0iTyhcZ77pPDD4owkVfw2qNdxbh+QQt4YwoJz8c=", + "Xwg/ChozygdqlSeYMlgNs+DvRYS9/x9UyKNg9Q3jAx4=", + "a0eq8p7jwq+a+Im8H7klTavTEXfxYjLdaqsDXKOb9uQ=" + ], + "desc": "leafIdx XOR @2", + "wantErr": true +} \ No newline at end of file diff --git a/testdata/subtreeinclusion/1/leafIdx-plus-@1-subtree.json b/testdata/subtreeinclusion/1/leafIdx-plus-@1-subtree.json new file mode 100644 index 00000000..d2807ef4 --- /dev/null +++ b/testdata/subtreeinclusion/1/leafIdx-plus-@1-subtree.json @@ -0,0 +1,14 @@ +{ + "leafIdx": 9, + "start": 8, + "end": 16, + "root": "XcnaeacGWamtVZy3Ad7ZoqudgjqtL0lgz+Nw7/RgQyg=", + "leafHash": "bjQLnP+zepicpUTmu3gKLHiQHT+zNzh2hRGjBhevoB0=", + "proof": [ + "lqKW0iTyhcZ77pPDD4owkVfw2qNdxbh+QQt4YwoJz8c=", + "Xwg/ChozygdqlSeYMlgNs+DvRYS9/x9UyKNg9Q3jAx4=", + "a0eq8p7jwq+a+Im8H7klTavTEXfxYjLdaqsDXKOb9uQ=" + ], + "desc": "leafIdx plus @1 - subtree", + "wantErr": true +} \ No newline at end of file diff --git a/testdata/subtreeinclusion/1/leafIdx-plus-@1.json b/testdata/subtreeinclusion/1/leafIdx-plus-@1.json new file mode 100644 index 00000000..361b3516 --- /dev/null +++ b/testdata/subtreeinclusion/1/leafIdx-plus-@1.json @@ -0,0 +1,14 @@ +{ + "leafIdx": 1, + "start": 0, + "end": 8, + "root": "XcnaeacGWamtVZy3Ad7ZoqudgjqtL0lgz+Nw7/RgQyg=", + "leafHash": "bjQLnP+zepicpUTmu3gKLHiQHT+zNzh2hRGjBhevoB0=", + "proof": [ + "lqKW0iTyhcZ77pPDD4owkVfw2qNdxbh+QQt4YwoJz8c=", + "Xwg/ChozygdqlSeYMlgNs+DvRYS9/x9UyKNg9Q3jAx4=", + "a0eq8p7jwq+a+Im8H7klTavTEXfxYjLdaqsDXKOb9uQ=" + ], + "desc": "leafIdx plus @1", + "wantErr": true +} \ No newline at end of file diff --git a/testdata/subtreeinclusion/1/leafIdx-sub-@1-subtree.json b/testdata/subtreeinclusion/1/leafIdx-sub-@1-subtree.json new file mode 100644 index 00000000..1d30326c --- /dev/null +++ b/testdata/subtreeinclusion/1/leafIdx-sub-@1-subtree.json @@ -0,0 +1,14 @@ +{ + "leafIdx": 18446744073709551615, + "start": 8, + "end": 16, + "root": "XcnaeacGWamtVZy3Ad7ZoqudgjqtL0lgz+Nw7/RgQyg=", + "leafHash": "bjQLnP+zepicpUTmu3gKLHiQHT+zNzh2hRGjBhevoB0=", + "proof": [ + "lqKW0iTyhcZ77pPDD4owkVfw2qNdxbh+QQt4YwoJz8c=", + "Xwg/ChozygdqlSeYMlgNs+DvRYS9/x9UyKNg9Q3jAx4=", + "a0eq8p7jwq+a+Im8H7klTavTEXfxYjLdaqsDXKOb9uQ=" + ], + "desc": "leafIdx sub @1 - subtree", + "wantErr": true +} \ No newline at end of file diff --git a/testdata/subtreeinclusion/1/leafIdx-sub-@1.json b/testdata/subtreeinclusion/1/leafIdx-sub-@1.json new file mode 100644 index 00000000..469bfd24 --- /dev/null +++ b/testdata/subtreeinclusion/1/leafIdx-sub-@1.json @@ -0,0 +1,14 @@ +{ + "leafIdx": 18446744073709551615, + "start": 0, + "end": 8, + "root": "XcnaeacGWamtVZy3Ad7ZoqudgjqtL0lgz+Nw7/RgQyg=", + "leafHash": "bjQLnP+zepicpUTmu3gKLHiQHT+zNzh2hRGjBhevoB0=", + "proof": [ + "lqKW0iTyhcZ77pPDD4owkVfw2qNdxbh+QQt4YwoJz8c=", + "Xwg/ChozygdqlSeYMlgNs+DvRYS9/x9UyKNg9Q3jAx4=", + "a0eq8p7jwq+a+Im8H7klTavTEXfxYjLdaqsDXKOb9uQ=" + ], + "desc": "leafIdx sub @1", + "wantErr": true +} \ No newline at end of file diff --git a/testdata/subtreeinclusion/1/modified-proof[0]-bit-@3-subtree.json b/testdata/subtreeinclusion/1/modified-proof[0]-bit-@3-subtree.json new file mode 100644 index 00000000..b83ec470 --- /dev/null +++ b/testdata/subtreeinclusion/1/modified-proof[0]-bit-@3-subtree.json @@ -0,0 +1,14 @@ +{ + "leafIdx": 8, + "start": 8, + "end": 16, + "root": "XcnaeacGWamtVZy3Ad7ZoqudgjqtL0lgz+Nw7/RgQyg=", + "leafHash": "bjQLnP+zepicpUTmu3gKLHiQHT+zNzh2hRGjBhevoB0=", + "proof": [ + "nqKW0iTyhcZ77pPDD4owkVfw2qNdxbh+QQt4YwoJz8c=", + "Xwg/ChozygdqlSeYMlgNs+DvRYS9/x9UyKNg9Q3jAx4=", + "a0eq8p7jwq+a+Im8H7klTavTEXfxYjLdaqsDXKOb9uQ=" + ], + "desc": "modified proof[0] bit @3 - subtree", + "wantErr": true +} \ No newline at end of file diff --git a/testdata/subtreeinclusion/1/modified-proof[0]-bit-@3.json b/testdata/subtreeinclusion/1/modified-proof[0]-bit-@3.json new file mode 100644 index 00000000..4f4e134d --- /dev/null +++ b/testdata/subtreeinclusion/1/modified-proof[0]-bit-@3.json @@ -0,0 +1,14 @@ +{ + "leafIdx": 0, + "start": 0, + "end": 8, + "root": "XcnaeacGWamtVZy3Ad7ZoqudgjqtL0lgz+Nw7/RgQyg=", + "leafHash": "bjQLnP+zepicpUTmu3gKLHiQHT+zNzh2hRGjBhevoB0=", + "proof": [ + "nqKW0iTyhcZ77pPDD4owkVfw2qNdxbh+QQt4YwoJz8c=", + "Xwg/ChozygdqlSeYMlgNs+DvRYS9/x9UyKNg9Q3jAx4=", + "a0eq8p7jwq+a+Im8H7klTavTEXfxYjLdaqsDXKOb9uQ=" + ], + "desc": "modified proof[0] bit @3", + "wantErr": true +} \ No newline at end of file diff --git a/testdata/subtreeinclusion/1/modified-proof[1]-bit-@3-subtree.json b/testdata/subtreeinclusion/1/modified-proof[1]-bit-@3-subtree.json new file mode 100644 index 00000000..33e64294 --- /dev/null +++ b/testdata/subtreeinclusion/1/modified-proof[1]-bit-@3-subtree.json @@ -0,0 +1,14 @@ +{ + "leafIdx": 8, + "start": 8, + "end": 16, + "root": "XcnaeacGWamtVZy3Ad7ZoqudgjqtL0lgz+Nw7/RgQyg=", + "leafHash": "bjQLnP+zepicpUTmu3gKLHiQHT+zNzh2hRGjBhevoB0=", + "proof": [ + "lqKW0iTyhcZ77pPDD4owkVfw2qNdxbh+QQt4YwoJz8c=", + "Vwg/ChozygdqlSeYMlgNs+DvRYS9/x9UyKNg9Q3jAx4=", + "a0eq8p7jwq+a+Im8H7klTavTEXfxYjLdaqsDXKOb9uQ=" + ], + "desc": "modified proof[1] bit @3 - subtree", + "wantErr": true +} \ No newline at end of file diff --git a/testdata/subtreeinclusion/1/modified-proof[1]-bit-@3.json b/testdata/subtreeinclusion/1/modified-proof[1]-bit-@3.json new file mode 100644 index 00000000..3b53791d --- /dev/null +++ b/testdata/subtreeinclusion/1/modified-proof[1]-bit-@3.json @@ -0,0 +1,14 @@ +{ + "leafIdx": 0, + "start": 0, + "end": 8, + "root": "XcnaeacGWamtVZy3Ad7ZoqudgjqtL0lgz+Nw7/RgQyg=", + "leafHash": "bjQLnP+zepicpUTmu3gKLHiQHT+zNzh2hRGjBhevoB0=", + "proof": [ + "lqKW0iTyhcZ77pPDD4owkVfw2qNdxbh+QQt4YwoJz8c=", + "Vwg/ChozygdqlSeYMlgNs+DvRYS9/x9UyKNg9Q3jAx4=", + "a0eq8p7jwq+a+Im8H7klTavTEXfxYjLdaqsDXKOb9uQ=" + ], + "desc": "modified proof[1] bit @3", + "wantErr": true +} \ No newline at end of file diff --git a/testdata/subtreeinclusion/1/modified-proof[2]-bit-@3-subtree.json b/testdata/subtreeinclusion/1/modified-proof[2]-bit-@3-subtree.json new file mode 100644 index 00000000..0462c405 --- /dev/null +++ b/testdata/subtreeinclusion/1/modified-proof[2]-bit-@3-subtree.json @@ -0,0 +1,14 @@ +{ + "leafIdx": 8, + "start": 8, + "end": 16, + "root": "XcnaeacGWamtVZy3Ad7ZoqudgjqtL0lgz+Nw7/RgQyg=", + "leafHash": "bjQLnP+zepicpUTmu3gKLHiQHT+zNzh2hRGjBhevoB0=", + "proof": [ + "lqKW0iTyhcZ77pPDD4owkVfw2qNdxbh+QQt4YwoJz8c=", + "Xwg/ChozygdqlSeYMlgNs+DvRYS9/x9UyKNg9Q3jAx4=", + "Y0eq8p7jwq+a+Im8H7klTavTEXfxYjLdaqsDXKOb9uQ=" + ], + "desc": "modified proof[2] bit @3 - subtree", + "wantErr": true +} \ No newline at end of file diff --git a/testdata/subtreeinclusion/1/modified-proof[2]-bit-@3.json b/testdata/subtreeinclusion/1/modified-proof[2]-bit-@3.json new file mode 100644 index 00000000..2989f02a --- /dev/null +++ b/testdata/subtreeinclusion/1/modified-proof[2]-bit-@3.json @@ -0,0 +1,14 @@ +{ + "leafIdx": 0, + "start": 0, + "end": 8, + "root": "XcnaeacGWamtVZy3Ad7ZoqudgjqtL0lgz+Nw7/RgQyg=", + "leafHash": "bjQLnP+zepicpUTmu3gKLHiQHT+zNzh2hRGjBhevoB0=", + "proof": [ + "lqKW0iTyhcZ77pPDD4owkVfw2qNdxbh+QQt4YwoJz8c=", + "Xwg/ChozygdqlSeYMlgNs+DvRYS9/x9UyKNg9Q3jAx4=", + "Y0eq8p7jwq+a+Im8H7klTavTEXfxYjLdaqsDXKOb9uQ=" + ], + "desc": "modified proof[2] bit @3", + "wantErr": true +} \ No newline at end of file diff --git a/testdata/subtreeinclusion/1/preceding-garbage-subtree.json b/testdata/subtreeinclusion/1/preceding-garbage-subtree.json new file mode 100644 index 00000000..b56b84a4 --- /dev/null +++ b/testdata/subtreeinclusion/1/preceding-garbage-subtree.json @@ -0,0 +1,15 @@ +{ + "leafIdx": 8, + "start": 8, + "end": 16, + "root": "XcnaeacGWamtVZy3Ad7ZoqudgjqtL0lgz+Nw7/RgQyg=", + "leafHash": "bjQLnP+zepicpUTmu3gKLHiQHT+zNzh2hRGjBhevoB0=", + "proof": [ + "", + "lqKW0iTyhcZ77pPDD4owkVfw2qNdxbh+QQt4YwoJz8c=", + "Xwg/ChozygdqlSeYMlgNs+DvRYS9/x9UyKNg9Q3jAx4=", + "a0eq8p7jwq+a+Im8H7klTavTEXfxYjLdaqsDXKOb9uQ=" + ], + "desc": "preceding garbage - subtree", + "wantErr": true +} \ No newline at end of file diff --git a/testdata/subtreeinclusion/1/preceding-garbage.json b/testdata/subtreeinclusion/1/preceding-garbage.json new file mode 100644 index 00000000..086a0b21 --- /dev/null +++ b/testdata/subtreeinclusion/1/preceding-garbage.json @@ -0,0 +1,15 @@ +{ + "leafIdx": 0, + "start": 0, + "end": 8, + "root": "XcnaeacGWamtVZy3Ad7ZoqudgjqtL0lgz+Nw7/RgQyg=", + "leafHash": "bjQLnP+zepicpUTmu3gKLHiQHT+zNzh2hRGjBhevoB0=", + "proof": [ + "", + "lqKW0iTyhcZ77pPDD4owkVfw2qNdxbh+QQt4YwoJz8c=", + "Xwg/ChozygdqlSeYMlgNs+DvRYS9/x9UyKNg9Q3jAx4=", + "a0eq8p7jwq+a+Im8H7klTavTEXfxYjLdaqsDXKOb9uQ=" + ], + "desc": "preceding garbage", + "wantErr": true +} \ No newline at end of file diff --git a/testdata/subtreeinclusion/1/preceding-root-subtree.json b/testdata/subtreeinclusion/1/preceding-root-subtree.json new file mode 100644 index 00000000..fb0af534 --- /dev/null +++ b/testdata/subtreeinclusion/1/preceding-root-subtree.json @@ -0,0 +1,15 @@ +{ + "leafIdx": 8, + "start": 8, + "end": 16, + "root": "XcnaeacGWamtVZy3Ad7ZoqudgjqtL0lgz+Nw7/RgQyg=", + "leafHash": "bjQLnP+zepicpUTmu3gKLHiQHT+zNzh2hRGjBhevoB0=", + "proof": [ + "XcnaeacGWamtVZy3Ad7ZoqudgjqtL0lgz+Nw7/RgQyg=", + "lqKW0iTyhcZ77pPDD4owkVfw2qNdxbh+QQt4YwoJz8c=", + "Xwg/ChozygdqlSeYMlgNs+DvRYS9/x9UyKNg9Q3jAx4=", + "a0eq8p7jwq+a+Im8H7klTavTEXfxYjLdaqsDXKOb9uQ=" + ], + "desc": "preceding root - subtree", + "wantErr": true +} \ No newline at end of file diff --git a/testdata/subtreeinclusion/1/preceding-root.json b/testdata/subtreeinclusion/1/preceding-root.json new file mode 100644 index 00000000..dee39f10 --- /dev/null +++ b/testdata/subtreeinclusion/1/preceding-root.json @@ -0,0 +1,15 @@ +{ + "leafIdx": 0, + "start": 0, + "end": 8, + "root": "XcnaeacGWamtVZy3Ad7ZoqudgjqtL0lgz+Nw7/RgQyg=", + "leafHash": "bjQLnP+zepicpUTmu3gKLHiQHT+zNzh2hRGjBhevoB0=", + "proof": [ + "XcnaeacGWamtVZy3Ad7ZoqudgjqtL0lgz+Nw7/RgQyg=", + "lqKW0iTyhcZ77pPDD4owkVfw2qNdxbh+QQt4YwoJz8c=", + "Xwg/ChozygdqlSeYMlgNs+DvRYS9/x9UyKNg9Q3jAx4=", + "a0eq8p7jwq+a+Im8H7klTavTEXfxYjLdaqsDXKOb9uQ=" + ], + "desc": "preceding root", + "wantErr": true +} \ No newline at end of file diff --git a/testdata/subtreeinclusion/1/random-root-subtree.json b/testdata/subtreeinclusion/1/random-root-subtree.json new file mode 100644 index 00000000..79f0b658 --- /dev/null +++ b/testdata/subtreeinclusion/1/random-root-subtree.json @@ -0,0 +1,14 @@ +{ + "leafIdx": 8, + "start": 8, + "end": 16, + "root": "q6yroAAAAAAAAAAAAAAAAAAAAAAAAAAAAGAGHgASNFY=", + "leafHash": "bjQLnP+zepicpUTmu3gKLHiQHT+zNzh2hRGjBhevoB0=", + "proof": [ + "lqKW0iTyhcZ77pPDD4owkVfw2qNdxbh+QQt4YwoJz8c=", + "Xwg/ChozygdqlSeYMlgNs+DvRYS9/x9UyKNg9Q3jAx4=", + "a0eq8p7jwq+a+Im8H7klTavTEXfxYjLdaqsDXKOb9uQ=" + ], + "desc": "random root - subtree", + "wantErr": true +} \ No newline at end of file diff --git a/testdata/subtreeinclusion/1/random-root.json b/testdata/subtreeinclusion/1/random-root.json new file mode 100644 index 00000000..a3d1d591 --- /dev/null +++ b/testdata/subtreeinclusion/1/random-root.json @@ -0,0 +1,14 @@ +{ + "leafIdx": 0, + "start": 0, + "end": 8, + "root": "q6yroAAAAAAAAAAAAAAAAAAAAAAAAAAAAGAGHgASNFY=", + "leafHash": "bjQLnP+zepicpUTmu3gKLHiQHT+zNzh2hRGjBhevoB0=", + "proof": [ + "lqKW0iTyhcZ77pPDD4owkVfw2qNdxbh+QQt4YwoJz8c=", + "Xwg/ChozygdqlSeYMlgNs+DvRYS9/x9UyKNg9Q3jAx4=", + "a0eq8p7jwq+a+Im8H7klTavTEXfxYjLdaqsDXKOb9uQ=" + ], + "desc": "random root", + "wantErr": true +} \ No newline at end of file diff --git a/testdata/subtreeinclusion/1/removed-component-subtree.json b/testdata/subtreeinclusion/1/removed-component-subtree.json new file mode 100644 index 00000000..e7957a1a --- /dev/null +++ b/testdata/subtreeinclusion/1/removed-component-subtree.json @@ -0,0 +1,13 @@ +{ + "leafIdx": 8, + "start": 8, + "end": 16, + "root": "XcnaeacGWamtVZy3Ad7ZoqudgjqtL0lgz+Nw7/RgQyg=", + "leafHash": "bjQLnP+zepicpUTmu3gKLHiQHT+zNzh2hRGjBhevoB0=", + "proof": [ + "lqKW0iTyhcZ77pPDD4owkVfw2qNdxbh+QQt4YwoJz8c=", + "Xwg/ChozygdqlSeYMlgNs+DvRYS9/x9UyKNg9Q3jAx4=" + ], + "desc": "removed component - subtree", + "wantErr": true +} \ No newline at end of file diff --git a/testdata/subtreeinclusion/1/removed-component.json b/testdata/subtreeinclusion/1/removed-component.json new file mode 100644 index 00000000..1a3e44c8 --- /dev/null +++ b/testdata/subtreeinclusion/1/removed-component.json @@ -0,0 +1,13 @@ +{ + "leafIdx": 0, + "start": 0, + "end": 8, + "root": "XcnaeacGWamtVZy3Ad7ZoqudgjqtL0lgz+Nw7/RgQyg=", + "leafHash": "bjQLnP+zepicpUTmu3gKLHiQHT+zNzh2hRGjBhevoB0=", + "proof": [ + "lqKW0iTyhcZ77pPDD4owkVfw2qNdxbh+QQt4YwoJz8c=", + "Xwg/ChozygdqlSeYMlgNs+DvRYS9/x9UyKNg9Q3jAx4=" + ], + "desc": "removed component", + "wantErr": true +} \ No newline at end of file diff --git a/testdata/subtreeinclusion/1/trailing-garbage-subtree.json b/testdata/subtreeinclusion/1/trailing-garbage-subtree.json new file mode 100644 index 00000000..9c0c470b --- /dev/null +++ b/testdata/subtreeinclusion/1/trailing-garbage-subtree.json @@ -0,0 +1,15 @@ +{ + "leafIdx": 8, + "start": 8, + "end": 16, + "root": "XcnaeacGWamtVZy3Ad7ZoqudgjqtL0lgz+Nw7/RgQyg=", + "leafHash": "bjQLnP+zepicpUTmu3gKLHiQHT+zNzh2hRGjBhevoB0=", + "proof": [ + "lqKW0iTyhcZ77pPDD4owkVfw2qNdxbh+QQt4YwoJz8c=", + "Xwg/ChozygdqlSeYMlgNs+DvRYS9/x9UyKNg9Q3jAx4=", + "a0eq8p7jwq+a+Im8H7klTavTEXfxYjLdaqsDXKOb9uQ=", + "" + ], + "desc": "trailing garbage - subtree", + "wantErr": true +} \ No newline at end of file diff --git a/testdata/subtreeinclusion/1/trailing-garbage.json b/testdata/subtreeinclusion/1/trailing-garbage.json new file mode 100644 index 00000000..24d49aa5 --- /dev/null +++ b/testdata/subtreeinclusion/1/trailing-garbage.json @@ -0,0 +1,15 @@ +{ + "leafIdx": 0, + "start": 0, + "end": 8, + "root": "XcnaeacGWamtVZy3Ad7ZoqudgjqtL0lgz+Nw7/RgQyg=", + "leafHash": "bjQLnP+zepicpUTmu3gKLHiQHT+zNzh2hRGjBhevoB0=", + "proof": [ + "lqKW0iTyhcZ77pPDD4owkVfw2qNdxbh+QQt4YwoJz8c=", + "Xwg/ChozygdqlSeYMlgNs+DvRYS9/x9UyKNg9Q3jAx4=", + "a0eq8p7jwq+a+Im8H7klTavTEXfxYjLdaqsDXKOb9uQ=", + "" + ], + "desc": "trailing garbage", + "wantErr": true +} \ No newline at end of file diff --git a/testdata/subtreeinclusion/1/trailing-root-subtree.json b/testdata/subtreeinclusion/1/trailing-root-subtree.json new file mode 100644 index 00000000..3a0cf4f4 --- /dev/null +++ b/testdata/subtreeinclusion/1/trailing-root-subtree.json @@ -0,0 +1,15 @@ +{ + "leafIdx": 8, + "start": 8, + "end": 16, + "root": "XcnaeacGWamtVZy3Ad7ZoqudgjqtL0lgz+Nw7/RgQyg=", + "leafHash": "bjQLnP+zepicpUTmu3gKLHiQHT+zNzh2hRGjBhevoB0=", + "proof": [ + "lqKW0iTyhcZ77pPDD4owkVfw2qNdxbh+QQt4YwoJz8c=", + "Xwg/ChozygdqlSeYMlgNs+DvRYS9/x9UyKNg9Q3jAx4=", + "a0eq8p7jwq+a+Im8H7klTavTEXfxYjLdaqsDXKOb9uQ=", + "XcnaeacGWamtVZy3Ad7ZoqudgjqtL0lgz+Nw7/RgQyg=" + ], + "desc": "trailing root - subtree", + "wantErr": true +} \ No newline at end of file diff --git a/testdata/subtreeinclusion/1/trailing-root.json b/testdata/subtreeinclusion/1/trailing-root.json new file mode 100644 index 00000000..f1c5f6ec --- /dev/null +++ b/testdata/subtreeinclusion/1/trailing-root.json @@ -0,0 +1,15 @@ +{ + "leafIdx": 0, + "start": 0, + "end": 8, + "root": "XcnaeacGWamtVZy3Ad7ZoqudgjqtL0lgz+Nw7/RgQyg=", + "leafHash": "bjQLnP+zepicpUTmu3gKLHiQHT+zNzh2hRGjBhevoB0=", + "proof": [ + "lqKW0iTyhcZ77pPDD4owkVfw2qNdxbh+QQt4YwoJz8c=", + "Xwg/ChozygdqlSeYMlgNs+DvRYS9/x9UyKNg9Q3jAx4=", + "a0eq8p7jwq+a+Im8H7klTavTEXfxYjLdaqsDXKOb9uQ=", + "XcnaeacGWamtVZy3Ad7ZoqudgjqtL0lgz+Nw7/RgQyg=" + ], + "desc": "trailing root", + "wantErr": true +} \ No newline at end of file diff --git a/testdata/subtreeinclusion/1/treeSize-div-@2-subtree.json b/testdata/subtreeinclusion/1/treeSize-div-@2-subtree.json new file mode 100644 index 00000000..a2a139c8 --- /dev/null +++ b/testdata/subtreeinclusion/1/treeSize-div-@2-subtree.json @@ -0,0 +1,14 @@ +{ + "leafIdx": 4, + "start": 4, + "end": 8, + "root": "XcnaeacGWamtVZy3Ad7ZoqudgjqtL0lgz+Nw7/RgQyg=", + "leafHash": "bjQLnP+zepicpUTmu3gKLHiQHT+zNzh2hRGjBhevoB0=", + "proof": [ + "lqKW0iTyhcZ77pPDD4owkVfw2qNdxbh+QQt4YwoJz8c=", + "Xwg/ChozygdqlSeYMlgNs+DvRYS9/x9UyKNg9Q3jAx4=", + "a0eq8p7jwq+a+Im8H7klTavTEXfxYjLdaqsDXKOb9uQ=" + ], + "desc": "treeSize div @2 - subtree", + "wantErr": true +} \ No newline at end of file diff --git a/testdata/subtreeinclusion/1/treeSize-div-@2.json b/testdata/subtreeinclusion/1/treeSize-div-@2.json new file mode 100644 index 00000000..59bafdc2 --- /dev/null +++ b/testdata/subtreeinclusion/1/treeSize-div-@2.json @@ -0,0 +1,14 @@ +{ + "leafIdx": 0, + "start": 0, + "end": 4, + "root": "XcnaeacGWamtVZy3Ad7ZoqudgjqtL0lgz+Nw7/RgQyg=", + "leafHash": "bjQLnP+zepicpUTmu3gKLHiQHT+zNzh2hRGjBhevoB0=", + "proof": [ + "lqKW0iTyhcZ77pPDD4owkVfw2qNdxbh+QQt4YwoJz8c=", + "Xwg/ChozygdqlSeYMlgNs+DvRYS9/x9UyKNg9Q3jAx4=", + "a0eq8p7jwq+a+Im8H7klTavTEXfxYjLdaqsDXKOb9uQ=" + ], + "desc": "treeSize div @2", + "wantErr": true +} \ No newline at end of file diff --git a/testdata/subtreeinclusion/1/treeSize-mul-@2-subtree.json b/testdata/subtreeinclusion/1/treeSize-mul-@2-subtree.json new file mode 100644 index 00000000..190f24c6 --- /dev/null +++ b/testdata/subtreeinclusion/1/treeSize-mul-@2-subtree.json @@ -0,0 +1,14 @@ +{ + "leafIdx": 16, + "start": 16, + "end": 32, + "root": "XcnaeacGWamtVZy3Ad7ZoqudgjqtL0lgz+Nw7/RgQyg=", + "leafHash": "bjQLnP+zepicpUTmu3gKLHiQHT+zNzh2hRGjBhevoB0=", + "proof": [ + "lqKW0iTyhcZ77pPDD4owkVfw2qNdxbh+QQt4YwoJz8c=", + "Xwg/ChozygdqlSeYMlgNs+DvRYS9/x9UyKNg9Q3jAx4=", + "a0eq8p7jwq+a+Im8H7klTavTEXfxYjLdaqsDXKOb9uQ=" + ], + "desc": "treeSize mul @2 - subtree", + "wantErr": true +} \ No newline at end of file diff --git a/testdata/subtreeinclusion/1/treeSize-mul-@2.json b/testdata/subtreeinclusion/1/treeSize-mul-@2.json new file mode 100644 index 00000000..66ce2f70 --- /dev/null +++ b/testdata/subtreeinclusion/1/treeSize-mul-@2.json @@ -0,0 +1,14 @@ +{ + "leafIdx": 0, + "start": 0, + "end": 16, + "root": "XcnaeacGWamtVZy3Ad7ZoqudgjqtL0lgz+Nw7/RgQyg=", + "leafHash": "bjQLnP+zepicpUTmu3gKLHiQHT+zNzh2hRGjBhevoB0=", + "proof": [ + "lqKW0iTyhcZ77pPDD4owkVfw2qNdxbh+QQt4YwoJz8c=", + "Xwg/ChozygdqlSeYMlgNs+DvRYS9/x9UyKNg9Q3jAx4=", + "a0eq8p7jwq+a+Im8H7klTavTEXfxYjLdaqsDXKOb9uQ=" + ], + "desc": "treeSize mul @2", + "wantErr": true +} \ No newline at end of file diff --git a/testdata/subtreeinclusion/1/wrong-leaf-subtree.json b/testdata/subtreeinclusion/1/wrong-leaf-subtree.json new file mode 100644 index 00000000..0b90b727 --- /dev/null +++ b/testdata/subtreeinclusion/1/wrong-leaf-subtree.json @@ -0,0 +1,14 @@ +{ + "leafIdx": 8, + "start": 8, + "end": 16, + "root": "XcnaeacGWamtVZy3Ad7ZoqudgjqtL0lgz+Nw7/RgQyg=", + "leafHash": "V3JvbmdMZWFm", + "proof": [ + "lqKW0iTyhcZ77pPDD4owkVfw2qNdxbh+QQt4YwoJz8c=", + "Xwg/ChozygdqlSeYMlgNs+DvRYS9/x9UyKNg9Q3jAx4=", + "a0eq8p7jwq+a+Im8H7klTavTEXfxYjLdaqsDXKOb9uQ=" + ], + "desc": "wrong leaf - subtree", + "wantErr": true +} \ No newline at end of file diff --git a/testdata/subtreeinclusion/1/wrong-leaf.json b/testdata/subtreeinclusion/1/wrong-leaf.json new file mode 100644 index 00000000..4da838d2 --- /dev/null +++ b/testdata/subtreeinclusion/1/wrong-leaf.json @@ -0,0 +1,14 @@ +{ + "leafIdx": 0, + "start": 0, + "end": 8, + "root": "XcnaeacGWamtVZy3Ad7ZoqudgjqtL0lgz+Nw7/RgQyg=", + "leafHash": "V3JvbmdMZWFm", + "proof": [ + "lqKW0iTyhcZ77pPDD4owkVfw2qNdxbh+QQt4YwoJz8c=", + "Xwg/ChozygdqlSeYMlgNs+DvRYS9/x9UyKNg9Q3jAx4=", + "a0eq8p7jwq+a+Im8H7klTavTEXfxYjLdaqsDXKOb9uQ=" + ], + "desc": "wrong leaf", + "wantErr": true +} \ No newline at end of file diff --git a/testdata/subtreeinclusion/2/empty-root-subtree.json b/testdata/subtreeinclusion/2/empty-root-subtree.json new file mode 100644 index 00000000..44bf799c --- /dev/null +++ b/testdata/subtreeinclusion/2/empty-root-subtree.json @@ -0,0 +1,14 @@ +{ + "leafIdx": 13, + "start": 8, + "end": 16, + "root": "47DEQpj8HBSa+/TImW+5JCeuQeRkm5NMpJWZG3hSuFU=", + "leafHash": "QnGia+DYqE8L1UyMMC58s6O10fpngKQLzOKHNHfatlg=", + "proof": [ + "vBoGQ7EuTS18d5GPROD095qDi2z57FtcKD4fTYhZnms=", + "yoVOoSjtBQtBs1/8G4e46yveRh6eO1WW7Oa51ZdaCuA=", + "037kGJdt2VdTwcc4Yrk5j6Kiz5tP8P3+izDNlSCWFLc=" + ], + "desc": "empty root - subtree", + "wantErr": true +} \ No newline at end of file diff --git a/testdata/subtreeinclusion/2/empty-root.json b/testdata/subtreeinclusion/2/empty-root.json new file mode 100644 index 00000000..536b0fd9 --- /dev/null +++ b/testdata/subtreeinclusion/2/empty-root.json @@ -0,0 +1,14 @@ +{ + "leafIdx": 5, + "start": 0, + "end": 8, + "root": "47DEQpj8HBSa+/TImW+5JCeuQeRkm5NMpJWZG3hSuFU=", + "leafHash": "QnGia+DYqE8L1UyMMC58s6O10fpngKQLzOKHNHfatlg=", + "proof": [ + "vBoGQ7EuTS18d5GPROD095qDi2z57FtcKD4fTYhZnms=", + "yoVOoSjtBQtBs1/8G4e46yveRh6eO1WW7Oa51ZdaCuA=", + "037kGJdt2VdTwcc4Yrk5j6Kiz5tP8P3+izDNlSCWFLc=" + ], + "desc": "empty root", + "wantErr": true +} \ No newline at end of file diff --git a/testdata/subtreeinclusion/2/happy-path-subtree.json b/testdata/subtreeinclusion/2/happy-path-subtree.json new file mode 100644 index 00000000..99f3e99c --- /dev/null +++ b/testdata/subtreeinclusion/2/happy-path-subtree.json @@ -0,0 +1,14 @@ +{ + "leafIdx": 13, + "start": 8, + "end": 16, + "root": "XcnaeacGWamtVZy3Ad7ZoqudgjqtL0lgz+Nw7/RgQyg=", + "leafHash": "QnGia+DYqE8L1UyMMC58s6O10fpngKQLzOKHNHfatlg=", + "proof": [ + "vBoGQ7EuTS18d5GPROD095qDi2z57FtcKD4fTYhZnms=", + "yoVOoSjtBQtBs1/8G4e46yveRh6eO1WW7Oa51ZdaCuA=", + "037kGJdt2VdTwcc4Yrk5j6Kiz5tP8P3+izDNlSCWFLc=" + ], + "desc": "happy path - subtree", + "wantErr": false +} \ No newline at end of file diff --git a/testdata/subtreeinclusion/2/happy-path.json b/testdata/subtreeinclusion/2/happy-path.json new file mode 100644 index 00000000..9b2bd601 --- /dev/null +++ b/testdata/subtreeinclusion/2/happy-path.json @@ -0,0 +1,14 @@ +{ + "leafIdx": 5, + "start": 0, + "end": 8, + "root": "XcnaeacGWamtVZy3Ad7ZoqudgjqtL0lgz+Nw7/RgQyg=", + "leafHash": "QnGia+DYqE8L1UyMMC58s6O10fpngKQLzOKHNHfatlg=", + "proof": [ + "vBoGQ7EuTS18d5GPROD095qDi2z57FtcKD4fTYhZnms=", + "yoVOoSjtBQtBs1/8G4e46yveRh6eO1WW7Oa51ZdaCuA=", + "037kGJdt2VdTwcc4Yrk5j6Kiz5tP8P3+izDNlSCWFLc=" + ], + "desc": "happy path", + "wantErr": false +} \ No newline at end of file diff --git a/testdata/subtreeinclusion/2/inserted-component-subtree.json b/testdata/subtreeinclusion/2/inserted-component-subtree.json new file mode 100644 index 00000000..697688db --- /dev/null +++ b/testdata/subtreeinclusion/2/inserted-component-subtree.json @@ -0,0 +1,15 @@ +{ + "leafIdx": 13, + "start": 8, + "end": 16, + "root": "XcnaeacGWamtVZy3Ad7ZoqudgjqtL0lgz+Nw7/RgQyg=", + "leafHash": "QnGia+DYqE8L1UyMMC58s6O10fpngKQLzOKHNHfatlg=", + "proof": [ + "vBoGQ7EuTS18d5GPROD095qDi2z57FtcKD4fTYhZnms=", + "q6yroAAAAAAAAAAAAAAAAAAAAAAAAAAAAGAGHgASNFY=", + "yoVOoSjtBQtBs1/8G4e46yveRh6eO1WW7Oa51ZdaCuA=", + "037kGJdt2VdTwcc4Yrk5j6Kiz5tP8P3+izDNlSCWFLc=" + ], + "desc": "inserted component - subtree", + "wantErr": true +} \ No newline at end of file diff --git a/testdata/subtreeinclusion/2/inserted-component.json b/testdata/subtreeinclusion/2/inserted-component.json new file mode 100644 index 00000000..20772d9e --- /dev/null +++ b/testdata/subtreeinclusion/2/inserted-component.json @@ -0,0 +1,15 @@ +{ + "leafIdx": 5, + "start": 0, + "end": 8, + "root": "XcnaeacGWamtVZy3Ad7ZoqudgjqtL0lgz+Nw7/RgQyg=", + "leafHash": "QnGia+DYqE8L1UyMMC58s6O10fpngKQLzOKHNHfatlg=", + "proof": [ + "vBoGQ7EuTS18d5GPROD095qDi2z57FtcKD4fTYhZnms=", + "q6yroAAAAAAAAAAAAAAAAAAAAAAAAAAAAGAGHgASNFY=", + "yoVOoSjtBQtBs1/8G4e46yveRh6eO1WW7Oa51ZdaCuA=", + "037kGJdt2VdTwcc4Yrk5j6Kiz5tP8P3+izDNlSCWFLc=" + ], + "desc": "inserted component", + "wantErr": true +} \ No newline at end of file diff --git a/testdata/subtreeinclusion/2/leafIdx-XOR-@2-subtree.json b/testdata/subtreeinclusion/2/leafIdx-XOR-@2-subtree.json new file mode 100644 index 00000000..720a21ff --- /dev/null +++ b/testdata/subtreeinclusion/2/leafIdx-XOR-@2-subtree.json @@ -0,0 +1,14 @@ +{ + "leafIdx": 15, + "start": 8, + "end": 16, + "root": "XcnaeacGWamtVZy3Ad7ZoqudgjqtL0lgz+Nw7/RgQyg=", + "leafHash": "QnGia+DYqE8L1UyMMC58s6O10fpngKQLzOKHNHfatlg=", + "proof": [ + "vBoGQ7EuTS18d5GPROD095qDi2z57FtcKD4fTYhZnms=", + "yoVOoSjtBQtBs1/8G4e46yveRh6eO1WW7Oa51ZdaCuA=", + "037kGJdt2VdTwcc4Yrk5j6Kiz5tP8P3+izDNlSCWFLc=" + ], + "desc": "leafIdx XOR @2 - subtree", + "wantErr": true +} \ No newline at end of file diff --git a/testdata/subtreeinclusion/2/leafIdx-XOR-@2.json b/testdata/subtreeinclusion/2/leafIdx-XOR-@2.json new file mode 100644 index 00000000..6f9664e9 --- /dev/null +++ b/testdata/subtreeinclusion/2/leafIdx-XOR-@2.json @@ -0,0 +1,14 @@ +{ + "leafIdx": 7, + "start": 0, + "end": 8, + "root": "XcnaeacGWamtVZy3Ad7ZoqudgjqtL0lgz+Nw7/RgQyg=", + "leafHash": "QnGia+DYqE8L1UyMMC58s6O10fpngKQLzOKHNHfatlg=", + "proof": [ + "vBoGQ7EuTS18d5GPROD095qDi2z57FtcKD4fTYhZnms=", + "yoVOoSjtBQtBs1/8G4e46yveRh6eO1WW7Oa51ZdaCuA=", + "037kGJdt2VdTwcc4Yrk5j6Kiz5tP8P3+izDNlSCWFLc=" + ], + "desc": "leafIdx XOR @2", + "wantErr": true +} \ No newline at end of file diff --git a/testdata/subtreeinclusion/2/leafIdx-plus-@1-subtree.json b/testdata/subtreeinclusion/2/leafIdx-plus-@1-subtree.json new file mode 100644 index 00000000..54fadedd --- /dev/null +++ b/testdata/subtreeinclusion/2/leafIdx-plus-@1-subtree.json @@ -0,0 +1,14 @@ +{ + "leafIdx": 14, + "start": 8, + "end": 16, + "root": "XcnaeacGWamtVZy3Ad7ZoqudgjqtL0lgz+Nw7/RgQyg=", + "leafHash": "QnGia+DYqE8L1UyMMC58s6O10fpngKQLzOKHNHfatlg=", + "proof": [ + "vBoGQ7EuTS18d5GPROD095qDi2z57FtcKD4fTYhZnms=", + "yoVOoSjtBQtBs1/8G4e46yveRh6eO1WW7Oa51ZdaCuA=", + "037kGJdt2VdTwcc4Yrk5j6Kiz5tP8P3+izDNlSCWFLc=" + ], + "desc": "leafIdx plus @1 - subtree", + "wantErr": true +} \ No newline at end of file diff --git a/testdata/subtreeinclusion/2/leafIdx-plus-@1.json b/testdata/subtreeinclusion/2/leafIdx-plus-@1.json new file mode 100644 index 00000000..8dd3bb77 --- /dev/null +++ b/testdata/subtreeinclusion/2/leafIdx-plus-@1.json @@ -0,0 +1,14 @@ +{ + "leafIdx": 6, + "start": 0, + "end": 8, + "root": "XcnaeacGWamtVZy3Ad7ZoqudgjqtL0lgz+Nw7/RgQyg=", + "leafHash": "QnGia+DYqE8L1UyMMC58s6O10fpngKQLzOKHNHfatlg=", + "proof": [ + "vBoGQ7EuTS18d5GPROD095qDi2z57FtcKD4fTYhZnms=", + "yoVOoSjtBQtBs1/8G4e46yveRh6eO1WW7Oa51ZdaCuA=", + "037kGJdt2VdTwcc4Yrk5j6Kiz5tP8P3+izDNlSCWFLc=" + ], + "desc": "leafIdx plus @1", + "wantErr": true +} \ No newline at end of file diff --git a/testdata/subtreeinclusion/2/leafIdx-sub-@1-subtree.json b/testdata/subtreeinclusion/2/leafIdx-sub-@1-subtree.json new file mode 100644 index 00000000..37899626 --- /dev/null +++ b/testdata/subtreeinclusion/2/leafIdx-sub-@1-subtree.json @@ -0,0 +1,14 @@ +{ + "leafIdx": 12, + "start": 8, + "end": 16, + "root": "XcnaeacGWamtVZy3Ad7ZoqudgjqtL0lgz+Nw7/RgQyg=", + "leafHash": "QnGia+DYqE8L1UyMMC58s6O10fpngKQLzOKHNHfatlg=", + "proof": [ + "vBoGQ7EuTS18d5GPROD095qDi2z57FtcKD4fTYhZnms=", + "yoVOoSjtBQtBs1/8G4e46yveRh6eO1WW7Oa51ZdaCuA=", + "037kGJdt2VdTwcc4Yrk5j6Kiz5tP8P3+izDNlSCWFLc=" + ], + "desc": "leafIdx sub @1 - subtree", + "wantErr": true +} \ No newline at end of file diff --git a/testdata/subtreeinclusion/2/leafIdx-sub-@1.json b/testdata/subtreeinclusion/2/leafIdx-sub-@1.json new file mode 100644 index 00000000..3c80d0aa --- /dev/null +++ b/testdata/subtreeinclusion/2/leafIdx-sub-@1.json @@ -0,0 +1,14 @@ +{ + "leafIdx": 4, + "start": 0, + "end": 8, + "root": "XcnaeacGWamtVZy3Ad7ZoqudgjqtL0lgz+Nw7/RgQyg=", + "leafHash": "QnGia+DYqE8L1UyMMC58s6O10fpngKQLzOKHNHfatlg=", + "proof": [ + "vBoGQ7EuTS18d5GPROD095qDi2z57FtcKD4fTYhZnms=", + "yoVOoSjtBQtBs1/8G4e46yveRh6eO1WW7Oa51ZdaCuA=", + "037kGJdt2VdTwcc4Yrk5j6Kiz5tP8P3+izDNlSCWFLc=" + ], + "desc": "leafIdx sub @1", + "wantErr": true +} \ No newline at end of file diff --git a/testdata/subtreeinclusion/2/modified-proof[0]-bit-@3-subtree.json b/testdata/subtreeinclusion/2/modified-proof[0]-bit-@3-subtree.json new file mode 100644 index 00000000..813d68d3 --- /dev/null +++ b/testdata/subtreeinclusion/2/modified-proof[0]-bit-@3-subtree.json @@ -0,0 +1,14 @@ +{ + "leafIdx": 13, + "start": 8, + "end": 16, + "root": "XcnaeacGWamtVZy3Ad7ZoqudgjqtL0lgz+Nw7/RgQyg=", + "leafHash": "QnGia+DYqE8L1UyMMC58s6O10fpngKQLzOKHNHfatlg=", + "proof": [ + "tBoGQ7EuTS18d5GPROD095qDi2z57FtcKD4fTYhZnms=", + "yoVOoSjtBQtBs1/8G4e46yveRh6eO1WW7Oa51ZdaCuA=", + "037kGJdt2VdTwcc4Yrk5j6Kiz5tP8P3+izDNlSCWFLc=" + ], + "desc": "modified proof[0] bit @3 - subtree", + "wantErr": true +} \ No newline at end of file diff --git a/testdata/subtreeinclusion/2/modified-proof[0]-bit-@3.json b/testdata/subtreeinclusion/2/modified-proof[0]-bit-@3.json new file mode 100644 index 00000000..5bd1d323 --- /dev/null +++ b/testdata/subtreeinclusion/2/modified-proof[0]-bit-@3.json @@ -0,0 +1,14 @@ +{ + "leafIdx": 5, + "start": 0, + "end": 8, + "root": "XcnaeacGWamtVZy3Ad7ZoqudgjqtL0lgz+Nw7/RgQyg=", + "leafHash": "QnGia+DYqE8L1UyMMC58s6O10fpngKQLzOKHNHfatlg=", + "proof": [ + "tBoGQ7EuTS18d5GPROD095qDi2z57FtcKD4fTYhZnms=", + "yoVOoSjtBQtBs1/8G4e46yveRh6eO1WW7Oa51ZdaCuA=", + "037kGJdt2VdTwcc4Yrk5j6Kiz5tP8P3+izDNlSCWFLc=" + ], + "desc": "modified proof[0] bit @3", + "wantErr": true +} \ No newline at end of file diff --git a/testdata/subtreeinclusion/2/modified-proof[1]-bit-@3-subtree.json b/testdata/subtreeinclusion/2/modified-proof[1]-bit-@3-subtree.json new file mode 100644 index 00000000..22e7ac4d --- /dev/null +++ b/testdata/subtreeinclusion/2/modified-proof[1]-bit-@3-subtree.json @@ -0,0 +1,14 @@ +{ + "leafIdx": 13, + "start": 8, + "end": 16, + "root": "XcnaeacGWamtVZy3Ad7ZoqudgjqtL0lgz+Nw7/RgQyg=", + "leafHash": "QnGia+DYqE8L1UyMMC58s6O10fpngKQLzOKHNHfatlg=", + "proof": [ + "vBoGQ7EuTS18d5GPROD095qDi2z57FtcKD4fTYhZnms=", + "woVOoSjtBQtBs1/8G4e46yveRh6eO1WW7Oa51ZdaCuA=", + "037kGJdt2VdTwcc4Yrk5j6Kiz5tP8P3+izDNlSCWFLc=" + ], + "desc": "modified proof[1] bit @3 - subtree", + "wantErr": true +} \ No newline at end of file diff --git a/testdata/subtreeinclusion/2/modified-proof[1]-bit-@3.json b/testdata/subtreeinclusion/2/modified-proof[1]-bit-@3.json new file mode 100644 index 00000000..c41ca740 --- /dev/null +++ b/testdata/subtreeinclusion/2/modified-proof[1]-bit-@3.json @@ -0,0 +1,14 @@ +{ + "leafIdx": 5, + "start": 0, + "end": 8, + "root": "XcnaeacGWamtVZy3Ad7ZoqudgjqtL0lgz+Nw7/RgQyg=", + "leafHash": "QnGia+DYqE8L1UyMMC58s6O10fpngKQLzOKHNHfatlg=", + "proof": [ + "vBoGQ7EuTS18d5GPROD095qDi2z57FtcKD4fTYhZnms=", + "woVOoSjtBQtBs1/8G4e46yveRh6eO1WW7Oa51ZdaCuA=", + "037kGJdt2VdTwcc4Yrk5j6Kiz5tP8P3+izDNlSCWFLc=" + ], + "desc": "modified proof[1] bit @3", + "wantErr": true +} \ No newline at end of file diff --git a/testdata/subtreeinclusion/2/modified-proof[2]-bit-@3-subtree.json b/testdata/subtreeinclusion/2/modified-proof[2]-bit-@3-subtree.json new file mode 100644 index 00000000..a03899ac --- /dev/null +++ b/testdata/subtreeinclusion/2/modified-proof[2]-bit-@3-subtree.json @@ -0,0 +1,14 @@ +{ + "leafIdx": 13, + "start": 8, + "end": 16, + "root": "XcnaeacGWamtVZy3Ad7ZoqudgjqtL0lgz+Nw7/RgQyg=", + "leafHash": "QnGia+DYqE8L1UyMMC58s6O10fpngKQLzOKHNHfatlg=", + "proof": [ + "vBoGQ7EuTS18d5GPROD095qDi2z57FtcKD4fTYhZnms=", + "yoVOoSjtBQtBs1/8G4e46yveRh6eO1WW7Oa51ZdaCuA=", + "237kGJdt2VdTwcc4Yrk5j6Kiz5tP8P3+izDNlSCWFLc=" + ], + "desc": "modified proof[2] bit @3 - subtree", + "wantErr": true +} \ No newline at end of file diff --git a/testdata/subtreeinclusion/2/modified-proof[2]-bit-@3.json b/testdata/subtreeinclusion/2/modified-proof[2]-bit-@3.json new file mode 100644 index 00000000..723bfa69 --- /dev/null +++ b/testdata/subtreeinclusion/2/modified-proof[2]-bit-@3.json @@ -0,0 +1,14 @@ +{ + "leafIdx": 5, + "start": 0, + "end": 8, + "root": "XcnaeacGWamtVZy3Ad7ZoqudgjqtL0lgz+Nw7/RgQyg=", + "leafHash": "QnGia+DYqE8L1UyMMC58s6O10fpngKQLzOKHNHfatlg=", + "proof": [ + "vBoGQ7EuTS18d5GPROD095qDi2z57FtcKD4fTYhZnms=", + "yoVOoSjtBQtBs1/8G4e46yveRh6eO1WW7Oa51ZdaCuA=", + "237kGJdt2VdTwcc4Yrk5j6Kiz5tP8P3+izDNlSCWFLc=" + ], + "desc": "modified proof[2] bit @3", + "wantErr": true +} \ No newline at end of file diff --git a/testdata/subtreeinclusion/2/preceding-garbage-subtree.json b/testdata/subtreeinclusion/2/preceding-garbage-subtree.json new file mode 100644 index 00000000..149ff24e --- /dev/null +++ b/testdata/subtreeinclusion/2/preceding-garbage-subtree.json @@ -0,0 +1,15 @@ +{ + "leafIdx": 13, + "start": 8, + "end": 16, + "root": "XcnaeacGWamtVZy3Ad7ZoqudgjqtL0lgz+Nw7/RgQyg=", + "leafHash": "QnGia+DYqE8L1UyMMC58s6O10fpngKQLzOKHNHfatlg=", + "proof": [ + "", + "vBoGQ7EuTS18d5GPROD095qDi2z57FtcKD4fTYhZnms=", + "yoVOoSjtBQtBs1/8G4e46yveRh6eO1WW7Oa51ZdaCuA=", + "037kGJdt2VdTwcc4Yrk5j6Kiz5tP8P3+izDNlSCWFLc=" + ], + "desc": "preceding garbage - subtree", + "wantErr": true +} \ No newline at end of file diff --git a/testdata/subtreeinclusion/2/preceding-garbage.json b/testdata/subtreeinclusion/2/preceding-garbage.json new file mode 100644 index 00000000..98fe8353 --- /dev/null +++ b/testdata/subtreeinclusion/2/preceding-garbage.json @@ -0,0 +1,15 @@ +{ + "leafIdx": 5, + "start": 0, + "end": 8, + "root": "XcnaeacGWamtVZy3Ad7ZoqudgjqtL0lgz+Nw7/RgQyg=", + "leafHash": "QnGia+DYqE8L1UyMMC58s6O10fpngKQLzOKHNHfatlg=", + "proof": [ + "", + "vBoGQ7EuTS18d5GPROD095qDi2z57FtcKD4fTYhZnms=", + "yoVOoSjtBQtBs1/8G4e46yveRh6eO1WW7Oa51ZdaCuA=", + "037kGJdt2VdTwcc4Yrk5j6Kiz5tP8P3+izDNlSCWFLc=" + ], + "desc": "preceding garbage", + "wantErr": true +} \ No newline at end of file diff --git a/testdata/subtreeinclusion/2/preceding-root-subtree.json b/testdata/subtreeinclusion/2/preceding-root-subtree.json new file mode 100644 index 00000000..0c9886b9 --- /dev/null +++ b/testdata/subtreeinclusion/2/preceding-root-subtree.json @@ -0,0 +1,15 @@ +{ + "leafIdx": 13, + "start": 8, + "end": 16, + "root": "XcnaeacGWamtVZy3Ad7ZoqudgjqtL0lgz+Nw7/RgQyg=", + "leafHash": "QnGia+DYqE8L1UyMMC58s6O10fpngKQLzOKHNHfatlg=", + "proof": [ + "XcnaeacGWamtVZy3Ad7ZoqudgjqtL0lgz+Nw7/RgQyg=", + "vBoGQ7EuTS18d5GPROD095qDi2z57FtcKD4fTYhZnms=", + "yoVOoSjtBQtBs1/8G4e46yveRh6eO1WW7Oa51ZdaCuA=", + "037kGJdt2VdTwcc4Yrk5j6Kiz5tP8P3+izDNlSCWFLc=" + ], + "desc": "preceding root - subtree", + "wantErr": true +} \ No newline at end of file diff --git a/testdata/subtreeinclusion/2/preceding-root.json b/testdata/subtreeinclusion/2/preceding-root.json new file mode 100644 index 00000000..a42f3c3c --- /dev/null +++ b/testdata/subtreeinclusion/2/preceding-root.json @@ -0,0 +1,15 @@ +{ + "leafIdx": 5, + "start": 0, + "end": 8, + "root": "XcnaeacGWamtVZy3Ad7ZoqudgjqtL0lgz+Nw7/RgQyg=", + "leafHash": "QnGia+DYqE8L1UyMMC58s6O10fpngKQLzOKHNHfatlg=", + "proof": [ + "XcnaeacGWamtVZy3Ad7ZoqudgjqtL0lgz+Nw7/RgQyg=", + "vBoGQ7EuTS18d5GPROD095qDi2z57FtcKD4fTYhZnms=", + "yoVOoSjtBQtBs1/8G4e46yveRh6eO1WW7Oa51ZdaCuA=", + "037kGJdt2VdTwcc4Yrk5j6Kiz5tP8P3+izDNlSCWFLc=" + ], + "desc": "preceding root", + "wantErr": true +} \ No newline at end of file diff --git a/testdata/subtreeinclusion/2/random-root-subtree.json b/testdata/subtreeinclusion/2/random-root-subtree.json new file mode 100644 index 00000000..3eae4774 --- /dev/null +++ b/testdata/subtreeinclusion/2/random-root-subtree.json @@ -0,0 +1,14 @@ +{ + "leafIdx": 13, + "start": 8, + "end": 16, + "root": "q6yroAAAAAAAAAAAAAAAAAAAAAAAAAAAAGAGHgASNFY=", + "leafHash": "QnGia+DYqE8L1UyMMC58s6O10fpngKQLzOKHNHfatlg=", + "proof": [ + "vBoGQ7EuTS18d5GPROD095qDi2z57FtcKD4fTYhZnms=", + "yoVOoSjtBQtBs1/8G4e46yveRh6eO1WW7Oa51ZdaCuA=", + "037kGJdt2VdTwcc4Yrk5j6Kiz5tP8P3+izDNlSCWFLc=" + ], + "desc": "random root - subtree", + "wantErr": true +} \ No newline at end of file diff --git a/testdata/subtreeinclusion/2/random-root.json b/testdata/subtreeinclusion/2/random-root.json new file mode 100644 index 00000000..45ce0b76 --- /dev/null +++ b/testdata/subtreeinclusion/2/random-root.json @@ -0,0 +1,14 @@ +{ + "leafIdx": 5, + "start": 0, + "end": 8, + "root": "q6yroAAAAAAAAAAAAAAAAAAAAAAAAAAAAGAGHgASNFY=", + "leafHash": "QnGia+DYqE8L1UyMMC58s6O10fpngKQLzOKHNHfatlg=", + "proof": [ + "vBoGQ7EuTS18d5GPROD095qDi2z57FtcKD4fTYhZnms=", + "yoVOoSjtBQtBs1/8G4e46yveRh6eO1WW7Oa51ZdaCuA=", + "037kGJdt2VdTwcc4Yrk5j6Kiz5tP8P3+izDNlSCWFLc=" + ], + "desc": "random root", + "wantErr": true +} \ No newline at end of file diff --git a/testdata/subtreeinclusion/2/removed-component-subtree.json b/testdata/subtreeinclusion/2/removed-component-subtree.json new file mode 100644 index 00000000..44a64484 --- /dev/null +++ b/testdata/subtreeinclusion/2/removed-component-subtree.json @@ -0,0 +1,13 @@ +{ + "leafIdx": 13, + "start": 8, + "end": 16, + "root": "XcnaeacGWamtVZy3Ad7ZoqudgjqtL0lgz+Nw7/RgQyg=", + "leafHash": "QnGia+DYqE8L1UyMMC58s6O10fpngKQLzOKHNHfatlg=", + "proof": [ + "vBoGQ7EuTS18d5GPROD095qDi2z57FtcKD4fTYhZnms=", + "yoVOoSjtBQtBs1/8G4e46yveRh6eO1WW7Oa51ZdaCuA=" + ], + "desc": "removed component - subtree", + "wantErr": true +} \ No newline at end of file diff --git a/testdata/subtreeinclusion/2/removed-component.json b/testdata/subtreeinclusion/2/removed-component.json new file mode 100644 index 00000000..d64222c1 --- /dev/null +++ b/testdata/subtreeinclusion/2/removed-component.json @@ -0,0 +1,13 @@ +{ + "leafIdx": 5, + "start": 0, + "end": 8, + "root": "XcnaeacGWamtVZy3Ad7ZoqudgjqtL0lgz+Nw7/RgQyg=", + "leafHash": "QnGia+DYqE8L1UyMMC58s6O10fpngKQLzOKHNHfatlg=", + "proof": [ + "vBoGQ7EuTS18d5GPROD095qDi2z57FtcKD4fTYhZnms=", + "yoVOoSjtBQtBs1/8G4e46yveRh6eO1WW7Oa51ZdaCuA=" + ], + "desc": "removed component", + "wantErr": true +} \ No newline at end of file diff --git a/testdata/subtreeinclusion/2/trailing-garbage-subtree.json b/testdata/subtreeinclusion/2/trailing-garbage-subtree.json new file mode 100644 index 00000000..a785e629 --- /dev/null +++ b/testdata/subtreeinclusion/2/trailing-garbage-subtree.json @@ -0,0 +1,15 @@ +{ + "leafIdx": 13, + "start": 8, + "end": 16, + "root": "XcnaeacGWamtVZy3Ad7ZoqudgjqtL0lgz+Nw7/RgQyg=", + "leafHash": "QnGia+DYqE8L1UyMMC58s6O10fpngKQLzOKHNHfatlg=", + "proof": [ + "vBoGQ7EuTS18d5GPROD095qDi2z57FtcKD4fTYhZnms=", + "yoVOoSjtBQtBs1/8G4e46yveRh6eO1WW7Oa51ZdaCuA=", + "037kGJdt2VdTwcc4Yrk5j6Kiz5tP8P3+izDNlSCWFLc=", + "" + ], + "desc": "trailing garbage - subtree", + "wantErr": true +} \ No newline at end of file diff --git a/testdata/subtreeinclusion/2/trailing-garbage.json b/testdata/subtreeinclusion/2/trailing-garbage.json new file mode 100644 index 00000000..77980d03 --- /dev/null +++ b/testdata/subtreeinclusion/2/trailing-garbage.json @@ -0,0 +1,15 @@ +{ + "leafIdx": 5, + "start": 0, + "end": 8, + "root": "XcnaeacGWamtVZy3Ad7ZoqudgjqtL0lgz+Nw7/RgQyg=", + "leafHash": "QnGia+DYqE8L1UyMMC58s6O10fpngKQLzOKHNHfatlg=", + "proof": [ + "vBoGQ7EuTS18d5GPROD095qDi2z57FtcKD4fTYhZnms=", + "yoVOoSjtBQtBs1/8G4e46yveRh6eO1WW7Oa51ZdaCuA=", + "037kGJdt2VdTwcc4Yrk5j6Kiz5tP8P3+izDNlSCWFLc=", + "" + ], + "desc": "trailing garbage", + "wantErr": true +} \ No newline at end of file diff --git a/testdata/subtreeinclusion/2/trailing-root-subtree.json b/testdata/subtreeinclusion/2/trailing-root-subtree.json new file mode 100644 index 00000000..22882797 --- /dev/null +++ b/testdata/subtreeinclusion/2/trailing-root-subtree.json @@ -0,0 +1,15 @@ +{ + "leafIdx": 13, + "start": 8, + "end": 16, + "root": "XcnaeacGWamtVZy3Ad7ZoqudgjqtL0lgz+Nw7/RgQyg=", + "leafHash": "QnGia+DYqE8L1UyMMC58s6O10fpngKQLzOKHNHfatlg=", + "proof": [ + "vBoGQ7EuTS18d5GPROD095qDi2z57FtcKD4fTYhZnms=", + "yoVOoSjtBQtBs1/8G4e46yveRh6eO1WW7Oa51ZdaCuA=", + "037kGJdt2VdTwcc4Yrk5j6Kiz5tP8P3+izDNlSCWFLc=", + "XcnaeacGWamtVZy3Ad7ZoqudgjqtL0lgz+Nw7/RgQyg=" + ], + "desc": "trailing root - subtree", + "wantErr": true +} \ No newline at end of file diff --git a/testdata/subtreeinclusion/2/trailing-root.json b/testdata/subtreeinclusion/2/trailing-root.json new file mode 100644 index 00000000..2933dae5 --- /dev/null +++ b/testdata/subtreeinclusion/2/trailing-root.json @@ -0,0 +1,15 @@ +{ + "leafIdx": 5, + "start": 0, + "end": 8, + "root": "XcnaeacGWamtVZy3Ad7ZoqudgjqtL0lgz+Nw7/RgQyg=", + "leafHash": "QnGia+DYqE8L1UyMMC58s6O10fpngKQLzOKHNHfatlg=", + "proof": [ + "vBoGQ7EuTS18d5GPROD095qDi2z57FtcKD4fTYhZnms=", + "yoVOoSjtBQtBs1/8G4e46yveRh6eO1WW7Oa51ZdaCuA=", + "037kGJdt2VdTwcc4Yrk5j6Kiz5tP8P3+izDNlSCWFLc=", + "XcnaeacGWamtVZy3Ad7ZoqudgjqtL0lgz+Nw7/RgQyg=" + ], + "desc": "trailing root", + "wantErr": true +} \ No newline at end of file diff --git a/testdata/subtreeinclusion/2/treeSize-div-@2-subtree.json b/testdata/subtreeinclusion/2/treeSize-div-@2-subtree.json new file mode 100644 index 00000000..8c2b439e --- /dev/null +++ b/testdata/subtreeinclusion/2/treeSize-div-@2-subtree.json @@ -0,0 +1,14 @@ +{ + "leafIdx": 9, + "start": 4, + "end": 8, + "root": "XcnaeacGWamtVZy3Ad7ZoqudgjqtL0lgz+Nw7/RgQyg=", + "leafHash": "QnGia+DYqE8L1UyMMC58s6O10fpngKQLzOKHNHfatlg=", + "proof": [ + "vBoGQ7EuTS18d5GPROD095qDi2z57FtcKD4fTYhZnms=", + "yoVOoSjtBQtBs1/8G4e46yveRh6eO1WW7Oa51ZdaCuA=", + "037kGJdt2VdTwcc4Yrk5j6Kiz5tP8P3+izDNlSCWFLc=" + ], + "desc": "treeSize div @2 - subtree", + "wantErr": true +} \ No newline at end of file diff --git a/testdata/subtreeinclusion/2/treeSize-div-@2.json b/testdata/subtreeinclusion/2/treeSize-div-@2.json new file mode 100644 index 00000000..ae14c758 --- /dev/null +++ b/testdata/subtreeinclusion/2/treeSize-div-@2.json @@ -0,0 +1,14 @@ +{ + "leafIdx": 5, + "start": 0, + "end": 4, + "root": "XcnaeacGWamtVZy3Ad7ZoqudgjqtL0lgz+Nw7/RgQyg=", + "leafHash": "QnGia+DYqE8L1UyMMC58s6O10fpngKQLzOKHNHfatlg=", + "proof": [ + "vBoGQ7EuTS18d5GPROD095qDi2z57FtcKD4fTYhZnms=", + "yoVOoSjtBQtBs1/8G4e46yveRh6eO1WW7Oa51ZdaCuA=", + "037kGJdt2VdTwcc4Yrk5j6Kiz5tP8P3+izDNlSCWFLc=" + ], + "desc": "treeSize div @2", + "wantErr": true +} \ No newline at end of file diff --git a/testdata/subtreeinclusion/2/treeSize-mul-@2-subtree.json b/testdata/subtreeinclusion/2/treeSize-mul-@2-subtree.json new file mode 100644 index 00000000..8be8c03b --- /dev/null +++ b/testdata/subtreeinclusion/2/treeSize-mul-@2-subtree.json @@ -0,0 +1,14 @@ +{ + "leafIdx": 21, + "start": 16, + "end": 32, + "root": "XcnaeacGWamtVZy3Ad7ZoqudgjqtL0lgz+Nw7/RgQyg=", + "leafHash": "QnGia+DYqE8L1UyMMC58s6O10fpngKQLzOKHNHfatlg=", + "proof": [ + "vBoGQ7EuTS18d5GPROD095qDi2z57FtcKD4fTYhZnms=", + "yoVOoSjtBQtBs1/8G4e46yveRh6eO1WW7Oa51ZdaCuA=", + "037kGJdt2VdTwcc4Yrk5j6Kiz5tP8P3+izDNlSCWFLc=" + ], + "desc": "treeSize mul @2 - subtree", + "wantErr": true +} \ No newline at end of file diff --git a/testdata/subtreeinclusion/2/treeSize-mul-@2.json b/testdata/subtreeinclusion/2/treeSize-mul-@2.json new file mode 100644 index 00000000..b978f9b5 --- /dev/null +++ b/testdata/subtreeinclusion/2/treeSize-mul-@2.json @@ -0,0 +1,14 @@ +{ + "leafIdx": 5, + "start": 0, + "end": 16, + "root": "XcnaeacGWamtVZy3Ad7ZoqudgjqtL0lgz+Nw7/RgQyg=", + "leafHash": "QnGia+DYqE8L1UyMMC58s6O10fpngKQLzOKHNHfatlg=", + "proof": [ + "vBoGQ7EuTS18d5GPROD095qDi2z57FtcKD4fTYhZnms=", + "yoVOoSjtBQtBs1/8G4e46yveRh6eO1WW7Oa51ZdaCuA=", + "037kGJdt2VdTwcc4Yrk5j6Kiz5tP8P3+izDNlSCWFLc=" + ], + "desc": "treeSize mul @2", + "wantErr": true +} \ No newline at end of file diff --git a/testdata/subtreeinclusion/2/wrong-leaf-subtree.json b/testdata/subtreeinclusion/2/wrong-leaf-subtree.json new file mode 100644 index 00000000..25563519 --- /dev/null +++ b/testdata/subtreeinclusion/2/wrong-leaf-subtree.json @@ -0,0 +1,14 @@ +{ + "leafIdx": 13, + "start": 8, + "end": 16, + "root": "XcnaeacGWamtVZy3Ad7ZoqudgjqtL0lgz+Nw7/RgQyg=", + "leafHash": "V3JvbmdMZWFm", + "proof": [ + "vBoGQ7EuTS18d5GPROD095qDi2z57FtcKD4fTYhZnms=", + "yoVOoSjtBQtBs1/8G4e46yveRh6eO1WW7Oa51ZdaCuA=", + "037kGJdt2VdTwcc4Yrk5j6Kiz5tP8P3+izDNlSCWFLc=" + ], + "desc": "wrong leaf - subtree", + "wantErr": true +} \ No newline at end of file diff --git a/testdata/subtreeinclusion/2/wrong-leaf.json b/testdata/subtreeinclusion/2/wrong-leaf.json new file mode 100644 index 00000000..e1df8d91 --- /dev/null +++ b/testdata/subtreeinclusion/2/wrong-leaf.json @@ -0,0 +1,14 @@ +{ + "leafIdx": 5, + "start": 0, + "end": 8, + "root": "XcnaeacGWamtVZy3Ad7ZoqudgjqtL0lgz+Nw7/RgQyg=", + "leafHash": "V3JvbmdMZWFm", + "proof": [ + "vBoGQ7EuTS18d5GPROD095qDi2z57FtcKD4fTYhZnms=", + "yoVOoSjtBQtBs1/8G4e46yveRh6eO1WW7Oa51ZdaCuA=", + "037kGJdt2VdTwcc4Yrk5j6Kiz5tP8P3+izDNlSCWFLc=" + ], + "desc": "wrong leaf", + "wantErr": true +} \ No newline at end of file diff --git a/testdata/subtreeinclusion/3/empty-root-subtree.json b/testdata/subtreeinclusion/3/empty-root-subtree.json new file mode 100644 index 00000000..b093a746 --- /dev/null +++ b/testdata/subtreeinclusion/3/empty-root-subtree.json @@ -0,0 +1,12 @@ +{ + "leafIdx": 6, + "start": 4, + "end": 7, + "root": "47DEQpj8HBSa+/TImW+5JCeuQeRkm5NMpJWZG3hSuFU=", + "leafHash": "ApjRIpBtz8EIkstTpzmS/FufST6kybrbJ7eRtBJ6f+c=", + "proof": [ + "+sVCA+fMaWzw38tCySodnbr3CtnmIfS9jZhmLwDjwSU=" + ], + "desc": "empty root - subtree", + "wantErr": true +} \ No newline at end of file diff --git a/testdata/subtreeinclusion/3/empty-root.json b/testdata/subtreeinclusion/3/empty-root.json new file mode 100644 index 00000000..39f3371f --- /dev/null +++ b/testdata/subtreeinclusion/3/empty-root.json @@ -0,0 +1,12 @@ +{ + "leafIdx": 2, + "start": 0, + "end": 3, + "root": "47DEQpj8HBSa+/TImW+5JCeuQeRkm5NMpJWZG3hSuFU=", + "leafHash": "ApjRIpBtz8EIkstTpzmS/FufST6kybrbJ7eRtBJ6f+c=", + "proof": [ + "+sVCA+fMaWzw38tCySodnbr3CtnmIfS9jZhmLwDjwSU=" + ], + "desc": "empty root", + "wantErr": true +} \ No newline at end of file diff --git a/testdata/subtreeinclusion/3/happy-path-subtree.json b/testdata/subtreeinclusion/3/happy-path-subtree.json new file mode 100644 index 00000000..c333c22a --- /dev/null +++ b/testdata/subtreeinclusion/3/happy-path-subtree.json @@ -0,0 +1,12 @@ +{ + "leafIdx": 6, + "start": 4, + "end": 7, + "root": "rra8/idLcKFPsGel5VeCZNsPqbUa9eC6FZFY8yngbnc=", + "leafHash": "ApjRIpBtz8EIkstTpzmS/FufST6kybrbJ7eRtBJ6f+c=", + "proof": [ + "+sVCA+fMaWzw38tCySodnbr3CtnmIfS9jZhmLwDjwSU=" + ], + "desc": "happy path - subtree", + "wantErr": false +} \ No newline at end of file diff --git a/testdata/subtreeinclusion/3/happy-path.json b/testdata/subtreeinclusion/3/happy-path.json new file mode 100644 index 00000000..4fbef627 --- /dev/null +++ b/testdata/subtreeinclusion/3/happy-path.json @@ -0,0 +1,12 @@ +{ + "leafIdx": 2, + "start": 0, + "end": 3, + "root": "rra8/idLcKFPsGel5VeCZNsPqbUa9eC6FZFY8yngbnc=", + "leafHash": "ApjRIpBtz8EIkstTpzmS/FufST6kybrbJ7eRtBJ6f+c=", + "proof": [ + "+sVCA+fMaWzw38tCySodnbr3CtnmIfS9jZhmLwDjwSU=" + ], + "desc": "happy path", + "wantErr": false +} \ No newline at end of file diff --git a/testdata/subtreeinclusion/3/leafIdx-XOR-@2-subtree.json b/testdata/subtreeinclusion/3/leafIdx-XOR-@2-subtree.json new file mode 100644 index 00000000..d5849601 --- /dev/null +++ b/testdata/subtreeinclusion/3/leafIdx-XOR-@2-subtree.json @@ -0,0 +1,12 @@ +{ + "leafIdx": 4, + "start": 4, + "end": 7, + "root": "rra8/idLcKFPsGel5VeCZNsPqbUa9eC6FZFY8yngbnc=", + "leafHash": "ApjRIpBtz8EIkstTpzmS/FufST6kybrbJ7eRtBJ6f+c=", + "proof": [ + "+sVCA+fMaWzw38tCySodnbr3CtnmIfS9jZhmLwDjwSU=" + ], + "desc": "leafIdx XOR @2 - subtree", + "wantErr": true +} \ No newline at end of file diff --git a/testdata/subtreeinclusion/3/leafIdx-XOR-@2.json b/testdata/subtreeinclusion/3/leafIdx-XOR-@2.json new file mode 100644 index 00000000..96396f74 --- /dev/null +++ b/testdata/subtreeinclusion/3/leafIdx-XOR-@2.json @@ -0,0 +1,12 @@ +{ + "leafIdx": 0, + "start": 0, + "end": 3, + "root": "rra8/idLcKFPsGel5VeCZNsPqbUa9eC6FZFY8yngbnc=", + "leafHash": "ApjRIpBtz8EIkstTpzmS/FufST6kybrbJ7eRtBJ6f+c=", + "proof": [ + "+sVCA+fMaWzw38tCySodnbr3CtnmIfS9jZhmLwDjwSU=" + ], + "desc": "leafIdx XOR @2", + "wantErr": true +} \ No newline at end of file diff --git a/testdata/subtreeinclusion/3/leafIdx-plus-@1-subtree.json b/testdata/subtreeinclusion/3/leafIdx-plus-@1-subtree.json new file mode 100644 index 00000000..e0dec5bf --- /dev/null +++ b/testdata/subtreeinclusion/3/leafIdx-plus-@1-subtree.json @@ -0,0 +1,12 @@ +{ + "leafIdx": 7, + "start": 4, + "end": 7, + "root": "rra8/idLcKFPsGel5VeCZNsPqbUa9eC6FZFY8yngbnc=", + "leafHash": "ApjRIpBtz8EIkstTpzmS/FufST6kybrbJ7eRtBJ6f+c=", + "proof": [ + "+sVCA+fMaWzw38tCySodnbr3CtnmIfS9jZhmLwDjwSU=" + ], + "desc": "leafIdx plus @1 - subtree", + "wantErr": true +} \ No newline at end of file diff --git a/testdata/subtreeinclusion/3/leafIdx-plus-@1.json b/testdata/subtreeinclusion/3/leafIdx-plus-@1.json new file mode 100644 index 00000000..8beb0fdf --- /dev/null +++ b/testdata/subtreeinclusion/3/leafIdx-plus-@1.json @@ -0,0 +1,12 @@ +{ + "leafIdx": 3, + "start": 0, + "end": 3, + "root": "rra8/idLcKFPsGel5VeCZNsPqbUa9eC6FZFY8yngbnc=", + "leafHash": "ApjRIpBtz8EIkstTpzmS/FufST6kybrbJ7eRtBJ6f+c=", + "proof": [ + "+sVCA+fMaWzw38tCySodnbr3CtnmIfS9jZhmLwDjwSU=" + ], + "desc": "leafIdx plus @1", + "wantErr": true +} \ No newline at end of file diff --git a/testdata/subtreeinclusion/3/leafIdx-sub-@1-subtree.json b/testdata/subtreeinclusion/3/leafIdx-sub-@1-subtree.json new file mode 100644 index 00000000..7a86259e --- /dev/null +++ b/testdata/subtreeinclusion/3/leafIdx-sub-@1-subtree.json @@ -0,0 +1,12 @@ +{ + "leafIdx": 5, + "start": 4, + "end": 7, + "root": "rra8/idLcKFPsGel5VeCZNsPqbUa9eC6FZFY8yngbnc=", + "leafHash": "ApjRIpBtz8EIkstTpzmS/FufST6kybrbJ7eRtBJ6f+c=", + "proof": [ + "+sVCA+fMaWzw38tCySodnbr3CtnmIfS9jZhmLwDjwSU=" + ], + "desc": "leafIdx sub @1 - subtree", + "wantErr": true +} \ No newline at end of file diff --git a/testdata/subtreeinclusion/3/leafIdx-sub-@1.json b/testdata/subtreeinclusion/3/leafIdx-sub-@1.json new file mode 100644 index 00000000..f594d322 --- /dev/null +++ b/testdata/subtreeinclusion/3/leafIdx-sub-@1.json @@ -0,0 +1,12 @@ +{ + "leafIdx": 1, + "start": 0, + "end": 3, + "root": "rra8/idLcKFPsGel5VeCZNsPqbUa9eC6FZFY8yngbnc=", + "leafHash": "ApjRIpBtz8EIkstTpzmS/FufST6kybrbJ7eRtBJ6f+c=", + "proof": [ + "+sVCA+fMaWzw38tCySodnbr3CtnmIfS9jZhmLwDjwSU=" + ], + "desc": "leafIdx sub @1", + "wantErr": true +} \ No newline at end of file diff --git a/testdata/subtreeinclusion/3/modified-proof[0]-bit-@3-subtree.json b/testdata/subtreeinclusion/3/modified-proof[0]-bit-@3-subtree.json new file mode 100644 index 00000000..4ed6f2f3 --- /dev/null +++ b/testdata/subtreeinclusion/3/modified-proof[0]-bit-@3-subtree.json @@ -0,0 +1,12 @@ +{ + "leafIdx": 6, + "start": 4, + "end": 7, + "root": "rra8/idLcKFPsGel5VeCZNsPqbUa9eC6FZFY8yngbnc=", + "leafHash": "ApjRIpBtz8EIkstTpzmS/FufST6kybrbJ7eRtBJ6f+c=", + "proof": [ + "8sVCA+fMaWzw38tCySodnbr3CtnmIfS9jZhmLwDjwSU=" + ], + "desc": "modified proof[0] bit @3 - subtree", + "wantErr": true +} \ No newline at end of file diff --git a/testdata/subtreeinclusion/3/modified-proof[0]-bit-@3.json b/testdata/subtreeinclusion/3/modified-proof[0]-bit-@3.json new file mode 100644 index 00000000..91de8cef --- /dev/null +++ b/testdata/subtreeinclusion/3/modified-proof[0]-bit-@3.json @@ -0,0 +1,12 @@ +{ + "leafIdx": 2, + "start": 0, + "end": 3, + "root": "rra8/idLcKFPsGel5VeCZNsPqbUa9eC6FZFY8yngbnc=", + "leafHash": "ApjRIpBtz8EIkstTpzmS/FufST6kybrbJ7eRtBJ6f+c=", + "proof": [ + "8sVCA+fMaWzw38tCySodnbr3CtnmIfS9jZhmLwDjwSU=" + ], + "desc": "modified proof[0] bit @3", + "wantErr": true +} \ No newline at end of file diff --git a/testdata/subtreeinclusion/3/preceding-garbage-subtree.json b/testdata/subtreeinclusion/3/preceding-garbage-subtree.json new file mode 100644 index 00000000..4e866b33 --- /dev/null +++ b/testdata/subtreeinclusion/3/preceding-garbage-subtree.json @@ -0,0 +1,13 @@ +{ + "leafIdx": 6, + "start": 4, + "end": 7, + "root": "rra8/idLcKFPsGel5VeCZNsPqbUa9eC6FZFY8yngbnc=", + "leafHash": "ApjRIpBtz8EIkstTpzmS/FufST6kybrbJ7eRtBJ6f+c=", + "proof": [ + "", + "+sVCA+fMaWzw38tCySodnbr3CtnmIfS9jZhmLwDjwSU=" + ], + "desc": "preceding garbage - subtree", + "wantErr": true +} \ No newline at end of file diff --git a/testdata/subtreeinclusion/3/preceding-garbage.json b/testdata/subtreeinclusion/3/preceding-garbage.json new file mode 100644 index 00000000..81abe478 --- /dev/null +++ b/testdata/subtreeinclusion/3/preceding-garbage.json @@ -0,0 +1,13 @@ +{ + "leafIdx": 2, + "start": 0, + "end": 3, + "root": "rra8/idLcKFPsGel5VeCZNsPqbUa9eC6FZFY8yngbnc=", + "leafHash": "ApjRIpBtz8EIkstTpzmS/FufST6kybrbJ7eRtBJ6f+c=", + "proof": [ + "", + "+sVCA+fMaWzw38tCySodnbr3CtnmIfS9jZhmLwDjwSU=" + ], + "desc": "preceding garbage", + "wantErr": true +} \ No newline at end of file diff --git a/testdata/subtreeinclusion/3/preceding-root-subtree.json b/testdata/subtreeinclusion/3/preceding-root-subtree.json new file mode 100644 index 00000000..6d8be690 --- /dev/null +++ b/testdata/subtreeinclusion/3/preceding-root-subtree.json @@ -0,0 +1,13 @@ +{ + "leafIdx": 6, + "start": 4, + "end": 7, + "root": "rra8/idLcKFPsGel5VeCZNsPqbUa9eC6FZFY8yngbnc=", + "leafHash": "ApjRIpBtz8EIkstTpzmS/FufST6kybrbJ7eRtBJ6f+c=", + "proof": [ + "rra8/idLcKFPsGel5VeCZNsPqbUa9eC6FZFY8yngbnc=", + "+sVCA+fMaWzw38tCySodnbr3CtnmIfS9jZhmLwDjwSU=" + ], + "desc": "preceding root - subtree", + "wantErr": true +} \ No newline at end of file diff --git a/testdata/subtreeinclusion/3/preceding-root.json b/testdata/subtreeinclusion/3/preceding-root.json new file mode 100644 index 00000000..30abc8d1 --- /dev/null +++ b/testdata/subtreeinclusion/3/preceding-root.json @@ -0,0 +1,13 @@ +{ + "leafIdx": 2, + "start": 0, + "end": 3, + "root": "rra8/idLcKFPsGel5VeCZNsPqbUa9eC6FZFY8yngbnc=", + "leafHash": "ApjRIpBtz8EIkstTpzmS/FufST6kybrbJ7eRtBJ6f+c=", + "proof": [ + "rra8/idLcKFPsGel5VeCZNsPqbUa9eC6FZFY8yngbnc=", + "+sVCA+fMaWzw38tCySodnbr3CtnmIfS9jZhmLwDjwSU=" + ], + "desc": "preceding root", + "wantErr": true +} \ No newline at end of file diff --git a/testdata/subtreeinclusion/3/random-root-subtree.json b/testdata/subtreeinclusion/3/random-root-subtree.json new file mode 100644 index 00000000..2b895a32 --- /dev/null +++ b/testdata/subtreeinclusion/3/random-root-subtree.json @@ -0,0 +1,12 @@ +{ + "leafIdx": 6, + "start": 4, + "end": 7, + "root": "q6yroAAAAAAAAAAAAAAAAAAAAAAAAAAAAGAGHgASNFY=", + "leafHash": "ApjRIpBtz8EIkstTpzmS/FufST6kybrbJ7eRtBJ6f+c=", + "proof": [ + "+sVCA+fMaWzw38tCySodnbr3CtnmIfS9jZhmLwDjwSU=" + ], + "desc": "random root - subtree", + "wantErr": true +} \ No newline at end of file diff --git a/testdata/subtreeinclusion/3/random-root.json b/testdata/subtreeinclusion/3/random-root.json new file mode 100644 index 00000000..011d0dde --- /dev/null +++ b/testdata/subtreeinclusion/3/random-root.json @@ -0,0 +1,12 @@ +{ + "leafIdx": 2, + "start": 0, + "end": 3, + "root": "q6yroAAAAAAAAAAAAAAAAAAAAAAAAAAAAGAGHgASNFY=", + "leafHash": "ApjRIpBtz8EIkstTpzmS/FufST6kybrbJ7eRtBJ6f+c=", + "proof": [ + "+sVCA+fMaWzw38tCySodnbr3CtnmIfS9jZhmLwDjwSU=" + ], + "desc": "random root", + "wantErr": true +} \ No newline at end of file diff --git a/testdata/subtreeinclusion/3/removed-component-subtree.json b/testdata/subtreeinclusion/3/removed-component-subtree.json new file mode 100644 index 00000000..20c5cc42 --- /dev/null +++ b/testdata/subtreeinclusion/3/removed-component-subtree.json @@ -0,0 +1,10 @@ +{ + "leafIdx": 6, + "start": 4, + "end": 7, + "root": "rra8/idLcKFPsGel5VeCZNsPqbUa9eC6FZFY8yngbnc=", + "leafHash": "ApjRIpBtz8EIkstTpzmS/FufST6kybrbJ7eRtBJ6f+c=", + "proof": [], + "desc": "removed component - subtree", + "wantErr": true +} \ No newline at end of file diff --git a/testdata/subtreeinclusion/3/removed-component.json b/testdata/subtreeinclusion/3/removed-component.json new file mode 100644 index 00000000..2f372659 --- /dev/null +++ b/testdata/subtreeinclusion/3/removed-component.json @@ -0,0 +1,10 @@ +{ + "leafIdx": 2, + "start": 0, + "end": 3, + "root": "rra8/idLcKFPsGel5VeCZNsPqbUa9eC6FZFY8yngbnc=", + "leafHash": "ApjRIpBtz8EIkstTpzmS/FufST6kybrbJ7eRtBJ6f+c=", + "proof": [], + "desc": "removed component", + "wantErr": true +} \ No newline at end of file diff --git a/testdata/subtreeinclusion/3/trailing-garbage-subtree.json b/testdata/subtreeinclusion/3/trailing-garbage-subtree.json new file mode 100644 index 00000000..27613e3e --- /dev/null +++ b/testdata/subtreeinclusion/3/trailing-garbage-subtree.json @@ -0,0 +1,13 @@ +{ + "leafIdx": 6, + "start": 4, + "end": 7, + "root": "rra8/idLcKFPsGel5VeCZNsPqbUa9eC6FZFY8yngbnc=", + "leafHash": "ApjRIpBtz8EIkstTpzmS/FufST6kybrbJ7eRtBJ6f+c=", + "proof": [ + "+sVCA+fMaWzw38tCySodnbr3CtnmIfS9jZhmLwDjwSU=", + "" + ], + "desc": "trailing garbage - subtree", + "wantErr": true +} \ No newline at end of file diff --git a/testdata/subtreeinclusion/3/trailing-garbage.json b/testdata/subtreeinclusion/3/trailing-garbage.json new file mode 100644 index 00000000..7f8f8dff --- /dev/null +++ b/testdata/subtreeinclusion/3/trailing-garbage.json @@ -0,0 +1,13 @@ +{ + "leafIdx": 2, + "start": 0, + "end": 3, + "root": "rra8/idLcKFPsGel5VeCZNsPqbUa9eC6FZFY8yngbnc=", + "leafHash": "ApjRIpBtz8EIkstTpzmS/FufST6kybrbJ7eRtBJ6f+c=", + "proof": [ + "+sVCA+fMaWzw38tCySodnbr3CtnmIfS9jZhmLwDjwSU=", + "" + ], + "desc": "trailing garbage", + "wantErr": true +} \ No newline at end of file diff --git a/testdata/subtreeinclusion/3/trailing-root-subtree.json b/testdata/subtreeinclusion/3/trailing-root-subtree.json new file mode 100644 index 00000000..14db61b9 --- /dev/null +++ b/testdata/subtreeinclusion/3/trailing-root-subtree.json @@ -0,0 +1,13 @@ +{ + "leafIdx": 6, + "start": 4, + "end": 7, + "root": "rra8/idLcKFPsGel5VeCZNsPqbUa9eC6FZFY8yngbnc=", + "leafHash": "ApjRIpBtz8EIkstTpzmS/FufST6kybrbJ7eRtBJ6f+c=", + "proof": [ + "+sVCA+fMaWzw38tCySodnbr3CtnmIfS9jZhmLwDjwSU=", + "rra8/idLcKFPsGel5VeCZNsPqbUa9eC6FZFY8yngbnc=" + ], + "desc": "trailing root - subtree", + "wantErr": true +} \ No newline at end of file diff --git a/testdata/subtreeinclusion/3/trailing-root.json b/testdata/subtreeinclusion/3/trailing-root.json new file mode 100644 index 00000000..c307e470 --- /dev/null +++ b/testdata/subtreeinclusion/3/trailing-root.json @@ -0,0 +1,13 @@ +{ + "leafIdx": 2, + "start": 0, + "end": 3, + "root": "rra8/idLcKFPsGel5VeCZNsPqbUa9eC6FZFY8yngbnc=", + "leafHash": "ApjRIpBtz8EIkstTpzmS/FufST6kybrbJ7eRtBJ6f+c=", + "proof": [ + "+sVCA+fMaWzw38tCySodnbr3CtnmIfS9jZhmLwDjwSU=", + "rra8/idLcKFPsGel5VeCZNsPqbUa9eC6FZFY8yngbnc=" + ], + "desc": "trailing root", + "wantErr": true +} \ No newline at end of file diff --git a/testdata/subtreeinclusion/3/treeSize-div-@2-subtree.json b/testdata/subtreeinclusion/3/treeSize-div-@2-subtree.json new file mode 100644 index 00000000..523bb382 --- /dev/null +++ b/testdata/subtreeinclusion/3/treeSize-div-@2-subtree.json @@ -0,0 +1,12 @@ +{ + "leafIdx": 3, + "start": 1, + "end": 2, + "root": "rra8/idLcKFPsGel5VeCZNsPqbUa9eC6FZFY8yngbnc=", + "leafHash": "ApjRIpBtz8EIkstTpzmS/FufST6kybrbJ7eRtBJ6f+c=", + "proof": [ + "+sVCA+fMaWzw38tCySodnbr3CtnmIfS9jZhmLwDjwSU=" + ], + "desc": "treeSize div @2 - subtree", + "wantErr": true +} \ No newline at end of file diff --git a/testdata/subtreeinclusion/3/treeSize-div-@2.json b/testdata/subtreeinclusion/3/treeSize-div-@2.json new file mode 100644 index 00000000..49e67c67 --- /dev/null +++ b/testdata/subtreeinclusion/3/treeSize-div-@2.json @@ -0,0 +1,12 @@ +{ + "leafIdx": 2, + "start": 0, + "end": 1, + "root": "rra8/idLcKFPsGel5VeCZNsPqbUa9eC6FZFY8yngbnc=", + "leafHash": "ApjRIpBtz8EIkstTpzmS/FufST6kybrbJ7eRtBJ6f+c=", + "proof": [ + "+sVCA+fMaWzw38tCySodnbr3CtnmIfS9jZhmLwDjwSU=" + ], + "desc": "treeSize div @2", + "wantErr": true +} \ No newline at end of file diff --git a/testdata/subtreeinclusion/3/treeSize-mul-@2-subtree.json b/testdata/subtreeinclusion/3/treeSize-mul-@2-subtree.json new file mode 100644 index 00000000..fa2fdf42 --- /dev/null +++ b/testdata/subtreeinclusion/3/treeSize-mul-@2-subtree.json @@ -0,0 +1,12 @@ +{ + "leafIdx": 10, + "start": 8, + "end": 14, + "root": "rra8/idLcKFPsGel5VeCZNsPqbUa9eC6FZFY8yngbnc=", + "leafHash": "ApjRIpBtz8EIkstTpzmS/FufST6kybrbJ7eRtBJ6f+c=", + "proof": [ + "+sVCA+fMaWzw38tCySodnbr3CtnmIfS9jZhmLwDjwSU=" + ], + "desc": "treeSize mul @2 - subtree", + "wantErr": true +} \ No newline at end of file diff --git a/testdata/subtreeinclusion/3/treeSize-mul-@2.json b/testdata/subtreeinclusion/3/treeSize-mul-@2.json new file mode 100644 index 00000000..f36f368f --- /dev/null +++ b/testdata/subtreeinclusion/3/treeSize-mul-@2.json @@ -0,0 +1,12 @@ +{ + "leafIdx": 2, + "start": 0, + "end": 6, + "root": "rra8/idLcKFPsGel5VeCZNsPqbUa9eC6FZFY8yngbnc=", + "leafHash": "ApjRIpBtz8EIkstTpzmS/FufST6kybrbJ7eRtBJ6f+c=", + "proof": [ + "+sVCA+fMaWzw38tCySodnbr3CtnmIfS9jZhmLwDjwSU=" + ], + "desc": "treeSize mul @2", + "wantErr": true +} \ No newline at end of file diff --git a/testdata/subtreeinclusion/3/wrong-leaf-subtree.json b/testdata/subtreeinclusion/3/wrong-leaf-subtree.json new file mode 100644 index 00000000..f21df94d --- /dev/null +++ b/testdata/subtreeinclusion/3/wrong-leaf-subtree.json @@ -0,0 +1,12 @@ +{ + "leafIdx": 6, + "start": 4, + "end": 7, + "root": "rra8/idLcKFPsGel5VeCZNsPqbUa9eC6FZFY8yngbnc=", + "leafHash": "V3JvbmdMZWFm", + "proof": [ + "+sVCA+fMaWzw38tCySodnbr3CtnmIfS9jZhmLwDjwSU=" + ], + "desc": "wrong leaf - subtree", + "wantErr": true +} \ No newline at end of file diff --git a/testdata/subtreeinclusion/3/wrong-leaf.json b/testdata/subtreeinclusion/3/wrong-leaf.json new file mode 100644 index 00000000..cf85f5f0 --- /dev/null +++ b/testdata/subtreeinclusion/3/wrong-leaf.json @@ -0,0 +1,12 @@ +{ + "leafIdx": 2, + "start": 0, + "end": 3, + "root": "rra8/idLcKFPsGel5VeCZNsPqbUa9eC6FZFY8yngbnc=", + "leafHash": "V3JvbmdMZWFm", + "proof": [ + "+sVCA+fMaWzw38tCySodnbr3CtnmIfS9jZhmLwDjwSU=" + ], + "desc": "wrong leaf", + "wantErr": true +} \ No newline at end of file diff --git a/testdata/subtreeinclusion/4/empty-root-subtree.json b/testdata/subtreeinclusion/4/empty-root-subtree.json new file mode 100644 index 00000000..9a4520a1 --- /dev/null +++ b/testdata/subtreeinclusion/4/empty-root-subtree.json @@ -0,0 +1,14 @@ +{ + "leafIdx": 9, + "start": 8, + "end": 13, + "root": "47DEQpj8HBSa+/TImW+5JCeuQeRkm5NMpJWZG3hSuFU=", + "leafHash": "lqKW0iTyhcZ77pPDD4owkVfw2qNdxbh+QQt4YwoJz8c=", + "proof": [ + "bjQLnP+zepicpUTmu3gKLHiQHT+zNzh2hRGjBhevoB0=", + "Xwg/ChozygdqlSeYMlgNs+DvRYS9/x9UyKNg9Q3jAx4=", + "vBoGQ7EuTS18d5GPROD095qDi2z57FtcKD4fTYhZnms=" + ], + "desc": "empty root - subtree", + "wantErr": true +} \ No newline at end of file diff --git a/testdata/subtreeinclusion/4/empty-root.json b/testdata/subtreeinclusion/4/empty-root.json new file mode 100644 index 00000000..d2c4c977 --- /dev/null +++ b/testdata/subtreeinclusion/4/empty-root.json @@ -0,0 +1,14 @@ +{ + "leafIdx": 1, + "start": 0, + "end": 5, + "root": "47DEQpj8HBSa+/TImW+5JCeuQeRkm5NMpJWZG3hSuFU=", + "leafHash": "lqKW0iTyhcZ77pPDD4owkVfw2qNdxbh+QQt4YwoJz8c=", + "proof": [ + "bjQLnP+zepicpUTmu3gKLHiQHT+zNzh2hRGjBhevoB0=", + "Xwg/ChozygdqlSeYMlgNs+DvRYS9/x9UyKNg9Q3jAx4=", + "vBoGQ7EuTS18d5GPROD095qDi2z57FtcKD4fTYhZnms=" + ], + "desc": "empty root", + "wantErr": true +} \ No newline at end of file diff --git a/testdata/subtreeinclusion/4/happy-path-subtree.json b/testdata/subtreeinclusion/4/happy-path-subtree.json new file mode 100644 index 00000000..9f07888c --- /dev/null +++ b/testdata/subtreeinclusion/4/happy-path-subtree.json @@ -0,0 +1,14 @@ +{ + "leafIdx": 9, + "start": 8, + "end": 13, + "root": "Tju7H3tHjc/nH7YxYxUZo7yhLJrvyhYSv85ME6hiZNQ=", + "leafHash": "lqKW0iTyhcZ77pPDD4owkVfw2qNdxbh+QQt4YwoJz8c=", + "proof": [ + "bjQLnP+zepicpUTmu3gKLHiQHT+zNzh2hRGjBhevoB0=", + "Xwg/ChozygdqlSeYMlgNs+DvRYS9/x9UyKNg9Q3jAx4=", + "vBoGQ7EuTS18d5GPROD095qDi2z57FtcKD4fTYhZnms=" + ], + "desc": "happy path - subtree", + "wantErr": false +} \ No newline at end of file diff --git a/testdata/subtreeinclusion/4/happy-path.json b/testdata/subtreeinclusion/4/happy-path.json new file mode 100644 index 00000000..7567485e --- /dev/null +++ b/testdata/subtreeinclusion/4/happy-path.json @@ -0,0 +1,14 @@ +{ + "leafIdx": 1, + "start": 0, + "end": 5, + "root": "Tju7H3tHjc/nH7YxYxUZo7yhLJrvyhYSv85ME6hiZNQ=", + "leafHash": "lqKW0iTyhcZ77pPDD4owkVfw2qNdxbh+QQt4YwoJz8c=", + "proof": [ + "bjQLnP+zepicpUTmu3gKLHiQHT+zNzh2hRGjBhevoB0=", + "Xwg/ChozygdqlSeYMlgNs+DvRYS9/x9UyKNg9Q3jAx4=", + "vBoGQ7EuTS18d5GPROD095qDi2z57FtcKD4fTYhZnms=" + ], + "desc": "happy path", + "wantErr": false +} \ No newline at end of file diff --git a/testdata/subtreeinclusion/4/inserted-component-subtree.json b/testdata/subtreeinclusion/4/inserted-component-subtree.json new file mode 100644 index 00000000..e96502fa --- /dev/null +++ b/testdata/subtreeinclusion/4/inserted-component-subtree.json @@ -0,0 +1,15 @@ +{ + "leafIdx": 9, + "start": 8, + "end": 13, + "root": "Tju7H3tHjc/nH7YxYxUZo7yhLJrvyhYSv85ME6hiZNQ=", + "leafHash": "lqKW0iTyhcZ77pPDD4owkVfw2qNdxbh+QQt4YwoJz8c=", + "proof": [ + "bjQLnP+zepicpUTmu3gKLHiQHT+zNzh2hRGjBhevoB0=", + "q6yroAAAAAAAAAAAAAAAAAAAAAAAAAAAAGAGHgASNFY=", + "Xwg/ChozygdqlSeYMlgNs+DvRYS9/x9UyKNg9Q3jAx4=", + "vBoGQ7EuTS18d5GPROD095qDi2z57FtcKD4fTYhZnms=" + ], + "desc": "inserted component - subtree", + "wantErr": true +} \ No newline at end of file diff --git a/testdata/subtreeinclusion/4/inserted-component.json b/testdata/subtreeinclusion/4/inserted-component.json new file mode 100644 index 00000000..2f78b4e4 --- /dev/null +++ b/testdata/subtreeinclusion/4/inserted-component.json @@ -0,0 +1,15 @@ +{ + "leafIdx": 1, + "start": 0, + "end": 5, + "root": "Tju7H3tHjc/nH7YxYxUZo7yhLJrvyhYSv85ME6hiZNQ=", + "leafHash": "lqKW0iTyhcZ77pPDD4owkVfw2qNdxbh+QQt4YwoJz8c=", + "proof": [ + "bjQLnP+zepicpUTmu3gKLHiQHT+zNzh2hRGjBhevoB0=", + "q6yroAAAAAAAAAAAAAAAAAAAAAAAAAAAAGAGHgASNFY=", + "Xwg/ChozygdqlSeYMlgNs+DvRYS9/x9UyKNg9Q3jAx4=", + "vBoGQ7EuTS18d5GPROD095qDi2z57FtcKD4fTYhZnms=" + ], + "desc": "inserted component", + "wantErr": true +} \ No newline at end of file diff --git a/testdata/subtreeinclusion/4/leafIdx-XOR-@2-subtree.json b/testdata/subtreeinclusion/4/leafIdx-XOR-@2-subtree.json new file mode 100644 index 00000000..2ff17104 --- /dev/null +++ b/testdata/subtreeinclusion/4/leafIdx-XOR-@2-subtree.json @@ -0,0 +1,14 @@ +{ + "leafIdx": 11, + "start": 8, + "end": 13, + "root": "Tju7H3tHjc/nH7YxYxUZo7yhLJrvyhYSv85ME6hiZNQ=", + "leafHash": "lqKW0iTyhcZ77pPDD4owkVfw2qNdxbh+QQt4YwoJz8c=", + "proof": [ + "bjQLnP+zepicpUTmu3gKLHiQHT+zNzh2hRGjBhevoB0=", + "Xwg/ChozygdqlSeYMlgNs+DvRYS9/x9UyKNg9Q3jAx4=", + "vBoGQ7EuTS18d5GPROD095qDi2z57FtcKD4fTYhZnms=" + ], + "desc": "leafIdx XOR @2 - subtree", + "wantErr": true +} \ No newline at end of file diff --git a/testdata/subtreeinclusion/4/leafIdx-XOR-@2.json b/testdata/subtreeinclusion/4/leafIdx-XOR-@2.json new file mode 100644 index 00000000..f55b1d1b --- /dev/null +++ b/testdata/subtreeinclusion/4/leafIdx-XOR-@2.json @@ -0,0 +1,14 @@ +{ + "leafIdx": 3, + "start": 0, + "end": 5, + "root": "Tju7H3tHjc/nH7YxYxUZo7yhLJrvyhYSv85ME6hiZNQ=", + "leafHash": "lqKW0iTyhcZ77pPDD4owkVfw2qNdxbh+QQt4YwoJz8c=", + "proof": [ + "bjQLnP+zepicpUTmu3gKLHiQHT+zNzh2hRGjBhevoB0=", + "Xwg/ChozygdqlSeYMlgNs+DvRYS9/x9UyKNg9Q3jAx4=", + "vBoGQ7EuTS18d5GPROD095qDi2z57FtcKD4fTYhZnms=" + ], + "desc": "leafIdx XOR @2", + "wantErr": true +} \ No newline at end of file diff --git a/testdata/subtreeinclusion/4/leafIdx-plus-@1-subtree.json b/testdata/subtreeinclusion/4/leafIdx-plus-@1-subtree.json new file mode 100644 index 00000000..2b53885f --- /dev/null +++ b/testdata/subtreeinclusion/4/leafIdx-plus-@1-subtree.json @@ -0,0 +1,14 @@ +{ + "leafIdx": 10, + "start": 8, + "end": 13, + "root": "Tju7H3tHjc/nH7YxYxUZo7yhLJrvyhYSv85ME6hiZNQ=", + "leafHash": "lqKW0iTyhcZ77pPDD4owkVfw2qNdxbh+QQt4YwoJz8c=", + "proof": [ + "bjQLnP+zepicpUTmu3gKLHiQHT+zNzh2hRGjBhevoB0=", + "Xwg/ChozygdqlSeYMlgNs+DvRYS9/x9UyKNg9Q3jAx4=", + "vBoGQ7EuTS18d5GPROD095qDi2z57FtcKD4fTYhZnms=" + ], + "desc": "leafIdx plus @1 - subtree", + "wantErr": true +} \ No newline at end of file diff --git a/testdata/subtreeinclusion/4/leafIdx-plus-@1.json b/testdata/subtreeinclusion/4/leafIdx-plus-@1.json new file mode 100644 index 00000000..ec646aff --- /dev/null +++ b/testdata/subtreeinclusion/4/leafIdx-plus-@1.json @@ -0,0 +1,14 @@ +{ + "leafIdx": 2, + "start": 0, + "end": 5, + "root": "Tju7H3tHjc/nH7YxYxUZo7yhLJrvyhYSv85ME6hiZNQ=", + "leafHash": "lqKW0iTyhcZ77pPDD4owkVfw2qNdxbh+QQt4YwoJz8c=", + "proof": [ + "bjQLnP+zepicpUTmu3gKLHiQHT+zNzh2hRGjBhevoB0=", + "Xwg/ChozygdqlSeYMlgNs+DvRYS9/x9UyKNg9Q3jAx4=", + "vBoGQ7EuTS18d5GPROD095qDi2z57FtcKD4fTYhZnms=" + ], + "desc": "leafIdx plus @1", + "wantErr": true +} \ No newline at end of file diff --git a/testdata/subtreeinclusion/4/leafIdx-sub-@1-subtree.json b/testdata/subtreeinclusion/4/leafIdx-sub-@1-subtree.json new file mode 100644 index 00000000..5beaf821 --- /dev/null +++ b/testdata/subtreeinclusion/4/leafIdx-sub-@1-subtree.json @@ -0,0 +1,14 @@ +{ + "leafIdx": 8, + "start": 8, + "end": 13, + "root": "Tju7H3tHjc/nH7YxYxUZo7yhLJrvyhYSv85ME6hiZNQ=", + "leafHash": "lqKW0iTyhcZ77pPDD4owkVfw2qNdxbh+QQt4YwoJz8c=", + "proof": [ + "bjQLnP+zepicpUTmu3gKLHiQHT+zNzh2hRGjBhevoB0=", + "Xwg/ChozygdqlSeYMlgNs+DvRYS9/x9UyKNg9Q3jAx4=", + "vBoGQ7EuTS18d5GPROD095qDi2z57FtcKD4fTYhZnms=" + ], + "desc": "leafIdx sub @1 - subtree", + "wantErr": true +} \ No newline at end of file diff --git a/testdata/subtreeinclusion/4/leafIdx-sub-@1.json b/testdata/subtreeinclusion/4/leafIdx-sub-@1.json new file mode 100644 index 00000000..efe0ab84 --- /dev/null +++ b/testdata/subtreeinclusion/4/leafIdx-sub-@1.json @@ -0,0 +1,14 @@ +{ + "leafIdx": 0, + "start": 0, + "end": 5, + "root": "Tju7H3tHjc/nH7YxYxUZo7yhLJrvyhYSv85ME6hiZNQ=", + "leafHash": "lqKW0iTyhcZ77pPDD4owkVfw2qNdxbh+QQt4YwoJz8c=", + "proof": [ + "bjQLnP+zepicpUTmu3gKLHiQHT+zNzh2hRGjBhevoB0=", + "Xwg/ChozygdqlSeYMlgNs+DvRYS9/x9UyKNg9Q3jAx4=", + "vBoGQ7EuTS18d5GPROD095qDi2z57FtcKD4fTYhZnms=" + ], + "desc": "leafIdx sub @1", + "wantErr": true +} \ No newline at end of file diff --git a/testdata/subtreeinclusion/4/modified-proof[0]-bit-@3-subtree.json b/testdata/subtreeinclusion/4/modified-proof[0]-bit-@3-subtree.json new file mode 100644 index 00000000..195c92d4 --- /dev/null +++ b/testdata/subtreeinclusion/4/modified-proof[0]-bit-@3-subtree.json @@ -0,0 +1,14 @@ +{ + "leafIdx": 9, + "start": 8, + "end": 13, + "root": "Tju7H3tHjc/nH7YxYxUZo7yhLJrvyhYSv85ME6hiZNQ=", + "leafHash": "lqKW0iTyhcZ77pPDD4owkVfw2qNdxbh+QQt4YwoJz8c=", + "proof": [ + "ZjQLnP+zepicpUTmu3gKLHiQHT+zNzh2hRGjBhevoB0=", + "Xwg/ChozygdqlSeYMlgNs+DvRYS9/x9UyKNg9Q3jAx4=", + "vBoGQ7EuTS18d5GPROD095qDi2z57FtcKD4fTYhZnms=" + ], + "desc": "modified proof[0] bit @3 - subtree", + "wantErr": true +} \ No newline at end of file diff --git a/testdata/subtreeinclusion/4/modified-proof[0]-bit-@3.json b/testdata/subtreeinclusion/4/modified-proof[0]-bit-@3.json new file mode 100644 index 00000000..3a29c339 --- /dev/null +++ b/testdata/subtreeinclusion/4/modified-proof[0]-bit-@3.json @@ -0,0 +1,14 @@ +{ + "leafIdx": 1, + "start": 0, + "end": 5, + "root": "Tju7H3tHjc/nH7YxYxUZo7yhLJrvyhYSv85ME6hiZNQ=", + "leafHash": "lqKW0iTyhcZ77pPDD4owkVfw2qNdxbh+QQt4YwoJz8c=", + "proof": [ + "ZjQLnP+zepicpUTmu3gKLHiQHT+zNzh2hRGjBhevoB0=", + "Xwg/ChozygdqlSeYMlgNs+DvRYS9/x9UyKNg9Q3jAx4=", + "vBoGQ7EuTS18d5GPROD095qDi2z57FtcKD4fTYhZnms=" + ], + "desc": "modified proof[0] bit @3", + "wantErr": true +} \ No newline at end of file diff --git a/testdata/subtreeinclusion/4/modified-proof[1]-bit-@3-subtree.json b/testdata/subtreeinclusion/4/modified-proof[1]-bit-@3-subtree.json new file mode 100644 index 00000000..6e7cedaa --- /dev/null +++ b/testdata/subtreeinclusion/4/modified-proof[1]-bit-@3-subtree.json @@ -0,0 +1,14 @@ +{ + "leafIdx": 9, + "start": 8, + "end": 13, + "root": "Tju7H3tHjc/nH7YxYxUZo7yhLJrvyhYSv85ME6hiZNQ=", + "leafHash": "lqKW0iTyhcZ77pPDD4owkVfw2qNdxbh+QQt4YwoJz8c=", + "proof": [ + "bjQLnP+zepicpUTmu3gKLHiQHT+zNzh2hRGjBhevoB0=", + "Vwg/ChozygdqlSeYMlgNs+DvRYS9/x9UyKNg9Q3jAx4=", + "vBoGQ7EuTS18d5GPROD095qDi2z57FtcKD4fTYhZnms=" + ], + "desc": "modified proof[1] bit @3 - subtree", + "wantErr": true +} \ No newline at end of file diff --git a/testdata/subtreeinclusion/4/modified-proof[1]-bit-@3.json b/testdata/subtreeinclusion/4/modified-proof[1]-bit-@3.json new file mode 100644 index 00000000..50da5406 --- /dev/null +++ b/testdata/subtreeinclusion/4/modified-proof[1]-bit-@3.json @@ -0,0 +1,14 @@ +{ + "leafIdx": 1, + "start": 0, + "end": 5, + "root": "Tju7H3tHjc/nH7YxYxUZo7yhLJrvyhYSv85ME6hiZNQ=", + "leafHash": "lqKW0iTyhcZ77pPDD4owkVfw2qNdxbh+QQt4YwoJz8c=", + "proof": [ + "bjQLnP+zepicpUTmu3gKLHiQHT+zNzh2hRGjBhevoB0=", + "Vwg/ChozygdqlSeYMlgNs+DvRYS9/x9UyKNg9Q3jAx4=", + "vBoGQ7EuTS18d5GPROD095qDi2z57FtcKD4fTYhZnms=" + ], + "desc": "modified proof[1] bit @3", + "wantErr": true +} \ No newline at end of file diff --git a/testdata/subtreeinclusion/4/modified-proof[2]-bit-@3-subtree.json b/testdata/subtreeinclusion/4/modified-proof[2]-bit-@3-subtree.json new file mode 100644 index 00000000..29fc17aa --- /dev/null +++ b/testdata/subtreeinclusion/4/modified-proof[2]-bit-@3-subtree.json @@ -0,0 +1,14 @@ +{ + "leafIdx": 9, + "start": 8, + "end": 13, + "root": "Tju7H3tHjc/nH7YxYxUZo7yhLJrvyhYSv85ME6hiZNQ=", + "leafHash": "lqKW0iTyhcZ77pPDD4owkVfw2qNdxbh+QQt4YwoJz8c=", + "proof": [ + "bjQLnP+zepicpUTmu3gKLHiQHT+zNzh2hRGjBhevoB0=", + "Xwg/ChozygdqlSeYMlgNs+DvRYS9/x9UyKNg9Q3jAx4=", + "tBoGQ7EuTS18d5GPROD095qDi2z57FtcKD4fTYhZnms=" + ], + "desc": "modified proof[2] bit @3 - subtree", + "wantErr": true +} \ No newline at end of file diff --git a/testdata/subtreeinclusion/4/modified-proof[2]-bit-@3.json b/testdata/subtreeinclusion/4/modified-proof[2]-bit-@3.json new file mode 100644 index 00000000..e1b79dcc --- /dev/null +++ b/testdata/subtreeinclusion/4/modified-proof[2]-bit-@3.json @@ -0,0 +1,14 @@ +{ + "leafIdx": 1, + "start": 0, + "end": 5, + "root": "Tju7H3tHjc/nH7YxYxUZo7yhLJrvyhYSv85ME6hiZNQ=", + "leafHash": "lqKW0iTyhcZ77pPDD4owkVfw2qNdxbh+QQt4YwoJz8c=", + "proof": [ + "bjQLnP+zepicpUTmu3gKLHiQHT+zNzh2hRGjBhevoB0=", + "Xwg/ChozygdqlSeYMlgNs+DvRYS9/x9UyKNg9Q3jAx4=", + "tBoGQ7EuTS18d5GPROD095qDi2z57FtcKD4fTYhZnms=" + ], + "desc": "modified proof[2] bit @3", + "wantErr": true +} \ No newline at end of file diff --git a/testdata/subtreeinclusion/4/preceding-garbage-subtree.json b/testdata/subtreeinclusion/4/preceding-garbage-subtree.json new file mode 100644 index 00000000..81381436 --- /dev/null +++ b/testdata/subtreeinclusion/4/preceding-garbage-subtree.json @@ -0,0 +1,15 @@ +{ + "leafIdx": 9, + "start": 8, + "end": 13, + "root": "Tju7H3tHjc/nH7YxYxUZo7yhLJrvyhYSv85ME6hiZNQ=", + "leafHash": "lqKW0iTyhcZ77pPDD4owkVfw2qNdxbh+QQt4YwoJz8c=", + "proof": [ + "", + "bjQLnP+zepicpUTmu3gKLHiQHT+zNzh2hRGjBhevoB0=", + "Xwg/ChozygdqlSeYMlgNs+DvRYS9/x9UyKNg9Q3jAx4=", + "vBoGQ7EuTS18d5GPROD095qDi2z57FtcKD4fTYhZnms=" + ], + "desc": "preceding garbage - subtree", + "wantErr": true +} \ No newline at end of file diff --git a/testdata/subtreeinclusion/4/preceding-garbage.json b/testdata/subtreeinclusion/4/preceding-garbage.json new file mode 100644 index 00000000..c3a1342d --- /dev/null +++ b/testdata/subtreeinclusion/4/preceding-garbage.json @@ -0,0 +1,15 @@ +{ + "leafIdx": 1, + "start": 0, + "end": 5, + "root": "Tju7H3tHjc/nH7YxYxUZo7yhLJrvyhYSv85ME6hiZNQ=", + "leafHash": "lqKW0iTyhcZ77pPDD4owkVfw2qNdxbh+QQt4YwoJz8c=", + "proof": [ + "", + "bjQLnP+zepicpUTmu3gKLHiQHT+zNzh2hRGjBhevoB0=", + "Xwg/ChozygdqlSeYMlgNs+DvRYS9/x9UyKNg9Q3jAx4=", + "vBoGQ7EuTS18d5GPROD095qDi2z57FtcKD4fTYhZnms=" + ], + "desc": "preceding garbage", + "wantErr": true +} \ No newline at end of file diff --git a/testdata/subtreeinclusion/4/preceding-root-subtree.json b/testdata/subtreeinclusion/4/preceding-root-subtree.json new file mode 100644 index 00000000..49b5d94c --- /dev/null +++ b/testdata/subtreeinclusion/4/preceding-root-subtree.json @@ -0,0 +1,15 @@ +{ + "leafIdx": 9, + "start": 8, + "end": 13, + "root": "Tju7H3tHjc/nH7YxYxUZo7yhLJrvyhYSv85ME6hiZNQ=", + "leafHash": "lqKW0iTyhcZ77pPDD4owkVfw2qNdxbh+QQt4YwoJz8c=", + "proof": [ + "Tju7H3tHjc/nH7YxYxUZo7yhLJrvyhYSv85ME6hiZNQ=", + "bjQLnP+zepicpUTmu3gKLHiQHT+zNzh2hRGjBhevoB0=", + "Xwg/ChozygdqlSeYMlgNs+DvRYS9/x9UyKNg9Q3jAx4=", + "vBoGQ7EuTS18d5GPROD095qDi2z57FtcKD4fTYhZnms=" + ], + "desc": "preceding root - subtree", + "wantErr": true +} \ No newline at end of file diff --git a/testdata/subtreeinclusion/4/preceding-root.json b/testdata/subtreeinclusion/4/preceding-root.json new file mode 100644 index 00000000..98a407c9 --- /dev/null +++ b/testdata/subtreeinclusion/4/preceding-root.json @@ -0,0 +1,15 @@ +{ + "leafIdx": 1, + "start": 0, + "end": 5, + "root": "Tju7H3tHjc/nH7YxYxUZo7yhLJrvyhYSv85ME6hiZNQ=", + "leafHash": "lqKW0iTyhcZ77pPDD4owkVfw2qNdxbh+QQt4YwoJz8c=", + "proof": [ + "Tju7H3tHjc/nH7YxYxUZo7yhLJrvyhYSv85ME6hiZNQ=", + "bjQLnP+zepicpUTmu3gKLHiQHT+zNzh2hRGjBhevoB0=", + "Xwg/ChozygdqlSeYMlgNs+DvRYS9/x9UyKNg9Q3jAx4=", + "vBoGQ7EuTS18d5GPROD095qDi2z57FtcKD4fTYhZnms=" + ], + "desc": "preceding root", + "wantErr": true +} \ No newline at end of file diff --git a/testdata/subtreeinclusion/4/random-root-subtree.json b/testdata/subtreeinclusion/4/random-root-subtree.json new file mode 100644 index 00000000..071f0d51 --- /dev/null +++ b/testdata/subtreeinclusion/4/random-root-subtree.json @@ -0,0 +1,14 @@ +{ + "leafIdx": 9, + "start": 8, + "end": 13, + "root": "q6yroAAAAAAAAAAAAAAAAAAAAAAAAAAAAGAGHgASNFY=", + "leafHash": "lqKW0iTyhcZ77pPDD4owkVfw2qNdxbh+QQt4YwoJz8c=", + "proof": [ + "bjQLnP+zepicpUTmu3gKLHiQHT+zNzh2hRGjBhevoB0=", + "Xwg/ChozygdqlSeYMlgNs+DvRYS9/x9UyKNg9Q3jAx4=", + "vBoGQ7EuTS18d5GPROD095qDi2z57FtcKD4fTYhZnms=" + ], + "desc": "random root - subtree", + "wantErr": true +} \ No newline at end of file diff --git a/testdata/subtreeinclusion/4/random-root.json b/testdata/subtreeinclusion/4/random-root.json new file mode 100644 index 00000000..6d487666 --- /dev/null +++ b/testdata/subtreeinclusion/4/random-root.json @@ -0,0 +1,14 @@ +{ + "leafIdx": 1, + "start": 0, + "end": 5, + "root": "q6yroAAAAAAAAAAAAAAAAAAAAAAAAAAAAGAGHgASNFY=", + "leafHash": "lqKW0iTyhcZ77pPDD4owkVfw2qNdxbh+QQt4YwoJz8c=", + "proof": [ + "bjQLnP+zepicpUTmu3gKLHiQHT+zNzh2hRGjBhevoB0=", + "Xwg/ChozygdqlSeYMlgNs+DvRYS9/x9UyKNg9Q3jAx4=", + "vBoGQ7EuTS18d5GPROD095qDi2z57FtcKD4fTYhZnms=" + ], + "desc": "random root", + "wantErr": true +} \ No newline at end of file diff --git a/testdata/subtreeinclusion/4/removed-component-subtree.json b/testdata/subtreeinclusion/4/removed-component-subtree.json new file mode 100644 index 00000000..6717f098 --- /dev/null +++ b/testdata/subtreeinclusion/4/removed-component-subtree.json @@ -0,0 +1,13 @@ +{ + "leafIdx": 9, + "start": 8, + "end": 13, + "root": "Tju7H3tHjc/nH7YxYxUZo7yhLJrvyhYSv85ME6hiZNQ=", + "leafHash": "lqKW0iTyhcZ77pPDD4owkVfw2qNdxbh+QQt4YwoJz8c=", + "proof": [ + "bjQLnP+zepicpUTmu3gKLHiQHT+zNzh2hRGjBhevoB0=", + "Xwg/ChozygdqlSeYMlgNs+DvRYS9/x9UyKNg9Q3jAx4=" + ], + "desc": "removed component - subtree", + "wantErr": true +} \ No newline at end of file diff --git a/testdata/subtreeinclusion/4/removed-component.json b/testdata/subtreeinclusion/4/removed-component.json new file mode 100644 index 00000000..04b2f6a3 --- /dev/null +++ b/testdata/subtreeinclusion/4/removed-component.json @@ -0,0 +1,13 @@ +{ + "leafIdx": 1, + "start": 0, + "end": 5, + "root": "Tju7H3tHjc/nH7YxYxUZo7yhLJrvyhYSv85ME6hiZNQ=", + "leafHash": "lqKW0iTyhcZ77pPDD4owkVfw2qNdxbh+QQt4YwoJz8c=", + "proof": [ + "bjQLnP+zepicpUTmu3gKLHiQHT+zNzh2hRGjBhevoB0=", + "Xwg/ChozygdqlSeYMlgNs+DvRYS9/x9UyKNg9Q3jAx4=" + ], + "desc": "removed component", + "wantErr": true +} \ No newline at end of file diff --git a/testdata/subtreeinclusion/4/trailing-garbage-subtree.json b/testdata/subtreeinclusion/4/trailing-garbage-subtree.json new file mode 100644 index 00000000..02f715b1 --- /dev/null +++ b/testdata/subtreeinclusion/4/trailing-garbage-subtree.json @@ -0,0 +1,15 @@ +{ + "leafIdx": 9, + "start": 8, + "end": 13, + "root": "Tju7H3tHjc/nH7YxYxUZo7yhLJrvyhYSv85ME6hiZNQ=", + "leafHash": "lqKW0iTyhcZ77pPDD4owkVfw2qNdxbh+QQt4YwoJz8c=", + "proof": [ + "bjQLnP+zepicpUTmu3gKLHiQHT+zNzh2hRGjBhevoB0=", + "Xwg/ChozygdqlSeYMlgNs+DvRYS9/x9UyKNg9Q3jAx4=", + "vBoGQ7EuTS18d5GPROD095qDi2z57FtcKD4fTYhZnms=", + "" + ], + "desc": "trailing garbage - subtree", + "wantErr": true +} \ No newline at end of file diff --git a/testdata/subtreeinclusion/4/trailing-garbage.json b/testdata/subtreeinclusion/4/trailing-garbage.json new file mode 100644 index 00000000..71d6e30d --- /dev/null +++ b/testdata/subtreeinclusion/4/trailing-garbage.json @@ -0,0 +1,15 @@ +{ + "leafIdx": 1, + "start": 0, + "end": 5, + "root": "Tju7H3tHjc/nH7YxYxUZo7yhLJrvyhYSv85ME6hiZNQ=", + "leafHash": "lqKW0iTyhcZ77pPDD4owkVfw2qNdxbh+QQt4YwoJz8c=", + "proof": [ + "bjQLnP+zepicpUTmu3gKLHiQHT+zNzh2hRGjBhevoB0=", + "Xwg/ChozygdqlSeYMlgNs+DvRYS9/x9UyKNg9Q3jAx4=", + "vBoGQ7EuTS18d5GPROD095qDi2z57FtcKD4fTYhZnms=", + "" + ], + "desc": "trailing garbage", + "wantErr": true +} \ No newline at end of file diff --git a/testdata/subtreeinclusion/4/trailing-root-subtree.json b/testdata/subtreeinclusion/4/trailing-root-subtree.json new file mode 100644 index 00000000..3a8f32e3 --- /dev/null +++ b/testdata/subtreeinclusion/4/trailing-root-subtree.json @@ -0,0 +1,15 @@ +{ + "leafIdx": 9, + "start": 8, + "end": 13, + "root": "Tju7H3tHjc/nH7YxYxUZo7yhLJrvyhYSv85ME6hiZNQ=", + "leafHash": "lqKW0iTyhcZ77pPDD4owkVfw2qNdxbh+QQt4YwoJz8c=", + "proof": [ + "bjQLnP+zepicpUTmu3gKLHiQHT+zNzh2hRGjBhevoB0=", + "Xwg/ChozygdqlSeYMlgNs+DvRYS9/x9UyKNg9Q3jAx4=", + "vBoGQ7EuTS18d5GPROD095qDi2z57FtcKD4fTYhZnms=", + "Tju7H3tHjc/nH7YxYxUZo7yhLJrvyhYSv85ME6hiZNQ=" + ], + "desc": "trailing root - subtree", + "wantErr": true +} \ No newline at end of file diff --git a/testdata/subtreeinclusion/4/trailing-root.json b/testdata/subtreeinclusion/4/trailing-root.json new file mode 100644 index 00000000..6c8ba4bf --- /dev/null +++ b/testdata/subtreeinclusion/4/trailing-root.json @@ -0,0 +1,15 @@ +{ + "leafIdx": 1, + "start": 0, + "end": 5, + "root": "Tju7H3tHjc/nH7YxYxUZo7yhLJrvyhYSv85ME6hiZNQ=", + "leafHash": "lqKW0iTyhcZ77pPDD4owkVfw2qNdxbh+QQt4YwoJz8c=", + "proof": [ + "bjQLnP+zepicpUTmu3gKLHiQHT+zNzh2hRGjBhevoB0=", + "Xwg/ChozygdqlSeYMlgNs+DvRYS9/x9UyKNg9Q3jAx4=", + "vBoGQ7EuTS18d5GPROD095qDi2z57FtcKD4fTYhZnms=", + "Tju7H3tHjc/nH7YxYxUZo7yhLJrvyhYSv85ME6hiZNQ=" + ], + "desc": "trailing root", + "wantErr": true +} \ No newline at end of file diff --git a/testdata/subtreeinclusion/4/treeSize-div-@2-subtree.json b/testdata/subtreeinclusion/4/treeSize-div-@2-subtree.json new file mode 100644 index 00000000..115b3387 --- /dev/null +++ b/testdata/subtreeinclusion/4/treeSize-div-@2-subtree.json @@ -0,0 +1,14 @@ +{ + "leafIdx": 3, + "start": 2, + "end": 4, + "root": "Tju7H3tHjc/nH7YxYxUZo7yhLJrvyhYSv85ME6hiZNQ=", + "leafHash": "lqKW0iTyhcZ77pPDD4owkVfw2qNdxbh+QQt4YwoJz8c=", + "proof": [ + "bjQLnP+zepicpUTmu3gKLHiQHT+zNzh2hRGjBhevoB0=", + "Xwg/ChozygdqlSeYMlgNs+DvRYS9/x9UyKNg9Q3jAx4=", + "vBoGQ7EuTS18d5GPROD095qDi2z57FtcKD4fTYhZnms=" + ], + "desc": "treeSize div @2 - subtree", + "wantErr": true +} \ No newline at end of file diff --git a/testdata/subtreeinclusion/4/treeSize-div-@2.json b/testdata/subtreeinclusion/4/treeSize-div-@2.json new file mode 100644 index 00000000..c7bfa6c2 --- /dev/null +++ b/testdata/subtreeinclusion/4/treeSize-div-@2.json @@ -0,0 +1,14 @@ +{ + "leafIdx": 1, + "start": 0, + "end": 2, + "root": "Tju7H3tHjc/nH7YxYxUZo7yhLJrvyhYSv85ME6hiZNQ=", + "leafHash": "lqKW0iTyhcZ77pPDD4owkVfw2qNdxbh+QQt4YwoJz8c=", + "proof": [ + "bjQLnP+zepicpUTmu3gKLHiQHT+zNzh2hRGjBhevoB0=", + "Xwg/ChozygdqlSeYMlgNs+DvRYS9/x9UyKNg9Q3jAx4=", + "vBoGQ7EuTS18d5GPROD095qDi2z57FtcKD4fTYhZnms=" + ], + "desc": "treeSize div @2", + "wantErr": true +} \ No newline at end of file diff --git a/testdata/subtreeinclusion/4/treeSize-mul-@2-subtree.json b/testdata/subtreeinclusion/4/treeSize-mul-@2-subtree.json new file mode 100644 index 00000000..5413a5e5 --- /dev/null +++ b/testdata/subtreeinclusion/4/treeSize-mul-@2-subtree.json @@ -0,0 +1,14 @@ +{ + "leafIdx": 17, + "start": 16, + "end": 26, + "root": "Tju7H3tHjc/nH7YxYxUZo7yhLJrvyhYSv85ME6hiZNQ=", + "leafHash": "lqKW0iTyhcZ77pPDD4owkVfw2qNdxbh+QQt4YwoJz8c=", + "proof": [ + "bjQLnP+zepicpUTmu3gKLHiQHT+zNzh2hRGjBhevoB0=", + "Xwg/ChozygdqlSeYMlgNs+DvRYS9/x9UyKNg9Q3jAx4=", + "vBoGQ7EuTS18d5GPROD095qDi2z57FtcKD4fTYhZnms=" + ], + "desc": "treeSize mul @2 - subtree", + "wantErr": true +} \ No newline at end of file diff --git a/testdata/subtreeinclusion/4/treeSize-mul-@2.json b/testdata/subtreeinclusion/4/treeSize-mul-@2.json new file mode 100644 index 00000000..e2686125 --- /dev/null +++ b/testdata/subtreeinclusion/4/treeSize-mul-@2.json @@ -0,0 +1,14 @@ +{ + "leafIdx": 1, + "start": 0, + "end": 10, + "root": "Tju7H3tHjc/nH7YxYxUZo7yhLJrvyhYSv85ME6hiZNQ=", + "leafHash": "lqKW0iTyhcZ77pPDD4owkVfw2qNdxbh+QQt4YwoJz8c=", + "proof": [ + "bjQLnP+zepicpUTmu3gKLHiQHT+zNzh2hRGjBhevoB0=", + "Xwg/ChozygdqlSeYMlgNs+DvRYS9/x9UyKNg9Q3jAx4=", + "vBoGQ7EuTS18d5GPROD095qDi2z57FtcKD4fTYhZnms=" + ], + "desc": "treeSize mul @2", + "wantErr": true +} \ No newline at end of file diff --git a/testdata/subtreeinclusion/4/wrong-leaf-subtree.json b/testdata/subtreeinclusion/4/wrong-leaf-subtree.json new file mode 100644 index 00000000..5c25e184 --- /dev/null +++ b/testdata/subtreeinclusion/4/wrong-leaf-subtree.json @@ -0,0 +1,14 @@ +{ + "leafIdx": 9, + "start": 8, + "end": 13, + "root": "Tju7H3tHjc/nH7YxYxUZo7yhLJrvyhYSv85ME6hiZNQ=", + "leafHash": "V3JvbmdMZWFm", + "proof": [ + "bjQLnP+zepicpUTmu3gKLHiQHT+zNzh2hRGjBhevoB0=", + "Xwg/ChozygdqlSeYMlgNs+DvRYS9/x9UyKNg9Q3jAx4=", + "vBoGQ7EuTS18d5GPROD095qDi2z57FtcKD4fTYhZnms=" + ], + "desc": "wrong leaf - subtree", + "wantErr": true +} \ No newline at end of file diff --git a/testdata/subtreeinclusion/4/wrong-leaf.json b/testdata/subtreeinclusion/4/wrong-leaf.json new file mode 100644 index 00000000..a504dff2 --- /dev/null +++ b/testdata/subtreeinclusion/4/wrong-leaf.json @@ -0,0 +1,14 @@ +{ + "leafIdx": 1, + "start": 0, + "end": 5, + "root": "Tju7H3tHjc/nH7YxYxUZo7yhLJrvyhYSv85ME6hiZNQ=", + "leafHash": "V3JvbmdMZWFm", + "proof": [ + "bjQLnP+zepicpUTmu3gKLHiQHT+zNzh2hRGjBhevoB0=", + "Xwg/ChozygdqlSeYMlgNs+DvRYS9/x9UyKNg9Q3jAx4=", + "vBoGQ7EuTS18d5GPROD095qDi2z57FtcKD4fTYhZnms=" + ], + "desc": "wrong leaf", + "wantErr": true +} \ No newline at end of file diff --git a/testdata/subtreeinclusion/additional/0/empty-root-and-random-leaf-subtree.json b/testdata/subtreeinclusion/additional/0/empty-root-and-random-leaf-subtree.json new file mode 100644 index 00000000..208b5e2f --- /dev/null +++ b/testdata/subtreeinclusion/additional/0/empty-root-and-random-leaf-subtree.json @@ -0,0 +1,10 @@ +{ + "leafIdx": 1, + "start": 1, + "end": 1, + "root": "47DEQpj8HBSa+/TImW+5JCeuQeRkm5NMpJWZG3hSuFU=", + "leafHash": "q6yroAAAAAAAAAAAAAAAAAAAAAAAAAAAAGAGHgASNFY=", + "proof": [], + "desc": "empty root and random leaf - subtree", + "wantErr": true +} \ No newline at end of file diff --git a/testdata/subtreeinclusion/additional/0/empty-root-and-random-leaf.json b/testdata/subtreeinclusion/additional/0/empty-root-and-random-leaf.json new file mode 100644 index 00000000..b92eb229 --- /dev/null +++ b/testdata/subtreeinclusion/additional/0/empty-root-and-random-leaf.json @@ -0,0 +1,10 @@ +{ + "leafIdx": 0, + "start": 0, + "end": 0, + "root": "47DEQpj8HBSa+/TImW+5JCeuQeRkm5NMpJWZG3hSuFU=", + "leafHash": "q6yroAAAAAAAAAAAAAAAAAAAAAAAAAAAAGAGHgASNFY=", + "proof": [], + "desc": "empty root and random leaf", + "wantErr": true +} \ No newline at end of file diff --git a/testdata/subtreeinclusion/additional/0/empty-root-subtree.json b/testdata/subtreeinclusion/additional/0/empty-root-subtree.json new file mode 100644 index 00000000..e5ee96ce --- /dev/null +++ b/testdata/subtreeinclusion/additional/0/empty-root-subtree.json @@ -0,0 +1,10 @@ +{ + "leafIdx": 1, + "start": 1, + "end": 1, + "root": "47DEQpj8HBSa+/TImW+5JCeuQeRkm5NMpJWZG3hSuFU=", + "leafHash": "", + "proof": [], + "desc": "empty root - subtree", + "wantErr": true +} \ No newline at end of file diff --git a/testdata/subtreeinclusion/additional/0/empty-root.json b/testdata/subtreeinclusion/additional/0/empty-root.json new file mode 100644 index 00000000..af436e18 --- /dev/null +++ b/testdata/subtreeinclusion/additional/0/empty-root.json @@ -0,0 +1,10 @@ +{ + "leafIdx": 0, + "start": 0, + "end": 0, + "root": "47DEQpj8HBSa+/TImW+5JCeuQeRkm5NMpJWZG3hSuFU=", + "leafHash": "", + "proof": [], + "desc": "empty root", + "wantErr": true +} \ No newline at end of file diff --git a/testdata/subtreeinclusion/additional/0/random-leaf-subtree.json b/testdata/subtreeinclusion/additional/0/random-leaf-subtree.json new file mode 100644 index 00000000..4efd51fa --- /dev/null +++ b/testdata/subtreeinclusion/additional/0/random-leaf-subtree.json @@ -0,0 +1,10 @@ +{ + "leafIdx": 1, + "start": 1, + "end": 1, + "root": "", + "leafHash": "q6yroAAAAAAAAAAAAAAAAAAAAAAAAAAAAGAGHgASNFY=", + "proof": [], + "desc": "random leaf - subtree", + "wantErr": true +} \ No newline at end of file diff --git a/testdata/subtreeinclusion/additional/0/random-leaf.json b/testdata/subtreeinclusion/additional/0/random-leaf.json new file mode 100644 index 00000000..3b906746 --- /dev/null +++ b/testdata/subtreeinclusion/additional/0/random-leaf.json @@ -0,0 +1,10 @@ +{ + "leafIdx": 0, + "start": 0, + "end": 0, + "root": "", + "leafHash": "q6yroAAAAAAAAAAAAAAAAAAAAAAAAAAAAGAGHgASNFY=", + "proof": [], + "desc": "random leaf", + "wantErr": true +} \ No newline at end of file diff --git a/testdata/subtreeinclusion/additional/1/empty-root-and-random-leaf-subtree.json b/testdata/subtreeinclusion/additional/1/empty-root-and-random-leaf-subtree.json new file mode 100644 index 00000000..3cd63296 --- /dev/null +++ b/testdata/subtreeinclusion/additional/1/empty-root-and-random-leaf-subtree.json @@ -0,0 +1,10 @@ +{ + "leafIdx": 1, + "start": 1, + "end": 2, + "root": "47DEQpj8HBSa+/TImW+5JCeuQeRkm5NMpJWZG3hSuFU=", + "leafHash": "q6yroAAAAAAAAAAAAAAAAAAAAAAAAAAAAGAGHgASNFY=", + "proof": [], + "desc": "empty root and random leaf - subtree", + "wantErr": true +} \ No newline at end of file diff --git a/testdata/subtreeinclusion/additional/1/empty-root-and-random-leaf.json b/testdata/subtreeinclusion/additional/1/empty-root-and-random-leaf.json new file mode 100644 index 00000000..fbe70cda --- /dev/null +++ b/testdata/subtreeinclusion/additional/1/empty-root-and-random-leaf.json @@ -0,0 +1,10 @@ +{ + "leafIdx": 0, + "start": 0, + "end": 1, + "root": "47DEQpj8HBSa+/TImW+5JCeuQeRkm5NMpJWZG3hSuFU=", + "leafHash": "q6yroAAAAAAAAAAAAAAAAAAAAAAAAAAAAGAGHgASNFY=", + "proof": [], + "desc": "empty root and random leaf", + "wantErr": true +} \ No newline at end of file diff --git a/testdata/subtreeinclusion/additional/1/empty-root-subtree.json b/testdata/subtreeinclusion/additional/1/empty-root-subtree.json new file mode 100644 index 00000000..0c905349 --- /dev/null +++ b/testdata/subtreeinclusion/additional/1/empty-root-subtree.json @@ -0,0 +1,10 @@ +{ + "leafIdx": 1, + "start": 1, + "end": 2, + "root": "47DEQpj8HBSa+/TImW+5JCeuQeRkm5NMpJWZG3hSuFU=", + "leafHash": "", + "proof": [], + "desc": "empty root - subtree", + "wantErr": true +} \ No newline at end of file diff --git a/testdata/subtreeinclusion/additional/1/empty-root.json b/testdata/subtreeinclusion/additional/1/empty-root.json new file mode 100644 index 00000000..e22cd209 --- /dev/null +++ b/testdata/subtreeinclusion/additional/1/empty-root.json @@ -0,0 +1,10 @@ +{ + "leafIdx": 0, + "start": 0, + "end": 1, + "root": "47DEQpj8HBSa+/TImW+5JCeuQeRkm5NMpJWZG3hSuFU=", + "leafHash": "", + "proof": [], + "desc": "empty root", + "wantErr": true +} \ No newline at end of file diff --git a/testdata/subtreeinclusion/additional/1/random-leaf-subtree.json b/testdata/subtreeinclusion/additional/1/random-leaf-subtree.json new file mode 100644 index 00000000..26f24260 --- /dev/null +++ b/testdata/subtreeinclusion/additional/1/random-leaf-subtree.json @@ -0,0 +1,10 @@ +{ + "leafIdx": 1, + "start": 1, + "end": 2, + "root": "", + "leafHash": "q6yroAAAAAAAAAAAAAAAAAAAAAAAAAAAAGAGHgASNFY=", + "proof": [], + "desc": "random leaf - subtree", + "wantErr": true +} \ No newline at end of file diff --git a/testdata/subtreeinclusion/additional/1/random-leaf.json b/testdata/subtreeinclusion/additional/1/random-leaf.json new file mode 100644 index 00000000..5d94f84e --- /dev/null +++ b/testdata/subtreeinclusion/additional/1/random-leaf.json @@ -0,0 +1,10 @@ +{ + "leafIdx": 0, + "start": 0, + "end": 1, + "root": "", + "leafHash": "q6yroAAAAAAAAAAAAAAAAAAAAAAAAAAAAGAGHgASNFY=", + "proof": [], + "desc": "random leaf", + "wantErr": true +} \ No newline at end of file diff --git a/testdata/subtreeinclusion/additional/2/empty-root-and-random-leaf-subtree.json b/testdata/subtreeinclusion/additional/2/empty-root-and-random-leaf-subtree.json new file mode 100644 index 00000000..6501af2e --- /dev/null +++ b/testdata/subtreeinclusion/additional/2/empty-root-and-random-leaf-subtree.json @@ -0,0 +1,10 @@ +{ + "leafIdx": 2, + "start": 1, + "end": 1, + "root": "47DEQpj8HBSa+/TImW+5JCeuQeRkm5NMpJWZG3hSuFU=", + "leafHash": "q6yroAAAAAAAAAAAAAAAAAAAAAAAAAAAAGAGHgASNFY=", + "proof": [], + "desc": "empty root and random leaf - subtree", + "wantErr": true +} \ No newline at end of file diff --git a/testdata/subtreeinclusion/additional/2/empty-root-and-random-leaf.json b/testdata/subtreeinclusion/additional/2/empty-root-and-random-leaf.json new file mode 100644 index 00000000..932bd704 --- /dev/null +++ b/testdata/subtreeinclusion/additional/2/empty-root-and-random-leaf.json @@ -0,0 +1,10 @@ +{ + "leafIdx": 1, + "start": 0, + "end": 0, + "root": "47DEQpj8HBSa+/TImW+5JCeuQeRkm5NMpJWZG3hSuFU=", + "leafHash": "q6yroAAAAAAAAAAAAAAAAAAAAAAAAAAAAGAGHgASNFY=", + "proof": [], + "desc": "empty root and random leaf", + "wantErr": true +} \ No newline at end of file diff --git a/testdata/subtreeinclusion/additional/2/empty-root-subtree.json b/testdata/subtreeinclusion/additional/2/empty-root-subtree.json new file mode 100644 index 00000000..02d11ccb --- /dev/null +++ b/testdata/subtreeinclusion/additional/2/empty-root-subtree.json @@ -0,0 +1,10 @@ +{ + "leafIdx": 2, + "start": 1, + "end": 1, + "root": "47DEQpj8HBSa+/TImW+5JCeuQeRkm5NMpJWZG3hSuFU=", + "leafHash": "", + "proof": [], + "desc": "empty root - subtree", + "wantErr": true +} \ No newline at end of file diff --git a/testdata/subtreeinclusion/additional/2/empty-root.json b/testdata/subtreeinclusion/additional/2/empty-root.json new file mode 100644 index 00000000..1fad70cd --- /dev/null +++ b/testdata/subtreeinclusion/additional/2/empty-root.json @@ -0,0 +1,10 @@ +{ + "leafIdx": 1, + "start": 0, + "end": 0, + "root": "47DEQpj8HBSa+/TImW+5JCeuQeRkm5NMpJWZG3hSuFU=", + "leafHash": "", + "proof": [], + "desc": "empty root", + "wantErr": true +} \ No newline at end of file diff --git a/testdata/subtreeinclusion/additional/2/random-leaf-subtree.json b/testdata/subtreeinclusion/additional/2/random-leaf-subtree.json new file mode 100644 index 00000000..9488a2a9 --- /dev/null +++ b/testdata/subtreeinclusion/additional/2/random-leaf-subtree.json @@ -0,0 +1,10 @@ +{ + "leafIdx": 2, + "start": 1, + "end": 1, + "root": "", + "leafHash": "q6yroAAAAAAAAAAAAAAAAAAAAAAAAAAAAGAGHgASNFY=", + "proof": [], + "desc": "random leaf - subtree", + "wantErr": true +} \ No newline at end of file diff --git a/testdata/subtreeinclusion/additional/2/random-leaf.json b/testdata/subtreeinclusion/additional/2/random-leaf.json new file mode 100644 index 00000000..6c442abc --- /dev/null +++ b/testdata/subtreeinclusion/additional/2/random-leaf.json @@ -0,0 +1,10 @@ +{ + "leafIdx": 1, + "start": 0, + "end": 0, + "root": "", + "leafHash": "q6yroAAAAAAAAAAAAAAAAAAAAAAAAAAAAGAGHgASNFY=", + "proof": [], + "desc": "random leaf", + "wantErr": true +} \ No newline at end of file diff --git a/testdata/subtreeinclusion/additional/3/empty-root-and-random-leaf-subtree.json b/testdata/subtreeinclusion/additional/3/empty-root-and-random-leaf-subtree.json new file mode 100644 index 00000000..ef21e47f --- /dev/null +++ b/testdata/subtreeinclusion/additional/3/empty-root-and-random-leaf-subtree.json @@ -0,0 +1,10 @@ +{ + "leafIdx": 3, + "start": 1, + "end": 2, + "root": "47DEQpj8HBSa+/TImW+5JCeuQeRkm5NMpJWZG3hSuFU=", + "leafHash": "q6yroAAAAAAAAAAAAAAAAAAAAAAAAAAAAGAGHgASNFY=", + "proof": [], + "desc": "empty root and random leaf - subtree", + "wantErr": true +} \ No newline at end of file diff --git a/testdata/subtreeinclusion/additional/3/empty-root-and-random-leaf.json b/testdata/subtreeinclusion/additional/3/empty-root-and-random-leaf.json new file mode 100644 index 00000000..cedbfc6d --- /dev/null +++ b/testdata/subtreeinclusion/additional/3/empty-root-and-random-leaf.json @@ -0,0 +1,10 @@ +{ + "leafIdx": 2, + "start": 0, + "end": 1, + "root": "47DEQpj8HBSa+/TImW+5JCeuQeRkm5NMpJWZG3hSuFU=", + "leafHash": "q6yroAAAAAAAAAAAAAAAAAAAAAAAAAAAAGAGHgASNFY=", + "proof": [], + "desc": "empty root and random leaf", + "wantErr": true +} \ No newline at end of file diff --git a/testdata/subtreeinclusion/additional/3/empty-root-subtree.json b/testdata/subtreeinclusion/additional/3/empty-root-subtree.json new file mode 100644 index 00000000..bf8ec3b0 --- /dev/null +++ b/testdata/subtreeinclusion/additional/3/empty-root-subtree.json @@ -0,0 +1,10 @@ +{ + "leafIdx": 3, + "start": 1, + "end": 2, + "root": "47DEQpj8HBSa+/TImW+5JCeuQeRkm5NMpJWZG3hSuFU=", + "leafHash": "", + "proof": [], + "desc": "empty root - subtree", + "wantErr": true +} \ No newline at end of file diff --git a/testdata/subtreeinclusion/additional/3/empty-root.json b/testdata/subtreeinclusion/additional/3/empty-root.json new file mode 100644 index 00000000..2b3827d0 --- /dev/null +++ b/testdata/subtreeinclusion/additional/3/empty-root.json @@ -0,0 +1,10 @@ +{ + "leafIdx": 2, + "start": 0, + "end": 1, + "root": "47DEQpj8HBSa+/TImW+5JCeuQeRkm5NMpJWZG3hSuFU=", + "leafHash": "", + "proof": [], + "desc": "empty root", + "wantErr": true +} \ No newline at end of file diff --git a/testdata/subtreeinclusion/additional/3/random-leaf-subtree.json b/testdata/subtreeinclusion/additional/3/random-leaf-subtree.json new file mode 100644 index 00000000..0a5dc869 --- /dev/null +++ b/testdata/subtreeinclusion/additional/3/random-leaf-subtree.json @@ -0,0 +1,10 @@ +{ + "leafIdx": 3, + "start": 1, + "end": 2, + "root": "", + "leafHash": "q6yroAAAAAAAAAAAAAAAAAAAAAAAAAAAAGAGHgASNFY=", + "proof": [], + "desc": "random leaf - subtree", + "wantErr": true +} \ No newline at end of file diff --git a/testdata/subtreeinclusion/additional/3/random-leaf.json b/testdata/subtreeinclusion/additional/3/random-leaf.json new file mode 100644 index 00000000..0049a254 --- /dev/null +++ b/testdata/subtreeinclusion/additional/3/random-leaf.json @@ -0,0 +1,10 @@ +{ + "leafIdx": 2, + "start": 0, + "end": 1, + "root": "", + "leafHash": "q6yroAAAAAAAAAAAAAAAAAAAAAAAAAAAAGAGHgASNFY=", + "proof": [], + "desc": "random leaf", + "wantErr": true +} \ No newline at end of file diff --git a/testdata/subtreeinclusion/errors/everything-zero.json b/testdata/subtreeinclusion/errors/everything-zero.json new file mode 100644 index 00000000..8124e8cb --- /dev/null +++ b/testdata/subtreeinclusion/errors/everything-zero.json @@ -0,0 +1,10 @@ +{ + "leafIdx": 0, + "start": 0, + "end": 0, + "root": "47DEQpj8HBSa+/TImW+5JCeuQeRkm5NMpJWZG3hSuFU=", + "leafHash": "bjQLnP+zepicpUTmu3gKLHiQHT+zNzh2hRGjBhevoB0=", + "proof": null, + "desc": "everything zero", + "wantErr": true +} \ No newline at end of file diff --git a/testdata/subtreeinclusion/errors/invalid-large-subtree.json b/testdata/subtreeinclusion/errors/invalid-large-subtree.json new file mode 100644 index 00000000..9cc63bc4 --- /dev/null +++ b/testdata/subtreeinclusion/errors/invalid-large-subtree.json @@ -0,0 +1,10 @@ +{ + "leafIdx": 1, + "start": 1, + "end": 9223372036854775810, + "root": "47DEQpj8HBSa+/TImW+5JCeuQeRkm5NMpJWZG3hSuFU=", + "leafHash": "bjQLnP+zepicpUTmu3gKLHiQHT+zNzh2hRGjBhevoB0=", + "proof": null, + "desc": "invalid large subtree", + "wantErr": true +} \ No newline at end of file diff --git a/testdata/subtreeinclusion/errors/invalid-subtree.json b/testdata/subtreeinclusion/errors/invalid-subtree.json new file mode 100644 index 00000000..158b7574 --- /dev/null +++ b/testdata/subtreeinclusion/errors/invalid-subtree.json @@ -0,0 +1,10 @@ +{ + "leafIdx": 3, + "start": 3, + "end": 5, + "root": "47DEQpj8HBSa+/TImW+5JCeuQeRkm5NMpJWZG3hSuFU=", + "leafHash": "bjQLnP+zepicpUTmu3gKLHiQHT+zNzh2hRGjBhevoB0=", + "proof": null, + "desc": "invalid subtree", + "wantErr": true +} \ No newline at end of file diff --git a/testdata/subtreeinclusion/errors/oob-left.json b/testdata/subtreeinclusion/errors/oob-left.json new file mode 100644 index 00000000..3d13a567 --- /dev/null +++ b/testdata/subtreeinclusion/errors/oob-left.json @@ -0,0 +1,10 @@ +{ + "leafIdx": 0, + "start": 1, + "end": 2, + "root": "47DEQpj8HBSa+/TImW+5JCeuQeRkm5NMpJWZG3hSuFU=", + "leafHash": "bjQLnP+zepicpUTmu3gKLHiQHT+zNzh2hRGjBhevoB0=", + "proof": null, + "desc": "oob left", + "wantErr": true +} \ No newline at end of file diff --git a/testdata/subtreeinclusion/errors/oob-right-2.json b/testdata/subtreeinclusion/errors/oob-right-2.json new file mode 100644 index 00000000..2fd72f08 --- /dev/null +++ b/testdata/subtreeinclusion/errors/oob-right-2.json @@ -0,0 +1,10 @@ +{ + "leafIdx": 3, + "start": 0, + "end": 3, + "root": "47DEQpj8HBSa+/TImW+5JCeuQeRkm5NMpJWZG3hSuFU=", + "leafHash": "bjQLnP+zepicpUTmu3gKLHiQHT+zNzh2hRGjBhevoB0=", + "proof": null, + "desc": "oob right 2", + "wantErr": true +} \ No newline at end of file diff --git a/testdata/subtreeinclusion/errors/oob-right.json b/testdata/subtreeinclusion/errors/oob-right.json new file mode 100644 index 00000000..95ed3bf6 --- /dev/null +++ b/testdata/subtreeinclusion/errors/oob-right.json @@ -0,0 +1,10 @@ +{ + "leafIdx": 3, + "start": 0, + "end": 2, + "root": "47DEQpj8HBSa+/TImW+5JCeuQeRkm5NMpJWZG3hSuFU=", + "leafHash": "bjQLnP+zepicpUTmu3gKLHiQHT+zNzh2hRGjBhevoB0=", + "proof": null, + "desc": "oob right", + "wantErr": true +} \ No newline at end of file diff --git a/testdata/subtreeinclusion/errors/start-equals-end.json b/testdata/subtreeinclusion/errors/start-equals-end.json new file mode 100644 index 00000000..cd6b3494 --- /dev/null +++ b/testdata/subtreeinclusion/errors/start-equals-end.json @@ -0,0 +1,10 @@ +{ + "leafIdx": 0, + "start": 1, + "end": 1, + "root": "47DEQpj8HBSa+/TImW+5JCeuQeRkm5NMpJWZG3hSuFU=", + "leafHash": "bjQLnP+zepicpUTmu3gKLHiQHT+zNzh2hRGjBhevoB0=", + "proof": null, + "desc": "start equals end", + "wantErr": true +} \ No newline at end of file diff --git a/testdata/subtreeinclusion/errors/start-larger-than-end.json b/testdata/subtreeinclusion/errors/start-larger-than-end.json new file mode 100644 index 00000000..e74df6f6 --- /dev/null +++ b/testdata/subtreeinclusion/errors/start-larger-than-end.json @@ -0,0 +1,10 @@ +{ + "leafIdx": 0, + "start": 2, + "end": 1, + "root": "47DEQpj8HBSa+/TImW+5JCeuQeRkm5NMpJWZG3hSuFU=", + "leafHash": "bjQLnP+zepicpUTmu3gKLHiQHT+zNzh2hRGjBhevoB0=", + "proof": null, + "desc": "start larger than end", + "wantErr": true +} \ No newline at end of file diff --git a/testdata/subtreeinclusion/single-entry/empty-leaf-subtree.json b/testdata/subtreeinclusion/single-entry/empty-leaf-subtree.json new file mode 100644 index 00000000..288e7fb1 --- /dev/null +++ b/testdata/subtreeinclusion/single-entry/empty-leaf-subtree.json @@ -0,0 +1,10 @@ +{ + "leafIdx": 1, + "start": 1, + "end": 2, + "root": "DTrtAjFI/9KiWfvQzcf7PPl1ZYdg03dbgq9vkKrMLfw=", + "leafHash": "", + "proof": [], + "desc": "empty leaf - subtree", + "wantErr": true +} \ No newline at end of file diff --git a/testdata/subtreeinclusion/single-entry/empty-leaf.json b/testdata/subtreeinclusion/single-entry/empty-leaf.json new file mode 100644 index 00000000..e8046a7c --- /dev/null +++ b/testdata/subtreeinclusion/single-entry/empty-leaf.json @@ -0,0 +1,10 @@ +{ + "leafIdx": 0, + "start": 0, + "end": 1, + "root": "DTrtAjFI/9KiWfvQzcf7PPl1ZYdg03dbgq9vkKrMLfw=", + "leafHash": "", + "proof": [], + "desc": "empty leaf", + "wantErr": true +} \ No newline at end of file diff --git a/testdata/subtreeinclusion/single-entry/empty-root-and-leaf-subtree.json b/testdata/subtreeinclusion/single-entry/empty-root-and-leaf-subtree.json new file mode 100644 index 00000000..c5a8337e --- /dev/null +++ b/testdata/subtreeinclusion/single-entry/empty-root-and-leaf-subtree.json @@ -0,0 +1,10 @@ +{ + "leafIdx": 1, + "start": 1, + "end": 2, + "root": "", + "leafHash": "", + "proof": [], + "desc": "empty root and leaf - subtree", + "wantErr": true +} \ No newline at end of file diff --git a/testdata/subtreeinclusion/single-entry/empty-root-and-leaf.json b/testdata/subtreeinclusion/single-entry/empty-root-and-leaf.json new file mode 100644 index 00000000..58aa6dd2 --- /dev/null +++ b/testdata/subtreeinclusion/single-entry/empty-root-and-leaf.json @@ -0,0 +1,10 @@ +{ + "leafIdx": 0, + "start": 0, + "end": 1, + "root": "", + "leafHash": "", + "proof": [], + "desc": "empty root and leaf", + "wantErr": true +} \ No newline at end of file diff --git a/testdata/subtreeinclusion/single-entry/empty-root-subtree.json b/testdata/subtreeinclusion/single-entry/empty-root-subtree.json new file mode 100644 index 00000000..241d39a0 --- /dev/null +++ b/testdata/subtreeinclusion/single-entry/empty-root-subtree.json @@ -0,0 +1,10 @@ +{ + "leafIdx": 1, + "start": 1, + "end": 2, + "root": "", + "leafHash": "DTrtAjFI/9KiWfvQzcf7PPl1ZYdg03dbgq9vkKrMLfw=", + "proof": [], + "desc": "empty root - subtree", + "wantErr": true +} \ No newline at end of file diff --git a/testdata/subtreeinclusion/single-entry/empty-root.json b/testdata/subtreeinclusion/single-entry/empty-root.json new file mode 100644 index 00000000..7ae97f68 --- /dev/null +++ b/testdata/subtreeinclusion/single-entry/empty-root.json @@ -0,0 +1,10 @@ +{ + "leafIdx": 0, + "start": 0, + "end": 1, + "root": "", + "leafHash": "DTrtAjFI/9KiWfvQzcf7PPl1ZYdg03dbgq9vkKrMLfw=", + "proof": [], + "desc": "empty root", + "wantErr": true +} \ No newline at end of file diff --git a/testdata/subtreeinclusion/single-entry/matching-root-and-leaf-subtree.json b/testdata/subtreeinclusion/single-entry/matching-root-and-leaf-subtree.json new file mode 100644 index 00000000..5dd36912 --- /dev/null +++ b/testdata/subtreeinclusion/single-entry/matching-root-and-leaf-subtree.json @@ -0,0 +1,10 @@ +{ + "leafIdx": 1, + "start": 1, + "end": 2, + "root": "DTrtAjFI/9KiWfvQzcf7PPl1ZYdg03dbgq9vkKrMLfw=", + "leafHash": "DTrtAjFI/9KiWfvQzcf7PPl1ZYdg03dbgq9vkKrMLfw=", + "proof": [], + "desc": "matching root and leaf - subtree", + "wantErr": false +} \ No newline at end of file diff --git a/testdata/subtreeinclusion/single-entry/matching-root-and-leaf.json b/testdata/subtreeinclusion/single-entry/matching-root-and-leaf.json new file mode 100644 index 00000000..9fc1fe5d --- /dev/null +++ b/testdata/subtreeinclusion/single-entry/matching-root-and-leaf.json @@ -0,0 +1,10 @@ +{ + "leafIdx": 0, + "start": 0, + "end": 1, + "root": "DTrtAjFI/9KiWfvQzcf7PPl1ZYdg03dbgq9vkKrMLfw=", + "leafHash": "DTrtAjFI/9KiWfvQzcf7PPl1ZYdg03dbgq9vkKrMLfw=", + "proof": [], + "desc": "matching root and leaf", + "wantErr": false +} \ No newline at end of file From 51a13417336e828ad0866df84fdd69f4018d22e9 Mon Sep 17 00:00:00 2001 From: Philippe Boneff Date: Fri, 24 Jul 2026 09:35:55 +0000 Subject: [PATCH 3/5] Rename size1 and size2 probe descriptions to end and size Update subtree consistency probe descriptions in cmd/proofgen/main.go to use end and size terminology rather than size1 and size2, and regenerate all corresponding JSON probe files under testdata/subtreeconsistency/. TAG=agy CONV=1f76bf92-7d8b-43a5-942a-a4bd88025626 --- cmd/proofgen/main.go | 20 +++++++++---------- .../1/{size1-XOR-@2.json => end-XOR-@2.json} | 2 +- .../{size1-plus-@1.json => end-plus-@1.json} | 2 +- .../1/{size1-sub-@1.json => end-sub-@1.json} | 2 +- .../1/{size2-div-@2.json => size-div-@2.json} | 2 +- .../1/{size2-mul-@2.json => size-mul-@2.json} | 2 +- .../10/{size1-XOR-@2.json => end-XOR-@2.json} | 2 +- .../{size1-plus-@1.json => end-plus-@1.json} | 2 +- .../10/{size1-sub-@1.json => end-sub-@1.json} | 2 +- .../{size2-div-@2.json => size-div-@2.json} | 2 +- .../{size2-mul-@2.json => size-mul-@2.json} | 2 +- .../11/{size1-XOR-@2.json => end-XOR-@2.json} | 2 +- .../{size1-plus-@1.json => end-plus-@1.json} | 2 +- .../11/{size1-sub-@1.json => end-sub-@1.json} | 2 +- .../{size2-div-@2.json => size-div-@2.json} | 2 +- .../{size2-mul-@2.json => size-mul-@2.json} | 2 +- .../2/{size1-XOR-@2.json => end-XOR-@2.json} | 2 +- .../{size1-plus-@1.json => end-plus-@1.json} | 2 +- .../2/{size1-sub-@1.json => end-sub-@1.json} | 2 +- .../2/{size2-div-@2.json => size-div-@2.json} | 2 +- .../2/{size2-mul-@2.json => size-mul-@2.json} | 2 +- .../3/{size1-XOR-@2.json => end-XOR-@2.json} | 2 +- .../{size1-plus-@1.json => end-plus-@1.json} | 2 +- .../3/{size1-sub-@1.json => end-sub-@1.json} | 2 +- .../3/{size2-div-@2.json => size-div-@2.json} | 2 +- .../3/{size2-mul-@2.json => size-mul-@2.json} | 2 +- .../4/{size1-XOR-@2.json => end-XOR-@2.json} | 2 +- .../{size1-plus-@1.json => end-plus-@1.json} | 2 +- .../4/{size1-sub-@1.json => end-sub-@1.json} | 2 +- .../4/{size2-div-@2.json => size-div-@2.json} | 2 +- .../4/{size2-mul-@2.json => size-mul-@2.json} | 2 +- .../5/{size1-XOR-@2.json => end-XOR-@2.json} | 2 +- .../{size1-plus-@1.json => end-plus-@1.json} | 2 +- .../5/{size1-sub-@1.json => end-sub-@1.json} | 2 +- .../5/{size2-div-@2.json => size-div-@2.json} | 2 +- .../5/{size2-mul-@2.json => size-mul-@2.json} | 2 +- .../6/{size1-XOR-@2.json => end-XOR-@2.json} | 2 +- .../{size1-plus-@1.json => end-plus-@1.json} | 2 +- .../6/{size1-sub-@1.json => end-sub-@1.json} | 2 +- .../6/{size2-div-@2.json => size-div-@2.json} | 2 +- .../6/{size2-mul-@2.json => size-mul-@2.json} | 2 +- .../7/{size1-XOR-@2.json => end-XOR-@2.json} | 2 +- .../{size1-plus-@1.json => end-plus-@1.json} | 2 +- .../7/{size1-sub-@1.json => end-sub-@1.json} | 2 +- .../7/{size2-div-@2.json => size-div-@2.json} | 2 +- .../7/{size2-mul-@2.json => size-mul-@2.json} | 2 +- .../8/{size1-XOR-@2.json => end-XOR-@2.json} | 2 +- .../{size1-plus-@1.json => end-plus-@1.json} | 2 +- .../8/{size1-sub-@1.json => end-sub-@1.json} | 2 +- .../8/{size2-div-@2.json => size-div-@2.json} | 2 +- .../8/{size2-mul-@2.json => size-mul-@2.json} | 2 +- .../9/{size1-XOR-@2.json => end-XOR-@2.json} | 2 +- .../{size1-plus-@1.json => end-plus-@1.json} | 2 +- .../9/{size1-sub-@1.json => end-sub-@1.json} | 2 +- .../9/{size2-div-@2.json => size-div-@2.json} | 2 +- .../9/{size2-mul-@2.json => size-mul-@2.json} | 2 +- ...on => end-is-greater-than-size-again.json} | 2 +- ...ze2.json => end-is-greater-than-size.json} | 2 +- ... end-is-zero-and-does-not-equal-size.json} | 2 +- 59 files changed, 68 insertions(+), 68 deletions(-) rename testdata/subtreeconsistency/1/{size1-XOR-@2.json => end-XOR-@2.json} (93%) rename testdata/subtreeconsistency/1/{size1-plus-@1.json => end-plus-@1.json} (92%) rename testdata/subtreeconsistency/1/{size1-sub-@1.json => end-sub-@1.json} (93%) rename testdata/subtreeconsistency/1/{size2-div-@2.json => size-div-@2.json} (93%) rename testdata/subtreeconsistency/1/{size2-mul-@2.json => size-mul-@2.json} (93%) rename testdata/subtreeconsistency/10/{size1-XOR-@2.json => end-XOR-@2.json} (92%) rename testdata/subtreeconsistency/10/{size1-plus-@1.json => end-plus-@1.json} (91%) rename testdata/subtreeconsistency/10/{size1-sub-@1.json => end-sub-@1.json} (92%) rename testdata/subtreeconsistency/10/{size2-div-@2.json => size-div-@2.json} (92%) rename testdata/subtreeconsistency/10/{size2-mul-@2.json => size-mul-@2.json} (92%) rename testdata/subtreeconsistency/11/{size1-XOR-@2.json => end-XOR-@2.json} (93%) rename testdata/subtreeconsistency/11/{size1-plus-@1.json => end-plus-@1.json} (93%) rename testdata/subtreeconsistency/11/{size1-sub-@1.json => end-sub-@1.json} (93%) rename testdata/subtreeconsistency/11/{size2-div-@2.json => size-div-@2.json} (93%) rename testdata/subtreeconsistency/11/{size2-mul-@2.json => size-mul-@2.json} (93%) rename testdata/subtreeconsistency/2/{size1-XOR-@2.json => end-XOR-@2.json} (93%) rename testdata/subtreeconsistency/2/{size1-plus-@1.json => end-plus-@1.json} (92%) rename testdata/subtreeconsistency/2/{size1-sub-@1.json => end-sub-@1.json} (93%) rename testdata/subtreeconsistency/2/{size2-div-@2.json => size-div-@2.json} (93%) rename testdata/subtreeconsistency/2/{size2-mul-@2.json => size-mul-@2.json} (93%) rename testdata/subtreeconsistency/3/{size1-XOR-@2.json => end-XOR-@2.json} (92%) rename testdata/subtreeconsistency/3/{size1-plus-@1.json => end-plus-@1.json} (91%) rename testdata/subtreeconsistency/3/{size1-sub-@1.json => end-sub-@1.json} (92%) rename testdata/subtreeconsistency/3/{size2-div-@2.json => size-div-@2.json} (92%) rename testdata/subtreeconsistency/3/{size2-mul-@2.json => size-mul-@2.json} (92%) rename testdata/subtreeconsistency/4/{size1-XOR-@2.json => end-XOR-@2.json} (93%) rename testdata/subtreeconsistency/4/{size1-plus-@1.json => end-plus-@1.json} (92%) rename testdata/subtreeconsistency/4/{size1-sub-@1.json => end-sub-@1.json} (93%) rename testdata/subtreeconsistency/4/{size2-div-@2.json => size-div-@2.json} (93%) rename testdata/subtreeconsistency/4/{size2-mul-@2.json => size-mul-@2.json} (93%) rename testdata/subtreeconsistency/5/{size1-XOR-@2.json => end-XOR-@2.json} (93%) rename testdata/subtreeconsistency/5/{size1-plus-@1.json => end-plus-@1.json} (92%) rename testdata/subtreeconsistency/5/{size1-sub-@1.json => end-sub-@1.json} (93%) rename testdata/subtreeconsistency/5/{size2-div-@2.json => size-div-@2.json} (93%) rename testdata/subtreeconsistency/5/{size2-mul-@2.json => size-mul-@2.json} (93%) rename testdata/subtreeconsistency/6/{size1-XOR-@2.json => end-XOR-@2.json} (90%) rename testdata/subtreeconsistency/6/{size1-plus-@1.json => end-plus-@1.json} (90%) rename testdata/subtreeconsistency/6/{size1-sub-@1.json => end-sub-@1.json} (90%) rename testdata/subtreeconsistency/6/{size2-div-@2.json => size-div-@2.json} (90%) rename testdata/subtreeconsistency/6/{size2-mul-@2.json => size-mul-@2.json} (90%) rename testdata/subtreeconsistency/7/{size1-XOR-@2.json => end-XOR-@2.json} (92%) rename testdata/subtreeconsistency/7/{size1-plus-@1.json => end-plus-@1.json} (91%) rename testdata/subtreeconsistency/7/{size1-sub-@1.json => end-sub-@1.json} (92%) rename testdata/subtreeconsistency/7/{size2-div-@2.json => size-div-@2.json} (92%) rename testdata/subtreeconsistency/7/{size2-mul-@2.json => size-mul-@2.json} (92%) rename testdata/subtreeconsistency/8/{size1-XOR-@2.json => end-XOR-@2.json} (90%) rename testdata/subtreeconsistency/8/{size1-plus-@1.json => end-plus-@1.json} (90%) rename testdata/subtreeconsistency/8/{size1-sub-@1.json => end-sub-@1.json} (90%) rename testdata/subtreeconsistency/8/{size2-div-@2.json => size-div-@2.json} (90%) rename testdata/subtreeconsistency/8/{size2-mul-@2.json => size-mul-@2.json} (90%) rename testdata/subtreeconsistency/9/{size1-XOR-@2.json => end-XOR-@2.json} (93%) rename testdata/subtreeconsistency/9/{size1-plus-@1.json => end-plus-@1.json} (92%) rename testdata/subtreeconsistency/9/{size1-sub-@1.json => end-sub-@1.json} (93%) rename testdata/subtreeconsistency/9/{size2-div-@2.json => size-div-@2.json} (93%) rename testdata/subtreeconsistency/9/{size2-mul-@2.json => size-mul-@2.json} (93%) rename testdata/subtreeconsistency/additional/{size1-is-greater-than-size2-again.json => end-is-greater-than-size-again.json} (74%) rename testdata/subtreeconsistency/additional/{size1-is-greater-than-size2.json => end-is-greater-than-size.json} (76%) rename testdata/subtreeconsistency/additional/{size1-is-zero-and-does-not-equal-size2.json => end-is-zero-and-does-not-equal-size.json} (72%) diff --git a/cmd/proofgen/main.go b/cmd/proofgen/main.go index b73d978a..ade313bf 100644 --- a/cmd/proofgen/main.go +++ b/cmd/proofgen/main.go @@ -786,13 +786,13 @@ func corruptedSubtreeConsistencyProbes(dir string, start, end, size uint64, proo func invalidSubtreeConsistencyProof(start, end, size uint64, root1, root2 []byte, proof [][]byte) []subtreeConsistencyProbe { ln := len(proof) ret := []subtreeConsistencyProbe{ - // Wrong end (size1). - {start, end - 1, size, root1, root2, proof, "size1 sub @1", true}, - {start, end + 1, size, root1, root2, proof, "size1 plus @1", true}, - {start, end ^ 2, size, root1, root2, proof, "size1 XOR @2", true}, - // Wrong tree size (size2). - {start, end, size * 2, root1, root2, proof, "size2 mul @2", true}, - {start, end, size / 2, root1, root2, proof, "size2 div @2", true}, + // Wrong end. + {start, end - 1, size, root1, root2, proof, "end sub @1", true}, + {start, end + 1, size, root1, root2, proof, "end plus @1", true}, + {start, end ^ 2, size, root1, root2, proof, "end XOR @2", true}, + // Wrong tree size. + {start, end, size * 2, root1, root2, proof, "size mul @2", true}, + {start, end, size / 2, root1, root2, proof, "size div @2", true}, // Wrong root. {start, end, size, []byte("WrongRoot"), root2, proof, "wrong root1", true}, {start, end, size, root1, []byte("WrongRoot"), proof, "wrong root2", true}, @@ -836,7 +836,7 @@ func staticSubtreeConsistencyProbes(dir string) error { for _, p := range []subtreeConsistencyProbe{ {0, 0, 0, root1, root2, proof1, "sizes are equal (zero) but roots are not", true}, {0, 1, 1, root1, root2, proof1, "sizes are equal (one) but roots are not", true}, - {0, 0, 1, root1, root2, proof1, "size1 is zero and does not equal size2", true}, + {0, 0, 1, root1, root2, proof1, "end is zero and does not equal size", true}, // Sizes that are always consistent. {0, 1, 1, root2, root2, proof1, "sizes are equal (one) and proof is empty", false}, // Empty subtree @@ -859,8 +859,8 @@ func staticSubtreeConsistencyProbes(dir string) error { {2, 5, 8, root1, root2, proof1, "invalid subtree start 2 end 5 size 8", true}, {2, 6, 8, root1, root2, proof1, "invalid subtree start 2 end 6 size 8", true}, // Time travel to the past. - {0, 1, 0, root1, root2, proof1, "size1 is greater than size2", true}, - {0, 2, 1, root1, root2, proof1, "size1 is greater than size2 again", true}, + {0, 1, 0, root1, root2, proof1, "end is greater than size", true}, + {0, 2, 1, root1, root2, proof1, "end is greater than size again", true}, // Empty proof. {0, 1, 2, root1, root2, proof1, "sizes do not match and proof is empty", true}, // Roots don't match. diff --git a/testdata/subtreeconsistency/1/size1-XOR-@2.json b/testdata/subtreeconsistency/1/end-XOR-@2.json similarity index 93% rename from testdata/subtreeconsistency/1/size1-XOR-@2.json rename to testdata/subtreeconsistency/1/end-XOR-@2.json index 732842cc..4e361e24 100644 --- a/testdata/subtreeconsistency/1/size1-XOR-@2.json +++ b/testdata/subtreeconsistency/1/end-XOR-@2.json @@ -9,6 +9,6 @@ "Xwg/ChozygdqlSeYMlgNs+DvRYS9/x9UyKNg9Q3jAx4=", "a0eq8p7jwq+a+Im8H7klTavTEXfxYjLdaqsDXKOb9uQ=" ], - "desc": "size1 XOR @2", + "desc": "end XOR @2", "wantErr": true } \ No newline at end of file diff --git a/testdata/subtreeconsistency/1/size1-plus-@1.json b/testdata/subtreeconsistency/1/end-plus-@1.json similarity index 92% rename from testdata/subtreeconsistency/1/size1-plus-@1.json rename to testdata/subtreeconsistency/1/end-plus-@1.json index 909de23c..89ab970d 100644 --- a/testdata/subtreeconsistency/1/size1-plus-@1.json +++ b/testdata/subtreeconsistency/1/end-plus-@1.json @@ -9,6 +9,6 @@ "Xwg/ChozygdqlSeYMlgNs+DvRYS9/x9UyKNg9Q3jAx4=", "a0eq8p7jwq+a+Im8H7klTavTEXfxYjLdaqsDXKOb9uQ=" ], - "desc": "size1 plus @1", + "desc": "end plus @1", "wantErr": true } \ No newline at end of file diff --git a/testdata/subtreeconsistency/1/size1-sub-@1.json b/testdata/subtreeconsistency/1/end-sub-@1.json similarity index 93% rename from testdata/subtreeconsistency/1/size1-sub-@1.json rename to testdata/subtreeconsistency/1/end-sub-@1.json index 1877f8a7..6c73de19 100644 --- a/testdata/subtreeconsistency/1/size1-sub-@1.json +++ b/testdata/subtreeconsistency/1/end-sub-@1.json @@ -9,6 +9,6 @@ "Xwg/ChozygdqlSeYMlgNs+DvRYS9/x9UyKNg9Q3jAx4=", "a0eq8p7jwq+a+Im8H7klTavTEXfxYjLdaqsDXKOb9uQ=" ], - "desc": "size1 sub @1", + "desc": "end sub @1", "wantErr": true } \ No newline at end of file diff --git a/testdata/subtreeconsistency/1/size2-div-@2.json b/testdata/subtreeconsistency/1/size-div-@2.json similarity index 93% rename from testdata/subtreeconsistency/1/size2-div-@2.json rename to testdata/subtreeconsistency/1/size-div-@2.json index d9f39c5e..10cb8746 100644 --- a/testdata/subtreeconsistency/1/size2-div-@2.json +++ b/testdata/subtreeconsistency/1/size-div-@2.json @@ -9,6 +9,6 @@ "Xwg/ChozygdqlSeYMlgNs+DvRYS9/x9UyKNg9Q3jAx4=", "a0eq8p7jwq+a+Im8H7klTavTEXfxYjLdaqsDXKOb9uQ=" ], - "desc": "size2 div @2", + "desc": "size div @2", "wantErr": true } \ No newline at end of file diff --git a/testdata/subtreeconsistency/1/size2-mul-@2.json b/testdata/subtreeconsistency/1/size-mul-@2.json similarity index 93% rename from testdata/subtreeconsistency/1/size2-mul-@2.json rename to testdata/subtreeconsistency/1/size-mul-@2.json index 0278b83a..823820ca 100644 --- a/testdata/subtreeconsistency/1/size2-mul-@2.json +++ b/testdata/subtreeconsistency/1/size-mul-@2.json @@ -9,6 +9,6 @@ "Xwg/ChozygdqlSeYMlgNs+DvRYS9/x9UyKNg9Q3jAx4=", "a0eq8p7jwq+a+Im8H7klTavTEXfxYjLdaqsDXKOb9uQ=" ], - "desc": "size2 mul @2", + "desc": "size mul @2", "wantErr": true } \ No newline at end of file diff --git a/testdata/subtreeconsistency/10/size1-XOR-@2.json b/testdata/subtreeconsistency/10/end-XOR-@2.json similarity index 92% rename from testdata/subtreeconsistency/10/size1-XOR-@2.json rename to testdata/subtreeconsistency/10/end-XOR-@2.json index e5d49a5f..b5da0666 100644 --- a/testdata/subtreeconsistency/10/size1-XOR-@2.json +++ b/testdata/subtreeconsistency/10/end-XOR-@2.json @@ -8,6 +8,6 @@ "+sVCA+fMaWzw38tCySodnbr3CtnmIfS9jZhmLwDjwSU=", "a0eq8p7jwq+a+Im8H7klTavTEXfxYjLdaqsDXKOb9uQ=" ], - "desc": "size1 XOR @2", + "desc": "end XOR @2", "wantErr": true } \ No newline at end of file diff --git a/testdata/subtreeconsistency/10/size1-plus-@1.json b/testdata/subtreeconsistency/10/end-plus-@1.json similarity index 91% rename from testdata/subtreeconsistency/10/size1-plus-@1.json rename to testdata/subtreeconsistency/10/end-plus-@1.json index 61dfe3ec..c9979bb4 100644 --- a/testdata/subtreeconsistency/10/size1-plus-@1.json +++ b/testdata/subtreeconsistency/10/end-plus-@1.json @@ -8,6 +8,6 @@ "+sVCA+fMaWzw38tCySodnbr3CtnmIfS9jZhmLwDjwSU=", "a0eq8p7jwq+a+Im8H7klTavTEXfxYjLdaqsDXKOb9uQ=" ], - "desc": "size1 plus @1", + "desc": "end plus @1", "wantErr": true } \ No newline at end of file diff --git a/testdata/subtreeconsistency/10/size1-sub-@1.json b/testdata/subtreeconsistency/10/end-sub-@1.json similarity index 92% rename from testdata/subtreeconsistency/10/size1-sub-@1.json rename to testdata/subtreeconsistency/10/end-sub-@1.json index 2010822b..db60ec9f 100644 --- a/testdata/subtreeconsistency/10/size1-sub-@1.json +++ b/testdata/subtreeconsistency/10/end-sub-@1.json @@ -8,6 +8,6 @@ "+sVCA+fMaWzw38tCySodnbr3CtnmIfS9jZhmLwDjwSU=", "a0eq8p7jwq+a+Im8H7klTavTEXfxYjLdaqsDXKOb9uQ=" ], - "desc": "size1 sub @1", + "desc": "end sub @1", "wantErr": true } \ No newline at end of file diff --git a/testdata/subtreeconsistency/10/size2-div-@2.json b/testdata/subtreeconsistency/10/size-div-@2.json similarity index 92% rename from testdata/subtreeconsistency/10/size2-div-@2.json rename to testdata/subtreeconsistency/10/size-div-@2.json index 435f7328..84ccd8db 100644 --- a/testdata/subtreeconsistency/10/size2-div-@2.json +++ b/testdata/subtreeconsistency/10/size-div-@2.json @@ -8,6 +8,6 @@ "+sVCA+fMaWzw38tCySodnbr3CtnmIfS9jZhmLwDjwSU=", "a0eq8p7jwq+a+Im8H7klTavTEXfxYjLdaqsDXKOb9uQ=" ], - "desc": "size2 div @2", + "desc": "size div @2", "wantErr": true } \ No newline at end of file diff --git a/testdata/subtreeconsistency/10/size2-mul-@2.json b/testdata/subtreeconsistency/10/size-mul-@2.json similarity index 92% rename from testdata/subtreeconsistency/10/size2-mul-@2.json rename to testdata/subtreeconsistency/10/size-mul-@2.json index a8013690..f7b59767 100644 --- a/testdata/subtreeconsistency/10/size2-mul-@2.json +++ b/testdata/subtreeconsistency/10/size-mul-@2.json @@ -8,6 +8,6 @@ "+sVCA+fMaWzw38tCySodnbr3CtnmIfS9jZhmLwDjwSU=", "a0eq8p7jwq+a+Im8H7klTavTEXfxYjLdaqsDXKOb9uQ=" ], - "desc": "size2 mul @2", + "desc": "size mul @2", "wantErr": true } \ No newline at end of file diff --git a/testdata/subtreeconsistency/11/size1-XOR-@2.json b/testdata/subtreeconsistency/11/end-XOR-@2.json similarity index 93% rename from testdata/subtreeconsistency/11/size1-XOR-@2.json rename to testdata/subtreeconsistency/11/end-XOR-@2.json index 6b397b0d..03cba485 100644 --- a/testdata/subtreeconsistency/11/size1-XOR-@2.json +++ b/testdata/subtreeconsistency/11/end-XOR-@2.json @@ -10,6 +10,6 @@ "DrxdNDf74tsVi58Sah0RjjCBgQMdCpSfje3t68VY72o=", "037kGJdt2VdTwcc4Yrk5j6Kiz5tP8P3+izDNlSCWFLc=" ], - "desc": "size1 XOR @2", + "desc": "end XOR @2", "wantErr": true } \ No newline at end of file diff --git a/testdata/subtreeconsistency/11/size1-plus-@1.json b/testdata/subtreeconsistency/11/end-plus-@1.json similarity index 93% rename from testdata/subtreeconsistency/11/size1-plus-@1.json rename to testdata/subtreeconsistency/11/end-plus-@1.json index 2a14f291..2b7a3397 100644 --- a/testdata/subtreeconsistency/11/size1-plus-@1.json +++ b/testdata/subtreeconsistency/11/end-plus-@1.json @@ -10,6 +10,6 @@ "DrxdNDf74tsVi58Sah0RjjCBgQMdCpSfje3t68VY72o=", "037kGJdt2VdTwcc4Yrk5j6Kiz5tP8P3+izDNlSCWFLc=" ], - "desc": "size1 plus @1", + "desc": "end plus @1", "wantErr": true } \ No newline at end of file diff --git a/testdata/subtreeconsistency/11/size1-sub-@1.json b/testdata/subtreeconsistency/11/end-sub-@1.json similarity index 93% rename from testdata/subtreeconsistency/11/size1-sub-@1.json rename to testdata/subtreeconsistency/11/end-sub-@1.json index 097e2852..de0acb77 100644 --- a/testdata/subtreeconsistency/11/size1-sub-@1.json +++ b/testdata/subtreeconsistency/11/end-sub-@1.json @@ -10,6 +10,6 @@ "DrxdNDf74tsVi58Sah0RjjCBgQMdCpSfje3t68VY72o=", "037kGJdt2VdTwcc4Yrk5j6Kiz5tP8P3+izDNlSCWFLc=" ], - "desc": "size1 sub @1", + "desc": "end sub @1", "wantErr": true } \ No newline at end of file diff --git a/testdata/subtreeconsistency/11/size2-div-@2.json b/testdata/subtreeconsistency/11/size-div-@2.json similarity index 93% rename from testdata/subtreeconsistency/11/size2-div-@2.json rename to testdata/subtreeconsistency/11/size-div-@2.json index 5e184921..2fa8dd23 100644 --- a/testdata/subtreeconsistency/11/size2-div-@2.json +++ b/testdata/subtreeconsistency/11/size-div-@2.json @@ -10,6 +10,6 @@ "DrxdNDf74tsVi58Sah0RjjCBgQMdCpSfje3t68VY72o=", "037kGJdt2VdTwcc4Yrk5j6Kiz5tP8P3+izDNlSCWFLc=" ], - "desc": "size2 div @2", + "desc": "size div @2", "wantErr": true } \ No newline at end of file diff --git a/testdata/subtreeconsistency/11/size2-mul-@2.json b/testdata/subtreeconsistency/11/size-mul-@2.json similarity index 93% rename from testdata/subtreeconsistency/11/size2-mul-@2.json rename to testdata/subtreeconsistency/11/size-mul-@2.json index 5d8880bb..c31359ce 100644 --- a/testdata/subtreeconsistency/11/size2-mul-@2.json +++ b/testdata/subtreeconsistency/11/size-mul-@2.json @@ -10,6 +10,6 @@ "DrxdNDf74tsVi58Sah0RjjCBgQMdCpSfje3t68VY72o=", "037kGJdt2VdTwcc4Yrk5j6Kiz5tP8P3+izDNlSCWFLc=" ], - "desc": "size2 mul @2", + "desc": "size mul @2", "wantErr": true } \ No newline at end of file diff --git a/testdata/subtreeconsistency/2/size1-XOR-@2.json b/testdata/subtreeconsistency/2/end-XOR-@2.json similarity index 93% rename from testdata/subtreeconsistency/2/size1-XOR-@2.json rename to testdata/subtreeconsistency/2/end-XOR-@2.json index a2d8caa1..d4ff8c34 100644 --- a/testdata/subtreeconsistency/2/size1-XOR-@2.json +++ b/testdata/subtreeconsistency/2/end-XOR-@2.json @@ -9,6 +9,6 @@ "yoVOoSjtBQtBs1/8G4e46yveRh6eO1WW7Oa51ZdaCuA=", "037kGJdt2VdTwcc4Yrk5j6Kiz5tP8P3+izDNlSCWFLc=" ], - "desc": "size1 XOR @2", + "desc": "end XOR @2", "wantErr": true } \ No newline at end of file diff --git a/testdata/subtreeconsistency/2/size1-plus-@1.json b/testdata/subtreeconsistency/2/end-plus-@1.json similarity index 92% rename from testdata/subtreeconsistency/2/size1-plus-@1.json rename to testdata/subtreeconsistency/2/end-plus-@1.json index 3b6ee96f..9d3ea22c 100644 --- a/testdata/subtreeconsistency/2/size1-plus-@1.json +++ b/testdata/subtreeconsistency/2/end-plus-@1.json @@ -9,6 +9,6 @@ "yoVOoSjtBQtBs1/8G4e46yveRh6eO1WW7Oa51ZdaCuA=", "037kGJdt2VdTwcc4Yrk5j6Kiz5tP8P3+izDNlSCWFLc=" ], - "desc": "size1 plus @1", + "desc": "end plus @1", "wantErr": true } \ No newline at end of file diff --git a/testdata/subtreeconsistency/2/size1-sub-@1.json b/testdata/subtreeconsistency/2/end-sub-@1.json similarity index 93% rename from testdata/subtreeconsistency/2/size1-sub-@1.json rename to testdata/subtreeconsistency/2/end-sub-@1.json index c6b466fb..88647e2b 100644 --- a/testdata/subtreeconsistency/2/size1-sub-@1.json +++ b/testdata/subtreeconsistency/2/end-sub-@1.json @@ -9,6 +9,6 @@ "yoVOoSjtBQtBs1/8G4e46yveRh6eO1WW7Oa51ZdaCuA=", "037kGJdt2VdTwcc4Yrk5j6Kiz5tP8P3+izDNlSCWFLc=" ], - "desc": "size1 sub @1", + "desc": "end sub @1", "wantErr": true } \ No newline at end of file diff --git a/testdata/subtreeconsistency/2/size2-div-@2.json b/testdata/subtreeconsistency/2/size-div-@2.json similarity index 93% rename from testdata/subtreeconsistency/2/size2-div-@2.json rename to testdata/subtreeconsistency/2/size-div-@2.json index 330a0d51..c0999960 100644 --- a/testdata/subtreeconsistency/2/size2-div-@2.json +++ b/testdata/subtreeconsistency/2/size-div-@2.json @@ -9,6 +9,6 @@ "yoVOoSjtBQtBs1/8G4e46yveRh6eO1WW7Oa51ZdaCuA=", "037kGJdt2VdTwcc4Yrk5j6Kiz5tP8P3+izDNlSCWFLc=" ], - "desc": "size2 div @2", + "desc": "size div @2", "wantErr": true } \ No newline at end of file diff --git a/testdata/subtreeconsistency/2/size2-mul-@2.json b/testdata/subtreeconsistency/2/size-mul-@2.json similarity index 93% rename from testdata/subtreeconsistency/2/size2-mul-@2.json rename to testdata/subtreeconsistency/2/size-mul-@2.json index d7be269b..687360dd 100644 --- a/testdata/subtreeconsistency/2/size2-mul-@2.json +++ b/testdata/subtreeconsistency/2/size-mul-@2.json @@ -9,6 +9,6 @@ "yoVOoSjtBQtBs1/8G4e46yveRh6eO1WW7Oa51ZdaCuA=", "037kGJdt2VdTwcc4Yrk5j6Kiz5tP8P3+izDNlSCWFLc=" ], - "desc": "size2 mul @2", + "desc": "size mul @2", "wantErr": true } \ No newline at end of file diff --git a/testdata/subtreeconsistency/3/size1-XOR-@2.json b/testdata/subtreeconsistency/3/end-XOR-@2.json similarity index 92% rename from testdata/subtreeconsistency/3/size1-XOR-@2.json rename to testdata/subtreeconsistency/3/end-XOR-@2.json index d7bc00d3..35713072 100644 --- a/testdata/subtreeconsistency/3/size1-XOR-@2.json +++ b/testdata/subtreeconsistency/3/end-XOR-@2.json @@ -8,6 +8,6 @@ "Xwg/ChozygdqlSeYMlgNs+DvRYS9/x9UyKNg9Q3jAx4=", "vBoGQ7EuTS18d5GPROD095qDi2z57FtcKD4fTYhZnms=" ], - "desc": "size1 XOR @2", + "desc": "end XOR @2", "wantErr": true } \ No newline at end of file diff --git a/testdata/subtreeconsistency/3/size1-plus-@1.json b/testdata/subtreeconsistency/3/end-plus-@1.json similarity index 91% rename from testdata/subtreeconsistency/3/size1-plus-@1.json rename to testdata/subtreeconsistency/3/end-plus-@1.json index 1bbca1d7..f32f918e 100644 --- a/testdata/subtreeconsistency/3/size1-plus-@1.json +++ b/testdata/subtreeconsistency/3/end-plus-@1.json @@ -8,6 +8,6 @@ "Xwg/ChozygdqlSeYMlgNs+DvRYS9/x9UyKNg9Q3jAx4=", "vBoGQ7EuTS18d5GPROD095qDi2z57FtcKD4fTYhZnms=" ], - "desc": "size1 plus @1", + "desc": "end plus @1", "wantErr": true } \ No newline at end of file diff --git a/testdata/subtreeconsistency/3/size1-sub-@1.json b/testdata/subtreeconsistency/3/end-sub-@1.json similarity index 92% rename from testdata/subtreeconsistency/3/size1-sub-@1.json rename to testdata/subtreeconsistency/3/end-sub-@1.json index 1b8fd06f..50abf1f9 100644 --- a/testdata/subtreeconsistency/3/size1-sub-@1.json +++ b/testdata/subtreeconsistency/3/end-sub-@1.json @@ -8,6 +8,6 @@ "Xwg/ChozygdqlSeYMlgNs+DvRYS9/x9UyKNg9Q3jAx4=", "vBoGQ7EuTS18d5GPROD095qDi2z57FtcKD4fTYhZnms=" ], - "desc": "size1 sub @1", + "desc": "end sub @1", "wantErr": true } \ No newline at end of file diff --git a/testdata/subtreeconsistency/3/size2-div-@2.json b/testdata/subtreeconsistency/3/size-div-@2.json similarity index 92% rename from testdata/subtreeconsistency/3/size2-div-@2.json rename to testdata/subtreeconsistency/3/size-div-@2.json index 2b542d51..785f5edf 100644 --- a/testdata/subtreeconsistency/3/size2-div-@2.json +++ b/testdata/subtreeconsistency/3/size-div-@2.json @@ -8,6 +8,6 @@ "Xwg/ChozygdqlSeYMlgNs+DvRYS9/x9UyKNg9Q3jAx4=", "vBoGQ7EuTS18d5GPROD095qDi2z57FtcKD4fTYhZnms=" ], - "desc": "size2 div @2", + "desc": "size div @2", "wantErr": true } \ No newline at end of file diff --git a/testdata/subtreeconsistency/3/size2-mul-@2.json b/testdata/subtreeconsistency/3/size-mul-@2.json similarity index 92% rename from testdata/subtreeconsistency/3/size2-mul-@2.json rename to testdata/subtreeconsistency/3/size-mul-@2.json index 21bc88ed..51e216c8 100644 --- a/testdata/subtreeconsistency/3/size2-mul-@2.json +++ b/testdata/subtreeconsistency/3/size-mul-@2.json @@ -8,6 +8,6 @@ "Xwg/ChozygdqlSeYMlgNs+DvRYS9/x9UyKNg9Q3jAx4=", "vBoGQ7EuTS18d5GPROD095qDi2z57FtcKD4fTYhZnms=" ], - "desc": "size2 mul @2", + "desc": "size mul @2", "wantErr": true } \ No newline at end of file diff --git a/testdata/subtreeconsistency/4/size1-XOR-@2.json b/testdata/subtreeconsistency/4/end-XOR-@2.json similarity index 93% rename from testdata/subtreeconsistency/4/size1-XOR-@2.json rename to testdata/subtreeconsistency/4/end-XOR-@2.json index 4eb72753..96534f1a 100644 --- a/testdata/subtreeconsistency/4/size1-XOR-@2.json +++ b/testdata/subtreeconsistency/4/end-XOR-@2.json @@ -9,6 +9,6 @@ "sIaT7C5yFZcTBkHoIR5+7cy0wmQTlj7ubB4u0W/7Gl8=", "037kGJdt2VdTwcc4Yrk5j6Kiz5tP8P3+izDNlSCWFLc=" ], - "desc": "size1 XOR @2", + "desc": "end XOR @2", "wantErr": true } \ No newline at end of file diff --git a/testdata/subtreeconsistency/4/size1-plus-@1.json b/testdata/subtreeconsistency/4/end-plus-@1.json similarity index 92% rename from testdata/subtreeconsistency/4/size1-plus-@1.json rename to testdata/subtreeconsistency/4/end-plus-@1.json index a977930a..4bb33547 100644 --- a/testdata/subtreeconsistency/4/size1-plus-@1.json +++ b/testdata/subtreeconsistency/4/end-plus-@1.json @@ -9,6 +9,6 @@ "sIaT7C5yFZcTBkHoIR5+7cy0wmQTlj7ubB4u0W/7Gl8=", "037kGJdt2VdTwcc4Yrk5j6Kiz5tP8P3+izDNlSCWFLc=" ], - "desc": "size1 plus @1", + "desc": "end plus @1", "wantErr": true } \ No newline at end of file diff --git a/testdata/subtreeconsistency/4/size1-sub-@1.json b/testdata/subtreeconsistency/4/end-sub-@1.json similarity index 93% rename from testdata/subtreeconsistency/4/size1-sub-@1.json rename to testdata/subtreeconsistency/4/end-sub-@1.json index 75ae87a4..4a8d9996 100644 --- a/testdata/subtreeconsistency/4/size1-sub-@1.json +++ b/testdata/subtreeconsistency/4/end-sub-@1.json @@ -9,6 +9,6 @@ "sIaT7C5yFZcTBkHoIR5+7cy0wmQTlj7ubB4u0W/7Gl8=", "037kGJdt2VdTwcc4Yrk5j6Kiz5tP8P3+izDNlSCWFLc=" ], - "desc": "size1 sub @1", + "desc": "end sub @1", "wantErr": true } \ No newline at end of file diff --git a/testdata/subtreeconsistency/4/size2-div-@2.json b/testdata/subtreeconsistency/4/size-div-@2.json similarity index 93% rename from testdata/subtreeconsistency/4/size2-div-@2.json rename to testdata/subtreeconsistency/4/size-div-@2.json index 6644524e..926f4135 100644 --- a/testdata/subtreeconsistency/4/size2-div-@2.json +++ b/testdata/subtreeconsistency/4/size-div-@2.json @@ -9,6 +9,6 @@ "sIaT7C5yFZcTBkHoIR5+7cy0wmQTlj7ubB4u0W/7Gl8=", "037kGJdt2VdTwcc4Yrk5j6Kiz5tP8P3+izDNlSCWFLc=" ], - "desc": "size2 div @2", + "desc": "size div @2", "wantErr": true } \ No newline at end of file diff --git a/testdata/subtreeconsistency/4/size2-mul-@2.json b/testdata/subtreeconsistency/4/size-mul-@2.json similarity index 93% rename from testdata/subtreeconsistency/4/size2-mul-@2.json rename to testdata/subtreeconsistency/4/size-mul-@2.json index 3972017b..bd00650b 100644 --- a/testdata/subtreeconsistency/4/size2-mul-@2.json +++ b/testdata/subtreeconsistency/4/size-mul-@2.json @@ -9,6 +9,6 @@ "sIaT7C5yFZcTBkHoIR5+7cy0wmQTlj7ubB4u0W/7Gl8=", "037kGJdt2VdTwcc4Yrk5j6Kiz5tP8P3+izDNlSCWFLc=" ], - "desc": "size2 mul @2", + "desc": "size mul @2", "wantErr": true } \ No newline at end of file diff --git a/testdata/subtreeconsistency/5/size1-XOR-@2.json b/testdata/subtreeconsistency/5/end-XOR-@2.json similarity index 93% rename from testdata/subtreeconsistency/5/size1-XOR-@2.json rename to testdata/subtreeconsistency/5/end-XOR-@2.json index 306e58b9..bc051e31 100644 --- a/testdata/subtreeconsistency/5/size1-XOR-@2.json +++ b/testdata/subtreeconsistency/5/end-XOR-@2.json @@ -9,6 +9,6 @@ "DrxdNDf74tsVi58Sah0RjjCBgQMdCpSfje3t68VY72o=", "037kGJdt2VdTwcc4Yrk5j6Kiz5tP8P3+izDNlSCWFLc=" ], - "desc": "size1 XOR @2", + "desc": "end XOR @2", "wantErr": true } \ No newline at end of file diff --git a/testdata/subtreeconsistency/5/size1-plus-@1.json b/testdata/subtreeconsistency/5/end-plus-@1.json similarity index 92% rename from testdata/subtreeconsistency/5/size1-plus-@1.json rename to testdata/subtreeconsistency/5/end-plus-@1.json index 7b97a4ca..6b9c5221 100644 --- a/testdata/subtreeconsistency/5/size1-plus-@1.json +++ b/testdata/subtreeconsistency/5/end-plus-@1.json @@ -9,6 +9,6 @@ "DrxdNDf74tsVi58Sah0RjjCBgQMdCpSfje3t68VY72o=", "037kGJdt2VdTwcc4Yrk5j6Kiz5tP8P3+izDNlSCWFLc=" ], - "desc": "size1 plus @1", + "desc": "end plus @1", "wantErr": true } \ No newline at end of file diff --git a/testdata/subtreeconsistency/5/size1-sub-@1.json b/testdata/subtreeconsistency/5/end-sub-@1.json similarity index 93% rename from testdata/subtreeconsistency/5/size1-sub-@1.json rename to testdata/subtreeconsistency/5/end-sub-@1.json index 92e6e2e8..56b86916 100644 --- a/testdata/subtreeconsistency/5/size1-sub-@1.json +++ b/testdata/subtreeconsistency/5/end-sub-@1.json @@ -9,6 +9,6 @@ "DrxdNDf74tsVi58Sah0RjjCBgQMdCpSfje3t68VY72o=", "037kGJdt2VdTwcc4Yrk5j6Kiz5tP8P3+izDNlSCWFLc=" ], - "desc": "size1 sub @1", + "desc": "end sub @1", "wantErr": true } \ No newline at end of file diff --git a/testdata/subtreeconsistency/5/size2-div-@2.json b/testdata/subtreeconsistency/5/size-div-@2.json similarity index 93% rename from testdata/subtreeconsistency/5/size2-div-@2.json rename to testdata/subtreeconsistency/5/size-div-@2.json index b42789cb..d7629db5 100644 --- a/testdata/subtreeconsistency/5/size2-div-@2.json +++ b/testdata/subtreeconsistency/5/size-div-@2.json @@ -9,6 +9,6 @@ "DrxdNDf74tsVi58Sah0RjjCBgQMdCpSfje3t68VY72o=", "037kGJdt2VdTwcc4Yrk5j6Kiz5tP8P3+izDNlSCWFLc=" ], - "desc": "size2 div @2", + "desc": "size div @2", "wantErr": true } \ No newline at end of file diff --git a/testdata/subtreeconsistency/5/size2-mul-@2.json b/testdata/subtreeconsistency/5/size-mul-@2.json similarity index 93% rename from testdata/subtreeconsistency/5/size2-mul-@2.json rename to testdata/subtreeconsistency/5/size-mul-@2.json index 8e68bf8c..75ac7d6b 100644 --- a/testdata/subtreeconsistency/5/size2-mul-@2.json +++ b/testdata/subtreeconsistency/5/size-mul-@2.json @@ -9,6 +9,6 @@ "DrxdNDf74tsVi58Sah0RjjCBgQMdCpSfje3t68VY72o=", "037kGJdt2VdTwcc4Yrk5j6Kiz5tP8P3+izDNlSCWFLc=" ], - "desc": "size2 mul @2", + "desc": "size mul @2", "wantErr": true } \ No newline at end of file diff --git a/testdata/subtreeconsistency/6/size1-XOR-@2.json b/testdata/subtreeconsistency/6/end-XOR-@2.json similarity index 90% rename from testdata/subtreeconsistency/6/size1-XOR-@2.json rename to testdata/subtreeconsistency/6/end-XOR-@2.json index a6645813..73a051c2 100644 --- a/testdata/subtreeconsistency/6/size1-XOR-@2.json +++ b/testdata/subtreeconsistency/6/end-XOR-@2.json @@ -7,6 +7,6 @@ "proof": [ "037kGJdt2VdTwcc4Yrk5j6Kiz5tP8P3+izDNlSCWFLc=" ], - "desc": "size1 XOR @2", + "desc": "end XOR @2", "wantErr": true } \ No newline at end of file diff --git a/testdata/subtreeconsistency/6/size1-plus-@1.json b/testdata/subtreeconsistency/6/end-plus-@1.json similarity index 90% rename from testdata/subtreeconsistency/6/size1-plus-@1.json rename to testdata/subtreeconsistency/6/end-plus-@1.json index 50313351..1ae22424 100644 --- a/testdata/subtreeconsistency/6/size1-plus-@1.json +++ b/testdata/subtreeconsistency/6/end-plus-@1.json @@ -7,6 +7,6 @@ "proof": [ "037kGJdt2VdTwcc4Yrk5j6Kiz5tP8P3+izDNlSCWFLc=" ], - "desc": "size1 plus @1", + "desc": "end plus @1", "wantErr": true } \ No newline at end of file diff --git a/testdata/subtreeconsistency/6/size1-sub-@1.json b/testdata/subtreeconsistency/6/end-sub-@1.json similarity index 90% rename from testdata/subtreeconsistency/6/size1-sub-@1.json rename to testdata/subtreeconsistency/6/end-sub-@1.json index c9a073b5..1ac356c1 100644 --- a/testdata/subtreeconsistency/6/size1-sub-@1.json +++ b/testdata/subtreeconsistency/6/end-sub-@1.json @@ -7,6 +7,6 @@ "proof": [ "037kGJdt2VdTwcc4Yrk5j6Kiz5tP8P3+izDNlSCWFLc=" ], - "desc": "size1 sub @1", + "desc": "end sub @1", "wantErr": true } \ No newline at end of file diff --git a/testdata/subtreeconsistency/6/size2-div-@2.json b/testdata/subtreeconsistency/6/size-div-@2.json similarity index 90% rename from testdata/subtreeconsistency/6/size2-div-@2.json rename to testdata/subtreeconsistency/6/size-div-@2.json index e93612c2..ec760798 100644 --- a/testdata/subtreeconsistency/6/size2-div-@2.json +++ b/testdata/subtreeconsistency/6/size-div-@2.json @@ -7,6 +7,6 @@ "proof": [ "037kGJdt2VdTwcc4Yrk5j6Kiz5tP8P3+izDNlSCWFLc=" ], - "desc": "size2 div @2", + "desc": "size div @2", "wantErr": true } \ No newline at end of file diff --git a/testdata/subtreeconsistency/6/size2-mul-@2.json b/testdata/subtreeconsistency/6/size-mul-@2.json similarity index 90% rename from testdata/subtreeconsistency/6/size2-mul-@2.json rename to testdata/subtreeconsistency/6/size-mul-@2.json index bbabd898..d6072776 100644 --- a/testdata/subtreeconsistency/6/size2-mul-@2.json +++ b/testdata/subtreeconsistency/6/size-mul-@2.json @@ -7,6 +7,6 @@ "proof": [ "037kGJdt2VdTwcc4Yrk5j6Kiz5tP8P3+izDNlSCWFLc=" ], - "desc": "size2 mul @2", + "desc": "size mul @2", "wantErr": true } \ No newline at end of file diff --git a/testdata/subtreeconsistency/7/size1-XOR-@2.json b/testdata/subtreeconsistency/7/end-XOR-@2.json similarity index 92% rename from testdata/subtreeconsistency/7/size1-XOR-@2.json rename to testdata/subtreeconsistency/7/end-XOR-@2.json index 49499c43..09811191 100644 --- a/testdata/subtreeconsistency/7/size1-XOR-@2.json +++ b/testdata/subtreeconsistency/7/end-XOR-@2.json @@ -8,6 +8,6 @@ "DrxdNDf74tsVi58Sah0RjjCBgQMdCpSfje3t68VY72o=", "037kGJdt2VdTwcc4Yrk5j6Kiz5tP8P3+izDNlSCWFLc=" ], - "desc": "size1 XOR @2", + "desc": "end XOR @2", "wantErr": true } \ No newline at end of file diff --git a/testdata/subtreeconsistency/7/size1-plus-@1.json b/testdata/subtreeconsistency/7/end-plus-@1.json similarity index 91% rename from testdata/subtreeconsistency/7/size1-plus-@1.json rename to testdata/subtreeconsistency/7/end-plus-@1.json index 7b241d6d..cea734f8 100644 --- a/testdata/subtreeconsistency/7/size1-plus-@1.json +++ b/testdata/subtreeconsistency/7/end-plus-@1.json @@ -8,6 +8,6 @@ "DrxdNDf74tsVi58Sah0RjjCBgQMdCpSfje3t68VY72o=", "037kGJdt2VdTwcc4Yrk5j6Kiz5tP8P3+izDNlSCWFLc=" ], - "desc": "size1 plus @1", + "desc": "end plus @1", "wantErr": true } \ No newline at end of file diff --git a/testdata/subtreeconsistency/7/size1-sub-@1.json b/testdata/subtreeconsistency/7/end-sub-@1.json similarity index 92% rename from testdata/subtreeconsistency/7/size1-sub-@1.json rename to testdata/subtreeconsistency/7/end-sub-@1.json index ba9eeb6d..d3c04ba4 100644 --- a/testdata/subtreeconsistency/7/size1-sub-@1.json +++ b/testdata/subtreeconsistency/7/end-sub-@1.json @@ -8,6 +8,6 @@ "DrxdNDf74tsVi58Sah0RjjCBgQMdCpSfje3t68VY72o=", "037kGJdt2VdTwcc4Yrk5j6Kiz5tP8P3+izDNlSCWFLc=" ], - "desc": "size1 sub @1", + "desc": "end sub @1", "wantErr": true } \ No newline at end of file diff --git a/testdata/subtreeconsistency/7/size2-div-@2.json b/testdata/subtreeconsistency/7/size-div-@2.json similarity index 92% rename from testdata/subtreeconsistency/7/size2-div-@2.json rename to testdata/subtreeconsistency/7/size-div-@2.json index 9bf2d0b4..1ca4c90d 100644 --- a/testdata/subtreeconsistency/7/size2-div-@2.json +++ b/testdata/subtreeconsistency/7/size-div-@2.json @@ -8,6 +8,6 @@ "DrxdNDf74tsVi58Sah0RjjCBgQMdCpSfje3t68VY72o=", "037kGJdt2VdTwcc4Yrk5j6Kiz5tP8P3+izDNlSCWFLc=" ], - "desc": "size2 div @2", + "desc": "size div @2", "wantErr": true } \ No newline at end of file diff --git a/testdata/subtreeconsistency/7/size2-mul-@2.json b/testdata/subtreeconsistency/7/size-mul-@2.json similarity index 92% rename from testdata/subtreeconsistency/7/size2-mul-@2.json rename to testdata/subtreeconsistency/7/size-mul-@2.json index e7005be8..c55ae59b 100644 --- a/testdata/subtreeconsistency/7/size2-mul-@2.json +++ b/testdata/subtreeconsistency/7/size-mul-@2.json @@ -8,6 +8,6 @@ "DrxdNDf74tsVi58Sah0RjjCBgQMdCpSfje3t68VY72o=", "037kGJdt2VdTwcc4Yrk5j6Kiz5tP8P3+izDNlSCWFLc=" ], - "desc": "size2 mul @2", + "desc": "size mul @2", "wantErr": true } \ No newline at end of file diff --git a/testdata/subtreeconsistency/8/size1-XOR-@2.json b/testdata/subtreeconsistency/8/end-XOR-@2.json similarity index 90% rename from testdata/subtreeconsistency/8/size1-XOR-@2.json rename to testdata/subtreeconsistency/8/end-XOR-@2.json index fa989edc..bdbe088e 100644 --- a/testdata/subtreeconsistency/8/size1-XOR-@2.json +++ b/testdata/subtreeconsistency/8/end-XOR-@2.json @@ -7,6 +7,6 @@ "proof": [ "037kGJdt2VdTwcc4Yrk5j6Kiz5tP8P3+izDNlSCWFLc=" ], - "desc": "size1 XOR @2", + "desc": "end XOR @2", "wantErr": true } \ No newline at end of file diff --git a/testdata/subtreeconsistency/8/size1-plus-@1.json b/testdata/subtreeconsistency/8/end-plus-@1.json similarity index 90% rename from testdata/subtreeconsistency/8/size1-plus-@1.json rename to testdata/subtreeconsistency/8/end-plus-@1.json index f4eb8da2..4e7e9c3a 100644 --- a/testdata/subtreeconsistency/8/size1-plus-@1.json +++ b/testdata/subtreeconsistency/8/end-plus-@1.json @@ -7,6 +7,6 @@ "proof": [ "037kGJdt2VdTwcc4Yrk5j6Kiz5tP8P3+izDNlSCWFLc=" ], - "desc": "size1 plus @1", + "desc": "end plus @1", "wantErr": true } \ No newline at end of file diff --git a/testdata/subtreeconsistency/8/size1-sub-@1.json b/testdata/subtreeconsistency/8/end-sub-@1.json similarity index 90% rename from testdata/subtreeconsistency/8/size1-sub-@1.json rename to testdata/subtreeconsistency/8/end-sub-@1.json index a80d9b7c..6500888a 100644 --- a/testdata/subtreeconsistency/8/size1-sub-@1.json +++ b/testdata/subtreeconsistency/8/end-sub-@1.json @@ -7,6 +7,6 @@ "proof": [ "037kGJdt2VdTwcc4Yrk5j6Kiz5tP8P3+izDNlSCWFLc=" ], - "desc": "size1 sub @1", + "desc": "end sub @1", "wantErr": true } \ No newline at end of file diff --git a/testdata/subtreeconsistency/8/size2-div-@2.json b/testdata/subtreeconsistency/8/size-div-@2.json similarity index 90% rename from testdata/subtreeconsistency/8/size2-div-@2.json rename to testdata/subtreeconsistency/8/size-div-@2.json index 016cae88..08934427 100644 --- a/testdata/subtreeconsistency/8/size2-div-@2.json +++ b/testdata/subtreeconsistency/8/size-div-@2.json @@ -7,6 +7,6 @@ "proof": [ "037kGJdt2VdTwcc4Yrk5j6Kiz5tP8P3+izDNlSCWFLc=" ], - "desc": "size2 div @2", + "desc": "size div @2", "wantErr": true } \ No newline at end of file diff --git a/testdata/subtreeconsistency/8/size2-mul-@2.json b/testdata/subtreeconsistency/8/size-mul-@2.json similarity index 90% rename from testdata/subtreeconsistency/8/size2-mul-@2.json rename to testdata/subtreeconsistency/8/size-mul-@2.json index 2491be58..9cae1f48 100644 --- a/testdata/subtreeconsistency/8/size2-mul-@2.json +++ b/testdata/subtreeconsistency/8/size-mul-@2.json @@ -7,6 +7,6 @@ "proof": [ "037kGJdt2VdTwcc4Yrk5j6Kiz5tP8P3+izDNlSCWFLc=" ], - "desc": "size2 mul @2", + "desc": "size mul @2", "wantErr": true } \ No newline at end of file diff --git a/testdata/subtreeconsistency/9/size1-XOR-@2.json b/testdata/subtreeconsistency/9/end-XOR-@2.json similarity index 93% rename from testdata/subtreeconsistency/9/size1-XOR-@2.json rename to testdata/subtreeconsistency/9/end-XOR-@2.json index 5336a862..6b03037b 100644 --- a/testdata/subtreeconsistency/9/size1-XOR-@2.json +++ b/testdata/subtreeconsistency/9/end-XOR-@2.json @@ -9,6 +9,6 @@ "yoVOoSjtBQtBs1/8G4e46yveRh6eO1WW7Oa51ZdaCuA=", "037kGJdt2VdTwcc4Yrk5j6Kiz5tP8P3+izDNlSCWFLc=" ], - "desc": "size1 XOR @2", + "desc": "end XOR @2", "wantErr": true } \ No newline at end of file diff --git a/testdata/subtreeconsistency/9/size1-plus-@1.json b/testdata/subtreeconsistency/9/end-plus-@1.json similarity index 92% rename from testdata/subtreeconsistency/9/size1-plus-@1.json rename to testdata/subtreeconsistency/9/end-plus-@1.json index ba189fe4..8d192096 100644 --- a/testdata/subtreeconsistency/9/size1-plus-@1.json +++ b/testdata/subtreeconsistency/9/end-plus-@1.json @@ -9,6 +9,6 @@ "yoVOoSjtBQtBs1/8G4e46yveRh6eO1WW7Oa51ZdaCuA=", "037kGJdt2VdTwcc4Yrk5j6Kiz5tP8P3+izDNlSCWFLc=" ], - "desc": "size1 plus @1", + "desc": "end plus @1", "wantErr": true } \ No newline at end of file diff --git a/testdata/subtreeconsistency/9/size1-sub-@1.json b/testdata/subtreeconsistency/9/end-sub-@1.json similarity index 93% rename from testdata/subtreeconsistency/9/size1-sub-@1.json rename to testdata/subtreeconsistency/9/end-sub-@1.json index 915d987e..03c46a04 100644 --- a/testdata/subtreeconsistency/9/size1-sub-@1.json +++ b/testdata/subtreeconsistency/9/end-sub-@1.json @@ -9,6 +9,6 @@ "yoVOoSjtBQtBs1/8G4e46yveRh6eO1WW7Oa51ZdaCuA=", "037kGJdt2VdTwcc4Yrk5j6Kiz5tP8P3+izDNlSCWFLc=" ], - "desc": "size1 sub @1", + "desc": "end sub @1", "wantErr": true } \ No newline at end of file diff --git a/testdata/subtreeconsistency/9/size2-div-@2.json b/testdata/subtreeconsistency/9/size-div-@2.json similarity index 93% rename from testdata/subtreeconsistency/9/size2-div-@2.json rename to testdata/subtreeconsistency/9/size-div-@2.json index 034a2f21..6833d1dc 100644 --- a/testdata/subtreeconsistency/9/size2-div-@2.json +++ b/testdata/subtreeconsistency/9/size-div-@2.json @@ -9,6 +9,6 @@ "yoVOoSjtBQtBs1/8G4e46yveRh6eO1WW7Oa51ZdaCuA=", "037kGJdt2VdTwcc4Yrk5j6Kiz5tP8P3+izDNlSCWFLc=" ], - "desc": "size2 div @2", + "desc": "size div @2", "wantErr": true } \ No newline at end of file diff --git a/testdata/subtreeconsistency/9/size2-mul-@2.json b/testdata/subtreeconsistency/9/size-mul-@2.json similarity index 93% rename from testdata/subtreeconsistency/9/size2-mul-@2.json rename to testdata/subtreeconsistency/9/size-mul-@2.json index bd93e49c..fd69dec3 100644 --- a/testdata/subtreeconsistency/9/size2-mul-@2.json +++ b/testdata/subtreeconsistency/9/size-mul-@2.json @@ -9,6 +9,6 @@ "yoVOoSjtBQtBs1/8G4e46yveRh6eO1WW7Oa51ZdaCuA=", "037kGJdt2VdTwcc4Yrk5j6Kiz5tP8P3+izDNlSCWFLc=" ], - "desc": "size2 mul @2", + "desc": "size mul @2", "wantErr": true } \ No newline at end of file diff --git a/testdata/subtreeconsistency/additional/size1-is-greater-than-size2-again.json b/testdata/subtreeconsistency/additional/end-is-greater-than-size-again.json similarity index 74% rename from testdata/subtreeconsistency/additional/size1-is-greater-than-size2-again.json rename to testdata/subtreeconsistency/additional/end-is-greater-than-size-again.json index c752d6dd..5f72fb0a 100644 --- a/testdata/subtreeconsistency/additional/size1-is-greater-than-size2-again.json +++ b/testdata/subtreeconsistency/additional/end-is-greater-than-size-again.json @@ -5,6 +5,6 @@ "root1": "ZG9uJ3QgY2FyZSAx", "root2": "ZG9uJ3QgY2FyZSAy", "proof": [], - "desc": "size1 is greater than size2 again", + "desc": "end is greater than size again", "wantErr": true } \ No newline at end of file diff --git a/testdata/subtreeconsistency/additional/size1-is-greater-than-size2.json b/testdata/subtreeconsistency/additional/end-is-greater-than-size.json similarity index 76% rename from testdata/subtreeconsistency/additional/size1-is-greater-than-size2.json rename to testdata/subtreeconsistency/additional/end-is-greater-than-size.json index efc7ad23..eea82edd 100644 --- a/testdata/subtreeconsistency/additional/size1-is-greater-than-size2.json +++ b/testdata/subtreeconsistency/additional/end-is-greater-than-size.json @@ -5,6 +5,6 @@ "root1": "ZG9uJ3QgY2FyZSAx", "root2": "ZG9uJ3QgY2FyZSAy", "proof": [], - "desc": "size1 is greater than size2", + "desc": "end is greater than size", "wantErr": true } \ No newline at end of file diff --git a/testdata/subtreeconsistency/additional/size1-is-zero-and-does-not-equal-size2.json b/testdata/subtreeconsistency/additional/end-is-zero-and-does-not-equal-size.json similarity index 72% rename from testdata/subtreeconsistency/additional/size1-is-zero-and-does-not-equal-size2.json rename to testdata/subtreeconsistency/additional/end-is-zero-and-does-not-equal-size.json index 0b2926fb..d89dd1c9 100644 --- a/testdata/subtreeconsistency/additional/size1-is-zero-and-does-not-equal-size2.json +++ b/testdata/subtreeconsistency/additional/end-is-zero-and-does-not-equal-size.json @@ -5,6 +5,6 @@ "root1": "ZG9uJ3QgY2FyZSAx", "root2": "ZG9uJ3QgY2FyZSAy", "proof": [], - "desc": "size1 is zero and does not equal size2", + "desc": "end is zero and does not equal size", "wantErr": true } \ No newline at end of file From 67b5e1c352eec2a60589fa4df6c954c14550ec83 Mon Sep 17 00:00:00 2001 From: Philippe Boneff Date: Fri, 24 Jul 2026 09:39:20 +0000 Subject: [PATCH 4/5] add probes modifying start --- cmd/proofgen/main.go | 4 ++++ testdata/subtreeconsistency/1/start-XOR-@2.json | 14 ++++++++++++++ testdata/subtreeconsistency/1/start-plus-@1.json | 14 ++++++++++++++ testdata/subtreeconsistency/1/start-sub-@1.json | 14 ++++++++++++++ testdata/subtreeconsistency/1/startsub-@1.json | 14 ++++++++++++++ testdata/subtreeconsistency/2/start-XOR-@2.json | 14 ++++++++++++++ testdata/subtreeconsistency/2/start-plus-@1.json | 14 ++++++++++++++ testdata/subtreeconsistency/2/start-sub-@1.json | 14 ++++++++++++++ testdata/subtreeconsistency/2/startsub-@1.json | 14 ++++++++++++++ testdata/subtreeconsistency/3/start-XOR-@2.json | 13 +++++++++++++ testdata/subtreeconsistency/3/start-plus-@1.json | 13 +++++++++++++ testdata/subtreeconsistency/3/start-sub-@1.json | 13 +++++++++++++ testdata/subtreeconsistency/3/startsub-@1.json | 13 +++++++++++++ testdata/subtreeconsistency/4/start-XOR-@2.json | 14 ++++++++++++++ testdata/subtreeconsistency/4/start-plus-@1.json | 14 ++++++++++++++ testdata/subtreeconsistency/4/start-sub-@1.json | 14 ++++++++++++++ testdata/subtreeconsistency/4/startsub-@1.json | 14 ++++++++++++++ testdata/subtreeconsistency/5/start-XOR-@2.json | 12 ++++++++++++ testdata/subtreeconsistency/5/start-plus-@1.json | 12 ++++++++++++ testdata/subtreeconsistency/5/start-sub-@1.json | 12 ++++++++++++ testdata/subtreeconsistency/5/startsub-@1.json | 12 ++++++++++++ testdata/subtreeconsistency/6/start-XOR-@2.json | 14 ++++++++++++++ testdata/subtreeconsistency/6/start-plus-@1.json | 14 ++++++++++++++ testdata/subtreeconsistency/6/start-sub-@1.json | 14 ++++++++++++++ testdata/subtreeconsistency/6/startsub-@1.json | 14 ++++++++++++++ testdata/subtreeconsistency/7/start-XOR-@2.json | 13 +++++++++++++ testdata/subtreeconsistency/7/start-plus-@1.json | 13 +++++++++++++ testdata/subtreeconsistency/7/start-sub-@1.json | 13 +++++++++++++ testdata/subtreeconsistency/7/startsub-@1.json | 13 +++++++++++++ testdata/subtreeconsistency/8/start-XOR-@2.json | 13 +++++++++++++ testdata/subtreeconsistency/8/start-plus-@1.json | 13 +++++++++++++ testdata/subtreeconsistency/8/start-sub-@1.json | 13 +++++++++++++ testdata/subtreeconsistency/8/startsub-@1.json | 13 +++++++++++++ testdata/subtreeconsistency/9/start-XOR-@2.json | 15 +++++++++++++++ testdata/subtreeconsistency/9/start-plus-@1.json | 15 +++++++++++++++ testdata/subtreeconsistency/9/start-sub-@1.json | 15 +++++++++++++++ testdata/subtreeconsistency/9/startsub-@1.json | 15 +++++++++++++++ 37 files changed, 492 insertions(+) create mode 100644 testdata/subtreeconsistency/1/start-XOR-@2.json create mode 100644 testdata/subtreeconsistency/1/start-plus-@1.json create mode 100644 testdata/subtreeconsistency/1/start-sub-@1.json create mode 100644 testdata/subtreeconsistency/1/startsub-@1.json create mode 100644 testdata/subtreeconsistency/2/start-XOR-@2.json create mode 100644 testdata/subtreeconsistency/2/start-plus-@1.json create mode 100644 testdata/subtreeconsistency/2/start-sub-@1.json create mode 100644 testdata/subtreeconsistency/2/startsub-@1.json create mode 100644 testdata/subtreeconsistency/3/start-XOR-@2.json create mode 100644 testdata/subtreeconsistency/3/start-plus-@1.json create mode 100644 testdata/subtreeconsistency/3/start-sub-@1.json create mode 100644 testdata/subtreeconsistency/3/startsub-@1.json create mode 100644 testdata/subtreeconsistency/4/start-XOR-@2.json create mode 100644 testdata/subtreeconsistency/4/start-plus-@1.json create mode 100644 testdata/subtreeconsistency/4/start-sub-@1.json create mode 100644 testdata/subtreeconsistency/4/startsub-@1.json create mode 100644 testdata/subtreeconsistency/5/start-XOR-@2.json create mode 100644 testdata/subtreeconsistency/5/start-plus-@1.json create mode 100644 testdata/subtreeconsistency/5/start-sub-@1.json create mode 100644 testdata/subtreeconsistency/5/startsub-@1.json create mode 100644 testdata/subtreeconsistency/6/start-XOR-@2.json create mode 100644 testdata/subtreeconsistency/6/start-plus-@1.json create mode 100644 testdata/subtreeconsistency/6/start-sub-@1.json create mode 100644 testdata/subtreeconsistency/6/startsub-@1.json create mode 100644 testdata/subtreeconsistency/7/start-XOR-@2.json create mode 100644 testdata/subtreeconsistency/7/start-plus-@1.json create mode 100644 testdata/subtreeconsistency/7/start-sub-@1.json create mode 100644 testdata/subtreeconsistency/7/startsub-@1.json create mode 100644 testdata/subtreeconsistency/8/start-XOR-@2.json create mode 100644 testdata/subtreeconsistency/8/start-plus-@1.json create mode 100644 testdata/subtreeconsistency/8/start-sub-@1.json create mode 100644 testdata/subtreeconsistency/8/startsub-@1.json create mode 100644 testdata/subtreeconsistency/9/start-XOR-@2.json create mode 100644 testdata/subtreeconsistency/9/start-plus-@1.json create mode 100644 testdata/subtreeconsistency/9/start-sub-@1.json create mode 100644 testdata/subtreeconsistency/9/startsub-@1.json diff --git a/cmd/proofgen/main.go b/cmd/proofgen/main.go index ade313bf..44f9fdb4 100644 --- a/cmd/proofgen/main.go +++ b/cmd/proofgen/main.go @@ -786,6 +786,10 @@ func corruptedSubtreeConsistencyProbes(dir string, start, end, size uint64, proo func invalidSubtreeConsistencyProof(start, end, size uint64, root1, root2 []byte, proof [][]byte) []subtreeConsistencyProbe { ln := len(proof) ret := []subtreeConsistencyProbe{ + // Wrong start. + {start - 1, end, size, root1, root2, proof, "start sub @1", true}, + {start + 1, end, size, root1, root2, proof, "start plus @1", true}, + {start ^ 2, end, size, root1, root2, proof, "start XOR @2", true}, // Wrong end. {start, end - 1, size, root1, root2, proof, "end sub @1", true}, {start, end + 1, size, root1, root2, proof, "end plus @1", true}, diff --git a/testdata/subtreeconsistency/1/start-XOR-@2.json b/testdata/subtreeconsistency/1/start-XOR-@2.json new file mode 100644 index 00000000..a2655386 --- /dev/null +++ b/testdata/subtreeconsistency/1/start-XOR-@2.json @@ -0,0 +1,14 @@ +{ + "start": 2, + "end": 1, + "size": 8, + "root1": "bjQLnP+zepicpUTmu3gKLHiQHT+zNzh2hRGjBhevoB0=", + "root2": "XcnaeacGWamtVZy3Ad7ZoqudgjqtL0lgz+Nw7/RgQyg=", + "proof": [ + "lqKW0iTyhcZ77pPDD4owkVfw2qNdxbh+QQt4YwoJz8c=", + "Xwg/ChozygdqlSeYMlgNs+DvRYS9/x9UyKNg9Q3jAx4=", + "a0eq8p7jwq+a+Im8H7klTavTEXfxYjLdaqsDXKOb9uQ=" + ], + "desc": "start XOR @2", + "wantErr": true +} \ No newline at end of file diff --git a/testdata/subtreeconsistency/1/start-plus-@1.json b/testdata/subtreeconsistency/1/start-plus-@1.json new file mode 100644 index 00000000..69f30226 --- /dev/null +++ b/testdata/subtreeconsistency/1/start-plus-@1.json @@ -0,0 +1,14 @@ +{ + "start": 1, + "end": 1, + "size": 8, + "root1": "bjQLnP+zepicpUTmu3gKLHiQHT+zNzh2hRGjBhevoB0=", + "root2": "XcnaeacGWamtVZy3Ad7ZoqudgjqtL0lgz+Nw7/RgQyg=", + "proof": [ + "lqKW0iTyhcZ77pPDD4owkVfw2qNdxbh+QQt4YwoJz8c=", + "Xwg/ChozygdqlSeYMlgNs+DvRYS9/x9UyKNg9Q3jAx4=", + "a0eq8p7jwq+a+Im8H7klTavTEXfxYjLdaqsDXKOb9uQ=" + ], + "desc": "start plus @1", + "wantErr": true +} \ No newline at end of file diff --git a/testdata/subtreeconsistency/1/start-sub-@1.json b/testdata/subtreeconsistency/1/start-sub-@1.json new file mode 100644 index 00000000..c4cdea66 --- /dev/null +++ b/testdata/subtreeconsistency/1/start-sub-@1.json @@ -0,0 +1,14 @@ +{ + "start": 18446744073709551615, + "end": 1, + "size": 8, + "root1": "bjQLnP+zepicpUTmu3gKLHiQHT+zNzh2hRGjBhevoB0=", + "root2": "XcnaeacGWamtVZy3Ad7ZoqudgjqtL0lgz+Nw7/RgQyg=", + "proof": [ + "lqKW0iTyhcZ77pPDD4owkVfw2qNdxbh+QQt4YwoJz8c=", + "Xwg/ChozygdqlSeYMlgNs+DvRYS9/x9UyKNg9Q3jAx4=", + "a0eq8p7jwq+a+Im8H7klTavTEXfxYjLdaqsDXKOb9uQ=" + ], + "desc": "start sub @1", + "wantErr": true +} \ No newline at end of file diff --git a/testdata/subtreeconsistency/1/startsub-@1.json b/testdata/subtreeconsistency/1/startsub-@1.json new file mode 100644 index 00000000..dce79735 --- /dev/null +++ b/testdata/subtreeconsistency/1/startsub-@1.json @@ -0,0 +1,14 @@ +{ + "start": 18446744073709551615, + "end": 1, + "size": 8, + "root1": "bjQLnP+zepicpUTmu3gKLHiQHT+zNzh2hRGjBhevoB0=", + "root2": "XcnaeacGWamtVZy3Ad7ZoqudgjqtL0lgz+Nw7/RgQyg=", + "proof": [ + "lqKW0iTyhcZ77pPDD4owkVfw2qNdxbh+QQt4YwoJz8c=", + "Xwg/ChozygdqlSeYMlgNs+DvRYS9/x9UyKNg9Q3jAx4=", + "a0eq8p7jwq+a+Im8H7klTavTEXfxYjLdaqsDXKOb9uQ=" + ], + "desc": "startsub @1", + "wantErr": true +} \ No newline at end of file diff --git a/testdata/subtreeconsistency/2/start-XOR-@2.json b/testdata/subtreeconsistency/2/start-XOR-@2.json new file mode 100644 index 00000000..d9e0a27c --- /dev/null +++ b/testdata/subtreeconsistency/2/start-XOR-@2.json @@ -0,0 +1,14 @@ +{ + "start": 2, + "end": 6, + "size": 8, + "root1": "duZ9rbzfHhDht03cYIq9L5jfsW+851J3tSMqEn8gh+8=", + "root2": "XcnaeacGWamtVZy3Ad7ZoqudgjqtL0lgz+Nw7/RgQyg=", + "proof": [ + "DrxdNDf74tsVi58Sah0RjjCBgQMdCpSfje3t68VY72o=", + "yoVOoSjtBQtBs1/8G4e46yveRh6eO1WW7Oa51ZdaCuA=", + "037kGJdt2VdTwcc4Yrk5j6Kiz5tP8P3+izDNlSCWFLc=" + ], + "desc": "start XOR @2", + "wantErr": true +} \ No newline at end of file diff --git a/testdata/subtreeconsistency/2/start-plus-@1.json b/testdata/subtreeconsistency/2/start-plus-@1.json new file mode 100644 index 00000000..7ed93bfa --- /dev/null +++ b/testdata/subtreeconsistency/2/start-plus-@1.json @@ -0,0 +1,14 @@ +{ + "start": 1, + "end": 6, + "size": 8, + "root1": "duZ9rbzfHhDht03cYIq9L5jfsW+851J3tSMqEn8gh+8=", + "root2": "XcnaeacGWamtVZy3Ad7ZoqudgjqtL0lgz+Nw7/RgQyg=", + "proof": [ + "DrxdNDf74tsVi58Sah0RjjCBgQMdCpSfje3t68VY72o=", + "yoVOoSjtBQtBs1/8G4e46yveRh6eO1WW7Oa51ZdaCuA=", + "037kGJdt2VdTwcc4Yrk5j6Kiz5tP8P3+izDNlSCWFLc=" + ], + "desc": "start plus @1", + "wantErr": true +} \ No newline at end of file diff --git a/testdata/subtreeconsistency/2/start-sub-@1.json b/testdata/subtreeconsistency/2/start-sub-@1.json new file mode 100644 index 00000000..b7345c26 --- /dev/null +++ b/testdata/subtreeconsistency/2/start-sub-@1.json @@ -0,0 +1,14 @@ +{ + "start": 18446744073709551615, + "end": 6, + "size": 8, + "root1": "duZ9rbzfHhDht03cYIq9L5jfsW+851J3tSMqEn8gh+8=", + "root2": "XcnaeacGWamtVZy3Ad7ZoqudgjqtL0lgz+Nw7/RgQyg=", + "proof": [ + "DrxdNDf74tsVi58Sah0RjjCBgQMdCpSfje3t68VY72o=", + "yoVOoSjtBQtBs1/8G4e46yveRh6eO1WW7Oa51ZdaCuA=", + "037kGJdt2VdTwcc4Yrk5j6Kiz5tP8P3+izDNlSCWFLc=" + ], + "desc": "start sub @1", + "wantErr": true +} \ No newline at end of file diff --git a/testdata/subtreeconsistency/2/startsub-@1.json b/testdata/subtreeconsistency/2/startsub-@1.json new file mode 100644 index 00000000..7dc5d2e6 --- /dev/null +++ b/testdata/subtreeconsistency/2/startsub-@1.json @@ -0,0 +1,14 @@ +{ + "start": 18446744073709551615, + "end": 6, + "size": 8, + "root1": "duZ9rbzfHhDht03cYIq9L5jfsW+851J3tSMqEn8gh+8=", + "root2": "XcnaeacGWamtVZy3Ad7ZoqudgjqtL0lgz+Nw7/RgQyg=", + "proof": [ + "DrxdNDf74tsVi58Sah0RjjCBgQMdCpSfje3t68VY72o=", + "yoVOoSjtBQtBs1/8G4e46yveRh6eO1WW7Oa51ZdaCuA=", + "037kGJdt2VdTwcc4Yrk5j6Kiz5tP8P3+izDNlSCWFLc=" + ], + "desc": "startsub @1", + "wantErr": true +} \ No newline at end of file diff --git a/testdata/subtreeconsistency/3/start-XOR-@2.json b/testdata/subtreeconsistency/3/start-XOR-@2.json new file mode 100644 index 00000000..91f8e8ea --- /dev/null +++ b/testdata/subtreeconsistency/3/start-XOR-@2.json @@ -0,0 +1,13 @@ +{ + "start": 2, + "end": 2, + "size": 5, + "root1": "+sVCA+fMaWzw38tCySodnbr3CtnmIfS9jZhmLwDjwSU=", + "root2": "Tju7H3tHjc/nH7YxYxUZo7yhLJrvyhYSv85ME6hiZNQ=", + "proof": [ + "Xwg/ChozygdqlSeYMlgNs+DvRYS9/x9UyKNg9Q3jAx4=", + "vBoGQ7EuTS18d5GPROD095qDi2z57FtcKD4fTYhZnms=" + ], + "desc": "start XOR @2", + "wantErr": true +} \ No newline at end of file diff --git a/testdata/subtreeconsistency/3/start-plus-@1.json b/testdata/subtreeconsistency/3/start-plus-@1.json new file mode 100644 index 00000000..12bac15d --- /dev/null +++ b/testdata/subtreeconsistency/3/start-plus-@1.json @@ -0,0 +1,13 @@ +{ + "start": 1, + "end": 2, + "size": 5, + "root1": "+sVCA+fMaWzw38tCySodnbr3CtnmIfS9jZhmLwDjwSU=", + "root2": "Tju7H3tHjc/nH7YxYxUZo7yhLJrvyhYSv85ME6hiZNQ=", + "proof": [ + "Xwg/ChozygdqlSeYMlgNs+DvRYS9/x9UyKNg9Q3jAx4=", + "vBoGQ7EuTS18d5GPROD095qDi2z57FtcKD4fTYhZnms=" + ], + "desc": "start plus @1", + "wantErr": true +} \ No newline at end of file diff --git a/testdata/subtreeconsistency/3/start-sub-@1.json b/testdata/subtreeconsistency/3/start-sub-@1.json new file mode 100644 index 00000000..fbae23d2 --- /dev/null +++ b/testdata/subtreeconsistency/3/start-sub-@1.json @@ -0,0 +1,13 @@ +{ + "start": 18446744073709551615, + "end": 2, + "size": 5, + "root1": "+sVCA+fMaWzw38tCySodnbr3CtnmIfS9jZhmLwDjwSU=", + "root2": "Tju7H3tHjc/nH7YxYxUZo7yhLJrvyhYSv85ME6hiZNQ=", + "proof": [ + "Xwg/ChozygdqlSeYMlgNs+DvRYS9/x9UyKNg9Q3jAx4=", + "vBoGQ7EuTS18d5GPROD095qDi2z57FtcKD4fTYhZnms=" + ], + "desc": "start sub @1", + "wantErr": true +} \ No newline at end of file diff --git a/testdata/subtreeconsistency/3/startsub-@1.json b/testdata/subtreeconsistency/3/startsub-@1.json new file mode 100644 index 00000000..9abab70b --- /dev/null +++ b/testdata/subtreeconsistency/3/startsub-@1.json @@ -0,0 +1,13 @@ +{ + "start": 18446744073709551615, + "end": 2, + "size": 5, + "root1": "+sVCA+fMaWzw38tCySodnbr3CtnmIfS9jZhmLwDjwSU=", + "root2": "Tju7H3tHjc/nH7YxYxUZo7yhLJrvyhYSv85ME6hiZNQ=", + "proof": [ + "Xwg/ChozygdqlSeYMlgNs+DvRYS9/x9UyKNg9Q3jAx4=", + "vBoGQ7EuTS18d5GPROD095qDi2z57FtcKD4fTYhZnms=" + ], + "desc": "startsub @1", + "wantErr": true +} \ No newline at end of file diff --git a/testdata/subtreeconsistency/4/start-XOR-@2.json b/testdata/subtreeconsistency/4/start-XOR-@2.json new file mode 100644 index 00000000..cb533c18 --- /dev/null +++ b/testdata/subtreeconsistency/4/start-XOR-@2.json @@ -0,0 +1,14 @@ +{ + "start": 2, + "end": 6, + "size": 7, + "root1": "duZ9rbzfHhDht03cYIq9L5jfsW+851J3tSMqEn8gh+8=", + "root2": "3bib5AOAnjJXUNPSY814kpwpQreUKjS3fhIslZSnTIw=", + "proof": [ + "DrxdNDf74tsVi58Sah0RjjCBgQMdCpSfje3t68VY72o=", + "sIaT7C5yFZcTBkHoIR5+7cy0wmQTlj7ubB4u0W/7Gl8=", + "037kGJdt2VdTwcc4Yrk5j6Kiz5tP8P3+izDNlSCWFLc=" + ], + "desc": "start XOR @2", + "wantErr": true +} \ No newline at end of file diff --git a/testdata/subtreeconsistency/4/start-plus-@1.json b/testdata/subtreeconsistency/4/start-plus-@1.json new file mode 100644 index 00000000..e550e5a4 --- /dev/null +++ b/testdata/subtreeconsistency/4/start-plus-@1.json @@ -0,0 +1,14 @@ +{ + "start": 1, + "end": 6, + "size": 7, + "root1": "duZ9rbzfHhDht03cYIq9L5jfsW+851J3tSMqEn8gh+8=", + "root2": "3bib5AOAnjJXUNPSY814kpwpQreUKjS3fhIslZSnTIw=", + "proof": [ + "DrxdNDf74tsVi58Sah0RjjCBgQMdCpSfje3t68VY72o=", + "sIaT7C5yFZcTBkHoIR5+7cy0wmQTlj7ubB4u0W/7Gl8=", + "037kGJdt2VdTwcc4Yrk5j6Kiz5tP8P3+izDNlSCWFLc=" + ], + "desc": "start plus @1", + "wantErr": true +} \ No newline at end of file diff --git a/testdata/subtreeconsistency/4/start-sub-@1.json b/testdata/subtreeconsistency/4/start-sub-@1.json new file mode 100644 index 00000000..bef85e4f --- /dev/null +++ b/testdata/subtreeconsistency/4/start-sub-@1.json @@ -0,0 +1,14 @@ +{ + "start": 18446744073709551615, + "end": 6, + "size": 7, + "root1": "duZ9rbzfHhDht03cYIq9L5jfsW+851J3tSMqEn8gh+8=", + "root2": "3bib5AOAnjJXUNPSY814kpwpQreUKjS3fhIslZSnTIw=", + "proof": [ + "DrxdNDf74tsVi58Sah0RjjCBgQMdCpSfje3t68VY72o=", + "sIaT7C5yFZcTBkHoIR5+7cy0wmQTlj7ubB4u0W/7Gl8=", + "037kGJdt2VdTwcc4Yrk5j6Kiz5tP8P3+izDNlSCWFLc=" + ], + "desc": "start sub @1", + "wantErr": true +} \ No newline at end of file diff --git a/testdata/subtreeconsistency/4/startsub-@1.json b/testdata/subtreeconsistency/4/startsub-@1.json new file mode 100644 index 00000000..3f0d9373 --- /dev/null +++ b/testdata/subtreeconsistency/4/startsub-@1.json @@ -0,0 +1,14 @@ +{ + "start": 18446744073709551615, + "end": 6, + "size": 7, + "root1": "duZ9rbzfHhDht03cYIq9L5jfsW+851J3tSMqEn8gh+8=", + "root2": "3bib5AOAnjJXUNPSY814kpwpQreUKjS3fhIslZSnTIw=", + "proof": [ + "DrxdNDf74tsVi58Sah0RjjCBgQMdCpSfje3t68VY72o=", + "sIaT7C5yFZcTBkHoIR5+7cy0wmQTlj7ubB4u0W/7Gl8=", + "037kGJdt2VdTwcc4Yrk5j6Kiz5tP8P3+izDNlSCWFLc=" + ], + "desc": "startsub @1", + "wantErr": true +} \ No newline at end of file diff --git a/testdata/subtreeconsistency/5/start-XOR-@2.json b/testdata/subtreeconsistency/5/start-XOR-@2.json new file mode 100644 index 00000000..f3515d8e --- /dev/null +++ b/testdata/subtreeconsistency/5/start-XOR-@2.json @@ -0,0 +1,12 @@ +{ + "start": 6, + "end": 8, + "size": 8, + "root1": "a0eq8p7jwq+a+Im8H7klTavTEXfxYjLdaqsDXKOb9uQ=", + "root2": "XcnaeacGWamtVZy3Ad7ZoqudgjqtL0lgz+Nw7/RgQyg=", + "proof": [ + "037kGJdt2VdTwcc4Yrk5j6Kiz5tP8P3+izDNlSCWFLc=" + ], + "desc": "start XOR @2", + "wantErr": true +} \ No newline at end of file diff --git a/testdata/subtreeconsistency/5/start-plus-@1.json b/testdata/subtreeconsistency/5/start-plus-@1.json new file mode 100644 index 00000000..482dec79 --- /dev/null +++ b/testdata/subtreeconsistency/5/start-plus-@1.json @@ -0,0 +1,12 @@ +{ + "start": 5, + "end": 8, + "size": 8, + "root1": "a0eq8p7jwq+a+Im8H7klTavTEXfxYjLdaqsDXKOb9uQ=", + "root2": "XcnaeacGWamtVZy3Ad7ZoqudgjqtL0lgz+Nw7/RgQyg=", + "proof": [ + "037kGJdt2VdTwcc4Yrk5j6Kiz5tP8P3+izDNlSCWFLc=" + ], + "desc": "start plus @1", + "wantErr": true +} \ No newline at end of file diff --git a/testdata/subtreeconsistency/5/start-sub-@1.json b/testdata/subtreeconsistency/5/start-sub-@1.json new file mode 100644 index 00000000..6740d9a8 --- /dev/null +++ b/testdata/subtreeconsistency/5/start-sub-@1.json @@ -0,0 +1,12 @@ +{ + "start": 3, + "end": 8, + "size": 8, + "root1": "a0eq8p7jwq+a+Im8H7klTavTEXfxYjLdaqsDXKOb9uQ=", + "root2": "XcnaeacGWamtVZy3Ad7ZoqudgjqtL0lgz+Nw7/RgQyg=", + "proof": [ + "037kGJdt2VdTwcc4Yrk5j6Kiz5tP8P3+izDNlSCWFLc=" + ], + "desc": "start sub @1", + "wantErr": true +} \ No newline at end of file diff --git a/testdata/subtreeconsistency/5/startsub-@1.json b/testdata/subtreeconsistency/5/startsub-@1.json new file mode 100644 index 00000000..2cd3dfb5 --- /dev/null +++ b/testdata/subtreeconsistency/5/startsub-@1.json @@ -0,0 +1,12 @@ +{ + "start": 3, + "end": 8, + "size": 8, + "root1": "a0eq8p7jwq+a+Im8H7klTavTEXfxYjLdaqsDXKOb9uQ=", + "root2": "XcnaeacGWamtVZy3Ad7ZoqudgjqtL0lgz+Nw7/RgQyg=", + "proof": [ + "037kGJdt2VdTwcc4Yrk5j6Kiz5tP8P3+izDNlSCWFLc=" + ], + "desc": "startsub @1", + "wantErr": true +} \ No newline at end of file diff --git a/testdata/subtreeconsistency/6/start-XOR-@2.json b/testdata/subtreeconsistency/6/start-XOR-@2.json new file mode 100644 index 00000000..6592db06 --- /dev/null +++ b/testdata/subtreeconsistency/6/start-XOR-@2.json @@ -0,0 +1,14 @@ +{ + "start": 6, + "end": 5, + "size": 8, + "root1": "MDE=", + "root2": "JAvgbsSQQ0ftX3pjarrbnvuS8xJtLwO6s+eSyWEdKlQ=", + "proof": [ + "QEFCQw==", + "oLSr/EirK7ViJ/rRLMBj2gYGnSvVs3J89BmipOf9uk8=", + "EAQDNTq5tZyPLwBYQ2j/uFE+Jf7ZbRnbFifehtXLc3w=" + ], + "desc": "start XOR @2", + "wantErr": true +} \ No newline at end of file diff --git a/testdata/subtreeconsistency/6/start-plus-@1.json b/testdata/subtreeconsistency/6/start-plus-@1.json new file mode 100644 index 00000000..a1769615 --- /dev/null +++ b/testdata/subtreeconsistency/6/start-plus-@1.json @@ -0,0 +1,14 @@ +{ + "start": 5, + "end": 5, + "size": 8, + "root1": "MDE=", + "root2": "JAvgbsSQQ0ftX3pjarrbnvuS8xJtLwO6s+eSyWEdKlQ=", + "proof": [ + "QEFCQw==", + "oLSr/EirK7ViJ/rRLMBj2gYGnSvVs3J89BmipOf9uk8=", + "EAQDNTq5tZyPLwBYQ2j/uFE+Jf7ZbRnbFifehtXLc3w=" + ], + "desc": "start plus @1", + "wantErr": true +} \ No newline at end of file diff --git a/testdata/subtreeconsistency/6/start-sub-@1.json b/testdata/subtreeconsistency/6/start-sub-@1.json new file mode 100644 index 00000000..8311a80e --- /dev/null +++ b/testdata/subtreeconsistency/6/start-sub-@1.json @@ -0,0 +1,14 @@ +{ + "start": 3, + "end": 5, + "size": 8, + "root1": "MDE=", + "root2": "JAvgbsSQQ0ftX3pjarrbnvuS8xJtLwO6s+eSyWEdKlQ=", + "proof": [ + "QEFCQw==", + "oLSr/EirK7ViJ/rRLMBj2gYGnSvVs3J89BmipOf9uk8=", + "EAQDNTq5tZyPLwBYQ2j/uFE+Jf7ZbRnbFifehtXLc3w=" + ], + "desc": "start sub @1", + "wantErr": true +} \ No newline at end of file diff --git a/testdata/subtreeconsistency/6/startsub-@1.json b/testdata/subtreeconsistency/6/startsub-@1.json new file mode 100644 index 00000000..55471fbc --- /dev/null +++ b/testdata/subtreeconsistency/6/startsub-@1.json @@ -0,0 +1,14 @@ +{ + "start": 3, + "end": 5, + "size": 8, + "root1": "MDE=", + "root2": "JAvgbsSQQ0ftX3pjarrbnvuS8xJtLwO6s+eSyWEdKlQ=", + "proof": [ + "QEFCQw==", + "oLSr/EirK7ViJ/rRLMBj2gYGnSvVs3J89BmipOf9uk8=", + "EAQDNTq5tZyPLwBYQ2j/uFE+Jf7ZbRnbFifehtXLc3w=" + ], + "desc": "startsub @1", + "wantErr": true +} \ No newline at end of file diff --git a/testdata/subtreeconsistency/7/start-XOR-@2.json b/testdata/subtreeconsistency/7/start-XOR-@2.json new file mode 100644 index 00000000..2aa63dcb --- /dev/null +++ b/testdata/subtreeconsistency/7/start-XOR-@2.json @@ -0,0 +1,13 @@ +{ + "start": 4, + "end": 8, + "size": 8, + "root1": "oLSr/EirK7ViJ/rRLMBj2gYGnSvVs3J89BmipOf9uk8=", + "root2": "JAvgbsSQQ0ftX3pjarrbnvuS8xJtLwO6s+eSyWEdKlQ=", + "proof": [ + "7h2aUYYQ98YU/CBBlpoPKZFTPfBLvXSqm9M/Z0e6Phk=", + "EAQDNTq5tZyPLwBYQ2j/uFE+Jf7ZbRnbFifehtXLc3w=" + ], + "desc": "start XOR @2", + "wantErr": true +} \ No newline at end of file diff --git a/testdata/subtreeconsistency/7/start-plus-@1.json b/testdata/subtreeconsistency/7/start-plus-@1.json new file mode 100644 index 00000000..71ff2e39 --- /dev/null +++ b/testdata/subtreeconsistency/7/start-plus-@1.json @@ -0,0 +1,13 @@ +{ + "start": 7, + "end": 8, + "size": 8, + "root1": "oLSr/EirK7ViJ/rRLMBj2gYGnSvVs3J89BmipOf9uk8=", + "root2": "JAvgbsSQQ0ftX3pjarrbnvuS8xJtLwO6s+eSyWEdKlQ=", + "proof": [ + "7h2aUYYQ98YU/CBBlpoPKZFTPfBLvXSqm9M/Z0e6Phk=", + "EAQDNTq5tZyPLwBYQ2j/uFE+Jf7ZbRnbFifehtXLc3w=" + ], + "desc": "start plus @1", + "wantErr": true +} \ No newline at end of file diff --git a/testdata/subtreeconsistency/7/start-sub-@1.json b/testdata/subtreeconsistency/7/start-sub-@1.json new file mode 100644 index 00000000..e30e1668 --- /dev/null +++ b/testdata/subtreeconsistency/7/start-sub-@1.json @@ -0,0 +1,13 @@ +{ + "start": 5, + "end": 8, + "size": 8, + "root1": "oLSr/EirK7ViJ/rRLMBj2gYGnSvVs3J89BmipOf9uk8=", + "root2": "JAvgbsSQQ0ftX3pjarrbnvuS8xJtLwO6s+eSyWEdKlQ=", + "proof": [ + "7h2aUYYQ98YU/CBBlpoPKZFTPfBLvXSqm9M/Z0e6Phk=", + "EAQDNTq5tZyPLwBYQ2j/uFE+Jf7ZbRnbFifehtXLc3w=" + ], + "desc": "start sub @1", + "wantErr": true +} \ No newline at end of file diff --git a/testdata/subtreeconsistency/7/startsub-@1.json b/testdata/subtreeconsistency/7/startsub-@1.json new file mode 100644 index 00000000..a50a8f8a --- /dev/null +++ b/testdata/subtreeconsistency/7/startsub-@1.json @@ -0,0 +1,13 @@ +{ + "start": 5, + "end": 8, + "size": 8, + "root1": "oLSr/EirK7ViJ/rRLMBj2gYGnSvVs3J89BmipOf9uk8=", + "root2": "JAvgbsSQQ0ftX3pjarrbnvuS8xJtLwO6s+eSyWEdKlQ=", + "proof": [ + "7h2aUYYQ98YU/CBBlpoPKZFTPfBLvXSqm9M/Z0e6Phk=", + "EAQDNTq5tZyPLwBYQ2j/uFE+Jf7ZbRnbFifehtXLc3w=" + ], + "desc": "startsub @1", + "wantErr": true +} \ No newline at end of file diff --git a/testdata/subtreeconsistency/8/start-XOR-@2.json b/testdata/subtreeconsistency/8/start-XOR-@2.json new file mode 100644 index 00000000..f1602287 --- /dev/null +++ b/testdata/subtreeconsistency/8/start-XOR-@2.json @@ -0,0 +1,13 @@ +{ + "start": 0, + "end": 4, + "size": 8, + "root1": "1vAr+BQ/49rqshJq4qQYJ6rTFhiiVxZtZRaoH1L7jU8=", + "root2": "JAvgbsSQQ0ftX3pjarrbnvuS8xJtLwO6s+eSyWEdKlQ=", + "proof": [ + "R9xUDJTOtwSiOHXBEnPha7C4qHrthN6RHyEzVoEV8lQ=", + "vzGKP3+r1qrDHmnW/gg7DDmJlM2OBXsznSTdo/QBqh4=" + ], + "desc": "start XOR @2", + "wantErr": true +} \ No newline at end of file diff --git a/testdata/subtreeconsistency/8/start-plus-@1.json b/testdata/subtreeconsistency/8/start-plus-@1.json new file mode 100644 index 00000000..c214317c --- /dev/null +++ b/testdata/subtreeconsistency/8/start-plus-@1.json @@ -0,0 +1,13 @@ +{ + "start": 3, + "end": 4, + "size": 8, + "root1": "1vAr+BQ/49rqshJq4qQYJ6rTFhiiVxZtZRaoH1L7jU8=", + "root2": "JAvgbsSQQ0ftX3pjarrbnvuS8xJtLwO6s+eSyWEdKlQ=", + "proof": [ + "R9xUDJTOtwSiOHXBEnPha7C4qHrthN6RHyEzVoEV8lQ=", + "vzGKP3+r1qrDHmnW/gg7DDmJlM2OBXsznSTdo/QBqh4=" + ], + "desc": "start plus @1", + "wantErr": true +} \ No newline at end of file diff --git a/testdata/subtreeconsistency/8/start-sub-@1.json b/testdata/subtreeconsistency/8/start-sub-@1.json new file mode 100644 index 00000000..f9df1e28 --- /dev/null +++ b/testdata/subtreeconsistency/8/start-sub-@1.json @@ -0,0 +1,13 @@ +{ + "start": 1, + "end": 4, + "size": 8, + "root1": "1vAr+BQ/49rqshJq4qQYJ6rTFhiiVxZtZRaoH1L7jU8=", + "root2": "JAvgbsSQQ0ftX3pjarrbnvuS8xJtLwO6s+eSyWEdKlQ=", + "proof": [ + "R9xUDJTOtwSiOHXBEnPha7C4qHrthN6RHyEzVoEV8lQ=", + "vzGKP3+r1qrDHmnW/gg7DDmJlM2OBXsznSTdo/QBqh4=" + ], + "desc": "start sub @1", + "wantErr": true +} \ No newline at end of file diff --git a/testdata/subtreeconsistency/8/startsub-@1.json b/testdata/subtreeconsistency/8/startsub-@1.json new file mode 100644 index 00000000..3d700778 --- /dev/null +++ b/testdata/subtreeconsistency/8/startsub-@1.json @@ -0,0 +1,13 @@ +{ + "start": 1, + "end": 4, + "size": 8, + "root1": "1vAr+BQ/49rqshJq4qQYJ6rTFhiiVxZtZRaoH1L7jU8=", + "root2": "JAvgbsSQQ0ftX3pjarrbnvuS8xJtLwO6s+eSyWEdKlQ=", + "proof": [ + "R9xUDJTOtwSiOHXBEnPha7C4qHrthN6RHyEzVoEV8lQ=", + "vzGKP3+r1qrDHmnW/gg7DDmJlM2OBXsznSTdo/QBqh4=" + ], + "desc": "startsub @1", + "wantErr": true +} \ No newline at end of file diff --git a/testdata/subtreeconsistency/9/start-XOR-@2.json b/testdata/subtreeconsistency/9/start-XOR-@2.json new file mode 100644 index 00000000..feb74da2 --- /dev/null +++ b/testdata/subtreeconsistency/9/start-XOR-@2.json @@ -0,0 +1,15 @@ +{ + "start": 6, + "end": 7, + "size": 8, + "root1": "TeH0HwzQLWniGTWgBbtsw3U9gD63gzLddyJoC8fVSXc=", + "root2": "JAvgbsSQQ0ftX3pjarrbnvuS8xJtLwO6s+eSyWEdKlQ=", + "proof": [ + "UFFSU1RVVlc=", + "YGFiY2RlZmdoaWprbG1ubw==", + "7h2aUYYQ98YU/CBBlpoPKZFTPfBLvXSqm9M/Z0e6Phk=", + "EAQDNTq5tZyPLwBYQ2j/uFE+Jf7ZbRnbFifehtXLc3w=" + ], + "desc": "start XOR @2", + "wantErr": true +} \ No newline at end of file diff --git a/testdata/subtreeconsistency/9/start-plus-@1.json b/testdata/subtreeconsistency/9/start-plus-@1.json new file mode 100644 index 00000000..5b7fa228 --- /dev/null +++ b/testdata/subtreeconsistency/9/start-plus-@1.json @@ -0,0 +1,15 @@ +{ + "start": 5, + "end": 7, + "size": 8, + "root1": "TeH0HwzQLWniGTWgBbtsw3U9gD63gzLddyJoC8fVSXc=", + "root2": "JAvgbsSQQ0ftX3pjarrbnvuS8xJtLwO6s+eSyWEdKlQ=", + "proof": [ + "UFFSU1RVVlc=", + "YGFiY2RlZmdoaWprbG1ubw==", + "7h2aUYYQ98YU/CBBlpoPKZFTPfBLvXSqm9M/Z0e6Phk=", + "EAQDNTq5tZyPLwBYQ2j/uFE+Jf7ZbRnbFifehtXLc3w=" + ], + "desc": "start plus @1", + "wantErr": true +} \ No newline at end of file diff --git a/testdata/subtreeconsistency/9/start-sub-@1.json b/testdata/subtreeconsistency/9/start-sub-@1.json new file mode 100644 index 00000000..da7b50fa --- /dev/null +++ b/testdata/subtreeconsistency/9/start-sub-@1.json @@ -0,0 +1,15 @@ +{ + "start": 3, + "end": 7, + "size": 8, + "root1": "TeH0HwzQLWniGTWgBbtsw3U9gD63gzLddyJoC8fVSXc=", + "root2": "JAvgbsSQQ0ftX3pjarrbnvuS8xJtLwO6s+eSyWEdKlQ=", + "proof": [ + "UFFSU1RVVlc=", + "YGFiY2RlZmdoaWprbG1ubw==", + "7h2aUYYQ98YU/CBBlpoPKZFTPfBLvXSqm9M/Z0e6Phk=", + "EAQDNTq5tZyPLwBYQ2j/uFE+Jf7ZbRnbFifehtXLc3w=" + ], + "desc": "start sub @1", + "wantErr": true +} \ No newline at end of file diff --git a/testdata/subtreeconsistency/9/startsub-@1.json b/testdata/subtreeconsistency/9/startsub-@1.json new file mode 100644 index 00000000..a8412e6f --- /dev/null +++ b/testdata/subtreeconsistency/9/startsub-@1.json @@ -0,0 +1,15 @@ +{ + "start": 3, + "end": 7, + "size": 8, + "root1": "TeH0HwzQLWniGTWgBbtsw3U9gD63gzLddyJoC8fVSXc=", + "root2": "JAvgbsSQQ0ftX3pjarrbnvuS8xJtLwO6s+eSyWEdKlQ=", + "proof": [ + "UFFSU1RVVlc=", + "YGFiY2RlZmdoaWprbG1ubw==", + "7h2aUYYQ98YU/CBBlpoPKZFTPfBLvXSqm9M/Z0e6Phk=", + "EAQDNTq5tZyPLwBYQ2j/uFE+Jf7ZbRnbFifehtXLc3w=" + ], + "desc": "startsub @1", + "wantErr": true +} \ No newline at end of file From 2079968968ba55f0e73570f04ceab167c08ffef8 Mon Sep 17 00:00:00 2001 From: Philippe Boneff Date: Fri, 24 Jul 2026 10:06:13 +0000 Subject: [PATCH 5/5] regenerate probes --- testdata/subtreeconsistency/1/startsub-@1.json | 14 -------------- testdata/subtreeconsistency/10/start-XOR-@2.json | 13 +++++++++++++ testdata/subtreeconsistency/10/start-plus-@1.json | 13 +++++++++++++ testdata/subtreeconsistency/10/start-sub-@1.json | 13 +++++++++++++ testdata/subtreeconsistency/11/start-XOR-@2.json | 15 +++++++++++++++ testdata/subtreeconsistency/11/start-plus-@1.json | 15 +++++++++++++++ testdata/subtreeconsistency/11/start-sub-@1.json | 15 +++++++++++++++ testdata/subtreeconsistency/2/startsub-@1.json | 14 -------------- testdata/subtreeconsistency/3/startsub-@1.json | 13 ------------- testdata/subtreeconsistency/4/startsub-@1.json | 14 -------------- testdata/subtreeconsistency/5/start-XOR-@2.json | 6 ++++-- testdata/subtreeconsistency/5/start-plus-@1.json | 6 ++++-- testdata/subtreeconsistency/5/start-sub-@1.json | 6 ++++-- testdata/subtreeconsistency/5/startsub-@1.json | 12 ------------ testdata/subtreeconsistency/6/start-XOR-@2.json | 10 ++++------ testdata/subtreeconsistency/6/start-plus-@1.json | 10 ++++------ testdata/subtreeconsistency/6/start-sub-@1.json | 10 ++++------ testdata/subtreeconsistency/6/startsub-@1.json | 14 -------------- testdata/subtreeconsistency/7/start-XOR-@2.json | 8 ++++---- testdata/subtreeconsistency/7/start-plus-@1.json | 8 ++++---- testdata/subtreeconsistency/7/start-sub-@1.json | 8 ++++---- testdata/subtreeconsistency/7/startsub-@1.json | 13 ------------- testdata/subtreeconsistency/8/start-XOR-@2.json | 13 ++++++------- testdata/subtreeconsistency/8/start-plus-@1.json | 13 ++++++------- testdata/subtreeconsistency/8/start-sub-@1.json | 13 ++++++------- testdata/subtreeconsistency/8/startsub-@1.json | 13 ------------- testdata/subtreeconsistency/9/start-XOR-@2.json | 13 ++++++------- testdata/subtreeconsistency/9/start-plus-@1.json | 13 ++++++------- testdata/subtreeconsistency/9/start-sub-@1.json | 13 ++++++------- testdata/subtreeconsistency/9/startsub-@1.json | 15 --------------- 30 files changed, 156 insertions(+), 200 deletions(-) delete mode 100644 testdata/subtreeconsistency/1/startsub-@1.json create mode 100644 testdata/subtreeconsistency/10/start-XOR-@2.json create mode 100644 testdata/subtreeconsistency/10/start-plus-@1.json create mode 100644 testdata/subtreeconsistency/10/start-sub-@1.json create mode 100644 testdata/subtreeconsistency/11/start-XOR-@2.json create mode 100644 testdata/subtreeconsistency/11/start-plus-@1.json create mode 100644 testdata/subtreeconsistency/11/start-sub-@1.json delete mode 100644 testdata/subtreeconsistency/2/startsub-@1.json delete mode 100644 testdata/subtreeconsistency/3/startsub-@1.json delete mode 100644 testdata/subtreeconsistency/4/startsub-@1.json delete mode 100644 testdata/subtreeconsistency/5/startsub-@1.json delete mode 100644 testdata/subtreeconsistency/6/startsub-@1.json delete mode 100644 testdata/subtreeconsistency/7/startsub-@1.json delete mode 100644 testdata/subtreeconsistency/8/startsub-@1.json delete mode 100644 testdata/subtreeconsistency/9/startsub-@1.json diff --git a/testdata/subtreeconsistency/1/startsub-@1.json b/testdata/subtreeconsistency/1/startsub-@1.json deleted file mode 100644 index dce79735..00000000 --- a/testdata/subtreeconsistency/1/startsub-@1.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "start": 18446744073709551615, - "end": 1, - "size": 8, - "root1": "bjQLnP+zepicpUTmu3gKLHiQHT+zNzh2hRGjBhevoB0=", - "root2": "XcnaeacGWamtVZy3Ad7ZoqudgjqtL0lgz+Nw7/RgQyg=", - "proof": [ - "lqKW0iTyhcZ77pPDD4owkVfw2qNdxbh+QQt4YwoJz8c=", - "Xwg/ChozygdqlSeYMlgNs+DvRYS9/x9UyKNg9Q3jAx4=", - "a0eq8p7jwq+a+Im8H7klTavTEXfxYjLdaqsDXKOb9uQ=" - ], - "desc": "startsub @1", - "wantErr": true -} \ No newline at end of file diff --git a/testdata/subtreeconsistency/10/start-XOR-@2.json b/testdata/subtreeconsistency/10/start-XOR-@2.json new file mode 100644 index 00000000..9ca3fdb9 --- /dev/null +++ b/testdata/subtreeconsistency/10/start-XOR-@2.json @@ -0,0 +1,13 @@ +{ + "start": 0, + "end": 4, + "size": 8, + "root1": "Xwg/ChozygdqlSeYMlgNs+DvRYS9/x9UyKNg9Q3jAx4=", + "root2": "XcnaeacGWamtVZy3Ad7ZoqudgjqtL0lgz+Nw7/RgQyg=", + "proof": [ + "+sVCA+fMaWzw38tCySodnbr3CtnmIfS9jZhmLwDjwSU=", + "a0eq8p7jwq+a+Im8H7klTavTEXfxYjLdaqsDXKOb9uQ=" + ], + "desc": "start XOR @2", + "wantErr": true +} \ No newline at end of file diff --git a/testdata/subtreeconsistency/10/start-plus-@1.json b/testdata/subtreeconsistency/10/start-plus-@1.json new file mode 100644 index 00000000..e6094996 --- /dev/null +++ b/testdata/subtreeconsistency/10/start-plus-@1.json @@ -0,0 +1,13 @@ +{ + "start": 3, + "end": 4, + "size": 8, + "root1": "Xwg/ChozygdqlSeYMlgNs+DvRYS9/x9UyKNg9Q3jAx4=", + "root2": "XcnaeacGWamtVZy3Ad7ZoqudgjqtL0lgz+Nw7/RgQyg=", + "proof": [ + "+sVCA+fMaWzw38tCySodnbr3CtnmIfS9jZhmLwDjwSU=", + "a0eq8p7jwq+a+Im8H7klTavTEXfxYjLdaqsDXKOb9uQ=" + ], + "desc": "start plus @1", + "wantErr": true +} \ No newline at end of file diff --git a/testdata/subtreeconsistency/10/start-sub-@1.json b/testdata/subtreeconsistency/10/start-sub-@1.json new file mode 100644 index 00000000..ac50f286 --- /dev/null +++ b/testdata/subtreeconsistency/10/start-sub-@1.json @@ -0,0 +1,13 @@ +{ + "start": 1, + "end": 4, + "size": 8, + "root1": "Xwg/ChozygdqlSeYMlgNs+DvRYS9/x9UyKNg9Q3jAx4=", + "root2": "XcnaeacGWamtVZy3Ad7ZoqudgjqtL0lgz+Nw7/RgQyg=", + "proof": [ + "+sVCA+fMaWzw38tCySodnbr3CtnmIfS9jZhmLwDjwSU=", + "a0eq8p7jwq+a+Im8H7klTavTEXfxYjLdaqsDXKOb9uQ=" + ], + "desc": "start sub @1", + "wantErr": true +} \ No newline at end of file diff --git a/testdata/subtreeconsistency/11/start-XOR-@2.json b/testdata/subtreeconsistency/11/start-XOR-@2.json new file mode 100644 index 00000000..996a750a --- /dev/null +++ b/testdata/subtreeconsistency/11/start-XOR-@2.json @@ -0,0 +1,15 @@ +{ + "start": 6, + "end": 7, + "size": 8, + "root1": "g327FS6bB5AQcX6E6GXaTrwPoZioBtWdMb8VrM7yLQ4=", + "root2": "XcnaeacGWamtVZy3Ad7ZoqudgjqtL0lgz+Nw7/RgQyg=", + "proof": [ + "sIaT7C5yFZcTBkHoIR5+7cy0wmQTlj7ubB4u0W/7Gl8=", + "Rvb/rdPQagn/PFhg0nVci5gZ2330QlF4jH2OMYDejrE=", + "DrxdNDf74tsVi58Sah0RjjCBgQMdCpSfje3t68VY72o=", + "037kGJdt2VdTwcc4Yrk5j6Kiz5tP8P3+izDNlSCWFLc=" + ], + "desc": "start XOR @2", + "wantErr": true +} \ No newline at end of file diff --git a/testdata/subtreeconsistency/11/start-plus-@1.json b/testdata/subtreeconsistency/11/start-plus-@1.json new file mode 100644 index 00000000..c270cf9a --- /dev/null +++ b/testdata/subtreeconsistency/11/start-plus-@1.json @@ -0,0 +1,15 @@ +{ + "start": 5, + "end": 7, + "size": 8, + "root1": "g327FS6bB5AQcX6E6GXaTrwPoZioBtWdMb8VrM7yLQ4=", + "root2": "XcnaeacGWamtVZy3Ad7ZoqudgjqtL0lgz+Nw7/RgQyg=", + "proof": [ + "sIaT7C5yFZcTBkHoIR5+7cy0wmQTlj7ubB4u0W/7Gl8=", + "Rvb/rdPQagn/PFhg0nVci5gZ2330QlF4jH2OMYDejrE=", + "DrxdNDf74tsVi58Sah0RjjCBgQMdCpSfje3t68VY72o=", + "037kGJdt2VdTwcc4Yrk5j6Kiz5tP8P3+izDNlSCWFLc=" + ], + "desc": "start plus @1", + "wantErr": true +} \ No newline at end of file diff --git a/testdata/subtreeconsistency/11/start-sub-@1.json b/testdata/subtreeconsistency/11/start-sub-@1.json new file mode 100644 index 00000000..d349293b --- /dev/null +++ b/testdata/subtreeconsistency/11/start-sub-@1.json @@ -0,0 +1,15 @@ +{ + "start": 3, + "end": 7, + "size": 8, + "root1": "g327FS6bB5AQcX6E6GXaTrwPoZioBtWdMb8VrM7yLQ4=", + "root2": "XcnaeacGWamtVZy3Ad7ZoqudgjqtL0lgz+Nw7/RgQyg=", + "proof": [ + "sIaT7C5yFZcTBkHoIR5+7cy0wmQTlj7ubB4u0W/7Gl8=", + "Rvb/rdPQagn/PFhg0nVci5gZ2330QlF4jH2OMYDejrE=", + "DrxdNDf74tsVi58Sah0RjjCBgQMdCpSfje3t68VY72o=", + "037kGJdt2VdTwcc4Yrk5j6Kiz5tP8P3+izDNlSCWFLc=" + ], + "desc": "start sub @1", + "wantErr": true +} \ No newline at end of file diff --git a/testdata/subtreeconsistency/2/startsub-@1.json b/testdata/subtreeconsistency/2/startsub-@1.json deleted file mode 100644 index 7dc5d2e6..00000000 --- a/testdata/subtreeconsistency/2/startsub-@1.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "start": 18446744073709551615, - "end": 6, - "size": 8, - "root1": "duZ9rbzfHhDht03cYIq9L5jfsW+851J3tSMqEn8gh+8=", - "root2": "XcnaeacGWamtVZy3Ad7ZoqudgjqtL0lgz+Nw7/RgQyg=", - "proof": [ - "DrxdNDf74tsVi58Sah0RjjCBgQMdCpSfje3t68VY72o=", - "yoVOoSjtBQtBs1/8G4e46yveRh6eO1WW7Oa51ZdaCuA=", - "037kGJdt2VdTwcc4Yrk5j6Kiz5tP8P3+izDNlSCWFLc=" - ], - "desc": "startsub @1", - "wantErr": true -} \ No newline at end of file diff --git a/testdata/subtreeconsistency/3/startsub-@1.json b/testdata/subtreeconsistency/3/startsub-@1.json deleted file mode 100644 index 9abab70b..00000000 --- a/testdata/subtreeconsistency/3/startsub-@1.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "start": 18446744073709551615, - "end": 2, - "size": 5, - "root1": "+sVCA+fMaWzw38tCySodnbr3CtnmIfS9jZhmLwDjwSU=", - "root2": "Tju7H3tHjc/nH7YxYxUZo7yhLJrvyhYSv85ME6hiZNQ=", - "proof": [ - "Xwg/ChozygdqlSeYMlgNs+DvRYS9/x9UyKNg9Q3jAx4=", - "vBoGQ7EuTS18d5GPROD095qDi2z57FtcKD4fTYhZnms=" - ], - "desc": "startsub @1", - "wantErr": true -} \ No newline at end of file diff --git a/testdata/subtreeconsistency/4/startsub-@1.json b/testdata/subtreeconsistency/4/startsub-@1.json deleted file mode 100644 index 3f0d9373..00000000 --- a/testdata/subtreeconsistency/4/startsub-@1.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "start": 18446744073709551615, - "end": 6, - "size": 7, - "root1": "duZ9rbzfHhDht03cYIq9L5jfsW+851J3tSMqEn8gh+8=", - "root2": "3bib5AOAnjJXUNPSY814kpwpQreUKjS3fhIslZSnTIw=", - "proof": [ - "DrxdNDf74tsVi58Sah0RjjCBgQMdCpSfje3t68VY72o=", - "sIaT7C5yFZcTBkHoIR5+7cy0wmQTlj7ubB4u0W/7Gl8=", - "037kGJdt2VdTwcc4Yrk5j6Kiz5tP8P3+izDNlSCWFLc=" - ], - "desc": "startsub @1", - "wantErr": true -} \ No newline at end of file diff --git a/testdata/subtreeconsistency/5/start-XOR-@2.json b/testdata/subtreeconsistency/5/start-XOR-@2.json index f3515d8e..dcedd82d 100644 --- a/testdata/subtreeconsistency/5/start-XOR-@2.json +++ b/testdata/subtreeconsistency/5/start-XOR-@2.json @@ -1,10 +1,12 @@ { - "start": 6, + "start": 5, "end": 8, "size": 8, - "root1": "a0eq8p7jwq+a+Im8H7klTavTEXfxYjLdaqsDXKOb9uQ=", + "root1": "Rvb/rdPQagn/PFhg0nVci5gZ2330QlF4jH2OMYDejrE=", "root2": "XcnaeacGWamtVZy3Ad7ZoqudgjqtL0lgz+Nw7/RgQyg=", "proof": [ + "sIaT7C5yFZcTBkHoIR5+7cy0wmQTlj7ubB4u0W/7Gl8=", + "DrxdNDf74tsVi58Sah0RjjCBgQMdCpSfje3t68VY72o=", "037kGJdt2VdTwcc4Yrk5j6Kiz5tP8P3+izDNlSCWFLc=" ], "desc": "start XOR @2", diff --git a/testdata/subtreeconsistency/5/start-plus-@1.json b/testdata/subtreeconsistency/5/start-plus-@1.json index 482dec79..abaf5a95 100644 --- a/testdata/subtreeconsistency/5/start-plus-@1.json +++ b/testdata/subtreeconsistency/5/start-plus-@1.json @@ -1,10 +1,12 @@ { - "start": 5, + "start": 8, "end": 8, "size": 8, - "root1": "a0eq8p7jwq+a+Im8H7klTavTEXfxYjLdaqsDXKOb9uQ=", + "root1": "Rvb/rdPQagn/PFhg0nVci5gZ2330QlF4jH2OMYDejrE=", "root2": "XcnaeacGWamtVZy3Ad7ZoqudgjqtL0lgz+Nw7/RgQyg=", "proof": [ + "sIaT7C5yFZcTBkHoIR5+7cy0wmQTlj7ubB4u0W/7Gl8=", + "DrxdNDf74tsVi58Sah0RjjCBgQMdCpSfje3t68VY72o=", "037kGJdt2VdTwcc4Yrk5j6Kiz5tP8P3+izDNlSCWFLc=" ], "desc": "start plus @1", diff --git a/testdata/subtreeconsistency/5/start-sub-@1.json b/testdata/subtreeconsistency/5/start-sub-@1.json index 6740d9a8..53c24e0c 100644 --- a/testdata/subtreeconsistency/5/start-sub-@1.json +++ b/testdata/subtreeconsistency/5/start-sub-@1.json @@ -1,10 +1,12 @@ { - "start": 3, + "start": 6, "end": 8, "size": 8, - "root1": "a0eq8p7jwq+a+Im8H7klTavTEXfxYjLdaqsDXKOb9uQ=", + "root1": "Rvb/rdPQagn/PFhg0nVci5gZ2330QlF4jH2OMYDejrE=", "root2": "XcnaeacGWamtVZy3Ad7ZoqudgjqtL0lgz+Nw7/RgQyg=", "proof": [ + "sIaT7C5yFZcTBkHoIR5+7cy0wmQTlj7ubB4u0W/7Gl8=", + "DrxdNDf74tsVi58Sah0RjjCBgQMdCpSfje3t68VY72o=", "037kGJdt2VdTwcc4Yrk5j6Kiz5tP8P3+izDNlSCWFLc=" ], "desc": "start sub @1", diff --git a/testdata/subtreeconsistency/5/startsub-@1.json b/testdata/subtreeconsistency/5/startsub-@1.json deleted file mode 100644 index 2cd3dfb5..00000000 --- a/testdata/subtreeconsistency/5/startsub-@1.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "start": 3, - "end": 8, - "size": 8, - "root1": "a0eq8p7jwq+a+Im8H7klTavTEXfxYjLdaqsDXKOb9uQ=", - "root2": "XcnaeacGWamtVZy3Ad7ZoqudgjqtL0lgz+Nw7/RgQyg=", - "proof": [ - "037kGJdt2VdTwcc4Yrk5j6Kiz5tP8P3+izDNlSCWFLc=" - ], - "desc": "startsub @1", - "wantErr": true -} \ No newline at end of file diff --git a/testdata/subtreeconsistency/6/start-XOR-@2.json b/testdata/subtreeconsistency/6/start-XOR-@2.json index 6592db06..f3515d8e 100644 --- a/testdata/subtreeconsistency/6/start-XOR-@2.json +++ b/testdata/subtreeconsistency/6/start-XOR-@2.json @@ -1,13 +1,11 @@ { "start": 6, - "end": 5, + "end": 8, "size": 8, - "root1": "MDE=", - "root2": "JAvgbsSQQ0ftX3pjarrbnvuS8xJtLwO6s+eSyWEdKlQ=", + "root1": "a0eq8p7jwq+a+Im8H7klTavTEXfxYjLdaqsDXKOb9uQ=", + "root2": "XcnaeacGWamtVZy3Ad7ZoqudgjqtL0lgz+Nw7/RgQyg=", "proof": [ - "QEFCQw==", - "oLSr/EirK7ViJ/rRLMBj2gYGnSvVs3J89BmipOf9uk8=", - "EAQDNTq5tZyPLwBYQ2j/uFE+Jf7ZbRnbFifehtXLc3w=" + "037kGJdt2VdTwcc4Yrk5j6Kiz5tP8P3+izDNlSCWFLc=" ], "desc": "start XOR @2", "wantErr": true diff --git a/testdata/subtreeconsistency/6/start-plus-@1.json b/testdata/subtreeconsistency/6/start-plus-@1.json index a1769615..482dec79 100644 --- a/testdata/subtreeconsistency/6/start-plus-@1.json +++ b/testdata/subtreeconsistency/6/start-plus-@1.json @@ -1,13 +1,11 @@ { "start": 5, - "end": 5, + "end": 8, "size": 8, - "root1": "MDE=", - "root2": "JAvgbsSQQ0ftX3pjarrbnvuS8xJtLwO6s+eSyWEdKlQ=", + "root1": "a0eq8p7jwq+a+Im8H7klTavTEXfxYjLdaqsDXKOb9uQ=", + "root2": "XcnaeacGWamtVZy3Ad7ZoqudgjqtL0lgz+Nw7/RgQyg=", "proof": [ - "QEFCQw==", - "oLSr/EirK7ViJ/rRLMBj2gYGnSvVs3J89BmipOf9uk8=", - "EAQDNTq5tZyPLwBYQ2j/uFE+Jf7ZbRnbFifehtXLc3w=" + "037kGJdt2VdTwcc4Yrk5j6Kiz5tP8P3+izDNlSCWFLc=" ], "desc": "start plus @1", "wantErr": true diff --git a/testdata/subtreeconsistency/6/start-sub-@1.json b/testdata/subtreeconsistency/6/start-sub-@1.json index 8311a80e..6740d9a8 100644 --- a/testdata/subtreeconsistency/6/start-sub-@1.json +++ b/testdata/subtreeconsistency/6/start-sub-@1.json @@ -1,13 +1,11 @@ { "start": 3, - "end": 5, + "end": 8, "size": 8, - "root1": "MDE=", - "root2": "JAvgbsSQQ0ftX3pjarrbnvuS8xJtLwO6s+eSyWEdKlQ=", + "root1": "a0eq8p7jwq+a+Im8H7klTavTEXfxYjLdaqsDXKOb9uQ=", + "root2": "XcnaeacGWamtVZy3Ad7ZoqudgjqtL0lgz+Nw7/RgQyg=", "proof": [ - "QEFCQw==", - "oLSr/EirK7ViJ/rRLMBj2gYGnSvVs3J89BmipOf9uk8=", - "EAQDNTq5tZyPLwBYQ2j/uFE+Jf7ZbRnbFifehtXLc3w=" + "037kGJdt2VdTwcc4Yrk5j6Kiz5tP8P3+izDNlSCWFLc=" ], "desc": "start sub @1", "wantErr": true diff --git a/testdata/subtreeconsistency/6/startsub-@1.json b/testdata/subtreeconsistency/6/startsub-@1.json deleted file mode 100644 index 55471fbc..00000000 --- a/testdata/subtreeconsistency/6/startsub-@1.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "start": 3, - "end": 5, - "size": 8, - "root1": "MDE=", - "root2": "JAvgbsSQQ0ftX3pjarrbnvuS8xJtLwO6s+eSyWEdKlQ=", - "proof": [ - "QEFCQw==", - "oLSr/EirK7ViJ/rRLMBj2gYGnSvVs3J89BmipOf9uk8=", - "EAQDNTq5tZyPLwBYQ2j/uFE+Jf7ZbRnbFifehtXLc3w=" - ], - "desc": "startsub @1", - "wantErr": true -} \ No newline at end of file diff --git a/testdata/subtreeconsistency/7/start-XOR-@2.json b/testdata/subtreeconsistency/7/start-XOR-@2.json index 2aa63dcb..3a7b0513 100644 --- a/testdata/subtreeconsistency/7/start-XOR-@2.json +++ b/testdata/subtreeconsistency/7/start-XOR-@2.json @@ -2,11 +2,11 @@ "start": 4, "end": 8, "size": 8, - "root1": "oLSr/EirK7ViJ/rRLMBj2gYGnSvVs3J89BmipOf9uk8=", - "root2": "JAvgbsSQQ0ftX3pjarrbnvuS8xJtLwO6s+eSyWEdKlQ=", + "root1": "yoVOoSjtBQtBs1/8G4e46yveRh6eO1WW7Oa51ZdaCuA=", + "root2": "XcnaeacGWamtVZy3Ad7ZoqudgjqtL0lgz+Nw7/RgQyg=", "proof": [ - "7h2aUYYQ98YU/CBBlpoPKZFTPfBLvXSqm9M/Z0e6Phk=", - "EAQDNTq5tZyPLwBYQ2j/uFE+Jf7ZbRnbFifehtXLc3w=" + "DrxdNDf74tsVi58Sah0RjjCBgQMdCpSfje3t68VY72o=", + "037kGJdt2VdTwcc4Yrk5j6Kiz5tP8P3+izDNlSCWFLc=" ], "desc": "start XOR @2", "wantErr": true diff --git a/testdata/subtreeconsistency/7/start-plus-@1.json b/testdata/subtreeconsistency/7/start-plus-@1.json index 71ff2e39..60aeda29 100644 --- a/testdata/subtreeconsistency/7/start-plus-@1.json +++ b/testdata/subtreeconsistency/7/start-plus-@1.json @@ -2,11 +2,11 @@ "start": 7, "end": 8, "size": 8, - "root1": "oLSr/EirK7ViJ/rRLMBj2gYGnSvVs3J89BmipOf9uk8=", - "root2": "JAvgbsSQQ0ftX3pjarrbnvuS8xJtLwO6s+eSyWEdKlQ=", + "root1": "yoVOoSjtBQtBs1/8G4e46yveRh6eO1WW7Oa51ZdaCuA=", + "root2": "XcnaeacGWamtVZy3Ad7ZoqudgjqtL0lgz+Nw7/RgQyg=", "proof": [ - "7h2aUYYQ98YU/CBBlpoPKZFTPfBLvXSqm9M/Z0e6Phk=", - "EAQDNTq5tZyPLwBYQ2j/uFE+Jf7ZbRnbFifehtXLc3w=" + "DrxdNDf74tsVi58Sah0RjjCBgQMdCpSfje3t68VY72o=", + "037kGJdt2VdTwcc4Yrk5j6Kiz5tP8P3+izDNlSCWFLc=" ], "desc": "start plus @1", "wantErr": true diff --git a/testdata/subtreeconsistency/7/start-sub-@1.json b/testdata/subtreeconsistency/7/start-sub-@1.json index e30e1668..282e8bf9 100644 --- a/testdata/subtreeconsistency/7/start-sub-@1.json +++ b/testdata/subtreeconsistency/7/start-sub-@1.json @@ -2,11 +2,11 @@ "start": 5, "end": 8, "size": 8, - "root1": "oLSr/EirK7ViJ/rRLMBj2gYGnSvVs3J89BmipOf9uk8=", - "root2": "JAvgbsSQQ0ftX3pjarrbnvuS8xJtLwO6s+eSyWEdKlQ=", + "root1": "yoVOoSjtBQtBs1/8G4e46yveRh6eO1WW7Oa51ZdaCuA=", + "root2": "XcnaeacGWamtVZy3Ad7ZoqudgjqtL0lgz+Nw7/RgQyg=", "proof": [ - "7h2aUYYQ98YU/CBBlpoPKZFTPfBLvXSqm9M/Z0e6Phk=", - "EAQDNTq5tZyPLwBYQ2j/uFE+Jf7ZbRnbFifehtXLc3w=" + "DrxdNDf74tsVi58Sah0RjjCBgQMdCpSfje3t68VY72o=", + "037kGJdt2VdTwcc4Yrk5j6Kiz5tP8P3+izDNlSCWFLc=" ], "desc": "start sub @1", "wantErr": true diff --git a/testdata/subtreeconsistency/7/startsub-@1.json b/testdata/subtreeconsistency/7/startsub-@1.json deleted file mode 100644 index a50a8f8a..00000000 --- a/testdata/subtreeconsistency/7/startsub-@1.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "start": 5, - "end": 8, - "size": 8, - "root1": "oLSr/EirK7ViJ/rRLMBj2gYGnSvVs3J89BmipOf9uk8=", - "root2": "JAvgbsSQQ0ftX3pjarrbnvuS8xJtLwO6s+eSyWEdKlQ=", - "proof": [ - "7h2aUYYQ98YU/CBBlpoPKZFTPfBLvXSqm9M/Z0e6Phk=", - "EAQDNTq5tZyPLwBYQ2j/uFE+Jf7ZbRnbFifehtXLc3w=" - ], - "desc": "startsub @1", - "wantErr": true -} \ No newline at end of file diff --git a/testdata/subtreeconsistency/8/start-XOR-@2.json b/testdata/subtreeconsistency/8/start-XOR-@2.json index f1602287..fbfc7c23 100644 --- a/testdata/subtreeconsistency/8/start-XOR-@2.json +++ b/testdata/subtreeconsistency/8/start-XOR-@2.json @@ -1,12 +1,11 @@ { - "start": 0, - "end": 4, - "size": 8, - "root1": "1vAr+BQ/49rqshJq4qQYJ6rTFhiiVxZtZRaoH1L7jU8=", - "root2": "JAvgbsSQQ0ftX3pjarrbnvuS8xJtLwO6s+eSyWEdKlQ=", + "start": 6, + "end": 7, + "size": 7, + "root1": "g327FS6bB5AQcX6E6GXaTrwPoZioBtWdMb8VrM7yLQ4=", + "root2": "3bib5AOAnjJXUNPSY814kpwpQreUKjS3fhIslZSnTIw=", "proof": [ - "R9xUDJTOtwSiOHXBEnPha7C4qHrthN6RHyEzVoEV8lQ=", - "vzGKP3+r1qrDHmnW/gg7DDmJlM2OBXsznSTdo/QBqh4=" + "037kGJdt2VdTwcc4Yrk5j6Kiz5tP8P3+izDNlSCWFLc=" ], "desc": "start XOR @2", "wantErr": true diff --git a/testdata/subtreeconsistency/8/start-plus-@1.json b/testdata/subtreeconsistency/8/start-plus-@1.json index c214317c..788511a0 100644 --- a/testdata/subtreeconsistency/8/start-plus-@1.json +++ b/testdata/subtreeconsistency/8/start-plus-@1.json @@ -1,12 +1,11 @@ { - "start": 3, - "end": 4, - "size": 8, - "root1": "1vAr+BQ/49rqshJq4qQYJ6rTFhiiVxZtZRaoH1L7jU8=", - "root2": "JAvgbsSQQ0ftX3pjarrbnvuS8xJtLwO6s+eSyWEdKlQ=", + "start": 5, + "end": 7, + "size": 7, + "root1": "g327FS6bB5AQcX6E6GXaTrwPoZioBtWdMb8VrM7yLQ4=", + "root2": "3bib5AOAnjJXUNPSY814kpwpQreUKjS3fhIslZSnTIw=", "proof": [ - "R9xUDJTOtwSiOHXBEnPha7C4qHrthN6RHyEzVoEV8lQ=", - "vzGKP3+r1qrDHmnW/gg7DDmJlM2OBXsznSTdo/QBqh4=" + "037kGJdt2VdTwcc4Yrk5j6Kiz5tP8P3+izDNlSCWFLc=" ], "desc": "start plus @1", "wantErr": true diff --git a/testdata/subtreeconsistency/8/start-sub-@1.json b/testdata/subtreeconsistency/8/start-sub-@1.json index f9df1e28..bcd9f5d3 100644 --- a/testdata/subtreeconsistency/8/start-sub-@1.json +++ b/testdata/subtreeconsistency/8/start-sub-@1.json @@ -1,12 +1,11 @@ { - "start": 1, - "end": 4, - "size": 8, - "root1": "1vAr+BQ/49rqshJq4qQYJ6rTFhiiVxZtZRaoH1L7jU8=", - "root2": "JAvgbsSQQ0ftX3pjarrbnvuS8xJtLwO6s+eSyWEdKlQ=", + "start": 3, + "end": 7, + "size": 7, + "root1": "g327FS6bB5AQcX6E6GXaTrwPoZioBtWdMb8VrM7yLQ4=", + "root2": "3bib5AOAnjJXUNPSY814kpwpQreUKjS3fhIslZSnTIw=", "proof": [ - "R9xUDJTOtwSiOHXBEnPha7C4qHrthN6RHyEzVoEV8lQ=", - "vzGKP3+r1qrDHmnW/gg7DDmJlM2OBXsznSTdo/QBqh4=" + "037kGJdt2VdTwcc4Yrk5j6Kiz5tP8P3+izDNlSCWFLc=" ], "desc": "start sub @1", "wantErr": true diff --git a/testdata/subtreeconsistency/8/startsub-@1.json b/testdata/subtreeconsistency/8/startsub-@1.json deleted file mode 100644 index 3d700778..00000000 --- a/testdata/subtreeconsistency/8/startsub-@1.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "start": 1, - "end": 4, - "size": 8, - "root1": "1vAr+BQ/49rqshJq4qQYJ6rTFhiiVxZtZRaoH1L7jU8=", - "root2": "JAvgbsSQQ0ftX3pjarrbnvuS8xJtLwO6s+eSyWEdKlQ=", - "proof": [ - "R9xUDJTOtwSiOHXBEnPha7C4qHrthN6RHyEzVoEV8lQ=", - "vzGKP3+r1qrDHmnW/gg7DDmJlM2OBXsznSTdo/QBqh4=" - ], - "desc": "startsub @1", - "wantErr": true -} \ No newline at end of file diff --git a/testdata/subtreeconsistency/9/start-XOR-@2.json b/testdata/subtreeconsistency/9/start-XOR-@2.json index feb74da2..5165efdb 100644 --- a/testdata/subtreeconsistency/9/start-XOR-@2.json +++ b/testdata/subtreeconsistency/9/start-XOR-@2.json @@ -1,14 +1,13 @@ { "start": 6, - "end": 7, + "end": 5, "size": 8, - "root1": "TeH0HwzQLWniGTWgBbtsw3U9gD63gzLddyJoC8fVSXc=", - "root2": "JAvgbsSQQ0ftX3pjarrbnvuS8xJtLwO6s+eSyWEdKlQ=", + "root1": "vBoGQ7EuTS18d5GPROD095qDi2z57FtcKD4fTYhZnms=", + "root2": "XcnaeacGWamtVZy3Ad7ZoqudgjqtL0lgz+Nw7/RgQyg=", "proof": [ - "UFFSU1RVVlc=", - "YGFiY2RlZmdoaWprbG1ubw==", - "7h2aUYYQ98YU/CBBlpoPKZFTPfBLvXSqm9M/Z0e6Phk=", - "EAQDNTq5tZyPLwBYQ2j/uFE+Jf7ZbRnbFifehtXLc3w=" + "QnGia+DYqE8L1UyMMC58s6O10fpngKQLzOKHNHfatlg=", + "yoVOoSjtBQtBs1/8G4e46yveRh6eO1WW7Oa51ZdaCuA=", + "037kGJdt2VdTwcc4Yrk5j6Kiz5tP8P3+izDNlSCWFLc=" ], "desc": "start XOR @2", "wantErr": true diff --git a/testdata/subtreeconsistency/9/start-plus-@1.json b/testdata/subtreeconsistency/9/start-plus-@1.json index 5b7fa228..9a3ebc72 100644 --- a/testdata/subtreeconsistency/9/start-plus-@1.json +++ b/testdata/subtreeconsistency/9/start-plus-@1.json @@ -1,14 +1,13 @@ { "start": 5, - "end": 7, + "end": 5, "size": 8, - "root1": "TeH0HwzQLWniGTWgBbtsw3U9gD63gzLddyJoC8fVSXc=", - "root2": "JAvgbsSQQ0ftX3pjarrbnvuS8xJtLwO6s+eSyWEdKlQ=", + "root1": "vBoGQ7EuTS18d5GPROD095qDi2z57FtcKD4fTYhZnms=", + "root2": "XcnaeacGWamtVZy3Ad7ZoqudgjqtL0lgz+Nw7/RgQyg=", "proof": [ - "UFFSU1RVVlc=", - "YGFiY2RlZmdoaWprbG1ubw==", - "7h2aUYYQ98YU/CBBlpoPKZFTPfBLvXSqm9M/Z0e6Phk=", - "EAQDNTq5tZyPLwBYQ2j/uFE+Jf7ZbRnbFifehtXLc3w=" + "QnGia+DYqE8L1UyMMC58s6O10fpngKQLzOKHNHfatlg=", + "yoVOoSjtBQtBs1/8G4e46yveRh6eO1WW7Oa51ZdaCuA=", + "037kGJdt2VdTwcc4Yrk5j6Kiz5tP8P3+izDNlSCWFLc=" ], "desc": "start plus @1", "wantErr": true diff --git a/testdata/subtreeconsistency/9/start-sub-@1.json b/testdata/subtreeconsistency/9/start-sub-@1.json index da7b50fa..04c202f2 100644 --- a/testdata/subtreeconsistency/9/start-sub-@1.json +++ b/testdata/subtreeconsistency/9/start-sub-@1.json @@ -1,14 +1,13 @@ { "start": 3, - "end": 7, + "end": 5, "size": 8, - "root1": "TeH0HwzQLWniGTWgBbtsw3U9gD63gzLddyJoC8fVSXc=", - "root2": "JAvgbsSQQ0ftX3pjarrbnvuS8xJtLwO6s+eSyWEdKlQ=", + "root1": "vBoGQ7EuTS18d5GPROD095qDi2z57FtcKD4fTYhZnms=", + "root2": "XcnaeacGWamtVZy3Ad7ZoqudgjqtL0lgz+Nw7/RgQyg=", "proof": [ - "UFFSU1RVVlc=", - "YGFiY2RlZmdoaWprbG1ubw==", - "7h2aUYYQ98YU/CBBlpoPKZFTPfBLvXSqm9M/Z0e6Phk=", - "EAQDNTq5tZyPLwBYQ2j/uFE+Jf7ZbRnbFifehtXLc3w=" + "QnGia+DYqE8L1UyMMC58s6O10fpngKQLzOKHNHfatlg=", + "yoVOoSjtBQtBs1/8G4e46yveRh6eO1WW7Oa51ZdaCuA=", + "037kGJdt2VdTwcc4Yrk5j6Kiz5tP8P3+izDNlSCWFLc=" ], "desc": "start sub @1", "wantErr": true diff --git a/testdata/subtreeconsistency/9/startsub-@1.json b/testdata/subtreeconsistency/9/startsub-@1.json deleted file mode 100644 index a8412e6f..00000000 --- a/testdata/subtreeconsistency/9/startsub-@1.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "start": 3, - "end": 7, - "size": 8, - "root1": "TeH0HwzQLWniGTWgBbtsw3U9gD63gzLddyJoC8fVSXc=", - "root2": "JAvgbsSQQ0ftX3pjarrbnvuS8xJtLwO6s+eSyWEdKlQ=", - "proof": [ - "UFFSU1RVVlc=", - "YGFiY2RlZmdoaWprbG1ubw==", - "7h2aUYYQ98YU/CBBlpoPKZFTPfBLvXSqm9M/Z0e6Phk=", - "EAQDNTq5tZyPLwBYQ2j/uFE+Jf7ZbRnbFifehtXLc3w=" - ], - "desc": "startsub @1", - "wantErr": true -} \ No newline at end of file