feat: Add consensus address to validator query response (#20434)

Co-authored-by: Facundo Medica <14063057+facundomedica@users.noreply.github.com>
Co-authored-by: Julien Robert <julien@rbrt.fr>
This commit is contained in:
Lucas Francisco López
2024-06-21 10:15:03 +00:00
committed by GitHub
co-authored by Facundo Medica Julien Robert
parent c823d18def
commit 467cc6d427
7 changed files with 1737 additions and 787 deletions
File diff suppressed because it is too large Load Diff
+1 -2
View File
@@ -261,8 +261,7 @@ func (suite *SimTestSuite) getTestingValidator(accounts []simtypes.Account, comm
account := accounts[n]
valPubKey := account.PubKey
valAddr := sdk.ValAddress(account.PubKey.Address().Bytes())
validator, err := stakingtypes.NewValidator(valAddr.String(), valPubKey, stakingtypes.
Description{})
validator, err := stakingtypes.NewValidator(valAddr.String(), valPubKey, stakingtypes.Description{})
require.NoError(err)
validator, err = validator.SetInitialCommission(commission)
require.NoError(err)
+1
View File
@@ -28,6 +28,7 @@ Ref: https://keepachangelog.com/en/1.0.0/
### Features
* [#19537](https://github.com/cosmos/cosmos-sdk/pull/19537) Changing `MinCommissionRate` in `MsgUpdateParams` now updates the minimum commission rate for all validators.
* [#20434](https://github.com/cosmos/cosmos-sdk/pull/20434) Add consensus address to validator query response
### Improvements
+18 -1
View File
@@ -13,6 +13,7 @@ import (
storetypes "cosmossdk.io/store/types"
"cosmossdk.io/x/staking/types"
cryptotypes "github.com/cosmos/cosmos-sdk/crypto/types"
"github.com/cosmos/cosmos-sdk/runtime"
sdk "github.com/cosmos/cosmos-sdk/types"
"github.com/cosmos/cosmos-sdk/types/query"
@@ -57,11 +58,27 @@ func (k Querier) Validators(ctx context.Context, req *types.QueryValidatorsReque
}
vals := types.Validators{}
var validatorInfoList []types.ValidatorInfo
for _, val := range validators {
vals.Validators = append(vals.Validators, *val)
valInfo := types.ValidatorInfo{}
cpk, ok := val.ConsensusPubkey.GetCachedValue().(cryptotypes.PubKey)
if ok {
consAddr, err := k.consensusAddressCodec.BytesToString(cpk.Address())
if err == nil {
valInfo.ConsensusAddress = consAddr
}
}
validatorInfoList = append(validatorInfoList, valInfo)
}
return &types.QueryValidatorsResponse{Validators: vals.Validators, Pagination: pageRes}, nil
return &types.QueryValidatorsResponse{
Validators: vals.Validators,
ValidatorInfo: validatorInfoList,
Pagination: pageRes,
}, nil
}
// Validator queries validator info for given validator address
+61
View File
@@ -61,3 +61,64 @@ func (s *KeeperTestSuite) TestGRPCQueryValidator() {
})
}
}
func (s *KeeperTestSuite) TestGRPCQueryValidators() {
ctx, keeper, queryClient := s.ctx, s.stakingKeeper, s.queryClient
require := s.Require()
// Create and set validators
pkValidator1 := PKs[0]
pkValidator2 := PKs[1]
validator1 := testutil.NewValidator(s.T(), sdk.ValAddress(pkValidator1.Address().Bytes()), pkValidator1)
validator2 := testutil.NewValidator(s.T(), sdk.ValAddress(pkValidator2.Address().Bytes()), pkValidator2)
require.NoError(keeper.SetValidator(ctx, validator1))
require.NoError(keeper.SetValidator(ctx, validator2))
// Create a map to associate consensus addresses with validators
consensusAddrMap := make(map[string]types.Validator)
consAddr1, err := keeper.ConsensusAddressCodec().BytesToString(pkValidator1.Address())
require.NoError(err)
consAddr2, err := keeper.ConsensusAddressCodec().BytesToString(pkValidator2.Address())
require.NoError(err)
consensusAddrMap[consAddr1] = validator1
consensusAddrMap[consAddr2] = validator2
var req *types.QueryValidatorsRequest
testCases := []struct {
msg string
malleate func()
}{
{
"valid request with no status",
func() {
req = &types.QueryValidatorsRequest{}
},
},
{
"valid request with bonded status",
func() {
req = &types.QueryValidatorsRequest{
Status: types.Bonded.String(),
}
},
},
}
for _, tc := range testCases {
s.Run(fmt.Sprintf("Case %s", tc.msg), func() {
tc.malleate()
res, err := queryClient.Validators(gocontext.Background(), req)
require.NoError(err)
require.NotNil(res)
// Verify that the length of both lists is the same
require.Equal(len(res.Validators), len(res.ValidatorInfo))
// Verify that each ValidatorInfo corresponds to the correct Validator and the response match created validators
for i, valInfo := range res.ValidatorInfo {
val, exists := consensusAddrMap[valInfo.ConsensusAddress]
require.True(exists, "Validator not found for consensus address")
require.Equal(val.OperatorAddress, res.Validators[i].OperatorAddress)
}
})
}
}
@@ -139,13 +139,23 @@ message QueryValidatorsRequest {
cosmos.base.query.v1beta1.PageRequest pagination = 2;
}
message ValidatorInfo {
option (cosmos_proto.message_added_in) = "x/staking v0.2.0";
// consensus_address is the consensus address of the validator.
string consensus_address = 1 [(cosmos_proto.field_added_in) = "x/staking v0.2.0"];
}
// QueryValidatorsResponse is response type for the Query/Validators RPC method
message QueryValidatorsResponse {
// validators contains all the queried validators.
repeated Validator validators = 1 [(gogoproto.nullable) = false, (amino.dont_omitempty) = true];
// pagination defines the pagination in the response.
cosmos.base.query.v1beta1.PageResponse pagination = 2;
// validator_info contains additional information for each validator.
// The order of the elements in this list corresponds to the order of the elements in the validators list.
// For example, if you want the ValidatorInfo for the third validator in the validators list,
// you should look at the third element in the validator_info list.
repeated ValidatorInfo validator_info = 2 [(gogoproto.nullable) = false, (amino.dont_omitempty) = true];
cosmos.base.query.v1beta1.PageResponse pagination = 3;
}
// QueryValidatorRequest is response type for the Query/Validator RPC method
+357 -121
View File
@@ -87,19 +87,63 @@ func (m *QueryValidatorsRequest) GetPagination() *query.PageRequest {
return nil
}
type ValidatorInfo struct {
// consensus_address is the consensus address of the validator.
ConsensusAddress string `protobuf:"bytes,1,opt,name=consensus_address,json=consensusAddress,proto3" json:"consensus_address,omitempty"`
}
func (m *ValidatorInfo) Reset() { *m = ValidatorInfo{} }
func (m *ValidatorInfo) String() string { return proto.CompactTextString(m) }
func (*ValidatorInfo) ProtoMessage() {}
func (*ValidatorInfo) Descriptor() ([]byte, []int) {
return fileDescriptor_f270127f442bbcd8, []int{1}
}
func (m *ValidatorInfo) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
}
func (m *ValidatorInfo) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
if deterministic {
return xxx_messageInfo_ValidatorInfo.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 *ValidatorInfo) XXX_Merge(src proto.Message) {
xxx_messageInfo_ValidatorInfo.Merge(m, src)
}
func (m *ValidatorInfo) XXX_Size() int {
return m.Size()
}
func (m *ValidatorInfo) XXX_DiscardUnknown() {
xxx_messageInfo_ValidatorInfo.DiscardUnknown(m)
}
var xxx_messageInfo_ValidatorInfo proto.InternalMessageInfo
func (m *ValidatorInfo) GetConsensusAddress() string {
if m != nil {
return m.ConsensusAddress
}
return ""
}
// QueryValidatorsResponse is response type for the Query/Validators RPC method
type QueryValidatorsResponse struct {
// validators contains all the queried validators.
Validators []Validator `protobuf:"bytes,1,rep,name=validators,proto3" json:"validators"`
// pagination defines the pagination in the response.
Pagination *query.PageResponse `protobuf:"bytes,2,opt,name=pagination,proto3" json:"pagination,omitempty"`
Validators []Validator `protobuf:"bytes,1,rep,name=validators,proto3" json:"validators"`
ValidatorInfo []ValidatorInfo `protobuf:"bytes,2,rep,name=validator_info,json=validatorInfo,proto3" json:"validator_info"`
Pagination *query.PageResponse `protobuf:"bytes,3,opt,name=pagination,proto3" json:"pagination,omitempty"`
}
func (m *QueryValidatorsResponse) Reset() { *m = QueryValidatorsResponse{} }
func (m *QueryValidatorsResponse) String() string { return proto.CompactTextString(m) }
func (*QueryValidatorsResponse) ProtoMessage() {}
func (*QueryValidatorsResponse) Descriptor() ([]byte, []int) {
return fileDescriptor_f270127f442bbcd8, []int{1}
return fileDescriptor_f270127f442bbcd8, []int{2}
}
func (m *QueryValidatorsResponse) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@@ -135,6 +179,13 @@ func (m *QueryValidatorsResponse) GetValidators() []Validator {
return nil
}
func (m *QueryValidatorsResponse) GetValidatorInfo() []ValidatorInfo {
if m != nil {
return m.ValidatorInfo
}
return nil
}
func (m *QueryValidatorsResponse) GetPagination() *query.PageResponse {
if m != nil {
return m.Pagination
@@ -152,7 +203,7 @@ func (m *QueryValidatorRequest) Reset() { *m = QueryValidatorRequest{} }
func (m *QueryValidatorRequest) String() string { return proto.CompactTextString(m) }
func (*QueryValidatorRequest) ProtoMessage() {}
func (*QueryValidatorRequest) Descriptor() ([]byte, []int) {
return fileDescriptor_f270127f442bbcd8, []int{2}
return fileDescriptor_f270127f442bbcd8, []int{3}
}
func (m *QueryValidatorRequest) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@@ -198,7 +249,7 @@ func (m *QueryValidatorResponse) Reset() { *m = QueryValidatorResponse{}
func (m *QueryValidatorResponse) String() string { return proto.CompactTextString(m) }
func (*QueryValidatorResponse) ProtoMessage() {}
func (*QueryValidatorResponse) Descriptor() ([]byte, []int) {
return fileDescriptor_f270127f442bbcd8, []int{3}
return fileDescriptor_f270127f442bbcd8, []int{4}
}
func (m *QueryValidatorResponse) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@@ -247,7 +298,7 @@ func (m *QueryValidatorDelegationsRequest) Reset() { *m = QueryValidator
func (m *QueryValidatorDelegationsRequest) String() string { return proto.CompactTextString(m) }
func (*QueryValidatorDelegationsRequest) ProtoMessage() {}
func (*QueryValidatorDelegationsRequest) Descriptor() ([]byte, []int) {
return fileDescriptor_f270127f442bbcd8, []int{4}
return fileDescriptor_f270127f442bbcd8, []int{5}
}
func (m *QueryValidatorDelegationsRequest) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@@ -302,7 +353,7 @@ func (m *QueryValidatorDelegationsResponse) Reset() { *m = QueryValidato
func (m *QueryValidatorDelegationsResponse) String() string { return proto.CompactTextString(m) }
func (*QueryValidatorDelegationsResponse) ProtoMessage() {}
func (*QueryValidatorDelegationsResponse) Descriptor() ([]byte, []int) {
return fileDescriptor_f270127f442bbcd8, []int{5}
return fileDescriptor_f270127f442bbcd8, []int{6}
}
func (m *QueryValidatorDelegationsResponse) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@@ -362,7 +413,7 @@ func (m *QueryValidatorUnbondingDelegationsRequest) String() string {
}
func (*QueryValidatorUnbondingDelegationsRequest) ProtoMessage() {}
func (*QueryValidatorUnbondingDelegationsRequest) Descriptor() ([]byte, []int) {
return fileDescriptor_f270127f442bbcd8, []int{6}
return fileDescriptor_f270127f442bbcd8, []int{7}
}
func (m *QueryValidatorUnbondingDelegationsRequest) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@@ -421,7 +472,7 @@ func (m *QueryValidatorUnbondingDelegationsResponse) String() string {
}
func (*QueryValidatorUnbondingDelegationsResponse) ProtoMessage() {}
func (*QueryValidatorUnbondingDelegationsResponse) Descriptor() ([]byte, []int) {
return fileDescriptor_f270127f442bbcd8, []int{7}
return fileDescriptor_f270127f442bbcd8, []int{8}
}
func (m *QueryValidatorUnbondingDelegationsResponse) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@@ -476,7 +527,7 @@ func (m *QueryDelegationRequest) Reset() { *m = QueryDelegationRequest{}
func (m *QueryDelegationRequest) String() string { return proto.CompactTextString(m) }
func (*QueryDelegationRequest) ProtoMessage() {}
func (*QueryDelegationRequest) Descriptor() ([]byte, []int) {
return fileDescriptor_f270127f442bbcd8, []int{8}
return fileDescriptor_f270127f442bbcd8, []int{9}
}
func (m *QueryDelegationRequest) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@@ -515,7 +566,7 @@ func (m *QueryDelegationResponse) Reset() { *m = QueryDelegationResponse
func (m *QueryDelegationResponse) String() string { return proto.CompactTextString(m) }
func (*QueryDelegationResponse) ProtoMessage() {}
func (*QueryDelegationResponse) Descriptor() ([]byte, []int) {
return fileDescriptor_f270127f442bbcd8, []int{9}
return fileDescriptor_f270127f442bbcd8, []int{10}
}
func (m *QueryDelegationResponse) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@@ -564,7 +615,7 @@ func (m *QueryUnbondingDelegationRequest) Reset() { *m = QueryUnbondingD
func (m *QueryUnbondingDelegationRequest) String() string { return proto.CompactTextString(m) }
func (*QueryUnbondingDelegationRequest) ProtoMessage() {}
func (*QueryUnbondingDelegationRequest) Descriptor() ([]byte, []int) {
return fileDescriptor_f270127f442bbcd8, []int{10}
return fileDescriptor_f270127f442bbcd8, []int{11}
}
func (m *QueryUnbondingDelegationRequest) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@@ -604,7 +655,7 @@ func (m *QueryUnbondingDelegationResponse) Reset() { *m = QueryUnbonding
func (m *QueryUnbondingDelegationResponse) String() string { return proto.CompactTextString(m) }
func (*QueryUnbondingDelegationResponse) ProtoMessage() {}
func (*QueryUnbondingDelegationResponse) Descriptor() ([]byte, []int) {
return fileDescriptor_f270127f442bbcd8, []int{11}
return fileDescriptor_f270127f442bbcd8, []int{12}
}
func (m *QueryUnbondingDelegationResponse) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@@ -653,7 +704,7 @@ func (m *QueryDelegatorDelegationsRequest) Reset() { *m = QueryDelegator
func (m *QueryDelegatorDelegationsRequest) String() string { return proto.CompactTextString(m) }
func (*QueryDelegatorDelegationsRequest) ProtoMessage() {}
func (*QueryDelegatorDelegationsRequest) Descriptor() ([]byte, []int) {
return fileDescriptor_f270127f442bbcd8, []int{12}
return fileDescriptor_f270127f442bbcd8, []int{13}
}
func (m *QueryDelegatorDelegationsRequest) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@@ -695,7 +746,7 @@ func (m *QueryDelegatorDelegationsResponse) Reset() { *m = QueryDelegato
func (m *QueryDelegatorDelegationsResponse) String() string { return proto.CompactTextString(m) }
func (*QueryDelegatorDelegationsResponse) ProtoMessage() {}
func (*QueryDelegatorDelegationsResponse) Descriptor() ([]byte, []int) {
return fileDescriptor_f270127f442bbcd8, []int{13}
return fileDescriptor_f270127f442bbcd8, []int{14}
}
func (m *QueryDelegatorDelegationsResponse) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@@ -755,7 +806,7 @@ func (m *QueryDelegatorUnbondingDelegationsRequest) String() string {
}
func (*QueryDelegatorUnbondingDelegationsRequest) ProtoMessage() {}
func (*QueryDelegatorUnbondingDelegationsRequest) Descriptor() ([]byte, []int) {
return fileDescriptor_f270127f442bbcd8, []int{14}
return fileDescriptor_f270127f442bbcd8, []int{15}
}
func (m *QueryDelegatorUnbondingDelegationsRequest) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@@ -800,7 +851,7 @@ func (m *QueryDelegatorUnbondingDelegationsResponse) String() string {
}
func (*QueryDelegatorUnbondingDelegationsResponse) ProtoMessage() {}
func (*QueryDelegatorUnbondingDelegationsResponse) Descriptor() ([]byte, []int) {
return fileDescriptor_f270127f442bbcd8, []int{15}
return fileDescriptor_f270127f442bbcd8, []int{16}
}
func (m *QueryDelegatorUnbondingDelegationsResponse) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@@ -860,7 +911,7 @@ func (m *QueryRedelegationsRequest) Reset() { *m = QueryRedelegationsReq
func (m *QueryRedelegationsRequest) String() string { return proto.CompactTextString(m) }
func (*QueryRedelegationsRequest) ProtoMessage() {}
func (*QueryRedelegationsRequest) Descriptor() ([]byte, []int) {
return fileDescriptor_f270127f442bbcd8, []int{16}
return fileDescriptor_f270127f442bbcd8, []int{17}
}
func (m *QueryRedelegationsRequest) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@@ -901,7 +952,7 @@ func (m *QueryRedelegationsResponse) Reset() { *m = QueryRedelegationsRe
func (m *QueryRedelegationsResponse) String() string { return proto.CompactTextString(m) }
func (*QueryRedelegationsResponse) ProtoMessage() {}
func (*QueryRedelegationsResponse) Descriptor() ([]byte, []int) {
return fileDescriptor_f270127f442bbcd8, []int{17}
return fileDescriptor_f270127f442bbcd8, []int{18}
}
func (m *QueryRedelegationsResponse) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@@ -957,7 +1008,7 @@ func (m *QueryDelegatorValidatorsRequest) Reset() { *m = QueryDelegatorV
func (m *QueryDelegatorValidatorsRequest) String() string { return proto.CompactTextString(m) }
func (*QueryDelegatorValidatorsRequest) ProtoMessage() {}
func (*QueryDelegatorValidatorsRequest) Descriptor() ([]byte, []int) {
return fileDescriptor_f270127f442bbcd8, []int{18}
return fileDescriptor_f270127f442bbcd8, []int{19}
}
func (m *QueryDelegatorValidatorsRequest) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@@ -999,7 +1050,7 @@ func (m *QueryDelegatorValidatorsResponse) Reset() { *m = QueryDelegator
func (m *QueryDelegatorValidatorsResponse) String() string { return proto.CompactTextString(m) }
func (*QueryDelegatorValidatorsResponse) ProtoMessage() {}
func (*QueryDelegatorValidatorsResponse) Descriptor() ([]byte, []int) {
return fileDescriptor_f270127f442bbcd8, []int{19}
return fileDescriptor_f270127f442bbcd8, []int{20}
}
func (m *QueryDelegatorValidatorsResponse) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@@ -1055,7 +1106,7 @@ func (m *QueryDelegatorValidatorRequest) Reset() { *m = QueryDelegatorVa
func (m *QueryDelegatorValidatorRequest) String() string { return proto.CompactTextString(m) }
func (*QueryDelegatorValidatorRequest) ProtoMessage() {}
func (*QueryDelegatorValidatorRequest) Descriptor() ([]byte, []int) {
return fileDescriptor_f270127f442bbcd8, []int{20}
return fileDescriptor_f270127f442bbcd8, []int{21}
}
func (m *QueryDelegatorValidatorRequest) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@@ -1095,7 +1146,7 @@ func (m *QueryDelegatorValidatorResponse) Reset() { *m = QueryDelegatorV
func (m *QueryDelegatorValidatorResponse) String() string { return proto.CompactTextString(m) }
func (*QueryDelegatorValidatorResponse) ProtoMessage() {}
func (*QueryDelegatorValidatorResponse) Descriptor() ([]byte, []int) {
return fileDescriptor_f270127f442bbcd8, []int{21}
return fileDescriptor_f270127f442bbcd8, []int{22}
}
func (m *QueryDelegatorValidatorResponse) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@@ -1142,7 +1193,7 @@ func (m *QueryHistoricalInfoRequest) Reset() { *m = QueryHistoricalInfoR
func (m *QueryHistoricalInfoRequest) String() string { return proto.CompactTextString(m) }
func (*QueryHistoricalInfoRequest) ProtoMessage() {}
func (*QueryHistoricalInfoRequest) Descriptor() ([]byte, []int) {
return fileDescriptor_f270127f442bbcd8, []int{22}
return fileDescriptor_f270127f442bbcd8, []int{23}
}
func (m *QueryHistoricalInfoRequest) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@@ -1190,7 +1241,7 @@ func (m *QueryHistoricalInfoResponse) Reset() { *m = QueryHistoricalInfo
func (m *QueryHistoricalInfoResponse) String() string { return proto.CompactTextString(m) }
func (*QueryHistoricalInfoResponse) ProtoMessage() {}
func (*QueryHistoricalInfoResponse) Descriptor() ([]byte, []int) {
return fileDescriptor_f270127f442bbcd8, []int{23}
return fileDescriptor_f270127f442bbcd8, []int{24}
}
func (m *QueryHistoricalInfoResponse) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@@ -1242,7 +1293,7 @@ func (m *QueryPoolRequest) Reset() { *m = QueryPoolRequest{} }
func (m *QueryPoolRequest) String() string { return proto.CompactTextString(m) }
func (*QueryPoolRequest) ProtoMessage() {}
func (*QueryPoolRequest) Descriptor() ([]byte, []int) {
return fileDescriptor_f270127f442bbcd8, []int{24}
return fileDescriptor_f270127f442bbcd8, []int{25}
}
func (m *QueryPoolRequest) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@@ -1281,7 +1332,7 @@ func (m *QueryPoolResponse) Reset() { *m = QueryPoolResponse{} }
func (m *QueryPoolResponse) String() string { return proto.CompactTextString(m) }
func (*QueryPoolResponse) ProtoMessage() {}
func (*QueryPoolResponse) Descriptor() ([]byte, []int) {
return fileDescriptor_f270127f442bbcd8, []int{25}
return fileDescriptor_f270127f442bbcd8, []int{26}
}
func (m *QueryPoolResponse) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@@ -1325,7 +1376,7 @@ func (m *QueryParamsRequest) Reset() { *m = QueryParamsRequest{} }
func (m *QueryParamsRequest) String() string { return proto.CompactTextString(m) }
func (*QueryParamsRequest) ProtoMessage() {}
func (*QueryParamsRequest) Descriptor() ([]byte, []int) {
return fileDescriptor_f270127f442bbcd8, []int{26}
return fileDescriptor_f270127f442bbcd8, []int{27}
}
func (m *QueryParamsRequest) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@@ -1364,7 +1415,7 @@ func (m *QueryParamsResponse) Reset() { *m = QueryParamsResponse{} }
func (m *QueryParamsResponse) String() string { return proto.CompactTextString(m) }
func (*QueryParamsResponse) ProtoMessage() {}
func (*QueryParamsResponse) Descriptor() ([]byte, []int) {
return fileDescriptor_f270127f442bbcd8, []int{27}
return fileDescriptor_f270127f442bbcd8, []int{28}
}
func (m *QueryParamsResponse) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@@ -1402,6 +1453,7 @@ func (m *QueryParamsResponse) GetParams() Params {
func init() {
proto.RegisterType((*QueryValidatorsRequest)(nil), "cosmos.staking.v1beta1.QueryValidatorsRequest")
proto.RegisterType((*ValidatorInfo)(nil), "cosmos.staking.v1beta1.ValidatorInfo")
proto.RegisterType((*QueryValidatorsResponse)(nil), "cosmos.staking.v1beta1.QueryValidatorsResponse")
proto.RegisterType((*QueryValidatorRequest)(nil), "cosmos.staking.v1beta1.QueryValidatorRequest")
proto.RegisterType((*QueryValidatorResponse)(nil), "cosmos.staking.v1beta1.QueryValidatorResponse")
@@ -1436,95 +1488,100 @@ func init() {
}
var fileDescriptor_f270127f442bbcd8 = []byte{
// 1407 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xd4, 0x59, 0xdb, 0x6b, 0x1c, 0x65,
0x1b, 0xdf, 0x37, 0xcd, 0x17, 0xbe, 0x3c, 0xa5, 0xa5, 0x79, 0x77, 0x1b, 0xd3, 0x69, 0xba, 0xd9,
0x0c, 0xa5, 0xe6, 0x60, 0x76, 0x4c, 0x52, 0xd3, 0xa8, 0xd8, 0x76, 0x63, 0xd1, 0xd6, 0x96, 0x9a,
0x8e, 0x34, 0x88, 0x07, 0xc2, 0x24, 0x33, 0x9d, 0x1d, 0xba, 0x99, 0xd9, 0xce, 0x4c, 0x42, 0x4b,
0x08, 0x82, 0x17, 0xd2, 0x2b, 0x11, 0xbc, 0x97, 0x5e, 0x8a, 0x28, 0xe4, 0x22, 0x15, 0xbd, 0xb0,
0x97, 0xd2, 0x0b, 0x91, 0x52, 0xa9, 0xe8, 0x4d, 0x95, 0x44, 0xd0, 0x1b, 0xff, 0x03, 0x11, 0xd9,
0x99, 0x67, 0x4e, 0x99, 0xe3, 0x6e, 0x36, 0x90, 0xdc, 0x94, 0xe4, 0x9d, 0xe7, 0xf0, 0xfb, 0x3d,
0x87, 0xf7, 0x7d, 0x9e, 0x14, 0xd8, 0x45, 0xcd, 0x58, 0xd2, 0x0c, 0xce, 0x30, 0x85, 0x9b, 0x8a,
0x2a, 0x73, 0x2b, 0xe3, 0x0b, 0x92, 0x29, 0x8c, 0x73, 0xb7, 0x96, 0x25, 0xfd, 0x4e, 0xb9, 0xae,
0x6b, 0xa6, 0x46, 0x7b, 0x6d, 0x99, 0x32, 0xca, 0x94, 0x51, 0x86, 0x19, 0x41, 0xdd, 0x05, 0xc1,
0x90, 0x6c, 0x05, 0x57, 0xbd, 0x2e, 0xc8, 0x8a, 0x2a, 0x98, 0x8a, 0xa6, 0xda, 0x36, 0x98, 0x82,
0xac, 0xc9, 0x9a, 0xf5, 0x23, 0xd7, 0xf8, 0x09, 0x4f, 0xfb, 0x65, 0x4d, 0x93, 0x6b, 0x12, 0x27,
0xd4, 0x15, 0x4e, 0x50, 0x55, 0xcd, 0xb4, 0x54, 0x0c, 0xfc, 0x7a, 0x32, 0x06, 0x9b, 0x83, 0xc3,
0x96, 0x3a, 0x66, 0x4b, 0xcd, 0xdb, 0xc6, 0x11, 0xaa, 0xfd, 0xe9, 0x38, 0x1a, 0x70, 0xb0, 0xf9,
0x59, 0x31, 0x3d, 0xc2, 0x92, 0xa2, 0x6a, 0x9c, 0xf5, 0xaf, 0x7d, 0xc4, 0xde, 0x86, 0xde, 0x6b,
0x0d, 0x89, 0x39, 0xa1, 0xa6, 0x88, 0x82, 0xa9, 0xe9, 0x06, 0x2f, 0xdd, 0x5a, 0x96, 0x0c, 0x93,
0xf6, 0x42, 0x97, 0x61, 0x0a, 0xe6, 0xb2, 0xd1, 0x47, 0x4a, 0x64, 0xa8, 0x9b, 0xc7, 0xdf, 0xe8,
0x6b, 0x00, 0x1e, 0xd5, 0xbe, 0x8e, 0x12, 0x19, 0x3a, 0x38, 0x71, 0xaa, 0x8c, 0x20, 0x1a, 0x71,
0x29, 0xdb, 0x2e, 0x11, 0x7a, 0x79, 0x56, 0x90, 0x25, 0xb4, 0xc9, 0xfb, 0x34, 0xd9, 0x75, 0x02,
0xcf, 0x84, 0x5c, 0x1b, 0x75, 0x4d, 0x35, 0x24, 0x7a, 0x05, 0x60, 0xc5, 0x3d, 0xed, 0x23, 0xa5,
0x03, 0x43, 0x07, 0x27, 0x06, 0xcb, 0xd1, 0x39, 0x29, 0xbb, 0xfa, 0x33, 0xdd, 0x0f, 0x9f, 0x0e,
0xe4, 0x3e, 0xff, 0x73, 0x7d, 0x84, 0xf0, 0x3e, 0x7d, 0xfa, 0x7a, 0x04, 0xe2, 0x67, 0x53, 0x11,
0xdb, 0x50, 0x02, 0x90, 0x05, 0x38, 0x1a, 0x44, 0xec, 0xc4, 0xea, 0x22, 0x1c, 0x76, 0xfd, 0xcd,
0x0b, 0xa2, 0xa8, 0xdb, 0x31, 0x9b, 0x19, 0x7c, 0xbc, 0x31, 0x76, 0x02, 0x1d, 0xb9, 0x4a, 0x15,
0x51, 0xd4, 0x25, 0xc3, 0x78, 0xcb, 0xd4, 0x15, 0x55, 0xe6, 0x0f, 0xad, 0xf8, 0xcf, 0x59, 0x71,
0x7b, 0x3e, 0xdc, 0x98, 0xbc, 0x01, 0xdd, 0xae, 0xa8, 0x65, 0xbe, 0xd9, 0x90, 0x78, 0xea, 0xec,
0x06, 0x81, 0x52, 0xd0, 0xcd, 0x05, 0xa9, 0x26, 0xc9, 0x76, 0x29, 0xb6, 0x9d, 0x54, 0xdb, 0x4a,
0xe6, 0x6f, 0x02, 0x83, 0x09, 0xb0, 0x31, 0x50, 0x1f, 0x40, 0x41, 0x74, 0x8f, 0xe7, 0x75, 0x3c,
0x76, 0xca, 0x68, 0x24, 0x2e, 0x66, 0x9e, 0x29, 0xc7, 0xd2, 0x4c, 0xa9, 0x11, 0xbc, 0x2f, 0x7e,
0x1b, 0xc8, 0x87, 0xbf, 0x19, 0x76, 0x4c, 0xf3, 0x62, 0xf8, 0x4b, 0xfb, 0xea, 0xed, 0x3b, 0x02,
0xc3, 0x41, 0xbe, 0xd7, 0xd5, 0x05, 0x4d, 0x15, 0x15, 0x55, 0xde, 0x17, 0xf9, 0x7a, 0x4a, 0x60,
0x24, 0x0b, 0x7e, 0x4c, 0x9c, 0x0c, 0xf9, 0x65, 0xe7, 0x7b, 0x28, 0x6f, 0xa3, 0x71, 0x79, 0x8b,
0x30, 0xe9, 0xaf, 0x7a, 0xea, 0x9a, 0xdc, 0x85, 0x04, 0x7d, 0x45, 0xb0, 0x5d, 0xfd, 0x05, 0x62,
0x67, 0xe3, 0x1c, 0x1c, 0xc6, 0xda, 0x08, 0x66, 0xa3, 0xef, 0xf1, 0xc6, 0x58, 0x01, 0x5d, 0x6d,
0x4b, 0x82, 0x2b, 0x6f, 0x25, 0x21, 0x9c, 0xce, 0x8e, 0xd6, 0xd2, 0xf9, 0xd2, 0xff, 0xef, 0xde,
0x1b, 0xc8, 0xfd, 0x75, 0x6f, 0x20, 0xc7, 0xae, 0xe0, 0x95, 0x1b, 0xae, 0x67, 0xfa, 0x2e, 0xe4,
0x23, 0xba, 0x06, 0x2f, 0x9a, 0x26, 0x9a, 0x86, 0xa7, 0xe1, 0x96, 0x60, 0xbf, 0x26, 0x30, 0x60,
0x39, 0x8e, 0x48, 0xd6, 0x9e, 0x0e, 0x98, 0x8e, 0xf7, 0x64, 0x24, 0x6e, 0x8c, 0xdc, 0x55, 0xe8,
0xb2, 0x6b, 0x0c, 0x83, 0xd5, 0x6a, 0xa5, 0xa2, 0x15, 0xf6, 0xbe, 0x73, 0x39, 0x5f, 0x70, 0xe8,
0x45, 0x34, 0xfb, 0x8e, 0xa3, 0xd5, 0xa6, 0x1e, 0xf7, 0xc5, 0xea, 0x67, 0xe7, 0x76, 0x8e, 0xc6,
0x8d, 0xd1, 0xaa, 0xb6, 0xed, 0x76, 0xf6, 0x85, 0x6e, 0x77, 0xaf, 0xe1, 0x07, 0xce, 0x35, 0xec,
0x12, 0x4b, 0xba, 0x86, 0xf7, 0x60, 0x66, 0xdc, 0x7b, 0x38, 0x85, 0xc0, 0xbe, 0xbd, 0x87, 0x1f,
0x74, 0xc0, 0x31, 0x8b, 0x20, 0x2f, 0x89, 0xbb, 0x92, 0x11, 0x6a, 0xe8, 0x8b, 0xf3, 0x91, 0xb7,
0x4b, 0xbc, 0x91, 0x23, 0x86, 0xbe, 0x38, 0xb7, 0xed, 0x5d, 0xa5, 0xa2, 0x61, 0x6e, 0xb7, 0x73,
0x20, 0xcd, 0x8e, 0x68, 0x98, 0x73, 0x09, 0xef, 0x73, 0x67, 0x1b, 0x2a, 0xe4, 0x09, 0x01, 0x26,
0x2a, 0x80, 0x58, 0x11, 0x2a, 0xf4, 0xea, 0x52, 0x42, 0xdb, 0x3e, 0x17, 0x57, 0x14, 0x7e, 0x73,
0x51, 0x8d, 0x7b, 0x54, 0x97, 0x76, 0xb5, 0x75, 0x37, 0x9c, 0x87, 0xc7, 0xad, 0xfc, 0xf0, 0xa2,
0xb3, 0x07, 0x1b, 0xf6, 0xdb, 0xd0, 0x13, 0xb0, 0x7f, 0x96, 0xa4, 0xfb, 0x04, 0x8a, 0x31, 0xd8,
0xf7, 0xf4, 0x53, 0xbf, 0x14, 0x5b, 0x29, 0xbb, 0xb2, 0x82, 0x9d, 0xc6, 0x86, 0xbb, 0xa8, 0x18,
0xa6, 0xa6, 0x2b, 0x8b, 0x42, 0xed, 0x92, 0x7a, 0x43, 0xf3, 0x2d, 0xdf, 0x55, 0x49, 0x91, 0xab,
0xa6, 0xe5, 0xe6, 0x00, 0x8f, 0xbf, 0x35, 0xea, 0xf9, 0x78, 0xa4, 0x1a, 0x22, 0x3c, 0x0b, 0x9d,
0x55, 0xc5, 0x30, 0x11, 0xdc, 0xa9, 0x38, 0x70, 0x41, 0xed, 0x99, 0x8e, 0x3e, 0xc2, 0x5b, 0x7a,
0xf4, 0x3a, 0xf4, 0x54, 0xdd, 0x6f, 0xf3, 0xba, 0xb4, 0xa8, 0xe9, 0x22, 0x16, 0xc3, 0x50, 0xba,
0x31, 0xde, 0x92, 0xe7, 0x8f, 0x54, 0xb7, 0x9d, 0xb0, 0x14, 0x8e, 0x58, 0xa8, 0x67, 0x35, 0xad,
0x86, 0x14, 0xd9, 0x59, 0xe8, 0xf1, 0x9d, 0x21, 0xfe, 0x97, 0xa1, 0xb3, 0xae, 0x69, 0x35, 0xc4,
0xdf, 0x1f, 0xe7, 0xb2, 0xa1, 0xe3, 0x8f, 0xab, 0xa5, 0xc4, 0x16, 0x80, 0xda, 0x16, 0x05, 0x5d,
0x58, 0x72, 0xda, 0x9b, 0x7d, 0x1b, 0xf2, 0x81, 0x53, 0xf4, 0x54, 0x81, 0xae, 0xba, 0x75, 0x82,
0xbe, 0x8a, 0xb1, 0xbe, 0x2c, 0xa9, 0xc0, 0xa0, 0x66, 0x2b, 0x4e, 0xac, 0xf7, 0xc2, 0xff, 0x2c,
0xd3, 0xf4, 0x33, 0x02, 0xe0, 0x75, 0x28, 0x2d, 0xc7, 0xd9, 0x8a, 0xfe, 0x53, 0x0b, 0xc3, 0x65,
0x96, 0xc7, 0x79, 0x9a, 0xbb, 0xdb, 0x00, 0xf2, 0xe1, 0x4f, 0x7f, 0x7c, 0xda, 0x71, 0x92, 0xb2,
0x5c, 0xcc, 0x1f, 0x8d, 0x7c, 0xdd, 0xfd, 0x25, 0x81, 0x6e, 0xd7, 0x0e, 0x1d, 0xcb, 0xe6, 0xcf,
0x81, 0x57, 0xce, 0x2a, 0x8e, 0xe8, 0xce, 0x7b, 0xe8, 0x5e, 0xa0, 0x93, 0xe9, 0xe8, 0xb8, 0xd5,
0x60, 0x33, 0xaf, 0xd1, 0x5f, 0x09, 0x14, 0xa2, 0x76, 0x7c, 0x3a, 0x9d, 0x0d, 0x4a, 0x78, 0x2c,
0x63, 0x5e, 0x6c, 0x41, 0x13, 0xf9, 0x5c, 0xf1, 0xf8, 0x54, 0xe8, 0xb9, 0x16, 0xf8, 0x70, 0xbe,
0x37, 0x95, 0xfe, 0x4b, 0xe0, 0x44, 0xe2, 0x3e, 0x4c, 0x2b, 0xd9, 0xa0, 0x26, 0x0c, 0xa1, 0xcc,
0xcc, 0x4e, 0x4c, 0x20, 0xed, 0x39, 0x8f, 0xf6, 0x65, 0x7a, 0xa9, 0x15, 0xda, 0xde, 0x14, 0xe9,
0x0f, 0xc0, 0x0f, 0x04, 0xc0, 0xf3, 0x97, 0xd2, 0x2c, 0xa1, 0x3d, 0x31, 0xa5, 0x59, 0xc2, 0x7b,
0x02, 0xfb, 0xbe, 0xc7, 0x83, 0xa7, 0xb3, 0x3b, 0x4c, 0x1f, 0xb7, 0x1a, 0x7c, 0xb9, 0xd6, 0xe8,
0x3f, 0x04, 0xf2, 0x11, 0x71, 0xa4, 0x67, 0x12, 0x71, 0xc6, 0x2f, 0xc2, 0xcc, 0x74, 0xf3, 0x8a,
0xc8, 0x54, 0xf7, 0x98, 0xca, 0x54, 0x6a, 0x37, 0xd3, 0xc8, 0x74, 0xd2, 0x1f, 0x09, 0x14, 0xa2,
0x16, 0xbe, 0x94, 0x56, 0x4d, 0xd8, 0x6d, 0x53, 0x5a, 0x35, 0x69, 0xbb, 0x64, 0x2b, 0x5e, 0x04,
0xa6, 0xe8, 0xe9, 0xb8, 0x08, 0x24, 0xe6, 0xb3, 0xd1, 0x9f, 0x89, 0x7b, 0x52, 0x4a, 0x7f, 0x66,
0x59, 0x12, 0x53, 0xfa, 0x33, 0xd3, 0x9a, 0x96, 0xb1, 0x3f, 0x5d, 0x7a, 0x19, 0x13, 0x6a, 0xd0,
0xef, 0x09, 0x1c, 0x0a, 0xac, 0x01, 0x74, 0x3c, 0x11, 0x6d, 0xd4, 0xce, 0xc5, 0x4c, 0x34, 0xa3,
0x82, 0x84, 0xae, 0x7a, 0x84, 0x5e, 0xa5, 0x95, 0x56, 0x08, 0xe9, 0x01, 0xd8, 0x4f, 0x08, 0xe4,
0x23, 0x06, 0xe8, 0x94, 0xce, 0x8c, 0xdf, 0x14, 0x98, 0xe9, 0xe6, 0x15, 0x91, 0xda, 0x65, 0x8f,
0xda, 0x79, 0x7a, 0xb6, 0x15, 0x6a, 0xbe, 0xc7, 0x7c, 0x8b, 0x00, 0x0d, 0x3b, 0xa3, 0x53, 0x4d,
0xa2, 0x73, 0x58, 0x9d, 0x69, 0x5a, 0x0f, 0x49, 0xbd, 0xe7, 0x91, 0xba, 0x46, 0xdf, 0xdc, 0x19,
0xa9, 0xf0, 0x0c, 0xf0, 0x0d, 0x81, 0xc3, 0xc1, 0x39, 0x95, 0x26, 0x17, 0x55, 0xe4, 0x24, 0xcd,
0x4c, 0x36, 0xa5, 0x83, 0xcc, 0x5e, 0xf1, 0x98, 0x4d, 0xd0, 0xe7, 0xe3, 0x98, 0xf9, 0x26, 0x65,
0x45, 0xbd, 0xa1, 0x71, 0xab, 0xf6, 0x90, 0xbe, 0x46, 0x3f, 0x22, 0xd0, 0xd9, 0x18, 0x51, 0xe9,
0x50, 0xa2, 0x73, 0xdf, 0x34, 0xcc, 0x0c, 0x67, 0x90, 0x44, 0x70, 0xc3, 0x1e, 0xb8, 0x22, 0xed,
0x8f, 0x03, 0xd7, 0x98, 0x88, 0xe9, 0xc7, 0x04, 0xba, 0xec, 0xf9, 0x95, 0x8e, 0x24, 0x3b, 0xf0,
0x8f, 0xcc, 0xcc, 0x68, 0x26, 0x59, 0x84, 0x33, 0xea, 0xc1, 0x29, 0xd1, 0x62, 0x2c, 0x1c, 0x7b,
0x8a, 0x9e, 0x7a, 0xb8, 0x59, 0x24, 0x8f, 0x36, 0x8b, 0xe4, 0xf7, 0xcd, 0x22, 0xf9, 0x64, 0xab,
0x98, 0x7b, 0xb4, 0x55, 0xcc, 0xfd, 0xb2, 0x55, 0xcc, 0xbd, 0xd3, 0x6f, 0x2b, 0x1a, 0xe2, 0xcd,
0xb2, 0xa2, 0x71, 0xb7, 0x5d, 0x03, 0xe6, 0x9d, 0xba, 0x64, 0x2c, 0x74, 0x59, 0xff, 0x5b, 0x39,
0xf9, 0x5f, 0x00, 0x00, 0x00, 0xff, 0xff, 0x7e, 0xc7, 0xdf, 0xa5, 0xbc, 0x1d, 0x00, 0x00,
// 1487 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xd4, 0x59, 0xdd, 0x6f, 0x14, 0x65,
0x17, 0xef, 0xb3, 0xed, 0xdb, 0xbc, 0x3d, 0x04, 0xd2, 0x3e, 0xbb, 0xd4, 0x32, 0x94, 0xed, 0x32,
0x41, 0x2c, 0xc5, 0xce, 0x40, 0x41, 0x40, 0x8c, 0xc0, 0x56, 0xa2, 0x20, 0x04, 0xcb, 0x1a, 0xaa,
0xf1, 0x23, 0xcd, 0xb4, 0x3b, 0xcc, 0x4e, 0x68, 0x67, 0x96, 0x79, 0xa6, 0x0d, 0x84, 0x10, 0x13,
0x2f, 0x0c, 0xde, 0x18, 0x13, 0xef, 0x0d, 0x97, 0xc6, 0x68, 0xc2, 0x45, 0x31, 0x7a, 0x21, 0x97,
0x86, 0x0b, 0x63, 0x08, 0x06, 0xa3, 0x5e, 0xa0, 0x69, 0x4d, 0xf4, 0xc6, 0xff, 0xc0, 0x18, 0x33,
0x33, 0x67, 0xbe, 0x3a, 0x9f, 0xbb, 0xdd, 0x26, 0xe5, 0xa6, 0xe9, 0x3e, 0x73, 0x3e, 0x7e, 0xbf,
0xf3, 0xf1, 0xcc, 0x39, 0xbb, 0xc0, 0xcf, 0xe9, 0x6c, 0x41, 0x67, 0x22, 0x33, 0xa5, 0x2b, 0xaa,
0xa6, 0x88, 0x4b, 0x07, 0x67, 0x65, 0x53, 0x3a, 0x28, 0x5e, 0x5d, 0x94, 0x8d, 0xeb, 0x42, 0xd3,
0xd0, 0x4d, 0x9d, 0x0e, 0x3a, 0x32, 0x02, 0xca, 0x08, 0x28, 0xc3, 0x8d, 0xa1, 0xee, 0xac, 0xc4,
0x64, 0x47, 0xc1, 0x53, 0x6f, 0x4a, 0x8a, 0xaa, 0x49, 0xa6, 0xaa, 0x6b, 0x8e, 0x0d, 0xae, 0xa4,
0xe8, 0x8a, 0x6e, 0xff, 0x2b, 0x5a, 0xff, 0xe1, 0xe9, 0xb0, 0xa2, 0xeb, 0xca, 0xbc, 0x2c, 0x4a,
0x4d, 0x55, 0x94, 0x34, 0x4d, 0x37, 0x6d, 0x15, 0x86, 0x4f, 0xf7, 0x24, 0x60, 0x73, 0x71, 0x38,
0x52, 0x3b, 0x1c, 0xa9, 0x19, 0xc7, 0x38, 0x42, 0x75, 0x1e, 0xed, 0x44, 0x03, 0x2e, 0xb6, 0x20,
0x2b, 0x6e, 0x40, 0x5a, 0x50, 0x35, 0x5d, 0xb4, 0xff, 0x3a, 0x47, 0xfc, 0x35, 0x18, 0xbc, 0x68,
0x49, 0x4c, 0x4b, 0xf3, 0x6a, 0x5d, 0x32, 0x75, 0x83, 0xd5, 0xe4, 0xab, 0x8b, 0x32, 0x33, 0xe9,
0x20, 0xf4, 0x32, 0x53, 0x32, 0x17, 0xd9, 0x10, 0xa9, 0x90, 0xd1, 0xbe, 0x1a, 0x7e, 0xa2, 0x2f,
0x03, 0xf8, 0x54, 0x87, 0x0a, 0x15, 0x32, 0xba, 0x65, 0x62, 0xaf, 0x80, 0x20, 0xac, 0xb8, 0x08,
0x8e, 0x4b, 0x84, 0x2e, 0x4c, 0x49, 0x8a, 0x8c, 0x36, 0x6b, 0x01, 0x4d, 0xbe, 0x01, 0x5b, 0x3d,
0xa7, 0x67, 0xb5, 0xcb, 0x3a, 0xad, 0xc2, 0xc0, 0x9c, 0xae, 0x31, 0x59, 0x63, 0x8b, 0x6c, 0x46,
0xaa, 0xd7, 0x0d, 0x99, 0xa1, 0xef, 0xc9, 0xd2, 0xaf, 0xcb, 0xe3, 0xfd, 0xd7, 0xdc, 0x28, 0x54,
0x96, 0x0e, 0x08, 0x13, 0xc2, 0x81, 0x5a, 0xbf, 0x27, 0x5e, 0x75, 0xa4, 0x8f, 0x97, 0x1e, 0xc6,
0xc8, 0xf1, 0x1f, 0x16, 0xe0, 0xa9, 0x08, 0x49, 0xd6, 0xb4, 0x94, 0xe9, 0x79, 0x80, 0x25, 0xef,
0x74, 0x88, 0x54, 0xba, 0x47, 0xb7, 0x4c, 0xec, 0x16, 0xe2, 0xb3, 0x2f, 0x78, 0xfa, 0x93, 0x7d,
0xf7, 0x1f, 0x8f, 0x74, 0x7d, 0xf6, 0xe7, 0x9d, 0x31, 0x52, 0x0b, 0xe8, 0xd3, 0x37, 0x60, 0x9b,
0xf7, 0x69, 0x46, 0xd5, 0x2e, 0xeb, 0x43, 0x05, 0xdb, 0xe2, 0xd3, 0x99, 0x16, 0xad, 0x08, 0x04,
0xad, 0x6e, 0x5d, 0x0a, 0xc5, 0xe6, 0x95, 0x50, 0xd0, 0xbb, 0xed, 0xa0, 0x3f, 0x93, 0x19, 0x74,
0x87, 0x63, 0x28, 0xea, 0x12, 0x6c, 0x0f, 0x87, 0xc2, 0x4d, 0xf7, 0x99, 0x20, 0x74, 0x2b, 0xfa,
0x18, 0xfa, 0xdd, 0x0f, 0x97, 0xc7, 0x77, 0xa1, 0x23, 0x4f, 0x09, 0xe3, 0xfd, 0xba, 0x69, 0xa8,
0x9a, 0x12, 0xc0, 0x6a, 0x9d, 0xf3, 0xf5, 0xb5, 0x25, 0xe5, 0x05, 0xfb, 0x55, 0xe8, 0xf3, 0x44,
0x6d, 0xf3, 0xad, 0xc6, 0xda, 0x57, 0xe7, 0x97, 0x09, 0x54, 0xc2, 0x6e, 0x4e, 0xcb, 0xf3, 0xb2,
0xe2, 0x74, 0x53, 0xc7, 0x49, 0x75, 0xac, 0xea, 0xff, 0x26, 0xb0, 0x3b, 0x05, 0x36, 0x06, 0xea,
0x3d, 0x28, 0xd5, 0xbd, 0xe3, 0x19, 0x03, 0x8f, 0xdd, 0xfa, 0x1c, 0x4b, 0x8a, 0x99, 0x6f, 0xca,
0xb5, 0x34, 0x59, 0xb1, 0x82, 0xf7, 0xf9, 0x6f, 0x23, 0xc5, 0xe8, 0x33, 0xe6, 0xc4, 0xb4, 0x58,
0x8f, 0x3e, 0x59, 0x53, 0x6f, 0x85, 0xf6, 0xeb, 0xed, 0x5b, 0x02, 0xfb, 0xc2, 0x7c, 0x2f, 0x69,
0xb3, 0xba, 0x56, 0x57, 0x35, 0xe5, 0x89, 0xc8, 0xd7, 0x63, 0x02, 0x63, 0x79, 0xf0, 0x63, 0xe2,
0x14, 0x28, 0x2e, 0xba, 0xcf, 0x23, 0x79, 0xdb, 0x9f, 0x94, 0xb7, 0x18, 0x93, 0xc1, 0xaa, 0xa7,
0x9e, 0xc9, 0x0d, 0x48, 0xd0, 0x97, 0x04, 0xdb, 0x35, 0x58, 0x20, 0x4e, 0x36, 0x4e, 0xc2, 0x36,
0xac, 0x8d, 0x70, 0x36, 0x86, 0x1e, 0x2e, 0x8f, 0x97, 0xd0, 0xd5, 0x9a, 0x24, 0x78, 0xf2, 0x76,
0x12, 0xa2, 0xe9, 0x2c, 0xb4, 0x97, 0xce, 0xe3, 0xff, 0xbf, 0x75, 0x7b, 0xa4, 0xeb, 0xaf, 0xdb,
0x23, 0x5d, 0xfc, 0x12, 0xde, 0xe5, 0xd1, 0x7a, 0xa6, 0x6f, 0x43, 0x31, 0xa6, 0x6b, 0xf0, 0xa2,
0x69, 0xa1, 0x69, 0x6a, 0x34, 0xda, 0x12, 0xfc, 0x57, 0x04, 0x46, 0x6c, 0xc7, 0x31, 0xc9, 0xda,
0xd4, 0x01, 0x33, 0xf0, 0x9e, 0x8c, 0xc5, 0x8d, 0x91, 0xbb, 0x00, 0xbd, 0x4e, 0x8d, 0x61, 0xb0,
0xda, 0xad, 0x54, 0xb4, 0xc2, 0xdf, 0x75, 0x2f, 0xe7, 0xd3, 0x2e, 0xbd, 0x98, 0x66, 0x5f, 0x77,
0xb4, 0x3a, 0xd4, 0xe3, 0x81, 0x58, 0xfd, 0xe4, 0xde, 0xce, 0xf1, 0xb8, 0x31, 0x5a, 0x8d, 0x8e,
0xdd, 0xce, 0x81, 0xd0, 0x6d, 0xec, 0x35, 0x7c, 0xcf, 0xbd, 0x86, 0x3d, 0x62, 0x69, 0xd7, 0xf0,
0x26, 0xcc, 0x8c, 0x77, 0x0f, 0x67, 0x10, 0x78, 0x62, 0xef, 0xe1, 0x7b, 0x05, 0xd8, 0x61, 0x13,
0xac, 0xc9, 0xf5, 0x0d, 0xc9, 0x08, 0x65, 0xc6, 0xdc, 0x4c, 0xec, 0xed, 0x92, 0x6c, 0xa4, 0x9f,
0x19, 0x73, 0xd3, 0x6b, 0xde, 0xab, 0xb4, 0xce, 0xcc, 0xb5, 0x76, 0xba, 0xb3, 0xec, 0xd4, 0x99,
0x39, 0x9d, 0xf2, 0x7e, 0xee, 0xe9, 0x40, 0x85, 0x3c, 0x22, 0xc0, 0xc5, 0x05, 0x10, 0x2b, 0x42,
0x83, 0x41, 0x43, 0x4e, 0x69, 0xdb, 0x67, 0x93, 0x8a, 0x22, 0x68, 0x2e, 0xae, 0x71, 0xb7, 0x1b,
0xf2, 0x86, 0xb6, 0xee, 0xb2, 0xfb, 0xe2, 0xf1, 0x2a, 0x3f, 0xba, 0xab, 0x6d, 0xc2, 0x86, 0xfd,
0x26, 0xf2, 0x0a, 0xd8, 0xf0, 0xed, 0xab, 0x63, 0x21, 0xbf, 0x4b, 0xa0, 0x9c, 0x80, 0x7d, 0x53,
0xbf, 0xea, 0x17, 0x12, 0x2b, 0x65, 0x43, 0x56, 0xb0, 0xc3, 0xd8, 0x70, 0x67, 0x54, 0x66, 0xea,
0x86, 0x3a, 0x27, 0xcd, 0x5b, 0xbb, 0x6a, 0xe0, 0xfb, 0x83, 0x86, 0xac, 0x2a, 0x0d, 0xd3, 0x76,
0xd3, 0x5d, 0xc3, 0x4f, 0x56, 0x3d, 0xef, 0x8c, 0x55, 0x43, 0x84, 0x27, 0xa0, 0xa7, 0xa1, 0x32,
0x13, 0xc1, 0xed, 0x4d, 0x02, 0x17, 0xd6, 0x9e, 0x2c, 0x0c, 0x91, 0x9a, 0xad, 0x47, 0x2f, 0xc1,
0x40, 0xc3, 0x7b, 0x36, 0x63, 0xc8, 0x73, 0xba, 0x51, 0xc7, 0x62, 0x18, 0xcd, 0x36, 0x56, 0xb3,
0xe5, 0x6b, 0xfd, 0x8d, 0x35, 0x27, 0x3c, 0x85, 0x7e, 0x1b, 0xf5, 0x94, 0xae, 0xcf, 0x23, 0x45,
0x7e, 0x0a, 0x06, 0x02, 0x67, 0x88, 0xff, 0x05, 0xe8, 0x69, 0xea, 0xfa, 0x3c, 0xe2, 0x1f, 0x4e,
0x72, 0x69, 0xe9, 0x04, 0xe3, 0x6a, 0x2b, 0xf1, 0x25, 0xa0, 0x8e, 0x45, 0xc9, 0x90, 0x16, 0xdc,
0xf6, 0xe6, 0xdf, 0x84, 0x62, 0xe8, 0x14, 0x3d, 0x55, 0xa1, 0xb7, 0x69, 0x9f, 0xa0, 0xaf, 0x72,
0xa2, 0x2f, 0x5b, 0x2a, 0x34, 0xa8, 0x39, 0x8a, 0x13, 0x77, 0x06, 0xe1, 0x7f, 0xb6, 0x69, 0xfa,
0x29, 0x01, 0xf0, 0x3b, 0x94, 0x0a, 0x49, 0xb6, 0xe2, 0xbf, 0x2d, 0xe2, 0xc4, 0xdc, 0xf2, 0x38,
0x4f, 0x8b, 0xb7, 0x2c, 0x20, 0xef, 0xff, 0xf8, 0xc7, 0x27, 0x85, 0x3d, 0x94, 0x17, 0x13, 0xbe,
0xf7, 0x0a, 0x74, 0xf7, 0x17, 0x04, 0xfa, 0x3c, 0x3b, 0x74, 0x3c, 0x9f, 0x3f, 0x17, 0x9e, 0x90,
0x57, 0x1c, 0xd1, 0x9d, 0xf2, 0xd1, 0x3d, 0x47, 0x0f, 0x65, 0xa3, 0x13, 0x6f, 0x84, 0x9b, 0xf9,
0x26, 0xfd, 0x85, 0x40, 0x29, 0x6e, 0xc7, 0xa7, 0xc7, 0xf2, 0x41, 0x89, 0x8e, 0x65, 0xdc, 0xf3,
0x6d, 0x68, 0x22, 0x9f, 0xf3, 0x3e, 0x9f, 0x2a, 0x3d, 0xd9, 0x06, 0x1f, 0x31, 0xf0, 0x4e, 0xa5,
0xff, 0x12, 0xd8, 0x95, 0xba, 0x0f, 0xd3, 0x6a, 0x3e, 0xa8, 0x29, 0x43, 0x28, 0x37, 0xb9, 0x1e,
0x13, 0x48, 0x7b, 0xda, 0xa7, 0x7d, 0x8e, 0x9e, 0x6d, 0x87, 0xb6, 0x3f, 0x45, 0x06, 0x03, 0xf0,
0x3d, 0x01, 0xf0, 0xfd, 0x65, 0x34, 0x4b, 0x64, 0x4f, 0xcc, 0x68, 0x96, 0xe8, 0x9e, 0xc0, 0xbf,
0xeb, 0xf3, 0xa8, 0xd1, 0xa9, 0x75, 0xa6, 0x4f, 0xbc, 0x11, 0x7e, 0x73, 0xdd, 0xa4, 0xff, 0x10,
0x28, 0xc6, 0xc4, 0x91, 0x1e, 0x4d, 0xc5, 0x99, 0xbc, 0x08, 0x73, 0xc7, 0x5a, 0x57, 0x44, 0xa6,
0x86, 0xcf, 0x54, 0xa1, 0x72, 0xa7, 0x99, 0xc6, 0xa6, 0x93, 0xfe, 0x40, 0xa0, 0x14, 0xb7, 0xf0,
0x65, 0xb4, 0x6a, 0xca, 0x6e, 0x9b, 0xd1, 0xaa, 0x69, 0xdb, 0x25, 0x5f, 0xf5, 0x23, 0x70, 0x84,
0x1e, 0x4e, 0x8a, 0x40, 0x6a, 0x3e, 0xad, 0xfe, 0x4c, 0xdd, 0x93, 0x32, 0xfa, 0x33, 0xcf, 0x92,
0x98, 0xd1, 0x9f, 0xb9, 0xd6, 0xb4, 0x9c, 0xfd, 0xe9, 0xd1, 0xcb, 0x99, 0x50, 0x46, 0xbf, 0x23,
0xb0, 0x35, 0xb4, 0x06, 0xd0, 0x83, 0xa9, 0x68, 0xe3, 0x76, 0x2e, 0x6e, 0xa2, 0x15, 0x15, 0x24,
0x74, 0xc1, 0x27, 0xf4, 0x12, 0xad, 0xb6, 0x43, 0xc8, 0x08, 0xc1, 0x7e, 0x44, 0xa0, 0x18, 0x33,
0x40, 0x67, 0x74, 0x66, 0xf2, 0xa6, 0xc0, 0x1d, 0x6b, 0x5d, 0x11, 0xa9, 0x9d, 0xf3, 0xa9, 0x9d,
0xa2, 0x27, 0xda, 0xa1, 0x16, 0x78, 0x99, 0xaf, 0x12, 0xa0, 0x51, 0x67, 0xf4, 0x48, 0x8b, 0xe8,
0x5c, 0x56, 0x47, 0x5b, 0xd6, 0x43, 0x52, 0xef, 0xf8, 0xa4, 0x2e, 0xd2, 0xd7, 0xd6, 0x47, 0x2a,
0x3a, 0x03, 0x7c, 0x4d, 0x60, 0x5b, 0x78, 0x4e, 0xa5, 0xe9, 0x45, 0x15, 0x3b, 0x49, 0x73, 0x87,
0x5a, 0xd2, 0x41, 0x66, 0x2f, 0xfa, 0xcc, 0x26, 0xe8, 0x81, 0x24, 0x66, 0x81, 0x49, 0x59, 0xd5,
0x2e, 0xeb, 0xe2, 0x0d, 0x67, 0x48, 0xbf, 0x49, 0x3f, 0x20, 0xd0, 0x63, 0x8d, 0xa8, 0x74, 0x34,
0xd5, 0x79, 0x60, 0x1a, 0xe6, 0xf6, 0xe5, 0x90, 0x44, 0x70, 0xfb, 0x7c, 0x70, 0x65, 0x3a, 0x9c,
0x04, 0xce, 0x9a, 0x88, 0xe9, 0x47, 0x04, 0x7a, 0x9d, 0xf9, 0x95, 0x8e, 0xa5, 0x3b, 0x08, 0x8e,
0xcc, 0xdc, 0xfe, 0x5c, 0xb2, 0x08, 0x67, 0xbf, 0x0f, 0xa7, 0x42, 0xcb, 0x89, 0x70, 0x9c, 0x29,
0xfa, 0xc8, 0xfd, 0x95, 0x32, 0x79, 0xb0, 0x52, 0x26, 0xbf, 0xaf, 0x94, 0xc9, 0xc7, 0xab, 0xe5,
0xae, 0x07, 0xab, 0xe5, 0xae, 0x9f, 0x57, 0xcb, 0x5d, 0x6f, 0x0d, 0x3b, 0x8a, 0xac, 0x7e, 0x45,
0x50, 0x75, 0xd1, 0xfb, 0x19, 0x52, 0x34, 0xaf, 0x37, 0x65, 0x36, 0xdb, 0x6b, 0xff, 0xe0, 0x7a,
0xe8, 0xbf, 0x00, 0x00, 0x00, 0xff, 0xff, 0x6b, 0x96, 0x14, 0xcd, 0x7f, 0x1e, 0x00, 0x00,
}
// Reference imports to suppress errors if they are not otherwise used.
@@ -2195,6 +2252,36 @@ func (m *QueryValidatorsRequest) MarshalToSizedBuffer(dAtA []byte) (int, error)
return len(dAtA) - i, nil
}
func (m *ValidatorInfo) 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 *ValidatorInfo) MarshalTo(dAtA []byte) (int, error) {
size := m.Size()
return m.MarshalToSizedBuffer(dAtA[:size])
}
func (m *ValidatorInfo) MarshalToSizedBuffer(dAtA []byte) (int, error) {
i := len(dAtA)
_ = i
var l int
_ = l
if len(m.ConsensusAddress) > 0 {
i -= len(m.ConsensusAddress)
copy(dAtA[i:], m.ConsensusAddress)
i = encodeVarintQuery(dAtA, i, uint64(len(m.ConsensusAddress)))
i--
dAtA[i] = 0xa
}
return len(dAtA) - i, nil
}
func (m *QueryValidatorsResponse) Marshal() (dAtA []byte, err error) {
size := m.Size()
dAtA = make([]byte, size)
@@ -2225,7 +2312,21 @@ func (m *QueryValidatorsResponse) MarshalToSizedBuffer(dAtA []byte) (int, error)
i = encodeVarintQuery(dAtA, i, uint64(size))
}
i--
dAtA[i] = 0x12
dAtA[i] = 0x1a
}
if len(m.ValidatorInfo) > 0 {
for iNdEx := len(m.ValidatorInfo) - 1; iNdEx >= 0; iNdEx-- {
{
size, err := m.ValidatorInfo[iNdEx].MarshalToSizedBuffer(dAtA[:i])
if err != nil {
return 0, err
}
i -= size
i = encodeVarintQuery(dAtA, i, uint64(size))
}
i--
dAtA[i] = 0x12
}
}
if len(m.Validators) > 0 {
for iNdEx := len(m.Validators) - 1; iNdEx >= 0; iNdEx-- {
@@ -3294,6 +3395,19 @@ func (m *QueryValidatorsRequest) Size() (n int) {
return n
}
func (m *ValidatorInfo) Size() (n int) {
if m == nil {
return 0
}
var l int
_ = l
l = len(m.ConsensusAddress)
if l > 0 {
n += 1 + l + sovQuery(uint64(l))
}
return n
}
func (m *QueryValidatorsResponse) Size() (n int) {
if m == nil {
return 0
@@ -3306,6 +3420,12 @@ func (m *QueryValidatorsResponse) Size() (n int) {
n += 1 + l + sovQuery(uint64(l))
}
}
if len(m.ValidatorInfo) > 0 {
for _, e := range m.ValidatorInfo {
l = e.Size()
n += 1 + l + sovQuery(uint64(l))
}
}
if m.Pagination != nil {
l = m.Pagination.Size()
n += 1 + l + sovQuery(uint64(l))
@@ -3840,6 +3960,88 @@ func (m *QueryValidatorsRequest) Unmarshal(dAtA []byte) error {
}
return nil
}
func (m *ValidatorInfo) 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: ValidatorInfo: wiretype end group for non-group")
}
if fieldNum <= 0 {
return fmt.Errorf("proto: ValidatorInfo: illegal tag %d (wire type %d)", fieldNum, wire)
}
switch fieldNum {
case 1:
if wireType != 2 {
return fmt.Errorf("proto: wrong wireType = %d for field ConsensusAddress", 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.ConsensusAddress = 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 *QueryValidatorsResponse) Unmarshal(dAtA []byte) error {
l := len(dAtA)
iNdEx := 0
@@ -3904,6 +4106,40 @@ func (m *QueryValidatorsResponse) Unmarshal(dAtA []byte) error {
}
iNdEx = postIndex
case 2:
if wireType != 2 {
return fmt.Errorf("proto: wrong wireType = %d for field ValidatorInfo", 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.ValidatorInfo = append(m.ValidatorInfo, ValidatorInfo{})
if err := m.ValidatorInfo[len(m.ValidatorInfo)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
return err
}
iNdEx = postIndex
case 3:
if wireType != 2 {
return fmt.Errorf("proto: wrong wireType = %d for field Pagination", wireType)
}