Skip to content

Commit

Permalink
fix_: properly check type casts in activity service
Browse files Browse the repository at this point in the history
  • Loading branch information
dlipicar committed Jan 23, 2025
1 parent e4d5622 commit c963ccf
Showing 1 changed file with 28 additions and 16 deletions.
44 changes: 28 additions & 16 deletions services/wallet/activity/service.go
Original file line number Diff line number Diff line change
Expand Up @@ -136,11 +136,13 @@ func (s *Service) FilterActivityAsync(requestID int32, addresses []common.Addres
if errors.Is(err, context.Canceled) || errors.Is(err, async.ErrTaskOverwritten) {
res.ErrorCode = ErrorCodeTaskCanceled
} else if err == nil {
activities := result.([]Entry)
res.Activities = activities
res.Offset = offset
res.HasMore = len(activities) == limit
res.ErrorCode = ErrorCodeSuccess
activities, ok := result.([]Entry)
if ok {
res.Activities = activities
res.Offset = offset
res.HasMore = len(activities) == limit
res.ErrorCode = ErrorCodeSuccess
}
}

sendResponseEvent(s.eventFeed, &requestID, EventActivityFilteringDone, res, err)
Expand Down Expand Up @@ -196,11 +198,13 @@ func (s *Service) GetActivityCollectiblesAsync(requestID int32, chainIDs []w_com
if errors.Is(err, context.Canceled) || errors.Is(err, async.ErrTaskOverwritten) {
res.ErrorCode = ErrorCodeTaskCanceled
} else if err == nil {
collectibles := result.([]CollectibleHeader)
res.Collectibles = collectibles
res.Offset = offset
res.HasMore = len(collectibles) == limit
res.ErrorCode = ErrorCodeSuccess
collectibles, ok := result.([]CollectibleHeader)
if ok {
res.Collectibles = collectibles
res.Offset = offset
res.HasMore = len(collectibles) == limit
res.ErrorCode = ErrorCodeSuccess
}
}

sendResponseEvent(s.eventFeed, &requestID, EventActivityGetCollectibles, res, err)
Expand Down Expand Up @@ -316,14 +320,19 @@ func (s *Service) GetRecipientsAsync(requestID int32, chainIDs []w_common.ChainI
result.Addresses, result.HasMore, err = GetRecipients(ctx, s.db, chainIDs, addresses, offset, limit)
return result, err
}, func(result interface{}, taskType async.TaskType, err error) {
res := result.(*GetRecipientsResponse)
res := &GetRecipientsResponse{
ErrorCode: ErrorCodeFailed,
}
if errors.Is(err, context.Canceled) || errors.Is(err, async.ErrTaskOverwritten) {
res.ErrorCode = ErrorCodeTaskCanceled
} else if err != nil {
res.ErrorCode = ErrorCodeFailed
} else if err == nil {
recipientsResponse, ok := result.(*GetRecipientsResponse)
if ok {
res = recipientsResponse
}
}

sendResponseEvent(s.eventFeed, &requestID, EventActivityGetRecipientsDone, result, err)
sendResponseEvent(s.eventFeed, &requestID, EventActivityGetRecipientsDone, res, err)
})
}

Expand All @@ -344,8 +353,11 @@ func (s *Service) GetOldestTimestampAsync(requestID int32, addresses []common.Ad
if errors.Is(err, context.Canceled) || errors.Is(err, async.ErrTaskOverwritten) {
res.ErrorCode = ErrorCodeTaskCanceled
} else if err == nil {
res.Timestamp = int64(result.(uint64))
res.ErrorCode = ErrorCodeSuccess
timestamp, ok := result.(uint64)
if ok {
res.Timestamp = int64(timestamp)
res.ErrorCode = ErrorCodeSuccess
}
}

sendResponseEvent(s.eventFeed, &requestID, EventActivityGetOldestTimestampDone, res, err)
Expand Down

0 comments on commit c963ccf

Please sign in to comment.