github.com/cosmos/cosmos-sdk@v0.50.10/x/distribution/client/common/common.go (about) 1 package common 2 3 import ( 4 "fmt" 5 6 "github.com/cosmos/cosmos-sdk/client" 7 sdk "github.com/cosmos/cosmos-sdk/types" 8 "github.com/cosmos/cosmos-sdk/x/distribution/types" 9 ) 10 11 // QueryDelegationRewards queries a delegation rewards between a delegator and a 12 // validator. 13 func QueryDelegationRewards(clientCtx client.Context, delAddr, valAddr string) ([]byte, int64, error) { 14 delegatorAddr, err := sdk.AccAddressFromBech32(delAddr) 15 if err != nil { 16 return nil, 0, err 17 } 18 19 validatorAddr, err := sdk.ValAddressFromBech32(valAddr) 20 if err != nil { 21 return nil, 0, err 22 } 23 24 params := types.NewQueryDelegationRewardsParams(delegatorAddr, validatorAddr) 25 bz, err := clientCtx.LegacyAmino.MarshalJSON(params) 26 if err != nil { 27 return nil, 0, fmt.Errorf("failed to marshal params: %w", err) 28 } 29 30 route := fmt.Sprintf("custom/%s/%s", types.ModuleName, types.QueryDelegationRewards) 31 return clientCtx.QueryWithData(route, bz) 32 }