diff --git a/simapp/simd/cmd/root.go b/simapp/simd/cmd/root.go index 79c206cab22a..0ff600a1dbcb 100644 --- a/simapp/simd/cmd/root.go +++ b/simapp/simd/cmd/root.go @@ -106,7 +106,7 @@ func queryCommand() *cobra.Command { } cmd.AddCommand( - authcmd.GetAccountCmd(encodingConfig.Amino), + authcmd.GetAccountCmd(initClientCtx), rpc.ValidatorCommand(encodingConfig.Amino), rpc.BlockCommand(), authcmd.QueryTxsByEventsCmd(encodingConfig.Amino), diff --git a/x/auth/client/cli/query.go b/x/auth/client/cli/query.go index bf9284d8df8f..dc1849115345 100644 --- a/x/auth/client/cli/query.go +++ b/x/auth/client/cli/query.go @@ -1,6 +1,7 @@ package cli import ( + "context" "fmt" "strings" @@ -24,7 +25,7 @@ const ( ) // GetQueryCmd returns the transaction commands for this module -func GetQueryCmd(cdc *codec.Codec) *cobra.Command { +func GetQueryCmd(clientCtx client.Context) *cobra.Command { cmd := &cobra.Command{ Use: types.ModuleName, Short: "Querying commands for the auth module", @@ -34,15 +35,15 @@ func GetQueryCmd(cdc *codec.Codec) *cobra.Command { } cmd.AddCommand( - GetAccountCmd(cdc), - QueryParamsCmd(cdc), + GetAccountCmd(clientCtx), + QueryParamsCmd(clientCtx), ) return cmd } // QueryParamsCmd returns the command handler for evidence parameter querying. -func QueryParamsCmd(cdc *codec.Codec) *cobra.Command { +func QueryParamsCmd(clientCtx client.Context) *cobra.Command { cmd := &cobra.Command{ Use: "params", Short: "Query the current auth parameters", @@ -52,20 +53,16 @@ func QueryParamsCmd(cdc *codec.Codec) *cobra.Command { $ query auth params `), RunE: func(cmd *cobra.Command, args []string) error { - clientCtx := client.NewContext().WithCodec(cdc) + queryClient := types.NewQueryClient(clientCtx.Init()) + + params := types.NewQueryParametersRequest() - route := fmt.Sprintf("custom/%s/%s", types.QuerierRoute, types.QueryParams) - res, _, err := clientCtx.QueryWithData(route, nil) + res, err := queryClient.Parameters(context.Background(), params) if err != nil { return err } - var params types.Params - if err := cdc.UnmarshalJSON(res, ¶ms); err != nil { - return fmt.Errorf("failed to unmarshal params: %w", err) - } - - return clientCtx.PrintOutput(params) + return clientCtx.PrintOutput(res.Params) }, } @@ -74,26 +71,32 @@ $ query auth params // GetAccountCmd returns a query account that will display the state of the // account at a given address. -func GetAccountCmd(cdc *codec.Codec) *cobra.Command { +func GetAccountCmd(clientCtx client.Context) *cobra.Command { cmd := &cobra.Command{ Use: "account [address]", Short: "Query for account by address", Args: cobra.ExactArgs(1), RunE: func(cmd *cobra.Command, args []string) error { - clientCtx := client.NewContext().WithCodec(cdc) - accGetter := types.NewAccountRetriever(authclient.Codec) + queryClient := types.NewQueryClient(clientCtx.Init()) key, err := sdk.AccAddressFromBech32(args[0]) if err != nil { return err } - acc, err := accGetter.GetAccount(clientCtx, key) + params := types.NewQueryAccountRequest(key) + + res, err := queryClient.Account(context.Background(), params) if err != nil { return err } - return clientCtx.PrintOutput(acc) + account, ok := res.Account.GetCachedValue().(types.AccountI) + if !ok { + return fmt.Errorf("error when unpacking account") + } + + return clientCtx.PrintOutput(account) }, } diff --git a/x/auth/module.go b/x/auth/module.go index 7ef1a83a2493..92d186c3b90b 100644 --- a/x/auth/module.go +++ b/x/auth/module.go @@ -72,7 +72,7 @@ func (AppModuleBasic) GetTxCmd(clientCtx client.Context) *cobra.Command { // GetQueryCmd returns the root query command for the auth module. func (AppModuleBasic) GetQueryCmd(clientCtx client.Context) *cobra.Command { - return cli.GetQueryCmd(clientCtx.Codec) + return cli.GetQueryCmd(clientCtx) } // RegisterInterfaceTypes registers interfaces and implementations of the auth module. @@ -118,7 +118,9 @@ func (am AppModule) NewQuerierHandler() sdk.Querier { return keeper.NewQuerier(am.accountKeeper) } -func (am AppModule) RegisterQueryService(grpc.Server) {} +func (am AppModule) RegisterQueryService(server grpc.Server) { + types.RegisterQueryServer(server, am.accountKeeper) +} // InitGenesis performs genesis initialization for the auth module. It returns // no validator updates.