Skip to content

Commit 79cd4a8

Browse files
authored
fix from challenger review (#17)
1 parent af8d85e commit 79cd4a8

File tree

4 files changed

+9
-8
lines changed

4 files changed

+9
-8
lines changed

challenger/child/withdraw.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -119,7 +119,7 @@ func (ch *Child) handleTree(blockHeight uint64, blockHeader cmtproto.Header) (kv
119119
// panic if we passed the finalizing block height
120120
// this must not happened
121121
if ch.finalizingBlockHeight != 0 && ch.finalizingBlockHeight < blockHeight {
122-
panic(fmt.Errorf("INVARIANT failed; handleTree expect to finalize tree at block `%d` but we got block `%d`", blockHeight-1, blockHeight))
122+
panic(fmt.Errorf("INVARIANT failed; handleTree expect to finalize tree at block `%d` but we got block `%d`", ch.finalizingBlockHeight, blockHeight))
123123
}
124124

125125
if ch.finalizingBlockHeight == blockHeight {

challenger/eventhandler/challenge.go

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,7 @@ func (ch *ChallengeEventHandler) CheckValue(events []challengertypes.ChallengeEv
3636
}
3737
processedEvents = append(processedEvents, pendingEvent)
3838

39+
// clearing pending oracle events up to l1 height of the last oracle event
3940
if event.Type() == challengertypes.EventTypeOracle {
4041
oracleEvents := ch.getOraclePendingEvents(event.Id().Id)
4142
processedEvents = append(processedEvents, oracleEvents...)
@@ -48,8 +49,8 @@ func (ch *ChallengeEventHandler) CheckValue(events []challengertypes.ChallengeEv
4849
func (ch *ChallengeEventHandler) GetPrevPendingEvent(event challengertypes.ChallengeEvent) (challengertypes.ChallengeEvent, bool) {
4950
prevId := event.Id()
5051
prevId.Id--
51-
prevOutputEvent, ok := ch.GetPendingEvent(prevId)
52-
return prevOutputEvent, ok
52+
prevEvent, ok := ch.GetPendingEvent(prevId)
53+
return prevEvent, ok
5354
}
5455

5556
func (ch *ChallengeEventHandler) CheckTimeout(blockTime time.Time, events []challengertypes.ChallengeEvent) ([]challengertypes.Challenge, []challengertypes.ChallengeEvent) {

challenger/handler.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -48,9 +48,9 @@ func (c *Challenger) insertLatestChallenges(challenge challengertypes.Challenge)
4848
sort.Slice(c.latestChallenges, func(i, j int) bool {
4949
if c.latestChallenges[i].Time.Equal(c.latestChallenges[j].Time) {
5050
if c.latestChallenges[i].Id.Type == c.latestChallenges[j].Id.Type {
51-
return c.latestChallenges[i].Id.Type < c.latestChallenges[j].Id.Type
51+
return c.latestChallenges[i].Id.Id < c.latestChallenges[j].Id.Id
5252
}
53-
return c.latestChallenges[i].Id.Id < c.latestChallenges[j].Id.Id
53+
return c.latestChallenges[i].Id.Type < c.latestChallenges[j].Id.Type
5454
}
5555
return c.latestChallenges[i].Time.Before(c.latestChallenges[j].Time)
5656
})

db/db.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -89,6 +89,7 @@ func (db *LevelDB) Close() error {
8989
// @dev: `LevelDB.prefix + prefix` is used as the prefix for the iteration.
9090
func (db *LevelDB) PrefixedIterate(prefix []byte, cb func(key, value []byte) (stop bool, err error)) error {
9191
iter := db.db.NewIterator(util.BytesPrefix(db.PrefixedKey(prefix)), nil)
92+
defer iter.Release()
9293
for iter.Next() {
9394
key := db.UnprefixedKey(iter.Key())
9495
if stop, err := cb(key, iter.Value()); err != nil {
@@ -97,12 +98,12 @@ func (db *LevelDB) PrefixedIterate(prefix []byte, cb func(key, value []byte) (st
9798
break
9899
}
99100
}
100-
iter.Release()
101101
return iter.Error()
102102
}
103103

104104
func (db *LevelDB) PrefixedReverseIterate(prefix []byte, cb func(key, value []byte) (stop bool, err error)) error {
105105
iter := db.db.NewIterator(util.BytesPrefix(db.PrefixedKey(prefix)), nil)
106+
defer iter.Release()
106107
if iter.Last() {
107108
for {
108109
key := db.UnprefixedKey(iter.Key())
@@ -117,7 +118,6 @@ func (db *LevelDB) PrefixedReverseIterate(prefix []byte, cb func(key, value []by
117118
}
118119
}
119120
}
120-
iter.Release()
121121
return iter.Error()
122122
}
123123

@@ -126,13 +126,13 @@ func (db *LevelDB) PrefixedReverseIterate(prefix []byte, cb func(key, value []by
126126
// @dev: `LevelDB.prefix + prefix` is used as the prefix for the iteration.
127127
func (db *LevelDB) SeekPrevInclusiveKey(prefix []byte, key []byte) (k []byte, v []byte, err error) {
128128
iter := db.db.NewIterator(util.BytesPrefix(db.PrefixedKey(prefix)), nil)
129+
defer iter.Release()
129130
if iter.Seek(db.PrefixedKey(key)) || iter.Valid() && iter.Prev() || iter.Last() && iter.Valid() {
130131
k = db.UnprefixedKey(iter.Key())
131132
v = iter.Value()
132133
} else {
133134
err = dbtypes.ErrNotFound
134135
}
135-
iter.Release()
136136
if iter.Error() != nil {
137137
err = iter.Error()
138138
}

0 commit comments

Comments
 (0)