From 9ed1c718475d7b0d5f0f29b6e399358232a9464c Mon Sep 17 00:00:00 2001 From: leonz789 Date: Thu, 23 Jan 2025 23:16:53 +0800 Subject: [PATCH] add limit check, rebase --- x/oracle/keeper/native_token.go | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/x/oracle/keeper/native_token.go b/x/oracle/keeper/native_token.go index 00a590cfb..63bbcb725 100644 --- a/x/oracle/keeper/native_token.go +++ b/x/oracle/keeper/native_token.go @@ -74,10 +74,12 @@ func (k Keeper) GetStakerInfo(ctx sdk.Context, assetID, stakerAddr string) types } // GetStakerInfos returns all stakers information -// func (k Keeper) GetStakerInfos(ctx sdk.Context, assetID string) (ret []*types.StakerInfo) { func (k Keeper) GetStakerInfos(ctx sdk.Context, req *types.QueryStakerInfosRequest) (*types.QueryStakerInfosResponse, error) { store := prefix.NewStore(ctx.KVStore(k.storeKey), types.NativeTokenStakerKeyPrefix(req.AssetId)) retStakerInfos := make([]*types.StakerInfo, 0) + if req.Pagination != nil && req.Pagination.Limit > types.MaxPageLimit { + return nil, status.Errorf(codes.InvalidArgument, "pagination limit %d exceeds maximum allowed %d", req.Pagination.Limit, types.MaxPageLimit) + } resPage, err := query.Paginate(store, req.Pagination, func(_ []byte, value []byte) error { sInfo := types.StakerInfo{} k.cdc.MustUnmarshal(value, &sInfo)