Skip to content

Commit fe2a314

Browse files
Add more test data and modify when to add proof
1 parent 154ed5d commit fe2a314

3 files changed

Lines changed: 21 additions & 2 deletions

File tree

deepsubtree.go

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -190,6 +190,9 @@ func (dst *DeepSubTree) BuildTree(rootHash []byte) error {
190190
}
191191
// Traverse through nodes and link them correctly
192192
for _, node := range nodes {
193+
if node.version < dst.version {
194+
continue
195+
}
193196
pnode, err := dst.ndb.GetNode(node.hash)
194197
if err != nil {
195198
return err

deepsubtree_test.go

Lines changed: 16 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -351,6 +351,17 @@ func FuzzBatchAddReverse(f *testing.F) {
351351
require.NoError(err)
352352
}
353353

354+
if i == 7 {
355+
keyToAdd = []byte("\x038911ac0Yb9")
356+
}
357+
358+
ics23proof := &ics23.CommitmentProof{}
359+
360+
if !isNewKey {
361+
ics23proof, err = tree.GetMembershipProof(keyToAdd)
362+
require.NoError(err)
363+
}
364+
354365
// Set key-value pair in IAVL tree
355366
tree.Set(keyToAdd, value)
356367
tree.SaveVersion()
@@ -360,8 +371,11 @@ func FuzzBatchAddReverse(f *testing.F) {
360371
require.NoError(err)
361372
}
362373

363-
ics23proof, err := tree.GetMembershipProof(keyToAdd)
364-
require.NoError(err)
374+
if isNewKey {
375+
ics23proof, err = tree.GetMembershipProof(keyToAdd)
376+
require.NoError(err)
377+
}
378+
365379
err = dst.AddExistenceProofs([]*ics23.ExistenceProof{
366380
ics23proof.GetExist(),
367381
})
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
go test fuzz v1
2+
[]byte("0208$0cc1X9z\"80 XYXB01A0b7C020 C271BaBZ$A780Y8a028Bza0b10A9Bz8)2C1\"by8C8XC20aBC28B9\x061.BbX\x16\x038911ac0Yb9b1$b8Y011Ab2Y812A00a11Zx\xd9Y0")

0 commit comments

Comments
 (0)