diff --git a/api/fairyring/keyshare/pub_key.pulsar.go b/api/fairyring/keyshare/pub_key.pulsar.go index f991422c..4336f6ff 100644 --- a/api/fairyring/keyshare/pub_key.pulsar.go +++ b/api/fairyring/keyshare/pub_key.pulsar.go @@ -13,10 +13,11 @@ import ( ) var ( - md_ActivePubKey protoreflect.MessageDescriptor - fd_ActivePubKey_publicKey protoreflect.FieldDescriptor - fd_ActivePubKey_creator protoreflect.FieldDescriptor - fd_ActivePubKey_expiry protoreflect.FieldDescriptor + md_ActivePubKey protoreflect.MessageDescriptor + fd_ActivePubKey_publicKey protoreflect.FieldDescriptor + fd_ActivePubKey_creator protoreflect.FieldDescriptor + fd_ActivePubKey_expiry protoreflect.FieldDescriptor + fd_ActivePubKey_numberOfValidators protoreflect.FieldDescriptor ) func init() { @@ -25,6 +26,7 @@ func init() { fd_ActivePubKey_publicKey = md_ActivePubKey.Fields().ByName("publicKey") fd_ActivePubKey_creator = md_ActivePubKey.Fields().ByName("creator") fd_ActivePubKey_expiry = md_ActivePubKey.Fields().ByName("expiry") + fd_ActivePubKey_numberOfValidators = md_ActivePubKey.Fields().ByName("numberOfValidators") } var _ protoreflect.Message = (*fastReflection_ActivePubKey)(nil) @@ -110,6 +112,12 @@ func (x *fastReflection_ActivePubKey) Range(f func(protoreflect.FieldDescriptor, return } } + if x.NumberOfValidators != uint64(0) { + value := protoreflect.ValueOfUint64(x.NumberOfValidators) + if !f(fd_ActivePubKey_numberOfValidators, value) { + return + } + } } // Has reports whether a field is populated. @@ -131,6 +139,8 @@ func (x *fastReflection_ActivePubKey) Has(fd protoreflect.FieldDescriptor) bool return x.Creator != "" case "fairyring.keyshare.ActivePubKey.expiry": return x.Expiry != uint64(0) + case "fairyring.keyshare.ActivePubKey.numberOfValidators": + return x.NumberOfValidators != uint64(0) default: if fd.IsExtension() { panic(fmt.Errorf("proto3 declared messages do not support extensions: fairyring.keyshare.ActivePubKey")) @@ -153,6 +163,8 @@ func (x *fastReflection_ActivePubKey) Clear(fd protoreflect.FieldDescriptor) { x.Creator = "" case "fairyring.keyshare.ActivePubKey.expiry": x.Expiry = uint64(0) + case "fairyring.keyshare.ActivePubKey.numberOfValidators": + x.NumberOfValidators = uint64(0) default: if fd.IsExtension() { panic(fmt.Errorf("proto3 declared messages do not support extensions: fairyring.keyshare.ActivePubKey")) @@ -178,6 +190,9 @@ func (x *fastReflection_ActivePubKey) Get(descriptor protoreflect.FieldDescripto case "fairyring.keyshare.ActivePubKey.expiry": value := x.Expiry return protoreflect.ValueOfUint64(value) + case "fairyring.keyshare.ActivePubKey.numberOfValidators": + value := x.NumberOfValidators + return protoreflect.ValueOfUint64(value) default: if descriptor.IsExtension() { panic(fmt.Errorf("proto3 declared messages do not support extensions: fairyring.keyshare.ActivePubKey")) @@ -204,6 +219,8 @@ func (x *fastReflection_ActivePubKey) Set(fd protoreflect.FieldDescriptor, value x.Creator = value.Interface().(string) case "fairyring.keyshare.ActivePubKey.expiry": x.Expiry = value.Uint() + case "fairyring.keyshare.ActivePubKey.numberOfValidators": + x.NumberOfValidators = value.Uint() default: if fd.IsExtension() { panic(fmt.Errorf("proto3 declared messages do not support extensions: fairyring.keyshare.ActivePubKey")) @@ -230,6 +247,8 @@ func (x *fastReflection_ActivePubKey) Mutable(fd protoreflect.FieldDescriptor) p panic(fmt.Errorf("field creator of message fairyring.keyshare.ActivePubKey is not mutable")) case "fairyring.keyshare.ActivePubKey.expiry": panic(fmt.Errorf("field expiry of message fairyring.keyshare.ActivePubKey is not mutable")) + case "fairyring.keyshare.ActivePubKey.numberOfValidators": + panic(fmt.Errorf("field numberOfValidators of message fairyring.keyshare.ActivePubKey is not mutable")) default: if fd.IsExtension() { panic(fmt.Errorf("proto3 declared messages do not support extensions: fairyring.keyshare.ActivePubKey")) @@ -249,6 +268,8 @@ func (x *fastReflection_ActivePubKey) NewField(fd protoreflect.FieldDescriptor) return protoreflect.ValueOfString("") case "fairyring.keyshare.ActivePubKey.expiry": return protoreflect.ValueOfUint64(uint64(0)) + case "fairyring.keyshare.ActivePubKey.numberOfValidators": + return protoreflect.ValueOfUint64(uint64(0)) default: if fd.IsExtension() { panic(fmt.Errorf("proto3 declared messages do not support extensions: fairyring.keyshare.ActivePubKey")) @@ -329,6 +350,9 @@ func (x *fastReflection_ActivePubKey) ProtoMethods() *protoiface.Methods { if x.Expiry != 0 { n += 1 + runtime.Sov(uint64(x.Expiry)) } + if x.NumberOfValidators != 0 { + n += 1 + runtime.Sov(uint64(x.NumberOfValidators)) + } if x.unknownFields != nil { n += len(x.unknownFields) } @@ -358,6 +382,11 @@ func (x *fastReflection_ActivePubKey) ProtoMethods() *protoiface.Methods { i -= len(x.unknownFields) copy(dAtA[i:], x.unknownFields) } + if x.NumberOfValidators != 0 { + i = runtime.EncodeVarint(dAtA, i, uint64(x.NumberOfValidators)) + i-- + dAtA[i] = 0x20 + } if x.Expiry != 0 { i = runtime.EncodeVarint(dAtA, i, uint64(x.Expiry)) i-- @@ -509,6 +538,25 @@ func (x *fastReflection_ActivePubKey) ProtoMethods() *protoiface.Methods { break } } + case 4: + if wireType != 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field NumberOfValidators", wireType) + } + x.NumberOfValidators = 0 + 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++ + x.NumberOfValidators |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } default: iNdEx = preIndex skippy, err := runtime.Skip(dAtA[iNdEx:]) @@ -545,10 +593,11 @@ func (x *fastReflection_ActivePubKey) ProtoMethods() *protoiface.Methods { } var ( - md_QueuedPubKey protoreflect.MessageDescriptor - fd_QueuedPubKey_publicKey protoreflect.FieldDescriptor - fd_QueuedPubKey_creator protoreflect.FieldDescriptor - fd_QueuedPubKey_expiry protoreflect.FieldDescriptor + md_QueuedPubKey protoreflect.MessageDescriptor + fd_QueuedPubKey_publicKey protoreflect.FieldDescriptor + fd_QueuedPubKey_creator protoreflect.FieldDescriptor + fd_QueuedPubKey_expiry protoreflect.FieldDescriptor + fd_QueuedPubKey_numberOfValidators protoreflect.FieldDescriptor ) func init() { @@ -557,6 +606,7 @@ func init() { fd_QueuedPubKey_publicKey = md_QueuedPubKey.Fields().ByName("publicKey") fd_QueuedPubKey_creator = md_QueuedPubKey.Fields().ByName("creator") fd_QueuedPubKey_expiry = md_QueuedPubKey.Fields().ByName("expiry") + fd_QueuedPubKey_numberOfValidators = md_QueuedPubKey.Fields().ByName("numberOfValidators") } var _ protoreflect.Message = (*fastReflection_QueuedPubKey)(nil) @@ -642,6 +692,12 @@ func (x *fastReflection_QueuedPubKey) Range(f func(protoreflect.FieldDescriptor, return } } + if x.NumberOfValidators != uint64(0) { + value := protoreflect.ValueOfUint64(x.NumberOfValidators) + if !f(fd_QueuedPubKey_numberOfValidators, value) { + return + } + } } // Has reports whether a field is populated. @@ -663,6 +719,8 @@ func (x *fastReflection_QueuedPubKey) Has(fd protoreflect.FieldDescriptor) bool return x.Creator != "" case "fairyring.keyshare.QueuedPubKey.expiry": return x.Expiry != uint64(0) + case "fairyring.keyshare.QueuedPubKey.numberOfValidators": + return x.NumberOfValidators != uint64(0) default: if fd.IsExtension() { panic(fmt.Errorf("proto3 declared messages do not support extensions: fairyring.keyshare.QueuedPubKey")) @@ -685,6 +743,8 @@ func (x *fastReflection_QueuedPubKey) Clear(fd protoreflect.FieldDescriptor) { x.Creator = "" case "fairyring.keyshare.QueuedPubKey.expiry": x.Expiry = uint64(0) + case "fairyring.keyshare.QueuedPubKey.numberOfValidators": + x.NumberOfValidators = uint64(0) default: if fd.IsExtension() { panic(fmt.Errorf("proto3 declared messages do not support extensions: fairyring.keyshare.QueuedPubKey")) @@ -710,6 +770,9 @@ func (x *fastReflection_QueuedPubKey) Get(descriptor protoreflect.FieldDescripto case "fairyring.keyshare.QueuedPubKey.expiry": value := x.Expiry return protoreflect.ValueOfUint64(value) + case "fairyring.keyshare.QueuedPubKey.numberOfValidators": + value := x.NumberOfValidators + return protoreflect.ValueOfUint64(value) default: if descriptor.IsExtension() { panic(fmt.Errorf("proto3 declared messages do not support extensions: fairyring.keyshare.QueuedPubKey")) @@ -736,6 +799,8 @@ func (x *fastReflection_QueuedPubKey) Set(fd protoreflect.FieldDescriptor, value x.Creator = value.Interface().(string) case "fairyring.keyshare.QueuedPubKey.expiry": x.Expiry = value.Uint() + case "fairyring.keyshare.QueuedPubKey.numberOfValidators": + x.NumberOfValidators = value.Uint() default: if fd.IsExtension() { panic(fmt.Errorf("proto3 declared messages do not support extensions: fairyring.keyshare.QueuedPubKey")) @@ -762,6 +827,8 @@ func (x *fastReflection_QueuedPubKey) Mutable(fd protoreflect.FieldDescriptor) p panic(fmt.Errorf("field creator of message fairyring.keyshare.QueuedPubKey is not mutable")) case "fairyring.keyshare.QueuedPubKey.expiry": panic(fmt.Errorf("field expiry of message fairyring.keyshare.QueuedPubKey is not mutable")) + case "fairyring.keyshare.QueuedPubKey.numberOfValidators": + panic(fmt.Errorf("field numberOfValidators of message fairyring.keyshare.QueuedPubKey is not mutable")) default: if fd.IsExtension() { panic(fmt.Errorf("proto3 declared messages do not support extensions: fairyring.keyshare.QueuedPubKey")) @@ -781,6 +848,8 @@ func (x *fastReflection_QueuedPubKey) NewField(fd protoreflect.FieldDescriptor) return protoreflect.ValueOfString("") case "fairyring.keyshare.QueuedPubKey.expiry": return protoreflect.ValueOfUint64(uint64(0)) + case "fairyring.keyshare.QueuedPubKey.numberOfValidators": + return protoreflect.ValueOfUint64(uint64(0)) default: if fd.IsExtension() { panic(fmt.Errorf("proto3 declared messages do not support extensions: fairyring.keyshare.QueuedPubKey")) @@ -861,6 +930,9 @@ func (x *fastReflection_QueuedPubKey) ProtoMethods() *protoiface.Methods { if x.Expiry != 0 { n += 1 + runtime.Sov(uint64(x.Expiry)) } + if x.NumberOfValidators != 0 { + n += 1 + runtime.Sov(uint64(x.NumberOfValidators)) + } if x.unknownFields != nil { n += len(x.unknownFields) } @@ -890,6 +962,11 @@ func (x *fastReflection_QueuedPubKey) ProtoMethods() *protoiface.Methods { i -= len(x.unknownFields) copy(dAtA[i:], x.unknownFields) } + if x.NumberOfValidators != 0 { + i = runtime.EncodeVarint(dAtA, i, uint64(x.NumberOfValidators)) + i-- + dAtA[i] = 0x20 + } if x.Expiry != 0 { i = runtime.EncodeVarint(dAtA, i, uint64(x.Expiry)) i-- @@ -1041,6 +1118,25 @@ func (x *fastReflection_QueuedPubKey) ProtoMethods() *protoiface.Methods { break } } + case 4: + if wireType != 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field NumberOfValidators", wireType) + } + x.NumberOfValidators = 0 + 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++ + x.NumberOfValidators |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } default: iNdEx = preIndex skippy, err := runtime.Skip(dAtA[iNdEx:]) @@ -1094,9 +1190,10 @@ type ActivePubKey struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - PublicKey string `protobuf:"bytes,1,opt,name=publicKey,proto3" json:"publicKey,omitempty"` - Creator string `protobuf:"bytes,2,opt,name=creator,proto3" json:"creator,omitempty"` - Expiry uint64 `protobuf:"varint,3,opt,name=expiry,proto3" json:"expiry,omitempty"` + PublicKey string `protobuf:"bytes,1,opt,name=publicKey,proto3" json:"publicKey,omitempty"` + Creator string `protobuf:"bytes,2,opt,name=creator,proto3" json:"creator,omitempty"` + Expiry uint64 `protobuf:"varint,3,opt,name=expiry,proto3" json:"expiry,omitempty"` + NumberOfValidators uint64 `protobuf:"varint,4,opt,name=numberOfValidators,proto3" json:"numberOfValidators,omitempty"` } func (x *ActivePubKey) Reset() { @@ -1140,14 +1237,22 @@ func (x *ActivePubKey) GetExpiry() uint64 { return 0 } +func (x *ActivePubKey) GetNumberOfValidators() uint64 { + if x != nil { + return x.NumberOfValidators + } + return 0 +} + type QueuedPubKey struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - PublicKey string `protobuf:"bytes,1,opt,name=publicKey,proto3" json:"publicKey,omitempty"` - Creator string `protobuf:"bytes,2,opt,name=creator,proto3" json:"creator,omitempty"` - Expiry uint64 `protobuf:"varint,3,opt,name=expiry,proto3" json:"expiry,omitempty"` + PublicKey string `protobuf:"bytes,1,opt,name=publicKey,proto3" json:"publicKey,omitempty"` + Creator string `protobuf:"bytes,2,opt,name=creator,proto3" json:"creator,omitempty"` + Expiry uint64 `protobuf:"varint,3,opt,name=expiry,proto3" json:"expiry,omitempty"` + NumberOfValidators uint64 `protobuf:"varint,4,opt,name=numberOfValidators,proto3" json:"numberOfValidators,omitempty"` } func (x *QueuedPubKey) Reset() { @@ -1191,37 +1296,50 @@ func (x *QueuedPubKey) GetExpiry() uint64 { return 0 } +func (x *QueuedPubKey) GetNumberOfValidators() uint64 { + if x != nil { + return x.NumberOfValidators + } + return 0 +} + var File_fairyring_keyshare_pub_key_proto protoreflect.FileDescriptor var file_fairyring_keyshare_pub_key_proto_rawDesc = []byte{ 0x0a, 0x20, 0x66, 0x61, 0x69, 0x72, 0x79, 0x72, 0x69, 0x6e, 0x67, 0x2f, 0x6b, 0x65, 0x79, 0x73, 0x68, 0x61, 0x72, 0x65, 0x2f, 0x70, 0x75, 0x62, 0x5f, 0x6b, 0x65, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x12, 0x66, 0x61, 0x69, 0x72, 0x79, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x6b, 0x65, - 0x79, 0x73, 0x68, 0x61, 0x72, 0x65, 0x22, 0x5e, 0x0a, 0x0c, 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, - 0x50, 0x75, 0x62, 0x4b, 0x65, 0x79, 0x12, 0x1c, 0x0a, 0x09, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, - 0x4b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x75, 0x62, 0x6c, 0x69, - 0x63, 0x4b, 0x65, 0x79, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x16, - 0x0a, 0x06, 0x65, 0x78, 0x70, 0x69, 0x72, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, - 0x65, 0x78, 0x70, 0x69, 0x72, 0x79, 0x22, 0x5e, 0x0a, 0x0c, 0x51, 0x75, 0x65, 0x75, 0x65, 0x64, - 0x50, 0x75, 0x62, 0x4b, 0x65, 0x79, 0x12, 0x1c, 0x0a, 0x09, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, - 0x4b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x75, 0x62, 0x6c, 0x69, - 0x63, 0x4b, 0x65, 0x79, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x16, - 0x0a, 0x06, 0x65, 0x78, 0x70, 0x69, 0x72, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, - 0x65, 0x78, 0x70, 0x69, 0x72, 0x79, 0x42, 0xb3, 0x01, 0x0a, 0x16, 0x63, 0x6f, 0x6d, 0x2e, 0x66, - 0x61, 0x69, 0x72, 0x79, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x6b, 0x65, 0x79, 0x73, 0x68, 0x61, 0x72, - 0x65, 0x42, 0x0b, 0x50, 0x75, 0x62, 0x4b, 0x65, 0x79, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, - 0x5a, 0x23, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x73, 0x64, 0x6b, 0x2e, 0x69, 0x6f, 0x2f, 0x61, - 0x70, 0x69, 0x2f, 0x66, 0x61, 0x69, 0x72, 0x79, 0x72, 0x69, 0x6e, 0x67, 0x2f, 0x6b, 0x65, 0x79, - 0x73, 0x68, 0x61, 0x72, 0x65, 0xa2, 0x02, 0x03, 0x46, 0x4b, 0x58, 0xaa, 0x02, 0x12, 0x46, 0x61, - 0x69, 0x72, 0x79, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x4b, 0x65, 0x79, 0x73, 0x68, 0x61, 0x72, 0x65, - 0xca, 0x02, 0x12, 0x46, 0x61, 0x69, 0x72, 0x79, 0x72, 0x69, 0x6e, 0x67, 0x5c, 0x4b, 0x65, 0x79, - 0x73, 0x68, 0x61, 0x72, 0x65, 0xe2, 0x02, 0x1e, 0x46, 0x61, 0x69, 0x72, 0x79, 0x72, 0x69, 0x6e, - 0x67, 0x5c, 0x4b, 0x65, 0x79, 0x73, 0x68, 0x61, 0x72, 0x65, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, - 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x13, 0x46, 0x61, 0x69, 0x72, 0x79, 0x72, 0x69, - 0x6e, 0x67, 0x3a, 0x3a, 0x4b, 0x65, 0x79, 0x73, 0x68, 0x61, 0x72, 0x65, 0x62, 0x06, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x33, + 0x79, 0x73, 0x68, 0x61, 0x72, 0x65, 0x22, 0x8e, 0x01, 0x0a, 0x0c, 0x41, 0x63, 0x74, 0x69, 0x76, + 0x65, 0x50, 0x75, 0x62, 0x4b, 0x65, 0x79, 0x12, 0x1c, 0x0a, 0x09, 0x70, 0x75, 0x62, 0x6c, 0x69, + 0x63, 0x4b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x75, 0x62, 0x6c, + 0x69, 0x63, 0x4b, 0x65, 0x79, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, + 0x16, 0x0a, 0x06, 0x65, 0x78, 0x70, 0x69, 0x72, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, + 0x06, 0x65, 0x78, 0x70, 0x69, 0x72, 0x79, 0x12, 0x2e, 0x0a, 0x12, 0x6e, 0x75, 0x6d, 0x62, 0x65, + 0x72, 0x4f, 0x66, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x73, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x04, 0x52, 0x12, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x4f, 0x66, 0x56, 0x61, 0x6c, + 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x73, 0x22, 0x8e, 0x01, 0x0a, 0x0c, 0x51, 0x75, 0x65, 0x75, + 0x65, 0x64, 0x50, 0x75, 0x62, 0x4b, 0x65, 0x79, 0x12, 0x1c, 0x0a, 0x09, 0x70, 0x75, 0x62, 0x6c, + 0x69, 0x63, 0x4b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x75, 0x62, + 0x6c, 0x69, 0x63, 0x4b, 0x65, 0x79, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, + 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, + 0x12, 0x16, 0x0a, 0x06, 0x65, 0x78, 0x70, 0x69, 0x72, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, + 0x52, 0x06, 0x65, 0x78, 0x70, 0x69, 0x72, 0x79, 0x12, 0x2e, 0x0a, 0x12, 0x6e, 0x75, 0x6d, 0x62, + 0x65, 0x72, 0x4f, 0x66, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x73, 0x18, 0x04, + 0x20, 0x01, 0x28, 0x04, 0x52, 0x12, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x4f, 0x66, 0x56, 0x61, + 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x73, 0x42, 0xb3, 0x01, 0x0a, 0x16, 0x63, 0x6f, 0x6d, + 0x2e, 0x66, 0x61, 0x69, 0x72, 0x79, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x6b, 0x65, 0x79, 0x73, 0x68, + 0x61, 0x72, 0x65, 0x42, 0x0b, 0x50, 0x75, 0x62, 0x4b, 0x65, 0x79, 0x50, 0x72, 0x6f, 0x74, 0x6f, + 0x50, 0x01, 0x5a, 0x23, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x73, 0x64, 0x6b, 0x2e, 0x69, 0x6f, + 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x66, 0x61, 0x69, 0x72, 0x79, 0x72, 0x69, 0x6e, 0x67, 0x2f, 0x6b, + 0x65, 0x79, 0x73, 0x68, 0x61, 0x72, 0x65, 0xa2, 0x02, 0x03, 0x46, 0x4b, 0x58, 0xaa, 0x02, 0x12, + 0x46, 0x61, 0x69, 0x72, 0x79, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x4b, 0x65, 0x79, 0x73, 0x68, 0x61, + 0x72, 0x65, 0xca, 0x02, 0x12, 0x46, 0x61, 0x69, 0x72, 0x79, 0x72, 0x69, 0x6e, 0x67, 0x5c, 0x4b, + 0x65, 0x79, 0x73, 0x68, 0x61, 0x72, 0x65, 0xe2, 0x02, 0x1e, 0x46, 0x61, 0x69, 0x72, 0x79, 0x72, + 0x69, 0x6e, 0x67, 0x5c, 0x4b, 0x65, 0x79, 0x73, 0x68, 0x61, 0x72, 0x65, 0x5c, 0x47, 0x50, 0x42, + 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x13, 0x46, 0x61, 0x69, 0x72, 0x79, + 0x72, 0x69, 0x6e, 0x67, 0x3a, 0x3a, 0x4b, 0x65, 0x79, 0x73, 0x68, 0x61, 0x72, 0x65, 0x62, 0x06, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( diff --git a/api/fairyring/keyshare/tx.pulsar.go b/api/fairyring/keyshare/tx.pulsar.go index cab2f31e..0a473f69 100644 --- a/api/fairyring/keyshare/tx.pulsar.go +++ b/api/fairyring/keyshare/tx.pulsar.go @@ -2225,10 +2225,11 @@ func (x *_MsgCreateLatestPubKey_3_list) IsValid() bool { } var ( - md_MsgCreateLatestPubKey protoreflect.MessageDescriptor - fd_MsgCreateLatestPubKey_creator protoreflect.FieldDescriptor - fd_MsgCreateLatestPubKey_publicKey protoreflect.FieldDescriptor - fd_MsgCreateLatestPubKey_commitments protoreflect.FieldDescriptor + md_MsgCreateLatestPubKey protoreflect.MessageDescriptor + fd_MsgCreateLatestPubKey_creator protoreflect.FieldDescriptor + fd_MsgCreateLatestPubKey_publicKey protoreflect.FieldDescriptor + fd_MsgCreateLatestPubKey_commitments protoreflect.FieldDescriptor + fd_MsgCreateLatestPubKey_numberOfValidators protoreflect.FieldDescriptor ) func init() { @@ -2237,6 +2238,7 @@ func init() { fd_MsgCreateLatestPubKey_creator = md_MsgCreateLatestPubKey.Fields().ByName("creator") fd_MsgCreateLatestPubKey_publicKey = md_MsgCreateLatestPubKey.Fields().ByName("publicKey") fd_MsgCreateLatestPubKey_commitments = md_MsgCreateLatestPubKey.Fields().ByName("commitments") + fd_MsgCreateLatestPubKey_numberOfValidators = md_MsgCreateLatestPubKey.Fields().ByName("numberOfValidators") } var _ protoreflect.Message = (*fastReflection_MsgCreateLatestPubKey)(nil) @@ -2322,6 +2324,12 @@ func (x *fastReflection_MsgCreateLatestPubKey) Range(f func(protoreflect.FieldDe return } } + if x.NumberOfValidators != uint64(0) { + value := protoreflect.ValueOfUint64(x.NumberOfValidators) + if !f(fd_MsgCreateLatestPubKey_numberOfValidators, value) { + return + } + } } // Has reports whether a field is populated. @@ -2343,6 +2351,8 @@ func (x *fastReflection_MsgCreateLatestPubKey) Has(fd protoreflect.FieldDescript return x.PublicKey != "" case "fairyring.keyshare.MsgCreateLatestPubKey.commitments": return len(x.Commitments) != 0 + case "fairyring.keyshare.MsgCreateLatestPubKey.numberOfValidators": + return x.NumberOfValidators != uint64(0) default: if fd.IsExtension() { panic(fmt.Errorf("proto3 declared messages do not support extensions: fairyring.keyshare.MsgCreateLatestPubKey")) @@ -2365,6 +2375,8 @@ func (x *fastReflection_MsgCreateLatestPubKey) Clear(fd protoreflect.FieldDescri x.PublicKey = "" case "fairyring.keyshare.MsgCreateLatestPubKey.commitments": x.Commitments = nil + case "fairyring.keyshare.MsgCreateLatestPubKey.numberOfValidators": + x.NumberOfValidators = uint64(0) default: if fd.IsExtension() { panic(fmt.Errorf("proto3 declared messages do not support extensions: fairyring.keyshare.MsgCreateLatestPubKey")) @@ -2393,6 +2405,9 @@ func (x *fastReflection_MsgCreateLatestPubKey) Get(descriptor protoreflect.Field } listValue := &_MsgCreateLatestPubKey_3_list{list: &x.Commitments} return protoreflect.ValueOfList(listValue) + case "fairyring.keyshare.MsgCreateLatestPubKey.numberOfValidators": + value := x.NumberOfValidators + return protoreflect.ValueOfUint64(value) default: if descriptor.IsExtension() { panic(fmt.Errorf("proto3 declared messages do not support extensions: fairyring.keyshare.MsgCreateLatestPubKey")) @@ -2421,6 +2436,8 @@ func (x *fastReflection_MsgCreateLatestPubKey) Set(fd protoreflect.FieldDescript lv := value.List() clv := lv.(*_MsgCreateLatestPubKey_3_list) x.Commitments = *clv.list + case "fairyring.keyshare.MsgCreateLatestPubKey.numberOfValidators": + x.NumberOfValidators = value.Uint() default: if fd.IsExtension() { panic(fmt.Errorf("proto3 declared messages do not support extensions: fairyring.keyshare.MsgCreateLatestPubKey")) @@ -2451,6 +2468,8 @@ func (x *fastReflection_MsgCreateLatestPubKey) Mutable(fd protoreflect.FieldDesc panic(fmt.Errorf("field creator of message fairyring.keyshare.MsgCreateLatestPubKey is not mutable")) case "fairyring.keyshare.MsgCreateLatestPubKey.publicKey": panic(fmt.Errorf("field publicKey of message fairyring.keyshare.MsgCreateLatestPubKey is not mutable")) + case "fairyring.keyshare.MsgCreateLatestPubKey.numberOfValidators": + panic(fmt.Errorf("field numberOfValidators of message fairyring.keyshare.MsgCreateLatestPubKey is not mutable")) default: if fd.IsExtension() { panic(fmt.Errorf("proto3 declared messages do not support extensions: fairyring.keyshare.MsgCreateLatestPubKey")) @@ -2471,6 +2490,8 @@ func (x *fastReflection_MsgCreateLatestPubKey) NewField(fd protoreflect.FieldDes case "fairyring.keyshare.MsgCreateLatestPubKey.commitments": list := []string{} return protoreflect.ValueOfList(&_MsgCreateLatestPubKey_3_list{list: &list}) + case "fairyring.keyshare.MsgCreateLatestPubKey.numberOfValidators": + return protoreflect.ValueOfUint64(uint64(0)) default: if fd.IsExtension() { panic(fmt.Errorf("proto3 declared messages do not support extensions: fairyring.keyshare.MsgCreateLatestPubKey")) @@ -2554,6 +2575,9 @@ func (x *fastReflection_MsgCreateLatestPubKey) ProtoMethods() *protoiface.Method n += 1 + l + runtime.Sov(uint64(l)) } } + if x.NumberOfValidators != 0 { + n += 1 + runtime.Sov(uint64(x.NumberOfValidators)) + } if x.unknownFields != nil { n += len(x.unknownFields) } @@ -2583,6 +2607,11 @@ func (x *fastReflection_MsgCreateLatestPubKey) ProtoMethods() *protoiface.Method i -= len(x.unknownFields) copy(dAtA[i:], x.unknownFields) } + if x.NumberOfValidators != 0 { + i = runtime.EncodeVarint(dAtA, i, uint64(x.NumberOfValidators)) + i-- + dAtA[i] = 0x20 + } if len(x.Commitments) > 0 { for iNdEx := len(x.Commitments) - 1; iNdEx >= 0; iNdEx-- { i -= len(x.Commitments[iNdEx]) @@ -2751,6 +2780,25 @@ func (x *fastReflection_MsgCreateLatestPubKey) ProtoMethods() *protoiface.Method } x.Commitments = append(x.Commitments, string(dAtA[iNdEx:postIndex])) iNdEx = postIndex + case 4: + if wireType != 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field NumberOfValidators", wireType) + } + x.NumberOfValidators = 0 + 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++ + x.NumberOfValidators |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } default: iNdEx = preIndex skippy, err := runtime.Skip(dAtA[iNdEx:]) @@ -7529,9 +7577,10 @@ type MsgCreateLatestPubKey struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Creator string `protobuf:"bytes,1,opt,name=creator,proto3" json:"creator,omitempty"` - PublicKey string `protobuf:"bytes,2,opt,name=publicKey,proto3" json:"publicKey,omitempty"` - Commitments []string `protobuf:"bytes,3,rep,name=commitments,proto3" json:"commitments,omitempty"` + Creator string `protobuf:"bytes,1,opt,name=creator,proto3" json:"creator,omitempty"` + PublicKey string `protobuf:"bytes,2,opt,name=publicKey,proto3" json:"publicKey,omitempty"` + Commitments []string `protobuf:"bytes,3,rep,name=commitments,proto3" json:"commitments,omitempty"` + NumberOfValidators uint64 `protobuf:"varint,4,opt,name=numberOfValidators,proto3" json:"numberOfValidators,omitempty"` } func (x *MsgCreateLatestPubKey) Reset() { @@ -7575,6 +7624,13 @@ func (x *MsgCreateLatestPubKey) GetCommitments() []string { return nil } +func (x *MsgCreateLatestPubKey) GetNumberOfValidators() uint64 { + if x != nil { + return x.NumberOfValidators + } + return 0 +} + type MsgCreateLatestPubKeyResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -8031,140 +8087,143 @@ var file_fairyring_keyshare_tx_proto_rawDesc = []byte{ 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x22, 0x0a, 0x0c, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x4d, 0x65, 0x73, 0x73, - 0x61, 0x67, 0x65, 0x22, 0x71, 0x0a, 0x15, 0x4d, 0x73, 0x67, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, - 0x4c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x50, 0x75, 0x62, 0x4b, 0x65, 0x79, 0x12, 0x18, 0x0a, 0x07, - 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, - 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x1c, 0x0a, 0x09, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, - 0x4b, 0x65, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x75, 0x62, 0x6c, 0x69, - 0x63, 0x4b, 0x65, 0x79, 0x12, 0x20, 0x0a, 0x0b, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x6d, 0x65, - 0x6e, 0x74, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0b, 0x63, 0x6f, 0x6d, 0x6d, 0x69, - 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x22, 0x1f, 0x0a, 0x1d, 0x4d, 0x73, 0x67, 0x43, 0x72, 0x65, - 0x61, 0x74, 0x65, 0x4c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x50, 0x75, 0x62, 0x4b, 0x65, 0x79, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x4e, 0x0a, 0x1a, 0x4d, 0x73, 0x67, 0x43, 0x72, - 0x65, 0x61, 0x74, 0x65, 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x65, 0x64, 0x41, 0x64, - 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x12, 0x18, 0x0a, - 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, - 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x22, 0x24, 0x0a, 0x22, 0x4d, 0x73, 0x67, 0x43, 0x72, - 0x65, 0x61, 0x74, 0x65, 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x65, 0x64, 0x41, 0x64, - 0x64, 0x72, 0x65, 0x73, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x72, 0x0a, - 0x1a, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, - 0x69, 0x7a, 0x65, 0x64, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x74, - 0x61, 0x72, 0x67, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x74, 0x61, 0x72, - 0x67, 0x65, 0x74, 0x12, 0x22, 0x0a, 0x0c, 0x69, 0x73, 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, - 0x7a, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x69, 0x73, 0x41, 0x75, 0x74, - 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x65, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, - 0x6f, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, - 0x72, 0x22, 0x24, 0x0a, 0x22, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x75, - 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x65, 0x64, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x4e, 0x0a, 0x1a, 0x4d, 0x73, 0x67, 0x44, 0x65, - 0x6c, 0x65, 0x74, 0x65, 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x65, 0x64, 0x41, 0x64, - 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x12, 0x18, 0x0a, - 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, - 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x22, 0x24, 0x0a, 0x22, 0x4d, 0x73, 0x67, 0x44, 0x65, - 0x6c, 0x65, 0x74, 0x65, 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x65, 0x64, 0x41, 0x64, - 0x64, 0x72, 0x65, 0x73, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x88, 0x02, - 0x0a, 0x18, 0x4d, 0x73, 0x67, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x47, 0x65, 0x6e, 0x65, 0x72, - 0x61, 0x6c, 0x4b, 0x65, 0x79, 0x53, 0x68, 0x61, 0x72, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, - 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, - 0x61, 0x74, 0x6f, 0x72, 0x12, 0x16, 0x0a, 0x06, 0x69, 0x64, 0x54, 0x79, 0x70, 0x65, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x69, 0x64, 0x54, 0x79, 0x70, 0x65, 0x12, 0x18, 0x0a, 0x07, - 0x69, 0x64, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x69, - 0x64, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x6b, 0x65, 0x79, 0x53, 0x68, 0x61, - 0x72, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6b, 0x65, 0x79, 0x53, 0x68, 0x61, - 0x72, 0x65, 0x12, 0x24, 0x0a, 0x0d, 0x6b, 0x65, 0x79, 0x53, 0x68, 0x61, 0x72, 0x65, 0x49, 0x6e, - 0x64, 0x65, 0x78, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0d, 0x6b, 0x65, 0x79, 0x53, 0x68, - 0x61, 0x72, 0x65, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x2c, 0x0a, 0x11, 0x72, 0x65, 0x63, 0x65, - 0x69, 0x76, 0x65, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x06, 0x20, - 0x01, 0x28, 0x04, 0x52, 0x11, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x54, 0x69, 0x6d, - 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x30, 0x0a, 0x13, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, - 0x65, 0x64, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x48, 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x07, 0x20, - 0x01, 0x28, 0x04, 0x52, 0x13, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x42, 0x6c, 0x6f, - 0x63, 0x6b, 0x48, 0x65, 0x69, 0x67, 0x68, 0x74, 0x22, 0xa0, 0x02, 0x0a, 0x20, 0x4d, 0x73, 0x67, - 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x6c, 0x4b, 0x65, 0x79, - 0x53, 0x68, 0x61, 0x72, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x18, 0x0a, + 0x61, 0x67, 0x65, 0x22, 0xa1, 0x01, 0x0a, 0x15, 0x4d, 0x73, 0x67, 0x43, 0x72, 0x65, 0x61, 0x74, + 0x65, 0x4c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x50, 0x75, 0x62, 0x4b, 0x65, 0x79, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, - 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x16, 0x0a, 0x06, 0x69, 0x64, 0x54, 0x79, 0x70, - 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x69, 0x64, 0x54, 0x79, 0x70, 0x65, 0x12, - 0x18, 0x0a, 0x07, 0x69, 0x64, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x07, 0x69, 0x64, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x6b, 0x65, 0x79, - 0x53, 0x68, 0x61, 0x72, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6b, 0x65, 0x79, - 0x53, 0x68, 0x61, 0x72, 0x65, 0x12, 0x24, 0x0a, 0x0d, 0x6b, 0x65, 0x79, 0x53, 0x68, 0x61, 0x72, - 0x65, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0d, 0x6b, 0x65, - 0x79, 0x53, 0x68, 0x61, 0x72, 0x65, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x30, 0x0a, 0x13, 0x72, - 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x48, 0x65, 0x69, 0x67, - 0x68, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x04, 0x52, 0x13, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, - 0x65, 0x64, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x48, 0x65, 0x69, 0x67, 0x68, 0x74, 0x12, 0x18, 0x0a, - 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, - 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x22, 0x0a, 0x0c, 0x65, 0x72, 0x72, 0x6f, 0x72, - 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x65, - 0x72, 0x72, 0x6f, 0x72, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x32, 0xd5, 0x06, 0x0a, 0x03, - 0x4d, 0x73, 0x67, 0x12, 0x6f, 0x0a, 0x11, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x56, - 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x28, 0x2e, 0x66, 0x61, 0x69, 0x72, 0x79, - 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x6b, 0x65, 0x79, 0x73, 0x68, 0x61, 0x72, 0x65, 0x2e, 0x4d, 0x73, - 0x67, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, - 0x6f, 0x72, 0x1a, 0x30, 0x2e, 0x66, 0x61, 0x69, 0x72, 0x79, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x6b, - 0x65, 0x79, 0x73, 0x68, 0x61, 0x72, 0x65, 0x2e, 0x4d, 0x73, 0x67, 0x52, 0x65, 0x67, 0x69, 0x73, - 0x74, 0x65, 0x72, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x60, 0x0a, 0x0c, 0x53, 0x65, 0x6e, 0x64, 0x4b, 0x65, 0x79, 0x73, - 0x68, 0x61, 0x72, 0x65, 0x12, 0x23, 0x2e, 0x66, 0x61, 0x69, 0x72, 0x79, 0x72, 0x69, 0x6e, 0x67, - 0x2e, 0x6b, 0x65, 0x79, 0x73, 0x68, 0x61, 0x72, 0x65, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x6e, - 0x64, 0x4b, 0x65, 0x79, 0x73, 0x68, 0x61, 0x72, 0x65, 0x1a, 0x2b, 0x2e, 0x66, 0x61, 0x69, 0x72, - 0x79, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x6b, 0x65, 0x79, 0x73, 0x68, 0x61, 0x72, 0x65, 0x2e, 0x4d, - 0x73, 0x67, 0x53, 0x65, 0x6e, 0x64, 0x4b, 0x65, 0x79, 0x73, 0x68, 0x61, 0x72, 0x65, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x72, 0x0a, 0x12, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, - 0x4c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x50, 0x75, 0x62, 0x4b, 0x65, 0x79, 0x12, 0x29, 0x2e, 0x66, - 0x61, 0x69, 0x72, 0x79, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x6b, 0x65, 0x79, 0x73, 0x68, 0x61, 0x72, - 0x65, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4c, 0x61, 0x74, 0x65, 0x73, - 0x74, 0x50, 0x75, 0x62, 0x4b, 0x65, 0x79, 0x1a, 0x31, 0x2e, 0x66, 0x61, 0x69, 0x72, 0x79, 0x72, - 0x69, 0x6e, 0x67, 0x2e, 0x6b, 0x65, 0x79, 0x73, 0x68, 0x61, 0x72, 0x65, 0x2e, 0x4d, 0x73, 0x67, - 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x50, 0x75, 0x62, 0x4b, - 0x65, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x81, 0x01, 0x0a, 0x17, 0x43, - 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x65, 0x64, 0x41, - 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x2e, 0x2e, 0x66, 0x61, 0x69, 0x72, 0x79, 0x72, 0x69, - 0x6e, 0x67, 0x2e, 0x6b, 0x65, 0x79, 0x73, 0x68, 0x61, 0x72, 0x65, 0x2e, 0x4d, 0x73, 0x67, 0x43, + 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x1c, 0x0a, 0x09, 0x70, 0x75, 0x62, 0x6c, 0x69, + 0x63, 0x4b, 0x65, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x75, 0x62, 0x6c, + 0x69, 0x63, 0x4b, 0x65, 0x79, 0x12, 0x20, 0x0a, 0x0b, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x6d, + 0x65, 0x6e, 0x74, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0b, 0x63, 0x6f, 0x6d, 0x6d, + 0x69, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x2e, 0x0a, 0x12, 0x6e, 0x75, 0x6d, 0x62, 0x65, + 0x72, 0x4f, 0x66, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x73, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x04, 0x52, 0x12, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x4f, 0x66, 0x56, 0x61, 0x6c, + 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x73, 0x22, 0x1f, 0x0a, 0x1d, 0x4d, 0x73, 0x67, 0x43, 0x72, + 0x65, 0x61, 0x74, 0x65, 0x4c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x50, 0x75, 0x62, 0x4b, 0x65, 0x79, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x4e, 0x0a, 0x1a, 0x4d, 0x73, 0x67, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x65, 0x64, 0x41, - 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x1a, 0x36, 0x2e, 0x66, 0x61, 0x69, 0x72, 0x79, 0x72, 0x69, - 0x6e, 0x67, 0x2e, 0x6b, 0x65, 0x79, 0x73, 0x68, 0x61, 0x72, 0x65, 0x2e, 0x4d, 0x73, 0x67, 0x43, + 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x12, 0x18, + 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x22, 0x24, 0x0a, 0x22, 0x4d, 0x73, 0x67, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x65, 0x64, 0x41, - 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x81, - 0x01, 0x0a, 0x17, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, - 0x7a, 0x65, 0x64, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x2e, 0x2e, 0x66, 0x61, 0x69, - 0x72, 0x79, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x6b, 0x65, 0x79, 0x73, 0x68, 0x61, 0x72, 0x65, 0x2e, - 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, - 0x7a, 0x65, 0x64, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x1a, 0x36, 0x2e, 0x66, 0x61, 0x69, + 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x72, + 0x0a, 0x1a, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x75, 0x74, 0x68, 0x6f, + 0x72, 0x69, 0x7a, 0x65, 0x64, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x16, 0x0a, 0x06, + 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x74, 0x61, + 0x72, 0x67, 0x65, 0x74, 0x12, 0x22, 0x0a, 0x0c, 0x69, 0x73, 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, + 0x69, 0x7a, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x69, 0x73, 0x41, 0x75, + 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x65, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, + 0x74, 0x6f, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, + 0x6f, 0x72, 0x22, 0x24, 0x0a, 0x22, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, + 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x65, 0x64, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x4e, 0x0a, 0x1a, 0x4d, 0x73, 0x67, 0x44, + 0x65, 0x6c, 0x65, 0x74, 0x65, 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x65, 0x64, 0x41, + 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x12, 0x18, + 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x22, 0x24, 0x0a, 0x22, 0x4d, 0x73, 0x67, 0x44, + 0x65, 0x6c, 0x65, 0x74, 0x65, 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x65, 0x64, 0x41, + 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x88, + 0x02, 0x0a, 0x18, 0x4d, 0x73, 0x67, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x47, 0x65, 0x6e, 0x65, + 0x72, 0x61, 0x6c, 0x4b, 0x65, 0x79, 0x53, 0x68, 0x61, 0x72, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x63, + 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, + 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x16, 0x0a, 0x06, 0x69, 0x64, 0x54, 0x79, 0x70, 0x65, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x69, 0x64, 0x54, 0x79, 0x70, 0x65, 0x12, 0x18, 0x0a, + 0x07, 0x69, 0x64, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, + 0x69, 0x64, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x6b, 0x65, 0x79, 0x53, 0x68, + 0x61, 0x72, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6b, 0x65, 0x79, 0x53, 0x68, + 0x61, 0x72, 0x65, 0x12, 0x24, 0x0a, 0x0d, 0x6b, 0x65, 0x79, 0x53, 0x68, 0x61, 0x72, 0x65, 0x49, + 0x6e, 0x64, 0x65, 0x78, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0d, 0x6b, 0x65, 0x79, 0x53, + 0x68, 0x61, 0x72, 0x65, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x2c, 0x0a, 0x11, 0x72, 0x65, 0x63, + 0x65, 0x69, 0x76, 0x65, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x06, + 0x20, 0x01, 0x28, 0x04, 0x52, 0x11, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x54, 0x69, + 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x30, 0x0a, 0x13, 0x72, 0x65, 0x63, 0x65, 0x69, + 0x76, 0x65, 0x64, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x48, 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x07, + 0x20, 0x01, 0x28, 0x04, 0x52, 0x13, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x42, 0x6c, + 0x6f, 0x63, 0x6b, 0x48, 0x65, 0x69, 0x67, 0x68, 0x74, 0x22, 0xa0, 0x02, 0x0a, 0x20, 0x4d, 0x73, + 0x67, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x6c, 0x4b, 0x65, + 0x79, 0x53, 0x68, 0x61, 0x72, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x18, + 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x16, 0x0a, 0x06, 0x69, 0x64, 0x54, 0x79, + 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x69, 0x64, 0x54, 0x79, 0x70, 0x65, + 0x12, 0x18, 0x0a, 0x07, 0x69, 0x64, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x07, 0x69, 0x64, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x6b, 0x65, + 0x79, 0x53, 0x68, 0x61, 0x72, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6b, 0x65, + 0x79, 0x53, 0x68, 0x61, 0x72, 0x65, 0x12, 0x24, 0x0a, 0x0d, 0x6b, 0x65, 0x79, 0x53, 0x68, 0x61, + 0x72, 0x65, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0d, 0x6b, + 0x65, 0x79, 0x53, 0x68, 0x61, 0x72, 0x65, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x30, 0x0a, 0x13, + 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x48, 0x65, 0x69, + 0x67, 0x68, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x04, 0x52, 0x13, 0x72, 0x65, 0x63, 0x65, 0x69, + 0x76, 0x65, 0x64, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x48, 0x65, 0x69, 0x67, 0x68, 0x74, 0x12, 0x18, + 0x0a, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, + 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x22, 0x0a, 0x0c, 0x65, 0x72, 0x72, 0x6f, + 0x72, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, + 0x65, 0x72, 0x72, 0x6f, 0x72, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x32, 0xd5, 0x06, 0x0a, + 0x03, 0x4d, 0x73, 0x67, 0x12, 0x6f, 0x0a, 0x11, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, + 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x28, 0x2e, 0x66, 0x61, 0x69, 0x72, + 0x79, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x6b, 0x65, 0x79, 0x73, 0x68, 0x61, 0x72, 0x65, 0x2e, 0x4d, + 0x73, 0x67, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, + 0x74, 0x6f, 0x72, 0x1a, 0x30, 0x2e, 0x66, 0x61, 0x69, 0x72, 0x79, 0x72, 0x69, 0x6e, 0x67, 0x2e, + 0x6b, 0x65, 0x79, 0x73, 0x68, 0x61, 0x72, 0x65, 0x2e, 0x4d, 0x73, 0x67, 0x52, 0x65, 0x67, 0x69, + 0x73, 0x74, 0x65, 0x72, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x60, 0x0a, 0x0c, 0x53, 0x65, 0x6e, 0x64, 0x4b, 0x65, 0x79, + 0x73, 0x68, 0x61, 0x72, 0x65, 0x12, 0x23, 0x2e, 0x66, 0x61, 0x69, 0x72, 0x79, 0x72, 0x69, 0x6e, + 0x67, 0x2e, 0x6b, 0x65, 0x79, 0x73, 0x68, 0x61, 0x72, 0x65, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, + 0x6e, 0x64, 0x4b, 0x65, 0x79, 0x73, 0x68, 0x61, 0x72, 0x65, 0x1a, 0x2b, 0x2e, 0x66, 0x61, 0x69, 0x72, 0x79, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x6b, 0x65, 0x79, 0x73, 0x68, 0x61, 0x72, 0x65, 0x2e, - 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, - 0x7a, 0x65, 0x64, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x12, 0x81, 0x01, 0x0a, 0x17, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x41, 0x75, 0x74, - 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x65, 0x64, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x2e, - 0x2e, 0x66, 0x61, 0x69, 0x72, 0x79, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x6b, 0x65, 0x79, 0x73, 0x68, - 0x61, 0x72, 0x65, 0x2e, 0x4d, 0x73, 0x67, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x41, 0x75, 0x74, - 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x65, 0x64, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x1a, 0x36, - 0x2e, 0x66, 0x61, 0x69, 0x72, 0x79, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x6b, 0x65, 0x79, 0x73, 0x68, - 0x61, 0x72, 0x65, 0x2e, 0x4d, 0x73, 0x67, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x41, 0x75, 0x74, - 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x65, 0x64, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x7b, 0x0a, 0x15, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, - 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x6c, 0x4b, 0x65, 0x79, 0x53, 0x68, 0x61, 0x72, 0x65, 0x12, - 0x2c, 0x2e, 0x66, 0x61, 0x69, 0x72, 0x79, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x6b, 0x65, 0x79, 0x73, - 0x68, 0x61, 0x72, 0x65, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x47, 0x65, - 0x6e, 0x65, 0x72, 0x61, 0x6c, 0x4b, 0x65, 0x79, 0x53, 0x68, 0x61, 0x72, 0x65, 0x1a, 0x34, 0x2e, + 0x4d, 0x73, 0x67, 0x53, 0x65, 0x6e, 0x64, 0x4b, 0x65, 0x79, 0x73, 0x68, 0x61, 0x72, 0x65, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x72, 0x0a, 0x12, 0x43, 0x72, 0x65, 0x61, 0x74, + 0x65, 0x4c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x50, 0x75, 0x62, 0x4b, 0x65, 0x79, 0x12, 0x29, 0x2e, 0x66, 0x61, 0x69, 0x72, 0x79, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x6b, 0x65, 0x79, 0x73, 0x68, 0x61, - 0x72, 0x65, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x47, 0x65, 0x6e, 0x65, - 0x72, 0x61, 0x6c, 0x4b, 0x65, 0x79, 0x53, 0x68, 0x61, 0x72, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x42, 0xaf, 0x01, 0x0a, 0x16, 0x63, 0x6f, 0x6d, 0x2e, 0x66, 0x61, 0x69, 0x72, - 0x79, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x6b, 0x65, 0x79, 0x73, 0x68, 0x61, 0x72, 0x65, 0x42, 0x07, - 0x54, 0x78, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x23, 0x63, 0x6f, 0x73, 0x6d, 0x6f, - 0x73, 0x73, 0x64, 0x6b, 0x2e, 0x69, 0x6f, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x66, 0x61, 0x69, 0x72, - 0x79, 0x72, 0x69, 0x6e, 0x67, 0x2f, 0x6b, 0x65, 0x79, 0x73, 0x68, 0x61, 0x72, 0x65, 0xa2, 0x02, - 0x03, 0x46, 0x4b, 0x58, 0xaa, 0x02, 0x12, 0x46, 0x61, 0x69, 0x72, 0x79, 0x72, 0x69, 0x6e, 0x67, - 0x2e, 0x4b, 0x65, 0x79, 0x73, 0x68, 0x61, 0x72, 0x65, 0xca, 0x02, 0x12, 0x46, 0x61, 0x69, 0x72, - 0x79, 0x72, 0x69, 0x6e, 0x67, 0x5c, 0x4b, 0x65, 0x79, 0x73, 0x68, 0x61, 0x72, 0x65, 0xe2, 0x02, - 0x1e, 0x46, 0x61, 0x69, 0x72, 0x79, 0x72, 0x69, 0x6e, 0x67, 0x5c, 0x4b, 0x65, 0x79, 0x73, 0x68, - 0x61, 0x72, 0x65, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, - 0x02, 0x13, 0x46, 0x61, 0x69, 0x72, 0x79, 0x72, 0x69, 0x6e, 0x67, 0x3a, 0x3a, 0x4b, 0x65, 0x79, - 0x73, 0x68, 0x61, 0x72, 0x65, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x72, 0x65, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4c, 0x61, 0x74, 0x65, + 0x73, 0x74, 0x50, 0x75, 0x62, 0x4b, 0x65, 0x79, 0x1a, 0x31, 0x2e, 0x66, 0x61, 0x69, 0x72, 0x79, + 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x6b, 0x65, 0x79, 0x73, 0x68, 0x61, 0x72, 0x65, 0x2e, 0x4d, 0x73, + 0x67, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x50, 0x75, 0x62, + 0x4b, 0x65, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x81, 0x01, 0x0a, 0x17, + 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x65, 0x64, + 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x2e, 0x2e, 0x66, 0x61, 0x69, 0x72, 0x79, 0x72, + 0x69, 0x6e, 0x67, 0x2e, 0x6b, 0x65, 0x79, 0x73, 0x68, 0x61, 0x72, 0x65, 0x2e, 0x4d, 0x73, 0x67, + 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x65, 0x64, + 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x1a, 0x36, 0x2e, 0x66, 0x61, 0x69, 0x72, 0x79, 0x72, + 0x69, 0x6e, 0x67, 0x2e, 0x6b, 0x65, 0x79, 0x73, 0x68, 0x61, 0x72, 0x65, 0x2e, 0x4d, 0x73, 0x67, + 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x65, 0x64, + 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, + 0x81, 0x01, 0x0a, 0x17, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, + 0x69, 0x7a, 0x65, 0x64, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x2e, 0x2e, 0x66, 0x61, + 0x69, 0x72, 0x79, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x6b, 0x65, 0x79, 0x73, 0x68, 0x61, 0x72, 0x65, + 0x2e, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, + 0x69, 0x7a, 0x65, 0x64, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x1a, 0x36, 0x2e, 0x66, 0x61, + 0x69, 0x72, 0x79, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x6b, 0x65, 0x79, 0x73, 0x68, 0x61, 0x72, 0x65, + 0x2e, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, + 0x69, 0x7a, 0x65, 0x64, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x12, 0x81, 0x01, 0x0a, 0x17, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x41, 0x75, + 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x65, 0x64, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, + 0x2e, 0x2e, 0x66, 0x61, 0x69, 0x72, 0x79, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x6b, 0x65, 0x79, 0x73, + 0x68, 0x61, 0x72, 0x65, 0x2e, 0x4d, 0x73, 0x67, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x41, 0x75, + 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x65, 0x64, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x1a, + 0x36, 0x2e, 0x66, 0x61, 0x69, 0x72, 0x79, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x6b, 0x65, 0x79, 0x73, + 0x68, 0x61, 0x72, 0x65, 0x2e, 0x4d, 0x73, 0x67, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x41, 0x75, + 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x65, 0x64, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x7b, 0x0a, 0x15, 0x43, 0x72, 0x65, 0x61, 0x74, + 0x65, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x6c, 0x4b, 0x65, 0x79, 0x53, 0x68, 0x61, 0x72, 0x65, + 0x12, 0x2c, 0x2e, 0x66, 0x61, 0x69, 0x72, 0x79, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x6b, 0x65, 0x79, + 0x73, 0x68, 0x61, 0x72, 0x65, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x47, + 0x65, 0x6e, 0x65, 0x72, 0x61, 0x6c, 0x4b, 0x65, 0x79, 0x53, 0x68, 0x61, 0x72, 0x65, 0x1a, 0x34, + 0x2e, 0x66, 0x61, 0x69, 0x72, 0x79, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x6b, 0x65, 0x79, 0x73, 0x68, + 0x61, 0x72, 0x65, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x47, 0x65, 0x6e, + 0x65, 0x72, 0x61, 0x6c, 0x4b, 0x65, 0x79, 0x53, 0x68, 0x61, 0x72, 0x65, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x42, 0xaf, 0x01, 0x0a, 0x16, 0x63, 0x6f, 0x6d, 0x2e, 0x66, 0x61, 0x69, + 0x72, 0x79, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x6b, 0x65, 0x79, 0x73, 0x68, 0x61, 0x72, 0x65, 0x42, + 0x07, 0x54, 0x78, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x23, 0x63, 0x6f, 0x73, 0x6d, + 0x6f, 0x73, 0x73, 0x64, 0x6b, 0x2e, 0x69, 0x6f, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x66, 0x61, 0x69, + 0x72, 0x79, 0x72, 0x69, 0x6e, 0x67, 0x2f, 0x6b, 0x65, 0x79, 0x73, 0x68, 0x61, 0x72, 0x65, 0xa2, + 0x02, 0x03, 0x46, 0x4b, 0x58, 0xaa, 0x02, 0x12, 0x46, 0x61, 0x69, 0x72, 0x79, 0x72, 0x69, 0x6e, + 0x67, 0x2e, 0x4b, 0x65, 0x79, 0x73, 0x68, 0x61, 0x72, 0x65, 0xca, 0x02, 0x12, 0x46, 0x61, 0x69, + 0x72, 0x79, 0x72, 0x69, 0x6e, 0x67, 0x5c, 0x4b, 0x65, 0x79, 0x73, 0x68, 0x61, 0x72, 0x65, 0xe2, + 0x02, 0x1e, 0x46, 0x61, 0x69, 0x72, 0x79, 0x72, 0x69, 0x6e, 0x67, 0x5c, 0x4b, 0x65, 0x79, 0x73, + 0x68, 0x61, 0x72, 0x65, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, + 0xea, 0x02, 0x13, 0x46, 0x61, 0x69, 0x72, 0x79, 0x72, 0x69, 0x6e, 0x67, 0x3a, 0x3a, 0x4b, 0x65, + 0x79, 0x73, 0x68, 0x61, 0x72, 0x65, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( diff --git a/go.mod b/go.mod index 57dcecef..127fde93 100644 --- a/go.mod +++ b/go.mod @@ -32,14 +32,14 @@ require ( github.com/tendermint/tendermint v0.35.9 golang.org/x/tools v0.9.1 google.golang.org/genproto/googleapis/api v0.0.0-20230822172742-b8732ec3820d - google.golang.org/grpc v1.58.3 + google.golang.org/grpc v1.59.0 google.golang.org/grpc/cmd/protoc-gen-go-grpc v1.1.0 google.golang.org/protobuf v1.31.0 gopkg.in/yaml.v2 v2.4.0 ) require ( - cloud.google.com/go v0.110.6 // indirect + cloud.google.com/go v0.110.7 // indirect cloud.google.com/go/compute v1.23.0 // indirect cloud.google.com/go/compute/metadata v0.2.3 // indirect cloud.google.com/go/iam v1.1.1 // indirect @@ -55,7 +55,7 @@ require ( github.com/Azure/go-ansiterm v0.0.0-20210617225240-d185dfc1b5a1 // indirect github.com/ChainSafe/go-schnorrkel v0.0.0-20200405005733-88cbf1b4c40d // indirect github.com/CosmWasm/wasmvm v1.5.0 // indirect - github.com/Microsoft/go-winio v0.6.0 // indirect + github.com/Microsoft/go-winio v0.6.1 // indirect github.com/aws/aws-sdk-go v1.44.203 // indirect github.com/beorn7/perks v1.0.1 // indirect github.com/bgentry/go-netrc v0.0.0-20140422174119-9fd32a8b3d3d // indirect @@ -73,8 +73,8 @@ require ( github.com/cockroachdb/redact v1.1.5 // indirect github.com/coinbase/rosetta-sdk-go/types v1.0.0 // indirect github.com/confio/ics23/go v0.9.0 // indirect - github.com/containerd/containerd v1.6.8 // indirect - github.com/containerd/typeurl v1.0.2 // indirect + github.com/containerd/containerd v1.7.2 // indirect + github.com/containerd/typeurl/v2 v2.1.1 // indirect github.com/cosmos/btcutil v1.0.5 // indirect github.com/cosmos/go-bip39 v1.0.0 // indirect github.com/cosmos/gogogateway v1.2.0 // indirect @@ -92,12 +92,12 @@ require ( github.com/dgraph-io/ristretto v0.1.1 // indirect github.com/dgryski/go-farm v0.0.0-20200201041132-a6ae2369ad13 // indirect github.com/docker/distribution v2.8.2+incompatible // indirect - github.com/docker/docker v20.10.19+incompatible // indirect + github.com/docker/docker v24.0.0-rc.2.0.20230718135204-8e51b8b59cb8+incompatible // indirect github.com/docker/go-connections v0.4.0 // indirect github.com/docker/go-units v0.5.0 // indirect github.com/dustin/go-humanize v1.0.1 // indirect - github.com/dvsekhvalnov/jose2go v1.5.1-0.20231206184617-48ba0b76bc88 // indirect - github.com/felixge/httpsnoop v1.0.2 // indirect + github.com/dvsekhvalnov/jose2go v1.6.0 // indirect + github.com/felixge/httpsnoop v1.0.3 // indirect github.com/fsnotify/fsnotify v1.6.0 // indirect github.com/getsentry/sentry-go v0.23.0 // indirect github.com/ghodss/yaml v1.0.0 // indirect @@ -105,22 +105,22 @@ require ( github.com/go-kit/kit v0.12.0 // indirect github.com/go-kit/log v0.2.1 // indirect github.com/go-logfmt/logfmt v0.6.0 // indirect - github.com/go-logr/logr v1.2.3 // indirect + github.com/go-logr/logr v1.3.0 // indirect github.com/go-logr/stdr v1.2.2 // indirect github.com/godbus/dbus v0.0.0-20190726142602-4481cbc300e2 // indirect github.com/gofrs/flock v0.8.1 // indirect github.com/gofrs/uuid v4.3.0+incompatible // indirect github.com/gogo/googleapis v1.4.1 // indirect github.com/gogo/protobuf v1.3.3 // indirect - github.com/golang/glog v1.1.0 // indirect + github.com/golang/glog v1.1.2 // indirect github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da // indirect github.com/golang/snappy v0.0.4 // indirect github.com/google/btree v1.1.2 // indirect - github.com/google/go-cmp v0.5.9 // indirect + github.com/google/go-cmp v0.6.0 // indirect github.com/google/gofuzz v1.2.0 // indirect github.com/google/orderedcode v0.0.1 // indirect github.com/google/s2a-go v0.1.4 // indirect - github.com/google/uuid v1.3.0 // indirect + github.com/google/uuid v1.3.1 // indirect github.com/googleapis/enterprise-certificate-proxy v0.2.3 // indirect github.com/googleapis/gax-go/v2 v2.11.0 // indirect github.com/gorilla/handlers v1.5.1 // indirect @@ -145,7 +145,7 @@ require ( github.com/jmespath/go-jmespath v0.4.0 // indirect github.com/jmhodges/levigo v1.0.0 // indirect github.com/kilic/bls12-381 v0.1.0 // indirect - github.com/klauspost/compress v1.16.5 // indirect + github.com/klauspost/compress v1.17.2 // indirect github.com/klauspost/pgzip v1.2.5 // indirect github.com/kr/pretty v0.3.1 // indirect github.com/kr/text v0.2.0 // indirect @@ -162,12 +162,12 @@ require ( github.com/mitchellh/go-homedir v1.1.0 // indirect github.com/mitchellh/go-testing-interface v1.14.1 // indirect github.com/mitchellh/mapstructure v1.5.0 // indirect - github.com/moby/buildkit v0.10.4 // indirect + github.com/moby/buildkit v0.12.5 // indirect github.com/moby/term v0.0.0-20220808134915-39b0c02b01ae // indirect github.com/morikuni/aec v1.0.0 // indirect github.com/mtibben/percent v0.2.1 // indirect github.com/opencontainers/go-digest v1.0.0 // indirect - github.com/opencontainers/image-spec v1.1.0-rc2 // indirect + github.com/opencontainers/image-spec v1.1.0-rc3 // indirect github.com/pelletier/go-toml/v2 v2.0.8 // indirect github.com/petermattis/goid v0.0.0-20230317030725-371a4b8eda08 // indirect github.com/pkg/browser v0.0.0-20210911075715-681adbf594b8 // indirect @@ -184,7 +184,7 @@ require ( github.com/rs/zerolog v1.30.0 // indirect github.com/russross/blackfriday/v2 v2.1.0 // indirect github.com/sasha-s/go-deadlock v0.3.1 // indirect - github.com/sirupsen/logrus v1.9.0 // indirect + github.com/sirupsen/logrus v1.9.3 // indirect github.com/spf13/afero v1.9.5 // indirect github.com/spf13/jwalterweatherman v1.1.0 // indirect github.com/spf13/viper v1.16.0 // indirect @@ -197,9 +197,10 @@ require ( github.com/zondax/ledger-go v0.14.1 // indirect go.etcd.io/bbolt v1.3.7 // indirect go.opencensus.io v0.24.0 // indirect - go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.36.3 // indirect - go.opentelemetry.io/otel v1.11.0 // indirect - go.opentelemetry.io/otel/trace v1.11.0 // indirect + go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.46.0 // indirect + go.opentelemetry.io/otel v1.20.0 // indirect + go.opentelemetry.io/otel/metric v1.20.0 // indirect + go.opentelemetry.io/otel/trace v1.20.0 // indirect go.uber.org/atomic v1.10.0 // indirect go.uber.org/multierr v1.8.0 // indirect go.uber.org/zap v1.23.0 // indirect @@ -215,7 +216,7 @@ require ( golang.org/x/xerrors v0.0.0-20220907171357-04be3eba64a2 // indirect google.golang.org/api v0.126.0 // indirect google.golang.org/appengine v1.6.7 // indirect - google.golang.org/genproto v0.0.0-20230803162519-f966b187b2e5 // indirect + google.golang.org/genproto v0.0.0-20230822172742-b8732ec3820d // indirect google.golang.org/genproto/googleapis/rpc v0.0.0-20230822172742-b8732ec3820d // indirect gopkg.in/ini.v1 v1.67.0 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect diff --git a/go.sum b/go.sum index e30a0ad1..524ccdbd 100644 --- a/go.sum +++ b/go.sum @@ -36,8 +36,8 @@ cloud.google.com/go v0.100.2/go.mod h1:4Xra9TjzAeYHrl5+oeLlzbM2k3mjVhZh4UqTZ//w9 cloud.google.com/go v0.102.0/go.mod h1:oWcCzKlqJ5zgHQt9YsaeTY9KzIvjyy0ArmiBUgpQ+nc= cloud.google.com/go v0.102.1/go.mod h1:XZ77E9qnTEnrgEOvr4xzfdX5TRo7fB4T2F4O6+34hIU= cloud.google.com/go v0.104.0/go.mod h1:OO6xxXdJyvuJPcEPBLN9BJPD+jep5G1+2U5B5gkRYtA= -cloud.google.com/go v0.110.6 h1:8uYAkj3YHTP/1iwReuHPxLSbdcyc+dSBbzFMrVwDR6Q= -cloud.google.com/go v0.110.6/go.mod h1:+EYjdK8e5RME/VY/qLCAtuyALQ9q67dvuum8i+H5xsI= +cloud.google.com/go v0.110.7 h1:rJyC7nWRg2jWGZ4wSJ5nY65GTdYJkg0cd/uXb+ACI6o= +cloud.google.com/go v0.110.7/go.mod h1:+EYjdK8e5RME/VY/qLCAtuyALQ9q67dvuum8i+H5xsI= cloud.google.com/go/aiplatform v1.22.0/go.mod h1:ig5Nct50bZlzV6NvKaTwmplLLddFx0YReh9WfTO5jKw= cloud.google.com/go/aiplatform v1.24.0/go.mod h1:67UUvRBKG6GTayHKV8DBv2RtR1t93YRu5B1P3x99mYY= cloud.google.com/go/analytics v0.11.0/go.mod h1:DjEWCu41bVbYcKyvlws9Er60YE4a//bK6mnhWvQeFNI= @@ -240,6 +240,10 @@ github.com/DataDog/zstd v1.4.1/go.mod h1:1jcaCB/ufaK+sKp1NBhlGmpz41jOoPQ35bpF36t github.com/Djarvur/go-err113 v0.0.0-20210108212216-aea10b59be24/go.mod h1:4UJr5HIiMZrwgkSPdsjy2uOQExX/WEILpIrO9UPGuXs= github.com/FairBlock/DistributedIBE v0.0.0-20230528025616-f58fb2b93eaf h1:b4eYrFmDvCv1cA4dIPsmH6cGhURs6aIERShJczjwFuA= github.com/FairBlock/DistributedIBE v0.0.0-20230528025616-f58fb2b93eaf/go.mod h1:qXpLBzZiSdWoweJkE/lAIPedf6GOl7WsYM8rxrZCCDk= +github.com/Fairblock/cosmos-sdk v0.47.3-fairyring h1:7F4vq02Nw+mDlEbSs6oo2EaNez7g++j9tnFY9MpvlGE= +github.com/Fairblock/cosmos-sdk v0.47.3-fairyring/go.mod h1:F7oJzvXxXhgxtmrjyILEeYjxA3/Gygr2htZRrY/mhTE= +github.com/Fairblock/wasmd v0.45.0-fairy h1:A8KME+M1mPbnQ06b52InydSP0YDy1z2MRvF9X3fOwho= +github.com/Fairblock/wasmd v0.45.0-fairy/go.mod h1:ZbWiki0Yy3csOxNJZEiNwDT8UcNbZjsnAzEnj+pz28w= github.com/GaijinEntertainment/go-exhaustruct/v2 v2.2.0/go.mod h1:n/vLeA7V+QY84iYAGwMkkUUp9ooeuftMEvaDrSVch+Q= github.com/HdrHistogram/hdrhistogram-go v1.1.0/go.mod h1:yDgFjdqOqDEKOvasDdhWNXYg9BVp4O+o5f6V/ehm6Oo= github.com/HdrHistogram/hdrhistogram-go v1.1.2/go.mod h1:yDgFjdqOqDEKOvasDdhWNXYg9BVp4O+o5f6V/ehm6Oo= @@ -250,8 +254,8 @@ github.com/Masterminds/semver v1.5.0/go.mod h1:MB6lktGJrhw8PrUyiEoblNEGEQ+RzHPF0 github.com/Masterminds/sprig v2.15.0+incompatible/go.mod h1:y6hNFY5UBTIWBxnzTeuNhlNS5hqE0NB0E6fgfo2Br3o= github.com/Masterminds/sprig v2.22.0+incompatible/go.mod h1:y6hNFY5UBTIWBxnzTeuNhlNS5hqE0NB0E6fgfo2Br3o= github.com/Microsoft/go-winio v0.5.2/go.mod h1:WpS1mjBmmwHBEWmogvA2mj8546UReBk4v8QkMxJ6pZY= -github.com/Microsoft/go-winio v0.6.0 h1:slsWYD/zyx7lCXoZVlvQrj0hPTM1HI4+v1sIda2yDvg= -github.com/Microsoft/go-winio v0.6.0/go.mod h1:cTAf44im0RAYeL23bpB+fzCyDH2MJiz2BO69KH/soAE= +github.com/Microsoft/go-winio v0.6.1 h1:9/kr64B9VUZrLm5YYwbGtUJnMgqWVOdUAXu6Migciow= +github.com/Microsoft/go-winio v0.6.1/go.mod h1:LRdKpFKfdobln8UmuiYcKPot9D2v6svN5+sAH+4kjUM= github.com/Nvveen/Gotty v0.0.0-20120604004816-cd527374f1e5 h1:TngWCqHvy9oXAN6lEVMRuU21PR1EtLVZJmdB18Gu3Rw= github.com/Nvveen/Gotty v0.0.0-20120604004816-cd527374f1e5/go.mod h1:lmUJ/7eu/Q8D7ML55dXQrVaamCz2vxCfdQBasLZfHKk= github.com/OneOfOne/xxhash v1.2.2 h1:KMrpdQIwFcEqXDklaen+P1axHaj9BSKzvpUUfnHldSE= @@ -416,12 +420,13 @@ github.com/cometbft/cometbft-db v0.8.0/go.mod h1:6ASCP4pfhmrCBpfk01/9E1SI29nD3Hf github.com/confio/ics23/go v0.9.0 h1:cWs+wdbS2KRPZezoaaj+qBleXgUk5WOQFMP3CQFGTr4= github.com/confio/ics23/go v0.9.0/go.mod h1:4LPZ2NYqnYIVRklaozjNR1FScgDJ2s5Xrp+e/mYVRak= github.com/containerd/console v1.0.3/go.mod h1:7LqA/THxQ86k76b8c/EMSiaJ3h1eZkMkXar0TQ1gf3U= -github.com/containerd/containerd v1.6.8 h1:h4dOFDwzHmqFEP754PgfgTeVXFnLiRc6kiqC7tplDJs= -github.com/containerd/containerd v1.6.8/go.mod h1:By6p5KqPK0/7/CgO/A6t/Gz+CUYUu2zf1hUaaymVXB0= -github.com/containerd/continuity v0.3.0 h1:nisirsYROK15TAMVukJOUyGJjz4BNQJBVsNvAXZJ/eg= +github.com/containerd/containerd v1.7.2 h1:UF2gdONnxO8I6byZXDi5sXWiWvlW3D/sci7dTQimEJo= +github.com/containerd/containerd v1.7.2/go.mod h1:afcz74+K10M/+cjGHIVQrCt3RAQhUSCAjJ9iMYhhkuI= github.com/containerd/continuity v0.3.0/go.mod h1:wJEAIwKOm/pBZuBd0JmeTvnLquTB1Ag8espWhkykbPM= -github.com/containerd/typeurl v1.0.2 h1:Chlt8zIieDbzQFzXzAeBEF92KhExuE4p9p92/QmY7aY= -github.com/containerd/typeurl v1.0.2/go.mod h1:9trJWW2sRlGub4wZJRTW83VtbOLS6hwcDZXTn6oPz9s= +github.com/containerd/continuity v0.4.1 h1:wQnVrjIyQ8vhU2sgOiL5T07jo+ouqc2bnKsv5/EqGhU= +github.com/containerd/continuity v0.4.1/go.mod h1:F6PTNCKepoxEaXLQp3wDAjygEnImnZ/7o4JzpodfroQ= +github.com/containerd/typeurl/v2 v2.1.1 h1:3Q4Pt7i8nYwy2KmQWIw2+1hTvwTE/6w9FqcttATPO/4= +github.com/containerd/typeurl/v2 v2.1.1/go.mod h1:IDp2JFvbwZ31H8dQbEIY7sDl2L3o3HZj1hsSQlywkQ0= github.com/coreos/etcd v3.3.10+incompatible/go.mod h1:uF7uidLiAD3TWHmW31ZFd/JWoc32PjwdhPthX9715RE= github.com/coreos/go-etcd v2.0.0+incompatible/go.mod h1:Jez6KQU2B/sWsbdaef3ED8NzMklzPG4d5KIOhIy30Tk= github.com/coreos/go-semver v0.2.0/go.mod h1:nnelYz7RCh+5ahJtPPxZlU+153eP4D4r3EedlOD2RNk= @@ -506,8 +511,8 @@ github.com/docker/distribution v2.8.2+incompatible h1:T3de5rq0dB1j30rp0sA2rER+m3 github.com/docker/distribution v2.8.2+incompatible/go.mod h1:J2gT2udsDAN96Uj4KfcMRqY0/ypR+oyYUYmja8H+y+w= github.com/docker/docker v20.10.7+incompatible/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk= github.com/docker/docker v20.10.17+incompatible/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk= -github.com/docker/docker v20.10.19+incompatible h1:lzEmjivyNHFHMNAFLXORMBXyGIhw/UP4DvJwvyKYq64= -github.com/docker/docker v20.10.19+incompatible/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk= +github.com/docker/docker v24.0.0-rc.2.0.20230718135204-8e51b8b59cb8+incompatible h1:qMc+sk+l2GSLokgRA1uuKgkUVQ/vhAm4LYHC5rtSMq0= +github.com/docker/docker v24.0.0-rc.2.0.20230718135204-8e51b8b59cb8+incompatible/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk= github.com/docker/go-connections v0.4.0 h1:El9xVISelRB7BuFusrZozjnkIM5YnzCViNKohAFqRJQ= github.com/docker/go-connections v0.4.0/go.mod h1:Gbd7IOopHjR8Iph03tsViu4nIes5XhDvyHbTtUxmeec= github.com/docker/go-units v0.4.0/go.mod h1:fgPhTUdO+D/Jk86RDLlptpiXQzgHJF7gydDDbaIK4Dk= @@ -521,8 +526,8 @@ github.com/dustin/go-humanize v0.0.0-20171111073723-bb3d318650d4/go.mod h1:Htrtb github.com/dustin/go-humanize v1.0.0/go.mod h1:HtrtbFcZ19U5GC7JDqmcUSB87Iq5E25KnS6fMYU6eOk= github.com/dustin/go-humanize v1.0.1 h1:GzkhY7T5VNhEkwH0PVJgjz+fX1rhBrR7pRT3mDkpeCY= github.com/dustin/go-humanize v1.0.1/go.mod h1:Mu1zIs6XwVuF/gI1OepvI0qD18qycQx+mFykh5fBlto= -github.com/dvsekhvalnov/jose2go v1.5.1-0.20231206184617-48ba0b76bc88 h1:y87odSHhV8WSSnjuFYC+K2V6LpZtEVcjmVWxtUkXZiQ= -github.com/dvsekhvalnov/jose2go v1.5.1-0.20231206184617-48ba0b76bc88/go.mod h1:QsHjhyTlD/lAVqn/NSbVZmSCGeDehTB/mPZadG+mhXU= +github.com/dvsekhvalnov/jose2go v1.6.0 h1:Y9gnSnP4qEI0+/uQkHvFXeD2PLPJeXEL+ySMEA2EjTY= +github.com/dvsekhvalnov/jose2go v1.6.0/go.mod h1:QsHjhyTlD/lAVqn/NSbVZmSCGeDehTB/mPZadG+mhXU= github.com/eapache/go-resiliency v1.1.0/go.mod h1:kFI+JgMyC7bLPUVY133qvEBtVayf5mFgVsvEsIPBvNs= github.com/eapache/go-xerial-snappy v0.0.0-20180814174437-776d5712da21/go.mod h1:+020luEh2TKB4/GOp8oxxtq0Daoen/Cii55CzbTV6DU= github.com/eapache/queue v1.1.0/go.mod h1:6eCeP0CKFpHLu8blIFXhExK/dRa7WDZfr6jVFPTqq+I= @@ -555,8 +560,8 @@ github.com/fatih/color v1.12.0/go.mod h1:ELkj/draVOlAH/xkhN6mQ50Qd0MPOk5AAr3maGE github.com/fatih/color v1.13.0/go.mod h1:kLAiJbzzSOZDVNGyDpeOxJ47H46qBXwg5ILebYFFOfk= github.com/fatih/structtag v1.2.0/go.mod h1:mBJUNpUnHmRKrKlQQlmCrh5PuhftFbNv8Ys4/aAZl94= github.com/felixge/httpsnoop v1.0.1/go.mod h1:m8KPJKqk1gH5J9DgRY2ASl2lWCfGKXixSwevea8zH2U= -github.com/felixge/httpsnoop v1.0.2 h1:+nS9g82KMXccJ/wp0zyRW9ZBHFETmMGtkk+2CTTrW4o= -github.com/felixge/httpsnoop v1.0.2/go.mod h1:m8KPJKqk1gH5J9DgRY2ASl2lWCfGKXixSwevea8zH2U= +github.com/felixge/httpsnoop v1.0.3 h1:s/nj+GCswXYzN5v2DpNMuMQYe+0DDwt5WVCU6CWBdXk= +github.com/felixge/httpsnoop v1.0.3/go.mod h1:m8KPJKqk1gH5J9DgRY2ASl2lWCfGKXixSwevea8zH2U= github.com/firefart/nonamedreturns v1.0.4/go.mod h1:TDhe/tjI1BXo48CmYbUduTV7BdIga8MAO/xbKdcVsGI= github.com/fogleman/gg v1.2.1-0.20190220221249-0403632d5b90/go.mod h1:R/bRT+9gY/C5z7JzPU0zXsXHKM4/ayA+zqcVNZzPa1k= github.com/fortytw2/leaktest v1.3.0 h1:u8491cBMTQ8ft8aeV+adlcytMZylmA5nnwwkRZjI8vw= @@ -610,8 +615,8 @@ github.com/go-logfmt/logfmt v0.5.1/go.mod h1:WYhtIu8zTZfxdn5+rREduYbwxfcBr/Vr6KE github.com/go-logfmt/logfmt v0.6.0 h1:wGYYu3uicYdqXVgoYbvnkrPVXkuLM1p1ifugDMEdRi4= github.com/go-logfmt/logfmt v0.6.0/go.mod h1:WYhtIu8zTZfxdn5+rREduYbwxfcBr/Vr6KEVveWlfTs= github.com/go-logr/logr v1.2.2/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A= -github.com/go-logr/logr v1.2.3 h1:2DntVwHkVopvECVRSlL5PSo9eG+cAkDCuckLubN+rq0= -github.com/go-logr/logr v1.2.3/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A= +github.com/go-logr/logr v1.3.0 h1:2y3SDp0ZXuc6/cjLSZ+Q3ir+QB9T/iG5yYRXqsagWSY= +github.com/go-logr/logr v1.3.0/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY= github.com/go-logr/stdr v1.2.2 h1:hSWxHoqTgW2S2qGc0LTAI563KZ5YKYRhT3MFKZMbjag= github.com/go-logr/stdr v1.2.2/go.mod h1:mMo/vtBO5dYbehREoey6XUKy/eSumjCCveDpRre4VKE= github.com/go-ole/go-ole v1.2.6/go.mod h1:pprOEPIfldk/42T2oK7lQ4v4JSDwmV0As9GaiUsvbm0= @@ -669,8 +674,8 @@ github.com/golang-sql/civil v0.0.0-20190719163853-cb61b32ac6fe/go.mod h1:8vg3r2V github.com/golang-sql/sqlexp v0.0.0-20170517235910-f1bb20e5a188/go.mod h1:vXjM/+wXQnTPR4KqTKDgJukSZ6amVRtWMPEjE6sQoK8= github.com/golang/freetype v0.0.0-20170609003504-e2365dfdc4a0/go.mod h1:E/TSTwGwJL78qG/PmXZO1EjYhfJinVAhrmmHX6Z8B9k= github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q= -github.com/golang/glog v1.1.0 h1:/d3pCKDPWNnvIWe0vVUpNP32qc8U3PDVxySP/y360qE= -github.com/golang/glog v1.1.0/go.mod h1:pfYeQZ3JWZoXTV5sFc986z3HTpwQs9At6P4ImfuP3NQ= +github.com/golang/glog v1.1.2 h1:DVjP2PbBOzHyzA+dn3WhHIq4NdVu3Q+pvivFICf/7fo= +github.com/golang/glog v1.1.2/go.mod h1:zR+okUeTbrL6EL3xHUDxZuEtGv04p5shwip1+mL/rLQ= github.com/golang/groupcache v0.0.0-20160516000752-02826c3e7903/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= github.com/golang/groupcache v0.0.0-20190702054246-869f871628b6/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= github.com/golang/groupcache v0.0.0-20191227052852-215e87163ea7/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= @@ -743,8 +748,9 @@ github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/ github.com/google/go-cmp v0.5.6/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.7/go.mod h1:n+brtR0CgQNWTVd5ZUFpTBC8YFBDLK/h/bpaJ8/DtOE= github.com/google/go-cmp v0.5.8/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= -github.com/google/go-cmp v0.5.9 h1:O2Tfq5qg4qc4AmwVlvv0oLiVAGB7enBSJ2x2DqQFi38= github.com/google/go-cmp v0.5.9/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= +github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI= +github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= github.com/google/gofuzz v0.0.0-20170612174753-24818f796faf/go.mod h1:HP5RmnzzSNb993RKQDq4+1A4ia9nllfqcQFTQJedwGI= github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= github.com/google/gofuzz v1.2.0 h1:xRy4A+RhZaiKjJ1bPfwQ8sedCA+YS2YcCHW6ec7JMi0= @@ -784,8 +790,9 @@ github.com/google/uuid v0.0.0-20161128191214-064e2069ce9c/go.mod h1:TIyPZe4Mgqvf github.com/google/uuid v1.0.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/google/uuid v1.1.1/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/google/uuid v1.1.2/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= -github.com/google/uuid v1.3.0 h1:t6JiXgmwXMjEs8VusXIJk2BXHsn+wx8BZdTaoZ5fu7I= github.com/google/uuid v1.3.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= +github.com/google/uuid v1.3.1 h1:KjJaJ9iWZ3jOFZIf1Lqf4laDRCasjl0BCmnEGxkdLb4= +github.com/google/uuid v1.3.1/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/googleapis/enterprise-certificate-proxy v0.0.0-20220520183353-fd19c99a87aa/go.mod h1:17drOmN3MwGY7t0e+Ei9b45FFGA3fBs3x36SsCg1hq8= github.com/googleapis/enterprise-certificate-proxy v0.1.0/go.mod h1:17drOmN3MwGY7t0e+Ei9b45FFGA3fBs3x36SsCg1hq8= github.com/googleapis/enterprise-certificate-proxy v0.2.0/go.mod h1:8C0jb7/mgJe/9KK8Lm7X9ctZC2t60YyIpYEI16jx0Qg= @@ -992,8 +999,8 @@ github.com/klauspost/compress v1.13.5/go.mod h1:/3/Vjq9QcHkK5uEr5lBEmyoZ1iFhe47e github.com/klauspost/compress v1.13.6/go.mod h1:/3/Vjq9QcHkK5uEr5lBEmyoZ1iFhe47etQ6QUkpK6sk= github.com/klauspost/compress v1.15.1/go.mod h1:/3/Vjq9QcHkK5uEr5lBEmyoZ1iFhe47etQ6QUkpK6sk= github.com/klauspost/compress v1.15.11/go.mod h1:QPwzmACJjUTFsnSHH934V6woptycfrDDJnH7hvFVbGM= -github.com/klauspost/compress v1.16.5 h1:IFV2oUNUzZaz+XyusxpLzpzS8Pt5rh0Z16For/djlyI= -github.com/klauspost/compress v1.16.5/go.mod h1:ntbaceVETuRiXiv4DpjP66DpAtAGkEQskQzEyD//IeE= +github.com/klauspost/compress v1.17.2 h1:RlWWUY/Dr4fL8qk9YG7DTZ7PDgME2V4csBXA8L/ixi4= +github.com/klauspost/compress v1.17.2/go.mod h1:ntbaceVETuRiXiv4DpjP66DpAtAGkEQskQzEyD//IeE= github.com/klauspost/pgzip v1.2.5 h1:qnWYvvKqedOF2ulHpMG72XQol4ILEJ8k2wwRl/Km8oE= github.com/klauspost/pgzip v1.2.5/go.mod h1:Ch1tH69qFZu15pkjo5kYi6mth2Zzwzt50oCQKQE9RUs= github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= @@ -1114,8 +1121,8 @@ github.com/mitchellh/mapstructure v1.5.0 h1:jeMsZIYE/09sWLaz43PL7Gy6RuMjD2eJVyua github.com/mitchellh/mapstructure v1.5.0/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= github.com/mitchellh/reflectwalk v1.0.0/go.mod h1:mSTlrgnPZtwu0c4WaC2kGObEpuNDbx0jmZXqmk4esnw= github.com/mitchellh/reflectwalk v1.0.1/go.mod h1:mSTlrgnPZtwu0c4WaC2kGObEpuNDbx0jmZXqmk4esnw= -github.com/moby/buildkit v0.10.4 h1:FvC+buO8isGpUFZ1abdSLdGHZVqg9sqI4BbFL8tlzP4= -github.com/moby/buildkit v0.10.4/go.mod h1:Yajz9vt1Zw5q9Pp4pdb3TCSUXJBIroIQGQ3TTs/sLug= +github.com/moby/buildkit v0.12.5 h1:RNHH1l3HDhYyZafr5EgstEu8aGNCwyfvMtrQDtjH9T0= +github.com/moby/buildkit v0.12.5/go.mod h1:YGwjA2loqyiYfZeEo8FtI7z4x5XponAaIWsWcSjWwso= github.com/moby/sys/mountinfo v0.5.0/go.mod h1:3bMD3Rg+zkqx8MRYPi7Pyb0Ie97QEBmdxbhnCLlSvSU= github.com/moby/term v0.0.0-20201216013528-df9cb8a40635/go.mod h1:FBS0z0QWA44HXygs7VXDUOGoN/1TV3RuWkLO04am3wc= github.com/moby/term v0.0.0-20210619224110-3f7ff695adc6/go.mod h1:E2VnQOmVuvZB6UYnnDB0qG5Nq/1tD9acaOpo6xmt0Kw= @@ -1198,11 +1205,12 @@ github.com/op/go-logging v0.0.0-20160315200505-970db520ece7/go.mod h1:HzydrMdWEr github.com/opencontainers/go-digest v1.0.0 h1:apOUWs51W5PlhuyGyz9FCeeBIOUDA/6nW8Oi/yOhh5U= github.com/opencontainers/go-digest v1.0.0/go.mod h1:0JzlMkj0TRzQZfJkVvzbP0HBR3IKzErnv2BNG4W4MAM= github.com/opencontainers/image-spec v1.0.2/go.mod h1:BtxoFyWECRxE4U/7sNtV5W15zMzWCbyJoFRP3s7yZA0= -github.com/opencontainers/image-spec v1.1.0-rc2 h1:2zx/Stx4Wc5pIPDvIxHXvXtQFW/7XWJGmnM7r3wg034= -github.com/opencontainers/image-spec v1.1.0-rc2/go.mod h1:3OVijpioIKYWTqjiG0zfF6wvoJ4fAXGbjdZuI2NgsRQ= +github.com/opencontainers/image-spec v1.1.0-rc3 h1:fzg1mXZFj8YdPeNkRXMg+zb88BFV0Ys52cJydRwBkb8= +github.com/opencontainers/image-spec v1.1.0-rc3/go.mod h1:X4pATf0uXsnn3g5aiGIsVnJBR4mxhKzfwmvK/B2NTm8= github.com/opencontainers/runc v1.1.2/go.mod h1:Tj1hFw6eFWp/o33uxGf5yF2BX5yz2Z6iptFpuvbbKqc= -github.com/opencontainers/runc v1.1.3 h1:vIXrkId+0/J2Ymu2m7VjGvbSlAId9XNRPhn2p4b+d8w= github.com/opencontainers/runc v1.1.3/go.mod h1:1J5XiS+vdZ3wCyZybsuxXZWGrgSr8fFJHLXuG2PsnNg= +github.com/opencontainers/runc v1.1.7 h1:y2EZDS8sNng4Ksf0GUYNhKbTShZJPJg1FiXJNH/uoCk= +github.com/opencontainers/runc v1.1.7/go.mod h1:CbUumNnWCuTGFukNXahoo/RFBZvDAgRh/smNYNOhA50= github.com/opencontainers/runtime-spec v1.0.3-0.20210326190908-1c3f411f0417/go.mod h1:jwyrGlmzljRJv/Fgzds9SsS/C5hL+LL3ko9hs6T5lQ0= github.com/opencontainers/selinux v1.10.0/go.mod h1:2i0OySw99QjzBBQByd1Gr9gSjvuho1lHsJxIJ3gGbJI= github.com/opentracing-contrib/go-observer v0.0.0-20170622124052-a52f23424492/go.mod h1:Ngi6UdF0k5OKD5t5wlmGhe/EDKPoUM3BXZSSfIuJbis= @@ -1378,8 +1386,8 @@ github.com/sirupsen/logrus v1.4.2/go.mod h1:tLMulIdttU9McNUspp0xgXVQah82FyeX6Mwd github.com/sirupsen/logrus v1.6.0/go.mod h1:7uNnSEd1DgxDLC74fIahvMZmmYsHGZGEOFrfsX/uA88= github.com/sirupsen/logrus v1.7.0/go.mod h1:yWOB1SBYBC5VeMP7gHvWumXLIWorT60ONWic61uBYv0= github.com/sirupsen/logrus v1.8.1/go.mod h1:yWOB1SBYBC5VeMP7gHvWumXLIWorT60ONWic61uBYv0= -github.com/sirupsen/logrus v1.9.0 h1:trlNQbNUG3OdDrDil03MCb1H2o9nJ1x4/5LYw7byDE0= -github.com/sirupsen/logrus v1.9.0/go.mod h1:naHLuLoDiP4jHNo9R0sCBMtWGeIprob74mVsIT4qYEQ= +github.com/sirupsen/logrus v1.9.3 h1:dueUQJ1C2q9oE3F7wvmSGAaVtTmUizReu6fjN8uqzbQ= +github.com/sirupsen/logrus v1.9.3/go.mod h1:naHLuLoDiP4jHNo9R0sCBMtWGeIprob74mVsIT4qYEQ= github.com/sivchari/containedctx v1.0.2/go.mod h1:PwZOeqm4/DLoJOqMSIJs3aKqXRX4YO+uXww087KZ7Bw= github.com/sivchari/nosnakecase v1.5.0/go.mod h1:CwDzrzPea40/GB6uynrNLiorAlgFRvRbFSgJx2Gs+QY= github.com/sivchari/tenv v1.6.0/go.mod h1:64yStXKSOxDfX47NlhVwND4dHwfZDdbp2Lyl018Icvg= @@ -1563,12 +1571,14 @@ go.opencensus.io v0.22.5/go.mod h1:5pWMHQbX5EPX2/62yrJeAkowc+lfs/XD7Uxpq3pI6kk= go.opencensus.io v0.23.0/go.mod h1:XItmlyltB5F7CS4xOC1DcqMoFqwtC6OG2xF7mCv7P7E= go.opencensus.io v0.24.0 h1:y73uSU6J157QMP2kn2r30vwW1A2W2WFwSCGnAVxeaD0= go.opencensus.io v0.24.0/go.mod h1:vNK8G9p7aAivkbmorf4v+7Hgx+Zs0yY+0fOtgBfjQKo= -go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.36.3 h1:syAz40OyelLZo42+3U68Phisvrx4qh+4wpdZw7eUUdY= -go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.36.3/go.mod h1:Dts42MGkzZne2yCru741+bFiTMWkIj/LLRizad7b9tw= -go.opentelemetry.io/otel v1.11.0 h1:kfToEGMDq6TrVrJ9Vht84Y8y9enykSZzDDZglV0kIEk= -go.opentelemetry.io/otel v1.11.0/go.mod h1:H2KtuEphyMvlhZ+F7tg9GRhAOe60moNx61Ex+WmiKkk= -go.opentelemetry.io/otel/trace v1.11.0 h1:20U/Vj42SX+mASlXLmSGBg6jpI1jQtv682lZtTAOVFI= -go.opentelemetry.io/otel/trace v1.11.0/go.mod h1:nyYjis9jy0gytE9LXGU+/m1sHTKbRY0fX0hulNNDP1U= +go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.46.0 h1:PzIubN4/sjByhDRHLviCjJuweBXWFZWhghjg7cS28+M= +go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.46.0/go.mod h1:Ct6zzQEuGK3WpJs2n4dn+wfJYzd/+hNnxMRTWjGn30M= +go.opentelemetry.io/otel v1.20.0 h1:vsb/ggIY+hUjD/zCAQHpzTmndPqv/ml2ArbsbfBYTAc= +go.opentelemetry.io/otel v1.20.0/go.mod h1:oUIGj3D77RwJdM6PPZImDpSZGDvkD9fhesHny69JFrs= +go.opentelemetry.io/otel/metric v1.20.0 h1:ZlrO8Hu9+GAhnepmRGhSU7/VkpjrNowxRN9GyKR4wzA= +go.opentelemetry.io/otel/metric v1.20.0/go.mod h1:90DRw3nfK4D7Sm/75yQ00gTJxtkBxX+wu6YaNymbpVM= +go.opentelemetry.io/otel/trace v1.20.0 h1:+yxVAPZPbQhbC3OfAkeIVTky6iTFpcr4SiY9om7mXSQ= +go.opentelemetry.io/otel/trace v1.20.0/go.mod h1:HJSK7F/hA5RlzpZ0zKDCHCDHm556LCDtKaAo6JmBFUU= go.opentelemetry.io/proto/otlp v0.7.0/go.mod h1:PqfVotwruBrMGOCsRd/89rSnXhoiJIqeYNgFYFoEGnI= go.uber.org/atomic v1.3.2/go.mod h1:gD2HeocX3+yG+ygLZcrzQJaqmWj9AIm7n08wl/qW/PE= go.uber.org/atomic v1.4.0/go.mod h1:gD2HeocX3+yG+ygLZcrzQJaqmWj9AIm7n08wl/qW/PE= @@ -2267,8 +2277,8 @@ google.golang.org/genproto v0.0.0-20221010155953-15ba04fc1c0e/go.mod h1:3526vdqw google.golang.org/genproto v0.0.0-20221014173430-6e2ab493f96b/go.mod h1:1vXfmgAz9N9Jx0QA82PqRVauvCz1SGSz739p0f183jM= google.golang.org/genproto v0.0.0-20221014213838-99cd37c6964a/go.mod h1:1vXfmgAz9N9Jx0QA82PqRVauvCz1SGSz739p0f183jM= google.golang.org/genproto v0.0.0-20221025140454-527a21cfbd71/go.mod h1:9qHF0xnpdSfF6knlcsnpzUu5y+rpwgbvsyGAZPBMg4s= -google.golang.org/genproto v0.0.0-20230803162519-f966b187b2e5 h1:L6iMMGrtzgHsWofoFcihmDEMYeDR9KN/ThbPWGrh++g= -google.golang.org/genproto v0.0.0-20230803162519-f966b187b2e5/go.mod h1:oH/ZOT02u4kWEp7oYBGYFFkCdKS/uYR9Z7+0/xuuFp8= +google.golang.org/genproto v0.0.0-20230822172742-b8732ec3820d h1:VBu5YqKPv6XiJ199exd8Br+Aetz+o08F+PLMnwJQHAY= +google.golang.org/genproto v0.0.0-20230822172742-b8732ec3820d/go.mod h1:yZTlhN0tQnXo3h00fuXNCxJdLdIdnVFVBaRJ5LWBbw4= google.golang.org/genproto/googleapis/api v0.0.0-20230822172742-b8732ec3820d h1:DoPTO70H+bcDXcd39vOqb2viZxgqeBeSGtZ55yZU4/Q= google.golang.org/genproto/googleapis/api v0.0.0-20230822172742-b8732ec3820d/go.mod h1:KjSP20unUpOx5kyQUFa7k4OJg0qeJ7DEZflGDu2p6Bk= google.golang.org/genproto/googleapis/rpc v0.0.0-20230822172742-b8732ec3820d h1:uvYuEyMHKNt+lT4K3bN6fGswmK8qSvcreM3BwjDh+y4= @@ -2318,8 +2328,8 @@ google.golang.org/grpc v1.48.0/go.mod h1:vN9eftEi1UMyUsIF80+uQXhHjbXYbm0uXoFCACu google.golang.org/grpc v1.49.0/go.mod h1:ZgQEeidpAuNRZ8iRrlBKXZQP1ghovWIVhdJRyCDK+GI= google.golang.org/grpc v1.50.0/go.mod h1:ZgQEeidpAuNRZ8iRrlBKXZQP1ghovWIVhdJRyCDK+GI= google.golang.org/grpc v1.50.1/go.mod h1:ZgQEeidpAuNRZ8iRrlBKXZQP1ghovWIVhdJRyCDK+GI= -google.golang.org/grpc v1.58.3 h1:BjnpXut1btbtgN/6sp+brB2Kbm2LjNXnidYujAVbSoQ= -google.golang.org/grpc v1.58.3/go.mod h1:tgX3ZQDlNJGU96V6yHh1T/JeoBQ2TXdr43YbYSsCJk0= +google.golang.org/grpc v1.59.0 h1:Z5Iec2pjwb+LEOqzpB2MR12/eKFhDPhuqW91O+4bwUk= +google.golang.org/grpc v1.59.0/go.mod h1:aUPDwccQo6OTjy7Hct4AfBPD1GptF4fyUjIkQ9YtF98= google.golang.org/grpc/cmd/protoc-gen-go-grpc v1.1.0 h1:M1YKkFIboKNieVO5DLUEVzQfGwJD30Nv2jfUgzb5UcE= google.golang.org/grpc/cmd/protoc-gen-go-grpc v1.1.0/go.mod h1:6Kw0yEErY5E/yWrBtf03jp27GLLJujG4z/JK95pnjjw= google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod h1:DFci5gLYBciE7Vtevhsrf46CRTquxDuWsQurQQe4oz8= diff --git a/proto/fairyring/keyshare/pub_key.proto b/proto/fairyring/keyshare/pub_key.proto index 1afa224d..f993ce77 100644 --- a/proto/fairyring/keyshare/pub_key.proto +++ b/proto/fairyring/keyshare/pub_key.proto @@ -7,10 +7,12 @@ message ActivePubKey { string publicKey = 1; string creator = 2; uint64 expiry = 3; + uint64 numberOfValidators = 4; } message QueuedPubKey { string publicKey = 1; string creator = 2; uint64 expiry = 3; + uint64 numberOfValidators = 4; } diff --git a/proto/fairyring/keyshare/tx.proto b/proto/fairyring/keyshare/tx.proto index 35974c7d..18a648e9 100644 --- a/proto/fairyring/keyshare/tx.proto +++ b/proto/fairyring/keyshare/tx.proto @@ -50,6 +50,7 @@ message MsgCreateLatestPubKey { string creator = 1; string publicKey = 2; repeated string commitments = 3; + uint64 numberOfValidators = 4; } message MsgCreateLatestPubKeyResponse {} diff --git a/proto/scripts/protocgen.sh b/proto/scripts/protocgen.sh index 6b5fd1b9..f0088ed8 100644 --- a/proto/scripts/protocgen.sh +++ b/proto/scripts/protocgen.sh @@ -27,5 +27,6 @@ cd .. # move proto files to the right places cp -r github.com/Fairblock/fairyring/x/* x/ +rm -rf github.com rm -rf fairyring diff --git a/scripts/tests/keyshare.sh b/scripts/tests/keyshare.sh index 48286d02..f395f047 100755 --- a/scripts/tests/keyshare.sh +++ b/scripts/tests/keyshare.sh @@ -77,7 +77,7 @@ PUB_KEY=$(echo "$GENERATED_RESULT" | jq -r '.MasterPublicKey') COMMITS=$(echo "$GENERATED_RESULT" | jq -r '.Commitments[0]') echo "Trusted address submit pub key on chain fairyring_test_1" -RESULT=$($BINARY tx keyshare create-latest-pub-key $PUB_KEY $COMMITS --from $VALIDATOR_1 --gas-prices 1ufairy --home $CHAIN_DIR/$CHAINID_1 --chain-id $CHAINID_1 --node tcp://localhost:16657 --broadcast-mode sync --keyring-backend test -o json -y) +RESULT=$($BINARY tx keyshare create-latest-pub-key $PUB_KEY $COMMITS 1 --from $VALIDATOR_1 --gas-prices 1ufairy --home $CHAIN_DIR/$CHAINID_1 --chain-id $CHAINID_1 --node tcp://localhost:16657 --broadcast-mode sync --keyring-backend test -o json -y) check_tx_code $RESULT RESULT=$(wait_for_tx $RESULT) VALIDATOR_ADDR=$(echo "$RESULT" | jq -r '.logs[0].events[1].attributes[2].value') @@ -89,7 +89,7 @@ fi echo "Not trusted address submit pub key on chain fairyring_test_1" -RESULT=$($BINARY tx keyshare create-latest-pub-key $PUB_KEY $COMMITS --from $WALLET_1 --gas-prices 1ufairy --home $CHAIN_DIR/$CHAINID_1 --chain-id $CHAINID_1 --node tcp://localhost:16657 --broadcast-mode sync --keyring-backend test -o json -y) +RESULT=$($BINARY tx keyshare create-latest-pub-key $PUB_KEY $COMMITS 1 --from $WALLET_1 --gas-prices 1ufairy --home $CHAIN_DIR/$CHAINID_1 --chain-id $CHAINID_1 --node tcp://localhost:16657 --broadcast-mode sync --keyring-backend test -o json -y) check_tx_code $RESULT RESULT=$(wait_for_tx $RESULT) ERROR_MSG=$(echo "$RESULT" | jq -r '.raw_log') diff --git a/x/keyshare/client/cli/tx_latest_pub_key.go b/x/keyshare/client/cli/tx_latest_pub_key.go index 1f989661..221b8c03 100644 --- a/x/keyshare/client/cli/tx_latest_pub_key.go +++ b/x/keyshare/client/cli/tx_latest_pub_key.go @@ -2,6 +2,7 @@ package cli import ( "github.com/Fairblock/fairyring/x/keyshare/types" + "github.com/spf13/cast" "strings" "github.com/cosmos/cosmos-sdk/client" @@ -12,9 +13,9 @@ import ( func CmdCreateLatestPubKey() *cobra.Command { cmd := &cobra.Command{ - Use: "create-latest-pub-key [public-key] [commitments]", + Use: "create-latest-pub-key [public-key] [commitments] [number-of-validators]", Short: "Create a latest public key", - Args: cobra.ExactArgs(2), + Args: cobra.ExactArgs(3), RunE: func(cmd *cobra.Command, args []string) (err error) { // Get value arguments @@ -23,6 +24,11 @@ func CmdCreateLatestPubKey() *cobra.Command { commitmentStr := args[1] commitments := strings.Split(commitmentStr, ",") + numberOfValidators, err := cast.ToUint64E(args[2]) + if err != nil { + return err + } + clientCtx, err := client.GetClientTxContext(cmd) if err != nil { return err @@ -32,6 +38,7 @@ func CmdCreateLatestPubKey() *cobra.Command { clientCtx.GetFromAddress().String(), argPublicKey, commitments, + numberOfValidators, ) return tx.GenerateOrBroadcastTxCLI(clientCtx, cmd.Flags(), msg) }, diff --git a/x/keyshare/keeper/msg_server_general_key_share.go b/x/keyshare/keeper/msg_server_general_key_share.go index 731d73ee..3cdb8f18 100644 --- a/x/keyshare/keeper/msg_server_general_key_share.go +++ b/x/keyshare/keeper/msg_server_general_key_share.go @@ -145,10 +145,17 @@ func (k msgServer) CreateGeneralKeyShare(goCtx context.Context, msg *types.MsgCr stateGeneralKeyShares = append(stateGeneralKeyShares, eachGeneralKeyShare) } + // Get the active public key for aggregating + activePubKey, found := k.GetActivePubKey(ctx) + + if !found { + return nil, types.ErrPubKeyNotFound + } + expectedThreshold := sdk.NewDecFromInt( sdk.NewInt(types.KeyAggregationThresholdNumerator)).Quo( sdk.NewDecFromInt(sdk.NewInt(types.KeyAggregationThresholdDenominator))).MulInt64( - int64(len(validatorList))).Ceil().TruncateInt64() + int64(activePubKey.NumberOfValidators)).Ceil().TruncateInt64() // Emit KeyShare Submitted Event ctx.EventManager().EmitEvent( @@ -197,13 +204,6 @@ func (k msgServer) CreateGeneralKeyShare(goCtx context.Context, msg *types.MsgCr } } - // Get the active public key for aggregating - activePubKey, found := k.pepKeeper.GetActivePubKey(ctx) - - if !found { - return nil, types.ErrPubKeyNotFound - } - // Parse & append all the keyshare for aggregation var listOfShares []distIBE.ExtractedKey var listOfCommitment []distIBE.Commitment diff --git a/x/keyshare/keeper/msg_server_pub_key.go b/x/keyshare/keeper/msg_server_pub_key.go index e4ae41f2..8ae71951 100644 --- a/x/keyshare/keeper/msg_server_pub_key.go +++ b/x/keyshare/keeper/msg_server_pub_key.go @@ -29,6 +29,10 @@ func (k msgServer) CreateLatestPubKey(goCtx context.Context, msg *types.MsgCreat return nil, types.ErrEmptyCommitments } + if msg.NumberOfValidators == 0 { + return nil, types.ErrInvalidNumberOfValidators + } + commitments := types.Commitments{ Commitments: msg.Commitments, } @@ -40,9 +44,10 @@ func (k msgServer) CreateLatestPubKey(goCtx context.Context, msg *types.MsgCreat } var queuedPubKey = types.QueuedPubKey{ - Creator: msg.Creator, - PublicKey: msg.PublicKey, - Expiry: expHeight, + Creator: msg.Creator, + PublicKey: msg.PublicKey, + Expiry: expHeight, + NumberOfValidators: msg.NumberOfValidators, } k.SetQueuedCommitments( @@ -70,6 +75,7 @@ func (k msgServer) CreateLatestPubKey(goCtx context.Context, msg *types.MsgCreat sdk.NewAttribute(types.QueuedPubKeyCreatedEventExpiryHeight, strconv.FormatUint(expHeight, 10)), sdk.NewAttribute(types.QueuedPubKeyCreatedEventCreator, msg.Creator), sdk.NewAttribute(types.QueuedPubKeyCreatedEventPubkey, msg.PublicKey), + sdk.NewAttribute(types.QueuedPubKeyCreatedEventNumberOfValidators, strconv.FormatUint(msg.NumberOfValidators, 10)), ), ) diff --git a/x/keyshare/keeper/msg_server_send_keyshare.go b/x/keyshare/keeper/msg_server_send_keyshare.go index b683515f..fab58ffd 100644 --- a/x/keyshare/keeper/msg_server_send_keyshare.go +++ b/x/keyshare/keeper/msg_server_send_keyshare.go @@ -129,10 +129,17 @@ func (k msgServer) SendKeyshare(goCtx context.Context, msg *types.MsgSendKeyshar stateKeyShares = append(stateKeyShares, eachKeyShare) } + // Get the active public key for aggregating + activePubKey, found := k.GetActivePubKey(ctx) + + if !found { + return nil, types.ErrPubKeyNotFound + } + expectedThreshold := sdk.NewDecFromInt( sdk.NewInt(types.KeyAggregationThresholdNumerator)).Quo( sdk.NewDecFromInt(sdk.NewInt(types.KeyAggregationThresholdDenominator))).MulInt64( - int64(len(validatorList))).Ceil().TruncateInt64() + int64(activePubKey.NumberOfValidators)).Ceil().TruncateInt64() // Emit KeyShare Submitted Event ctx.EventManager().EmitEvent( @@ -162,13 +169,6 @@ func (k msgServer) SendKeyshare(goCtx context.Context, msg *types.MsgSendKeyshar }, nil } - // Get the active public key for aggregating - activePubKey, found := k.pepKeeper.GetActivePubKey(ctx) - - if !found { - return nil, types.ErrPubKeyNotFound - } - // Parse & append all the keyshare for aggregation var listOfShares []distIBE.ExtractedKey var listOfCommitment []distIBE.Commitment diff --git a/x/keyshare/module.go b/x/keyshare/module.go index 6494749e..0b305f41 100644 --- a/x/keyshare/module.go +++ b/x/keyshare/module.go @@ -207,7 +207,11 @@ func (am AppModule) BeginBlock(ctx sdk.Context, _ abci.RequestBeginBlock) { if foundQk { if qk.Expiry > height { am.keeper.SetActivePubKey(ctx, types.ActivePubKey(qk)) - am.pepKeeper.SetActivePubKey(ctx, peptypes.ActivePubKey(qk)) + am.pepKeeper.SetActivePubKey(ctx, peptypes.ActivePubKey{ + PublicKey: qk.PublicKey, + Creator: qk.Creator, + Expiry: qk.Expiry, + }) if foundQc { am.keeper.SetActiveCommitments(ctx, qc) } diff --git a/x/keyshare/types/errors.go b/x/keyshare/types/errors.go index 4d1d435f..e67313c9 100644 --- a/x/keyshare/types/errors.go +++ b/x/keyshare/types/errors.go @@ -32,7 +32,7 @@ var ( ErrInvalidCommitmentLength = sdkerrors.Register(ModuleName, 1122, "invalid commitment length") ErrInvalidVersion = sdkerrors.Register(ModuleName, 1123, "invalid version") ErrRequestNotFound = sdkerrors.Register(ModuleName, 1124, "no request found with this identity") - ErrNoAggregatedKeyshare = sdkerrors.Register(ModuleName, 1125, "aggregated keyshare has not been generated") + ErrInvalidNumberOfValidators = sdkerrors.Register(ModuleName, 1125, "invalid number of validators") ErrAddressAlreadyAuthorized = sdkerrors.Register(ModuleName, 1900, "address is already authorized") ErrAuthorizedAddrNotFound = sdkerrors.Register(ModuleName, 1901, "target authorized address not found") ErrNotAuthorizedAddrCreator = sdkerrors.Register(ModuleName, 1902, "sender is not the creator of target authorized address") diff --git a/x/keyshare/types/keys.go b/x/keyshare/types/keys.go index b646a5cf..2b759631 100644 --- a/x/keyshare/types/keys.go +++ b/x/keyshare/types/keys.go @@ -83,6 +83,7 @@ const ( QueuedPubKeyCreatedEventExpiryHeight = "expiry-height" QueuedPubKeyCreatedEventCreator = "creator" QueuedPubKeyCreatedEventPubkey = "pubkey" + QueuedPubKeyCreatedEventNumberOfValidators = "number-of-validators" ) const ( diff --git a/x/keyshare/types/messages_latest_pub_key.go b/x/keyshare/types/messages_latest_pub_key.go index 4038a27a..4a634890 100644 --- a/x/keyshare/types/messages_latest_pub_key.go +++ b/x/keyshare/types/messages_latest_pub_key.go @@ -19,11 +19,13 @@ func NewMsgCreateLatestPubKey( creator string, publicKey string, commitments []string, + numberOfValidators uint64, ) *MsgCreateLatestPubKey { return &MsgCreateLatestPubKey{ - Creator: creator, - PublicKey: publicKey, - Commitments: commitments, + Creator: creator, + PublicKey: publicKey, + Commitments: commitments, + NumberOfValidators: numberOfValidators, } } @@ -67,5 +69,8 @@ func (msg *MsgCreateLatestPubKey) ValidateBasic() error { return ErrInvalidCommitment.Wrapf("expected hex encoded commitment, got: %s", c) } } + if msg.NumberOfValidators == 0 { + return ErrInvalidNumberOfValidators.Wrapf("expected at least 1 validator, got: %d", msg.NumberOfValidators) + } return nil } diff --git a/x/keyshare/types/pub_key.pb.go b/x/keyshare/types/pub_key.pb.go index 57e36814..5155d7c6 100644 --- a/x/keyshare/types/pub_key.pb.go +++ b/x/keyshare/types/pub_key.pb.go @@ -23,9 +23,10 @@ var _ = math.Inf const _ = proto.GoGoProtoPackageIsVersion3 // please upgrade the proto package type ActivePubKey struct { - PublicKey string `protobuf:"bytes,1,opt,name=publicKey,proto3" json:"publicKey,omitempty"` - Creator string `protobuf:"bytes,2,opt,name=creator,proto3" json:"creator,omitempty"` - Expiry uint64 `protobuf:"varint,3,opt,name=expiry,proto3" json:"expiry,omitempty"` + PublicKey string `protobuf:"bytes,1,opt,name=publicKey,proto3" json:"publicKey,omitempty"` + Creator string `protobuf:"bytes,2,opt,name=creator,proto3" json:"creator,omitempty"` + Expiry uint64 `protobuf:"varint,3,opt,name=expiry,proto3" json:"expiry,omitempty"` + NumberOfValidators uint64 `protobuf:"varint,4,opt,name=numberOfValidators,proto3" json:"numberOfValidators,omitempty"` } func (m *ActivePubKey) Reset() { *m = ActivePubKey{} } @@ -82,10 +83,18 @@ func (m *ActivePubKey) GetExpiry() uint64 { return 0 } +func (m *ActivePubKey) GetNumberOfValidators() uint64 { + if m != nil { + return m.NumberOfValidators + } + return 0 +} + type QueuedPubKey struct { - PublicKey string `protobuf:"bytes,1,opt,name=publicKey,proto3" json:"publicKey,omitempty"` - Creator string `protobuf:"bytes,2,opt,name=creator,proto3" json:"creator,omitempty"` - Expiry uint64 `protobuf:"varint,3,opt,name=expiry,proto3" json:"expiry,omitempty"` + PublicKey string `protobuf:"bytes,1,opt,name=publicKey,proto3" json:"publicKey,omitempty"` + Creator string `protobuf:"bytes,2,opt,name=creator,proto3" json:"creator,omitempty"` + Expiry uint64 `protobuf:"varint,3,opt,name=expiry,proto3" json:"expiry,omitempty"` + NumberOfValidators uint64 `protobuf:"varint,4,opt,name=numberOfValidators,proto3" json:"numberOfValidators,omitempty"` } func (m *QueuedPubKey) Reset() { *m = QueuedPubKey{} } @@ -142,6 +151,13 @@ func (m *QueuedPubKey) GetExpiry() uint64 { return 0 } +func (m *QueuedPubKey) GetNumberOfValidators() uint64 { + if m != nil { + return m.NumberOfValidators + } + return 0 +} + func init() { proto.RegisterType((*ActivePubKey)(nil), "fairyring.keyshare.ActivePubKey") proto.RegisterType((*QueuedPubKey)(nil), "fairyring.keyshare.QueuedPubKey") @@ -150,21 +166,23 @@ func init() { func init() { proto.RegisterFile("fairyring/keyshare/pub_key.proto", fileDescriptor_2c1c9675c7c2f3c4) } var fileDescriptor_2c1c9675c7c2f3c4 = []byte{ - // 216 bytes of a gzipped FileDescriptorProto + // 243 bytes of a gzipped FileDescriptorProto 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0x52, 0x48, 0x4b, 0xcc, 0x2c, 0xaa, 0x2c, 0xca, 0xcc, 0x4b, 0xd7, 0xcf, 0x4e, 0xad, 0x2c, 0xce, 0x48, 0x2c, 0x4a, 0xd5, 0x2f, 0x28, 0x4d, 0x8a, 0xcf, 0x4e, 0xad, 0xd4, 0x2b, 0x28, 0xca, 0x2f, 0xc9, 0x17, 0x12, 0x82, 0xab, - 0xd0, 0x83, 0xa9, 0x50, 0x8a, 0xe3, 0xe2, 0x71, 0x4c, 0x2e, 0xc9, 0x2c, 0x4b, 0x0d, 0x28, 0x4d, - 0xf2, 0x4e, 0xad, 0x14, 0x92, 0xe1, 0xe2, 0x2c, 0x28, 0x4d, 0xca, 0xc9, 0x4c, 0xf6, 0x4e, 0xad, - 0x94, 0x60, 0x54, 0x60, 0xd4, 0xe0, 0x0c, 0x42, 0x08, 0x08, 0x49, 0x70, 0xb1, 0x27, 0x17, 0xa5, - 0x26, 0x96, 0xe4, 0x17, 0x49, 0x30, 0x81, 0xe5, 0x60, 0x5c, 0x21, 0x31, 0x2e, 0xb6, 0xd4, 0x8a, - 0x82, 0xcc, 0xa2, 0x4a, 0x09, 0x66, 0x05, 0x46, 0x0d, 0x96, 0x20, 0x28, 0x0f, 0x64, 0x7e, 0x60, - 0x69, 0x6a, 0x69, 0x6a, 0x0a, 0x6d, 0xcc, 0x77, 0xf2, 0x3c, 0xf1, 0x48, 0x8e, 0xf1, 0xc2, 0x23, - 0x39, 0xc6, 0x07, 0x8f, 0xe4, 0x18, 0x27, 0x3c, 0x96, 0x63, 0xb8, 0xf0, 0x58, 0x8e, 0xe1, 0xc6, - 0x63, 0x39, 0x86, 0x28, 0xfd, 0xf4, 0xcc, 0x92, 0x8c, 0xd2, 0x24, 0xbd, 0xe4, 0xfc, 0x5c, 0x7d, - 0xb7, 0xc4, 0xcc, 0xa2, 0xa4, 0x9c, 0xfc, 0xe4, 0x6c, 0x7d, 0x44, 0x20, 0x55, 0x20, 0x82, 0xa9, - 0xa4, 0xb2, 0x20, 0xb5, 0x38, 0x89, 0x0d, 0x1c, 0x4a, 0xc6, 0x80, 0x00, 0x00, 0x00, 0xff, 0xff, - 0xa1, 0x03, 0x11, 0x8d, 0x49, 0x01, 0x00, 0x00, + 0xd0, 0x83, 0xa9, 0x50, 0xea, 0x63, 0xe4, 0xe2, 0x71, 0x4c, 0x2e, 0xc9, 0x2c, 0x4b, 0x0d, 0x28, + 0x4d, 0xf2, 0x4e, 0xad, 0x14, 0x92, 0xe1, 0xe2, 0x2c, 0x28, 0x4d, 0xca, 0xc9, 0x4c, 0xf6, 0x4e, + 0xad, 0x94, 0x60, 0x54, 0x60, 0xd4, 0xe0, 0x0c, 0x42, 0x08, 0x08, 0x49, 0x70, 0xb1, 0x27, 0x17, + 0xa5, 0x26, 0x96, 0xe4, 0x17, 0x49, 0x30, 0x81, 0xe5, 0x60, 0x5c, 0x21, 0x31, 0x2e, 0xb6, 0xd4, + 0x8a, 0x82, 0xcc, 0xa2, 0x4a, 0x09, 0x66, 0x05, 0x46, 0x0d, 0x96, 0x20, 0x28, 0x4f, 0x48, 0x8f, + 0x4b, 0x28, 0xaf, 0x34, 0x37, 0x29, 0xb5, 0xc8, 0x3f, 0x2d, 0x2c, 0x31, 0x27, 0x33, 0x05, 0xa4, + 0xb8, 0x58, 0x82, 0x05, 0xac, 0x06, 0x8b, 0x0c, 0xd8, 0x41, 0x81, 0xa5, 0xa9, 0xa5, 0xa9, 0x29, + 0x83, 0xc3, 0x41, 0x4e, 0x9e, 0x27, 0x1e, 0xc9, 0x31, 0x5e, 0x78, 0x24, 0xc7, 0xf8, 0xe0, 0x91, + 0x1c, 0xe3, 0x84, 0xc7, 0x72, 0x0c, 0x17, 0x1e, 0xcb, 0x31, 0xdc, 0x78, 0x2c, 0xc7, 0x10, 0xa5, + 0x9f, 0x9e, 0x59, 0x92, 0x51, 0x9a, 0xa4, 0x97, 0x9c, 0x9f, 0xab, 0xef, 0x96, 0x98, 0x59, 0x94, + 0x94, 0x93, 0x9f, 0x9c, 0xad, 0x8f, 0x88, 0x86, 0x0a, 0x44, 0x44, 0x94, 0x54, 0x16, 0xa4, 0x16, + 0x27, 0xb1, 0x81, 0xe3, 0xc1, 0x18, 0x10, 0x00, 0x00, 0xff, 0xff, 0x93, 0x54, 0x8f, 0x0c, 0xab, + 0x01, 0x00, 0x00, } func (m *ActivePubKey) Marshal() (dAtA []byte, err error) { @@ -187,6 +205,11 @@ func (m *ActivePubKey) MarshalToSizedBuffer(dAtA []byte) (int, error) { _ = i var l int _ = l + if m.NumberOfValidators != 0 { + i = encodeVarintPubKey(dAtA, i, uint64(m.NumberOfValidators)) + i-- + dAtA[i] = 0x20 + } if m.Expiry != 0 { i = encodeVarintPubKey(dAtA, i, uint64(m.Expiry)) i-- @@ -229,6 +252,11 @@ func (m *QueuedPubKey) MarshalToSizedBuffer(dAtA []byte) (int, error) { _ = i var l int _ = l + if m.NumberOfValidators != 0 { + i = encodeVarintPubKey(dAtA, i, uint64(m.NumberOfValidators)) + i-- + dAtA[i] = 0x20 + } if m.Expiry != 0 { i = encodeVarintPubKey(dAtA, i, uint64(m.Expiry)) i-- @@ -279,6 +307,9 @@ func (m *ActivePubKey) Size() (n int) { if m.Expiry != 0 { n += 1 + sovPubKey(uint64(m.Expiry)) } + if m.NumberOfValidators != 0 { + n += 1 + sovPubKey(uint64(m.NumberOfValidators)) + } return n } @@ -299,6 +330,9 @@ func (m *QueuedPubKey) Size() (n int) { if m.Expiry != 0 { n += 1 + sovPubKey(uint64(m.Expiry)) } + if m.NumberOfValidators != 0 { + n += 1 + sovPubKey(uint64(m.NumberOfValidators)) + } return n } @@ -420,6 +454,25 @@ func (m *ActivePubKey) Unmarshal(dAtA []byte) error { break } } + case 4: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field NumberOfValidators", wireType) + } + m.NumberOfValidators = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowPubKey + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.NumberOfValidators |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } default: iNdEx = preIndex skippy, err := skipPubKey(dAtA[iNdEx:]) @@ -553,6 +606,25 @@ func (m *QueuedPubKey) Unmarshal(dAtA []byte) error { break } } + case 4: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field NumberOfValidators", wireType) + } + m.NumberOfValidators = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowPubKey + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.NumberOfValidators |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } default: iNdEx = preIndex skippy, err := skipPubKey(dAtA[iNdEx:]) diff --git a/x/keyshare/types/tx.pb.go b/x/keyshare/types/tx.pb.go index f0b6a690..7f0b0249 100644 --- a/x/keyshare/types/tx.pb.go +++ b/x/keyshare/types/tx.pb.go @@ -277,9 +277,10 @@ func (m *MsgSendKeyshareResponse) GetErrorMessage() string { // this line is used by starport scaffolding # proto/tx/message type MsgCreateLatestPubKey struct { - Creator string `protobuf:"bytes,1,opt,name=creator,proto3" json:"creator,omitempty"` - PublicKey string `protobuf:"bytes,2,opt,name=publicKey,proto3" json:"publicKey,omitempty"` - Commitments []string `protobuf:"bytes,3,rep,name=commitments,proto3" json:"commitments,omitempty"` + Creator string `protobuf:"bytes,1,opt,name=creator,proto3" json:"creator,omitempty"` + PublicKey string `protobuf:"bytes,2,opt,name=publicKey,proto3" json:"publicKey,omitempty"` + Commitments []string `protobuf:"bytes,3,rep,name=commitments,proto3" json:"commitments,omitempty"` + NumberOfValidators uint64 `protobuf:"varint,4,opt,name=numberOfValidators,proto3" json:"numberOfValidators,omitempty"` } func (m *MsgCreateLatestPubKey) Reset() { *m = MsgCreateLatestPubKey{} } @@ -336,6 +337,13 @@ func (m *MsgCreateLatestPubKey) GetCommitments() []string { return nil } +func (m *MsgCreateLatestPubKey) GetNumberOfValidators() uint64 { + if m != nil { + return m.NumberOfValidators + } + return 0 +} + type MsgCreateLatestPubKeyResponse struct { } @@ -856,53 +864,55 @@ func init() { func init() { proto.RegisterFile("fairyring/keyshare/tx.proto", fileDescriptor_1f96ac6a55f1845c) } var fileDescriptor_1f96ac6a55f1845c = []byte{ - // 735 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xc4, 0x56, 0x4f, 0x6f, 0xd3, 0x4e, - 0x10, 0xad, 0x93, 0x36, 0x49, 0xe7, 0xd7, 0x9f, 0x50, 0x0d, 0x6d, 0x2d, 0x53, 0x42, 0x64, 0x7a, - 0x08, 0x50, 0x25, 0xe5, 0x8f, 0x10, 0xd7, 0x16, 0x04, 0x54, 0x21, 0x08, 0xb9, 0xa5, 0x07, 0x2e, - 0xc5, 0xb1, 0x07, 0x67, 0x95, 0x38, 0x36, 0xbb, 0x1b, 0x54, 0xc3, 0x89, 0x13, 0x5c, 0x90, 0xf8, - 0x08, 0x7c, 0x1c, 0x8e, 0xbd, 0x20, 0x71, 0x44, 0xed, 0x17, 0x41, 0x76, 0x6c, 0xd7, 0x69, 0xbc, - 0x6e, 0x22, 0x21, 0x71, 0xcb, 0xcc, 0xbe, 0x9d, 0x79, 0x3b, 0xf1, 0x7b, 0xbb, 0x70, 0xf5, 0xad, - 0x41, 0xa8, 0x4f, 0xc9, 0xc0, 0x6e, 0xf6, 0xd0, 0x67, 0x5d, 0x83, 0x62, 0x93, 0x1f, 0x35, 0x3c, - 0xea, 0x72, 0x57, 0x96, 0x93, 0xc5, 0x46, 0xbc, 0xa8, 0xde, 0xca, 0xd8, 0x60, 0xe3, 0x00, 0xa9, - 0xd1, 0x3f, 0xec, 0xa1, 0x7f, 0x18, 0x66, 0x46, 0xfb, 0xb5, 0x2d, 0xb8, 0xd2, 0x66, 0xb6, 0x8e, - 0x36, 0x61, 0x1c, 0xe9, 0x81, 0xd1, 0x27, 0x96, 0xc1, 0x5d, 0x2a, 0x2b, 0x50, 0x36, 0x29, 0x06, - 0x3f, 0x15, 0xa9, 0x26, 0xd5, 0x17, 0xf5, 0x38, 0xd4, 0x1e, 0xc2, 0x7a, 0xd6, 0x0e, 0x1d, 0x99, - 0xe7, 0x0e, 0x18, 0xe6, 0xec, 0xfc, 0x2a, 0xc1, 0xa5, 0x36, 0xb3, 0xf7, 0x70, 0x60, 0xb5, 0x22, - 0x5e, 0x62, 0x74, 0xb0, 0xe2, 0x20, 0x63, 0x86, 0x8d, 0x4a, 0x61, 0xb4, 0x12, 0x85, 0xf2, 0x06, - 0xfc, 0xdf, 0x43, 0x7f, 0x2f, 0xd8, 0xbf, 0x3b, 0xb0, 0xf0, 0x48, 0x29, 0xd6, 0xa4, 0xfa, 0xbc, - 0x3e, 0x9e, 0x94, 0x6b, 0xf0, 0x5f, 0xa7, 0xef, 0x9a, 0xbd, 0x67, 0x48, 0xec, 0x2e, 0x57, 0xe6, - 0x43, 0x4c, 0x3a, 0xa5, 0x7d, 0x2e, 0xc0, 0xda, 0x39, 0x3e, 0x17, 0x9f, 0x42, 0x56, 0xa1, 0x12, - 0x4f, 0x35, 0x22, 0x96, 0xc4, 0x11, 0x33, 0x96, 0xc5, 0x8c, 0xcd, 0xc0, 0x4c, 0xde, 0x82, 0xcb, - 0x14, 0x4d, 0x24, 0xef, 0xd1, 0xda, 0x49, 0x21, 0x17, 0x42, 0x64, 0xd6, 0x52, 0xc0, 0x97, 0x0d, - 0x4d, 0x13, 0x19, 0x53, 0x4a, 0x35, 0xa9, 0x5e, 0xd1, 0xe3, 0x50, 0xd6, 0x60, 0x09, 0x29, 0x75, - 0x69, 0x3b, 0x1a, 0x66, 0x39, 0xe4, 0x3c, 0x96, 0xd3, 0xde, 0xc1, 0x4a, 0x9b, 0xd9, 0x8f, 0x82, - 0x13, 0xe2, 0x73, 0x83, 0x23, 0xe3, 0x2f, 0x87, 0x9d, 0x16, 0xfa, 0x39, 0x63, 0x58, 0x87, 0x45, - 0x6f, 0xd8, 0xe9, 0x13, 0xb3, 0x85, 0x7e, 0x34, 0x87, 0xb3, 0x44, 0x70, 0x44, 0xd3, 0x75, 0x1c, - 0xc2, 0x1d, 0x1c, 0x70, 0xa6, 0x14, 0x6b, 0xc5, 0xfa, 0xa2, 0x9e, 0x4e, 0x69, 0xd7, 0xe1, 0x5a, - 0x66, 0xcb, 0xf8, 0x1f, 0xd0, 0x5e, 0x80, 0x9a, 0x00, 0xb6, 0x87, 0xbc, 0xeb, 0x52, 0xf2, 0x01, - 0xad, 0x6d, 0xcb, 0xa2, 0xc1, 0xa9, 0x56, 0xa1, 0xc4, 0x0d, 0x6a, 0x23, 0x8f, 0x78, 0x45, 0x51, - 0x9a, 0x70, 0x61, 0xfc, 0xeb, 0xdb, 0x00, 0x4d, 0x5c, 0x2f, 0xe9, 0x4a, 0xc3, 0xae, 0xaf, 0x3c, - 0x6b, 0xa6, 0xae, 0x1a, 0x2c, 0x11, 0x76, 0x06, 0x0f, 0x5b, 0x57, 0xf4, 0xb1, 0x5c, 0x9a, 0x59, - 0x31, 0x8b, 0x99, 0xa0, 0xe7, 0xb9, 0x79, 0x3c, 0xc6, 0x3e, 0xfe, 0xcd, 0x79, 0x08, 0xea, 0x25, - 0x5d, 0xbf, 0x14, 0x40, 0x49, 0xc6, 0xf6, 0x74, 0x64, 0x22, 0xad, 0x48, 0x67, 0x39, 0x5f, 0xc7, - 0x2a, 0x94, 0x88, 0xb5, 0xef, 0x7b, 0xb1, 0x44, 0xa2, 0x28, 0xd8, 0x41, 0xac, 0x03, 0xa3, 0x3f, - 0xc4, 0x78, 0x08, 0x51, 0x18, 0xc9, 0x2a, 0xac, 0x1b, 0x2a, 0x62, 0x24, 0xab, 0xbd, 0x94, 0xac, - 0x52, 0x82, 0x5f, 0xc8, 0x12, 0xfc, 0x26, 0x2c, 0xc7, 0xca, 0xd8, 0x27, 0x0e, 0x32, 0x6e, 0x38, - 0x5e, 0x28, 0x86, 0x79, 0x7d, 0x72, 0x41, 0x24, 0xb1, 0xb2, 0x50, 0x62, 0xda, 0xf7, 0x02, 0xd4, - 0x44, 0xa3, 0x98, 0xc2, 0x37, 0xfe, 0xc5, 0x48, 0x04, 0x87, 0x2c, 0x4d, 0xe5, 0x23, 0xe5, 0x7c, - 0x1f, 0xa9, 0x4c, 0xfa, 0xc8, 0xdd, 0x9f, 0x25, 0x28, 0xb6, 0x99, 0x2d, 0xbb, 0xb0, 0x3c, 0x79, - 0xa5, 0xd4, 0x1b, 0x93, 0x77, 0x55, 0x23, 0xeb, 0x2a, 0x51, 0xb7, 0xa6, 0x45, 0x26, 0x63, 0x7f, - 0x03, 0x4b, 0x63, 0xd7, 0xca, 0x0d, 0x41, 0x85, 0x34, 0x48, 0xbd, 0x3d, 0x05, 0x28, 0xe9, 0x40, - 0x41, 0xce, 0xf0, 0xc7, 0x9b, 0x82, 0x12, 0x93, 0x50, 0xf5, 0xce, 0xd4, 0xd0, 0xa4, 0xe7, 0x27, - 0x09, 0xd6, 0x44, 0x06, 0xd8, 0xc8, 0x2d, 0x37, 0x81, 0x57, 0x1f, 0xcc, 0x86, 0x1f, 0xe3, 0x20, - 0xb2, 0x43, 0x11, 0x07, 0x01, 0x5e, 0xc8, 0xe1, 0x02, 0xeb, 0x0b, 0x39, 0x88, 0x8c, 0x4f, 0xc4, - 0x41, 0x80, 0x17, 0x72, 0xb8, 0xc0, 0x08, 0xe5, 0x8f, 0xb0, 0x92, 0x6d, 0x82, 0x9b, 0xb9, 0x83, - 0x3d, 0x87, 0x56, 0xef, 0xcf, 0x82, 0x8e, 0x9b, 0xef, 0xec, 0xfe, 0x38, 0xa9, 0x4a, 0xc7, 0x27, - 0x55, 0xe9, 0xf7, 0x49, 0x55, 0xfa, 0x76, 0x5a, 0x9d, 0x3b, 0x3e, 0xad, 0xce, 0xfd, 0x3a, 0xad, - 0xce, 0xbd, 0x6e, 0xda, 0x84, 0x77, 0x87, 0x9d, 0x86, 0xe9, 0x3a, 0xcd, 0x27, 0x06, 0xa1, 0xe1, - 0x2b, 0xa2, 0x79, 0xf6, 0x00, 0x3c, 0x4a, 0xbd, 0x19, 0x7d, 0x0f, 0x59, 0xa7, 0x14, 0xbe, 0xfb, - 0xee, 0xfd, 0x09, 0x00, 0x00, 0xff, 0xff, 0x55, 0xe8, 0xad, 0xd9, 0x56, 0x0a, 0x00, 0x00, + // 755 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xc4, 0x56, 0x4d, 0x6f, 0xd3, 0x4a, + 0x14, 0xad, 0x93, 0x36, 0x49, 0xef, 0xeb, 0xd3, 0x53, 0xfd, 0x5e, 0x5b, 0xcb, 0xaf, 0x84, 0xc8, + 0x74, 0x11, 0xa0, 0x4a, 0xca, 0x87, 0x10, 0xdb, 0x16, 0x04, 0x54, 0x21, 0x80, 0xdc, 0xd2, 0x05, + 0x9b, 0xe2, 0xd8, 0xb7, 0xce, 0x28, 0x71, 0x6c, 0xcd, 0x8c, 0x51, 0x0d, 0x2b, 0x56, 0xb0, 0x41, + 0xe2, 0x27, 0xc0, 0xbf, 0x61, 0xd9, 0x0d, 0x12, 0x4b, 0xd4, 0xfe, 0x11, 0x64, 0xc7, 0x76, 0x9d, + 0xc6, 0x93, 0x26, 0x12, 0x12, 0xbb, 0xdc, 0x7b, 0xcf, 0xcc, 0x3d, 0x73, 0xe2, 0x7b, 0x66, 0xe0, + 0xff, 0x23, 0x83, 0xd0, 0x80, 0x92, 0x81, 0xdd, 0xec, 0x61, 0xc0, 0xba, 0x06, 0xc5, 0x26, 0x3f, + 0x6e, 0x78, 0xd4, 0xe5, 0xae, 0x2c, 0xa7, 0xc5, 0x46, 0x52, 0x54, 0x6f, 0xe4, 0x2c, 0xb0, 0x71, + 0x80, 0xd4, 0xe8, 0x1f, 0xf6, 0x30, 0x38, 0x8c, 0x32, 0xc3, 0xf5, 0xda, 0x16, 0xfc, 0xd7, 0x66, + 0xb6, 0x8e, 0x36, 0x61, 0x1c, 0xe9, 0x81, 0xd1, 0x27, 0x96, 0xc1, 0x5d, 0x2a, 0x2b, 0x50, 0x36, + 0x29, 0x86, 0x3f, 0x15, 0xa9, 0x26, 0xd5, 0x17, 0xf5, 0x24, 0xd4, 0xee, 0xc3, 0x7a, 0xde, 0x0a, + 0x1d, 0x99, 0xe7, 0x0e, 0x18, 0x4e, 0x58, 0xf9, 0x49, 0x82, 0x7f, 0xda, 0xcc, 0xde, 0xc3, 0x81, + 0xd5, 0x8a, 0x79, 0x89, 0xd1, 0x61, 0xc5, 0x41, 0xc6, 0x0c, 0x1b, 0x95, 0xc2, 0xb0, 0x12, 0x87, + 0xf2, 0x06, 0xfc, 0xdd, 0xc3, 0x60, 0x2f, 0x5c, 0xbf, 0x3b, 0xb0, 0xf0, 0x58, 0x29, 0xd6, 0xa4, + 0xfa, 0xbc, 0x3e, 0x9a, 0x94, 0x6b, 0xf0, 0x57, 0xa7, 0xef, 0x9a, 0xbd, 0x27, 0x48, 0xec, 0x2e, + 0x57, 0xe6, 0x23, 0x4c, 0x36, 0xa5, 0x7d, 0x28, 0xc0, 0xda, 0x05, 0x3e, 0x97, 0x9f, 0x42, 0x56, + 0xa1, 0x92, 0xa8, 0x1a, 0x13, 0x4b, 0xe3, 0x98, 0x19, 0xcb, 0x63, 0xc6, 0x66, 0x60, 0x26, 0x6f, + 0xc1, 0xbf, 0x14, 0x4d, 0x24, 0x6f, 0xd0, 0xda, 0xc9, 0x20, 0x17, 0x22, 0x64, 0x5e, 0x29, 0xe4, + 0xcb, 0x7c, 0xd3, 0x44, 0xc6, 0x94, 0x52, 0x4d, 0xaa, 0x57, 0xf4, 0x24, 0x94, 0x35, 0x58, 0x42, + 0x4a, 0x5d, 0xda, 0x8e, 0xc5, 0x2c, 0x47, 0x9c, 0x47, 0x72, 0xda, 0x57, 0x09, 0x56, 0xda, 0xcc, + 0x7e, 0x10, 0x1e, 0x11, 0x9f, 0x1a, 0x1c, 0x19, 0x7f, 0xe1, 0x77, 0x5a, 0x18, 0x4c, 0xd0, 0x61, + 0x1d, 0x16, 0x3d, 0xbf, 0xd3, 0x27, 0x66, 0x0b, 0x83, 0x58, 0x88, 0xf3, 0x44, 0x78, 0x46, 0xd3, + 0x75, 0x1c, 0xc2, 0x1d, 0x1c, 0x70, 0xa6, 0x14, 0x6b, 0xc5, 0xfa, 0xa2, 0x9e, 0x4d, 0xc9, 0x0d, + 0x90, 0x07, 0xbe, 0xd3, 0x41, 0xfa, 0xfc, 0x28, 0xfd, 0x88, 0x58, 0x2c, 0x46, 0x4e, 0x45, 0xbb, + 0x0a, 0x57, 0x72, 0x29, 0x26, 0x7f, 0x99, 0xf6, 0x0c, 0xd4, 0x14, 0xb0, 0xed, 0xf3, 0xae, 0x4b, + 0xc9, 0x5b, 0xb4, 0xb6, 0x2d, 0x8b, 0x86, 0x32, 0xac, 0x42, 0x89, 0x1b, 0xd4, 0x46, 0x1e, 0x9f, + 0x23, 0x8e, 0xb2, 0x07, 0x2c, 0x8c, 0x7e, 0xae, 0x1b, 0xa0, 0x89, 0xf7, 0x4b, 0xbb, 0xd2, 0xa8, + 0xeb, 0x4b, 0xcf, 0x9a, 0xa9, 0xab, 0x06, 0x4b, 0x84, 0x9d, 0xc3, 0xa3, 0xd6, 0x15, 0x7d, 0x24, + 0x97, 0x65, 0x56, 0xcc, 0x63, 0x26, 0xe8, 0x79, 0x41, 0x8f, 0x87, 0xd8, 0xc7, 0xdf, 0xa9, 0x87, + 0x60, 0xbf, 0xb4, 0xeb, 0xc7, 0x02, 0x28, 0xa9, 0x6c, 0x8f, 0x87, 0xae, 0xd3, 0x8a, 0x07, 0x73, + 0xc2, 0xd7, 0xb4, 0x0a, 0x25, 0x62, 0xed, 0x07, 0x5e, 0x32, 0x53, 0x71, 0x14, 0xae, 0x20, 0xd6, + 0x81, 0xd1, 0xf7, 0x31, 0x11, 0x21, 0x0e, 0xe3, 0x39, 0x8c, 0xf6, 0x8d, 0xbe, 0x9a, 0xe1, 0x1c, + 0xee, 0x65, 0xe6, 0x30, 0xe3, 0x10, 0x0b, 0x79, 0x0e, 0xb1, 0x09, 0xcb, 0xc9, 0x28, 0xed, 0x13, + 0x07, 0x19, 0x37, 0x1c, 0x2f, 0x9a, 0x9e, 0x79, 0x7d, 0xbc, 0x20, 0x9a, 0xc9, 0xb2, 0x70, 0x26, + 0xb5, 0x2f, 0x05, 0xa8, 0x89, 0xa4, 0x98, 0xc2, 0x68, 0xfe, 0x84, 0x24, 0x82, 0x43, 0x96, 0xa6, + 0x32, 0x9e, 0xf2, 0x64, 0xe3, 0xa9, 0x8c, 0x1b, 0xcf, 0xed, 0xef, 0x25, 0x28, 0xb6, 0x99, 0x2d, + 0xbb, 0xb0, 0x3c, 0x7e, 0x07, 0xd5, 0x1b, 0xe3, 0x97, 0x5b, 0x23, 0xef, 0xee, 0x51, 0xb7, 0xa6, + 0x45, 0xa6, 0xb2, 0xbf, 0x86, 0xa5, 0x91, 0x7b, 0xe8, 0x9a, 0x60, 0x87, 0x2c, 0x48, 0xbd, 0x39, + 0x05, 0x28, 0xed, 0x40, 0x41, 0xce, 0xf1, 0xd3, 0xeb, 0x82, 0x2d, 0xc6, 0xa1, 0xea, 0xad, 0xa9, + 0xa1, 0x69, 0xcf, 0xf7, 0x12, 0xac, 0x89, 0x0c, 0xb0, 0x31, 0x71, 0xbb, 0x31, 0xbc, 0x7a, 0x6f, + 0x36, 0xfc, 0x08, 0x07, 0x91, 0x1d, 0x8a, 0x38, 0x08, 0xf0, 0x42, 0x0e, 0x97, 0x58, 0x5f, 0xc4, + 0x41, 0x64, 0x7c, 0x22, 0x0e, 0x02, 0xbc, 0x90, 0xc3, 0x25, 0x46, 0x28, 0xbf, 0x83, 0x95, 0x7c, + 0x13, 0xdc, 0x9c, 0x28, 0xec, 0x05, 0xb4, 0x7a, 0x77, 0x16, 0x74, 0xd2, 0x7c, 0x67, 0xf7, 0xdb, + 0x69, 0x55, 0x3a, 0x39, 0xad, 0x4a, 0x3f, 0x4f, 0xab, 0xd2, 0xe7, 0xb3, 0xea, 0xdc, 0xc9, 0x59, + 0x75, 0xee, 0xc7, 0x59, 0x75, 0xee, 0x55, 0xd3, 0x26, 0xbc, 0xeb, 0x77, 0x1a, 0xa6, 0xeb, 0x34, + 0x1f, 0x19, 0x84, 0x46, 0xcf, 0x8e, 0xe6, 0xf9, 0x8b, 0xf1, 0x38, 0xf3, 0xc8, 0x0c, 0x3c, 0x64, + 0x9d, 0x52, 0xf4, 0x50, 0xbc, 0xf3, 0x2b, 0x00, 0x00, 0xff, 0xff, 0x58, 0x42, 0x78, 0x99, 0x87, + 0x0a, 0x00, 0x00, } // Reference imports to suppress errors if they are not otherwise used. @@ -1399,6 +1409,11 @@ func (m *MsgCreateLatestPubKey) MarshalToSizedBuffer(dAtA []byte) (int, error) { _ = i var l int _ = l + if m.NumberOfValidators != 0 { + i = encodeVarintTx(dAtA, i, uint64(m.NumberOfValidators)) + i-- + dAtA[i] = 0x20 + } if len(m.Commitments) > 0 { for iNdEx := len(m.Commitments) - 1; iNdEx >= 0; iNdEx-- { i -= len(m.Commitments[iNdEx]) @@ -1895,6 +1910,9 @@ func (m *MsgCreateLatestPubKey) Size() (n int) { n += 1 + l + sovTx(uint64(l)) } } + if m.NumberOfValidators != 0 { + n += 1 + sovTx(uint64(m.NumberOfValidators)) + } return n } @@ -2730,6 +2748,25 @@ func (m *MsgCreateLatestPubKey) Unmarshal(dAtA []byte) error { } m.Commitments = append(m.Commitments, string(dAtA[iNdEx:postIndex])) iNdEx = postIndex + case 4: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field NumberOfValidators", wireType) + } + m.NumberOfValidators = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTx + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.NumberOfValidators |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } default: iNdEx = preIndex skippy, err := skipTx(dAtA[iNdEx:])