refactor(staking)!: remove historical info (#20845)
Co-authored-by: Facundo <facundomedica@gmail.com>
This commit is contained in:
parent
25d2043909
commit
b68eb39412
@ -12225,16 +12225,14 @@ func (x *fastReflection_QueryHistoricalInfoRequest) ProtoMethods() *protoiface.M
|
||||
}
|
||||
|
||||
var (
|
||||
md_QueryHistoricalInfoResponse protoreflect.MessageDescriptor
|
||||
fd_QueryHistoricalInfoResponse_hist protoreflect.FieldDescriptor
|
||||
fd_QueryHistoricalInfoResponse_historical_record protoreflect.FieldDescriptor
|
||||
md_QueryHistoricalInfoResponse protoreflect.MessageDescriptor
|
||||
fd_QueryHistoricalInfoResponse_hist protoreflect.FieldDescriptor
|
||||
)
|
||||
|
||||
func init() {
|
||||
file_cosmos_staking_v1beta1_query_proto_init()
|
||||
md_QueryHistoricalInfoResponse = File_cosmos_staking_v1beta1_query_proto.Messages().ByName("QueryHistoricalInfoResponse")
|
||||
fd_QueryHistoricalInfoResponse_hist = md_QueryHistoricalInfoResponse.Fields().ByName("hist")
|
||||
fd_QueryHistoricalInfoResponse_historical_record = md_QueryHistoricalInfoResponse.Fields().ByName("historical_record")
|
||||
}
|
||||
|
||||
var _ protoreflect.Message = (*fastReflection_QueryHistoricalInfoResponse)(nil)
|
||||
@ -12308,12 +12306,6 @@ func (x *fastReflection_QueryHistoricalInfoResponse) Range(f func(protoreflect.F
|
||||
return
|
||||
}
|
||||
}
|
||||
if x.HistoricalRecord != nil {
|
||||
value := protoreflect.ValueOfMessage(x.HistoricalRecord.ProtoReflect())
|
||||
if !f(fd_QueryHistoricalInfoResponse_historical_record, value) {
|
||||
return
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Has reports whether a field is populated.
|
||||
@ -12331,8 +12323,6 @@ func (x *fastReflection_QueryHistoricalInfoResponse) Has(fd protoreflect.FieldDe
|
||||
switch fd.FullName() {
|
||||
case "cosmos.staking.v1beta1.QueryHistoricalInfoResponse.hist":
|
||||
return x.Hist != nil
|
||||
case "cosmos.staking.v1beta1.QueryHistoricalInfoResponse.historical_record":
|
||||
return x.HistoricalRecord != nil
|
||||
default:
|
||||
if fd.IsExtension() {
|
||||
panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.staking.v1beta1.QueryHistoricalInfoResponse"))
|
||||
@ -12351,8 +12341,6 @@ func (x *fastReflection_QueryHistoricalInfoResponse) Clear(fd protoreflect.Field
|
||||
switch fd.FullName() {
|
||||
case "cosmos.staking.v1beta1.QueryHistoricalInfoResponse.hist":
|
||||
x.Hist = nil
|
||||
case "cosmos.staking.v1beta1.QueryHistoricalInfoResponse.historical_record":
|
||||
x.HistoricalRecord = nil
|
||||
default:
|
||||
if fd.IsExtension() {
|
||||
panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.staking.v1beta1.QueryHistoricalInfoResponse"))
|
||||
@ -12372,9 +12360,6 @@ func (x *fastReflection_QueryHistoricalInfoResponse) Get(descriptor protoreflect
|
||||
case "cosmos.staking.v1beta1.QueryHistoricalInfoResponse.hist":
|
||||
value := x.Hist
|
||||
return protoreflect.ValueOfMessage(value.ProtoReflect())
|
||||
case "cosmos.staking.v1beta1.QueryHistoricalInfoResponse.historical_record":
|
||||
value := x.HistoricalRecord
|
||||
return protoreflect.ValueOfMessage(value.ProtoReflect())
|
||||
default:
|
||||
if descriptor.IsExtension() {
|
||||
panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.staking.v1beta1.QueryHistoricalInfoResponse"))
|
||||
@ -12397,8 +12382,6 @@ func (x *fastReflection_QueryHistoricalInfoResponse) Set(fd protoreflect.FieldDe
|
||||
switch fd.FullName() {
|
||||
case "cosmos.staking.v1beta1.QueryHistoricalInfoResponse.hist":
|
||||
x.Hist = value.Message().Interface().(*HistoricalInfo)
|
||||
case "cosmos.staking.v1beta1.QueryHistoricalInfoResponse.historical_record":
|
||||
x.HistoricalRecord = value.Message().Interface().(*HistoricalRecord)
|
||||
default:
|
||||
if fd.IsExtension() {
|
||||
panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.staking.v1beta1.QueryHistoricalInfoResponse"))
|
||||
@ -12424,11 +12407,6 @@ func (x *fastReflection_QueryHistoricalInfoResponse) Mutable(fd protoreflect.Fie
|
||||
x.Hist = new(HistoricalInfo)
|
||||
}
|
||||
return protoreflect.ValueOfMessage(x.Hist.ProtoReflect())
|
||||
case "cosmos.staking.v1beta1.QueryHistoricalInfoResponse.historical_record":
|
||||
if x.HistoricalRecord == nil {
|
||||
x.HistoricalRecord = new(HistoricalRecord)
|
||||
}
|
||||
return protoreflect.ValueOfMessage(x.HistoricalRecord.ProtoReflect())
|
||||
default:
|
||||
if fd.IsExtension() {
|
||||
panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.staking.v1beta1.QueryHistoricalInfoResponse"))
|
||||
@ -12445,9 +12423,6 @@ func (x *fastReflection_QueryHistoricalInfoResponse) NewField(fd protoreflect.Fi
|
||||
case "cosmos.staking.v1beta1.QueryHistoricalInfoResponse.hist":
|
||||
m := new(HistoricalInfo)
|
||||
return protoreflect.ValueOfMessage(m.ProtoReflect())
|
||||
case "cosmos.staking.v1beta1.QueryHistoricalInfoResponse.historical_record":
|
||||
m := new(HistoricalRecord)
|
||||
return protoreflect.ValueOfMessage(m.ProtoReflect())
|
||||
default:
|
||||
if fd.IsExtension() {
|
||||
panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.staking.v1beta1.QueryHistoricalInfoResponse"))
|
||||
@ -12521,10 +12496,6 @@ func (x *fastReflection_QueryHistoricalInfoResponse) ProtoMethods() *protoiface.
|
||||
l = options.Size(x.Hist)
|
||||
n += 1 + l + runtime.Sov(uint64(l))
|
||||
}
|
||||
if x.HistoricalRecord != nil {
|
||||
l = options.Size(x.HistoricalRecord)
|
||||
n += 1 + l + runtime.Sov(uint64(l))
|
||||
}
|
||||
if x.unknownFields != nil {
|
||||
n += len(x.unknownFields)
|
||||
}
|
||||
@ -12554,20 +12525,6 @@ func (x *fastReflection_QueryHistoricalInfoResponse) ProtoMethods() *protoiface.
|
||||
i -= len(x.unknownFields)
|
||||
copy(dAtA[i:], x.unknownFields)
|
||||
}
|
||||
if x.HistoricalRecord != nil {
|
||||
encoded, err := options.Marshal(x.HistoricalRecord)
|
||||
if err != nil {
|
||||
return protoiface.MarshalOutput{
|
||||
NoUnkeyedLiterals: input.NoUnkeyedLiterals,
|
||||
Buf: input.Buf,
|
||||
}, err
|
||||
}
|
||||
i -= len(encoded)
|
||||
copy(dAtA[i:], encoded)
|
||||
i = runtime.EncodeVarint(dAtA, i, uint64(len(encoded)))
|
||||
i--
|
||||
dAtA[i] = 0x12
|
||||
}
|
||||
if x.Hist != nil {
|
||||
encoded, err := options.Marshal(x.Hist)
|
||||
if err != nil {
|
||||
@ -12667,42 +12624,6 @@ func (x *fastReflection_QueryHistoricalInfoResponse) ProtoMethods() *protoiface.
|
||||
return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err
|
||||
}
|
||||
iNdEx = postIndex
|
||||
case 2:
|
||||
if wireType != 2 {
|
||||
return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field HistoricalRecord", wireType)
|
||||
}
|
||||
var msglen int
|
||||
for shift := uint(0); ; shift += 7 {
|
||||
if shift >= 64 {
|
||||
return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow
|
||||
}
|
||||
if iNdEx >= l {
|
||||
return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
|
||||
}
|
||||
b := dAtA[iNdEx]
|
||||
iNdEx++
|
||||
msglen |= int(b&0x7F) << shift
|
||||
if b < 0x80 {
|
||||
break
|
||||
}
|
||||
}
|
||||
if msglen < 0 {
|
||||
return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
|
||||
}
|
||||
postIndex := iNdEx + msglen
|
||||
if postIndex < 0 {
|
||||
return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
|
||||
}
|
||||
if postIndex > l {
|
||||
return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
|
||||
}
|
||||
if x.HistoricalRecord == nil {
|
||||
x.HistoricalRecord = &HistoricalRecord{}
|
||||
}
|
||||
if err := options.Unmarshal(dAtA[iNdEx:postIndex], x.HistoricalRecord); err != nil {
|
||||
return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err
|
||||
}
|
||||
iNdEx = postIndex
|
||||
default:
|
||||
iNdEx = preIndex
|
||||
skippy, err := runtime.Skip(dAtA[iNdEx:])
|
||||
@ -14379,6 +14300,7 @@ func (x *QueryValidatorsRequest) GetPagination() *v1beta1.PageRequest {
|
||||
return nil
|
||||
}
|
||||
|
||||
// ValidatorInfo contains the validator's address and public key.
|
||||
type ValidatorInfo struct {
|
||||
state protoimpl.MessageState
|
||||
sizeCache protoimpl.SizeCache
|
||||
@ -15378,6 +15300,8 @@ func (x *QueryDelegatorValidatorResponse) GetValidator() *Validator {
|
||||
|
||||
// QueryHistoricalInfoRequest is request type for the Query/HistoricalInfo RPC
|
||||
// method.
|
||||
//
|
||||
// Deprecated: Do not use.
|
||||
type QueryHistoricalInfoRequest struct {
|
||||
state protoimpl.MessageState
|
||||
sizeCache protoimpl.SizeCache
|
||||
@ -15416,6 +15340,8 @@ func (x *QueryHistoricalInfoRequest) GetHeight() int64 {
|
||||
|
||||
// QueryHistoricalInfoResponse is response type for the Query/HistoricalInfo RPC
|
||||
// method.
|
||||
//
|
||||
// Deprecated: Do not use.
|
||||
type QueryHistoricalInfoResponse struct {
|
||||
state protoimpl.MessageState
|
||||
sizeCache protoimpl.SizeCache
|
||||
@ -15424,8 +15350,7 @@ type QueryHistoricalInfoResponse struct {
|
||||
// hist defines the historical info at the given height.
|
||||
//
|
||||
// Deprecated: Do not use.
|
||||
Hist *HistoricalInfo `protobuf:"bytes,1,opt,name=hist,proto3" json:"hist,omitempty"`
|
||||
HistoricalRecord *HistoricalRecord `protobuf:"bytes,2,opt,name=historical_record,json=historicalRecord,proto3" json:"historical_record,omitempty"`
|
||||
Hist *HistoricalInfo `protobuf:"bytes,1,opt,name=hist,proto3" json:"hist,omitempty"`
|
||||
}
|
||||
|
||||
func (x *QueryHistoricalInfoResponse) Reset() {
|
||||
@ -15456,13 +15381,6 @@ func (x *QueryHistoricalInfoResponse) GetHist() *HistoricalInfo {
|
||||
return nil
|
||||
}
|
||||
|
||||
func (x *QueryHistoricalInfoResponse) GetHistoricalRecord() *HistoricalRecord {
|
||||
if x != nil {
|
||||
return x.HistoricalRecord
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
// QueryPoolRequest is request type for the Query/Pool RPC method.
|
||||
type QueryPoolRequest struct {
|
||||
state protoimpl.MessageState
|
||||
@ -15870,22 +15788,17 @@ var file_cosmos_staking_v1beta1_query_proto_rawDesc = []byte{
|
||||
0x32, 0x21, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e,
|
||||
0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61,
|
||||
0x74, 0x6f, 0x72, 0x42, 0x09, 0xc8, 0xde, 0x1f, 0x00, 0xa8, 0xe7, 0xb0, 0x2a, 0x01, 0x52, 0x09,
|
||||
0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x22, 0x34, 0x0a, 0x1a, 0x51, 0x75, 0x65,
|
||||
0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x22, 0x38, 0x0a, 0x1a, 0x51, 0x75, 0x65,
|
||||
0x72, 0x79, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x69, 0x63, 0x61, 0x6c, 0x49, 0x6e, 0x66, 0x6f,
|
||||
0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x68, 0x65, 0x69, 0x67, 0x68,
|
||||
0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x22,
|
||||
0xb4, 0x01, 0x0a, 0x1b, 0x51, 0x75, 0x65, 0x72, 0x79, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x69,
|
||||
0x63, 0x61, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12,
|
||||
0x3e, 0x0a, 0x04, 0x68, 0x69, 0x73, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e,
|
||||
0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76,
|
||||
0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x69, 0x63, 0x61,
|
||||
0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x42, 0x02, 0x18, 0x01, 0x52, 0x04, 0x68, 0x69, 0x73, 0x74, 0x12,
|
||||
0x55, 0x0a, 0x11, 0x68, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x69, 0x63, 0x61, 0x6c, 0x5f, 0x72, 0x65,
|
||||
0x63, 0x6f, 0x72, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x63, 0x6f, 0x73,
|
||||
0x6d, 0x6f, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65,
|
||||
0x74, 0x61, 0x31, 0x2e, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x69, 0x63, 0x61, 0x6c, 0x52, 0x65,
|
||||
0x63, 0x6f, 0x72, 0x64, 0x52, 0x10, 0x68, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x69, 0x63, 0x61, 0x6c,
|
||||
0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x22, 0x12, 0x0a, 0x10, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50,
|
||||
0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x3a,
|
||||
0x02, 0x18, 0x01, 0x22, 0x61, 0x0a, 0x1b, 0x51, 0x75, 0x65, 0x72, 0x79, 0x48, 0x69, 0x73, 0x74,
|
||||
0x6f, 0x72, 0x69, 0x63, 0x61, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
|
||||
0x73, 0x65, 0x12, 0x3e, 0x0a, 0x04, 0x68, 0x69, 0x73, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b,
|
||||
0x32, 0x26, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e,
|
||||
0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72,
|
||||
0x69, 0x63, 0x61, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x42, 0x02, 0x18, 0x01, 0x52, 0x04, 0x68, 0x69,
|
||||
0x73, 0x74, 0x3a, 0x02, 0x18, 0x01, 0x22, 0x12, 0x0a, 0x10, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50,
|
||||
0x6f, 0x6f, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x50, 0x0a, 0x11, 0x51, 0x75,
|
||||
0x65, 0x72, 0x79, 0x50, 0x6f, 0x6f, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12,
|
||||
0x3b, 0x0a, 0x04, 0x70, 0x6f, 0x6f, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e,
|
||||
@ -15898,7 +15811,7 @@ var file_cosmos_staking_v1beta1_query_proto_rawDesc = []byte{
|
||||
0x61, 0x6d, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x63, 0x6f, 0x73, 0x6d,
|
||||
0x6f, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74,
|
||||
0x61, 0x31, 0x2e, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x42, 0x09, 0xc8, 0xde, 0x1f, 0x00, 0xa8,
|
||||
0xe7, 0xb0, 0x2a, 0x01, 0x52, 0x06, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x32, 0xb0, 0x16, 0x0a,
|
||||
0xe7, 0xb0, 0x2a, 0x01, 0x52, 0x06, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x32, 0xb3, 0x16, 0x0a,
|
||||
0x05, 0x51, 0x75, 0x65, 0x72, 0x79, 0x12, 0x9e, 0x01, 0x0a, 0x0a, 0x56, 0x61, 0x6c, 0x69, 0x64,
|
||||
0x61, 0x74, 0x6f, 0x72, 0x73, 0x12, 0x2e, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x73,
|
||||
0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x51,
|
||||
@ -16048,7 +15961,7 @@ var file_cosmos_staking_v1beta1_query_proto_rawDesc = []byte{
|
||||
0x61, 0x31, 0x2f, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x6f, 0x72, 0x73, 0x2f, 0x7b, 0x64,
|
||||
0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x6f, 0x72, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x7d, 0x2f, 0x76,
|
||||
0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x73, 0x2f, 0x7b, 0x76, 0x61, 0x6c, 0x69, 0x64,
|
||||
0x61, 0x74, 0x6f, 0x72, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x7d, 0x12, 0xb8, 0x01, 0x0a, 0x0e, 0x48,
|
||||
0x61, 0x74, 0x6f, 0x72, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x7d, 0x12, 0xbb, 0x01, 0x0a, 0x0e, 0x48,
|
||||
0x69, 0x73, 0x74, 0x6f, 0x72, 0x69, 0x63, 0x61, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x32, 0x2e,
|
||||
0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76,
|
||||
0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x48, 0x69, 0x73, 0x74,
|
||||
@ -16056,43 +15969,43 @@ var file_cosmos_staking_v1beta1_query_proto_rawDesc = []byte{
|
||||
0x74, 0x1a, 0x33, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x6b, 0x69,
|
||||
0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79,
|
||||
0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x69, 0x63, 0x61, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65,
|
||||
0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x3d, 0x88, 0xe7, 0xb0, 0x2a, 0x01, 0x82, 0xd3, 0xe4,
|
||||
0x93, 0x02, 0x32, 0x12, 0x30, 0x2f, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2f, 0x73, 0x74, 0x61,
|
||||
0x6b, 0x69, 0x6e, 0x67, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x68, 0x69, 0x73,
|
||||
0x74, 0x6f, 0x72, 0x69, 0x63, 0x61, 0x6c, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x2f, 0x7b, 0x68, 0x65,
|
||||
0x69, 0x67, 0x68, 0x74, 0x7d, 0x12, 0x86, 0x01, 0x0a, 0x04, 0x50, 0x6f, 0x6f, 0x6c, 0x12, 0x28,
|
||||
0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e,
|
||||
0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x6f, 0x6f,
|
||||
0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f,
|
||||
0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x40, 0x88, 0x02, 0x01, 0x88, 0xe7, 0xb0, 0x2a, 0x01,
|
||||
0x82, 0xd3, 0xe4, 0x93, 0x02, 0x32, 0x12, 0x30, 0x2f, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2f,
|
||||
0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f,
|
||||
0x68, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x69, 0x63, 0x61, 0x6c, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x2f,
|
||||
0x7b, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x7d, 0x12, 0x86, 0x01, 0x0a, 0x04, 0x50, 0x6f, 0x6f,
|
||||
0x6c, 0x12, 0x28, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x6b, 0x69,
|
||||
0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79,
|
||||
0x50, 0x6f, 0x6f, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x63, 0x6f,
|
||||
0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62,
|
||||
0x65, 0x74, 0x61, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x6f, 0x6f, 0x6c, 0x52, 0x65,
|
||||
0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x29, 0x88, 0xe7, 0xb0, 0x2a, 0x01, 0x82, 0xd3, 0xe4,
|
||||
0x93, 0x02, 0x1e, 0x12, 0x1c, 0x2f, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2f, 0x73, 0x74, 0x61,
|
||||
0x6b, 0x69, 0x6e, 0x67, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x70, 0x6f, 0x6f,
|
||||
0x6c, 0x12, 0x8e, 0x01, 0x0a, 0x06, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x2a, 0x2e, 0x63,
|
||||
0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31,
|
||||
0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x61, 0x72, 0x61, 0x6d,
|
||||
0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f,
|
||||
0x73, 0x2e, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61,
|
||||
0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x6f, 0x6f, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f,
|
||||
0x6e, 0x73, 0x65, 0x22, 0x29, 0x88, 0xe7, 0xb0, 0x2a, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1e,
|
||||
0x12, 0x1c, 0x2f, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e,
|
||||
0x67, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x70, 0x6f, 0x6f, 0x6c, 0x12, 0x8e,
|
||||
0x01, 0x0a, 0x06, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x2a, 0x2e, 0x63, 0x6f, 0x73, 0x6d,
|
||||
0x6f, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74,
|
||||
0x61, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, 0x65,
|
||||
0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x73,
|
||||
0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x51,
|
||||
0x75, 0x65, 0x72, 0x79, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
|
||||
0x73, 0x65, 0x22, 0x2b, 0x88, 0xe7, 0xb0, 0x2a, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x20, 0x12,
|
||||
0x1e, 0x2f, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67,
|
||||
0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x42,
|
||||
0xda, 0x01, 0x0a, 0x1a, 0x63, 0x6f, 0x6d, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x73,
|
||||
0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x42, 0x0a,
|
||||
0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x36, 0x63, 0x6f,
|
||||
0x73, 0x6d, 0x6f, 0x73, 0x73, 0x64, 0x6b, 0x2e, 0x69, 0x6f, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x63,
|
||||
0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2f, 0x76, 0x31,
|
||||
0x62, 0x65, 0x74, 0x61, 0x31, 0x3b, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x76, 0x31, 0x62,
|
||||
0x65, 0x74, 0x61, 0x31, 0xa2, 0x02, 0x03, 0x43, 0x53, 0x58, 0xaa, 0x02, 0x16, 0x43, 0x6f, 0x73,
|
||||
0x6d, 0x6f, 0x73, 0x2e, 0x53, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x56, 0x31, 0x62, 0x65,
|
||||
0x74, 0x61, 0x31, 0xca, 0x02, 0x16, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x5c, 0x53, 0x74, 0x61,
|
||||
0x6b, 0x69, 0x6e, 0x67, 0x5c, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0xe2, 0x02, 0x22, 0x43,
|
||||
0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x5c, 0x53, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x5c, 0x56, 0x31,
|
||||
0x62, 0x65, 0x74, 0x61, 0x31, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74,
|
||||
0x61, 0xea, 0x02, 0x18, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x3a, 0x3a, 0x53, 0x74, 0x61, 0x6b,
|
||||
0x69, 0x6e, 0x67, 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x62, 0x06, 0x70, 0x72,
|
||||
0x6f, 0x74, 0x6f, 0x33,
|
||||
0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, 0x65, 0x73,
|
||||
0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x2b, 0x88, 0xe7, 0xb0, 0x2a, 0x01, 0x82, 0xd3, 0xe4, 0x93,
|
||||
0x02, 0x20, 0x12, 0x1e, 0x2f, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x6b,
|
||||
0x69, 0x6e, 0x67, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x70, 0x61, 0x72, 0x61,
|
||||
0x6d, 0x73, 0x42, 0xda, 0x01, 0x0a, 0x1a, 0x63, 0x6f, 0x6d, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f,
|
||||
0x73, 0x2e, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61,
|
||||
0x31, 0x42, 0x0a, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a,
|
||||
0x36, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x73, 0x64, 0x6b, 0x2e, 0x69, 0x6f, 0x2f, 0x61, 0x70,
|
||||
0x69, 0x2f, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67,
|
||||
0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x3b, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67,
|
||||
0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0xa2, 0x02, 0x03, 0x43, 0x53, 0x58, 0xaa, 0x02, 0x16,
|
||||
0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x53, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x56,
|
||||
0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0xca, 0x02, 0x16, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x5c,
|
||||
0x53, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x5c, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0xe2,
|
||||
0x02, 0x22, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x5c, 0x53, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67,
|
||||
0x5c, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61,
|
||||
0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x18, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x3a, 0x3a, 0x53,
|
||||
0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x62,
|
||||
0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
|
||||
}
|
||||
|
||||
var (
|
||||
@ -16145,9 +16058,8 @@ var file_cosmos_staking_v1beta1_query_proto_goTypes = []interface{}{
|
||||
(*UnbondingDelegation)(nil), // 33: cosmos.staking.v1beta1.UnbondingDelegation
|
||||
(*RedelegationResponse)(nil), // 34: cosmos.staking.v1beta1.RedelegationResponse
|
||||
(*HistoricalInfo)(nil), // 35: cosmos.staking.v1beta1.HistoricalInfo
|
||||
(*HistoricalRecord)(nil), // 36: cosmos.staking.v1beta1.HistoricalRecord
|
||||
(*Pool)(nil), // 37: cosmos.staking.v1beta1.Pool
|
||||
(*Params)(nil), // 38: cosmos.staking.v1beta1.Params
|
||||
(*Pool)(nil), // 36: cosmos.staking.v1beta1.Pool
|
||||
(*Params)(nil), // 37: cosmos.staking.v1beta1.Params
|
||||
}
|
||||
var file_cosmos_staking_v1beta1_query_proto_depIdxs = []int32{
|
||||
29, // 0: cosmos.staking.v1beta1.QueryValidatorsRequest.pagination:type_name -> cosmos.base.query.v1beta1.PageRequest
|
||||
@ -16177,42 +16089,41 @@ var file_cosmos_staking_v1beta1_query_proto_depIdxs = []int32{
|
||||
31, // 24: cosmos.staking.v1beta1.QueryDelegatorValidatorsResponse.pagination:type_name -> cosmos.base.query.v1beta1.PageResponse
|
||||
30, // 25: cosmos.staking.v1beta1.QueryDelegatorValidatorResponse.validator:type_name -> cosmos.staking.v1beta1.Validator
|
||||
35, // 26: cosmos.staking.v1beta1.QueryHistoricalInfoResponse.hist:type_name -> cosmos.staking.v1beta1.HistoricalInfo
|
||||
36, // 27: cosmos.staking.v1beta1.QueryHistoricalInfoResponse.historical_record:type_name -> cosmos.staking.v1beta1.HistoricalRecord
|
||||
37, // 28: cosmos.staking.v1beta1.QueryPoolResponse.pool:type_name -> cosmos.staking.v1beta1.Pool
|
||||
38, // 29: cosmos.staking.v1beta1.QueryParamsResponse.params:type_name -> cosmos.staking.v1beta1.Params
|
||||
0, // 30: cosmos.staking.v1beta1.Query.Validators:input_type -> cosmos.staking.v1beta1.QueryValidatorsRequest
|
||||
3, // 31: cosmos.staking.v1beta1.Query.Validator:input_type -> cosmos.staking.v1beta1.QueryValidatorRequest
|
||||
5, // 32: cosmos.staking.v1beta1.Query.ValidatorDelegations:input_type -> cosmos.staking.v1beta1.QueryValidatorDelegationsRequest
|
||||
7, // 33: cosmos.staking.v1beta1.Query.ValidatorUnbondingDelegations:input_type -> cosmos.staking.v1beta1.QueryValidatorUnbondingDelegationsRequest
|
||||
9, // 34: cosmos.staking.v1beta1.Query.Delegation:input_type -> cosmos.staking.v1beta1.QueryDelegationRequest
|
||||
11, // 35: cosmos.staking.v1beta1.Query.UnbondingDelegation:input_type -> cosmos.staking.v1beta1.QueryUnbondingDelegationRequest
|
||||
13, // 36: cosmos.staking.v1beta1.Query.DelegatorDelegations:input_type -> cosmos.staking.v1beta1.QueryDelegatorDelegationsRequest
|
||||
15, // 37: cosmos.staking.v1beta1.Query.DelegatorUnbondingDelegations:input_type -> cosmos.staking.v1beta1.QueryDelegatorUnbondingDelegationsRequest
|
||||
17, // 38: cosmos.staking.v1beta1.Query.Redelegations:input_type -> cosmos.staking.v1beta1.QueryRedelegationsRequest
|
||||
19, // 39: cosmos.staking.v1beta1.Query.DelegatorValidators:input_type -> cosmos.staking.v1beta1.QueryDelegatorValidatorsRequest
|
||||
21, // 40: cosmos.staking.v1beta1.Query.DelegatorValidator:input_type -> cosmos.staking.v1beta1.QueryDelegatorValidatorRequest
|
||||
23, // 41: cosmos.staking.v1beta1.Query.HistoricalInfo:input_type -> cosmos.staking.v1beta1.QueryHistoricalInfoRequest
|
||||
25, // 42: cosmos.staking.v1beta1.Query.Pool:input_type -> cosmos.staking.v1beta1.QueryPoolRequest
|
||||
27, // 43: cosmos.staking.v1beta1.Query.Params:input_type -> cosmos.staking.v1beta1.QueryParamsRequest
|
||||
2, // 44: cosmos.staking.v1beta1.Query.Validators:output_type -> cosmos.staking.v1beta1.QueryValidatorsResponse
|
||||
4, // 45: cosmos.staking.v1beta1.Query.Validator:output_type -> cosmos.staking.v1beta1.QueryValidatorResponse
|
||||
6, // 46: cosmos.staking.v1beta1.Query.ValidatorDelegations:output_type -> cosmos.staking.v1beta1.QueryValidatorDelegationsResponse
|
||||
8, // 47: cosmos.staking.v1beta1.Query.ValidatorUnbondingDelegations:output_type -> cosmos.staking.v1beta1.QueryValidatorUnbondingDelegationsResponse
|
||||
10, // 48: cosmos.staking.v1beta1.Query.Delegation:output_type -> cosmos.staking.v1beta1.QueryDelegationResponse
|
||||
12, // 49: cosmos.staking.v1beta1.Query.UnbondingDelegation:output_type -> cosmos.staking.v1beta1.QueryUnbondingDelegationResponse
|
||||
14, // 50: cosmos.staking.v1beta1.Query.DelegatorDelegations:output_type -> cosmos.staking.v1beta1.QueryDelegatorDelegationsResponse
|
||||
16, // 51: cosmos.staking.v1beta1.Query.DelegatorUnbondingDelegations:output_type -> cosmos.staking.v1beta1.QueryDelegatorUnbondingDelegationsResponse
|
||||
18, // 52: cosmos.staking.v1beta1.Query.Redelegations:output_type -> cosmos.staking.v1beta1.QueryRedelegationsResponse
|
||||
20, // 53: cosmos.staking.v1beta1.Query.DelegatorValidators:output_type -> cosmos.staking.v1beta1.QueryDelegatorValidatorsResponse
|
||||
22, // 54: cosmos.staking.v1beta1.Query.DelegatorValidator:output_type -> cosmos.staking.v1beta1.QueryDelegatorValidatorResponse
|
||||
24, // 55: cosmos.staking.v1beta1.Query.HistoricalInfo:output_type -> cosmos.staking.v1beta1.QueryHistoricalInfoResponse
|
||||
26, // 56: cosmos.staking.v1beta1.Query.Pool:output_type -> cosmos.staking.v1beta1.QueryPoolResponse
|
||||
28, // 57: cosmos.staking.v1beta1.Query.Params:output_type -> cosmos.staking.v1beta1.QueryParamsResponse
|
||||
44, // [44:58] is the sub-list for method output_type
|
||||
30, // [30:44] is the sub-list for method input_type
|
||||
30, // [30:30] is the sub-list for extension type_name
|
||||
30, // [30:30] is the sub-list for extension extendee
|
||||
0, // [0:30] is the sub-list for field type_name
|
||||
36, // 27: cosmos.staking.v1beta1.QueryPoolResponse.pool:type_name -> cosmos.staking.v1beta1.Pool
|
||||
37, // 28: cosmos.staking.v1beta1.QueryParamsResponse.params:type_name -> cosmos.staking.v1beta1.Params
|
||||
0, // 29: cosmos.staking.v1beta1.Query.Validators:input_type -> cosmos.staking.v1beta1.QueryValidatorsRequest
|
||||
3, // 30: cosmos.staking.v1beta1.Query.Validator:input_type -> cosmos.staking.v1beta1.QueryValidatorRequest
|
||||
5, // 31: cosmos.staking.v1beta1.Query.ValidatorDelegations:input_type -> cosmos.staking.v1beta1.QueryValidatorDelegationsRequest
|
||||
7, // 32: cosmos.staking.v1beta1.Query.ValidatorUnbondingDelegations:input_type -> cosmos.staking.v1beta1.QueryValidatorUnbondingDelegationsRequest
|
||||
9, // 33: cosmos.staking.v1beta1.Query.Delegation:input_type -> cosmos.staking.v1beta1.QueryDelegationRequest
|
||||
11, // 34: cosmos.staking.v1beta1.Query.UnbondingDelegation:input_type -> cosmos.staking.v1beta1.QueryUnbondingDelegationRequest
|
||||
13, // 35: cosmos.staking.v1beta1.Query.DelegatorDelegations:input_type -> cosmos.staking.v1beta1.QueryDelegatorDelegationsRequest
|
||||
15, // 36: cosmos.staking.v1beta1.Query.DelegatorUnbondingDelegations:input_type -> cosmos.staking.v1beta1.QueryDelegatorUnbondingDelegationsRequest
|
||||
17, // 37: cosmos.staking.v1beta1.Query.Redelegations:input_type -> cosmos.staking.v1beta1.QueryRedelegationsRequest
|
||||
19, // 38: cosmos.staking.v1beta1.Query.DelegatorValidators:input_type -> cosmos.staking.v1beta1.QueryDelegatorValidatorsRequest
|
||||
21, // 39: cosmos.staking.v1beta1.Query.DelegatorValidator:input_type -> cosmos.staking.v1beta1.QueryDelegatorValidatorRequest
|
||||
23, // 40: cosmos.staking.v1beta1.Query.HistoricalInfo:input_type -> cosmos.staking.v1beta1.QueryHistoricalInfoRequest
|
||||
25, // 41: cosmos.staking.v1beta1.Query.Pool:input_type -> cosmos.staking.v1beta1.QueryPoolRequest
|
||||
27, // 42: cosmos.staking.v1beta1.Query.Params:input_type -> cosmos.staking.v1beta1.QueryParamsRequest
|
||||
2, // 43: cosmos.staking.v1beta1.Query.Validators:output_type -> cosmos.staking.v1beta1.QueryValidatorsResponse
|
||||
4, // 44: cosmos.staking.v1beta1.Query.Validator:output_type -> cosmos.staking.v1beta1.QueryValidatorResponse
|
||||
6, // 45: cosmos.staking.v1beta1.Query.ValidatorDelegations:output_type -> cosmos.staking.v1beta1.QueryValidatorDelegationsResponse
|
||||
8, // 46: cosmos.staking.v1beta1.Query.ValidatorUnbondingDelegations:output_type -> cosmos.staking.v1beta1.QueryValidatorUnbondingDelegationsResponse
|
||||
10, // 47: cosmos.staking.v1beta1.Query.Delegation:output_type -> cosmos.staking.v1beta1.QueryDelegationResponse
|
||||
12, // 48: cosmos.staking.v1beta1.Query.UnbondingDelegation:output_type -> cosmos.staking.v1beta1.QueryUnbondingDelegationResponse
|
||||
14, // 49: cosmos.staking.v1beta1.Query.DelegatorDelegations:output_type -> cosmos.staking.v1beta1.QueryDelegatorDelegationsResponse
|
||||
16, // 50: cosmos.staking.v1beta1.Query.DelegatorUnbondingDelegations:output_type -> cosmos.staking.v1beta1.QueryDelegatorUnbondingDelegationsResponse
|
||||
18, // 51: cosmos.staking.v1beta1.Query.Redelegations:output_type -> cosmos.staking.v1beta1.QueryRedelegationsResponse
|
||||
20, // 52: cosmos.staking.v1beta1.Query.DelegatorValidators:output_type -> cosmos.staking.v1beta1.QueryDelegatorValidatorsResponse
|
||||
22, // 53: cosmos.staking.v1beta1.Query.DelegatorValidator:output_type -> cosmos.staking.v1beta1.QueryDelegatorValidatorResponse
|
||||
24, // 54: cosmos.staking.v1beta1.Query.HistoricalInfo:output_type -> cosmos.staking.v1beta1.QueryHistoricalInfoResponse
|
||||
26, // 55: cosmos.staking.v1beta1.Query.Pool:output_type -> cosmos.staking.v1beta1.QueryPoolResponse
|
||||
28, // 56: cosmos.staking.v1beta1.Query.Params:output_type -> cosmos.staking.v1beta1.QueryParamsResponse
|
||||
43, // [43:57] is the sub-list for method output_type
|
||||
29, // [29:43] is the sub-list for method input_type
|
||||
29, // [29:29] is the sub-list for extension type_name
|
||||
29, // [29:29] is the sub-list for extension extendee
|
||||
0, // [0:29] is the sub-list for field type_name
|
||||
}
|
||||
|
||||
func init() { file_cosmos_staking_v1beta1_query_proto_init() }
|
||||
|
||||
@ -86,6 +86,7 @@ type QueryClient interface {
|
||||
// DelegatorValidator queries validator info for given delegator validator
|
||||
// pair.
|
||||
DelegatorValidator(ctx context.Context, in *QueryDelegatorValidatorRequest, opts ...grpc.CallOption) (*QueryDelegatorValidatorResponse, error)
|
||||
// Deprecated: Do not use.
|
||||
// HistoricalInfo queries the historical info for given height.
|
||||
HistoricalInfo(ctx context.Context, in *QueryHistoricalInfoRequest, opts ...grpc.CallOption) (*QueryHistoricalInfoResponse, error)
|
||||
// Pool queries the pool info.
|
||||
@ -201,6 +202,7 @@ func (c *queryClient) DelegatorValidator(ctx context.Context, in *QueryDelegator
|
||||
return out, nil
|
||||
}
|
||||
|
||||
// Deprecated: Do not use.
|
||||
func (c *queryClient) HistoricalInfo(ctx context.Context, in *QueryHistoricalInfoRequest, opts ...grpc.CallOption) (*QueryHistoricalInfoResponse, error) {
|
||||
out := new(QueryHistoricalInfoResponse)
|
||||
err := c.cc.Invoke(ctx, Query_HistoricalInfo_FullMethodName, in, out, opts...)
|
||||
@ -279,6 +281,7 @@ type QueryServer interface {
|
||||
// DelegatorValidator queries validator info for given delegator validator
|
||||
// pair.
|
||||
DelegatorValidator(context.Context, *QueryDelegatorValidatorRequest) (*QueryDelegatorValidatorResponse, error)
|
||||
// Deprecated: Do not use.
|
||||
// HistoricalInfo queries the historical info for given height.
|
||||
HistoricalInfo(context.Context, *QueryHistoricalInfoRequest) (*QueryHistoricalInfoResponse, error)
|
||||
// Pool queries the pool info.
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
1055
client/docs/swagger-ui/swagger.yaml
vendored
1055
client/docs/swagger-ui/swagger.yaml
vendored
File diff suppressed because it is too large
Load Diff
@ -162,7 +162,6 @@ func (c *Consensus[T]) Query(ctx context.Context, req *abciproto.QueryRequest) (
|
||||
// otherwise it is a KV store query
|
||||
if err == nil {
|
||||
res, err := c.app.Query(ctx, uint64(req.Height), protoMsg)
|
||||
|
||||
if err != nil {
|
||||
resp := queryResult(err)
|
||||
resp.Height = req.Height
|
||||
|
||||
@ -20,8 +20,8 @@ import (
|
||||
|
||||
"cosmossdk.io/server/v2/cometbft/client/rpc"
|
||||
auth "cosmossdk.io/x/auth/client/cli"
|
||||
"github.com/cosmos/cosmos-sdk/client"
|
||||
|
||||
"github.com/cosmos/cosmos-sdk/client"
|
||||
cryptocodec "github.com/cosmos/cosmos-sdk/crypto/codec"
|
||||
sdk "github.com/cosmos/cosmos-sdk/types"
|
||||
"github.com/cosmos/cosmos-sdk/types/query"
|
||||
|
||||
@ -17,6 +17,7 @@ replace (
|
||||
cosmossdk.io/x/bank => ../../../x/bank
|
||||
cosmossdk.io/x/consensus => ../../../x/consensus
|
||||
cosmossdk.io/x/staking => ../../../x/staking
|
||||
cosmossdk.io/x/tx => ../../../x/tx
|
||||
github.com/cosmos/cosmos-sdk => ../../../
|
||||
)
|
||||
|
||||
|
||||
@ -10,8 +10,6 @@ cosmossdk.io/errors v1.0.1 h1:bzu+Kcr0kS/1DuPBtUFdWjzLqyUuCiyHjyJB6srBV/0=
|
||||
cosmossdk.io/errors v1.0.1/go.mod h1:MeelVSZThMi4bEakzhhhE/CKqVv3nOJDA25bIqRDu/U=
|
||||
cosmossdk.io/math v1.3.0 h1:RC+jryuKeytIiictDslBP9i1fhkVm6ZDmZEoNP316zE=
|
||||
cosmossdk.io/math v1.3.0/go.mod h1:vnRTxewy+M7BtXBNFybkuhSH4WfedVAAnERHgVFhp3k=
|
||||
cosmossdk.io/x/tx v0.13.3 h1:Ha4mNaHmxBc6RMun9aKuqul8yHiL78EKJQ8g23Zf73g=
|
||||
cosmossdk.io/x/tx v0.13.3/go.mod h1:I8xaHv0rhUdIvIdptKIqzYy27+n2+zBVaxO6fscFhys=
|
||||
filippo.io/edwards25519 v1.1.0 h1:FNf4tywRC1HmFuKW5xopWpigGjJKiJSV0Cqo0cJWDaA=
|
||||
filippo.io/edwards25519 v1.1.0/go.mod h1:BxyFTGdWcka3PhytdK4V28tE5sGfRvvvRV7EaN4VDT4=
|
||||
github.com/99designs/go-keychain v0.0.0-20191008050251-8e49817e8af4 h1:/vQbFIOMbk2FiG/kXiLl8BRyzTWDw7gX/Hz7Dd5eDMs=
|
||||
|
||||
@ -94,8 +94,7 @@ func TestAppImportExport(t *testing.T) {
|
||||
skipPrefixes := map[string][][]byte{
|
||||
stakingtypes.StoreKey: {
|
||||
stakingtypes.UnbondingQueueKey, stakingtypes.RedelegationQueueKey, stakingtypes.ValidatorQueueKey,
|
||||
stakingtypes.HistoricalInfoKey, stakingtypes.UnbondingIDKey, stakingtypes.UnbondingIndexKey,
|
||||
stakingtypes.UnbondingTypeKey,
|
||||
stakingtypes.UnbondingIDKey, stakingtypes.UnbondingIndexKey, stakingtypes.UnbondingTypeKey,
|
||||
},
|
||||
authzkeeper.StoreKey: {authzkeeper.GrantQueuePrefix},
|
||||
feegrant.StoreKey: {feegrant.FeeAllowanceQueueKeyPrefix},
|
||||
|
||||
@ -19,7 +19,6 @@ import (
|
||||
"cosmossdk.io/simapp/v2"
|
||||
confixcmd "cosmossdk.io/tools/confix/cmd"
|
||||
authcmd "cosmossdk.io/x/auth/client/cli"
|
||||
banktypes "cosmossdk.io/x/bank/types"
|
||||
|
||||
"github.com/cosmos/cosmos-sdk/client"
|
||||
"github.com/cosmos/cosmos-sdk/client/debug"
|
||||
@ -91,7 +90,7 @@ func initRootCmd[AppT serverv2.AppI[T], T transaction.Tx](
|
||||
genutilcli.InitCmd(moduleManager),
|
||||
debug.Cmd(),
|
||||
confixcmd.ConfigCommand(),
|
||||
NewTestnetCmd(moduleManager, banktypes.GenesisBalancesIterator{}),
|
||||
NewTestnetCmd(moduleManager),
|
||||
// pruning.Cmd(newApp), // TODO add to comet server
|
||||
// snapshot.Cmd(newApp), // TODO add to comet server
|
||||
)
|
||||
|
||||
@ -32,7 +32,6 @@ import (
|
||||
"github.com/cosmos/cosmos-sdk/crypto/hd"
|
||||
"github.com/cosmos/cosmos-sdk/crypto/keyring"
|
||||
cryptotypes "github.com/cosmos/cosmos-sdk/crypto/types"
|
||||
// srvconfig "github.com/cosmos/cosmos-sdk/server/config"
|
||||
"github.com/cosmos/cosmos-sdk/testutil"
|
||||
sdk "github.com/cosmos/cosmos-sdk/types"
|
||||
"github.com/cosmos/cosmos-sdk/version"
|
||||
@ -86,7 +85,7 @@ func addTestnetFlagsToCmd(cmd *cobra.Command) {
|
||||
|
||||
// NewTestnetCmd creates a root testnet command with subcommands to run an in-process testnet or initialize
|
||||
// validator configuration files for running a multi-validator testnet in a separate process
|
||||
func NewTestnetCmd[T transaction.Tx](mm *runtimev2.MM[T], genBalIterator banktypes.GenesisBalancesIterator) *cobra.Command {
|
||||
func NewTestnetCmd[T transaction.Tx](mm *runtimev2.MM[T]) *cobra.Command {
|
||||
testnetCmd := &cobra.Command{
|
||||
Use: "testnet",
|
||||
Short: "subcommands for starting or configuring local testnets",
|
||||
@ -95,13 +94,13 @@ func NewTestnetCmd[T transaction.Tx](mm *runtimev2.MM[T], genBalIterator banktyp
|
||||
RunE: client.ValidateCmd,
|
||||
}
|
||||
|
||||
testnetCmd.AddCommand(testnetInitFilesCmd(mm, genBalIterator))
|
||||
testnetCmd.AddCommand(testnetInitFilesCmd(mm))
|
||||
|
||||
return testnetCmd
|
||||
}
|
||||
|
||||
// testnetInitFilesCmd returns a cmd to initialize all files for CometBFT testnet and application
|
||||
func testnetInitFilesCmd[T transaction.Tx](mm *runtimev2.MM[T], genBalIterator banktypes.GenesisBalancesIterator) *cobra.Command {
|
||||
func testnetInitFilesCmd[T transaction.Tx](mm *runtimev2.MM[T]) *cobra.Command {
|
||||
cmd := &cobra.Command{
|
||||
Use: "init-files",
|
||||
Short: "Initialize config directories & files for a multi-validator testnet running locally via separate processes (e.g. Docker Compose or similar)",
|
||||
@ -142,7 +141,7 @@ Example:
|
||||
return err
|
||||
}
|
||||
|
||||
return initTestnetFiles(clientCtx, cmd, config, mm, genBalIterator, args)
|
||||
return initTestnetFiles(clientCtx, cmd, config, mm, args)
|
||||
},
|
||||
}
|
||||
|
||||
@ -167,7 +166,6 @@ func initTestnetFiles[T transaction.Tx](
|
||||
cmd *cobra.Command,
|
||||
nodeConfig *cmtconfig.Config,
|
||||
mm *runtimev2.MM[T],
|
||||
genBalIterator banktypes.GenesisBalancesIterator,
|
||||
args initArgs,
|
||||
) error {
|
||||
if args.chainID == "" {
|
||||
@ -353,7 +351,7 @@ func initTestnetFiles[T transaction.Tx](
|
||||
|
||||
err := collectGenFiles(
|
||||
clientCtx, nodeConfig, args.chainID, nodeIDs, valPubKeys, args.numValidators,
|
||||
args.outputDir, args.nodeDirPrefix, args.nodeDaemonHome, genBalIterator,
|
||||
args.outputDir, args.nodeDirPrefix, args.nodeDaemonHome,
|
||||
rpcPort, p2pPortStart, args.singleMachine,
|
||||
)
|
||||
if err != nil {
|
||||
@ -417,7 +415,7 @@ func initGenFiles[T transaction.Tx](
|
||||
func collectGenFiles(
|
||||
clientCtx client.Context, nodeConfig *cmtconfig.Config, chainID string,
|
||||
nodeIDs []string, valPubKeys []cryptotypes.PubKey, numValidators int,
|
||||
outputDir, nodeDirPrefix, nodeDaemonHome string, genBalIterator banktypes.GenesisBalancesIterator,
|
||||
outputDir, nodeDirPrefix, nodeDaemonHome string,
|
||||
rpcPortStart, p2pPortStart int,
|
||||
singleMachine bool,
|
||||
) error {
|
||||
@ -446,7 +444,7 @@ func collectGenFiles(
|
||||
return err
|
||||
}
|
||||
|
||||
nodeAppState, err := genutil.GenAppStateFromConfig(clientCtx.Codec, clientCtx.TxConfig, nodeConfig, initCfg, appGenesis, genBalIterator, genutiltypes.DefaultMessageValidator,
|
||||
nodeAppState, err := genutil.GenAppStateFromConfig(clientCtx.Codec, clientCtx.TxConfig, nodeConfig, initCfg, appGenesis, genutiltypes.DefaultMessageValidator,
|
||||
clientCtx.ValidatorAddressCodec, clientCtx.AddressCodec)
|
||||
if err != nil {
|
||||
return err
|
||||
|
||||
@ -472,7 +472,7 @@ func TestGRPCValidatorDelegations(t *testing.T) {
|
||||
ValidatorAddr: validator.OperatorAddress,
|
||||
}
|
||||
|
||||
testdata.DeterministicIterations(t, f.ctx, req, f.queryClient.ValidatorDelegations, 14637, false)
|
||||
testdata.DeterministicIterations(t, f.ctx, req, f.queryClient.ValidatorDelegations, 14610, false)
|
||||
}
|
||||
|
||||
func TestGRPCValidatorUnbondingDelegations(t *testing.T) {
|
||||
@ -562,7 +562,7 @@ func TestGRPCDelegation(t *testing.T) {
|
||||
DelegatorAddr: delegator1,
|
||||
}
|
||||
|
||||
testdata.DeterministicIterations(t, f.ctx, req, f.queryClient.Delegation, 4689, false)
|
||||
testdata.DeterministicIterations(t, f.ctx, req, f.queryClient.Delegation, 4680, false)
|
||||
}
|
||||
|
||||
func TestGRPCUnbondingDelegation(t *testing.T) {
|
||||
@ -645,7 +645,7 @@ func TestGRPCDelegatorDelegations(t *testing.T) {
|
||||
DelegatorAddr: delegator1,
|
||||
}
|
||||
|
||||
testdata.DeterministicIterations(t, f.ctx, req, f.queryClient.DelegatorDelegations, 4292, false)
|
||||
testdata.DeterministicIterations(t, f.ctx, req, f.queryClient.DelegatorDelegations, 4283, false)
|
||||
}
|
||||
|
||||
func TestGRPCDelegatorValidator(t *testing.T) {
|
||||
@ -732,47 +732,6 @@ func TestGRPCDelegatorUnbondingDelegations(t *testing.T) {
|
||||
testdata.DeterministicIterations(t, f.ctx, req, f.queryClient.DelegatorUnbondingDelegations, 1302, false)
|
||||
}
|
||||
|
||||
func TestGRPCHistoricalInfo(t *testing.T) {
|
||||
t.Parallel()
|
||||
f := initDeterministicFixture(t)
|
||||
|
||||
rapid.Check(t, func(rt *rapid.T) {
|
||||
historical := stakingtypes.HistoricalRecord{}
|
||||
|
||||
height := rapid.Int64Min(0).Draw(rt, "height")
|
||||
|
||||
assert.NilError(t, f.stakingKeeper.HistoricalInfo.Set(
|
||||
f.ctx,
|
||||
uint64(height),
|
||||
historical,
|
||||
))
|
||||
|
||||
req := &stakingtypes.QueryHistoricalInfoRequest{
|
||||
Height: height,
|
||||
}
|
||||
|
||||
testdata.DeterministicIterations(t, f.ctx, req, f.queryClient.HistoricalInfo, 0, true)
|
||||
})
|
||||
|
||||
f = initDeterministicFixture(t) // reset
|
||||
|
||||
historicalInfo := stakingtypes.HistoricalRecord{}
|
||||
|
||||
height := int64(127)
|
||||
|
||||
assert.NilError(t, f.stakingKeeper.HistoricalInfo.Set(
|
||||
f.ctx,
|
||||
uint64(height),
|
||||
historicalInfo,
|
||||
))
|
||||
|
||||
req := &stakingtypes.QueryHistoricalInfoRequest{
|
||||
Height: height,
|
||||
}
|
||||
|
||||
testdata.DeterministicIterations(t, f.ctx, req, f.queryClient.HistoricalInfo, 1027, false)
|
||||
}
|
||||
|
||||
func TestGRPCDelegatorValidators(t *testing.T) {
|
||||
t.Parallel()
|
||||
f := initDeterministicFixture(t)
|
||||
@ -821,7 +780,7 @@ func TestGRPCPool(t *testing.T) {
|
||||
|
||||
f = initDeterministicFixture(t) // reset
|
||||
getStaticValidator(t, f)
|
||||
testdata.DeterministicIterations(t, f.ctx, &stakingtypes.QueryPoolRequest{}, f.queryClient.Pool, 6296, false)
|
||||
testdata.DeterministicIterations(t, f.ctx, &stakingtypes.QueryPoolRequest{}, f.queryClient.Pool, 6287, false)
|
||||
}
|
||||
|
||||
func TestGRPCRedelegations(t *testing.T) {
|
||||
|
||||
@ -5,7 +5,6 @@ import (
|
||||
"fmt"
|
||||
"testing"
|
||||
|
||||
cmtproto "github.com/cometbft/cometbft/api/cometbft/types/v1"
|
||||
"gotest.tools/v3/assert"
|
||||
|
||||
"cosmossdk.io/collections"
|
||||
@ -20,17 +19,11 @@ import (
|
||||
func createValidatorAccs(t *testing.T, f *fixture) ([]sdk.AccAddress, []types.Validator) {
|
||||
t.Helper()
|
||||
addrs, _, validators := createValidators(&testing.T{}, f, []int64{9, 8, 7})
|
||||
header := cmtproto.Header{
|
||||
ChainID: "HelloChain",
|
||||
Height: 5,
|
||||
}
|
||||
|
||||
// sort a copy of the validators, so that original validators does not
|
||||
// have its order changed
|
||||
sortedVals := make([]types.Validator, len(validators))
|
||||
copy(sortedVals, validators)
|
||||
hi := types.HistoricalRecord{Time: &header.Time, Apphash: header.AppHash, ValidatorsHash: header.NextValidatorsHash}
|
||||
assert.NilError(t, f.stakingKeeper.HistoricalInfo.Set(f.sdkCtx, uint64(5), hi))
|
||||
|
||||
return addrs, validators
|
||||
}
|
||||
@ -725,71 +718,11 @@ func TestGRPCQueryPoolParameters(t *testing.T) {
|
||||
func TestGRPCQueryHistoricalInfo(t *testing.T) {
|
||||
t.Parallel()
|
||||
f := initFixture(t)
|
||||
|
||||
ctx := f.sdkCtx
|
||||
_, _ = createValidatorAccs(t, f)
|
||||
|
||||
qr := f.app.QueryHelper()
|
||||
queryClient := types.NewQueryClient(qr)
|
||||
|
||||
hi, found := f.stakingKeeper.HistoricalInfo.Get(ctx, uint64(5))
|
||||
assert.Assert(t, found)
|
||||
|
||||
var req *types.QueryHistoricalInfoRequest
|
||||
testCases := []struct {
|
||||
msg string
|
||||
malleate func()
|
||||
expPass bool
|
||||
expErrMsg string
|
||||
}{
|
||||
{
|
||||
"empty request",
|
||||
func() {
|
||||
req = &types.QueryHistoricalInfoRequest{}
|
||||
},
|
||||
false,
|
||||
"historical info for height 0 not found",
|
||||
},
|
||||
{
|
||||
"invalid request with negative height",
|
||||
func() {
|
||||
req = &types.QueryHistoricalInfoRequest{Height: -1}
|
||||
},
|
||||
false,
|
||||
"height cannot be negative",
|
||||
},
|
||||
{
|
||||
"valid request with old height",
|
||||
func() {
|
||||
req = &types.QueryHistoricalInfoRequest{Height: 4}
|
||||
},
|
||||
false,
|
||||
"historical info for height 4 not found",
|
||||
},
|
||||
{
|
||||
"valid request with current height",
|
||||
func() {
|
||||
req = &types.QueryHistoricalInfoRequest{Height: 5}
|
||||
},
|
||||
true,
|
||||
"",
|
||||
},
|
||||
}
|
||||
|
||||
for _, tc := range testCases {
|
||||
t.Run(fmt.Sprintf("Case %s", tc.msg), func(t *testing.T) {
|
||||
tc.malleate()
|
||||
res, err := queryClient.HistoricalInfo(gocontext.Background(), req)
|
||||
if tc.expPass {
|
||||
assert.NilError(t, err)
|
||||
assert.Assert(t, res != nil)
|
||||
assert.DeepEqual(t, &hi, res.HistoricalRecord)
|
||||
} else {
|
||||
assert.ErrorContains(t, err, tc.expErrMsg)
|
||||
assert.Assert(t, res == nil)
|
||||
}
|
||||
})
|
||||
}
|
||||
_, err := queryClient.HistoricalInfo(gocontext.Background(), &types.QueryHistoricalInfoRequest{}) // nolint:staticcheck // SA1019: deprecated endpoint
|
||||
assert.ErrorContains(t, err, "this endpoint has been deprecated and removed in 0.52")
|
||||
}
|
||||
|
||||
func TestGRPCQueryRedelegations(t *testing.T) {
|
||||
|
||||
@ -28,6 +28,7 @@ Ref: https://keepachangelog.com/en/1.0.0/
|
||||
### Bug Fixes
|
||||
|
||||
* [#20688](https://github.com/cosmos/cosmos-sdk/pull/20688) Avoid overslashing unbonding delegations after a redelegation.
|
||||
* [#19226](https://github.com/cosmos/cosmos-sdk/pull/19226) Ensure `GetLastValidators` in `x/staking` does not return an error when `MaxValidators` exceeds total number of bonded validators.
|
||||
|
||||
### Features
|
||||
|
||||
@ -42,9 +43,6 @@ Ref: https://keepachangelog.com/en/1.0.0/
|
||||
* [#18636](https://github.com/cosmos/cosmos-sdk/pull/18636) `IterateBondedValidatorsByPower`, `GetDelegatorBonded`, `Delegate`, `Unbond`, `Slash`, `Jail`, `SlashRedelegation`, `ApplyAndReturnValidatorSetUpdates` methods no longer panics on any kind of errors but instead returns appropriate errors.
|
||||
* [#18506](https://github.com/cosmos/cosmos-sdk/pull/18506) Detect the length of the ed25519 pubkey in CreateValidator to prevent panic.
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* [#19226](https://github.com/cosmos/cosmos-sdk/pull/19226) Ensure `GetLastValidators` in `x/staking` does not return an error when `MaxValidators` exceeds total number of bonded validators.
|
||||
|
||||
### API Breaking Changes
|
||||
|
||||
@ -92,20 +90,16 @@ Ref: https://keepachangelog.com/en/1.0.0/
|
||||
* remove from `types`: `GetValidatorByConsAddrKey`
|
||||
* [#17248](https://github.com/cosmos/cosmos-sdk/pull/17248) Use collections for `UnbondingType`.
|
||||
* remove from `types`: `GetUnbondingTypeKey`.
|
||||
* [#17063](https://github.com/cosmos/cosmos-sdk/pull/17063) Use collections for `HistoricalInfo`:
|
||||
* remove `Keeper`: `GetHistoricalInfo`, `SetHistoricalInfo`
|
||||
* [#17062](https://github.com/cosmos/cosmos-sdk/pull/17062), [#19788](https://github.com/cosmos/cosmos-sdk/pull/19788) Remove `GetValidatorUpdates` and `ValidatorUpdates` storage.
|
||||
* [#17026](https://github.com/cosmos/cosmos-sdk/pull/17026) Use collections for `LastTotalPower`:
|
||||
* remove `Keeper`: `SetLastTotalPower`, `GetLastTotalPower`
|
||||
* [#17335](https://github.com/cosmos/cosmos-sdk/pull/17335) Remove usage of `"cosmossdk.io/x/staking/types".Infraction_*` in favour of `"cosmossdk.io/api/cosmos/staking/v1beta1".Infraction_` in order to remove dependency between modules on staking
|
||||
* [#17655](https://github.com/cosmos/cosmos-sdk/pull/17655) `QueryHistoricalInfo` was adjusted to return `HistoricalRecord` and marked `Hist` as deprecated.
|
||||
* [#20295](https://github.com/cosmos/cosmos-sdk/pull/20295) `GetValidatorByConsAddr` now returns the Cosmos SDK `cryptotypes.Pubkey` instead of `cometcrypto.Publickey`. The caller is responsible to translate the returned value to the expected type.
|
||||
* Remove `CmtConsPublicKey()` and `TmConsPublicKey()` from `Validator` interface and as methods on the `Validator` struct.
|
||||
* [#20728](https://github.com/cosmos/cosmos-sdk/pull/20728) Remove `NewHistoricalInfo` and related functions to Historical Info & `GetCmtConsPubKey`, `ToCmtValidator` & `ToCmtValidators` as comet validator type is no longer used in the staking module.
|
||||
|
||||
### State Breaking changes
|
||||
|
||||
* [#18841](https://github.com/cosmos/cosmos-sdk/pull/18841) In a undelegation or redelegation if the shares being left delegated correspond to less than 1 token (in base denom) the entire delegation gets removed.
|
||||
* [#18142](https://github.com/cosmos/cosmos-sdk/pull/18142) Introduce `key_rotation_fee` param to calculate fees while rotating the keys
|
||||
* [#17655](https://github.com/cosmos/cosmos-sdk/pull/17655) `HistoricalInfo` was replaced with `HistoricalRecord`, it removes the validator set and comet header and only keep what is needed for IBC.
|
||||
* [#19740](https://github.com/cosmos/cosmos-sdk/pull/19740) `InitGenesis` and `ExportGenesis` module code and keeper code do not panic but return errors.
|
||||
* [#20845](https://github.com/cosmoc/cosmos-sdk/pull/20845) Remove HistoricalInfo from the staking modules storage
|
||||
|
||||
@ -30,7 +30,6 @@ network.
|
||||
* [UnbondingDelegation](#unbondingdelegation)
|
||||
* [Redelegation](#redelegation)
|
||||
* [Queues](#queues)
|
||||
* [HistoricalInfo](#historicalinfo)
|
||||
* [ConsPubkeyRotation](#conspubkeyrotation)
|
||||
* [State Transitions](#state-transitions)
|
||||
* [Validators](#validators)
|
||||
@ -361,20 +360,8 @@ the present store info and append the `ValAddress` to the array and set it back
|
||||
https://github.com/cosmos/cosmos-sdk/blob/8f0d5b15f0b10da7645d7fc1aa868fe44e3f3a44/proto/cosmos/staking/v1beta1/staking.proto#L429-L433
|
||||
```
|
||||
|
||||
### HistoricalInfo
|
||||
|
||||
HistoricalInfo objects are stored and pruned at each block such that the staking keeper persists
|
||||
the `n` most recent historical info defined by staking module parameter: `HistoricalEntries`.
|
||||
|
||||
```go reference
|
||||
https://github.com/cosmos/cosmos-sdk/blob/v0.47.0-rc1/proto/cosmos/staking/v1beta1/staking.proto#L17-L24
|
||||
```
|
||||
|
||||
At each BeginBlock, the staking keeper will persist the current Header and the Validators that committed
|
||||
the current block in a `HistoricalInfo` object. The Validators are sorted on their address to ensure that
|
||||
they are in a deterministic order.
|
||||
The oldest HistoricalEntries will be pruned to ensure that there only exist the parameter-defined number of
|
||||
historical entries.
|
||||
|
||||
## State Transitions
|
||||
|
||||
@ -796,18 +783,6 @@ The message handling can fail if:
|
||||
* The `max_cons_pubkey_rotations` limit reached within unbonding period.
|
||||
* The validator doesn't have enough balance to pay for the rotation.
|
||||
|
||||
## Begin-Block
|
||||
|
||||
Each abci begin block call, the historical info will get stored and pruned
|
||||
according to the `HistoricalEntries` parameter.
|
||||
|
||||
### Historical Info Tracking
|
||||
|
||||
If the `HistoricalEntries` parameter is 0, then the `BeginBlock` performs a no-op.
|
||||
|
||||
Otherwise, the latest historical info is stored under the key `historicalInfoKey|height`, while any entries older than `height - HistoricalEntries` is deleted.
|
||||
In most cases, this results in a single entry being pruned per block.
|
||||
However, if the parameter `HistoricalEntries` has changed to a lower value there will be multiple entries in the store that must be pruned.
|
||||
|
||||
## End-Block
|
||||
|
||||
@ -2279,84 +2254,6 @@ Example Output:
|
||||
}
|
||||
```
|
||||
|
||||
#### HistoricalInfo
|
||||
|
||||
```bash
|
||||
cosmos.staking.v1beta1.Query/HistoricalInfo
|
||||
```
|
||||
|
||||
Example:
|
||||
|
||||
```bash
|
||||
grpcurl -plaintext -d '{"height" : 1}' localhost:9090 cosmos.staking.v1beta1.Query/HistoricalInfo
|
||||
```
|
||||
|
||||
Example Output:
|
||||
|
||||
```bash
|
||||
{
|
||||
"hist": {
|
||||
"header": {
|
||||
"version": {
|
||||
"block": "11",
|
||||
"app": "0"
|
||||
},
|
||||
"chain_id": "simd-1",
|
||||
"height": "140142",
|
||||
"time": "2021-10-11T10:56:29.720079569Z",
|
||||
"last_block_id": {
|
||||
"hash": "9gri/4LLJUBFqioQ3NzZIP9/7YHR9QqaM6B2aJNQA7o=",
|
||||
"part_set_header": {
|
||||
"total": 1,
|
||||
"hash": "Hk1+C864uQkl9+I6Zn7IurBZBKUevqlVtU7VqaZl1tc="
|
||||
}
|
||||
},
|
||||
"last_commit_hash": "VxrcS27GtvGruS3I9+AlpT7udxIT1F0OrRklrVFSSKc=",
|
||||
"data_hash": "80BjOrqNYUOkTnmgWyz9AQ8n7SoEmPVi4QmAe8RbQBY=",
|
||||
"validators_hash": "95W49n2hw8RWpr1GPTAO5MSPi6w6Wjr3JjjS7AjpBho=",
|
||||
"next_validators_hash": "95W49n2hw8RWpr1GPTAO5MSPi6w6Wjr3JjjS7AjpBho=",
|
||||
"consensus_hash": "BICRvH3cKD93v7+R1zxE2ljD34qcvIZ0Bdi389qtoi8=",
|
||||
"app_hash": "ZZaxnSY3E6Ex5Bvkm+RigYCK82g8SSUL53NymPITeOE=",
|
||||
"last_results_hash": "47DEQpj8HBSa+/TImW+5JCeuQeRkm5NMpJWZG3hSuFU=",
|
||||
"evidence_hash": "47DEQpj8HBSa+/TImW+5JCeuQeRkm5NMpJWZG3hSuFU=",
|
||||
"proposer_address": "aH6dO428B+ItuoqPq70efFHrSMY="
|
||||
},
|
||||
"valset": [
|
||||
{
|
||||
"operator_address": "cosmosvaloper196ax4vc0lwpxndu9dyhvca7jhxp70rmcqcnylw",
|
||||
"consensus_pubkey": {
|
||||
"@type": "/cosmos.crypto.ed25519.PubKey",
|
||||
"key": "/O7BtNW0pafwfvomgR4ZnfldwPXiFfJs9mHg3gwfv5Q="
|
||||
},
|
||||
"jailed": false,
|
||||
"status": "BOND_STATUS_BONDED",
|
||||
"tokens": "1426045203613",
|
||||
"delegator_shares": "1426045203613.000000000000000000",
|
||||
"description": {
|
||||
"moniker": "SG-1",
|
||||
"identity": "48608633F99D1B60",
|
||||
"website": "https://sg-1.online",
|
||||
"security_contact": "",
|
||||
"details": "SG-1 - your favorite validator on Witval. We offer 100% Soft Slash protection."
|
||||
},
|
||||
"unbonding_height": "0",
|
||||
"unbonding_time": "1970-01-01T00:00:00Z",
|
||||
"commission": {
|
||||
"commission_rates": {
|
||||
"rate": "0.037500000000000000",
|
||||
"max_rate": "0.200000000000000000",
|
||||
"max_change_rate": "0.030000000000000000"
|
||||
},
|
||||
"update_time": "2021-10-01T15:00:00Z"
|
||||
},
|
||||
"min_self_delegation": "1"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
|
||||
```
|
||||
|
||||
#### Pool
|
||||
|
||||
The `Pool` endpoint queries the pool information.
|
||||
@ -2659,114 +2556,6 @@ Example Output:
|
||||
}
|
||||
```
|
||||
|
||||
#### HistoricalInfo
|
||||
|
||||
The `HistoricalInfo` REST endpoint queries the historical information for given height.
|
||||
|
||||
```bash
|
||||
/cosmos/staking/v1beta1/historical_info/{height}
|
||||
```
|
||||
|
||||
Example:
|
||||
|
||||
```bash
|
||||
curl -X GET "http://localhost:1317/cosmos/staking/v1beta1/historical_info/153332" -H "accept: application/json"
|
||||
```
|
||||
|
||||
Example Output:
|
||||
|
||||
```bash
|
||||
{
|
||||
"hist": {
|
||||
"header": {
|
||||
"version": {
|
||||
"block": "11",
|
||||
"app": "0"
|
||||
},
|
||||
"chain_id": "cosmos-1",
|
||||
"height": "153332",
|
||||
"time": "2021-10-12T09:05:35.062230221Z",
|
||||
"last_block_id": {
|
||||
"hash": "NX8HevR5khb7H6NGKva+jVz7cyf0skF1CrcY9A0s+d8=",
|
||||
"part_set_header": {
|
||||
"total": 1,
|
||||
"hash": "zLQ2FiKM5tooL3BInt+VVfgzjlBXfq0Hc8Iux/xrhdg="
|
||||
}
|
||||
},
|
||||
"last_commit_hash": "P6IJrK8vSqU3dGEyRHnAFocoDGja0bn9euLuy09s350=",
|
||||
"data_hash": "eUd+6acHWrNXYju8Js449RJ99lOYOs16KpqQl4SMrEM=",
|
||||
"validators_hash": "mB4pravvMsJKgi+g8aYdSeNlt0kPjnRFyvtAQtaxcfw=",
|
||||
"next_validators_hash": "mB4pravvMsJKgi+g8aYdSeNlt0kPjnRFyvtAQtaxcfw=",
|
||||
"consensus_hash": "BICRvH3cKD93v7+R1zxE2ljD34qcvIZ0Bdi389qtoi8=",
|
||||
"app_hash": "fuELArKRK+CptnZ8tu54h6xEleSWenHNmqC84W866fU=",
|
||||
"last_results_hash": "p/BPexV4LxAzlVcPRvW+lomgXb6Yze8YLIQUo/4Kdgc=",
|
||||
"evidence_hash": "47DEQpj8HBSa+/TImW+5JCeuQeRkm5NMpJWZG3hSuFU=",
|
||||
"proposer_address": "G0MeY8xQx7ooOsni8KE/3R/Ib3Q="
|
||||
},
|
||||
"valset": [
|
||||
{
|
||||
"operator_address": "cosmosvaloper196ax4vc0lwpxndu9dyhvca7jhxp70rmcqcnylw",
|
||||
"consensus_pubkey": {
|
||||
"@type": "/cosmos.crypto.ed25519.PubKey",
|
||||
"key": "/O7BtNW0pafwfvomgR4ZnfldwPXiFfJs9mHg3gwfv5Q="
|
||||
},
|
||||
"jailed": false,
|
||||
"status": "BOND_STATUS_BONDED",
|
||||
"tokens": "1416521659632",
|
||||
"delegator_shares": "1416521659632.000000000000000000",
|
||||
"description": {
|
||||
"moniker": "SG-1",
|
||||
"identity": "48608633F99D1B60",
|
||||
"website": "https://sg-1.online",
|
||||
"security_contact": "",
|
||||
"details": "SG-1 - your favorite validator on cosmos. We offer 100% Soft Slash protection."
|
||||
},
|
||||
"unbonding_height": "0",
|
||||
"unbonding_time": "1970-01-01T00:00:00Z",
|
||||
"commission": {
|
||||
"commission_rates": {
|
||||
"rate": "0.037500000000000000",
|
||||
"max_rate": "0.200000000000000000",
|
||||
"max_change_rate": "0.030000000000000000"
|
||||
},
|
||||
"update_time": "2021-10-01T15:00:00Z"
|
||||
},
|
||||
"min_self_delegation": "1"
|
||||
},
|
||||
{
|
||||
"operator_address": "cosmosvaloper1t8ehvswxjfn3ejzkjtntcyrqwvmvuknzmvtaaa",
|
||||
"consensus_pubkey": {
|
||||
"@type": "/cosmos.crypto.ed25519.PubKey",
|
||||
"key": "uExZyjNLtr2+FFIhNDAMcQ8+yTrqE7ygYTsI7khkA5Y="
|
||||
},
|
||||
"jailed": false,
|
||||
"status": "BOND_STATUS_BONDED",
|
||||
"tokens": "1348298958808",
|
||||
"delegator_shares": "1348298958808.000000000000000000",
|
||||
"description": {
|
||||
"moniker": "Cosmostation",
|
||||
"identity": "AE4C403A6E7AA1AC",
|
||||
"website": "https://www.cosmostation.io",
|
||||
"security_contact": "admin@stamper.network",
|
||||
"details": "Cosmostation validator node. Delegate your tokens and Start Earning Staking Rewards"
|
||||
},
|
||||
"unbonding_height": "0",
|
||||
"unbonding_time": "1970-01-01T00:00:00Z",
|
||||
"commission": {
|
||||
"commission_rates": {
|
||||
"rate": "0.050000000000000000",
|
||||
"max_rate": "1.000000000000000000",
|
||||
"max_change_rate": "0.200000000000000000"
|
||||
},
|
||||
"update_time": "2021-10-01T15:06:38.821314287Z"
|
||||
},
|
||||
"min_self_delegation": "1"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
#### Parameters
|
||||
|
||||
The `Parameters` REST endpoint queries the staking parameters.
|
||||
|
||||
@ -9,13 +9,6 @@ import (
|
||||
"github.com/cosmos/cosmos-sdk/telemetry"
|
||||
)
|
||||
|
||||
// BeginBlocker will persist the current header and validator set as a historical entry
|
||||
// and prune the oldest entry based on the HistoricalEntries parameter
|
||||
func (k *Keeper) BeginBlocker(ctx context.Context) error {
|
||||
defer telemetry.ModuleMeasureSince(types.ModuleName, telemetry.Now(), telemetry.MetricKeyBeginBlocker)
|
||||
return k.TrackHistoricalInfo(ctx)
|
||||
}
|
||||
|
||||
// EndBlocker called at every block, update validator set
|
||||
func (k *Keeper) EndBlocker(ctx context.Context) ([]appmodule.ValidatorUpdate, error) {
|
||||
start := telemetry.Now()
|
||||
|
||||
@ -404,21 +404,12 @@ func (k Querier) DelegatorUnbondingDelegations(ctx context.Context, req *types.Q
|
||||
}
|
||||
|
||||
// HistoricalInfo queries the historical info for given height
|
||||
func (k Querier) HistoricalInfo(ctx context.Context, req *types.QueryHistoricalInfoRequest) (*types.QueryHistoricalInfoResponse, error) {
|
||||
func (k Querier) HistoricalInfo(ctx context.Context, req *types.QueryHistoricalInfoRequest) (*types.QueryHistoricalInfoResponse, error) { // nolint:staticcheck // SA1019: deprecated endpoint
|
||||
if req == nil {
|
||||
return nil, status.Error(codes.InvalidArgument, "empty request")
|
||||
}
|
||||
|
||||
if req.Height < 0 {
|
||||
return nil, status.Error(codes.InvalidArgument, "height cannot be negative")
|
||||
}
|
||||
|
||||
hi, err := k.Keeper.HistoricalInfo.Get(ctx, uint64(req.Height))
|
||||
if err != nil {
|
||||
return nil, status.Errorf(codes.NotFound, "historical info for height %d not found", req.Height)
|
||||
}
|
||||
|
||||
return &types.QueryHistoricalInfoResponse{HistoricalRecord: &hi}, nil
|
||||
return nil, status.Error(codes.Internal, "this endpoint has been deprecated and removed in 0.52")
|
||||
}
|
||||
|
||||
// Redelegations queries redelegations of given address
|
||||
|
||||
@ -1,53 +0,0 @@
|
||||
package keeper
|
||||
|
||||
import (
|
||||
"context"
|
||||
|
||||
"cosmossdk.io/x/staking/types"
|
||||
)
|
||||
|
||||
// TrackHistoricalInfo saves the latest historical-info and deletes the oldest
|
||||
// heights that are below pruning height
|
||||
func (k Keeper) TrackHistoricalInfo(ctx context.Context) error {
|
||||
entryNum, err := k.HistoricalEntries(ctx)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
headerInfo := k.HeaderService.HeaderInfo(ctx)
|
||||
|
||||
// Prune store to ensure we only have parameter-defined historical entries.
|
||||
// In most cases, this will involve removing a single historical entry.
|
||||
// In the rare scenario when the historical entries gets reduced to a lower value k'
|
||||
// from the original value k. k - k' entries must be deleted from the store.
|
||||
// Since the entries to be deleted are always in a continuous range, we can iterate
|
||||
// over the historical entries starting from the most recent version to be pruned
|
||||
// and then return at the first empty entry.
|
||||
for i := headerInfo.Height - int64(entryNum); i >= 0; i-- {
|
||||
has, err := k.HistoricalInfo.Has(ctx, uint64(i))
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
if !has {
|
||||
break
|
||||
}
|
||||
if err = k.HistoricalInfo.Remove(ctx, uint64(i)); err != nil {
|
||||
return err
|
||||
}
|
||||
}
|
||||
|
||||
// if there is no need to persist historicalInfo, return
|
||||
if entryNum == 0 {
|
||||
return nil
|
||||
}
|
||||
|
||||
ci := k.cometInfoService.CometInfo(ctx)
|
||||
historicalEntry := types.HistoricalRecord{
|
||||
Time: &headerInfo.Time,
|
||||
ValidatorsHash: ci.ValidatorsHash,
|
||||
Apphash: headerInfo.AppHash,
|
||||
}
|
||||
|
||||
// Set latest HistoricalInfo at current height
|
||||
return k.HistoricalInfo.Set(ctx, uint64(headerInfo.Height), historicalEntry)
|
||||
}
|
||||
@ -1,173 +0,0 @@
|
||||
package keeper_test
|
||||
|
||||
import (
|
||||
"time"
|
||||
|
||||
"cosmossdk.io/collections"
|
||||
coreheader "cosmossdk.io/core/header"
|
||||
"cosmossdk.io/math"
|
||||
"cosmossdk.io/x/staking/testutil"
|
||||
stakingtypes "cosmossdk.io/x/staking/types"
|
||||
)
|
||||
|
||||
// IsValSetSorted reports whether valset is sorted.
|
||||
func IsValSetSorted(data []stakingtypes.Validator, powerReduction math.Int) bool {
|
||||
n := len(data)
|
||||
for i := n - 1; i > 0; i-- {
|
||||
if stakingtypes.ValidatorsByVotingPower(data).Less(i, i-1, powerReduction) {
|
||||
return false
|
||||
}
|
||||
}
|
||||
return true
|
||||
}
|
||||
|
||||
func (s *KeeperTestSuite) TestHistoricalInfo() {
|
||||
ctx, keeper := s.ctx, s.stakingKeeper
|
||||
require := s.Require()
|
||||
|
||||
_, addrVals := createValAddrs(50)
|
||||
|
||||
validators := make([]stakingtypes.Validator, len(addrVals))
|
||||
|
||||
for i, valAddr := range addrVals {
|
||||
validators[i] = testutil.NewValidator(s.T(), valAddr, PKs[i])
|
||||
}
|
||||
|
||||
time := ctx.BlockTime()
|
||||
hi := stakingtypes.HistoricalRecord{
|
||||
Time: &time,
|
||||
ValidatorsHash: ctx.CometInfo().ValidatorsHash,
|
||||
Apphash: ctx.HeaderInfo().AppHash,
|
||||
}
|
||||
require.NoError(keeper.HistoricalInfo.Set(ctx, uint64(2), hi))
|
||||
|
||||
recv, err := keeper.HistoricalInfo.Get(ctx, uint64(2))
|
||||
require.NoError(err, "HistoricalInfo found after set")
|
||||
require.Equal(hi, recv, "HistoricalInfo not equal")
|
||||
|
||||
require.NoError(keeper.HistoricalInfo.Remove(ctx, uint64(2)))
|
||||
|
||||
recv, err = keeper.HistoricalInfo.Get(ctx, uint64(2))
|
||||
require.ErrorIs(err, collections.ErrNotFound, "HistoricalInfo not found after delete")
|
||||
require.Equal(stakingtypes.HistoricalRecord{}, recv, "HistoricalInfo is not empty")
|
||||
}
|
||||
|
||||
func (s *KeeperTestSuite) TestTrackHistoricalInfo() {
|
||||
ctx, keeper := s.ctx, s.stakingKeeper
|
||||
require := s.Require()
|
||||
|
||||
_, addrVals := createValAddrs(50)
|
||||
|
||||
// set historical entries in params to 5
|
||||
params := stakingtypes.DefaultParams()
|
||||
params.HistoricalEntries = 5
|
||||
require.NoError(keeper.Params.Set(ctx, params))
|
||||
|
||||
// set historical info at 5, 4 which should be pruned
|
||||
// and check that it has been stored
|
||||
t := time.Now().Round(0).UTC()
|
||||
hi4 := stakingtypes.HistoricalRecord{
|
||||
Time: &t,
|
||||
ValidatorsHash: []byte("validatorHash"),
|
||||
Apphash: []byte("AppHash"),
|
||||
}
|
||||
|
||||
hi5 := stakingtypes.HistoricalRecord{
|
||||
Time: &t,
|
||||
ValidatorsHash: []byte("validatorHash"),
|
||||
Apphash: []byte("AppHash"),
|
||||
}
|
||||
|
||||
require.NoError(keeper.HistoricalInfo.Set(ctx, uint64(4), hi4))
|
||||
require.NoError(keeper.HistoricalInfo.Set(ctx, uint64(5), hi5))
|
||||
recv, err := keeper.HistoricalInfo.Get(ctx, uint64(4))
|
||||
require.NoError(err)
|
||||
require.Equal(hi4, recv)
|
||||
recv, err = keeper.HistoricalInfo.Get(ctx, uint64(5))
|
||||
require.NoError(err)
|
||||
require.Equal(hi5, recv)
|
||||
|
||||
// Set bonded validators in keeper
|
||||
val1 := testutil.NewValidator(s.T(), addrVals[2], PKs[2])
|
||||
val1.Status = stakingtypes.Bonded // when not bonded, consensus power is Zero
|
||||
val1.Tokens = keeper.TokensFromConsensusPower(ctx, 10)
|
||||
require.NoError(keeper.SetValidator(ctx, val1))
|
||||
valbz, err := keeper.ValidatorAddressCodec().StringToBytes(val1.GetOperator())
|
||||
require.NoError(err)
|
||||
require.NoError(keeper.SetLastValidatorPower(ctx, valbz, 10))
|
||||
val2 := testutil.NewValidator(s.T(), addrVals[3], PKs[3])
|
||||
val1.Status = stakingtypes.Bonded
|
||||
val2.Tokens = keeper.TokensFromConsensusPower(ctx, 80)
|
||||
require.NoError(keeper.SetValidator(ctx, val2))
|
||||
valbz, err = keeper.ValidatorAddressCodec().StringToBytes(val2.GetOperator())
|
||||
require.NoError(err)
|
||||
require.NoError(keeper.SetLastValidatorPower(ctx, valbz, 80))
|
||||
|
||||
vals := []stakingtypes.Validator{val1, val2}
|
||||
require.True(IsValSetSorted(vals, keeper.PowerReduction(ctx)))
|
||||
|
||||
// Set Header for BeginBlock context
|
||||
ctx = ctx.WithHeaderInfo(coreheader.Info{
|
||||
ChainID: "HelloChain",
|
||||
Height: 10,
|
||||
Time: t,
|
||||
})
|
||||
|
||||
require.NoError(keeper.TrackHistoricalInfo(ctx))
|
||||
|
||||
// Check HistoricalInfo at height 10 is persisted
|
||||
expected := stakingtypes.HistoricalRecord{
|
||||
Time: &t,
|
||||
ValidatorsHash: ctx.CometInfo().ValidatorsHash,
|
||||
Apphash: ctx.HeaderInfo().AppHash,
|
||||
}
|
||||
recv, err = keeper.HistoricalInfo.Get(ctx, uint64(10))
|
||||
require.NoError(err, "GetHistoricalInfo failed after BeginBlock")
|
||||
require.Equal(expected, recv, "GetHistoricalInfo returned unexpected result")
|
||||
|
||||
// Check HistoricalInfo at height 5, 4 is pruned
|
||||
recv, err = keeper.HistoricalInfo.Get(ctx, uint64(4))
|
||||
require.ErrorIs(err, collections.ErrNotFound, "GetHistoricalInfo did not prune earlier height")
|
||||
require.Equal(stakingtypes.HistoricalRecord{}, recv, "GetHistoricalInfo at height 4 is not empty after prune")
|
||||
recv, err = keeper.HistoricalInfo.Get(ctx, uint64(5))
|
||||
require.ErrorIs(err, collections.ErrNotFound, "GetHistoricalInfo did not prune first prune height")
|
||||
require.Equal(stakingtypes.HistoricalRecord{}, recv, "GetHistoricalInfo at height 5 is not empty after prune")
|
||||
}
|
||||
|
||||
func (s *KeeperTestSuite) TestGetAllHistoricalInfo() {
|
||||
ctx, keeper := s.ctx, s.stakingKeeper
|
||||
require := s.Require()
|
||||
|
||||
t := time.Now().Round(0).UTC()
|
||||
|
||||
hist1 := stakingtypes.HistoricalRecord{
|
||||
Time: &t,
|
||||
ValidatorsHash: nil,
|
||||
Apphash: nil,
|
||||
}
|
||||
hist2 := stakingtypes.HistoricalRecord{
|
||||
Time: &t,
|
||||
ValidatorsHash: nil,
|
||||
Apphash: nil,
|
||||
}
|
||||
hist3 := stakingtypes.HistoricalRecord{
|
||||
Time: &t,
|
||||
ValidatorsHash: nil,
|
||||
Apphash: nil,
|
||||
}
|
||||
|
||||
expHistInfos := []stakingtypes.HistoricalRecord{hist1, hist2, hist3}
|
||||
|
||||
for i, hi := range expHistInfos {
|
||||
require.NoError(keeper.HistoricalInfo.Set(ctx, uint64(int64(9+i)), hi))
|
||||
}
|
||||
|
||||
var infos []stakingtypes.HistoricalRecord
|
||||
err := keeper.HistoricalInfo.Walk(ctx, nil, func(key uint64, info stakingtypes.HistoricalRecord) (stop bool, err error) {
|
||||
infos = append(infos, info)
|
||||
return false, nil
|
||||
})
|
||||
|
||||
require.NoError(err)
|
||||
require.Equal(expHistInfos, infos)
|
||||
}
|
||||
@ -25,22 +25,6 @@ var _ types.ValidatorSet = Keeper{}
|
||||
// Implements DelegationSet interface
|
||||
var _ types.DelegationSet = Keeper{}
|
||||
|
||||
func HistoricalInfoCodec(cdc codec.BinaryCodec) collcodec.ValueCodec[types.HistoricalRecord] {
|
||||
return collcodec.NewAltValueCodec(codec.CollValue[types.HistoricalRecord](cdc), func(b []byte) (types.HistoricalRecord, error) {
|
||||
historicalinfo := types.HistoricalInfo{} //nolint: staticcheck // HistoricalInfo is deprecated
|
||||
err := historicalinfo.Unmarshal(b)
|
||||
if err != nil {
|
||||
return types.HistoricalRecord{}, err
|
||||
}
|
||||
|
||||
return types.HistoricalRecord{
|
||||
Apphash: historicalinfo.Header.AppHash,
|
||||
Time: &historicalinfo.Header.Time,
|
||||
ValidatorsHash: historicalinfo.Header.NextValidatorsHash,
|
||||
}, nil
|
||||
})
|
||||
}
|
||||
|
||||
type rotationHistoryIndexes struct {
|
||||
Block *indexes.Multi[uint64, collections.Pair[[]byte, uint64], types.ConsPubKeyRotationHistory]
|
||||
}
|
||||
@ -81,8 +65,6 @@ type Keeper struct {
|
||||
|
||||
Schema collections.Schema
|
||||
|
||||
// HistoricalInfo key: Height | value: HistoricalInfo
|
||||
HistoricalInfo collections.Map[uint64, types.HistoricalRecord]
|
||||
// LastTotalPower value: LastTotalPower
|
||||
LastTotalPower collections.Item[math.Int]
|
||||
// DelegationsByValidator key: valAddr+delAddr | value: none used (index key for delegations by validator index)
|
||||
@ -172,7 +154,6 @@ func NewKeeper(
|
||||
consensusAddressCodec: consensusAddressCodec,
|
||||
cometInfoService: cometInfoService,
|
||||
LastTotalPower: collections.NewItem(sb, types.LastTotalPowerKey, "last_total_power", sdk.IntValue),
|
||||
HistoricalInfo: collections.NewMap(sb, types.HistoricalInfoKey, "historical_info", collections.Uint64Key, HistoricalInfoCodec(cdc)),
|
||||
Delegations: collections.NewMap(
|
||||
sb, types.DelegationKey, "delegations",
|
||||
collections.PairKeyCodec(
|
||||
|
||||
@ -286,7 +286,7 @@ func (s *KeeperTestSuite) TestLastTotalPowerMigrationToColls() {
|
||||
|
||||
s.ctx.KVStore(s.key).Set(getLastValidatorPowerKey(valAddrs[i]), bz)
|
||||
},
|
||||
"198aa9b8c1d9bc02308b7b2a48944f3e4b05c6b8312cb0bcc73518d1260f682d",
|
||||
"d9690cb1904ab91c618a3f6d27ef90bfe6fb57a2c01970b7c088ec4ecd0613eb",
|
||||
)
|
||||
s.Require().NoError(err)
|
||||
|
||||
@ -301,7 +301,7 @@ func (s *KeeperTestSuite) TestLastTotalPowerMigrationToColls() {
|
||||
err = s.stakingKeeper.LastValidatorPower.Set(s.ctx, valAddrs[i], intV)
|
||||
s.Require().NoError(err)
|
||||
},
|
||||
"198aa9b8c1d9bc02308b7b2a48944f3e4b05c6b8312cb0bcc73518d1260f682d",
|
||||
"d9690cb1904ab91c618a3f6d27ef90bfe6fb57a2c01970b7c088ec4ecd0613eb",
|
||||
)
|
||||
s.Require().NoError(err)
|
||||
}
|
||||
@ -319,7 +319,7 @@ func (s *KeeperTestSuite) TestSrcRedelegationsMigrationToColls() {
|
||||
// legacy method to set in the state
|
||||
s.ctx.KVStore(s.key).Set(getREDByValSrcIndexKey(addrs[i], valAddrs[i], valAddrs[i+1]), []byte{})
|
||||
},
|
||||
"cae99e5c0498356a290f9478b7db73d522840b736878a9d4c00b56d1ddd7fd04",
|
||||
"43ab9766738a05bfe5f1fd5dd0fb01c05b574f7d43c004dbf228deb437e0eb7c",
|
||||
)
|
||||
s.Require().NoError(err)
|
||||
|
||||
@ -332,7 +332,7 @@ func (s *KeeperTestSuite) TestSrcRedelegationsMigrationToColls() {
|
||||
err := s.stakingKeeper.RedelegationsByValSrc.Set(s.ctx, collections.Join3(valAddrs[i].Bytes(), addrs[i].Bytes(), valAddrs[i+1].Bytes()), []byte{})
|
||||
s.Require().NoError(err)
|
||||
},
|
||||
"cae99e5c0498356a290f9478b7db73d522840b736878a9d4c00b56d1ddd7fd04",
|
||||
"43ab9766738a05bfe5f1fd5dd0fb01c05b574f7d43c004dbf228deb437e0eb7c",
|
||||
)
|
||||
|
||||
s.Require().NoError(err)
|
||||
@ -351,7 +351,7 @@ func (s *KeeperTestSuite) TestDstRedelegationsMigrationToColls() {
|
||||
// legacy method to set in the state
|
||||
s.ctx.KVStore(s.key).Set(getREDByValDstIndexKey(addrs[i], valAddrs[i], valAddrs[i+1]), []byte{})
|
||||
},
|
||||
"1b7687449a83f8176a60aeced7bcfc69a2b957b9eefad60c69a9fae9acfdaa81", // this hash obtained when ran this test in main branch
|
||||
"70c00b5171cbef019742d236096df60fc423cd7568c4933ab165baa3c68a64a1", // this hash obtained when ran this test in main branch
|
||||
)
|
||||
s.Require().NoError(err)
|
||||
|
||||
@ -364,7 +364,7 @@ func (s *KeeperTestSuite) TestDstRedelegationsMigrationToColls() {
|
||||
err := s.stakingKeeper.RedelegationsByValDst.Set(s.ctx, collections.Join3(valAddrs[i+1].Bytes(), addrs[i].Bytes(), valAddrs[i].Bytes()), []byte{})
|
||||
s.Require().NoError(err)
|
||||
},
|
||||
"1b7687449a83f8176a60aeced7bcfc69a2b957b9eefad60c69a9fae9acfdaa81",
|
||||
"70c00b5171cbef019742d236096df60fc423cd7568c4933ab165baa3c68a64a1",
|
||||
)
|
||||
|
||||
s.Require().NoError(err)
|
||||
@ -395,7 +395,7 @@ func (s *KeeperTestSuite) TestUnbondingDelegationsMigrationToColls() {
|
||||
s.ctx.KVStore(s.key).Set(getUBDKey(delAddrs[i], valAddrs[i]), bz)
|
||||
s.ctx.KVStore(s.key).Set(getUBDByValIndexKey(delAddrs[i], valAddrs[i]), []byte{})
|
||||
},
|
||||
"70454ad98368368aaff32d207a7a115fba49133ecf2a225d8e3eca88c6b2324c",
|
||||
"bae8a1f2070bea541bfeca8e7e4a1203cb316126451325b846b303897e8e7082",
|
||||
)
|
||||
s.Require().NoError(err)
|
||||
|
||||
@ -419,7 +419,7 @@ func (s *KeeperTestSuite) TestUnbondingDelegationsMigrationToColls() {
|
||||
err := s.stakingKeeper.SetUnbondingDelegation(s.ctx, ubd)
|
||||
s.Require().NoError(err)
|
||||
},
|
||||
"70454ad98368368aaff32d207a7a115fba49133ecf2a225d8e3eca88c6b2324c",
|
||||
"bae8a1f2070bea541bfeca8e7e4a1203cb316126451325b846b303897e8e7082",
|
||||
)
|
||||
s.Require().NoError(err)
|
||||
}
|
||||
@ -436,7 +436,7 @@ func (s *KeeperTestSuite) TestUBDQueueMigrationToColls() {
|
||||
// legacy Set method
|
||||
s.ctx.KVStore(s.key).Set(getUnbondingDelegationTimeKey(date), []byte{})
|
||||
},
|
||||
"2dd1dd08ea1cc2b0a076c420e3888b218647b9409b435f75e5730b0e4f25e890",
|
||||
"3f2de3f984c99cce5307db45961237220212c02981654b01b7b52f7a68b5b21b",
|
||||
)
|
||||
s.Require().NoError(err)
|
||||
|
||||
@ -449,7 +449,7 @@ func (s *KeeperTestSuite) TestUBDQueueMigrationToColls() {
|
||||
err := s.stakingKeeper.SetUBDQueueTimeSlice(s.ctx, date, nil)
|
||||
s.Require().NoError(err)
|
||||
},
|
||||
"2dd1dd08ea1cc2b0a076c420e3888b218647b9409b435f75e5730b0e4f25e890",
|
||||
"3f2de3f984c99cce5307db45961237220212c02981654b01b7b52f7a68b5b21b",
|
||||
)
|
||||
s.Require().NoError(err)
|
||||
}
|
||||
@ -483,7 +483,7 @@ func (s *KeeperTestSuite) TestValidatorsMigrationToColls() {
|
||||
// legacy Set method
|
||||
s.ctx.KVStore(s.key).Set(getValidatorKey(valAddrs[i]), valBz)
|
||||
},
|
||||
"aa495d55fb45df89fcf1d4326331bfc1244ef879764abe76f6ce2a41ccd4180d",
|
||||
"d8acdcf8b7c8e17f3e83f0a4c293f89ad619a5dcb14d232911ccc5da15653177",
|
||||
)
|
||||
s.Require().NoError(err)
|
||||
|
||||
@ -509,7 +509,7 @@ func (s *KeeperTestSuite) TestValidatorsMigrationToColls() {
|
||||
err := s.stakingKeeper.SetValidator(s.ctx, val)
|
||||
s.Require().NoError(err)
|
||||
},
|
||||
"aa495d55fb45df89fcf1d4326331bfc1244ef879764abe76f6ce2a41ccd4180d",
|
||||
"d8acdcf8b7c8e17f3e83f0a4c293f89ad619a5dcb14d232911ccc5da15653177",
|
||||
)
|
||||
s.Require().NoError(err)
|
||||
}
|
||||
@ -532,7 +532,7 @@ func (s *KeeperTestSuite) TestValidatorQueueMigrationToColls() {
|
||||
// legacy Set method
|
||||
s.ctx.KVStore(s.key).Set(getValidatorQueueKey(endTime, endHeight), bz)
|
||||
},
|
||||
"b23a5905ced2b76c46ddd0f7d39e2ed7dcc68cd81993c497ee314b2e1a158595",
|
||||
"a631942cd94450d778706c98afc4f83231524e3e94c88474cdab79a01a4899a0",
|
||||
)
|
||||
s.Require().NoError(err)
|
||||
|
||||
@ -547,7 +547,7 @@ func (s *KeeperTestSuite) TestValidatorQueueMigrationToColls() {
|
||||
err := s.stakingKeeper.SetUnbondingValidatorsQueue(s.ctx, endTime, endHeight, addrs)
|
||||
s.Require().NoError(err)
|
||||
},
|
||||
"b23a5905ced2b76c46ddd0f7d39e2ed7dcc68cd81993c497ee314b2e1a158595",
|
||||
"a631942cd94450d778706c98afc4f83231524e3e94c88474cdab79a01a4899a0",
|
||||
)
|
||||
s.Require().NoError(err)
|
||||
}
|
||||
@ -575,7 +575,7 @@ func (s *KeeperTestSuite) TestRedelegationQueueMigrationToColls() {
|
||||
s.Require().NoError(err)
|
||||
s.ctx.KVStore(s.key).Set(getRedelegationTimeKey(date), bz)
|
||||
},
|
||||
"d6a1c46c7c5793ff7094b67252c82883aecb75c8359428a59aacd3657fa16235",
|
||||
"58722ccde0cacda42aa81d71d7da1123b2c4a8e35d961d55f1507c3f10ffbc96",
|
||||
)
|
||||
s.Require().NoError(err)
|
||||
|
||||
@ -597,7 +597,7 @@ func (s *KeeperTestSuite) TestRedelegationQueueMigrationToColls() {
|
||||
err := s.stakingKeeper.SetRedelegationQueueTimeSlice(s.ctx, date, dvvTriplets.Triplets)
|
||||
s.Require().NoError(err)
|
||||
},
|
||||
"d6a1c46c7c5793ff7094b67252c82883aecb75c8359428a59aacd3657fa16235",
|
||||
"58722ccde0cacda42aa81d71d7da1123b2c4a8e35d961d55f1507c3f10ffbc96",
|
||||
)
|
||||
s.Require().NoError(err)
|
||||
}
|
||||
|
||||
@ -1149,7 +1149,7 @@ func (s *KeeperTestSuite) TestMsgUpdateParams() {
|
||||
UnbondingTime: types.DefaultUnbondingTime,
|
||||
MaxValidators: types.DefaultMaxValidators,
|
||||
MaxEntries: types.DefaultMaxEntries,
|
||||
HistoricalEntries: types.DefaultHistoricalEntries,
|
||||
HistoricalEntries: 0,
|
||||
BondDenom: types.BondStatusBonded,
|
||||
},
|
||||
},
|
||||
@ -1164,7 +1164,7 @@ func (s *KeeperTestSuite) TestMsgUpdateParams() {
|
||||
UnbondingTime: types.DefaultUnbondingTime,
|
||||
MaxValidators: types.DefaultMaxValidators,
|
||||
MaxEntries: types.DefaultMaxEntries,
|
||||
HistoricalEntries: types.DefaultHistoricalEntries,
|
||||
HistoricalEntries: 0,
|
||||
BondDenom: types.BondStatusBonded,
|
||||
},
|
||||
},
|
||||
@ -1179,7 +1179,7 @@ func (s *KeeperTestSuite) TestMsgUpdateParams() {
|
||||
UnbondingTime: types.DefaultUnbondingTime,
|
||||
MaxValidators: types.DefaultMaxValidators,
|
||||
MaxEntries: types.DefaultMaxEntries,
|
||||
HistoricalEntries: types.DefaultHistoricalEntries,
|
||||
HistoricalEntries: 0,
|
||||
BondDenom: "",
|
||||
},
|
||||
},
|
||||
@ -1194,7 +1194,7 @@ func (s *KeeperTestSuite) TestMsgUpdateParams() {
|
||||
UnbondingTime: types.DefaultUnbondingTime,
|
||||
MaxValidators: 0,
|
||||
MaxEntries: types.DefaultMaxEntries,
|
||||
HistoricalEntries: types.DefaultHistoricalEntries,
|
||||
HistoricalEntries: 0,
|
||||
BondDenom: types.BondStatusBonded,
|
||||
},
|
||||
},
|
||||
@ -1209,7 +1209,7 @@ func (s *KeeperTestSuite) TestMsgUpdateParams() {
|
||||
UnbondingTime: types.DefaultUnbondingTime,
|
||||
MaxValidators: types.DefaultMaxValidators,
|
||||
MaxEntries: 0,
|
||||
HistoricalEntries: types.DefaultHistoricalEntries,
|
||||
HistoricalEntries: 0,
|
||||
BondDenom: types.BondStatusBonded,
|
||||
},
|
||||
},
|
||||
@ -1223,7 +1223,7 @@ func (s *KeeperTestSuite) TestMsgUpdateParams() {
|
||||
UnbondingTime: time.Hour * 24 * 7 * 3 * -1,
|
||||
MaxEntries: types.DefaultMaxEntries,
|
||||
MaxValidators: types.DefaultMaxValidators,
|
||||
HistoricalEntries: types.DefaultHistoricalEntries,
|
||||
HistoricalEntries: 0,
|
||||
MinCommissionRate: types.DefaultMinCommissionRate,
|
||||
BondDenom: "denom",
|
||||
},
|
||||
|
||||
@ -2,4 +2,7 @@ package v6
|
||||
|
||||
import "cosmossdk.io/collections"
|
||||
|
||||
var ValidatorUpdatesKey = collections.NewPrefix(97)
|
||||
var (
|
||||
ValidatorUpdatesKey = collections.NewPrefix(97)
|
||||
HistoricalInfoKey = collections.NewPrefix(80) // prefix for the historical info
|
||||
)
|
||||
|
||||
@ -12,5 +12,6 @@ import (
|
||||
// It deletes the ValidatorUpdatesKey from the store.
|
||||
func MigrateStore(ctx context.Context, store storetypes.KVStore, cdc codec.BinaryCodec) error {
|
||||
store.Delete(ValidatorUpdatesKey)
|
||||
store.Delete(HistoricalInfoKey)
|
||||
return nil
|
||||
}
|
||||
|
||||
@ -37,7 +37,6 @@ var (
|
||||
_ module.HasABCIEndBlock = AppModule{}
|
||||
|
||||
_ appmodule.AppModule = AppModule{}
|
||||
_ appmodule.HasBeginBlocker = AppModule{}
|
||||
_ appmodule.HasServices = AppModule{}
|
||||
_ appmodule.HasMigrations = AppModule{}
|
||||
_ appmodule.HasRegisterInterfaces = AppModule{}
|
||||
@ -171,11 +170,6 @@ func (am AppModule) ExportGenesis(ctx context.Context) (json.RawMessage, error)
|
||||
// ConsensusVersion implements HasConsensusVersion
|
||||
func (AppModule) ConsensusVersion() uint64 { return consensusVersion }
|
||||
|
||||
// BeginBlock returns the begin blocker for the staking module.
|
||||
func (am AppModule) BeginBlock(ctx context.Context) error {
|
||||
return am.keeper.BeginBlocker(ctx)
|
||||
}
|
||||
|
||||
// EndBlock returns the end blocker for the staking module.
|
||||
func (am AppModule) EndBlock(ctx context.Context) ([]appmodule.ValidatorUpdate, error) {
|
||||
return am.keeper.EndBlocker(ctx)
|
||||
|
||||
@ -113,6 +113,7 @@ service Query {
|
||||
|
||||
// HistoricalInfo queries the historical info for given height.
|
||||
rpc HistoricalInfo(QueryHistoricalInfoRequest) returns (QueryHistoricalInfoResponse) {
|
||||
option deprecated = true;
|
||||
option (cosmos.query.v1.module_query_safe) = true;
|
||||
option (google.api.http).get = "/cosmos/staking/v1beta1/historical_info/{height}";
|
||||
}
|
||||
@ -139,6 +140,7 @@ message QueryValidatorsRequest {
|
||||
cosmos.base.query.v1beta1.PageRequest pagination = 2;
|
||||
}
|
||||
|
||||
// ValidatorInfo contains the validator's address and public key.
|
||||
message ValidatorInfo {
|
||||
option (cosmos_proto.message_added_in) = "x/staking v0.2.0";
|
||||
// consensus_address is the consensus address of the validator.
|
||||
@ -367,6 +369,7 @@ message QueryDelegatorValidatorResponse {
|
||||
// QueryHistoricalInfoRequest is request type for the Query/HistoricalInfo RPC
|
||||
// method.
|
||||
message QueryHistoricalInfoRequest {
|
||||
option deprecated = true;
|
||||
// height defines at which height to query the historical info.
|
||||
int64 height = 1;
|
||||
}
|
||||
@ -374,9 +377,9 @@ message QueryHistoricalInfoRequest {
|
||||
// QueryHistoricalInfoResponse is response type for the Query/HistoricalInfo RPC
|
||||
// method.
|
||||
message QueryHistoricalInfoResponse {
|
||||
option deprecated = true;
|
||||
// hist defines the historical info at the given height.
|
||||
HistoricalInfo hist = 1 [deprecated = true];
|
||||
HistoricalRecord historical_record = 2;
|
||||
HistoricalInfo hist = 1 [deprecated = true];
|
||||
}
|
||||
|
||||
// QueryPoolRequest is request type for the Query/Pool RPC method.
|
||||
|
||||
@ -25,16 +25,6 @@ message HistoricalInfo {
|
||||
repeated Validator valset = 2 [(gogoproto.nullable) = false, (amino.dont_omitempty) = true];
|
||||
}
|
||||
|
||||
// HistoricalRecord contains a set of minimum values needed for evaluating historical validator sets and blocks.
|
||||
// It is stored as part of staking module's state, which persists the `n` most
|
||||
// recent HistoricalInfo
|
||||
// (`n` is set by the staking module's `historical_entries` parameter).
|
||||
message HistoricalRecord {
|
||||
bytes apphash = 1;
|
||||
google.protobuf.Timestamp time = 2 [(gogoproto.stdtime) = true];
|
||||
bytes validators_hash = 3;
|
||||
}
|
||||
|
||||
// CommissionRates defines the initial commission rates to be used for creating
|
||||
// a validator.
|
||||
message CommissionRates {
|
||||
@ -231,7 +221,7 @@ message UnbondingDelegation {
|
||||
string validator_address = 2 [(cosmos_proto.scalar) = "cosmos.ValidatorAddressString"];
|
||||
// entries are the unbonding delegation entries.
|
||||
repeated UnbondingDelegationEntry entries = 3
|
||||
[(gogoproto.nullable) = false, (amino.dont_omitempty) = true]; // unbonding delegation entries
|
||||
[(gogoproto.nullable) = false, (amino.dont_omitempty) = true]; // unbonding delegation entries
|
||||
}
|
||||
|
||||
// UnbondingDelegationEntry defines an unbonding object with relevant metadata.
|
||||
@ -304,7 +294,7 @@ message Redelegation {
|
||||
string validator_dst_address = 3 [(cosmos_proto.scalar) = "cosmos.ValidatorAddressString"];
|
||||
// entries are the redelegation entries.
|
||||
repeated RedelegationEntry entries = 4
|
||||
[(gogoproto.nullable) = false, (amino.dont_omitempty) = true]; // redelegation entries
|
||||
[(gogoproto.nullable) = false, (amino.dont_omitempty) = true]; // redelegation entries
|
||||
}
|
||||
|
||||
// Params defines the parameters for the x/staking module.
|
||||
@ -320,7 +310,7 @@ message Params {
|
||||
// max_entries is the max entries for either unbonding delegation or redelegation (per pair/trio).
|
||||
uint32 max_entries = 3;
|
||||
// historical_entries is the number of historical entries to persist.
|
||||
uint32 historical_entries = 4;
|
||||
uint32 historical_entries = 4 [deprecated = true];
|
||||
// bond_denom defines the bondable coin denomination.
|
||||
string bond_denom = 5;
|
||||
// min_commission_rate is the chain-wide minimum commission rate that a validator can charge their delegators
|
||||
|
||||
@ -34,7 +34,7 @@ func genMaxValidators(r *rand.Rand) (maxValidators uint32) {
|
||||
|
||||
// getHistEntries returns randomized HistoricalEntries between 0-100.
|
||||
func getHistEntries(r *rand.Rand) uint32 {
|
||||
return uint32(r.Intn(int(types.DefaultHistoricalEntries + 1)))
|
||||
return uint32(r.Intn(int(0 + 1)))
|
||||
}
|
||||
|
||||
// getKeyRotationFee returns randomized keyRotationFee between 10000-1000000.
|
||||
@ -64,7 +64,7 @@ func RandomizedGenState(simState *module.SimulationState) {
|
||||
// NOTE: the slashing module need to be defined after the staking module on the
|
||||
// NewSimulationManager constructor for this to work
|
||||
simState.UnbondTime = unbondTime
|
||||
params := types.NewParams(simState.UnbondTime, maxVals, 7, histEntries, simState.BondDenom, minCommissionRate, rotationFee)
|
||||
params := types.NewParams(simState.UnbondTime, maxVals, 7, simState.BondDenom, minCommissionRate, rotationFee)
|
||||
|
||||
// validators & delegations
|
||||
var (
|
||||
|
||||
@ -51,7 +51,7 @@ func TestRandomizedGenState(t *testing.T) {
|
||||
|
||||
require.Equal(t, uint32(207), stakingGenesis.Params.MaxValidators)
|
||||
require.Equal(t, uint32(7), stakingGenesis.Params.MaxEntries)
|
||||
require.Equal(t, uint32(8687), stakingGenesis.Params.HistoricalEntries)
|
||||
require.Equal(t, uint32(0), stakingGenesis.Params.HistoricalEntries)
|
||||
require.Equal(t, "stake", stakingGenesis.Params.BondDenom)
|
||||
require.Equal(t, float64(238280), stakingGenesis.Params.UnbondingTime.Seconds())
|
||||
// check numbers of Delegations and Validators
|
||||
|
||||
@ -39,7 +39,6 @@ var (
|
||||
ErrDelegatorShareExRateInvalid = errors.Register(ModuleName, 34, "cannot delegate to validators with invalid (zero) ex-rate")
|
||||
ErrBothShareMsgsGiven = errors.Register(ModuleName, 35, "both shares amount and shares percent provided")
|
||||
ErrNeitherShareMsgsGiven = errors.Register(ModuleName, 36, "neither shares amount nor shares percent provided")
|
||||
ErrInvalidHistoricalInfo = errors.Register(ModuleName, 37, "invalid historical info")
|
||||
ErrEmptyValidatorPubKey = errors.Register(ModuleName, 39, "empty validator public key")
|
||||
ErrCommissionLTMinRate = errors.Register(ModuleName, 40, "commission cannot be less than min rate")
|
||||
ErrUnbondingNotFound = errors.Register(ModuleName, 41, "unbonding operation not found")
|
||||
|
||||
@ -57,8 +57,7 @@ var (
|
||||
RedelegationQueueKey = collections.NewPrefix(66) // prefix for the timestamps in redelegations queue
|
||||
ValidatorQueueKey = collections.NewPrefix(67) // prefix for the timestamps in validator queue
|
||||
|
||||
HistoricalInfoKey = collections.NewPrefix(80) // prefix for the historical info
|
||||
ParamsKey = collections.NewPrefix(81) // prefix for parameters for module x/staking
|
||||
ParamsKey = collections.NewPrefix(81) // prefix for parameters for module x/staking
|
||||
|
||||
DelegationByValIndexKey = collections.NewPrefix(113) // key for delegations by a validator
|
||||
|
||||
|
||||
@ -24,11 +24,6 @@ const (
|
||||
|
||||
// Default maximum entries in a UBD/RED pair
|
||||
DefaultMaxEntries uint32 = 7
|
||||
|
||||
// DefaultHistorical entries is 10000. Apps that don't use IBC can ignore this
|
||||
// value by not adding the staking module to the application module manager's
|
||||
// SetOrderBeginBlockers.
|
||||
DefaultHistoricalEntries uint32 = 10000
|
||||
)
|
||||
|
||||
var (
|
||||
@ -41,7 +36,7 @@ var (
|
||||
|
||||
// NewParams creates a new Params instance
|
||||
func NewParams(unbondingTime time.Duration,
|
||||
maxValidators, maxEntries, historicalEntries uint32,
|
||||
maxValidators, maxEntries uint32,
|
||||
bondDenom string, minCommissionRate math.LegacyDec,
|
||||
keyRotationFee sdk.Coin,
|
||||
) Params {
|
||||
@ -49,7 +44,7 @@ func NewParams(unbondingTime time.Duration,
|
||||
UnbondingTime: unbondingTime,
|
||||
MaxValidators: maxValidators,
|
||||
MaxEntries: maxEntries,
|
||||
HistoricalEntries: historicalEntries,
|
||||
HistoricalEntries: 0,
|
||||
BondDenom: bondDenom,
|
||||
MinCommissionRate: minCommissionRate,
|
||||
KeyRotationFee: keyRotationFee,
|
||||
@ -62,7 +57,6 @@ func DefaultParams() Params {
|
||||
DefaultUnbondingTime,
|
||||
DefaultMaxValidators,
|
||||
DefaultMaxEntries,
|
||||
DefaultHistoricalEntries,
|
||||
sdk.DefaultBondDenom,
|
||||
DefaultMinCommissionRate,
|
||||
DefaultKeyRotationFee,
|
||||
|
||||
@ -87,6 +87,7 @@ func (m *QueryValidatorsRequest) GetPagination() *query.PageRequest {
|
||||
return nil
|
||||
}
|
||||
|
||||
// ValidatorInfo contains the validator's address and public key.
|
||||
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"`
|
||||
@ -1188,6 +1189,8 @@ func (m *QueryDelegatorValidatorResponse) GetValidator() Validator {
|
||||
|
||||
// QueryHistoricalInfoRequest is request type for the Query/HistoricalInfo RPC
|
||||
// method.
|
||||
//
|
||||
// Deprecated: Do not use.
|
||||
type QueryHistoricalInfoRequest struct {
|
||||
// height defines at which height to query the historical info.
|
||||
Height int64 `protobuf:"varint,1,opt,name=height,proto3" json:"height,omitempty"`
|
||||
@ -1235,10 +1238,11 @@ func (m *QueryHistoricalInfoRequest) GetHeight() int64 {
|
||||
|
||||
// QueryHistoricalInfoResponse is response type for the Query/HistoricalInfo RPC
|
||||
// method.
|
||||
//
|
||||
// Deprecated: Do not use.
|
||||
type QueryHistoricalInfoResponse struct {
|
||||
// hist defines the historical info at the given height.
|
||||
Hist *HistoricalInfo `protobuf:"bytes,1,opt,name=hist,proto3" json:"hist,omitempty"` // Deprecated: Do not use.
|
||||
HistoricalRecord *HistoricalRecord `protobuf:"bytes,2,opt,name=historical_record,json=historicalRecord,proto3" json:"historical_record,omitempty"`
|
||||
Hist *HistoricalInfo `protobuf:"bytes,1,opt,name=hist,proto3" json:"hist,omitempty"` // Deprecated: Do not use.
|
||||
}
|
||||
|
||||
func (m *QueryHistoricalInfoResponse) Reset() { *m = QueryHistoricalInfoResponse{} }
|
||||
@ -1282,13 +1286,6 @@ func (m *QueryHistoricalInfoResponse) GetHist() *HistoricalInfo {
|
||||
return nil
|
||||
}
|
||||
|
||||
func (m *QueryHistoricalInfoResponse) GetHistoricalRecord() *HistoricalRecord {
|
||||
if m != nil {
|
||||
return m.HistoricalRecord
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
// QueryPoolRequest is request type for the Query/Pool RPC method.
|
||||
type QueryPoolRequest struct {
|
||||
}
|
||||
@ -1492,100 +1489,99 @@ func init() {
|
||||
}
|
||||
|
||||
var fileDescriptor_f270127f442bbcd8 = []byte{
|
||||
// 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,
|
||||
// 1467 bytes of a gzipped FileDescriptorProto
|
||||
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xd4, 0x59, 0xdd, 0x6b, 0x1c, 0x55,
|
||||
0x14, 0xcf, 0xdd, 0xc4, 0x60, 0x4e, 0x69, 0x49, 0xef, 0x6e, 0xe3, 0x76, 0x9a, 0x6e, 0xb6, 0x43,
|
||||
0xad, 0x69, 0x6a, 0x66, 0xda, 0x54, 0xdb, 0x58, 0xa1, 0xed, 0xc6, 0xa2, 0xad, 0x2d, 0x35, 0x5d,
|
||||
0x31, 0x8a, 0x1f, 0x84, 0x49, 0x76, 0x3a, 0x19, 0x9a, 0xcc, 0x6c, 0xe7, 0x4e, 0x42, 0x4b, 0x29,
|
||||
0x82, 0x0f, 0x52, 0x5f, 0x44, 0xf0, 0x5d, 0xfa, 0x28, 0xa2, 0x20, 0x98, 0x0a, 0x22, 0xf6, 0x51,
|
||||
0xfa, 0x20, 0x52, 0x2a, 0x15, 0xf5, 0xa1, 0x4a, 0x23, 0xe8, 0x8b, 0xff, 0x81, 0x88, 0xcc, 0xcc,
|
||||
0x99, 0xaf, 0xcc, 0xe7, 0x6e, 0x76, 0x21, 0x7d, 0x09, 0xd9, 0x3b, 0xf7, 0x9c, 0xf3, 0xfb, 0xfd,
|
||||
0xce, 0x39, 0x77, 0xce, 0xdd, 0x05, 0x7e, 0x5e, 0x67, 0x4b, 0x3a, 0x13, 0x99, 0x29, 0x5d, 0x52,
|
||||
0x35, 0x45, 0x5c, 0x39, 0x34, 0x27, 0x9b, 0xd2, 0x21, 0xf1, 0xf2, 0xb2, 0x6c, 0x5c, 0x15, 0x9a,
|
||||
0x86, 0x6e, 0xea, 0x74, 0xc8, 0xd9, 0x23, 0xe0, 0x1e, 0x01, 0xf7, 0x70, 0x63, 0x68, 0x3b, 0x27,
|
||||
0x31, 0xd9, 0x31, 0xf0, 0xcc, 0x9b, 0x92, 0xa2, 0x6a, 0x92, 0xa9, 0xea, 0x9a, 0xe3, 0x83, 0x2b,
|
||||
0x29, 0xba, 0xa2, 0xdb, 0xff, 0x8a, 0xd6, 0x7f, 0xb8, 0x3a, 0xac, 0xe8, 0xba, 0xb2, 0x28, 0x8b,
|
||||
0x52, 0x53, 0x15, 0x25, 0x4d, 0xd3, 0x4d, 0xdb, 0x84, 0xe1, 0xd3, 0xbd, 0x09, 0xd8, 0x5c, 0x1c,
|
||||
0xce, 0xae, 0x9d, 0xce, 0xae, 0x59, 0xc7, 0x39, 0x42, 0x75, 0x1e, 0xed, 0x42, 0x07, 0x2e, 0xb6,
|
||||
0x20, 0x2b, 0x6e, 0xbb, 0xb4, 0xa4, 0x6a, 0xba, 0x68, 0xff, 0x75, 0x96, 0xf8, 0x2b, 0x30, 0x74,
|
||||
0xc1, 0xda, 0x31, 0x23, 0x2d, 0xaa, 0x0d, 0xc9, 0xd4, 0x0d, 0x56, 0x97, 0x2f, 0x2f, 0xcb, 0xcc,
|
||||
0xa4, 0x43, 0xd0, 0xcf, 0x4c, 0xc9, 0x5c, 0x66, 0x65, 0x52, 0x25, 0xa3, 0x03, 0x75, 0xfc, 0x44,
|
||||
0x5f, 0x04, 0xf0, 0xa9, 0x96, 0x0b, 0x55, 0x32, 0xba, 0x65, 0x62, 0x9f, 0x80, 0x20, 0x2c, 0x5d,
|
||||
0x04, 0x27, 0x24, 0x42, 0x17, 0xa6, 0x25, 0x45, 0x46, 0x9f, 0xf5, 0x80, 0x25, 0xbf, 0x00, 0x5b,
|
||||
0xbd, 0xa0, 0x67, 0xb4, 0x8b, 0x3a, 0xad, 0xc1, 0xf6, 0x79, 0x5d, 0x63, 0xb2, 0xc6, 0x96, 0xd9,
|
||||
0xac, 0xd4, 0x68, 0x18, 0x32, 0xc3, 0xd8, 0x53, 0xa5, 0xdf, 0x56, 0xc7, 0x07, 0xaf, 0xb8, 0x2a,
|
||||
0x54, 0x57, 0x0e, 0x0a, 0x13, 0xc2, 0xc1, 0xfa, 0xa0, 0xb7, 0xbd, 0xe6, 0xec, 0x3e, 0x56, 0xba,
|
||||
0x17, 0xb3, 0x8f, 0xff, 0xa0, 0x00, 0x4f, 0x44, 0x48, 0xb2, 0xa6, 0x65, 0x4c, 0xcf, 0x01, 0xac,
|
||||
0x78, 0xab, 0x65, 0x52, 0xed, 0x1d, 0xdd, 0x32, 0xb1, 0x47, 0x88, 0xcf, 0xbe, 0xe0, 0xd9, 0x4f,
|
||||
0x0d, 0xdc, 0x79, 0x30, 0xd2, 0xf3, 0xe9, 0x5f, 0x5f, 0x8e, 0x91, 0x7a, 0xc0, 0x9e, 0xbe, 0x0e,
|
||||
0xdb, 0xbc, 0x4f, 0xb3, 0xaa, 0x76, 0x51, 0x2f, 0x17, 0x6c, 0x8f, 0x4f, 0x66, 0x7a, 0xb4, 0x14,
|
||||
0x08, 0x7a, 0xdd, 0xba, 0x12, 0xd2, 0xe6, 0xa5, 0x90, 0xe8, 0xbd, 0xb6, 0xe8, 0x4f, 0x65, 0x8a,
|
||||
0xee, 0x70, 0x0c, 0xa9, 0x2e, 0xc1, 0x8e, 0xb0, 0x14, 0x6e, 0xba, 0x4f, 0x07, 0xa1, 0x5b, 0xea,
|
||||
0xa3, 0xf4, 0x7b, 0xee, 0xad, 0x8e, 0xef, 0xc6, 0x40, 0x9e, 0x11, 0xea, 0xfd, 0xaa, 0x69, 0xa8,
|
||||
0x9a, 0x12, 0xc0, 0x6a, 0xad, 0xf3, 0x8d, 0xf5, 0x25, 0xe5, 0x89, 0xfd, 0x32, 0x0c, 0x78, 0x5b,
|
||||
0x6d, 0xf7, 0xad, 0x6a, 0xed, 0x9b, 0xf3, 0xab, 0x04, 0xaa, 0xe1, 0x30, 0xa7, 0xe4, 0x45, 0x59,
|
||||
0x71, 0xba, 0xa9, 0xe3, 0xa4, 0x3a, 0x56, 0xf5, 0xff, 0x10, 0xd8, 0x93, 0x02, 0x1b, 0x85, 0x7a,
|
||||
0x17, 0x4a, 0x0d, 0x6f, 0x79, 0xd6, 0xc0, 0x65, 0xb7, 0x3e, 0xc7, 0x92, 0x34, 0xf3, 0x5d, 0xb9,
|
||||
0x9e, 0xa6, 0xaa, 0x96, 0x78, 0x9f, 0xfd, 0x3e, 0x52, 0x8c, 0x3e, 0x63, 0x8e, 0xa6, 0xc5, 0x46,
|
||||
0xf4, 0xc9, 0xba, 0x7a, 0x2b, 0xb4, 0x5f, 0x6f, 0xdf, 0x11, 0xd8, 0x1f, 0xe6, 0xfb, 0x9a, 0x36,
|
||||
0xa7, 0x6b, 0x0d, 0x55, 0x53, 0x1e, 0x89, 0x7c, 0x3d, 0x20, 0x30, 0x96, 0x07, 0x3f, 0x26, 0x4e,
|
||||
0x81, 0xe2, 0xb2, 0xfb, 0x3c, 0x92, 0xb7, 0x03, 0x49, 0x79, 0x8b, 0x71, 0x19, 0xac, 0x7a, 0xea,
|
||||
0xb9, 0xec, 0x42, 0x82, 0xbe, 0x20, 0xd8, 0xae, 0xc1, 0x02, 0x71, 0xb2, 0x71, 0x02, 0xb6, 0x61,
|
||||
0x6d, 0x84, 0xb3, 0x51, 0xbe, 0xb7, 0x3a, 0x5e, 0xc2, 0x50, 0xeb, 0x92, 0xe0, 0xed, 0xb7, 0x93,
|
||||
0x10, 0x4d, 0x67, 0xa1, 0xbd, 0x74, 0x1e, 0x7b, 0xfc, 0xc6, 0xcd, 0x91, 0x9e, 0xbf, 0x6f, 0x8e,
|
||||
0xf4, 0xf0, 0x2b, 0x78, 0x96, 0x47, 0xeb, 0x99, 0xbe, 0x05, 0xc5, 0x98, 0xae, 0xc1, 0x83, 0xa6,
|
||||
0x85, 0xa6, 0xa9, 0xd3, 0x68, 0x4b, 0xf0, 0x5f, 0x13, 0x18, 0xb1, 0x03, 0xc7, 0x24, 0x6b, 0x53,
|
||||
0x0b, 0x66, 0xe0, 0x39, 0x19, 0x8b, 0x1b, 0x95, 0x3b, 0x0f, 0xfd, 0x4e, 0x8d, 0xa1, 0x58, 0xed,
|
||||
0x56, 0x2a, 0x7a, 0xe1, 0x6f, 0xb9, 0x87, 0xf3, 0x29, 0x97, 0x5e, 0x4c, 0xb3, 0x6f, 0x58, 0xad,
|
||||
0x0e, 0xf5, 0x78, 0x40, 0xab, 0x9f, 0xdd, 0xd3, 0x39, 0x1e, 0x37, 0xaa, 0xb5, 0xd0, 0xb1, 0xd3,
|
||||
0x39, 0x20, 0x5d, 0x77, 0x8f, 0xe1, 0xdb, 0xee, 0x31, 0xec, 0x11, 0x4b, 0x3b, 0x86, 0x37, 0x61,
|
||||
0x66, 0xbc, 0x73, 0x38, 0x83, 0xc0, 0x23, 0x7b, 0x0e, 0xdf, 0x2e, 0xc0, 0x4e, 0x9b, 0x60, 0x5d,
|
||||
0x6e, 0x74, 0x25, 0x23, 0x94, 0x19, 0xf3, 0xb3, 0xb1, 0xa7, 0x4b, 0xb2, 0x93, 0x41, 0x66, 0xcc,
|
||||
0xcf, 0xac, 0x7b, 0xaf, 0xd2, 0x06, 0x33, 0xd7, 0xfb, 0xe9, 0xcd, 0xf2, 0xd3, 0x60, 0xe6, 0x4c,
|
||||
0xca, 0xfb, 0xb9, 0xaf, 0x03, 0x15, 0x72, 0x9f, 0x00, 0x17, 0x27, 0x20, 0x56, 0x84, 0x06, 0x43,
|
||||
0x86, 0x9c, 0xd2, 0xb6, 0x4f, 0x27, 0x15, 0x45, 0xd0, 0x5d, 0x5c, 0xe3, 0xee, 0x30, 0xe4, 0xae,
|
||||
0xb6, 0xee, 0xaa, 0xfb, 0xe2, 0xf1, 0x2a, 0x3f, 0x7a, 0x57, 0xdb, 0x84, 0x0d, 0xfb, 0x4d, 0xe4,
|
||||
0x15, 0xd0, 0xf5, 0xdb, 0x57, 0xc7, 0x24, 0xbf, 0x45, 0xa0, 0x92, 0x80, 0x7d, 0x53, 0xbf, 0xea,
|
||||
0x97, 0x12, 0x2b, 0xa5, 0x2b, 0x57, 0xb0, 0x49, 0x6c, 0xb8, 0xd3, 0x2a, 0x33, 0x75, 0x43, 0x9d,
|
||||
0x97, 0x16, 0xad, 0xbb, 0x6a, 0xe0, 0xfb, 0x83, 0x05, 0x59, 0x55, 0x16, 0x4c, 0x3b, 0x4c, 0x6f,
|
||||
0x1d, 0x3f, 0x1d, 0x2b, 0x94, 0x09, 0x2f, 0xc1, 0xae, 0x58, 0x4b, 0x04, 0x79, 0x1c, 0xfa, 0x16,
|
||||
0x54, 0x66, 0x22, 0xbe, 0x7d, 0x49, 0xf8, 0xc2, 0xd6, 0x53, 0x85, 0x32, 0xa9, 0xdb, 0x76, 0x76,
|
||||
0x08, 0x0a, 0x83, 0x76, 0x88, 0x69, 0x5d, 0x5f, 0x44, 0x48, 0xfc, 0x34, 0x6c, 0x0f, 0xac, 0x61,
|
||||
0xb0, 0xe7, 0xa1, 0xaf, 0xa9, 0xeb, 0x8b, 0x18, 0x6c, 0x38, 0x29, 0x98, 0x65, 0x13, 0xd4, 0xc1,
|
||||
0x36, 0xe2, 0x4b, 0x40, 0x1d, 0x8f, 0x92, 0x21, 0x2d, 0xb9, 0xed, 0xc8, 0xbf, 0x01, 0xc5, 0xd0,
|
||||
0x2a, 0x46, 0xaa, 0x41, 0x7f, 0xd3, 0x5e, 0xc1, 0x58, 0x95, 0xc4, 0x58, 0xf6, 0xae, 0xd0, 0x60,
|
||||
0xe5, 0x18, 0x4e, 0x7c, 0x35, 0x04, 0x8f, 0xd9, 0xae, 0xe9, 0x27, 0x04, 0xc0, 0xef, 0x28, 0x2a,
|
||||
0x24, 0xf9, 0x8a, 0xff, 0x76, 0x87, 0x13, 0x73, 0xef, 0xc7, 0xf9, 0x57, 0xbc, 0x61, 0x01, 0x79,
|
||||
0xef, 0xa7, 0x3f, 0x3f, 0x2e, 0xec, 0xa5, 0xbc, 0x98, 0xf0, 0x3d, 0x55, 0xa0, 0x1b, 0x3f, 0x27,
|
||||
0x30, 0xe0, 0xf9, 0xa1, 0xe3, 0xf9, 0xe2, 0xb9, 0xf0, 0x84, 0xbc, 0xdb, 0x11, 0xdd, 0x49, 0x1f,
|
||||
0xdd, 0xb3, 0xf4, 0x70, 0x36, 0x3a, 0xf1, 0x5a, 0xb8, 0xf9, 0xae, 0xd3, 0x5f, 0x09, 0x94, 0xe2,
|
||||
0xee, 0xe4, 0x74, 0x32, 0x1f, 0x94, 0xe8, 0x18, 0xc5, 0x3d, 0xd7, 0x86, 0x25, 0xf2, 0x39, 0xe7,
|
||||
0xf3, 0xa9, 0xd1, 0x13, 0x6d, 0xf0, 0x11, 0x03, 0xef, 0x40, 0xfa, 0x1f, 0x81, 0xdd, 0xa9, 0xf7,
|
||||
0x57, 0x5a, 0xcb, 0x07, 0x35, 0x65, 0x68, 0xe4, 0xa6, 0x36, 0xe2, 0x02, 0x69, 0xcf, 0xf8, 0xb4,
|
||||
0xcf, 0xd2, 0x33, 0xed, 0xd0, 0xf6, 0xa7, 0xbe, 0xa0, 0x00, 0x3f, 0x10, 0x00, 0x3f, 0x5e, 0x46,
|
||||
0xb3, 0x44, 0xee, 0x75, 0x19, 0xcd, 0x12, 0x9d, 0xeb, 0xf9, 0x77, 0x7c, 0x1e, 0x75, 0x3a, 0xbd,
|
||||
0xc1, 0xf4, 0x89, 0xd7, 0xc2, 0x6f, 0x9a, 0xeb, 0xf4, 0x5f, 0x02, 0xc5, 0x18, 0x1d, 0xe9, 0xd1,
|
||||
0x54, 0x9c, 0xc9, 0x17, 0x57, 0x6e, 0xb2, 0x75, 0x43, 0x64, 0x6a, 0xf8, 0x4c, 0x15, 0x2a, 0x77,
|
||||
0x9a, 0x69, 0x6c, 0x3a, 0xe9, 0x8f, 0x04, 0x4a, 0x71, 0x17, 0xb4, 0x8c, 0x56, 0x4d, 0xb9, 0x8b,
|
||||
0x66, 0xb4, 0x6a, 0xda, 0x6d, 0x90, 0xaf, 0xf9, 0x0a, 0x1c, 0xa1, 0xcf, 0x24, 0x29, 0x90, 0x9a,
|
||||
0x4f, 0xab, 0x3f, 0x53, 0xef, 0x35, 0x19, 0xfd, 0x99, 0xe7, 0x52, 0x97, 0xd1, 0x9f, 0xb9, 0xae,
|
||||
0x55, 0x39, 0xfb, 0xd3, 0xa3, 0x97, 0x33, 0xa1, 0x8c, 0x7e, 0x4f, 0x60, 0x6b, 0x68, 0x6c, 0xa7,
|
||||
0x87, 0x52, 0xd1, 0xc6, 0xdd, 0x91, 0xb8, 0x89, 0x56, 0x4c, 0x90, 0xd0, 0x79, 0x9f, 0xd0, 0x0b,
|
||||
0xb4, 0xd6, 0x0e, 0x21, 0x23, 0x04, 0xfb, 0x3e, 0x81, 0x62, 0xcc, 0xc0, 0x9b, 0xd1, 0x99, 0xc9,
|
||||
0x93, 0x3d, 0x37, 0xd9, 0xba, 0x21, 0x52, 0x3b, 0xeb, 0x53, 0x3b, 0x49, 0x8f, 0xb7, 0x43, 0x2d,
|
||||
0xf0, 0x32, 0x5f, 0x23, 0x40, 0xa3, 0xc1, 0xe8, 0x91, 0x16, 0xd1, 0xb9, 0xac, 0x8e, 0xb6, 0x6c,
|
||||
0x87, 0xa4, 0xde, 0xf6, 0x49, 0x5d, 0xa0, 0xaf, 0x6c, 0x8c, 0x54, 0x74, 0x06, 0xf8, 0x96, 0xc0,
|
||||
0xb6, 0xf0, 0x50, 0x49, 0xd3, 0x8b, 0x2a, 0x76, 0xf2, 0xe5, 0x0e, 0xb7, 0x64, 0x13, 0x9d, 0x60,
|
||||
0x26, 0xe8, 0xc1, 0x24, 0x66, 0x0b, 0x9e, 0xb1, 0xfd, 0xf3, 0x92, 0x78, 0xcd, 0x19, 0xaa, 0xaf,
|
||||
0xdf, 0x28, 0x10, 0xfa, 0x3e, 0x81, 0x3e, 0x6b, 0x4a, 0xa5, 0xa3, 0xa9, 0xf1, 0x03, 0x03, 0x31,
|
||||
0xb7, 0x3f, 0xc7, 0x4e, 0xc4, 0xb7, 0xdf, 0xc7, 0x57, 0xa1, 0xc3, 0x49, 0xf8, 0xac, 0xa1, 0x98,
|
||||
0x7e, 0x48, 0xa0, 0xdf, 0x19, 0x61, 0xe9, 0x58, 0x7a, 0x80, 0xe0, 0xd4, 0xcc, 0x1d, 0xc8, 0xb5,
|
||||
0x17, 0xe1, 0x1c, 0xf0, 0xe1, 0x54, 0x69, 0x25, 0x11, 0x8e, 0x33, 0x48, 0x1f, 0xb9, 0xf3, 0xb0,
|
||||
0x42, 0xee, 0x3e, 0xac, 0x90, 0x3f, 0x1e, 0x56, 0xc8, 0x47, 0x6b, 0x95, 0x9e, 0xbb, 0x6b, 0x95,
|
||||
0x9e, 0x5f, 0xd6, 0x2a, 0x3d, 0x6f, 0x0e, 0x3b, 0x86, 0xac, 0x71, 0x49, 0x50, 0x75, 0xd1, 0xfb,
|
||||
0xe5, 0x50, 0x34, 0xaf, 0x36, 0x65, 0x36, 0xd7, 0x6f, 0xff, 0x46, 0x7a, 0xf8, 0xff, 0x00, 0x00,
|
||||
0x00, 0xff, 0xff, 0x02, 0x10, 0x70, 0xd8, 0x32, 0x1e, 0x00, 0x00,
|
||||
}
|
||||
|
||||
// Reference imports to suppress errors if they are not otherwise used.
|
||||
@ -1762,6 +1758,7 @@ func (c *queryClient) DelegatorValidator(ctx context.Context, in *QueryDelegator
|
||||
return out, nil
|
||||
}
|
||||
|
||||
// Deprecated: Do not use.
|
||||
func (c *queryClient) HistoricalInfo(ctx context.Context, in *QueryHistoricalInfoRequest, opts ...grpc.CallOption) (*QueryHistoricalInfoResponse, error) {
|
||||
out := new(QueryHistoricalInfoResponse)
|
||||
err := c.cc.Invoke(ctx, "/cosmos.staking.v1beta1.Query/HistoricalInfo", in, out, opts...)
|
||||
@ -3232,18 +3229,6 @@ func (m *QueryHistoricalInfoResponse) MarshalToSizedBuffer(dAtA []byte) (int, er
|
||||
_ = i
|
||||
var l int
|
||||
_ = l
|
||||
if m.HistoricalRecord != nil {
|
||||
{
|
||||
size, err := m.HistoricalRecord.MarshalToSizedBuffer(dAtA[:i])
|
||||
if err != nil {
|
||||
return 0, err
|
||||
}
|
||||
i -= size
|
||||
i = encodeVarintQuery(dAtA, i, uint64(size))
|
||||
}
|
||||
i--
|
||||
dAtA[i] = 0x12
|
||||
}
|
||||
if m.Hist != nil {
|
||||
{
|
||||
size, err := m.Hist.MarshalToSizedBuffer(dAtA[:i])
|
||||
@ -3793,10 +3778,6 @@ func (m *QueryHistoricalInfoResponse) Size() (n int) {
|
||||
l = m.Hist.Size()
|
||||
n += 1 + l + sovQuery(uint64(l))
|
||||
}
|
||||
if m.HistoricalRecord != nil {
|
||||
l = m.HistoricalRecord.Size()
|
||||
n += 1 + l + sovQuery(uint64(l))
|
||||
}
|
||||
return n
|
||||
}
|
||||
|
||||
@ -6585,42 +6566,6 @@ func (m *QueryHistoricalInfoResponse) Unmarshal(dAtA []byte) error {
|
||||
return err
|
||||
}
|
||||
iNdEx = postIndex
|
||||
case 2:
|
||||
if wireType != 2 {
|
||||
return fmt.Errorf("proto: wrong wireType = %d for field HistoricalRecord", 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.HistoricalRecord == nil {
|
||||
m.HistoricalRecord = &HistoricalRecord{}
|
||||
}
|
||||
if err := m.HistoricalRecord.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
|
||||
return err
|
||||
}
|
||||
iNdEx = postIndex
|
||||
default:
|
||||
iNdEx = preIndex
|
||||
skippy, err := skipQuery(dAtA[iNdEx:])
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue
Block a user