Skip to content

Commit 98af001

Browse files
authored
prefix fix (#308)
1 parent 18c8354 commit 98af001

File tree

1 file changed

+21
-10
lines changed

1 file changed

+21
-10
lines changed

relayer/chainreader/indexer/events_indexer.go

Lines changed: 21 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -243,16 +243,27 @@ func (eIndexer *EventsIndexer) SyncEvent(ctx context.Context, selector *client.E
243243
}
244244

245245
if dbOffsetCursor != nil {
246-
txDigestBytes, err := hex.DecodeString(strings.TrimPrefix(dbOffsetCursor.TxDigest, "0x"))
247-
if err != nil {
248-
eIndexer.cursorMutex.RUnlock()
249-
eIndexer.logger.Errorw("syncEvent: failed to decode tx digest", "error", err, "txDigest", dbOffsetCursor.TxDigest)
250-
return err
251-
}
252-
// convert the db offset cursor digest from hex (the format stored in the DB) to base58 (the format expected by the client)
253-
cursor = &models.EventId{
254-
TxDigest: base58.Encode(txDigestBytes),
255-
EventSeq: dbOffsetCursor.EventSeq,
246+
txDigest := dbOffsetCursor.TxDigest
247+
248+
// note: this is to ensure existing base58 txDigest can be read without error pre-migration.
249+
if strings.HasPrefix(txDigest, "0x") || strings.HasPrefix(txDigest, "0X") {
250+
txDigestBytes, err := hex.DecodeString(strings.TrimPrefix(strings.TrimPrefix(txDigest, "0x"), "0X"))
251+
if err != nil {
252+
eIndexer.cursorMutex.RUnlock()
253+
eIndexer.logger.Errorw("syncEvent: failed to decode tx digest", "error", err, "txDigest", dbOffsetCursor.TxDigest)
254+
return err
255+
}
256+
257+
cursor = &models.EventId{
258+
TxDigest: base58.Encode(txDigestBytes),
259+
EventSeq: dbOffsetCursor.EventSeq,
260+
}
261+
} else {
262+
// DB already has base58
263+
cursor = &models.EventId{
264+
TxDigest: txDigest,
265+
EventSeq: dbOffsetCursor.EventSeq,
266+
}
256267
}
257268

258269
totalCount = dbTotalCount

0 commit comments

Comments
 (0)