Co-authored-by: gsai967 <153279976+gsai967@users.noreply.github.com> Co-authored-by: Julien Robert <julien@rbrt.fr>
This commit is contained in:
parent
fe4b58b2bd
commit
2a199f57c5
@ -40,6 +40,7 @@ Ref: https://keepachangelog.com/en/1.0.0/
|
||||
|
||||
### Improvements
|
||||
|
||||
* (x/bank) [#18956](https://github.com/cosmos/cosmos-sdk/pull/18956) Introduced a new `DenomOwnersByQuery` query method for `DenomOwners`, which accepts the denom value as a query string parameter, resolving issues with denoms containing slashes.
|
||||
* (x/gov) [#18707](https://github.com/cosmos/cosmos-sdk/pull/18707) Improve genesis validation.
|
||||
* (x/auth/tx) [#18772](https://github.com/cosmos/cosmos-sdk/pull/18772) Remove misleading gas wanted from tx simulation failure log.
|
||||
* (client/tx) [#18852](https://github.com/cosmos/cosmos-sdk/pull/18852) Add `WithFromName` to tx factory.
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@ -30,6 +30,7 @@ const (
|
||||
Query_DenomMetadataByQueryString_FullMethodName = "/cosmos.bank.v1beta1.Query/DenomMetadataByQueryString"
|
||||
Query_DenomsMetadata_FullMethodName = "/cosmos.bank.v1beta1.Query/DenomsMetadata"
|
||||
Query_DenomOwners_FullMethodName = "/cosmos.bank.v1beta1.Query/DenomOwners"
|
||||
Query_DenomOwnersByQuery_FullMethodName = "/cosmos.bank.v1beta1.Query/DenomOwnersByQuery"
|
||||
Query_SendEnabled_FullMethodName = "/cosmos.bank.v1beta1.Query/SendEnabled"
|
||||
)
|
||||
|
||||
@ -72,9 +73,9 @@ type QueryClient interface {
|
||||
SupplyOf(ctx context.Context, in *QuerySupplyOfRequest, opts ...grpc.CallOption) (*QuerySupplyOfResponse, error)
|
||||
// Params queries the parameters of x/bank module.
|
||||
Params(ctx context.Context, in *QueryParamsRequest, opts ...grpc.CallOption) (*QueryParamsResponse, error)
|
||||
// DenomsMetadata queries the client metadata of a given coin denomination.
|
||||
// DenomMetadata queries the client metadata of a given coin denomination.
|
||||
DenomMetadata(ctx context.Context, in *QueryDenomMetadataRequest, opts ...grpc.CallOption) (*QueryDenomMetadataResponse, error)
|
||||
// DenomsMetadata queries the client metadata of a given coin denomination.
|
||||
// DenomMetadataByQueryString queries the client metadata of a given coin denomination.
|
||||
DenomMetadataByQueryString(ctx context.Context, in *QueryDenomMetadataByQueryStringRequest, opts ...grpc.CallOption) (*QueryDenomMetadataByQueryStringResponse, error)
|
||||
// DenomsMetadata queries the client metadata for all registered coin
|
||||
// denominations.
|
||||
@ -87,6 +88,11 @@ type QueryClient interface {
|
||||
//
|
||||
// Since: cosmos-sdk 0.46
|
||||
DenomOwners(ctx context.Context, in *QueryDenomOwnersRequest, opts ...grpc.CallOption) (*QueryDenomOwnersResponse, error)
|
||||
// DenomOwnersByQuery queries for all account addresses that own a particular token
|
||||
// denomination.
|
||||
//
|
||||
// Since: cosmos-sdk 0.50.3
|
||||
DenomOwnersByQuery(ctx context.Context, in *QueryDenomOwnersByQueryRequest, opts ...grpc.CallOption) (*QueryDenomOwnersByQueryResponse, error)
|
||||
// SendEnabled queries for SendEnabled entries.
|
||||
//
|
||||
// This query only returns denominations that have specific SendEnabled settings.
|
||||
@ -204,6 +210,15 @@ func (c *queryClient) DenomOwners(ctx context.Context, in *QueryDenomOwnersReque
|
||||
return out, nil
|
||||
}
|
||||
|
||||
func (c *queryClient) DenomOwnersByQuery(ctx context.Context, in *QueryDenomOwnersByQueryRequest, opts ...grpc.CallOption) (*QueryDenomOwnersByQueryResponse, error) {
|
||||
out := new(QueryDenomOwnersByQueryResponse)
|
||||
err := c.cc.Invoke(ctx, Query_DenomOwnersByQuery_FullMethodName, in, out, opts...)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return out, nil
|
||||
}
|
||||
|
||||
func (c *queryClient) SendEnabled(ctx context.Context, in *QuerySendEnabledRequest, opts ...grpc.CallOption) (*QuerySendEnabledResponse, error) {
|
||||
out := new(QuerySendEnabledResponse)
|
||||
err := c.cc.Invoke(ctx, Query_SendEnabled_FullMethodName, in, out, opts...)
|
||||
@ -252,9 +267,9 @@ type QueryServer interface {
|
||||
SupplyOf(context.Context, *QuerySupplyOfRequest) (*QuerySupplyOfResponse, error)
|
||||
// Params queries the parameters of x/bank module.
|
||||
Params(context.Context, *QueryParamsRequest) (*QueryParamsResponse, error)
|
||||
// DenomsMetadata queries the client metadata of a given coin denomination.
|
||||
// DenomMetadata queries the client metadata of a given coin denomination.
|
||||
DenomMetadata(context.Context, *QueryDenomMetadataRequest) (*QueryDenomMetadataResponse, error)
|
||||
// DenomsMetadata queries the client metadata of a given coin denomination.
|
||||
// DenomMetadataByQueryString queries the client metadata of a given coin denomination.
|
||||
DenomMetadataByQueryString(context.Context, *QueryDenomMetadataByQueryStringRequest) (*QueryDenomMetadataByQueryStringResponse, error)
|
||||
// DenomsMetadata queries the client metadata for all registered coin
|
||||
// denominations.
|
||||
@ -267,6 +282,11 @@ type QueryServer interface {
|
||||
//
|
||||
// Since: cosmos-sdk 0.46
|
||||
DenomOwners(context.Context, *QueryDenomOwnersRequest) (*QueryDenomOwnersResponse, error)
|
||||
// DenomOwnersByQuery queries for all account addresses that own a particular token
|
||||
// denomination.
|
||||
//
|
||||
// Since: cosmos-sdk 0.50.3
|
||||
DenomOwnersByQuery(context.Context, *QueryDenomOwnersByQueryRequest) (*QueryDenomOwnersByQueryResponse, error)
|
||||
// SendEnabled queries for SendEnabled entries.
|
||||
//
|
||||
// This query only returns denominations that have specific SendEnabled settings.
|
||||
@ -315,6 +335,9 @@ func (UnimplementedQueryServer) DenomsMetadata(context.Context, *QueryDenomsMeta
|
||||
func (UnimplementedQueryServer) DenomOwners(context.Context, *QueryDenomOwnersRequest) (*QueryDenomOwnersResponse, error) {
|
||||
return nil, status.Errorf(codes.Unimplemented, "method DenomOwners not implemented")
|
||||
}
|
||||
func (UnimplementedQueryServer) DenomOwnersByQuery(context.Context, *QueryDenomOwnersByQueryRequest) (*QueryDenomOwnersByQueryResponse, error) {
|
||||
return nil, status.Errorf(codes.Unimplemented, "method DenomOwnersByQuery not implemented")
|
||||
}
|
||||
func (UnimplementedQueryServer) SendEnabled(context.Context, *QuerySendEnabledRequest) (*QuerySendEnabledResponse, error) {
|
||||
return nil, status.Errorf(codes.Unimplemented, "method SendEnabled not implemented")
|
||||
}
|
||||
@ -529,6 +552,24 @@ func _Query_DenomOwners_Handler(srv interface{}, ctx context.Context, dec func(i
|
||||
return interceptor(ctx, in, info, handler)
|
||||
}
|
||||
|
||||
func _Query_DenomOwnersByQuery_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
|
||||
in := new(QueryDenomOwnersByQueryRequest)
|
||||
if err := dec(in); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
if interceptor == nil {
|
||||
return srv.(QueryServer).DenomOwnersByQuery(ctx, in)
|
||||
}
|
||||
info := &grpc.UnaryServerInfo{
|
||||
Server: srv,
|
||||
FullMethod: Query_DenomOwnersByQuery_FullMethodName,
|
||||
}
|
||||
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
|
||||
return srv.(QueryServer).DenomOwnersByQuery(ctx, req.(*QueryDenomOwnersByQueryRequest))
|
||||
}
|
||||
return interceptor(ctx, in, info, handler)
|
||||
}
|
||||
|
||||
func _Query_SendEnabled_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
|
||||
in := new(QuerySendEnabledRequest)
|
||||
if err := dec(in); err != nil {
|
||||
@ -598,6 +639,10 @@ var Query_ServiceDesc = grpc.ServiceDesc{
|
||||
MethodName: "DenomOwners",
|
||||
Handler: _Query_DenomOwners_Handler,
|
||||
},
|
||||
{
|
||||
MethodName: "DenomOwnersByQuery",
|
||||
Handler: _Query_DenomOwnersByQuery_Handler,
|
||||
},
|
||||
{
|
||||
MethodName: "SendEnabled",
|
||||
Handler: _Query_SendEnabled_Handler,
|
||||
|
||||
232
client/docs/swagger-ui/swagger.yaml
vendored
232
client/docs/swagger-ui/swagger.yaml
vendored
@ -3568,6 +3568,170 @@ paths:
|
||||
descending order.
|
||||
|
||||
|
||||
Since: cosmos-sdk 0.43
|
||||
in: query
|
||||
required: false
|
||||
type: boolean
|
||||
tags:
|
||||
- Query
|
||||
/cosmos/bank/v1beta1/denom_owners_by_query:
|
||||
get:
|
||||
summary: >-
|
||||
DenomOwnersByQuery queries for all account addresses that own a
|
||||
particular token
|
||||
|
||||
denomination.
|
||||
description: 'Since: cosmos-sdk 0.50.3'
|
||||
operationId: DenomOwnersByQuery
|
||||
responses:
|
||||
'200':
|
||||
description: A successful response.
|
||||
schema:
|
||||
type: object
|
||||
properties:
|
||||
denom_owners:
|
||||
type: array
|
||||
items:
|
||||
type: object
|
||||
properties:
|
||||
address:
|
||||
type: string
|
||||
description: >-
|
||||
address defines the address that owns a particular
|
||||
denomination.
|
||||
balance:
|
||||
type: object
|
||||
properties:
|
||||
denom:
|
||||
type: string
|
||||
amount:
|
||||
type: string
|
||||
description: >-
|
||||
Coin defines a token with a denomination and an amount.
|
||||
|
||||
|
||||
NOTE: The amount field is an Int which implements the
|
||||
custom method
|
||||
|
||||
signatures required by gogoproto.
|
||||
description: >-
|
||||
DenomOwner defines structure representing an account that
|
||||
owns or holds a
|
||||
|
||||
particular denominated token. It contains the account
|
||||
address and account
|
||||
|
||||
balance of the denominated token.
|
||||
|
||||
|
||||
Since: cosmos-sdk 0.46
|
||||
pagination:
|
||||
description: pagination defines the pagination in the response.
|
||||
type: object
|
||||
properties:
|
||||
next_key:
|
||||
type: string
|
||||
format: byte
|
||||
description: |-
|
||||
next_key is the key to be passed to PageRequest.key to
|
||||
query the next page most efficiently. It will be empty if
|
||||
there are no more results.
|
||||
total:
|
||||
type: string
|
||||
format: uint64
|
||||
title: >-
|
||||
total is total number of results available if
|
||||
PageRequest.count_total
|
||||
|
||||
was set, its value is undefined otherwise
|
||||
description: >-
|
||||
QueryDenomOwnersByQueryResponse defines the RPC response of a
|
||||
DenomOwnersByQuery RPC query.
|
||||
|
||||
|
||||
Since: cosmos-sdk 0.50.3
|
||||
default:
|
||||
description: An unexpected error response.
|
||||
schema:
|
||||
type: object
|
||||
properties:
|
||||
error:
|
||||
type: string
|
||||
code:
|
||||
type: integer
|
||||
format: int32
|
||||
message:
|
||||
type: string
|
||||
details:
|
||||
type: array
|
||||
items:
|
||||
type: object
|
||||
properties:
|
||||
type_url:
|
||||
type: string
|
||||
value:
|
||||
type: string
|
||||
format: byte
|
||||
parameters:
|
||||
- name: denom
|
||||
description: >-
|
||||
denom defines the coin denomination to query all account holders
|
||||
for.
|
||||
in: query
|
||||
required: false
|
||||
type: string
|
||||
- name: pagination.key
|
||||
description: |-
|
||||
key is a value returned in PageResponse.next_key to begin
|
||||
querying the next page most efficiently. Only one of offset or key
|
||||
should be set.
|
||||
in: query
|
||||
required: false
|
||||
type: string
|
||||
format: byte
|
||||
- name: pagination.offset
|
||||
description: >-
|
||||
offset is a numeric offset that can be used when key is unavailable.
|
||||
|
||||
It is less efficient than using key. Only one of offset or key
|
||||
should
|
||||
|
||||
be set.
|
||||
in: query
|
||||
required: false
|
||||
type: string
|
||||
format: uint64
|
||||
- name: pagination.limit
|
||||
description: >-
|
||||
limit is the total number of results to be returned in the result
|
||||
page.
|
||||
|
||||
If left empty it will default to a value to be set by each app.
|
||||
in: query
|
||||
required: false
|
||||
type: string
|
||||
format: uint64
|
||||
- name: pagination.count_total
|
||||
description: >-
|
||||
count_total is set to true to indicate that the result set should
|
||||
include
|
||||
|
||||
a count of the total number of items available for pagination in
|
||||
UIs.
|
||||
|
||||
count_total is only respected when offset is used. It is ignored
|
||||
when key
|
||||
|
||||
is set.
|
||||
in: query
|
||||
required: false
|
||||
type: boolean
|
||||
- name: pagination.reverse
|
||||
description: >-
|
||||
reverse is set to true if results are to be returned in the
|
||||
descending order.
|
||||
|
||||
|
||||
Since: cosmos-sdk 0.43
|
||||
in: query
|
||||
required: false
|
||||
@ -3787,7 +3951,7 @@ paths:
|
||||
- Query
|
||||
/cosmos/bank/v1beta1/denoms_metadata/{denom}:
|
||||
get:
|
||||
summary: DenomsMetadata queries the client metadata of a given coin denomination.
|
||||
summary: DenomMetadata queries the client metadata of a given coin denomination.
|
||||
operationId: DenomMetadata
|
||||
responses:
|
||||
'200':
|
||||
@ -3921,7 +4085,9 @@ paths:
|
||||
- Query
|
||||
/cosmos/bank/v1beta1/denoms_metadata_by_query_string:
|
||||
get:
|
||||
summary: DenomsMetadata queries the client metadata of a given coin denomination.
|
||||
summary: >-
|
||||
DenomMetadataByQueryString queries the client metadata of a given coin
|
||||
denomination.
|
||||
operationId: DenomMetadataByQueryString
|
||||
responses:
|
||||
'200':
|
||||
@ -40496,6 +40662,68 @@ definitions:
|
||||
Query/DenomMetadata RPC
|
||||
|
||||
method.
|
||||
cosmos.bank.v1beta1.QueryDenomOwnersByQueryResponse:
|
||||
type: object
|
||||
properties:
|
||||
denom_owners:
|
||||
type: array
|
||||
items:
|
||||
type: object
|
||||
properties:
|
||||
address:
|
||||
type: string
|
||||
description: address defines the address that owns a particular denomination.
|
||||
balance:
|
||||
type: object
|
||||
properties:
|
||||
denom:
|
||||
type: string
|
||||
amount:
|
||||
type: string
|
||||
description: >-
|
||||
Coin defines a token with a denomination and an amount.
|
||||
|
||||
|
||||
NOTE: The amount field is an Int which implements the custom
|
||||
method
|
||||
|
||||
signatures required by gogoproto.
|
||||
description: >-
|
||||
DenomOwner defines structure representing an account that owns or
|
||||
holds a
|
||||
|
||||
particular denominated token. It contains the account address and
|
||||
account
|
||||
|
||||
balance of the denominated token.
|
||||
|
||||
|
||||
Since: cosmos-sdk 0.46
|
||||
pagination:
|
||||
description: pagination defines the pagination in the response.
|
||||
type: object
|
||||
properties:
|
||||
next_key:
|
||||
type: string
|
||||
format: byte
|
||||
description: |-
|
||||
next_key is the key to be passed to PageRequest.key to
|
||||
query the next page most efficiently. It will be empty if
|
||||
there are no more results.
|
||||
total:
|
||||
type: string
|
||||
format: uint64
|
||||
title: >-
|
||||
total is total number of results available if
|
||||
PageRequest.count_total
|
||||
|
||||
was set, its value is undefined otherwise
|
||||
description: >-
|
||||
QueryDenomOwnersByQueryResponse defines the RPC response of a
|
||||
DenomOwnersByQuery RPC query.
|
||||
|
||||
|
||||
Since: cosmos-sdk 0.50.3
|
||||
cosmos.bank.v1beta1.QueryDenomOwnersResponse:
|
||||
type: object
|
||||
properties:
|
||||
|
||||
@ -77,13 +77,13 @@ service Query {
|
||||
option (google.api.http).get = "/cosmos/bank/v1beta1/params";
|
||||
}
|
||||
|
||||
// DenomsMetadata queries the client metadata of a given coin denomination.
|
||||
// DenomMetadata queries the client metadata of a given coin denomination.
|
||||
rpc DenomMetadata(QueryDenomMetadataRequest) returns (QueryDenomMetadataResponse) {
|
||||
option (cosmos.query.v1.module_query_safe) = true;
|
||||
option (google.api.http).get = "/cosmos/bank/v1beta1/denoms_metadata/{denom}";
|
||||
}
|
||||
|
||||
// DenomsMetadata queries the client metadata of a given coin denomination.
|
||||
// DenomMetadataByQueryString queries the client metadata of a given coin denomination.
|
||||
rpc DenomMetadataByQueryString(QueryDenomMetadataByQueryStringRequest)
|
||||
returns (QueryDenomMetadataByQueryStringResponse) {
|
||||
option (cosmos.query.v1.module_query_safe) = true;
|
||||
@ -108,6 +108,15 @@ service Query {
|
||||
option (google.api.http).get = "/cosmos/bank/v1beta1/denom_owners/{denom}";
|
||||
}
|
||||
|
||||
// DenomOwnersByQuery queries for all account addresses that own a particular token
|
||||
// denomination.
|
||||
//
|
||||
// Since: cosmos-sdk 0.50.3
|
||||
rpc DenomOwnersByQuery(QueryDenomOwnersByQueryRequest) returns (QueryDenomOwnersByQueryResponse) {
|
||||
option (cosmos.query.v1.module_query_safe) = true;
|
||||
option (google.api.http).get = "/cosmos/bank/v1beta1/denom_owners_by_query";
|
||||
}
|
||||
|
||||
// SendEnabled queries for SendEnabled entries.
|
||||
//
|
||||
// This query only returns denominations that have specific SendEnabled settings.
|
||||
@ -354,6 +363,29 @@ message QueryDenomOwnersResponse {
|
||||
cosmos.base.query.v1beta1.PageResponse pagination = 2;
|
||||
}
|
||||
|
||||
// QueryDenomOwnersByQueryRequest defines the request type for the DenomOwnersByQuery RPC query,
|
||||
// which queries for a paginated set of all account holders of a particular
|
||||
// denomination.
|
||||
//
|
||||
// Since: cosmos-sdk 0.50.3
|
||||
message QueryDenomOwnersByQueryRequest {
|
||||
// denom defines the coin denomination to query all account holders for.
|
||||
string denom = 1;
|
||||
|
||||
// pagination defines an optional pagination for the request.
|
||||
cosmos.base.query.v1beta1.PageRequest pagination = 2;
|
||||
}
|
||||
|
||||
// QueryDenomOwnersByQueryResponse defines the RPC response of a DenomOwnersByQuery RPC query.
|
||||
//
|
||||
// Since: cosmos-sdk 0.50.3
|
||||
message QueryDenomOwnersByQueryResponse {
|
||||
repeated DenomOwner denom_owners = 1;
|
||||
|
||||
// pagination defines the pagination in the response.
|
||||
cosmos.base.query.v1beta1.PageResponse pagination = 2;
|
||||
}
|
||||
|
||||
// QuerySendEnabledRequest defines the RPC request for looking up SendEnabled entries.
|
||||
//
|
||||
// Since: cosmos-sdk 0.47
|
||||
|
||||
@ -229,24 +229,18 @@ func (k BaseKeeper) DenomMetadataByQueryString(c context.Context, req *types.Que
|
||||
return nil, status.Errorf(codes.InvalidArgument, "empty request")
|
||||
}
|
||||
|
||||
if err := sdk.ValidateDenom(req.Denom); err != nil {
|
||||
return nil, status.Error(codes.InvalidArgument, err.Error())
|
||||
res, err := k.DenomMetadata(c, &types.QueryDenomMetadataRequest{
|
||||
Denom: req.Denom,
|
||||
})
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
ctx := sdk.UnwrapSDKContext(c)
|
||||
|
||||
metadata, found := k.GetDenomMetaData(ctx, req.Denom)
|
||||
if !found {
|
||||
return nil, status.Errorf(codes.NotFound, "client metadata for denom %s", req.Denom)
|
||||
}
|
||||
|
||||
return &types.QueryDenomMetadataByQueryStringResponse{
|
||||
Metadata: metadata,
|
||||
}, nil
|
||||
return &types.QueryDenomMetadataByQueryStringResponse{Metadata: res.Metadata}, nil
|
||||
}
|
||||
|
||||
func (k BaseKeeper) DenomOwners(
|
||||
goCtx context.Context,
|
||||
ctx context.Context,
|
||||
req *types.QueryDenomOwnersRequest,
|
||||
) (*types.QueryDenomOwnersResponse, error) {
|
||||
if req == nil {
|
||||
@ -258,11 +252,11 @@ func (k BaseKeeper) DenomOwners(
|
||||
}
|
||||
|
||||
denomOwners, pageRes, err := query.CollectionPaginate(
|
||||
goCtx,
|
||||
ctx,
|
||||
k.Balances.Indexes.Denom,
|
||||
req.Pagination,
|
||||
func(key collections.Pair[string, sdk.AccAddress], value collections.NoValue) (*types.DenomOwner, error) {
|
||||
amt, err := k.Balances.Get(goCtx, collections.Join(key.K2(), req.Denom))
|
||||
amt, err := k.Balances.Get(ctx, collections.Join(key.K2(), req.Denom))
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
@ -306,3 +300,19 @@ func (k BaseKeeper) SendEnabled(goCtx context.Context, req *types.QuerySendEnabl
|
||||
|
||||
return resp, nil
|
||||
}
|
||||
|
||||
// DenomOwnersByQuery is identical to DenomOwner query, but receives denom values via query string.
|
||||
func (k BaseKeeper) DenomOwnersByQuery(ctx context.Context, req *types.QueryDenomOwnersByQueryRequest) (*types.QueryDenomOwnersByQueryResponse, error) {
|
||||
if req == nil {
|
||||
return nil, status.Errorf(codes.InvalidArgument, "empty request")
|
||||
}
|
||||
resp, err := k.DenomOwners(ctx, &types.QueryDenomOwnersRequest{
|
||||
Denom: req.Denom,
|
||||
Pagination: req.Pagination,
|
||||
})
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
return &types.QueryDenomOwnersByQueryResponse{DenomOwners: resp.DenomOwners, Pagination: resp.Pagination}, nil
|
||||
}
|
||||
|
||||
@ -805,3 +805,111 @@ func (suite *KeeperTestSuite) TestQuerySendEnabled() {
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
func (suite *KeeperTestSuite) TestGRPCDenomOwnersByQuery() {
|
||||
ctx := suite.ctx
|
||||
|
||||
keeper := suite.bankKeeper
|
||||
|
||||
suite.mockMintCoins(mintAcc)
|
||||
suite.Require().NoError(keeper.MintCoins(ctx, minttypes.ModuleName, initCoins))
|
||||
denom := "ibc/123123213123"
|
||||
newCoins := sdk.NewCoins(sdk.NewCoin(denom, initTokens))
|
||||
suite.mockMintCoins(mintAcc)
|
||||
suite.Require().NoError(keeper.MintCoins(ctx, minttypes.ModuleName, newCoins))
|
||||
|
||||
for i := 0; i < 10; i++ {
|
||||
addr := sdk.AccAddress(fmt.Sprintf("account-%d", i))
|
||||
|
||||
bal := sdk.NewCoins(sdk.NewCoin(
|
||||
sdk.DefaultBondDenom,
|
||||
sdk.TokensFromConsensusPower(initialPower/10, sdk.DefaultPowerReduction),
|
||||
))
|
||||
suite.mockSendCoinsFromModuleToAccount(mintAcc, addr)
|
||||
suite.Require().NoError(keeper.SendCoinsFromModuleToAccount(ctx, minttypes.ModuleName, addr, bal))
|
||||
}
|
||||
|
||||
testCases := map[string]struct {
|
||||
req *types.QueryDenomOwnersByQueryRequest
|
||||
expPass bool
|
||||
numAddrs int
|
||||
hasNext bool
|
||||
total uint64
|
||||
}{
|
||||
"empty request": {
|
||||
req: &types.QueryDenomOwnersByQueryRequest{},
|
||||
expPass: false,
|
||||
},
|
||||
"invalid denom": {
|
||||
req: &types.QueryDenomOwnersByQueryRequest{
|
||||
Denom: "foo",
|
||||
},
|
||||
expPass: true,
|
||||
numAddrs: 0,
|
||||
hasNext: false,
|
||||
total: 0,
|
||||
},
|
||||
"valid request - page 1": {
|
||||
req: &types.QueryDenomOwnersByQueryRequest{
|
||||
Denom: sdk.DefaultBondDenom,
|
||||
Pagination: &query.PageRequest{
|
||||
Limit: 6,
|
||||
CountTotal: true,
|
||||
},
|
||||
},
|
||||
expPass: true,
|
||||
numAddrs: 6,
|
||||
hasNext: true,
|
||||
total: 10,
|
||||
},
|
||||
"valid request - page 2": {
|
||||
req: &types.QueryDenomOwnersByQueryRequest{
|
||||
Denom: sdk.DefaultBondDenom,
|
||||
Pagination: &query.PageRequest{
|
||||
Offset: 6,
|
||||
Limit: 10,
|
||||
CountTotal: true,
|
||||
},
|
||||
},
|
||||
expPass: true,
|
||||
numAddrs: 4,
|
||||
hasNext: false,
|
||||
total: 10,
|
||||
},
|
||||
"valid request for query": {
|
||||
req: &types.QueryDenomOwnersByQueryRequest{
|
||||
Denom: denom,
|
||||
Pagination: &query.PageRequest{
|
||||
Limit: 6,
|
||||
CountTotal: true,
|
||||
},
|
||||
},
|
||||
expPass: true,
|
||||
numAddrs: 1,
|
||||
hasNext: false,
|
||||
total: 1,
|
||||
},
|
||||
}
|
||||
|
||||
for name, tc := range testCases {
|
||||
suite.Run(name, func() {
|
||||
resp, err := suite.queryClient.DenomOwnersByQuery(gocontext.Background(), tc.req)
|
||||
if tc.expPass {
|
||||
suite.NoError(err)
|
||||
suite.NotNil(resp)
|
||||
suite.Len(resp.DenomOwners, tc.numAddrs)
|
||||
suite.Equal(tc.total, resp.Pagination.Total)
|
||||
|
||||
if tc.hasNext {
|
||||
suite.NotNil(resp.Pagination.NextKey)
|
||||
} else {
|
||||
suite.Nil(resp.Pagination.NextKey)
|
||||
}
|
||||
} else {
|
||||
suite.Require().Error(err)
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
suite.Require().True(true)
|
||||
}
|
||||
|
||||
@ -1157,6 +1157,121 @@ func (m *QueryDenomOwnersResponse) GetPagination() *query.PageResponse {
|
||||
return nil
|
||||
}
|
||||
|
||||
// QueryDenomOwnersByQueryRequest defines the request type for the DenomOwnersByQuery RPC query,
|
||||
// which queries for a paginated set of all account holders of a particular
|
||||
// denomination.
|
||||
//
|
||||
// Since: cosmos-sdk 0.50.3
|
||||
type QueryDenomOwnersByQueryRequest struct {
|
||||
// denom defines the coin denomination to query all account holders for.
|
||||
Denom string `protobuf:"bytes,1,opt,name=denom,proto3" json:"denom,omitempty"`
|
||||
// pagination defines an optional pagination for the request.
|
||||
Pagination *query.PageRequest `protobuf:"bytes,2,opt,name=pagination,proto3" json:"pagination,omitempty"`
|
||||
}
|
||||
|
||||
func (m *QueryDenomOwnersByQueryRequest) Reset() { *m = QueryDenomOwnersByQueryRequest{} }
|
||||
func (m *QueryDenomOwnersByQueryRequest) String() string { return proto.CompactTextString(m) }
|
||||
func (*QueryDenomOwnersByQueryRequest) ProtoMessage() {}
|
||||
func (*QueryDenomOwnersByQueryRequest) Descriptor() ([]byte, []int) {
|
||||
return fileDescriptor_9c6fc1939682df13, []int{23}
|
||||
}
|
||||
func (m *QueryDenomOwnersByQueryRequest) XXX_Unmarshal(b []byte) error {
|
||||
return m.Unmarshal(b)
|
||||
}
|
||||
func (m *QueryDenomOwnersByQueryRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
|
||||
if deterministic {
|
||||
return xxx_messageInfo_QueryDenomOwnersByQueryRequest.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 *QueryDenomOwnersByQueryRequest) XXX_Merge(src proto.Message) {
|
||||
xxx_messageInfo_QueryDenomOwnersByQueryRequest.Merge(m, src)
|
||||
}
|
||||
func (m *QueryDenomOwnersByQueryRequest) XXX_Size() int {
|
||||
return m.Size()
|
||||
}
|
||||
func (m *QueryDenomOwnersByQueryRequest) XXX_DiscardUnknown() {
|
||||
xxx_messageInfo_QueryDenomOwnersByQueryRequest.DiscardUnknown(m)
|
||||
}
|
||||
|
||||
var xxx_messageInfo_QueryDenomOwnersByQueryRequest proto.InternalMessageInfo
|
||||
|
||||
func (m *QueryDenomOwnersByQueryRequest) GetDenom() string {
|
||||
if m != nil {
|
||||
return m.Denom
|
||||
}
|
||||
return ""
|
||||
}
|
||||
|
||||
func (m *QueryDenomOwnersByQueryRequest) GetPagination() *query.PageRequest {
|
||||
if m != nil {
|
||||
return m.Pagination
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
// QueryDenomOwnersByQueryResponse defines the RPC response of a DenomOwnersByQuery RPC query.
|
||||
//
|
||||
// Since: cosmos-sdk 0.50.3
|
||||
type QueryDenomOwnersByQueryResponse struct {
|
||||
DenomOwners []*DenomOwner `protobuf:"bytes,1,rep,name=denom_owners,json=denomOwners,proto3" json:"denom_owners,omitempty"`
|
||||
// pagination defines the pagination in the response.
|
||||
Pagination *query.PageResponse `protobuf:"bytes,2,opt,name=pagination,proto3" json:"pagination,omitempty"`
|
||||
}
|
||||
|
||||
func (m *QueryDenomOwnersByQueryResponse) Reset() { *m = QueryDenomOwnersByQueryResponse{} }
|
||||
func (m *QueryDenomOwnersByQueryResponse) String() string { return proto.CompactTextString(m) }
|
||||
func (*QueryDenomOwnersByQueryResponse) ProtoMessage() {}
|
||||
func (*QueryDenomOwnersByQueryResponse) Descriptor() ([]byte, []int) {
|
||||
return fileDescriptor_9c6fc1939682df13, []int{24}
|
||||
}
|
||||
func (m *QueryDenomOwnersByQueryResponse) XXX_Unmarshal(b []byte) error {
|
||||
return m.Unmarshal(b)
|
||||
}
|
||||
func (m *QueryDenomOwnersByQueryResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
|
||||
if deterministic {
|
||||
return xxx_messageInfo_QueryDenomOwnersByQueryResponse.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 *QueryDenomOwnersByQueryResponse) XXX_Merge(src proto.Message) {
|
||||
xxx_messageInfo_QueryDenomOwnersByQueryResponse.Merge(m, src)
|
||||
}
|
||||
func (m *QueryDenomOwnersByQueryResponse) XXX_Size() int {
|
||||
return m.Size()
|
||||
}
|
||||
func (m *QueryDenomOwnersByQueryResponse) XXX_DiscardUnknown() {
|
||||
xxx_messageInfo_QueryDenomOwnersByQueryResponse.DiscardUnknown(m)
|
||||
}
|
||||
|
||||
var xxx_messageInfo_QueryDenomOwnersByQueryResponse proto.InternalMessageInfo
|
||||
|
||||
func (m *QueryDenomOwnersByQueryResponse) GetDenomOwners() []*DenomOwner {
|
||||
if m != nil {
|
||||
return m.DenomOwners
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func (m *QueryDenomOwnersByQueryResponse) GetPagination() *query.PageResponse {
|
||||
if m != nil {
|
||||
return m.Pagination
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
// QuerySendEnabledRequest defines the RPC request for looking up SendEnabled entries.
|
||||
//
|
||||
// Since: cosmos-sdk 0.47
|
||||
@ -1172,7 +1287,7 @@ func (m *QuerySendEnabledRequest) Reset() { *m = QuerySendEnabledRequest
|
||||
func (m *QuerySendEnabledRequest) String() string { return proto.CompactTextString(m) }
|
||||
func (*QuerySendEnabledRequest) ProtoMessage() {}
|
||||
func (*QuerySendEnabledRequest) Descriptor() ([]byte, []int) {
|
||||
return fileDescriptor_9c6fc1939682df13, []int{23}
|
||||
return fileDescriptor_9c6fc1939682df13, []int{25}
|
||||
}
|
||||
func (m *QuerySendEnabledRequest) XXX_Unmarshal(b []byte) error {
|
||||
return m.Unmarshal(b)
|
||||
@ -1229,7 +1344,7 @@ func (m *QuerySendEnabledResponse) Reset() { *m = QuerySendEnabledRespon
|
||||
func (m *QuerySendEnabledResponse) String() string { return proto.CompactTextString(m) }
|
||||
func (*QuerySendEnabledResponse) ProtoMessage() {}
|
||||
func (*QuerySendEnabledResponse) Descriptor() ([]byte, []int) {
|
||||
return fileDescriptor_9c6fc1939682df13, []int{24}
|
||||
return fileDescriptor_9c6fc1939682df13, []int{26}
|
||||
}
|
||||
func (m *QuerySendEnabledResponse) XXX_Unmarshal(b []byte) error {
|
||||
return m.Unmarshal(b)
|
||||
@ -1296,6 +1411,8 @@ func init() {
|
||||
proto.RegisterType((*QueryDenomOwnersRequest)(nil), "cosmos.bank.v1beta1.QueryDenomOwnersRequest")
|
||||
proto.RegisterType((*DenomOwner)(nil), "cosmos.bank.v1beta1.DenomOwner")
|
||||
proto.RegisterType((*QueryDenomOwnersResponse)(nil), "cosmos.bank.v1beta1.QueryDenomOwnersResponse")
|
||||
proto.RegisterType((*QueryDenomOwnersByQueryRequest)(nil), "cosmos.bank.v1beta1.QueryDenomOwnersByQueryRequest")
|
||||
proto.RegisterType((*QueryDenomOwnersByQueryResponse)(nil), "cosmos.bank.v1beta1.QueryDenomOwnersByQueryResponse")
|
||||
proto.RegisterType((*QuerySendEnabledRequest)(nil), "cosmos.bank.v1beta1.QuerySendEnabledRequest")
|
||||
proto.RegisterType((*QuerySendEnabledResponse)(nil), "cosmos.bank.v1beta1.QuerySendEnabledResponse")
|
||||
}
|
||||
@ -1303,88 +1420,91 @@ func init() {
|
||||
func init() { proto.RegisterFile("cosmos/bank/v1beta1/query.proto", fileDescriptor_9c6fc1939682df13) }
|
||||
|
||||
var fileDescriptor_9c6fc1939682df13 = []byte{
|
||||
// 1283 bytes of a gzipped FileDescriptorProto
|
||||
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xdc, 0x58, 0xcf, 0x6f, 0x1b, 0x45,
|
||||
0x14, 0xf6, 0xb4, 0xaa, 0x9b, 0x3c, 0xa7, 0x88, 0x4e, 0x03, 0x4d, 0x37, 0xc4, 0x0e, 0x9b, 0x2a,
|
||||
0x71, 0x42, 0xb2, 0xdb, 0x38, 0x55, 0x45, 0x4b, 0x88, 0x14, 0xa7, 0xa4, 0x07, 0x84, 0x5a, 0x1c,
|
||||
0x7a, 0x81, 0x83, 0xb5, 0xf6, 0x0e, 0xc6, 0x8a, 0xbd, 0xeb, 0x7a, 0x36, 0x2d, 0x56, 0x15, 0x09,
|
||||
0x21, 0x21, 0xf5, 0x06, 0x12, 0x3d, 0x55, 0x42, 0x8a, 0x90, 0x80, 0x0a, 0x24, 0xd4, 0x03, 0x47,
|
||||
0x8e, 0x1c, 0x7a, 0xac, 0xe0, 0x00, 0xe2, 0x50, 0x50, 0x82, 0xd4, 0xfe, 0x19, 0xc8, 0xf3, 0xc3,
|
||||
0xbb, 0x6b, 0x8f, 0x37, 0x9b, 0xd4, 0x20, 0xc4, 0xa5, 0xf5, 0xce, 0xbc, 0x37, 0xef, 0x7b, 0xdf,
|
||||
0x7b, 0xfb, 0xe6, 0xdb, 0x40, 0xa6, 0xec, 0xd2, 0xba, 0x4b, 0xcd, 0x92, 0xe5, 0x6c, 0x9a, 0x37,
|
||||
0x17, 0x4b, 0xc4, 0xb3, 0x16, 0xcd, 0x1b, 0x5b, 0xa4, 0xd9, 0x32, 0x1a, 0x4d, 0xd7, 0x73, 0xf1,
|
||||
0x29, 0x6e, 0x60, 0xb4, 0x0d, 0x0c, 0x61, 0xa0, 0xcd, 0x75, 0xbc, 0x28, 0xe1, 0xd6, 0x1d, 0xdf,
|
||||
0x86, 0x55, 0xa9, 0x3a, 0x96, 0x57, 0x75, 0x1d, 0x7e, 0x80, 0x36, 0x5a, 0x71, 0x2b, 0x2e, 0xfb,
|
||||
0x69, 0xb6, 0x7f, 0x89, 0xd5, 0x97, 0x2a, 0xae, 0x5b, 0xa9, 0x11, 0xd3, 0x6a, 0x54, 0x4d, 0xcb,
|
||||
0x71, 0x5c, 0x8f, 0xb9, 0x50, 0xb1, 0x9b, 0x0e, 0x9e, 0x2f, 0x4f, 0x2e, 0xbb, 0x55, 0xa7, 0x67,
|
||||
0x3f, 0x80, 0x9a, 0x21, 0xe4, 0xfb, 0x67, 0xf8, 0x7e, 0x91, 0x87, 0x15, 0x19, 0xf0, 0xad, 0x71,
|
||||
0xe1, 0x2a, 0x51, 0x07, 0x93, 0xd5, 0x4e, 0x5a, 0xf5, 0xaa, 0xe3, 0x9a, 0xec, 0x5f, 0xbe, 0xa4,
|
||||
0x57, 0xe1, 0xd4, 0xdb, 0x6d, 0x8b, 0xbc, 0x55, 0xb3, 0x9c, 0x32, 0x29, 0x90, 0x1b, 0x5b, 0x84,
|
||||
0x7a, 0x38, 0x07, 0xc7, 0x2d, 0xdb, 0x6e, 0x12, 0x4a, 0xc7, 0xd0, 0x24, 0xca, 0x0e, 0xe7, 0xc7,
|
||||
0x7e, 0xfe, 0x61, 0x61, 0x54, 0x44, 0x5a, 0xe5, 0x3b, 0x1b, 0x5e, 0xb3, 0xea, 0x54, 0x0a, 0xd2,
|
||||
0x10, 0x8f, 0xc2, 0x31, 0x9b, 0x38, 0x6e, 0x7d, 0xec, 0x48, 0xdb, 0xa3, 0xc0, 0x1f, 0x2e, 0x0d,
|
||||
0xdd, 0xd9, 0xc9, 0x24, 0x9e, 0xee, 0x64, 0x12, 0xfa, 0x9b, 0x30, 0x1a, 0x0e, 0x45, 0x1b, 0xae,
|
||||
0x43, 0x09, 0x5e, 0x82, 0xe3, 0x25, 0xbe, 0xc4, 0x62, 0xa5, 0x72, 0x67, 0x8c, 0x4e, 0x51, 0x28,
|
||||
0x91, 0x45, 0x31, 0xd6, 0xdc, 0xaa, 0x53, 0x90, 0x96, 0xfa, 0x4f, 0x08, 0x4e, 0xb3, 0xd3, 0x56,
|
||||
0x6b, 0x35, 0x71, 0x20, 0x7d, 0x16, 0xf0, 0xeb, 0x00, 0x7e, 0x69, 0x59, 0x06, 0xa9, 0xdc, 0x74,
|
||||
0x08, 0x07, 0x27, 0x52, 0xa2, 0xb9, 0x66, 0x55, 0x24, 0x59, 0x85, 0x80, 0x27, 0x9e, 0x82, 0x13,
|
||||
0x4d, 0x42, 0xdd, 0xda, 0x4d, 0x52, 0xe4, 0x64, 0x1c, 0x9d, 0x44, 0xd9, 0xa1, 0xc2, 0x88, 0x58,
|
||||
0xbc, 0xdc, 0xc5, 0xc9, 0x2e, 0x82, 0xb1, 0xde, 0x34, 0x04, 0x31, 0xdb, 0x30, 0x24, 0xd2, 0x6d,
|
||||
0x27, 0x72, 0x34, 0x92, 0x99, 0xfc, 0xfa, 0xc3, 0xc7, 0x99, 0xc4, 0xb7, 0x7f, 0x64, 0xb2, 0x95,
|
||||
0xaa, 0xf7, 0xc1, 0x56, 0xc9, 0x28, 0xbb, 0x75, 0xd1, 0x19, 0xe2, 0xbf, 0x05, 0x6a, 0x6f, 0x9a,
|
||||
0x5e, 0xab, 0x41, 0x28, 0x73, 0xa0, 0xf7, 0x9e, 0x3c, 0x98, 0x1b, 0xa9, 0x91, 0x8a, 0x55, 0x6e,
|
||||
0x15, 0xdb, 0xbd, 0x47, 0xef, 0x3f, 0x79, 0x30, 0x87, 0x0a, 0x9d, 0x90, 0xf8, 0x8a, 0x82, 0x92,
|
||||
0x99, 0x7d, 0x29, 0xe1, 0xd8, 0x83, 0x9c, 0xe8, 0x5f, 0x21, 0x98, 0x60, 0x49, 0x6e, 0x34, 0x88,
|
||||
0x63, 0x5b, 0xa5, 0x1a, 0xf9, 0x0f, 0x55, 0x2c, 0x50, 0x8c, 0xa7, 0x08, 0xd2, 0xfd, 0x70, 0xfe,
|
||||
0xcf, 0x4a, 0xd2, 0x82, 0x29, 0x65, 0xa6, 0xf9, 0x16, 0xeb, 0xd0, 0x7f, 0x72, 0x0c, 0xbc, 0x07,
|
||||
0x67, 0xa3, 0x43, 0x3f, 0xcb, 0x58, 0xd8, 0x14, 0x53, 0xe1, 0x1d, 0xd7, 0xb3, 0x6a, 0x1b, 0x5b,
|
||||
0x8d, 0x46, 0xad, 0x25, 0x73, 0x09, 0xf7, 0x0b, 0x1a, 0x40, 0xbf, 0x3c, 0x96, 0x2f, 0x6f, 0x28,
|
||||
0x9a, 0x80, 0xdf, 0x82, 0x24, 0x65, 0x2b, 0xff, 0x5e, 0x9f, 0x88, 0x80, 0x83, 0xeb, 0x92, 0x79,
|
||||
0x31, 0xb1, 0x79, 0x6a, 0x57, 0xdf, 0x97, 0x54, 0x76, 0x4a, 0x8c, 0x02, 0x25, 0xd6, 0xaf, 0xc3,
|
||||
0x0b, 0x5d, 0xd6, 0x82, 0x8a, 0x65, 0x48, 0x5a, 0x75, 0x77, 0xcb, 0xf1, 0xf6, 0x2d, 0x64, 0x7e,
|
||||
0xb8, 0x4d, 0x85, 0xc8, 0x86, 0xfb, 0xe8, 0xa3, 0x80, 0xd9, 0xb1, 0xd7, 0xac, 0xa6, 0x55, 0x97,
|
||||
0x13, 0x43, 0xbf, 0x2e, 0xee, 0x2d, 0xb9, 0x2a, 0x42, 0xad, 0x40, 0xb2, 0xc1, 0x56, 0x44, 0xa8,
|
||||
0x71, 0x43, 0x71, 0xbf, 0x1b, 0xdc, 0x29, 0x14, 0x8c, 0x7b, 0xe9, 0x36, 0x68, 0xec, 0x58, 0xd6,
|
||||
0x8a, 0xf4, 0x2d, 0xe2, 0x59, 0xb6, 0xe5, 0x59, 0x03, 0x6e, 0x21, 0xfd, 0x7b, 0x04, 0xe3, 0xca,
|
||||
0x30, 0x22, 0x8b, 0x75, 0x18, 0xae, 0x8b, 0x35, 0x39, 0x66, 0x26, 0x94, 0x89, 0x48, 0xcf, 0x60,
|
||||
0x2a, 0xbe, 0xeb, 0xe0, 0x1a, 0x61, 0x11, 0xce, 0xf8, 0x78, 0xbb, 0x59, 0x51, 0x77, 0x43, 0x29,
|
||||
0xc8, 0x64, 0x4f, 0x86, 0x97, 0x61, 0x48, 0xc2, 0x14, 0x3c, 0xc6, 0x4f, 0xb0, 0xe3, 0xa9, 0xaf,
|
||||
0xc0, 0x74, 0x6f, 0x8c, 0x7c, 0x8b, 0x77, 0x21, 0x1f, 0x4b, 0x91, 0x18, 0x5d, 0x98, 0xd9, 0xd7,
|
||||
0x7f, 0xa0, 0x80, 0x6f, 0x89, 0xf1, 0xc4, 0x02, 0x5e, 0xbd, 0xe5, 0x90, 0x26, 0x8d, 0x44, 0x38,
|
||||
0xa8, 0x4b, 0x4e, 0xff, 0x08, 0x01, 0xf8, 0x41, 0x0f, 0x35, 0xd7, 0x57, 0xfc, 0x79, 0x7c, 0xe4,
|
||||
0x00, 0xaf, 0x71, 0x67, 0x34, 0x7f, 0x23, 0xa7, 0x65, 0x28, 0x79, 0x41, 0x6f, 0x1e, 0x46, 0x58,
|
||||
0xc2, 0x45, 0x97, 0xad, 0x8b, 0xa6, 0xcf, 0x28, 0x29, 0xf6, 0xfd, 0x0b, 0x29, 0xdb, 0x3f, 0x6b,
|
||||
0x90, 0x97, 0x23, 0xaf, 0xd2, 0x06, 0x71, 0xec, 0x37, 0x9c, 0xf6, 0x15, 0x65, 0xcb, 0x2a, 0xbd,
|
||||
0x08, 0x49, 0x16, 0x92, 0x23, 0x1c, 0x2e, 0x88, 0xa7, 0xae, 0x3a, 0x95, 0x0f, 0x5d, 0xa7, 0xfb,
|
||||
0x92, 0xa4, 0x50, 0x6c, 0x41, 0xd2, 0x1a, 0x8c, 0x50, 0xe2, 0xd8, 0x45, 0xc2, 0xd7, 0x05, 0x49,
|
||||
0x93, 0x4a, 0x92, 0x82, 0xfe, 0x29, 0xea, 0x3f, 0x74, 0xb1, 0x54, 0x3e, 0x34, 0x4b, 0xb9, 0x4f,
|
||||
0x9f, 0x87, 0x63, 0x0c, 0x2a, 0xfe, 0x02, 0xc1, 0x71, 0x71, 0x89, 0xe3, 0xac, 0x12, 0x8d, 0xe2,
|
||||
0x13, 0x43, 0x9b, 0x8d, 0x61, 0xc9, 0xc3, 0xea, 0xaf, 0xdf, 0x69, 0xb7, 0xd2, 0xc7, 0xbf, 0xfc,
|
||||
0xf5, 0xf9, 0x91, 0x1c, 0x3e, 0x67, 0xaa, 0xbf, 0x8e, 0xb8, 0x44, 0x32, 0x6f, 0x8b, 0x7e, 0xdd,
|
||||
0x36, 0x4b, 0x2d, 0x2e, 0xc1, 0xf1, 0x0e, 0x82, 0x54, 0x40, 0x5f, 0xe3, 0xf9, 0xfe, 0x91, 0x7b,
|
||||
0xbf, 0x26, 0xb4, 0x85, 0x98, 0xd6, 0x02, 0xeb, 0x79, 0x1f, 0xeb, 0x2c, 0x9e, 0x89, 0x89, 0x15,
|
||||
0xff, 0x88, 0xe0, 0x64, 0x8f, 0xea, 0xc4, 0xb9, 0xfe, 0xa1, 0xfb, 0x49, 0x69, 0x6d, 0xe9, 0x40,
|
||||
0x3e, 0x02, 0xf4, 0x8a, 0x0f, 0x7a, 0x09, 0x2f, 0x2a, 0x41, 0x53, 0xe9, 0x5c, 0x54, 0xc0, 0xff,
|
||||
0x15, 0xc1, 0xe9, 0x3e, 0x7a, 0x0e, 0xbf, 0x1a, 0x1f, 0x50, 0x58, 0x7d, 0x6a, 0x17, 0x0f, 0xe1,
|
||||
0x29, 0x12, 0xba, 0xe2, 0x27, 0xb4, 0x8c, 0x2f, 0x1d, 0x38, 0x21, 0xbf, 0x77, 0xee, 0x22, 0x48,
|
||||
0x05, 0xe4, 0x5d, 0x54, 0xef, 0xf4, 0x6a, 0xce, 0xa8, 0xde, 0x51, 0x68, 0x46, 0x3d, 0xeb, 0xa3,
|
||||
0x9e, 0xc0, 0xe3, 0x6a, 0xd4, 0x1c, 0xc6, 0x5d, 0x04, 0x43, 0x52, 0x67, 0xe1, 0x88, 0x37, 0xa9,
|
||||
0x4b, 0xb9, 0x69, 0x73, 0x71, 0x4c, 0x05, 0x9a, 0x45, 0x1f, 0xcd, 0x34, 0x3e, 0x1b, 0x81, 0xc6,
|
||||
0x67, 0xeb, 0x13, 0x04, 0x49, 0x2e, 0xae, 0xf0, 0x4c, 0xff, 0x48, 0x21, 0x25, 0xa7, 0x65, 0xf7,
|
||||
0x37, 0x8c, 0x4f, 0x0f, 0x97, 0x71, 0xf8, 0x3b, 0x04, 0x27, 0x42, 0x97, 0x3a, 0x36, 0xfa, 0x47,
|
||||
0x51, 0x89, 0x1a, 0xcd, 0x8c, 0x6d, 0x2f, 0xc0, 0x5d, 0xf4, 0xc1, 0x19, 0x78, 0x5e, 0x09, 0x8e,
|
||||
0xdf, 0x15, 0x45, 0xa9, 0x06, 0xcc, 0xdb, 0x6c, 0x61, 0x1b, 0xff, 0x8e, 0x40, 0xeb, 0x2f, 0x41,
|
||||
0xf0, 0x6b, 0x31, 0xa1, 0xa8, 0x84, 0x8f, 0xb6, 0x7c, 0x38, 0x67, 0x91, 0xd4, 0xaa, 0x9f, 0xd4,
|
||||
0x05, 0x7c, 0x3e, 0x4e, 0x52, 0xc5, 0x52, 0xab, 0xc8, 0x2e, 0x90, 0x22, 0xe5, 0xe8, 0xbf, 0x46,
|
||||
0xf0, 0x5c, 0x58, 0xe6, 0xe2, 0xfd, 0xb8, 0xed, 0xd6, 0xdd, 0xda, 0xb9, 0xf8, 0x0e, 0xf1, 0x7b,
|
||||
0xb7, 0x0b, 0x38, 0xfe, 0x12, 0x41, 0x2a, 0x20, 0x4d, 0xa2, 0xde, 0xf4, 0x5e, 0xf9, 0x16, 0xf5,
|
||||
0xa6, 0x2b, 0xf4, 0x8e, 0x7e, 0xc1, 0xc7, 0xf7, 0x0a, 0x9e, 0xed, 0x8f, 0x4f, 0xe8, 0xa1, 0x4e,
|
||||
0xab, 0xdc, 0x43, 0x90, 0x0a, 0x5c, 0xed, 0x51, 0x20, 0x7b, 0xd5, 0x4b, 0x14, 0x48, 0x85, 0xde,
|
||||
0xd0, 0x0d, 0x1f, 0xe4, 0x14, 0x7e, 0x59, 0x3d, 0x00, 0x02, 0x7a, 0x24, 0xbf, 0xf6, 0x70, 0x37,
|
||||
0x8d, 0x1e, 0xed, 0xa6, 0xd1, 0x9f, 0xbb, 0x69, 0xf4, 0xd9, 0x5e, 0x3a, 0xf1, 0x68, 0x2f, 0x9d,
|
||||
0xf8, 0x6d, 0x2f, 0x9d, 0x78, 0x77, 0x36, 0xf2, 0xcb, 0xf6, 0x43, 0x7e, 0x26, 0xfb, 0xc0, 0x2d,
|
||||
0x25, 0xd9, 0xdf, 0x25, 0x97, 0xfe, 0x0e, 0x00, 0x00, 0xff, 0xff, 0xda, 0xbd, 0xa1, 0x0d, 0xba,
|
||||
0x15, 0x00, 0x00,
|
||||
// 1336 bytes of a gzipped FileDescriptorProto
|
||||
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xdc, 0x58, 0x41, 0x6f, 0x1b, 0x45,
|
||||
0x14, 0xf6, 0xa4, 0xaa, 0x93, 0x3c, 0xa7, 0x48, 0x99, 0x06, 0x9a, 0x6c, 0x88, 0x1d, 0x36, 0x55,
|
||||
0xe2, 0x84, 0x64, 0xb7, 0x71, 0xa2, 0x42, 0x4b, 0x88, 0x14, 0xa7, 0xa4, 0x07, 0x84, 0x5a, 0x1c,
|
||||
0x7a, 0x81, 0x83, 0xb5, 0xf6, 0x0e, 0xc6, 0x8a, 0xbd, 0xeb, 0x7a, 0x36, 0x2d, 0xab, 0x2a, 0x08,
|
||||
0x21, 0x21, 0xf5, 0x88, 0x44, 0x4f, 0x95, 0x90, 0x22, 0x24, 0xa0, 0x02, 0xa9, 0xea, 0x81, 0x03,
|
||||
0x07, 0x8e, 0x1c, 0x2a, 0x4e, 0x15, 0x1c, 0x40, 0x1c, 0x0a, 0x4a, 0x90, 0xda, 0x9f, 0x81, 0x3c,
|
||||
0x33, 0xeb, 0xdd, 0xb5, 0xd7, 0xeb, 0x8d, 0x6b, 0xaa, 0xaa, 0x97, 0xc4, 0x9e, 0x79, 0x6f, 0xde,
|
||||
0xf7, 0xbe, 0x79, 0xf3, 0xe6, 0x1b, 0x43, 0xaa, 0x68, 0xd2, 0xaa, 0x49, 0xd5, 0x82, 0x66, 0xec,
|
||||
0xa8, 0xd7, 0x96, 0x0b, 0xc4, 0xd2, 0x96, 0xd5, 0xab, 0xbb, 0xa4, 0x6e, 0x2b, 0xb5, 0xba, 0x69,
|
||||
0x99, 0xf8, 0x24, 0x37, 0x50, 0x1a, 0x06, 0x8a, 0x30, 0x90, 0x16, 0x9a, 0x5e, 0x94, 0x70, 0xeb,
|
||||
0xa6, 0x6f, 0x4d, 0x2b, 0x95, 0x0d, 0xcd, 0x2a, 0x9b, 0x06, 0x5f, 0x40, 0x1a, 0x2b, 0x99, 0x25,
|
||||
0x93, 0x7d, 0x54, 0x1b, 0x9f, 0xc4, 0xe8, 0xcb, 0x25, 0xd3, 0x2c, 0x55, 0x88, 0xaa, 0xd5, 0xca,
|
||||
0xaa, 0x66, 0x18, 0xa6, 0xc5, 0x5c, 0xa8, 0x98, 0x4d, 0x7a, 0xd7, 0x77, 0x56, 0x2e, 0x9a, 0x65,
|
||||
0xa3, 0x6d, 0xde, 0x83, 0x9a, 0x21, 0xe4, 0xf3, 0x13, 0x7c, 0x3e, 0xcf, 0xc3, 0x8a, 0x0c, 0xf8,
|
||||
0xd4, 0xa4, 0x70, 0x75, 0x50, 0x7b, 0x93, 0x95, 0x46, 0xb5, 0x6a, 0xd9, 0x30, 0x55, 0xf6, 0x97,
|
||||
0x0f, 0xc9, 0x65, 0x38, 0xf9, 0x6e, 0xc3, 0x22, 0xab, 0x55, 0x34, 0xa3, 0x48, 0x72, 0xe4, 0xea,
|
||||
0x2e, 0xa1, 0x16, 0xce, 0xc0, 0xa0, 0xa6, 0xeb, 0x75, 0x42, 0xe9, 0x38, 0x9a, 0x46, 0xe9, 0xe1,
|
||||
0xec, 0xf8, 0x6f, 0x3f, 0x2e, 0x8d, 0x89, 0x48, 0x1b, 0x7c, 0x66, 0xdb, 0xaa, 0x97, 0x8d, 0x52,
|
||||
0xce, 0x31, 0xc4, 0x63, 0x70, 0x5c, 0x27, 0x86, 0x59, 0x1d, 0x1f, 0x68, 0x78, 0xe4, 0xf8, 0x97,
|
||||
0xf3, 0x43, 0x37, 0xf7, 0x53, 0xb1, 0xc7, 0xfb, 0xa9, 0x98, 0xfc, 0x36, 0x8c, 0xf9, 0x43, 0xd1,
|
||||
0x9a, 0x69, 0x50, 0x82, 0x57, 0x60, 0xb0, 0xc0, 0x87, 0x58, 0xac, 0x44, 0x66, 0x42, 0x69, 0x6e,
|
||||
0x0a, 0x25, 0xce, 0xa6, 0x28, 0x9b, 0x66, 0xd9, 0xc8, 0x39, 0x96, 0xf2, 0x2f, 0x08, 0x4e, 0xb1,
|
||||
0xd5, 0x36, 0x2a, 0x15, 0xb1, 0x20, 0x7d, 0x12, 0xf0, 0x5b, 0x00, 0xee, 0xd6, 0xb2, 0x0c, 0x12,
|
||||
0x99, 0x59, 0x1f, 0x0e, 0x4e, 0xa4, 0x83, 0xe6, 0xb2, 0x56, 0x72, 0xc8, 0xca, 0x79, 0x3c, 0xf1,
|
||||
0x0c, 0x9c, 0xa8, 0x13, 0x6a, 0x56, 0xae, 0x91, 0x3c, 0x27, 0xe3, 0xd8, 0x34, 0x4a, 0x0f, 0xe5,
|
||||
0x46, 0xc4, 0xe0, 0x85, 0x16, 0x4e, 0x0e, 0x10, 0x8c, 0xb7, 0xa7, 0x21, 0x88, 0xd9, 0x83, 0x21,
|
||||
0x91, 0x6e, 0x23, 0x91, 0x63, 0xa1, 0xcc, 0x64, 0xb7, 0xee, 0x3f, 0x4c, 0xc5, 0xbe, 0xff, 0x3b,
|
||||
0x95, 0x2e, 0x95, 0xad, 0x8f, 0x76, 0x0b, 0x4a, 0xd1, 0xac, 0x8a, 0xca, 0x10, 0xff, 0x96, 0xa8,
|
||||
0xbe, 0xa3, 0x5a, 0x76, 0x8d, 0x50, 0xe6, 0x40, 0x6f, 0x3f, 0xba, 0xb7, 0x30, 0x52, 0x21, 0x25,
|
||||
0xad, 0x68, 0xe7, 0x1b, 0xb5, 0x47, 0xef, 0x3c, 0xba, 0xb7, 0x80, 0x72, 0xcd, 0x90, 0xf8, 0x62,
|
||||
0x00, 0x25, 0x73, 0x5d, 0x29, 0xe1, 0xd8, 0xbd, 0x9c, 0xc8, 0xdf, 0x20, 0x98, 0x62, 0x49, 0x6e,
|
||||
0xd7, 0x88, 0xa1, 0x6b, 0x85, 0x0a, 0x79, 0x86, 0x76, 0xcc, 0xb3, 0x19, 0x8f, 0x11, 0x24, 0x3b,
|
||||
0xe1, 0x7c, 0xce, 0xb6, 0xc4, 0x86, 0x99, 0xc0, 0x4c, 0xb3, 0x36, 0xab, 0xd0, 0xff, 0xb3, 0x0d,
|
||||
0x7c, 0x00, 0xa7, 0xc3, 0x43, 0x3f, 0x49, 0x5b, 0xd8, 0x11, 0x5d, 0xe1, 0x3d, 0xd3, 0xd2, 0x2a,
|
||||
0xdb, 0xbb, 0xb5, 0x5a, 0xc5, 0x76, 0x72, 0xf1, 0xd7, 0x0b, 0xea, 0x43, 0xbd, 0x3c, 0x74, 0x0e,
|
||||
0xaf, 0x2f, 0x9a, 0x80, 0x6f, 0x43, 0x9c, 0xb2, 0x91, 0xa7, 0x57, 0x27, 0x22, 0x60, 0xff, 0xaa,
|
||||
0x64, 0x51, 0x74, 0x6c, 0x9e, 0xda, 0xa5, 0x0f, 0x1d, 0x2a, 0x9b, 0x5b, 0x8c, 0x3c, 0x5b, 0x2c,
|
||||
0x5f, 0x81, 0x17, 0x5b, 0xac, 0x05, 0x15, 0x6b, 0x10, 0xd7, 0xaa, 0xe6, 0xae, 0x61, 0x75, 0xdd,
|
||||
0xc8, 0xec, 0x70, 0x83, 0x0a, 0x91, 0x0d, 0xf7, 0x91, 0xc7, 0x00, 0xb3, 0x65, 0x2f, 0x6b, 0x75,
|
||||
0xad, 0xea, 0x74, 0x0c, 0xf9, 0x8a, 0xb8, 0xb7, 0x9c, 0x51, 0x11, 0x6a, 0x1d, 0xe2, 0x35, 0x36,
|
||||
0x22, 0x42, 0x4d, 0x2a, 0x01, 0xf7, 0xbb, 0xc2, 0x9d, 0x7c, 0xc1, 0xb8, 0x97, 0xac, 0x83, 0xc4,
|
||||
0x96, 0x65, 0xa5, 0x48, 0xdf, 0x21, 0x96, 0xa6, 0x6b, 0x96, 0xd6, 0xe7, 0x12, 0x92, 0xef, 0x22,
|
||||
0x98, 0x0c, 0x0c, 0x23, 0xb2, 0xd8, 0x82, 0xe1, 0xaa, 0x18, 0x73, 0xda, 0xcc, 0x54, 0x60, 0x22,
|
||||
0x8e, 0xa7, 0x37, 0x15, 0xd7, 0xb5, 0x7f, 0x85, 0xb0, 0x0c, 0x13, 0x2e, 0xde, 0x56, 0x56, 0x82,
|
||||
0xab, 0xa1, 0xe0, 0x65, 0xb2, 0x2d, 0xc3, 0x0b, 0x30, 0xe4, 0xc0, 0x14, 0x3c, 0x46, 0x4f, 0xb0,
|
||||
0xe9, 0x29, 0xaf, 0xc3, 0x6c, 0x7b, 0x8c, 0xac, 0xcd, 0xab, 0x90, 0xb7, 0xa5, 0x50, 0x8c, 0x26,
|
||||
0xcc, 0x75, 0xf5, 0xef, 0x2b, 0xe0, 0xeb, 0xa2, 0x3d, 0xb1, 0x80, 0x97, 0xae, 0x1b, 0xa4, 0x4e,
|
||||
0x43, 0x11, 0xf6, 0xeb, 0x92, 0x93, 0x3f, 0x45, 0x00, 0x6e, 0xd0, 0x9e, 0xfa, 0xfa, 0xba, 0xdb,
|
||||
0x8f, 0x07, 0x8e, 0x70, 0x8c, 0x9b, 0xad, 0xf9, 0x3b, 0xa7, 0x5b, 0xfa, 0x92, 0x17, 0xf4, 0x66,
|
||||
0x61, 0x84, 0x25, 0x9c, 0x37, 0xd9, 0xb8, 0x28, 0xfa, 0x54, 0x20, 0xc5, 0xae, 0x7f, 0x2e, 0xa1,
|
||||
0xbb, 0x6b, 0xf5, 0xaf, 0xda, 0x3f, 0x11, 0x32, 0xc0, 0x03, 0x54, 0x14, 0xc5, 0xd3, 0xd9, 0xac,
|
||||
0xbb, 0x08, 0x52, 0x1d, 0x01, 0x3c, 0x8b, 0x84, 0xd9, 0xa2, 0xac, 0xb7, 0x89, 0xa1, 0xbf, 0x65,
|
||||
0x34, 0xee, 0x74, 0xdd, 0x61, 0xea, 0x25, 0x88, 0xb3, 0x90, 0x1c, 0xe1, 0x70, 0x4e, 0x7c, 0x6b,
|
||||
0xe1, 0xaa, 0xd8, 0x33, 0x57, 0x77, 0x9c, 0xaa, 0xf2, 0xc5, 0x16, 0x24, 0x6d, 0xc2, 0x08, 0x25,
|
||||
0x86, 0x9e, 0x27, 0x7c, 0x5c, 0x90, 0x34, 0x1d, 0x48, 0x92, 0xd7, 0x3f, 0x41, 0xdd, 0x2f, 0x2d,
|
||||
0x2c, 0x15, 0x7b, 0x66, 0x29, 0xf3, 0xeb, 0x28, 0x1c, 0x67, 0x50, 0xf1, 0x57, 0x08, 0x06, 0x85,
|
||||
0xea, 0xc1, 0xe9, 0x40, 0x34, 0x01, 0x6f, 0x32, 0x69, 0x3e, 0x82, 0x25, 0x0f, 0x2b, 0xbf, 0x79,
|
||||
0xb3, 0x71, 0xf6, 0x3e, 0xfb, 0xfd, 0xdf, 0x2f, 0x07, 0x32, 0xf8, 0x8c, 0x1a, 0xfc, 0x9c, 0xe4,
|
||||
0x9a, 0x52, 0xbd, 0x21, 0x0e, 0xf8, 0x9e, 0x5a, 0xb0, 0xf9, 0x9b, 0x05, 0xef, 0x23, 0x48, 0x78,
|
||||
0x1e, 0x24, 0x78, 0xb1, 0x73, 0xe4, 0xf6, 0xe7, 0x97, 0xb4, 0x14, 0xd1, 0x5a, 0x60, 0x5d, 0x75,
|
||||
0xb1, 0xce, 0xe3, 0xb9, 0x88, 0x58, 0xf1, 0xcf, 0x08, 0x46, 0xdb, 0x64, 0x3a, 0xce, 0x74, 0x0e,
|
||||
0xdd, 0xe9, 0xed, 0x21, 0xad, 0x1c, 0xc9, 0x47, 0x80, 0x5e, 0x77, 0x41, 0xaf, 0xe0, 0xe5, 0x40,
|
||||
0xd0, 0xd4, 0x71, 0xce, 0x07, 0xc0, 0xff, 0x03, 0xc1, 0xa9, 0x0e, 0x02, 0x18, 0xbf, 0x1e, 0x1d,
|
||||
0x90, 0x5f, 0xae, 0x4b, 0xe7, 0x7a, 0xf0, 0x14, 0x09, 0x5d, 0x74, 0x13, 0x5a, 0xc3, 0xe7, 0x8f,
|
||||
0x9c, 0x90, 0x5b, 0x3b, 0xb7, 0x10, 0x24, 0x3c, 0x7a, 0x38, 0xac, 0x76, 0xda, 0x45, 0x7a, 0x58,
|
||||
0xed, 0x04, 0x88, 0x6c, 0x39, 0xed, 0xa2, 0x9e, 0xc2, 0x93, 0xc1, 0xa8, 0x39, 0x8c, 0x5b, 0x08,
|
||||
0x86, 0x1c, 0x61, 0x8a, 0x43, 0x4e, 0x52, 0x8b, 0xd4, 0x95, 0x16, 0xa2, 0x98, 0x0a, 0x34, 0xcb,
|
||||
0x2e, 0x9a, 0x59, 0x7c, 0x3a, 0x04, 0x8d, 0xcb, 0xd6, 0xe7, 0x08, 0xe2, 0x5c, 0x8d, 0xe2, 0xb9,
|
||||
0xce, 0x91, 0x7c, 0xd2, 0x57, 0x4a, 0x77, 0x37, 0x8c, 0x4e, 0x0f, 0xd7, 0xbd, 0xf8, 0x07, 0x04,
|
||||
0x27, 0x7c, 0x2a, 0x08, 0x2b, 0x9d, 0xa3, 0x04, 0xa9, 0x40, 0x49, 0x8d, 0x6c, 0x2f, 0xc0, 0x9d,
|
||||
0x73, 0xc1, 0x29, 0x78, 0x31, 0x10, 0x1c, 0xbf, 0x2b, 0xf2, 0x8e, 0x7c, 0x52, 0x6f, 0xb0, 0x81,
|
||||
0x3d, 0xfc, 0x17, 0x02, 0xa9, 0xb3, 0x66, 0xc3, 0x6f, 0x44, 0x84, 0x12, 0xa4, 0x14, 0xa5, 0xb5,
|
||||
0xde, 0x9c, 0x45, 0x52, 0x1b, 0x6e, 0x52, 0x67, 0xf1, 0x6a, 0x94, 0xa4, 0xf2, 0x05, 0x3b, 0xcf,
|
||||
0x2e, 0x90, 0x3c, 0xe5, 0xe8, 0xbf, 0x45, 0xf0, 0x82, 0xff, 0x5d, 0x80, 0xbb, 0x71, 0xdb, 0xfa,
|
||||
0x50, 0x91, 0xce, 0x44, 0x77, 0x88, 0x5e, 0xbb, 0x2d, 0xc0, 0xf1, 0xd7, 0x08, 0x12, 0x1e, 0x85,
|
||||
0x12, 0x76, 0xd2, 0xdb, 0xf5, 0x6e, 0xd8, 0x49, 0x0f, 0x10, 0x88, 0xf2, 0x59, 0x17, 0xdf, 0xab,
|
||||
0x78, 0xbe, 0x33, 0x3e, 0xa1, 0x87, 0x9a, 0xa5, 0xf2, 0x13, 0x02, 0xdc, 0x2e, 0xa3, 0xf0, 0x4a,
|
||||
0xa4, 0xe8, 0x7e, 0xd5, 0x27, 0xad, 0x1e, 0xcd, 0x49, 0x20, 0x7f, 0xcd, 0x45, 0xbe, 0x88, 0x17,
|
||||
0xba, 0x22, 0x6f, 0xd6, 0x03, 0xbe, 0x8d, 0x20, 0xe1, 0x51, 0x25, 0x61, 0xfc, 0xb6, 0x0b, 0xaf,
|
||||
0x30, 0x7e, 0x03, 0xa4, 0x92, 0xac, 0xb8, 0x28, 0x67, 0xf0, 0x2b, 0xc1, 0xbd, 0xcb, 0x23, 0xa5,
|
||||
0xb2, 0x9b, 0xf7, 0x0f, 0x92, 0xe8, 0xc1, 0x41, 0x12, 0xfd, 0x73, 0x90, 0x44, 0x5f, 0x1c, 0x26,
|
||||
0x63, 0x0f, 0x0e, 0x93, 0xb1, 0x3f, 0x0f, 0x93, 0xb1, 0xf7, 0xe7, 0x43, 0x7f, 0xc5, 0xf8, 0x98,
|
||||
0xaf, 0xc9, 0x7e, 0xcc, 0x28, 0xc4, 0xd9, 0x6f, 0xd0, 0x2b, 0xff, 0x05, 0x00, 0x00, 0xff, 0xff,
|
||||
0x46, 0x5f, 0xc6, 0x98, 0xa6, 0x17, 0x00, 0x00,
|
||||
}
|
||||
|
||||
// Reference imports to suppress errors if they are not otherwise used.
|
||||
@ -1434,9 +1554,9 @@ type QueryClient interface {
|
||||
SupplyOf(ctx context.Context, in *QuerySupplyOfRequest, opts ...grpc.CallOption) (*QuerySupplyOfResponse, error)
|
||||
// Params queries the parameters of x/bank module.
|
||||
Params(ctx context.Context, in *QueryParamsRequest, opts ...grpc.CallOption) (*QueryParamsResponse, error)
|
||||
// DenomsMetadata queries the client metadata of a given coin denomination.
|
||||
// DenomMetadata queries the client metadata of a given coin denomination.
|
||||
DenomMetadata(ctx context.Context, in *QueryDenomMetadataRequest, opts ...grpc.CallOption) (*QueryDenomMetadataResponse, error)
|
||||
// DenomsMetadata queries the client metadata of a given coin denomination.
|
||||
// DenomMetadataByQueryString queries the client metadata of a given coin denomination.
|
||||
DenomMetadataByQueryString(ctx context.Context, in *QueryDenomMetadataByQueryStringRequest, opts ...grpc.CallOption) (*QueryDenomMetadataByQueryStringResponse, error)
|
||||
// DenomsMetadata queries the client metadata for all registered coin
|
||||
// denominations.
|
||||
@ -1449,6 +1569,11 @@ type QueryClient interface {
|
||||
//
|
||||
// Since: cosmos-sdk 0.46
|
||||
DenomOwners(ctx context.Context, in *QueryDenomOwnersRequest, opts ...grpc.CallOption) (*QueryDenomOwnersResponse, error)
|
||||
// DenomOwnersByQuery queries for all account addresses that own a particular token
|
||||
// denomination.
|
||||
//
|
||||
// Since: cosmos-sdk 0.50.3
|
||||
DenomOwnersByQuery(ctx context.Context, in *QueryDenomOwnersByQueryRequest, opts ...grpc.CallOption) (*QueryDenomOwnersByQueryResponse, error)
|
||||
// SendEnabled queries for SendEnabled entries.
|
||||
//
|
||||
// This query only returns denominations that have specific SendEnabled settings.
|
||||
@ -1566,6 +1691,15 @@ func (c *queryClient) DenomOwners(ctx context.Context, in *QueryDenomOwnersReque
|
||||
return out, nil
|
||||
}
|
||||
|
||||
func (c *queryClient) DenomOwnersByQuery(ctx context.Context, in *QueryDenomOwnersByQueryRequest, opts ...grpc.CallOption) (*QueryDenomOwnersByQueryResponse, error) {
|
||||
out := new(QueryDenomOwnersByQueryResponse)
|
||||
err := c.cc.Invoke(ctx, "/cosmos.bank.v1beta1.Query/DenomOwnersByQuery", in, out, opts...)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return out, nil
|
||||
}
|
||||
|
||||
func (c *queryClient) SendEnabled(ctx context.Context, in *QuerySendEnabledRequest, opts ...grpc.CallOption) (*QuerySendEnabledResponse, error) {
|
||||
out := new(QuerySendEnabledResponse)
|
||||
err := c.cc.Invoke(ctx, "/cosmos.bank.v1beta1.Query/SendEnabled", in, out, opts...)
|
||||
@ -1612,9 +1746,9 @@ type QueryServer interface {
|
||||
SupplyOf(context.Context, *QuerySupplyOfRequest) (*QuerySupplyOfResponse, error)
|
||||
// Params queries the parameters of x/bank module.
|
||||
Params(context.Context, *QueryParamsRequest) (*QueryParamsResponse, error)
|
||||
// DenomsMetadata queries the client metadata of a given coin denomination.
|
||||
// DenomMetadata queries the client metadata of a given coin denomination.
|
||||
DenomMetadata(context.Context, *QueryDenomMetadataRequest) (*QueryDenomMetadataResponse, error)
|
||||
// DenomsMetadata queries the client metadata of a given coin denomination.
|
||||
// DenomMetadataByQueryString queries the client metadata of a given coin denomination.
|
||||
DenomMetadataByQueryString(context.Context, *QueryDenomMetadataByQueryStringRequest) (*QueryDenomMetadataByQueryStringResponse, error)
|
||||
// DenomsMetadata queries the client metadata for all registered coin
|
||||
// denominations.
|
||||
@ -1627,6 +1761,11 @@ type QueryServer interface {
|
||||
//
|
||||
// Since: cosmos-sdk 0.46
|
||||
DenomOwners(context.Context, *QueryDenomOwnersRequest) (*QueryDenomOwnersResponse, error)
|
||||
// DenomOwnersByQuery queries for all account addresses that own a particular token
|
||||
// denomination.
|
||||
//
|
||||
// Since: cosmos-sdk 0.50.3
|
||||
DenomOwnersByQuery(context.Context, *QueryDenomOwnersByQueryRequest) (*QueryDenomOwnersByQueryResponse, error)
|
||||
// SendEnabled queries for SendEnabled entries.
|
||||
//
|
||||
// This query only returns denominations that have specific SendEnabled settings.
|
||||
@ -1674,6 +1813,9 @@ func (*UnimplementedQueryServer) DenomsMetadata(ctx context.Context, req *QueryD
|
||||
func (*UnimplementedQueryServer) DenomOwners(ctx context.Context, req *QueryDenomOwnersRequest) (*QueryDenomOwnersResponse, error) {
|
||||
return nil, status.Errorf(codes.Unimplemented, "method DenomOwners not implemented")
|
||||
}
|
||||
func (*UnimplementedQueryServer) DenomOwnersByQuery(ctx context.Context, req *QueryDenomOwnersByQueryRequest) (*QueryDenomOwnersByQueryResponse, error) {
|
||||
return nil, status.Errorf(codes.Unimplemented, "method DenomOwnersByQuery not implemented")
|
||||
}
|
||||
func (*UnimplementedQueryServer) SendEnabled(ctx context.Context, req *QuerySendEnabledRequest) (*QuerySendEnabledResponse, error) {
|
||||
return nil, status.Errorf(codes.Unimplemented, "method SendEnabled not implemented")
|
||||
}
|
||||
@ -1880,6 +2022,24 @@ func _Query_DenomOwners_Handler(srv interface{}, ctx context.Context, dec func(i
|
||||
return interceptor(ctx, in, info, handler)
|
||||
}
|
||||
|
||||
func _Query_DenomOwnersByQuery_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
|
||||
in := new(QueryDenomOwnersByQueryRequest)
|
||||
if err := dec(in); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
if interceptor == nil {
|
||||
return srv.(QueryServer).DenomOwnersByQuery(ctx, in)
|
||||
}
|
||||
info := &grpc.UnaryServerInfo{
|
||||
Server: srv,
|
||||
FullMethod: "/cosmos.bank.v1beta1.Query/DenomOwnersByQuery",
|
||||
}
|
||||
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
|
||||
return srv.(QueryServer).DenomOwnersByQuery(ctx, req.(*QueryDenomOwnersByQueryRequest))
|
||||
}
|
||||
return interceptor(ctx, in, info, handler)
|
||||
}
|
||||
|
||||
func _Query_SendEnabled_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
|
||||
in := new(QuerySendEnabledRequest)
|
||||
if err := dec(in); err != nil {
|
||||
@ -1946,6 +2106,10 @@ var _Query_serviceDesc = grpc.ServiceDesc{
|
||||
MethodName: "DenomOwners",
|
||||
Handler: _Query_DenomOwners_Handler,
|
||||
},
|
||||
{
|
||||
MethodName: "DenomOwnersByQuery",
|
||||
Handler: _Query_DenomOwnersByQuery_Handler,
|
||||
},
|
||||
{
|
||||
MethodName: "SendEnabled",
|
||||
Handler: _Query_SendEnabled_Handler,
|
||||
@ -2835,6 +2999,97 @@ func (m *QueryDenomOwnersResponse) MarshalToSizedBuffer(dAtA []byte) (int, error
|
||||
return len(dAtA) - i, nil
|
||||
}
|
||||
|
||||
func (m *QueryDenomOwnersByQueryRequest) 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 *QueryDenomOwnersByQueryRequest) MarshalTo(dAtA []byte) (int, error) {
|
||||
size := m.Size()
|
||||
return m.MarshalToSizedBuffer(dAtA[:size])
|
||||
}
|
||||
|
||||
func (m *QueryDenomOwnersByQueryRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) {
|
||||
i := len(dAtA)
|
||||
_ = i
|
||||
var l int
|
||||
_ = l
|
||||
if m.Pagination != nil {
|
||||
{
|
||||
size, err := m.Pagination.MarshalToSizedBuffer(dAtA[:i])
|
||||
if err != nil {
|
||||
return 0, err
|
||||
}
|
||||
i -= size
|
||||
i = encodeVarintQuery(dAtA, i, uint64(size))
|
||||
}
|
||||
i--
|
||||
dAtA[i] = 0x12
|
||||
}
|
||||
if len(m.Denom) > 0 {
|
||||
i -= len(m.Denom)
|
||||
copy(dAtA[i:], m.Denom)
|
||||
i = encodeVarintQuery(dAtA, i, uint64(len(m.Denom)))
|
||||
i--
|
||||
dAtA[i] = 0xa
|
||||
}
|
||||
return len(dAtA) - i, nil
|
||||
}
|
||||
|
||||
func (m *QueryDenomOwnersByQueryResponse) 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 *QueryDenomOwnersByQueryResponse) MarshalTo(dAtA []byte) (int, error) {
|
||||
size := m.Size()
|
||||
return m.MarshalToSizedBuffer(dAtA[:size])
|
||||
}
|
||||
|
||||
func (m *QueryDenomOwnersByQueryResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) {
|
||||
i := len(dAtA)
|
||||
_ = i
|
||||
var l int
|
||||
_ = l
|
||||
if m.Pagination != nil {
|
||||
{
|
||||
size, err := m.Pagination.MarshalToSizedBuffer(dAtA[:i])
|
||||
if err != nil {
|
||||
return 0, err
|
||||
}
|
||||
i -= size
|
||||
i = encodeVarintQuery(dAtA, i, uint64(size))
|
||||
}
|
||||
i--
|
||||
dAtA[i] = 0x12
|
||||
}
|
||||
if len(m.DenomOwners) > 0 {
|
||||
for iNdEx := len(m.DenomOwners) - 1; iNdEx >= 0; iNdEx-- {
|
||||
{
|
||||
size, err := m.DenomOwners[iNdEx].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 (m *QuerySendEnabledRequest) Marshal() (dAtA []byte, err error) {
|
||||
size := m.Size()
|
||||
dAtA = make([]byte, size)
|
||||
@ -3285,6 +3540,42 @@ func (m *QueryDenomOwnersResponse) Size() (n int) {
|
||||
return n
|
||||
}
|
||||
|
||||
func (m *QueryDenomOwnersByQueryRequest) Size() (n int) {
|
||||
if m == nil {
|
||||
return 0
|
||||
}
|
||||
var l int
|
||||
_ = l
|
||||
l = len(m.Denom)
|
||||
if l > 0 {
|
||||
n += 1 + l + sovQuery(uint64(l))
|
||||
}
|
||||
if m.Pagination != nil {
|
||||
l = m.Pagination.Size()
|
||||
n += 1 + l + sovQuery(uint64(l))
|
||||
}
|
||||
return n
|
||||
}
|
||||
|
||||
func (m *QueryDenomOwnersByQueryResponse) Size() (n int) {
|
||||
if m == nil {
|
||||
return 0
|
||||
}
|
||||
var l int
|
||||
_ = l
|
||||
if len(m.DenomOwners) > 0 {
|
||||
for _, e := range m.DenomOwners {
|
||||
l = e.Size()
|
||||
n += 1 + l + sovQuery(uint64(l))
|
||||
}
|
||||
}
|
||||
if m.Pagination != nil {
|
||||
l = m.Pagination.Size()
|
||||
n += 1 + l + sovQuery(uint64(l))
|
||||
}
|
||||
return n
|
||||
}
|
||||
|
||||
func (m *QuerySendEnabledRequest) Size() (n int) {
|
||||
if m == nil {
|
||||
return 0
|
||||
@ -5618,6 +5909,244 @@ func (m *QueryDenomOwnersResponse) Unmarshal(dAtA []byte) error {
|
||||
}
|
||||
return nil
|
||||
}
|
||||
func (m *QueryDenomOwnersByQueryRequest) 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: QueryDenomOwnersByQueryRequest: wiretype end group for non-group")
|
||||
}
|
||||
if fieldNum <= 0 {
|
||||
return fmt.Errorf("proto: QueryDenomOwnersByQueryRequest: illegal tag %d (wire type %d)", fieldNum, wire)
|
||||
}
|
||||
switch fieldNum {
|
||||
case 1:
|
||||
if wireType != 2 {
|
||||
return fmt.Errorf("proto: wrong wireType = %d for field Denom", 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.Denom = string(dAtA[iNdEx:postIndex])
|
||||
iNdEx = postIndex
|
||||
case 2:
|
||||
if wireType != 2 {
|
||||
return fmt.Errorf("proto: wrong wireType = %d for field Pagination", 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.Pagination == nil {
|
||||
m.Pagination = &query.PageRequest{}
|
||||
}
|
||||
if err := m.Pagination.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 (m *QueryDenomOwnersByQueryResponse) 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: QueryDenomOwnersByQueryResponse: wiretype end group for non-group")
|
||||
}
|
||||
if fieldNum <= 0 {
|
||||
return fmt.Errorf("proto: QueryDenomOwnersByQueryResponse: illegal tag %d (wire type %d)", fieldNum, wire)
|
||||
}
|
||||
switch fieldNum {
|
||||
case 1:
|
||||
if wireType != 2 {
|
||||
return fmt.Errorf("proto: wrong wireType = %d for field DenomOwners", 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
|
||||
}
|
||||
m.DenomOwners = append(m.DenomOwners, &DenomOwner{})
|
||||
if err := m.DenomOwners[len(m.DenomOwners)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
|
||||
return err
|
||||
}
|
||||
iNdEx = postIndex
|
||||
case 2:
|
||||
if wireType != 2 {
|
||||
return fmt.Errorf("proto: wrong wireType = %d for field Pagination", 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.Pagination == nil {
|
||||
m.Pagination = &query.PageResponse{}
|
||||
}
|
||||
if err := m.Pagination.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 (m *QuerySendEnabledRequest) Unmarshal(dAtA []byte) error {
|
||||
l := len(dAtA)
|
||||
iNdEx := 0
|
||||
|
||||
@ -609,6 +609,42 @@ func local_request_Query_DenomOwners_0(ctx context.Context, marshaler runtime.Ma
|
||||
|
||||
}
|
||||
|
||||
var (
|
||||
filter_Query_DenomOwnersByQuery_0 = &utilities.DoubleArray{Encoding: map[string]int{}, Base: []int(nil), Check: []int(nil)}
|
||||
)
|
||||
|
||||
func request_Query_DenomOwnersByQuery_0(ctx context.Context, marshaler runtime.Marshaler, client QueryClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) {
|
||||
var protoReq QueryDenomOwnersByQueryRequest
|
||||
var metadata runtime.ServerMetadata
|
||||
|
||||
if err := req.ParseForm(); err != nil {
|
||||
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
|
||||
}
|
||||
if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_Query_DenomOwnersByQuery_0); err != nil {
|
||||
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
|
||||
}
|
||||
|
||||
msg, err := client.DenomOwnersByQuery(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD))
|
||||
return msg, metadata, err
|
||||
|
||||
}
|
||||
|
||||
func local_request_Query_DenomOwnersByQuery_0(ctx context.Context, marshaler runtime.Marshaler, server QueryServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) {
|
||||
var protoReq QueryDenomOwnersByQueryRequest
|
||||
var metadata runtime.ServerMetadata
|
||||
|
||||
if err := req.ParseForm(); err != nil {
|
||||
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
|
||||
}
|
||||
if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_Query_DenomOwnersByQuery_0); err != nil {
|
||||
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
|
||||
}
|
||||
|
||||
msg, err := server.DenomOwnersByQuery(ctx, &protoReq)
|
||||
return msg, metadata, err
|
||||
|
||||
}
|
||||
|
||||
var (
|
||||
filter_Query_SendEnabled_0 = &utilities.DoubleArray{Encoding: map[string]int{}, Base: []int(nil), Check: []int(nil)}
|
||||
)
|
||||
@ -904,6 +940,29 @@ func RegisterQueryHandlerServer(ctx context.Context, mux *runtime.ServeMux, serv
|
||||
|
||||
})
|
||||
|
||||
mux.Handle("GET", pattern_Query_DenomOwnersByQuery_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_DenomOwnersByQuery_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_DenomOwnersByQuery_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...)
|
||||
|
||||
})
|
||||
|
||||
mux.Handle("GET", pattern_Query_SendEnabled_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) {
|
||||
ctx, cancel := context.WithCancel(req.Context())
|
||||
defer cancel()
|
||||
@ -1188,6 +1247,26 @@ func RegisterQueryHandlerClient(ctx context.Context, mux *runtime.ServeMux, clie
|
||||
|
||||
})
|
||||
|
||||
mux.Handle("GET", pattern_Query_DenomOwnersByQuery_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_DenomOwnersByQuery_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_DenomOwnersByQuery_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...)
|
||||
|
||||
})
|
||||
|
||||
mux.Handle("GET", pattern_Query_SendEnabled_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) {
|
||||
ctx, cancel := context.WithCancel(req.Context())
|
||||
defer cancel()
|
||||
@ -1234,6 +1313,8 @@ var (
|
||||
|
||||
pattern_Query_DenomOwners_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3, 1, 0, 4, 1, 5, 4}, []string{"cosmos", "bank", "v1beta1", "denom_owners", "denom"}, "", runtime.AssumeColonVerbOpt(false)))
|
||||
|
||||
pattern_Query_DenomOwnersByQuery_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3}, []string{"cosmos", "bank", "v1beta1", "denom_owners_by_query"}, "", runtime.AssumeColonVerbOpt(false)))
|
||||
|
||||
pattern_Query_SendEnabled_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3}, []string{"cosmos", "bank", "v1beta1", "send_enabled"}, "", runtime.AssumeColonVerbOpt(false)))
|
||||
)
|
||||
|
||||
@ -1260,5 +1341,7 @@ var (
|
||||
|
||||
forward_Query_DenomOwners_0 = runtime.ForwardResponseMessage
|
||||
|
||||
forward_Query_DenomOwnersByQuery_0 = runtime.ForwardResponseMessage
|
||||
|
||||
forward_Query_SendEnabled_0 = runtime.ForwardResponseMessage
|
||||
)
|
||||
|
||||
@ -316,6 +316,21 @@ func (mr *MockBankKeeperMockRecorder) DenomOwners(arg0, arg1 interface{}) *gomoc
|
||||
return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DenomOwners", reflect.TypeOf((*MockBankKeeper)(nil).DenomOwners), arg0, arg1)
|
||||
}
|
||||
|
||||
// DenomOwnersByQuery mocks base method.
|
||||
func (m *MockBankKeeper) DenomOwnersByQuery(arg0 context.Context, arg1 *types0.QueryDenomOwnersByQueryRequest) (*types0.QueryDenomOwnersByQueryResponse, error) {
|
||||
m.ctrl.T.Helper()
|
||||
ret := m.ctrl.Call(m, "DenomOwnersByQuery", arg0, arg1)
|
||||
ret0, _ := ret[0].(*types0.QueryDenomOwnersByQueryResponse)
|
||||
ret1, _ := ret[1].(error)
|
||||
return ret0, ret1
|
||||
}
|
||||
|
||||
// DenomOwnersByQuery indicates an expected call of DenomOwnersByQuery.
|
||||
func (mr *MockBankKeeperMockRecorder) DenomOwnersByQuery(arg0, arg1 interface{}) *gomock.Call {
|
||||
mr.mock.ctrl.T.Helper()
|
||||
return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DenomOwnersByQuery", reflect.TypeOf((*MockBankKeeper)(nil).DenomOwnersByQuery), arg0, arg1)
|
||||
}
|
||||
|
||||
// DenomsMetadata mocks base method.
|
||||
func (m *MockBankKeeper) DenomsMetadata(arg0 context.Context, arg1 *types0.QueryDenomsMetadataRequest) (*types0.QueryDenomsMetadataResponse, error) {
|
||||
m.ctrl.T.Helper()
|
||||
|
||||
Loading…
Reference in New Issue
Block a user