Skip to content

Commit b930af0

Browse files
committed
move invalid subtree test and add more
1 parent a1fb1b3 commit b930af0

5 files changed

Lines changed: 45 additions & 10 deletions

File tree

cmd/proofgen/main.go

Lines changed: 5 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -756,16 +756,6 @@ func invalidSubtreeConsistencyProof(end, size uint64, root1, root2 []byte, proof
756756
ret = append(ret, subtreeConsistencyProbe{0, end, size, root1, root2, wrongProof, desc, true})
757757
}
758758

759-
ret = append(ret, subtreeConsistencyProbe{
760-
Start: 1,
761-
End: 15,
762-
Size: 15,
763-
Root1: root1,
764-
Root2: root2,
765-
Proof: proof,
766-
Desc: "invalid subtree",
767-
WantError: true,
768-
})
769759
return ret
770760
}
771761

@@ -794,6 +784,11 @@ func staticSubtreeConsistencyProbes(dir string) error {
794784
{1, 1, 2, sha256EmptyTreeHash, sha256EmptyTreeHash, proof1, "subtree is empty subtree root valid tree root random proof is empty", false},
795785
{1, 1, 2, sha256EmptyTreeHash, sha256EmptyTreeHash, proof2, "subtree is empty roots valid but proof is not empty", true},
796786
{1, 1, 2, root1, root1, proof1, "subtree is empty roots match but not valid", true},
787+
// Invalid subtree boundaries (not a multiple of power of 2 >= end - start).
788+
{1, 15, 15, root1, root2, proof1, "invalid subtree start 1 end 15 size 15", true},
789+
{1, 3, 8, root1, root2, proof1, "invalid subtree start 1 end 3 size 8", true},
790+
{2, 5, 8, root1, root2, proof1, "invalid subtree start 2 end 5 size 8", true},
791+
{2, 6, 8, root1, root2, proof1, "invalid subtree start 2 end 6 size 8", true},
797792
// Time travel to the past.
798793
{0, 1, 0, root1, root2, proof1, "size1 is greater than size2", true},
799794
{0, 2, 1, root1, root2, proof1, "size1 is greater than size2 again", true},
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
{
2+
"start": 1,
3+
"end": 15,
4+
"size": 15,
5+
"root1": "ZG9uJ3QgY2FyZSAx",
6+
"root2": "ZG9uJ3QgY2FyZSAy",
7+
"proof": [],
8+
"desc": "invalid subtree start 1 end 15 size 15",
9+
"wantErr": true
10+
}
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
{
2+
"start": 1,
3+
"end": 3,
4+
"size": 8,
5+
"root1": "ZG9uJ3QgY2FyZSAx",
6+
"root2": "ZG9uJ3QgY2FyZSAy",
7+
"proof": [],
8+
"desc": "invalid subtree start 1 end 3 size 8",
9+
"wantErr": true
10+
}
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
{
2+
"start": 2,
3+
"end": 5,
4+
"size": 8,
5+
"root1": "ZG9uJ3QgY2FyZSAx",
6+
"root2": "ZG9uJ3QgY2FyZSAy",
7+
"proof": [],
8+
"desc": "invalid subtree start 2 end 5 size 8",
9+
"wantErr": true
10+
}
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
{
2+
"start": 2,
3+
"end": 6,
4+
"size": 8,
5+
"root1": "ZG9uJ3QgY2FyZSAx",
6+
"root2": "ZG9uJ3QgY2FyZSAy",
7+
"proof": [],
8+
"desc": "invalid subtree start 2 end 6 size 8",
9+
"wantErr": true
10+
}

0 commit comments

Comments
 (0)