Skip to content

Commit b93f480

Browse files
committed
fix(api): show skimming estimate
1 parent 524e946 commit b93f480

File tree

1 file changed

+9
-12
lines changed

1 file changed

+9
-12
lines changed

backend/pkg/api/data_access/vdb_withdrawals.go

Lines changed: 9 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -480,7 +480,6 @@ func (d *DataAccessService) GetValidatorDashboardClWithdrawals(ctx context.Conte
480480
responseData = append(responseData, row)
481481
}
482482

483-
moreDataFlag := len(responseData) > int(limit)
484483
if currentCursor.IsReverse() {
485484
// Invert query result so response matches requested direction
486485
slices.Reverse(responseData)
@@ -535,20 +534,18 @@ func (d *DataAccessService) GetValidatorDashboardClWithdrawals(ctx context.Conte
535534
// TODO integrate label/ens data for "next" row
536535
// nextData.Recipient.Ens = addressEns[string(nextData.Recipient.Hash)]
537536
responseData = append([]t.VDBWithdrawalsClTableRow{*nextData}, responseData...)
538-
}
539-
540-
// Flag if above limit
541-
moreDataFlag = moreDataFlag || len(responseData) > int(limit)
542-
if !moreDataFlag && !currentCursor.IsValid() {
543-
// No paging required
544-
return responseData, &t.Paging{}, nil
537+
// dummy row for correct cursor
538+
queryResult = append([]dbResult{{}}, queryResult...)
545539
}
546540
}
547541

548-
// Remove the last entry from data as it is only required for the check
542+
moreDataFlag := len(responseData) > int(limit)
549543
if moreDataFlag {
550-
responseData = responseData[:len(responseData)-1]
551-
queryResult = queryResult[:len(queryResult)-1]
544+
responseData = responseData[:limit]
545+
queryResult = queryResult[:limit]
546+
} else if !currentCursor.IsValid() {
547+
// No paging required
548+
return responseData, &t.Paging{}, nil
552549
}
553550

554551
paging, err := utils.GetPagingFromData(queryResult, currentCursor, moreDataFlag)
@@ -910,7 +907,7 @@ func (d *DataAccessService) getNextWithdrawalRow(queryValidators []validatorGrou
910907
}
911908

912909
ens_name, err := db.GetEnsNameForAddress(*address, utils.SlotToTime(nextWithdrawalSlot))
913-
if err != sql.ErrNoRows {
910+
if err != nil && err != sql.ErrNoRows {
914911
return nil, err
915912
}
916913

0 commit comments

Comments
 (0)