Skip to content

Commit dea4b9d

Browse files
committed
Add DuplicateEventErr and change processLog
1 parent e0e0cdf commit dea4b9d

File tree

1 file changed

+10
-1
lines changed

1 file changed

+10
-1
lines changed

internal/service/checker/process_logs.go

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,8 @@ import (
1717
"gitlab.com/distributed_lab/logan/v3/errors"
1818
)
1919

20+
var DuplicateEventErr = errors.New("Duplicate event in db")
21+
2022
// processLog based on the event name and filtered log, it parses and update the relevant information
2123
func (ch *checker) processLog(vLog types.Log, eventName string) error {
2224
var processedEvent data.ProcessedEvent
@@ -27,6 +29,13 @@ func (ch *checker) processLog(vLog types.Log, eventName string) error {
2729
processedEvent.TransactionHash = vLog.TxHash[:]
2830
err := ch.insertProcessedEventLog(processedEvent)
2931
if err != nil {
32+
if err == DuplicateEventErr {
33+
ch.log.WithFields(logan.F{
34+
"hash_tx": vLog.TxHash.Hex(),
35+
"log_index": processedEvent.LogIndex,
36+
}).Debug("event already processed and stored")
37+
return nil
38+
}
3039
return errors.Wrap(err, "failed insert processed event")
3140
}
3241
sender, err := ch.getSender(vLog.TxHash)
@@ -149,7 +158,7 @@ func (ch *checker) getSender(txHash common.Hash) (string, error) {
149158
func (ch *checker) insertProcessedEventLog(processedEvent data.ProcessedEvent) error {
150159
isExist, err := ch.processedEventQ.CheckProcessedEventExist(processedEvent)
151160
if isExist {
152-
return errors.New("Duplicate event in db")
161+
return DuplicateEventErr
153162
}
154163
if err != nil {
155164
return errors.Wrap(err, "failed to check processed event exist in db")

0 commit comments

Comments
 (0)