From da7a8e603f79226ceabe0136a64da8762ba3641f Mon Sep 17 00:00:00 2001 From: Anil Kumar Kammari Date: Wed, 2 Sep 2020 22:17:29 +0530 Subject: [PATCH] Fix query validator UBDs (#7228) Co-authored-by: Alexander Bezobchuk Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com> --- x/staking/keeper/grpc_query.go | 8 ++++++-- x/staking/keeper/grpc_query_test.go | 1 + 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/x/staking/keeper/grpc_query.go b/x/staking/keeper/grpc_query.go index 777c1e877..435b7e107 100644 --- a/x/staking/keeper/grpc_query.go +++ b/x/staking/keeper/grpc_query.go @@ -133,9 +133,13 @@ func (k Querier) ValidatorUnbondingDelegations(c context.Context, req *types.Que ctx := sdk.UnwrapSDKContext(c) store := ctx.KVStore(k.storeKey) - ubdStore := prefix.NewStore(store, types.GetUBDsByValIndexKey(req.ValidatorAddr)) + srcValPrefix := types.GetUBDsByValIndexKey(req.ValidatorAddr) + ubdStore := prefix.NewStore(store, srcValPrefix) pageRes, err := query.Paginate(ubdStore, req.Pagination, func(key []byte, value []byte) error { - ubd, err := types.UnmarshalUBD(k.cdc, value) + storeKey := types.GetUBDKeyFromValIndexKey(append(srcValPrefix, key...)) + storeValue := store.Get(storeKey) + + ubd, err := types.UnmarshalUBD(k.cdc, storeValue) if err != nil { return err } diff --git a/x/staking/keeper/grpc_query_test.go b/x/staking/keeper/grpc_query_test.go index 7fd2ee7dd..f6fa93694 100644 --- a/x/staking/keeper/grpc_query_test.go +++ b/x/staking/keeper/grpc_query_test.go @@ -706,6 +706,7 @@ func (suite *KeeperTestSuite) TestGRPCQueryValidatorUnbondingDelegations() { suite.NoError(err) suite.Equal(uint64(1), res.Pagination.Total) suite.Equal(1, len(res.UnbondingResponses)) + suite.Equal(res.UnbondingResponses[0].ValidatorAddress, val1.GetOperator()) } else { suite.Error(err) suite.Nil(res)