feat(x/auth): define simplified account query service (#13210)

This commit is contained in:
Aaron Craelius 2022-09-16 05:12:41 -04:00 committed by GitHub
parent b37ddcafb3
commit d9ef976412
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
12 changed files with 1800 additions and 190 deletions

View File

@ -49,6 +49,7 @@ Ref: https://keepachangelog.com/en/1.0.0/
* (cli) [#12742](https://github.com/cosmos/cosmos-sdk/pull/12742) Add the `prune` CLI cmd to manually prune app store history versions based on the pruning options.
* (ledger) [#12935](https://github.com/cosmos/cosmos-sdk/pull/12935) Generalize Ledger integration to allow for different apps or keytypes that use SECP256k1.
* (x/bank) [#11981](https://github.com/cosmos/cosmos-sdk/pull/11981) Create the `SetSendEnabled` endpoint for managing the bank's SendEnabled settings.
* (x/auth) [#13210](https://github.com/cosmos/cosmos-sdk/pull/13210) Add `Query/AccountInfo` endpoint for simplified access to basic account info.
### Improvements

File diff suppressed because it is too large Load Diff

View File

@ -51,6 +51,10 @@ type QueryClient interface {
//
// Since: cosmos-sdk 0.46
AddressStringToBytes(ctx context.Context, in *AddressStringToBytesRequest, opts ...grpc.CallOption) (*AddressStringToBytesResponse, error)
// AccountInfo queries account info which is common to all account types.
//
// Since: cosmos-sdk 0.47
AccountInfo(ctx context.Context, in *QueryAccountInfoRequest, opts ...grpc.CallOption) (*QueryAccountInfoResponse, error)
}
type queryClient struct {
@ -133,6 +137,15 @@ func (c *queryClient) AddressStringToBytes(ctx context.Context, in *AddressStrin
return out, nil
}
func (c *queryClient) AccountInfo(ctx context.Context, in *QueryAccountInfoRequest, opts ...grpc.CallOption) (*QueryAccountInfoResponse, error) {
out := new(QueryAccountInfoResponse)
err := c.cc.Invoke(ctx, "/cosmos.auth.v1beta1.Query/AccountInfo", in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
// QueryServer is the server API for Query service.
// All implementations must embed UnimplementedQueryServer
// for forward compatibility
@ -166,6 +179,10 @@ type QueryServer interface {
//
// Since: cosmos-sdk 0.46
AddressStringToBytes(context.Context, *AddressStringToBytesRequest) (*AddressStringToBytesResponse, error)
// AccountInfo queries account info which is common to all account types.
//
// Since: cosmos-sdk 0.47
AccountInfo(context.Context, *QueryAccountInfoRequest) (*QueryAccountInfoResponse, error)
mustEmbedUnimplementedQueryServer()
}
@ -197,6 +214,9 @@ func (UnimplementedQueryServer) AddressBytesToString(context.Context, *AddressBy
func (UnimplementedQueryServer) AddressStringToBytes(context.Context, *AddressStringToBytesRequest) (*AddressStringToBytesResponse, error) {
return nil, status.Errorf(codes.Unimplemented, "method AddressStringToBytes not implemented")
}
func (UnimplementedQueryServer) AccountInfo(context.Context, *QueryAccountInfoRequest) (*QueryAccountInfoResponse, error) {
return nil, status.Errorf(codes.Unimplemented, "method AccountInfo not implemented")
}
func (UnimplementedQueryServer) mustEmbedUnimplementedQueryServer() {}
// UnsafeQueryServer may be embedded to opt out of forward compatibility for this service.
@ -354,6 +374,24 @@ func _Query_AddressStringToBytes_Handler(srv interface{}, ctx context.Context, d
return interceptor(ctx, in, info, handler)
}
func _Query_AccountInfo_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(QueryAccountInfoRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(QueryServer).AccountInfo(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/cosmos.auth.v1beta1.Query/AccountInfo",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(QueryServer).AccountInfo(ctx, req.(*QueryAccountInfoRequest))
}
return interceptor(ctx, in, info, handler)
}
// Query_ServiceDesc is the grpc.ServiceDesc for Query service.
// It's only intended for direct use with grpc.RegisterService,
// and not to be introspected or modified (even as a copy)
@ -393,6 +431,10 @@ var Query_ServiceDesc = grpc.ServiceDesc{
MethodName: "AddressStringToBytes",
Handler: _Query_AddressStringToBytes_Handler,
},
{
MethodName: "AccountInfo",
Handler: _Query_AccountInfo_Handler,
},
},
Streams: []grpc.StreamDesc{},
Metadata: "cosmos/auth/v1beta1/query.proto",

View File

@ -73,6 +73,15 @@ service Query {
option (cosmos.query.v1.module_query_safe) = true;
option (google.api.http).get = "/cosmos/auth/v1beta1/bech32/{address_string}";
}
// AccountInfo queries account info which is common to all account types.
//
// Since: cosmos-sdk 0.47
rpc AccountInfo(QueryAccountInfoRequest) returns (QueryAccountInfoResponse) {
option (cosmos.query.v1.module_query_safe) = true;
option (google.api.http).get = "/cosmos/auth/v1beta1/account_info/{address}";
}
}
// QueryAccountsRequest is the request type for the Query/Accounts RPC method.
@ -179,3 +188,17 @@ message QueryAccountAddressByIDRequest {
message QueryAccountAddressByIDResponse {
string account_address = 1 [(cosmos_proto.scalar) = "cosmos.AddressString"];
}
// QueryAccountInfoRequest is the Query/AccountInfo request type.
message QueryAccountInfoRequest {
// address is the account address string.
string address = 1 [(cosmos_proto.scalar) = "cosmos.AddressString"];
}
// QueryAccountInfoResponse is the Query/AccountInfo response type.
message QueryAccountInfoResponse {
// info is the account info which is represented by BaseAccount.
BaseAccount info = 1;
}

View File

@ -4,7 +4,7 @@ package cosmos.autocli.v1;
import "google/protobuf/descriptor.proto";
option go_package = "github.com/cosmos/cosmos-sdk/api/cosmos/base/cli/v1;cliv1";
option go_package = "cosmossdk.io/api/cosmos/base/cli/v1;cliv1";
// ModuleOptions describes the CLI options for a Cosmos SDK module.
message ModuleOptions {

View File

@ -4,14 +4,17 @@
# docker build --pull --rm -f "contrib/devtools/Dockerfile" -t cosmossdk-proto:latest "contrib/devtools"
# docker run --rm -v $(pwd):/workspace --workdir /workspace cosmossdk-proto sh ./scripts/protocgen.sh
set -eo pipefail
set -e
echo "Generating gogo proto code"
cd proto
proto_dirs=$(find ./cosmos -path -prune -o -name '*.proto' -print0 | xargs -0 -n1 dirname | sort | uniq)
for dir in $proto_dirs; do
for file in $(find "${dir}" -maxdepth 1 -name '*.proto'); do
if grep "option go_package.*(?!cosmos-sdk/api)" $file &> /dev/null ; then
# this regex checks if a proto file has its go_package set to cosmossdk.io/api/...
# gogo proto files SHOULD ONLY be generated if this is false
# we don't want gogo proto to run for proto files which are natively built for google.golang.org/protobuf
if grep -q "option go_package" "$file" && grep -H -o -c 'option go_package.*cosmossdk.io/api' "$file" | grep -q ':0$'; then
buf generate --template buf.gen.gogo.yaml $file
fi
done

View File

@ -182,3 +182,39 @@ func (ak AccountKeeper) AddressStringToBytes(ctx context.Context, req *types.Add
return &types.AddressStringToBytesResponse{AddressBytes: bz}, nil
}
// AccountInfo implements the AccountInfo query.
func (ak AccountKeeper) AccountInfo(goCtx context.Context, req *types.QueryAccountInfoRequest) (*types.QueryAccountInfoResponse, error) {
if req == nil {
return nil, status.Errorf(codes.InvalidArgument, "empty request")
}
if req.Address == "" {
return nil, status.Error(codes.InvalidArgument, "address cannot be empty")
}
ctx := sdk.UnwrapSDKContext(goCtx)
addr, err := sdk.AccAddressFromBech32(req.Address)
if err != nil {
return nil, err
}
account := ak.GetAccount(ctx, addr)
if account == nil {
return nil, status.Errorf(codes.NotFound, "account %s not found", req.Address)
}
pkAny, err := codectypes.NewAnyWithValue(account.GetPubKey())
if err != nil {
return nil, status.Errorf(codes.Internal, err.Error())
}
return &types.QueryAccountInfoResponse{
Info: &types.BaseAccount{
Address: addr.String(),
PubKey: pkAny,
AccountNumber: account.GetAccountNumber(),
Sequence: account.GetSequence(),
},
}, nil
}

View File

@ -7,6 +7,8 @@ import (
"math"
"sort"
"github.com/cosmos/gogoproto/proto"
"github.com/cosmos/cosmos-sdk/testutil/testdata"
sdk "github.com/cosmos/cosmos-sdk/types"
"github.com/cosmos/cosmos-sdk/x/auth/types"
@ -443,3 +445,25 @@ func (suite *KeeperTestSuite) TestAddressStringToBytes() {
})
}
}
func (suite *KeeperTestSuite) TestQueryAccountInfo() {
_, pk, addr := testdata.KeyTestPubAddr()
acc := suite.accountKeeper.NewAccountWithAddress(suite.ctx, addr)
suite.Require().NoError(acc.SetPubKey(pk))
suite.Require().NoError(acc.SetSequence(10))
suite.accountKeeper.SetAccount(suite.ctx, acc)
res, err := suite.queryClient.AccountInfo(context.Background(), &types.QueryAccountInfoRequest{
Address: addr.String(),
})
suite.Require().NoError(err)
suite.Require().NotNil(res.Info)
suite.Require().Equal(addr.String(), res.Info.Address)
suite.Require().Equal(acc.GetAccountNumber(), res.Info.AccountNumber)
suite.Require().Equal(acc.GetSequence(), res.Info.Sequence)
suite.Require().Equal("/"+proto.MessageName(pk), res.Info.PubKey.TypeUrl)
pkBz, err := proto.Marshal(pk)
suite.Require().NoError(err)
suite.Require().Equal(pkBz, res.Info.PubKey.Value)
}

View File

@ -5,6 +5,8 @@ import (
"github.com/stretchr/testify/suite"
tmproto "github.com/tendermint/tendermint/proto/tendermint/types"
"github.com/cosmos/cosmos-sdk/baseapp"
"github.com/cosmos/cosmos-sdk/testutil"
sdk "github.com/cosmos/cosmos-sdk/types"
@ -12,7 +14,6 @@ import (
"github.com/cosmos/cosmos-sdk/x/auth"
"github.com/cosmos/cosmos-sdk/x/auth/keeper"
"github.com/cosmos/cosmos-sdk/x/auth/types"
tmproto "github.com/tendermint/tendermint/proto/tendermint/types"
)
const (

View File

@ -5,13 +5,12 @@ import (
"encoding/json"
"fmt"
gwruntime "github.com/grpc-ecosystem/grpc-gateway/runtime"
"github.com/spf13/cobra"
abci "github.com/tendermint/tendermint/abci/types"
modulev1 "cosmossdk.io/api/cosmos/auth/module/v1"
"cosmossdk.io/core/appmodule"
"cosmossdk.io/depinject"
gwruntime "github.com/grpc-ecosystem/grpc-gateway/runtime"
"github.com/spf13/cobra"
abci "github.com/tendermint/tendermint/abci/types"
"github.com/cosmos/cosmos-sdk/client"
"github.com/cosmos/cosmos-sdk/codec"
@ -123,6 +122,7 @@ func (AppModule) RegisterInvariants(_ sdk.InvariantRegistry) {}
func (am AppModule) RegisterServices(cfg module.Configurator) {
types.RegisterMsgServer(cfg.MsgServer(), keeper.NewMsgServerImpl(am.accountKeeper))
types.RegisterQueryServer(cfg.QueryServer(), am.accountKeeper)
m := keeper.NewMigrator(am.accountKeeper, cfg.QueryServer(), am.legacySubspace)
if err := cfg.RegisterMigration(types.ModuleName, 1, m.Migrate1to2); err != nil {
panic(err)

View File

@ -755,6 +755,98 @@ func (m *QueryAccountAddressByIDResponse) GetAccountAddress() string {
return ""
}
// QueryAccountInfoRequest is the Query/AccountInfo request type.
type QueryAccountInfoRequest struct {
// address is the account address string.
Address string `protobuf:"bytes,1,opt,name=address,proto3" json:"address,omitempty"`
}
func (m *QueryAccountInfoRequest) Reset() { *m = QueryAccountInfoRequest{} }
func (m *QueryAccountInfoRequest) String() string { return proto.CompactTextString(m) }
func (*QueryAccountInfoRequest) ProtoMessage() {}
func (*QueryAccountInfoRequest) Descriptor() ([]byte, []int) {
return fileDescriptor_c451370b3929a27c, []int{16}
}
func (m *QueryAccountInfoRequest) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
}
func (m *QueryAccountInfoRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
if deterministic {
return xxx_messageInfo_QueryAccountInfoRequest.Marshal(b, m, deterministic)
} else {
b = b[:cap(b)]
n, err := m.MarshalToSizedBuffer(b)
if err != nil {
return nil, err
}
return b[:n], nil
}
}
func (m *QueryAccountInfoRequest) XXX_Merge(src proto.Message) {
xxx_messageInfo_QueryAccountInfoRequest.Merge(m, src)
}
func (m *QueryAccountInfoRequest) XXX_Size() int {
return m.Size()
}
func (m *QueryAccountInfoRequest) XXX_DiscardUnknown() {
xxx_messageInfo_QueryAccountInfoRequest.DiscardUnknown(m)
}
var xxx_messageInfo_QueryAccountInfoRequest proto.InternalMessageInfo
func (m *QueryAccountInfoRequest) GetAddress() string {
if m != nil {
return m.Address
}
return ""
}
// QueryAccountInfoResponse is the Query/AccountInfo response type.
type QueryAccountInfoResponse struct {
// info is the account info which is represented by BaseAccount.
Info *BaseAccount `protobuf:"bytes,1,opt,name=info,proto3" json:"info,omitempty"`
}
func (m *QueryAccountInfoResponse) Reset() { *m = QueryAccountInfoResponse{} }
func (m *QueryAccountInfoResponse) String() string { return proto.CompactTextString(m) }
func (*QueryAccountInfoResponse) ProtoMessage() {}
func (*QueryAccountInfoResponse) Descriptor() ([]byte, []int) {
return fileDescriptor_c451370b3929a27c, []int{17}
}
func (m *QueryAccountInfoResponse) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
}
func (m *QueryAccountInfoResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
if deterministic {
return xxx_messageInfo_QueryAccountInfoResponse.Marshal(b, m, deterministic)
} else {
b = b[:cap(b)]
n, err := m.MarshalToSizedBuffer(b)
if err != nil {
return nil, err
}
return b[:n], nil
}
}
func (m *QueryAccountInfoResponse) XXX_Merge(src proto.Message) {
xxx_messageInfo_QueryAccountInfoResponse.Merge(m, src)
}
func (m *QueryAccountInfoResponse) XXX_Size() int {
return m.Size()
}
func (m *QueryAccountInfoResponse) XXX_DiscardUnknown() {
xxx_messageInfo_QueryAccountInfoResponse.DiscardUnknown(m)
}
var xxx_messageInfo_QueryAccountInfoResponse proto.InternalMessageInfo
func (m *QueryAccountInfoResponse) GetInfo() *BaseAccount {
if m != nil {
return m.Info
}
return nil
}
func init() {
proto.RegisterType((*QueryAccountsRequest)(nil), "cosmos.auth.v1beta1.QueryAccountsRequest")
proto.RegisterType((*QueryAccountsResponse)(nil), "cosmos.auth.v1beta1.QueryAccountsResponse")
@ -772,69 +864,75 @@ func init() {
proto.RegisterType((*AddressStringToBytesResponse)(nil), "cosmos.auth.v1beta1.AddressStringToBytesResponse")
proto.RegisterType((*QueryAccountAddressByIDRequest)(nil), "cosmos.auth.v1beta1.QueryAccountAddressByIDRequest")
proto.RegisterType((*QueryAccountAddressByIDResponse)(nil), "cosmos.auth.v1beta1.QueryAccountAddressByIDResponse")
proto.RegisterType((*QueryAccountInfoRequest)(nil), "cosmos.auth.v1beta1.QueryAccountInfoRequest")
proto.RegisterType((*QueryAccountInfoResponse)(nil), "cosmos.auth.v1beta1.QueryAccountInfoResponse")
}
func init() { proto.RegisterFile("cosmos/auth/v1beta1/query.proto", fileDescriptor_c451370b3929a27c) }
var fileDescriptor_c451370b3929a27c = []byte{
// 902 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x94, 0x95, 0xcf, 0x6f, 0x1b, 0x45,
0x14, 0xc7, 0xbd, 0x29, 0x24, 0xe1, 0xd5, 0x0d, 0xd2, 0xc4, 0x95, 0xc2, 0x3a, 0x5d, 0x57, 0x5b,
0x68, 0x9c, 0x80, 0x77, 0x6b, 0xa7, 0x07, 0x0a, 0x08, 0xc9, 0x6e, 0x00, 0xf5, 0x80, 0x64, 0xb6,
0x39, 0x71, 0xc0, 0xda, 0xf5, 0x6e, 0x37, 0x2b, 0xea, 0x1d, 0xd7, 0xb3, 0x46, 0xb5, 0x2a, 0x5f,
0x90, 0x90, 0x7a, 0xa9, 0x84, 0x04, 0x07, 0x8e, 0x39, 0x71, 0xe6, 0x10, 0xf8, 0x1b, 0xaa, 0x9e,
0x2a, 0xb8, 0x70, 0x42, 0x28, 0x41, 0x82, 0x3f, 0x03, 0x79, 0xe6, 0xed, 0xaf, 0x74, 0x6c, 0x6f,
0x4e, 0xf6, 0xce, 0xbc, 0xf7, 0x7d, 0x9f, 0x79, 0x6f, 0xf6, 0xbb, 0x50, 0xeb, 0x53, 0x36, 0xa0,
0xcc, 0xb4, 0xc7, 0xd1, 0x91, 0xf9, 0x4d, 0xd3, 0xf1, 0x22, 0xbb, 0x69, 0x3e, 0x1a, 0x7b, 0xa3,
0x89, 0x31, 0x1c, 0xd1, 0x88, 0x92, 0x4d, 0x11, 0x60, 0xcc, 0x02, 0x0c, 0x0c, 0x50, 0xf7, 0x30,
0xcb, 0xb1, 0x99, 0x27, 0xa2, 0x93, 0xdc, 0xa1, 0xed, 0x07, 0xa1, 0x1d, 0x05, 0x34, 0x14, 0x02,
0x6a, 0xc5, 0xa7, 0x3e, 0xe5, 0x7f, 0xcd, 0xd9, 0x3f, 0x5c, 0x7d, 0xcb, 0xa7, 0xd4, 0x7f, 0xe8,
0x99, 0xfc, 0xc9, 0x19, 0x3f, 0x30, 0xed, 0x10, 0x2b, 0xaa, 0xdb, 0xb8, 0x65, 0x0f, 0x03, 0xd3,
0x0e, 0x43, 0x1a, 0x71, 0x35, 0x86, 0xbb, 0x9a, 0x0c, 0x98, 0xc3, 0xa1, 0xb0, 0xd8, 0xef, 0x89,
0x8a, 0x08, 0x2f, 0xb6, 0xaa, 0x98, 0x1a, 0x03, 0x67, 0xcf, 0xa9, 0x7f, 0x05, 0x95, 0x2f, 0x66,
0x8f, 0xed, 0x7e, 0x9f, 0x8e, 0xc3, 0x88, 0x59, 0xde, 0xa3, 0xb1, 0xc7, 0x22, 0xf2, 0x29, 0x40,
0x7a, 0xa4, 0x2d, 0xe5, 0xba, 0x52, 0xbf, 0xdc, 0xba, 0x69, 0xa0, 0xee, 0xec, 0xfc, 0x86, 0x50,
0x41, 0x14, 0xa3, 0x6b, 0xfb, 0x1e, 0xe6, 0x5a, 0x99, 0x4c, 0xfd, 0x58, 0x81, 0xab, 0xe7, 0x0a,
0xb0, 0x21, 0x0d, 0x99, 0x47, 0x3e, 0x86, 0x75, 0x1b, 0xd7, 0xb6, 0x94, 0xeb, 0x97, 0xea, 0x97,
0x5b, 0x15, 0x43, 0xb4, 0xc0, 0x88, 0xbb, 0x63, 0xb4, 0xc3, 0x49, 0xa7, 0xfc, 0xe2, 0xa4, 0xb1,
0x8e, 0xd9, 0xf7, 0xac, 0x24, 0x87, 0x7c, 0x96, 0x23, 0x5c, 0xe1, 0x84, 0x3b, 0x4b, 0x09, 0x45,
0xf1, 0x1c, 0xe2, 0x7d, 0xd8, 0xcc, 0x12, 0xc6, 0x1d, 0x68, 0xc1, 0x9a, 0xed, 0xba, 0x23, 0x8f,
0x31, 0x7e, 0xfc, 0x37, 0x3a, 0x5b, 0xbf, 0x9f, 0x34, 0x2a, 0xa8, 0xdf, 0x16, 0x3b, 0xf7, 0xa3,
0x51, 0x10, 0xfa, 0x56, 0x1c, 0xf8, 0xc1, 0xfa, 0xd3, 0xe3, 0x5a, 0xe9, 0xbf, 0xe3, 0x5a, 0x49,
0xdf, 0x06, 0x95, 0x8b, 0x7e, 0x4e, 0xdd, 0xf1, 0x43, 0xef, 0x5c, 0x77, 0xf5, 0x2e, 0x96, 0xec,
0xda, 0x23, 0x7b, 0x90, 0xb6, 0xe4, 0x0e, 0xac, 0x0e, 0xf9, 0x0a, 0x36, 0xbc, 0x6a, 0x48, 0x6e,
0xa1, 0x21, 0x92, 0x3a, 0xaf, 0x3d, 0xff, 0xab, 0x56, 0xb2, 0x30, 0x41, 0x3f, 0xcc, 0xcf, 0x31,
0x91, 0xfc, 0x08, 0xd6, 0xb0, 0x63, 0xa8, 0x59, 0xa4, 0xc9, 0x71, 0x8a, 0x5e, 0x01, 0x92, 0xe3,
0x14, 0xf4, 0x7d, 0xa8, 0x4a, 0xcf, 0x86, 0x25, 0x0f, 0x0a, 0x0e, 0x96, 0xbc, 0x38, 0x69, 0x6c,
0xe4, 0x34, 0x32, 0xe3, 0xd5, 0xaf, 0xc2, 0x66, 0xc7, 0xeb, 0x1f, 0xed, 0xb7, 0xba, 0x23, 0xef,
0x41, 0xf0, 0x38, 0xae, 0xfd, 0x21, 0x54, 0xf2, 0xcb, 0x58, 0xf4, 0x06, 0x5c, 0x71, 0xf8, 0x7a,
0x6f, 0xc8, 0x37, 0xc4, 0xcc, 0xac, 0xb2, 0x93, 0x09, 0xd6, 0x3b, 0x50, 0xc5, 0xc1, 0x75, 0x26,
0x91, 0xc7, 0x0e, 0x29, 0xce, 0x0f, 0x27, 0x7e, 0x03, 0xae, 0xe0, 0x20, 0x7b, 0xce, 0x6c, 0x9f,
0x6b, 0x94, 0xad, 0xb2, 0x9d, 0xc9, 0xd1, 0x3f, 0x81, 0x6d, 0xb9, 0x06, 0x82, 0xbc, 0x03, 0x1b,
0xb1, 0x08, 0xe3, 0x3b, 0x48, 0x12, 0x4b, 0x8b, 0x70, 0xfd, 0x20, 0x41, 0x11, 0x0b, 0x87, 0x94,
0xcb, 0xc5, 0x28, 0x05, 0x55, 0xee, 0x26, 0x30, 0xe7, 0x54, 0xd2, 0xae, 0x2c, 0x3f, 0xd1, 0x2d,
0xd0, 0xb2, 0x57, 0x27, 0x39, 0xdd, 0xbd, 0x83, 0x98, 0x66, 0x03, 0x56, 0x02, 0x97, 0xe7, 0x5e,
0xb2, 0x56, 0x02, 0x57, 0x77, 0xa1, 0x36, 0x37, 0x03, 0x2b, 0xb7, 0xe1, 0x4d, 0x1c, 0x65, 0xaf,
0xe8, 0x5b, 0xb4, 0x61, 0xe7, 0xe4, 0x5a, 0x3f, 0x01, 0xbc, 0xce, 0xcb, 0x90, 0x67, 0x0a, 0xc4,
0x97, 0x93, 0x91, 0x5d, 0xe9, 0x4b, 0x21, 0x33, 0x31, 0x75, 0xaf, 0x48, 0xa8, 0x00, 0xd6, 0xf7,
0x9e, 0xfe, 0xfb, 0xcb, 0x9e, 0xf2, 0xed, 0x1f, 0xff, 0xfc, 0xb0, 0x52, 0x23, 0xd7, 0x4c, 0xa9,
0xdd, 0xc6, 0x08, 0x3f, 0x2a, 0xb0, 0x86, 0x02, 0xa4, 0xbe, 0xb4, 0x46, 0x4c, 0xb3, 0x5b, 0x20,
0x12, 0x61, 0x6e, 0xa7, 0x30, 0xbb, 0x64, 0x67, 0x21, 0x8c, 0xf9, 0x04, 0xfb, 0x3b, 0x25, 0xbf,
0x2a, 0x40, 0x5e, 0x1d, 0x09, 0xd9, 0x5f, 0x5a, 0xf7, 0xd5, 0x91, 0xab, 0xb7, 0x2f, 0x96, 0x74,
0x01, 0xee, 0xe4, 0x3e, 0xf6, 0x02, 0xd7, 0x7c, 0x12, 0xb8, 0x53, 0xf2, 0x9d, 0x02, 0xab, 0xc2,
0x61, 0xc8, 0xce, 0xfc, 0xb2, 0x39, 0x0f, 0x52, 0xeb, 0xcb, 0x03, 0x91, 0xa9, 0x9e, 0x32, 0x5d,
0x23, 0x55, 0x29, 0x93, 0xf0, 0x50, 0xf2, 0xb3, 0x02, 0x79, 0x3f, 0x62, 0xc4, 0x9c, 0x5f, 0x46,
0xea, 0xec, 0xea, 0xad, 0xe2, 0x09, 0xc8, 0xd7, 0x4c, 0xf9, 0x6e, 0x92, 0xb7, 0xa5, 0x7c, 0x03,
0x9e, 0xd9, 0x4b, 0xee, 0xdf, 0x33, 0x05, 0xca, 0x59, 0x17, 0x9c, 0x73, 0x09, 0x25, 0xfe, 0x39,
0xe7, 0x12, 0xca, 0x2c, 0xb5, 0x48, 0xe3, 0x84, 0xbb, 0xce, 0x2e, 0x5e, 0x45, 0x66, 0x8a, 0x44,
0xde, 0x8d, 0x05, 0x1e, 0xac, 0x36, 0x2f, 0x90, 0x81, 0x9c, 0xef, 0xa7, 0x9c, 0x0d, 0xf2, 0xee,
0x02, 0xce, 0xe4, 0x55, 0x11, 0x66, 0x38, 0x25, 0xbf, 0xa5, 0xdc, 0x39, 0xff, 0x5c, 0xcc, 0x2d,
0x33, 0xec, 0xc5, 0xdc, 0x52, 0x73, 0xd6, 0xef, 0xa4, 0xdc, 0x06, 0x79, 0xaf, 0x10, 0xb7, 0xf8,
0x16, 0x4c, 0x3b, 0x77, 0x9f, 0x9f, 0x6a, 0xca, 0xcb, 0x53, 0x4d, 0xf9, 0xfb, 0x54, 0x53, 0xbe,
0x3f, 0xd3, 0x4a, 0x2f, 0xcf, 0xb4, 0xd2, 0x9f, 0x67, 0x5a, 0xe9, 0xcb, 0x5d, 0x3f, 0x88, 0x8e,
0xc6, 0x8e, 0xd1, 0xa7, 0x83, 0x58, 0x51, 0xfc, 0x34, 0x98, 0xfb, 0xb5, 0xf9, 0x58, 0xc8, 0x47,
0x93, 0xa1, 0xc7, 0x9c, 0x55, 0xfe, 0x35, 0xde, 0xff, 0x3f, 0x00, 0x00, 0xff, 0xff, 0x5f, 0xf3,
0xd7, 0xc3, 0x0c, 0x0b, 0x00, 0x00,
// 971 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xa4, 0x96, 0xcf, 0x6f, 0x1b, 0x45,
0x14, 0xc7, 0xbd, 0x69, 0x49, 0xc2, 0x8b, 0x1b, 0xa4, 0x89, 0x2b, 0xc2, 0x3a, 0xb5, 0xa3, 0x2d,
0x34, 0x4e, 0xa8, 0x77, 0x1b, 0x27, 0x07, 0x0a, 0x08, 0x29, 0x6e, 0x00, 0xe5, 0x50, 0xc9, 0x6c,
0x73, 0xe2, 0x80, 0xb5, 0xf6, 0x6e, 0x36, 0x2b, 0x9a, 0x1d, 0xd7, 0xb3, 0x46, 0x8d, 0xaa, 0x5c,
0x90, 0x90, 0x7a, 0xa9, 0x84, 0x04, 0x7f, 0x40, 0x0e, 0x88, 0x33, 0x87, 0xc0, 0x95, 0x6b, 0xd5,
0x53, 0x04, 0x17, 0x4e, 0x08, 0x25, 0x48, 0xf0, 0x67, 0x20, 0xcf, 0xbc, 0xd9, 0x1f, 0xc9, 0xd8,
0xde, 0x88, 0x53, 0xbc, 0x33, 0xef, 0x7d, 0xdf, 0x67, 0xde, 0x7b, 0xf3, 0x26, 0x50, 0xed, 0x52,
0x76, 0x40, 0x99, 0xe5, 0x0c, 0xa2, 0x7d, 0xeb, 0xab, 0xf5, 0x8e, 0x17, 0x39, 0xeb, 0xd6, 0x93,
0x81, 0xd7, 0x3f, 0x34, 0x7b, 0x7d, 0x1a, 0x51, 0xb2, 0x20, 0x0c, 0xcc, 0xa1, 0x81, 0x89, 0x06,
0xfa, 0x1a, 0x7a, 0x75, 0x1c, 0xe6, 0x09, 0xeb, 0xd8, 0xb7, 0xe7, 0xf8, 0x41, 0xe8, 0x44, 0x01,
0x0d, 0x85, 0x80, 0x5e, 0xf2, 0xa9, 0x4f, 0xf9, 0x4f, 0x6b, 0xf8, 0x0b, 0x57, 0xdf, 0xf2, 0x29,
0xf5, 0x1f, 0x7b, 0x16, 0xff, 0xea, 0x0c, 0xf6, 0x2c, 0x27, 0xc4, 0x88, 0xfa, 0x12, 0x6e, 0x39,
0xbd, 0xc0, 0x72, 0xc2, 0x90, 0x46, 0x5c, 0x8d, 0xe1, 0x6e, 0x45, 0x05, 0xcc, 0xe1, 0x50, 0x58,
0xec, 0xb7, 0x45, 0x44, 0x84, 0x17, 0x5b, 0x65, 0x74, 0x95, 0xc0, 0xe9, 0x73, 0x1a, 0x5f, 0x40,
0xe9, 0xb3, 0xe1, 0xe7, 0x56, 0xb7, 0x4b, 0x07, 0x61, 0xc4, 0x6c, 0xef, 0xc9, 0xc0, 0x63, 0x11,
0xf9, 0x04, 0x20, 0x39, 0xd2, 0xa2, 0xb6, 0xac, 0xd5, 0xe6, 0x1a, 0x77, 0x4c, 0xd4, 0x1d, 0x9e,
0xdf, 0x14, 0x2a, 0x88, 0x62, 0xb6, 0x1c, 0xdf, 0x43, 0x5f, 0x3b, 0xe5, 0x69, 0x1c, 0x6b, 0x70,
0xf3, 0x42, 0x00, 0xd6, 0xa3, 0x21, 0xf3, 0xc8, 0x47, 0x30, 0xeb, 0xe0, 0xda, 0xa2, 0xb6, 0x7c,
0xad, 0x36, 0xd7, 0x28, 0x99, 0x22, 0x05, 0xa6, 0xcc, 0x8e, 0xb9, 0x15, 0x1e, 0x36, 0x8b, 0xaf,
0x4e, 0xea, 0xb3, 0xe8, 0xbd, 0x63, 0xc7, 0x3e, 0xe4, 0xd3, 0x0c, 0xe1, 0x14, 0x27, 0x5c, 0x99,
0x48, 0x28, 0x82, 0x67, 0x10, 0x1f, 0xc1, 0x42, 0x9a, 0x50, 0x66, 0xa0, 0x01, 0x33, 0x8e, 0xeb,
0xf6, 0x3d, 0xc6, 0xf8, 0xf1, 0x5f, 0x6f, 0x2e, 0xfe, 0x76, 0x52, 0x2f, 0xa1, 0xfe, 0x96, 0xd8,
0x79, 0x14, 0xf5, 0x83, 0xd0, 0xb7, 0xa5, 0xe1, 0xfb, 0xb3, 0xcf, 0x8f, 0xab, 0x85, 0x7f, 0x8f,
0xab, 0x05, 0x63, 0x09, 0x74, 0x2e, 0xfa, 0x90, 0xba, 0x83, 0xc7, 0xde, 0x85, 0xec, 0x1a, 0x2d,
0x0c, 0xd9, 0x72, 0xfa, 0xce, 0x41, 0x92, 0x92, 0xfb, 0x30, 0xdd, 0xe3, 0x2b, 0x98, 0xf0, 0xb2,
0xa9, 0xe8, 0x42, 0x53, 0x38, 0x35, 0xaf, 0xbf, 0xfc, 0xb3, 0x5a, 0xb0, 0xd1, 0xc1, 0xd8, 0xcd,
0xd6, 0x31, 0x96, 0xfc, 0x10, 0x66, 0x30, 0x63, 0xa8, 0x99, 0x27, 0xc9, 0xd2, 0xc5, 0x28, 0x01,
0xc9, 0x70, 0x0a, 0xfa, 0x2e, 0x94, 0x95, 0x67, 0xc3, 0x90, 0xdb, 0x39, 0x0b, 0x4b, 0x5e, 0x9d,
0xd4, 0xe7, 0x33, 0x1a, 0xa9, 0xf2, 0x1a, 0x37, 0x61, 0xa1, 0xe9, 0x75, 0xf7, 0x37, 0x1a, 0xad,
0xbe, 0xb7, 0x17, 0x3c, 0x95, 0xb1, 0x3f, 0x80, 0x52, 0x76, 0x19, 0x83, 0xde, 0x86, 0x1b, 0x1d,
0xbe, 0xde, 0xee, 0xf1, 0x0d, 0x51, 0x33, 0xbb, 0xd8, 0x49, 0x19, 0x1b, 0x4d, 0x28, 0x63, 0xe1,
0x9a, 0x87, 0x91, 0xc7, 0x76, 0x29, 0xd6, 0x0f, 0x2b, 0x7e, 0x1b, 0x6e, 0x60, 0x21, 0xdb, 0x9d,
0xe1, 0x3e, 0xd7, 0x28, 0xda, 0x45, 0x27, 0xe5, 0x63, 0x7c, 0x0c, 0x4b, 0x6a, 0x0d, 0x04, 0x79,
0x07, 0xe6, 0xa5, 0x08, 0xe3, 0x3b, 0x48, 0x22, 0xa5, 0x85, 0xb9, 0xb1, 0x1d, 0xa3, 0x88, 0x85,
0x5d, 0xca, 0xe5, 0x24, 0x4a, 0x4e, 0x95, 0x07, 0x31, 0xcc, 0x05, 0x95, 0x24, 0x2b, 0x93, 0x4f,
0x74, 0x0f, 0x2a, 0xe9, 0xd6, 0x89, 0x4f, 0xb7, 0xb3, 0x2d, 0x69, 0xe6, 0x61, 0x2a, 0x70, 0xb9,
0xef, 0x35, 0x7b, 0x2a, 0x70, 0x0d, 0x17, 0xaa, 0x23, 0x3d, 0x30, 0xf2, 0x16, 0xbc, 0x81, 0xa5,
0x6c, 0xe7, 0xbd, 0x45, 0xf3, 0x4e, 0x46, 0xce, 0x78, 0x08, 0x6f, 0xa6, 0xa3, 0xec, 0x84, 0x7b,
0xf4, 0x7f, 0xdc, 0x4d, 0xa3, 0x05, 0x8b, 0x97, 0xe5, 0x90, 0x76, 0x13, 0xae, 0x07, 0xe1, 0x1e,
0xc5, 0x2b, 0xb2, 0xac, 0xbc, 0x76, 0x4d, 0x87, 0xc9, 0x3e, 0xb5, 0xb9, 0x75, 0xe3, 0xd7, 0x39,
0x78, 0x8d, 0x4b, 0x92, 0x17, 0x1a, 0xc8, 0xdb, 0xc3, 0xc8, 0xaa, 0xd2, 0x5d, 0x35, 0x65, 0xf5,
0xb5, 0x3c, 0xa6, 0x82, 0xd1, 0x58, 0x7b, 0xfe, 0xcf, 0x4f, 0x6b, 0xda, 0xd7, 0xbf, 0xff, 0xfd,
0xdd, 0x54, 0x95, 0xdc, 0xb2, 0x94, 0xef, 0x81, 0x44, 0xf8, 0x5e, 0x83, 0x19, 0x14, 0x20, 0xb5,
0x89, 0x31, 0x24, 0xcd, 0x6a, 0x0e, 0x4b, 0x84, 0xd9, 0x4c, 0x60, 0x56, 0xc9, 0xca, 0x58, 0x18,
0xeb, 0x19, 0x56, 0xe0, 0x88, 0xfc, 0xac, 0x01, 0xb9, 0xdc, 0x33, 0x64, 0x63, 0x62, 0xdc, 0xcb,
0x3d, 0xa9, 0x6f, 0x5e, 0xcd, 0xe9, 0x0a, 0xdc, 0xf1, 0x85, 0x69, 0x07, 0xae, 0xf5, 0x2c, 0x70,
0x8f, 0xc8, 0x37, 0x1a, 0x4c, 0x8b, 0x11, 0x48, 0x56, 0x46, 0x87, 0xcd, 0x0c, 0x49, 0xbd, 0x36,
0xd9, 0x10, 0x99, 0x6a, 0x09, 0xd3, 0x2d, 0x52, 0x56, 0x32, 0x89, 0x21, 0x4f, 0x7e, 0xd4, 0x20,
0x3b, 0x30, 0x19, 0xb1, 0x46, 0x87, 0x51, 0x3e, 0x3d, 0xfa, 0xbd, 0xfc, 0x0e, 0xc8, 0xb7, 0x9e,
0xf0, 0xdd, 0x21, 0x6f, 0x2b, 0xf9, 0x0e, 0xb8, 0x67, 0x3b, 0xee, 0xbf, 0x17, 0x1a, 0x14, 0xd3,
0x63, 0x7a, 0x44, 0x13, 0x2a, 0x06, 0xfc, 0x88, 0x26, 0x54, 0xcd, 0xfc, 0x3c, 0x89, 0x13, 0xe3,
0x7f, 0xd8, 0x78, 0x25, 0xd5, 0xd4, 0x26, 0xea, 0x6c, 0x8c, 0x79, 0x24, 0xf4, 0xf5, 0x2b, 0x78,
0x20, 0xe7, 0x7b, 0x09, 0x67, 0x9d, 0xbc, 0x3b, 0x86, 0x33, 0xbe, 0x2a, 0x62, 0x5a, 0x1f, 0x91,
0x5f, 0x12, 0xee, 0xcc, 0x80, 0x1f, 0xcf, 0xad, 0x7a, 0x51, 0xc6, 0x73, 0x2b, 0x5f, 0x0f, 0xe3,
0x7e, 0xc2, 0x6d, 0x92, 0xbb, 0xb9, 0xb8, 0xc5, 0x63, 0x75, 0x44, 0x7e, 0xd0, 0x60, 0x2e, 0x35,
0x68, 0xc9, 0xdd, 0x89, 0xb7, 0x35, 0x35, 0xde, 0xf5, 0x7a, 0x4e, 0xeb, 0xfc, 0xf9, 0x95, 0x6f,
0xd1, 0x70, 0x6e, 0x27, 0x03, 0xa9, 0xf9, 0xe0, 0xe5, 0x59, 0x45, 0x3b, 0x3d, 0xab, 0x68, 0x7f,
0x9d, 0x55, 0xb4, 0x6f, 0xcf, 0x2b, 0x85, 0xd3, 0xf3, 0x4a, 0xe1, 0x8f, 0xf3, 0x4a, 0xe1, 0xf3,
0x55, 0x3f, 0x88, 0xf6, 0x07, 0x1d, 0xb3, 0x4b, 0x0f, 0xa4, 0xa0, 0xf8, 0x53, 0x67, 0xee, 0x97,
0xd6, 0x53, 0xa1, 0x1e, 0x1d, 0xf6, 0x3c, 0xd6, 0x99, 0xe6, 0xff, 0xd5, 0x6c, 0xfc, 0x17, 0x00,
0x00, 0xff, 0xff, 0x83, 0xfa, 0x46, 0x09, 0x54, 0x0c, 0x00, 0x00,
}
// Reference imports to suppress errors if they are not otherwise used.
@ -875,6 +973,10 @@ type QueryClient interface {
//
// Since: cosmos-sdk 0.46
AddressStringToBytes(ctx context.Context, in *AddressStringToBytesRequest, opts ...grpc.CallOption) (*AddressStringToBytesResponse, error)
// AccountInfo queries account info which is common to all account types.
//
// Since: cosmos-sdk 0.47
AccountInfo(ctx context.Context, in *QueryAccountInfoRequest, opts ...grpc.CallOption) (*QueryAccountInfoResponse, error)
}
type queryClient struct {
@ -957,6 +1059,15 @@ func (c *queryClient) AddressStringToBytes(ctx context.Context, in *AddressStrin
return out, nil
}
func (c *queryClient) AccountInfo(ctx context.Context, in *QueryAccountInfoRequest, opts ...grpc.CallOption) (*QueryAccountInfoResponse, error) {
out := new(QueryAccountInfoResponse)
err := c.cc.Invoke(ctx, "/cosmos.auth.v1beta1.Query/AccountInfo", in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
// QueryServer is the server API for Query service.
type QueryServer interface {
// Accounts returns all the existing accounts
@ -985,6 +1096,10 @@ type QueryServer interface {
//
// Since: cosmos-sdk 0.46
AddressStringToBytes(context.Context, *AddressStringToBytesRequest) (*AddressStringToBytesResponse, error)
// AccountInfo queries account info which is common to all account types.
//
// Since: cosmos-sdk 0.47
AccountInfo(context.Context, *QueryAccountInfoRequest) (*QueryAccountInfoResponse, error)
}
// UnimplementedQueryServer can be embedded to have forward compatible implementations.
@ -1015,6 +1130,9 @@ func (*UnimplementedQueryServer) AddressBytesToString(ctx context.Context, req *
func (*UnimplementedQueryServer) AddressStringToBytes(ctx context.Context, req *AddressStringToBytesRequest) (*AddressStringToBytesResponse, error) {
return nil, status.Errorf(codes.Unimplemented, "method AddressStringToBytes not implemented")
}
func (*UnimplementedQueryServer) AccountInfo(ctx context.Context, req *QueryAccountInfoRequest) (*QueryAccountInfoResponse, error) {
return nil, status.Errorf(codes.Unimplemented, "method AccountInfo not implemented")
}
func RegisterQueryServer(s grpc1.Server, srv QueryServer) {
s.RegisterService(&_Query_serviceDesc, srv)
@ -1164,6 +1282,24 @@ func _Query_AddressStringToBytes_Handler(srv interface{}, ctx context.Context, d
return interceptor(ctx, in, info, handler)
}
func _Query_AccountInfo_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(QueryAccountInfoRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(QueryServer).AccountInfo(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/cosmos.auth.v1beta1.Query/AccountInfo",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(QueryServer).AccountInfo(ctx, req.(*QueryAccountInfoRequest))
}
return interceptor(ctx, in, info, handler)
}
var _Query_serviceDesc = grpc.ServiceDesc{
ServiceName: "cosmos.auth.v1beta1.Query",
HandlerType: (*QueryServer)(nil),
@ -1200,6 +1336,10 @@ var _Query_serviceDesc = grpc.ServiceDesc{
MethodName: "AddressStringToBytes",
Handler: _Query_AddressStringToBytes_Handler,
},
{
MethodName: "AccountInfo",
Handler: _Query_AccountInfo_Handler,
},
},
Streams: []grpc.StreamDesc{},
Metadata: "cosmos/auth/v1beta1/query.proto",
@ -1701,6 +1841,71 @@ func (m *QueryAccountAddressByIDResponse) MarshalToSizedBuffer(dAtA []byte) (int
return len(dAtA) - i, nil
}
func (m *QueryAccountInfoRequest) Marshal() (dAtA []byte, err error) {
size := m.Size()
dAtA = make([]byte, size)
n, err := m.MarshalToSizedBuffer(dAtA[:size])
if err != nil {
return nil, err
}
return dAtA[:n], nil
}
func (m *QueryAccountInfoRequest) MarshalTo(dAtA []byte) (int, error) {
size := m.Size()
return m.MarshalToSizedBuffer(dAtA[:size])
}
func (m *QueryAccountInfoRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) {
i := len(dAtA)
_ = i
var l int
_ = l
if len(m.Address) > 0 {
i -= len(m.Address)
copy(dAtA[i:], m.Address)
i = encodeVarintQuery(dAtA, i, uint64(len(m.Address)))
i--
dAtA[i] = 0xa
}
return len(dAtA) - i, nil
}
func (m *QueryAccountInfoResponse) Marshal() (dAtA []byte, err error) {
size := m.Size()
dAtA = make([]byte, size)
n, err := m.MarshalToSizedBuffer(dAtA[:size])
if err != nil {
return nil, err
}
return dAtA[:n], nil
}
func (m *QueryAccountInfoResponse) MarshalTo(dAtA []byte) (int, error) {
size := m.Size()
return m.MarshalToSizedBuffer(dAtA[:size])
}
func (m *QueryAccountInfoResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) {
i := len(dAtA)
_ = i
var l int
_ = l
if m.Info != nil {
{
size, err := m.Info.MarshalToSizedBuffer(dAtA[:i])
if err != nil {
return 0, err
}
i -= size
i = encodeVarintQuery(dAtA, i, uint64(size))
}
i--
dAtA[i] = 0xa
}
return len(dAtA) - i, nil
}
func encodeVarintQuery(dAtA []byte, offset int, v uint64) int {
offset -= sovQuery(v)
base := offset
@ -1913,6 +2118,32 @@ func (m *QueryAccountAddressByIDResponse) Size() (n int) {
return n
}
func (m *QueryAccountInfoRequest) Size() (n int) {
if m == nil {
return 0
}
var l int
_ = l
l = len(m.Address)
if l > 0 {
n += 1 + l + sovQuery(uint64(l))
}
return n
}
func (m *QueryAccountInfoResponse) Size() (n int) {
if m == nil {
return 0
}
var l int
_ = l
if m.Info != nil {
l = m.Info.Size()
n += 1 + l + sovQuery(uint64(l))
}
return n
}
func sovQuery(x uint64) (n int) {
return (math_bits.Len64(x|1) + 6) / 7
}
@ -3175,6 +3406,174 @@ func (m *QueryAccountAddressByIDResponse) Unmarshal(dAtA []byte) error {
}
return nil
}
func (m *QueryAccountInfoRequest) Unmarshal(dAtA []byte) error {
l := len(dAtA)
iNdEx := 0
for iNdEx < l {
preIndex := iNdEx
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
return ErrIntOverflowQuery
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
}
b := dAtA[iNdEx]
iNdEx++
wire |= uint64(b&0x7F) << shift
if b < 0x80 {
break
}
}
fieldNum := int32(wire >> 3)
wireType := int(wire & 0x7)
if wireType == 4 {
return fmt.Errorf("proto: QueryAccountInfoRequest: wiretype end group for non-group")
}
if fieldNum <= 0 {
return fmt.Errorf("proto: QueryAccountInfoRequest: illegal tag %d (wire type %d)", fieldNum, wire)
}
switch fieldNum {
case 1:
if wireType != 2 {
return fmt.Errorf("proto: wrong wireType = %d for field Address", wireType)
}
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
return ErrIntOverflowQuery
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
}
b := dAtA[iNdEx]
iNdEx++
stringLen |= uint64(b&0x7F) << shift
if b < 0x80 {
break
}
}
intStringLen := int(stringLen)
if intStringLen < 0 {
return ErrInvalidLengthQuery
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
return ErrInvalidLengthQuery
}
if postIndex > l {
return io.ErrUnexpectedEOF
}
m.Address = string(dAtA[iNdEx:postIndex])
iNdEx = postIndex
default:
iNdEx = preIndex
skippy, err := skipQuery(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
return ErrInvalidLengthQuery
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
}
iNdEx += skippy
}
}
if iNdEx > l {
return io.ErrUnexpectedEOF
}
return nil
}
func (m *QueryAccountInfoResponse) Unmarshal(dAtA []byte) error {
l := len(dAtA)
iNdEx := 0
for iNdEx < l {
preIndex := iNdEx
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
return ErrIntOverflowQuery
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
}
b := dAtA[iNdEx]
iNdEx++
wire |= uint64(b&0x7F) << shift
if b < 0x80 {
break
}
}
fieldNum := int32(wire >> 3)
wireType := int(wire & 0x7)
if wireType == 4 {
return fmt.Errorf("proto: QueryAccountInfoResponse: wiretype end group for non-group")
}
if fieldNum <= 0 {
return fmt.Errorf("proto: QueryAccountInfoResponse: illegal tag %d (wire type %d)", fieldNum, wire)
}
switch fieldNum {
case 1:
if wireType != 2 {
return fmt.Errorf("proto: wrong wireType = %d for field Info", wireType)
}
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
return ErrIntOverflowQuery
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
}
b := dAtA[iNdEx]
iNdEx++
msglen |= int(b&0x7F) << shift
if b < 0x80 {
break
}
}
if msglen < 0 {
return ErrInvalidLengthQuery
}
postIndex := iNdEx + msglen
if postIndex < 0 {
return ErrInvalidLengthQuery
}
if postIndex > l {
return io.ErrUnexpectedEOF
}
if m.Info == nil {
m.Info = &BaseAccount{}
}
if err := m.Info.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
return err
}
iNdEx = postIndex
default:
iNdEx = preIndex
skippy, err := skipQuery(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
return ErrInvalidLengthQuery
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
}
iNdEx += skippy
}
}
if iNdEx > l {
return io.ErrUnexpectedEOF
}
return nil
}
func skipQuery(dAtA []byte) (n int, err error) {
l := len(dAtA)
iNdEx := 0

View File

@ -339,6 +339,60 @@ func local_request_Query_AddressStringToBytes_0(ctx context.Context, marshaler r
}
func request_Query_AccountInfo_0(ctx context.Context, marshaler runtime.Marshaler, client QueryClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) {
var protoReq QueryAccountInfoRequest
var metadata runtime.ServerMetadata
var (
val string
ok bool
err error
_ = err
)
val, ok = pathParams["address"]
if !ok {
return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "address")
}
protoReq.Address, err = runtime.String(val)
if err != nil {
return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "address", err)
}
msg, err := client.AccountInfo(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD))
return msg, metadata, err
}
func local_request_Query_AccountInfo_0(ctx context.Context, marshaler runtime.Marshaler, server QueryServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) {
var protoReq QueryAccountInfoRequest
var metadata runtime.ServerMetadata
var (
val string
ok bool
err error
_ = err
)
val, ok = pathParams["address"]
if !ok {
return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "address")
}
protoReq.Address, err = runtime.String(val)
if err != nil {
return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "address", err)
}
msg, err := server.AccountInfo(ctx, &protoReq)
return msg, metadata, err
}
// RegisterQueryHandlerServer registers the http handlers for service Query to "mux".
// UnaryRPC :call QueryServer directly.
// StreamingRPC :currently unsupported pending https://github.com/grpc/grpc-go/issues/906.
@ -529,6 +583,29 @@ func RegisterQueryHandlerServer(ctx context.Context, mux *runtime.ServeMux, serv
})
mux.Handle("GET", pattern_Query_AccountInfo_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) {
ctx, cancel := context.WithCancel(req.Context())
defer cancel()
var stream runtime.ServerTransportStream
ctx = grpc.NewContextWithServerTransportStream(ctx, &stream)
inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req)
rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req)
if err != nil {
runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err)
return
}
resp, md, err := local_request_Query_AccountInfo_0(rctx, inboundMarshaler, server, req, pathParams)
md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer())
ctx = runtime.NewServerMetadataContext(ctx, md)
if err != nil {
runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err)
return
}
forward_Query_AccountInfo_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...)
})
return nil
}
@ -730,6 +807,26 @@ func RegisterQueryHandlerClient(ctx context.Context, mux *runtime.ServeMux, clie
})
mux.Handle("GET", pattern_Query_AccountInfo_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) {
ctx, cancel := context.WithCancel(req.Context())
defer cancel()
inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req)
rctx, err := runtime.AnnotateContext(ctx, mux, req)
if err != nil {
runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err)
return
}
resp, md, err := request_Query_AccountInfo_0(rctx, inboundMarshaler, client, req, pathParams)
ctx = runtime.NewServerMetadataContext(ctx, md)
if err != nil {
runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err)
return
}
forward_Query_AccountInfo_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...)
})
return nil
}
@ -749,6 +846,8 @@ var (
pattern_Query_AddressBytesToString_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3, 1, 0, 4, 1, 5, 4}, []string{"cosmos", "auth", "v1beta1", "bech32", "address_bytes"}, "", runtime.AssumeColonVerbOpt(false)))
pattern_Query_AddressStringToBytes_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3, 1, 0, 4, 1, 5, 4}, []string{"cosmos", "auth", "v1beta1", "bech32", "address_string"}, "", runtime.AssumeColonVerbOpt(false)))
pattern_Query_AccountInfo_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3, 1, 0, 4, 1, 5, 4}, []string{"cosmos", "auth", "v1beta1", "account_info", "address"}, "", runtime.AssumeColonVerbOpt(false)))
)
var (
@ -767,4 +866,6 @@ var (
forward_Query_AddressBytesToString_0 = runtime.ForwardResponseMessage
forward_Query_AddressStringToBytes_0 = runtime.ForwardResponseMessage
forward_Query_AccountInfo_0 = runtime.ForwardResponseMessage
)