@@ -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