github.com/Finschia/finschia-sdk@v0.48.1/x/params/keeper/grpc_query.go (about) 1 package keeper 2 3 import ( 4 "context" 5 6 "google.golang.org/grpc/codes" 7 "google.golang.org/grpc/status" 8 9 sdk "github.com/Finschia/finschia-sdk/types" 10 sdkerrors "github.com/Finschia/finschia-sdk/types/errors" 11 "github.com/Finschia/finschia-sdk/x/params/types/proposal" 12 ) 13 14 var _ proposal.QueryServer = Keeper{} 15 16 // Params returns subspace params 17 func (k Keeper) Params(c context.Context, req *proposal.QueryParamsRequest) (*proposal.QueryParamsResponse, error) { 18 if req == nil { 19 return nil, status.Errorf(codes.InvalidArgument, "empty request") 20 } 21 22 if req.Subspace == "" || req.Key == "" { 23 return nil, status.Errorf(codes.InvalidArgument, "invalid request") 24 } 25 26 ss, ok := k.GetSubspace(req.Subspace) 27 if !ok { 28 return nil, sdkerrors.Wrap(proposal.ErrUnknownSubspace, req.Subspace) 29 } 30 31 ctx := sdk.UnwrapSDKContext(c) 32 rawValue := ss.GetRaw(ctx, []byte(req.Key)) 33 param := proposal.NewParamChange(req.Subspace, req.Key, string(rawValue)) 34 35 return &proposal.QueryParamsResponse{Param: param}, nil 36 }