Skip to content

Commit ad4c75f

Browse files
committed
Reject malformed address
1 parent 196dc84 commit ad4c75f

File tree

2 files changed

+14
-1
lines changed

2 files changed

+14
-1
lines changed

protocol/x/feetiers/keeper/grpc_query.go

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,8 @@ package keeper
33
import (
44
"context"
55

6+
sdk "github.com/cosmos/cosmos-sdk/types"
7+
68
"github.com/dydxprotocol/v4-chain/protocol/lib"
79
"github.com/dydxprotocol/v4-chain/protocol/x/feetiers/types"
810
"google.golang.org/grpc/codes"
@@ -42,6 +44,10 @@ func (k Keeper) UserFeeTier(
4244
}
4345

4446
ctx := lib.UnwrapSDKContext(c, types.ModuleName)
47+
48+
if _, err := sdk.AccAddressFromBech32(req.User); err != nil {
49+
return nil, status.Error(codes.InvalidArgument, "user address is valid bech32 address")
50+
}
4551
index, tier := k.getUserFeeTier(ctx, req.User)
4652
return &types.QueryUserFeeTierResponse{
4753
Index: index,

protocol/x/feetiers/keeper/grpc_query_test.go

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,7 @@ func TestUserFeeTier(t *testing.T) {
5858
}{
5959
"Success": {
6060
req: &types.QueryUserFeeTierRequest{
61-
User: "alice",
61+
User: "dydx199tqg4wdlnu4qjlxchpd7seg454937hjrknju4",
6262
},
6363
res: &types.QueryUserFeeTierResponse{
6464
Index: 0,
@@ -78,6 +78,13 @@ func TestUserFeeTier(t *testing.T) {
7878
res: nil,
7979
err: status.Error(codes.InvalidArgument, "invalid request"),
8080
},
81+
"Malformed address": {
82+
req: &types.QueryUserFeeTierRequest{
83+
User: "alice",
84+
},
85+
res: nil,
86+
err: status.Error(codes.InvalidArgument, "user address is valid bech32 address"),
87+
},
8188
} {
8289
t.Run(name, func(t *testing.T) {
8390
res, err := k.UserFeeTier(ctx, tc.req)

0 commit comments

Comments
 (0)