Skip to content

Commit 222d087

Browse files
committed
seek last key bug fix
1 parent 131528f commit 222d087

File tree

2 files changed

+5
-1
lines changed

2 files changed

+5
-1
lines changed

db/db.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -85,7 +85,7 @@ func (db *LevelDB) PrefixedIterate(prefix []byte, cb func(key, value []byte) (st
8585

8686
func (db *LevelDB) SeekPrevInclusiveKey(prefix []byte, key []byte) (k []byte, v []byte, err error) {
8787
iter := db.db.NewIterator(util.BytesPrefix(db.PrefixedKey(prefix)), nil)
88-
if iter.Seek(db.PrefixedKey(key)) || iter.Valid() && iter.Prev() {
88+
if iter.Seek(db.PrefixedKey(key)) || iter.Valid() && iter.Prev() || iter.Last() && iter.Valid() {
8989
k = db.UnprefixedKey(iter.Key())
9090
v = iter.Value()
9191
} else {

merkle/merkle.go

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ package merkle
22

33
import (
44
"encoding/json"
5+
"errors"
56
"math/bits"
67

78
merkletypes "github.com/initia-labs/opinit-bots-go/merkle/types"
@@ -179,6 +180,9 @@ func (m *Merkle) GetProofs(leafIndex uint64) ([][]byte, uint64, []byte, []byte,
179180

180181
proofs := make([][]byte, 0)
181182
height := uint8(0)
183+
if leafIndex < treeInfo.StartLeafIndex || leafIndex-treeInfo.StartLeafIndex >= treeInfo.LeafCount {
184+
return nil, 0, nil, nil, errors.New("not found")
185+
}
182186
localIndex := leafIndex - treeInfo.StartLeafIndex
183187

184188
for height < treeInfo.TreeHeight {

0 commit comments

Comments
 (0)