diff --git a/.gitignore b/.gitignore index f3dfe329..01fd764c 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,4 @@ +vue/ vue/node_modules vue/dist release/ diff --git a/api/fairyring/common/shared_types.pulsar.go b/api/fairyring/common/shared_types.pulsar.go index 397028db..7df7226e 100644 --- a/api/fairyring/common/shared_types.pulsar.go +++ b/api/fairyring/common/shared_types.pulsar.go @@ -2118,29 +2118,31 @@ func (x *fastReflection_GetAggrKeyshareResponse) ProtoMethods() *protoiface.Meth } var ( - md_ActivePublicKey protoreflect.MessageDescriptor - fd_ActivePublicKey_publicKey protoreflect.FieldDescriptor - fd_ActivePublicKey_creator protoreflect.FieldDescriptor - fd_ActivePublicKey_expiry protoreflect.FieldDescriptor + md_GetPrivateKeyshare protoreflect.MessageDescriptor + fd_GetPrivateKeyshare_request_id protoreflect.FieldDescriptor + fd_GetPrivateKeyshare_identity protoreflect.FieldDescriptor + fd_GetPrivateKeyshare_requester protoreflect.FieldDescriptor + fd_GetPrivateKeyshare_secp_pubkey protoreflect.FieldDescriptor ) func init() { file_fairyring_common_shared_types_proto_init() - md_ActivePublicKey = File_fairyring_common_shared_types_proto.Messages().ByName("ActivePublicKey") - fd_ActivePublicKey_publicKey = md_ActivePublicKey.Fields().ByName("publicKey") - fd_ActivePublicKey_creator = md_ActivePublicKey.Fields().ByName("creator") - fd_ActivePublicKey_expiry = md_ActivePublicKey.Fields().ByName("expiry") + md_GetPrivateKeyshare = File_fairyring_common_shared_types_proto.Messages().ByName("GetPrivateKeyshare") + fd_GetPrivateKeyshare_request_id = md_GetPrivateKeyshare.Fields().ByName("request_id") + fd_GetPrivateKeyshare_identity = md_GetPrivateKeyshare.Fields().ByName("identity") + fd_GetPrivateKeyshare_requester = md_GetPrivateKeyshare.Fields().ByName("requester") + fd_GetPrivateKeyshare_secp_pubkey = md_GetPrivateKeyshare.Fields().ByName("secp_pubkey") } -var _ protoreflect.Message = (*fastReflection_ActivePublicKey)(nil) +var _ protoreflect.Message = (*fastReflection_GetPrivateKeyshare)(nil) -type fastReflection_ActivePublicKey ActivePublicKey +type fastReflection_GetPrivateKeyshare GetPrivateKeyshare -func (x *ActivePublicKey) ProtoReflect() protoreflect.Message { - return (*fastReflection_ActivePublicKey)(x) +func (x *GetPrivateKeyshare) ProtoReflect() protoreflect.Message { + return (*fastReflection_GetPrivateKeyshare)(x) } -func (x *ActivePublicKey) slowProtoReflect() protoreflect.Message { +func (x *GetPrivateKeyshare) slowProtoReflect() protoreflect.Message { mi := &file_fairyring_common_shared_types_proto_msgTypes[4] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -2152,43 +2154,43 @@ func (x *ActivePublicKey) slowProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -var _fastReflection_ActivePublicKey_messageType fastReflection_ActivePublicKey_messageType -var _ protoreflect.MessageType = fastReflection_ActivePublicKey_messageType{} +var _fastReflection_GetPrivateKeyshare_messageType fastReflection_GetPrivateKeyshare_messageType +var _ protoreflect.MessageType = fastReflection_GetPrivateKeyshare_messageType{} -type fastReflection_ActivePublicKey_messageType struct{} +type fastReflection_GetPrivateKeyshare_messageType struct{} -func (x fastReflection_ActivePublicKey_messageType) Zero() protoreflect.Message { - return (*fastReflection_ActivePublicKey)(nil) +func (x fastReflection_GetPrivateKeyshare_messageType) Zero() protoreflect.Message { + return (*fastReflection_GetPrivateKeyshare)(nil) } -func (x fastReflection_ActivePublicKey_messageType) New() protoreflect.Message { - return new(fastReflection_ActivePublicKey) +func (x fastReflection_GetPrivateKeyshare_messageType) New() protoreflect.Message { + return new(fastReflection_GetPrivateKeyshare) } -func (x fastReflection_ActivePublicKey_messageType) Descriptor() protoreflect.MessageDescriptor { - return md_ActivePublicKey +func (x fastReflection_GetPrivateKeyshare_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_GetPrivateKeyshare } // Descriptor returns message descriptor, which contains only the protobuf // type information for the message. -func (x *fastReflection_ActivePublicKey) Descriptor() protoreflect.MessageDescriptor { - return md_ActivePublicKey +func (x *fastReflection_GetPrivateKeyshare) Descriptor() protoreflect.MessageDescriptor { + return md_GetPrivateKeyshare } // Type returns the message type, which encapsulates both Go and protobuf // type information. If the Go type information is not needed, // it is recommended that the message descriptor be used instead. -func (x *fastReflection_ActivePublicKey) Type() protoreflect.MessageType { - return _fastReflection_ActivePublicKey_messageType +func (x *fastReflection_GetPrivateKeyshare) Type() protoreflect.MessageType { + return _fastReflection_GetPrivateKeyshare_messageType } // New returns a newly allocated and mutable empty message. -func (x *fastReflection_ActivePublicKey) New() protoreflect.Message { - return new(fastReflection_ActivePublicKey) +func (x *fastReflection_GetPrivateKeyshare) New() protoreflect.Message { + return new(fastReflection_GetPrivateKeyshare) } // Interface unwraps the message reflection interface and // returns the underlying ProtoMessage interface. -func (x *fastReflection_ActivePublicKey) Interface() protoreflect.ProtoMessage { - return (*ActivePublicKey)(x) +func (x *fastReflection_GetPrivateKeyshare) Interface() protoreflect.ProtoMessage { + return (*GetPrivateKeyshare)(x) } // Range iterates over every populated field in an undefined order, @@ -2196,22 +2198,2643 @@ func (x *fastReflection_ActivePublicKey) Interface() protoreflect.ProtoMessage { // Range returns immediately if f returns false. // While iterating, mutating operations may only be performed // on the current field descriptor. -func (x *fastReflection_ActivePublicKey) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { - if x.PublicKey != "" { - value := protoreflect.ValueOfString(x.PublicKey) - if !f(fd_ActivePublicKey_publicKey, value) { +func (x *fastReflection_GetPrivateKeyshare) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { + if x.RequestId != "" { + value := protoreflect.ValueOfString(x.RequestId) + if !f(fd_GetPrivateKeyshare_request_id, value) { return } } - if x.Creator != "" { - value := protoreflect.ValueOfString(x.Creator) - if !f(fd_ActivePublicKey_creator, value) { + if x.Identity != "" { + value := protoreflect.ValueOfString(x.Identity) + if !f(fd_GetPrivateKeyshare_identity, value) { + return + } + } + if x.Requester != "" { + value := protoreflect.ValueOfString(x.Requester) + if !f(fd_GetPrivateKeyshare_requester, value) { + return + } + } + if x.SecpPubkey != "" { + value := protoreflect.ValueOfString(x.SecpPubkey) + if !f(fd_GetPrivateKeyshare_secp_pubkey, value) { + return + } + } +} + +// Has reports whether a field is populated. +// +// Some fields have the property of nullability where it is possible to +// distinguish between the default value of a field and whether the field +// was explicitly populated with the default value. Singular message fields, +// member fields of a oneof, and proto2 scalar fields are nullable. Such +// fields are populated only if explicitly set. +// +// In other cases (aside from the nullable cases above), +// a proto3 scalar field is populated if it contains a non-zero value, and +// a repeated field is populated if it is non-empty. +func (x *fastReflection_GetPrivateKeyshare) Has(fd protoreflect.FieldDescriptor) bool { + switch fd.FullName() { + case "fairyring.common.GetPrivateKeyshare.request_id": + return x.RequestId != "" + case "fairyring.common.GetPrivateKeyshare.identity": + return x.Identity != "" + case "fairyring.common.GetPrivateKeyshare.requester": + return x.Requester != "" + case "fairyring.common.GetPrivateKeyshare.secp_pubkey": + return x.SecpPubkey != "" + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: fairyring.common.GetPrivateKeyshare")) + } + panic(fmt.Errorf("message fairyring.common.GetPrivateKeyshare does not contain field %s", fd.FullName())) + } +} + +// Clear clears the field such that a subsequent Has call reports false. +// +// Clearing an extension field clears both the extension type and value +// associated with the given field number. +// +// Clear is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_GetPrivateKeyshare) Clear(fd protoreflect.FieldDescriptor) { + switch fd.FullName() { + case "fairyring.common.GetPrivateKeyshare.request_id": + x.RequestId = "" + case "fairyring.common.GetPrivateKeyshare.identity": + x.Identity = "" + case "fairyring.common.GetPrivateKeyshare.requester": + x.Requester = "" + case "fairyring.common.GetPrivateKeyshare.secp_pubkey": + x.SecpPubkey = "" + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: fairyring.common.GetPrivateKeyshare")) + } + panic(fmt.Errorf("message fairyring.common.GetPrivateKeyshare does not contain field %s", fd.FullName())) + } +} + +// Get retrieves the value for a field. +// +// For unpopulated scalars, it returns the default value, where +// the default value of a bytes scalar is guaranteed to be a copy. +// For unpopulated composite types, it returns an empty, read-only view +// of the value; to obtain a mutable reference, use Mutable. +func (x *fastReflection_GetPrivateKeyshare) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { + switch descriptor.FullName() { + case "fairyring.common.GetPrivateKeyshare.request_id": + value := x.RequestId + return protoreflect.ValueOfString(value) + case "fairyring.common.GetPrivateKeyshare.identity": + value := x.Identity + return protoreflect.ValueOfString(value) + case "fairyring.common.GetPrivateKeyshare.requester": + value := x.Requester + return protoreflect.ValueOfString(value) + case "fairyring.common.GetPrivateKeyshare.secp_pubkey": + value := x.SecpPubkey + return protoreflect.ValueOfString(value) + default: + if descriptor.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: fairyring.common.GetPrivateKeyshare")) + } + panic(fmt.Errorf("message fairyring.common.GetPrivateKeyshare does not contain field %s", descriptor.FullName())) + } +} + +// Set stores the value for a field. +// +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType. +// When setting a composite type, it is unspecified whether the stored value +// aliases the source's memory in any way. If the composite value is an +// empty, read-only value, then it panics. +// +// Set is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_GetPrivateKeyshare) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { + switch fd.FullName() { + case "fairyring.common.GetPrivateKeyshare.request_id": + x.RequestId = value.Interface().(string) + case "fairyring.common.GetPrivateKeyshare.identity": + x.Identity = value.Interface().(string) + case "fairyring.common.GetPrivateKeyshare.requester": + x.Requester = value.Interface().(string) + case "fairyring.common.GetPrivateKeyshare.secp_pubkey": + x.SecpPubkey = value.Interface().(string) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: fairyring.common.GetPrivateKeyshare")) + } + panic(fmt.Errorf("message fairyring.common.GetPrivateKeyshare does not contain field %s", fd.FullName())) + } +} + +// Mutable returns a mutable reference to a composite type. +// +// If the field is unpopulated, it may allocate a composite value. +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType +// if not already stored. +// It panics if the field does not contain a composite type. +// +// Mutable is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_GetPrivateKeyshare) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "fairyring.common.GetPrivateKeyshare.request_id": + panic(fmt.Errorf("field request_id of message fairyring.common.GetPrivateKeyshare is not mutable")) + case "fairyring.common.GetPrivateKeyshare.identity": + panic(fmt.Errorf("field identity of message fairyring.common.GetPrivateKeyshare is not mutable")) + case "fairyring.common.GetPrivateKeyshare.requester": + panic(fmt.Errorf("field requester of message fairyring.common.GetPrivateKeyshare is not mutable")) + case "fairyring.common.GetPrivateKeyshare.secp_pubkey": + panic(fmt.Errorf("field secp_pubkey of message fairyring.common.GetPrivateKeyshare is not mutable")) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: fairyring.common.GetPrivateKeyshare")) + } + panic(fmt.Errorf("message fairyring.common.GetPrivateKeyshare does not contain field %s", fd.FullName())) + } +} + +// NewField returns a new value that is assignable to the field +// for the given descriptor. For scalars, this returns the default value. +// For lists, maps, and messages, this returns a new, empty, mutable value. +func (x *fastReflection_GetPrivateKeyshare) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "fairyring.common.GetPrivateKeyshare.request_id": + return protoreflect.ValueOfString("") + case "fairyring.common.GetPrivateKeyshare.identity": + return protoreflect.ValueOfString("") + case "fairyring.common.GetPrivateKeyshare.requester": + return protoreflect.ValueOfString("") + case "fairyring.common.GetPrivateKeyshare.secp_pubkey": + return protoreflect.ValueOfString("") + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: fairyring.common.GetPrivateKeyshare")) + } + panic(fmt.Errorf("message fairyring.common.GetPrivateKeyshare does not contain field %s", fd.FullName())) + } +} + +// WhichOneof reports which field within the oneof is populated, +// returning nil if none are populated. +// It panics if the oneof descriptor does not belong to this message. +func (x *fastReflection_GetPrivateKeyshare) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { + switch d.FullName() { + default: + panic(fmt.Errorf("%s is not a oneof field in fairyring.common.GetPrivateKeyshare", d.FullName())) + } + panic("unreachable") +} + +// GetUnknown retrieves the entire list of unknown fields. +// The caller may only mutate the contents of the RawFields +// if the mutated bytes are stored back into the message with SetUnknown. +func (x *fastReflection_GetPrivateKeyshare) GetUnknown() protoreflect.RawFields { + return x.unknownFields +} + +// SetUnknown stores an entire list of unknown fields. +// The raw fields must be syntactically valid according to the wire format. +// An implementation may panic if this is not the case. +// Once stored, the caller must not mutate the content of the RawFields. +// An empty RawFields may be passed to clear the fields. +// +// SetUnknown is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_GetPrivateKeyshare) SetUnknown(fields protoreflect.RawFields) { + x.unknownFields = fields +} + +// IsValid reports whether the message is valid. +// +// An invalid message is an empty, read-only value. +// +// An invalid message often corresponds to a nil pointer of the concrete +// message type, but the details are implementation dependent. +// Validity is not part of the protobuf data model, and may not +// be preserved in marshaling or other operations. +func (x *fastReflection_GetPrivateKeyshare) IsValid() bool { + return x != nil +} + +// ProtoMethods returns optional fastReflectionFeature-path implementations of various operations. +// This method may return nil. +// +// The returned methods type is identical to +// "google.golang.org/protobuf/runtime/protoiface".Methods. +// Consult the protoiface package documentation for details. +func (x *fastReflection_GetPrivateKeyshare) ProtoMethods() *protoiface.Methods { + size := func(input protoiface.SizeInput) protoiface.SizeOutput { + x := input.Message.Interface().(*GetPrivateKeyshare) + if x == nil { + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: 0, + } + } + options := runtime.SizeInputToOptions(input) + _ = options + var n int + var l int + _ = l + l = len(x.RequestId) + if l > 0 { + n += 1 + l + runtime.Sov(uint64(l)) + } + l = len(x.Identity) + if l > 0 { + n += 1 + l + runtime.Sov(uint64(l)) + } + l = len(x.Requester) + if l > 0 { + n += 1 + l + runtime.Sov(uint64(l)) + } + l = len(x.SecpPubkey) + if l > 0 { + n += 1 + l + runtime.Sov(uint64(l)) + } + if x.unknownFields != nil { + n += len(x.unknownFields) + } + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: n, + } + } + + marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { + x := input.Message.Interface().(*GetPrivateKeyshare) + if x == nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + options := runtime.MarshalInputToOptions(input) + _ = options + size := options.Size(x) + dAtA := make([]byte, size) + i := len(dAtA) + _ = i + var l int + _ = l + if x.unknownFields != nil { + i -= len(x.unknownFields) + copy(dAtA[i:], x.unknownFields) + } + if len(x.SecpPubkey) > 0 { + i -= len(x.SecpPubkey) + copy(dAtA[i:], x.SecpPubkey) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.SecpPubkey))) + i-- + dAtA[i] = 0x22 + } + if len(x.Requester) > 0 { + i -= len(x.Requester) + copy(dAtA[i:], x.Requester) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Requester))) + i-- + dAtA[i] = 0x1a + } + if len(x.Identity) > 0 { + i -= len(x.Identity) + copy(dAtA[i:], x.Identity) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Identity))) + i-- + dAtA[i] = 0x12 + } + if len(x.RequestId) > 0 { + i -= len(x.RequestId) + copy(dAtA[i:], x.RequestId) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.RequestId))) + i-- + dAtA[i] = 0xa + } + if input.Buf != nil { + input.Buf = append(input.Buf, dAtA...) + } else { + input.Buf = dAtA + } + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { + x := input.Message.Interface().(*GetPrivateKeyshare) + if x == nil { + return protoiface.UnmarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Flags: input.Flags, + }, nil + } + options := runtime.UnmarshalInputToOptions(input) + _ = options + dAtA := input.Buf + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + 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++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: GetPrivateKeyshare: wiretype end group for non-group") + } + if fieldNum <= 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: GetPrivateKeyshare: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field RequestId", wireType) + } + var stringLen uint64 + 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++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + x.RequestId = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Identity", wireType) + } + var stringLen uint64 + 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++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + x.Identity = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 3: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Requester", wireType) + } + var stringLen uint64 + 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++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + x.Requester = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 4: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field SecpPubkey", wireType) + } + var stringLen uint64 + 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++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + x.SecpPubkey = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := runtime.Skip(dAtA[iNdEx:]) + if err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if !options.DiscardUnknown { + x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + } + iNdEx += skippy + } + } + + if iNdEx > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil + } + return &protoiface.Methods{ + NoUnkeyedLiterals: struct{}{}, + Flags: protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown, + Size: size, + Marshal: marshal, + Unmarshal: unmarshal, + Merge: nil, + CheckInitialized: nil, + } +} + +var ( + md_GetPrivateKeyshareResponse protoreflect.MessageDescriptor + fd_GetPrivateKeyshareResponse_pubkey protoreflect.FieldDescriptor +) + +func init() { + file_fairyring_common_shared_types_proto_init() + md_GetPrivateKeyshareResponse = File_fairyring_common_shared_types_proto.Messages().ByName("GetPrivateKeyshareResponse") + fd_GetPrivateKeyshareResponse_pubkey = md_GetPrivateKeyshareResponse.Fields().ByName("pubkey") +} + +var _ protoreflect.Message = (*fastReflection_GetPrivateKeyshareResponse)(nil) + +type fastReflection_GetPrivateKeyshareResponse GetPrivateKeyshareResponse + +func (x *GetPrivateKeyshareResponse) ProtoReflect() protoreflect.Message { + return (*fastReflection_GetPrivateKeyshareResponse)(x) +} + +func (x *GetPrivateKeyshareResponse) slowProtoReflect() protoreflect.Message { + mi := &file_fairyring_common_shared_types_proto_msgTypes[5] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +var _fastReflection_GetPrivateKeyshareResponse_messageType fastReflection_GetPrivateKeyshareResponse_messageType +var _ protoreflect.MessageType = fastReflection_GetPrivateKeyshareResponse_messageType{} + +type fastReflection_GetPrivateKeyshareResponse_messageType struct{} + +func (x fastReflection_GetPrivateKeyshareResponse_messageType) Zero() protoreflect.Message { + return (*fastReflection_GetPrivateKeyshareResponse)(nil) +} +func (x fastReflection_GetPrivateKeyshareResponse_messageType) New() protoreflect.Message { + return new(fastReflection_GetPrivateKeyshareResponse) +} +func (x fastReflection_GetPrivateKeyshareResponse_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_GetPrivateKeyshareResponse +} + +// Descriptor returns message descriptor, which contains only the protobuf +// type information for the message. +func (x *fastReflection_GetPrivateKeyshareResponse) Descriptor() protoreflect.MessageDescriptor { + return md_GetPrivateKeyshareResponse +} + +// Type returns the message type, which encapsulates both Go and protobuf +// type information. If the Go type information is not needed, +// it is recommended that the message descriptor be used instead. +func (x *fastReflection_GetPrivateKeyshareResponse) Type() protoreflect.MessageType { + return _fastReflection_GetPrivateKeyshareResponse_messageType +} + +// New returns a newly allocated and mutable empty message. +func (x *fastReflection_GetPrivateKeyshareResponse) New() protoreflect.Message { + return new(fastReflection_GetPrivateKeyshareResponse) +} + +// Interface unwraps the message reflection interface and +// returns the underlying ProtoMessage interface. +func (x *fastReflection_GetPrivateKeyshareResponse) Interface() protoreflect.ProtoMessage { + return (*GetPrivateKeyshareResponse)(x) +} + +// Range iterates over every populated field in an undefined order, +// calling f for each field descriptor and value encountered. +// Range returns immediately if f returns false. +// While iterating, mutating operations may only be performed +// on the current field descriptor. +func (x *fastReflection_GetPrivateKeyshareResponse) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { + if x.Pubkey != "" { + value := protoreflect.ValueOfString(x.Pubkey) + if !f(fd_GetPrivateKeyshareResponse_pubkey, value) { + return + } + } +} + +// Has reports whether a field is populated. +// +// Some fields have the property of nullability where it is possible to +// distinguish between the default value of a field and whether the field +// was explicitly populated with the default value. Singular message fields, +// member fields of a oneof, and proto2 scalar fields are nullable. Such +// fields are populated only if explicitly set. +// +// In other cases (aside from the nullable cases above), +// a proto3 scalar field is populated if it contains a non-zero value, and +// a repeated field is populated if it is non-empty. +func (x *fastReflection_GetPrivateKeyshareResponse) Has(fd protoreflect.FieldDescriptor) bool { + switch fd.FullName() { + case "fairyring.common.GetPrivateKeyshareResponse.pubkey": + return x.Pubkey != "" + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: fairyring.common.GetPrivateKeyshareResponse")) + } + panic(fmt.Errorf("message fairyring.common.GetPrivateKeyshareResponse does not contain field %s", fd.FullName())) + } +} + +// Clear clears the field such that a subsequent Has call reports false. +// +// Clearing an extension field clears both the extension type and value +// associated with the given field number. +// +// Clear is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_GetPrivateKeyshareResponse) Clear(fd protoreflect.FieldDescriptor) { + switch fd.FullName() { + case "fairyring.common.GetPrivateKeyshareResponse.pubkey": + x.Pubkey = "" + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: fairyring.common.GetPrivateKeyshareResponse")) + } + panic(fmt.Errorf("message fairyring.common.GetPrivateKeyshareResponse does not contain field %s", fd.FullName())) + } +} + +// Get retrieves the value for a field. +// +// For unpopulated scalars, it returns the default value, where +// the default value of a bytes scalar is guaranteed to be a copy. +// For unpopulated composite types, it returns an empty, read-only view +// of the value; to obtain a mutable reference, use Mutable. +func (x *fastReflection_GetPrivateKeyshareResponse) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { + switch descriptor.FullName() { + case "fairyring.common.GetPrivateKeyshareResponse.pubkey": + value := x.Pubkey + return protoreflect.ValueOfString(value) + default: + if descriptor.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: fairyring.common.GetPrivateKeyshareResponse")) + } + panic(fmt.Errorf("message fairyring.common.GetPrivateKeyshareResponse does not contain field %s", descriptor.FullName())) + } +} + +// Set stores the value for a field. +// +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType. +// When setting a composite type, it is unspecified whether the stored value +// aliases the source's memory in any way. If the composite value is an +// empty, read-only value, then it panics. +// +// Set is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_GetPrivateKeyshareResponse) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { + switch fd.FullName() { + case "fairyring.common.GetPrivateKeyshareResponse.pubkey": + x.Pubkey = value.Interface().(string) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: fairyring.common.GetPrivateKeyshareResponse")) + } + panic(fmt.Errorf("message fairyring.common.GetPrivateKeyshareResponse does not contain field %s", fd.FullName())) + } +} + +// Mutable returns a mutable reference to a composite type. +// +// If the field is unpopulated, it may allocate a composite value. +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType +// if not already stored. +// It panics if the field does not contain a composite type. +// +// Mutable is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_GetPrivateKeyshareResponse) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "fairyring.common.GetPrivateKeyshareResponse.pubkey": + panic(fmt.Errorf("field pubkey of message fairyring.common.GetPrivateKeyshareResponse is not mutable")) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: fairyring.common.GetPrivateKeyshareResponse")) + } + panic(fmt.Errorf("message fairyring.common.GetPrivateKeyshareResponse does not contain field %s", fd.FullName())) + } +} + +// NewField returns a new value that is assignable to the field +// for the given descriptor. For scalars, this returns the default value. +// For lists, maps, and messages, this returns a new, empty, mutable value. +func (x *fastReflection_GetPrivateKeyshareResponse) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "fairyring.common.GetPrivateKeyshareResponse.pubkey": + return protoreflect.ValueOfString("") + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: fairyring.common.GetPrivateKeyshareResponse")) + } + panic(fmt.Errorf("message fairyring.common.GetPrivateKeyshareResponse does not contain field %s", fd.FullName())) + } +} + +// WhichOneof reports which field within the oneof is populated, +// returning nil if none are populated. +// It panics if the oneof descriptor does not belong to this message. +func (x *fastReflection_GetPrivateKeyshareResponse) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { + switch d.FullName() { + default: + panic(fmt.Errorf("%s is not a oneof field in fairyring.common.GetPrivateKeyshareResponse", d.FullName())) + } + panic("unreachable") +} + +// GetUnknown retrieves the entire list of unknown fields. +// The caller may only mutate the contents of the RawFields +// if the mutated bytes are stored back into the message with SetUnknown. +func (x *fastReflection_GetPrivateKeyshareResponse) GetUnknown() protoreflect.RawFields { + return x.unknownFields +} + +// SetUnknown stores an entire list of unknown fields. +// The raw fields must be syntactically valid according to the wire format. +// An implementation may panic if this is not the case. +// Once stored, the caller must not mutate the content of the RawFields. +// An empty RawFields may be passed to clear the fields. +// +// SetUnknown is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_GetPrivateKeyshareResponse) SetUnknown(fields protoreflect.RawFields) { + x.unknownFields = fields +} + +// IsValid reports whether the message is valid. +// +// An invalid message is an empty, read-only value. +// +// An invalid message often corresponds to a nil pointer of the concrete +// message type, but the details are implementation dependent. +// Validity is not part of the protobuf data model, and may not +// be preserved in marshaling or other operations. +func (x *fastReflection_GetPrivateKeyshareResponse) IsValid() bool { + return x != nil +} + +// ProtoMethods returns optional fastReflectionFeature-path implementations of various operations. +// This method may return nil. +// +// The returned methods type is identical to +// "google.golang.org/protobuf/runtime/protoiface".Methods. +// Consult the protoiface package documentation for details. +func (x *fastReflection_GetPrivateKeyshareResponse) ProtoMethods() *protoiface.Methods { + size := func(input protoiface.SizeInput) protoiface.SizeOutput { + x := input.Message.Interface().(*GetPrivateKeyshareResponse) + if x == nil { + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: 0, + } + } + options := runtime.SizeInputToOptions(input) + _ = options + var n int + var l int + _ = l + l = len(x.Pubkey) + if l > 0 { + n += 1 + l + runtime.Sov(uint64(l)) + } + if x.unknownFields != nil { + n += len(x.unknownFields) + } + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: n, + } + } + + marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { + x := input.Message.Interface().(*GetPrivateKeyshareResponse) + if x == nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + options := runtime.MarshalInputToOptions(input) + _ = options + size := options.Size(x) + dAtA := make([]byte, size) + i := len(dAtA) + _ = i + var l int + _ = l + if x.unknownFields != nil { + i -= len(x.unknownFields) + copy(dAtA[i:], x.unknownFields) + } + if len(x.Pubkey) > 0 { + i -= len(x.Pubkey) + copy(dAtA[i:], x.Pubkey) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Pubkey))) + i-- + dAtA[i] = 0xa + } + if input.Buf != nil { + input.Buf = append(input.Buf, dAtA...) + } else { + input.Buf = dAtA + } + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { + x := input.Message.Interface().(*GetPrivateKeyshareResponse) + if x == nil { + return protoiface.UnmarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Flags: input.Flags, + }, nil + } + options := runtime.UnmarshalInputToOptions(input) + _ = options + dAtA := input.Buf + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + 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++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: GetPrivateKeyshareResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: GetPrivateKeyshareResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Pubkey", wireType) + } + var stringLen uint64 + 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++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + x.Pubkey = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := runtime.Skip(dAtA[iNdEx:]) + if err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if !options.DiscardUnknown { + x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + } + iNdEx += skippy + } + } + + if iNdEx > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil + } + return &protoiface.Methods{ + NoUnkeyedLiterals: struct{}{}, + Flags: protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown, + Size: size, + Marshal: marshal, + Unmarshal: unmarshal, + Merge: nil, + CheckInitialized: nil, + } +} + +var ( + md_ActivePublicKey protoreflect.MessageDescriptor + fd_ActivePublicKey_publicKey protoreflect.FieldDescriptor + fd_ActivePublicKey_creator protoreflect.FieldDescriptor + fd_ActivePublicKey_expiry protoreflect.FieldDescriptor +) + +func init() { + file_fairyring_common_shared_types_proto_init() + md_ActivePublicKey = File_fairyring_common_shared_types_proto.Messages().ByName("ActivePublicKey") + fd_ActivePublicKey_publicKey = md_ActivePublicKey.Fields().ByName("publicKey") + fd_ActivePublicKey_creator = md_ActivePublicKey.Fields().ByName("creator") + fd_ActivePublicKey_expiry = md_ActivePublicKey.Fields().ByName("expiry") +} + +var _ protoreflect.Message = (*fastReflection_ActivePublicKey)(nil) + +type fastReflection_ActivePublicKey ActivePublicKey + +func (x *ActivePublicKey) ProtoReflect() protoreflect.Message { + return (*fastReflection_ActivePublicKey)(x) +} + +func (x *ActivePublicKey) slowProtoReflect() protoreflect.Message { + mi := &file_fairyring_common_shared_types_proto_msgTypes[6] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +var _fastReflection_ActivePublicKey_messageType fastReflection_ActivePublicKey_messageType +var _ protoreflect.MessageType = fastReflection_ActivePublicKey_messageType{} + +type fastReflection_ActivePublicKey_messageType struct{} + +func (x fastReflection_ActivePublicKey_messageType) Zero() protoreflect.Message { + return (*fastReflection_ActivePublicKey)(nil) +} +func (x fastReflection_ActivePublicKey_messageType) New() protoreflect.Message { + return new(fastReflection_ActivePublicKey) +} +func (x fastReflection_ActivePublicKey_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_ActivePublicKey +} + +// Descriptor returns message descriptor, which contains only the protobuf +// type information for the message. +func (x *fastReflection_ActivePublicKey) Descriptor() protoreflect.MessageDescriptor { + return md_ActivePublicKey +} + +// Type returns the message type, which encapsulates both Go and protobuf +// type information. If the Go type information is not needed, +// it is recommended that the message descriptor be used instead. +func (x *fastReflection_ActivePublicKey) Type() protoreflect.MessageType { + return _fastReflection_ActivePublicKey_messageType +} + +// New returns a newly allocated and mutable empty message. +func (x *fastReflection_ActivePublicKey) New() protoreflect.Message { + return new(fastReflection_ActivePublicKey) +} + +// Interface unwraps the message reflection interface and +// returns the underlying ProtoMessage interface. +func (x *fastReflection_ActivePublicKey) Interface() protoreflect.ProtoMessage { + return (*ActivePublicKey)(x) +} + +// Range iterates over every populated field in an undefined order, +// calling f for each field descriptor and value encountered. +// Range returns immediately if f returns false. +// While iterating, mutating operations may only be performed +// on the current field descriptor. +func (x *fastReflection_ActivePublicKey) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { + if x.PublicKey != "" { + value := protoreflect.ValueOfString(x.PublicKey) + if !f(fd_ActivePublicKey_publicKey, value) { + return + } + } + if x.Creator != "" { + value := protoreflect.ValueOfString(x.Creator) + if !f(fd_ActivePublicKey_creator, value) { + return + } + } + if x.Expiry != uint64(0) { + value := protoreflect.ValueOfUint64(x.Expiry) + if !f(fd_ActivePublicKey_expiry, value) { + return + } + } +} + +// Has reports whether a field is populated. +// +// Some fields have the property of nullability where it is possible to +// distinguish between the default value of a field and whether the field +// was explicitly populated with the default value. Singular message fields, +// member fields of a oneof, and proto2 scalar fields are nullable. Such +// fields are populated only if explicitly set. +// +// In other cases (aside from the nullable cases above), +// a proto3 scalar field is populated if it contains a non-zero value, and +// a repeated field is populated if it is non-empty. +func (x *fastReflection_ActivePublicKey) Has(fd protoreflect.FieldDescriptor) bool { + switch fd.FullName() { + case "fairyring.common.ActivePublicKey.publicKey": + return x.PublicKey != "" + case "fairyring.common.ActivePublicKey.creator": + return x.Creator != "" + case "fairyring.common.ActivePublicKey.expiry": + return x.Expiry != uint64(0) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: fairyring.common.ActivePublicKey")) + } + panic(fmt.Errorf("message fairyring.common.ActivePublicKey does not contain field %s", fd.FullName())) + } +} + +// Clear clears the field such that a subsequent Has call reports false. +// +// Clearing an extension field clears both the extension type and value +// associated with the given field number. +// +// Clear is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_ActivePublicKey) Clear(fd protoreflect.FieldDescriptor) { + switch fd.FullName() { + case "fairyring.common.ActivePublicKey.publicKey": + x.PublicKey = "" + case "fairyring.common.ActivePublicKey.creator": + x.Creator = "" + case "fairyring.common.ActivePublicKey.expiry": + x.Expiry = uint64(0) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: fairyring.common.ActivePublicKey")) + } + panic(fmt.Errorf("message fairyring.common.ActivePublicKey does not contain field %s", fd.FullName())) + } +} + +// Get retrieves the value for a field. +// +// For unpopulated scalars, it returns the default value, where +// the default value of a bytes scalar is guaranteed to be a copy. +// For unpopulated composite types, it returns an empty, read-only view +// of the value; to obtain a mutable reference, use Mutable. +func (x *fastReflection_ActivePublicKey) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { + switch descriptor.FullName() { + case "fairyring.common.ActivePublicKey.publicKey": + value := x.PublicKey + return protoreflect.ValueOfString(value) + case "fairyring.common.ActivePublicKey.creator": + value := x.Creator + return protoreflect.ValueOfString(value) + case "fairyring.common.ActivePublicKey.expiry": + value := x.Expiry + return protoreflect.ValueOfUint64(value) + default: + if descriptor.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: fairyring.common.ActivePublicKey")) + } + panic(fmt.Errorf("message fairyring.common.ActivePublicKey does not contain field %s", descriptor.FullName())) + } +} + +// Set stores the value for a field. +// +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType. +// When setting a composite type, it is unspecified whether the stored value +// aliases the source's memory in any way. If the composite value is an +// empty, read-only value, then it panics. +// +// Set is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_ActivePublicKey) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { + switch fd.FullName() { + case "fairyring.common.ActivePublicKey.publicKey": + x.PublicKey = value.Interface().(string) + case "fairyring.common.ActivePublicKey.creator": + x.Creator = value.Interface().(string) + case "fairyring.common.ActivePublicKey.expiry": + x.Expiry = value.Uint() + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: fairyring.common.ActivePublicKey")) + } + panic(fmt.Errorf("message fairyring.common.ActivePublicKey does not contain field %s", fd.FullName())) + } +} + +// Mutable returns a mutable reference to a composite type. +// +// If the field is unpopulated, it may allocate a composite value. +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType +// if not already stored. +// It panics if the field does not contain a composite type. +// +// Mutable is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_ActivePublicKey) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "fairyring.common.ActivePublicKey.publicKey": + panic(fmt.Errorf("field publicKey of message fairyring.common.ActivePublicKey is not mutable")) + case "fairyring.common.ActivePublicKey.creator": + panic(fmt.Errorf("field creator of message fairyring.common.ActivePublicKey is not mutable")) + case "fairyring.common.ActivePublicKey.expiry": + panic(fmt.Errorf("field expiry of message fairyring.common.ActivePublicKey is not mutable")) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: fairyring.common.ActivePublicKey")) + } + panic(fmt.Errorf("message fairyring.common.ActivePublicKey does not contain field %s", fd.FullName())) + } +} + +// NewField returns a new value that is assignable to the field +// for the given descriptor. For scalars, this returns the default value. +// For lists, maps, and messages, this returns a new, empty, mutable value. +func (x *fastReflection_ActivePublicKey) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "fairyring.common.ActivePublicKey.publicKey": + return protoreflect.ValueOfString("") + case "fairyring.common.ActivePublicKey.creator": + return protoreflect.ValueOfString("") + case "fairyring.common.ActivePublicKey.expiry": + return protoreflect.ValueOfUint64(uint64(0)) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: fairyring.common.ActivePublicKey")) + } + panic(fmt.Errorf("message fairyring.common.ActivePublicKey does not contain field %s", fd.FullName())) + } +} + +// WhichOneof reports which field within the oneof is populated, +// returning nil if none are populated. +// It panics if the oneof descriptor does not belong to this message. +func (x *fastReflection_ActivePublicKey) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { + switch d.FullName() { + default: + panic(fmt.Errorf("%s is not a oneof field in fairyring.common.ActivePublicKey", d.FullName())) + } + panic("unreachable") +} + +// GetUnknown retrieves the entire list of unknown fields. +// The caller may only mutate the contents of the RawFields +// if the mutated bytes are stored back into the message with SetUnknown. +func (x *fastReflection_ActivePublicKey) GetUnknown() protoreflect.RawFields { + return x.unknownFields +} + +// SetUnknown stores an entire list of unknown fields. +// The raw fields must be syntactically valid according to the wire format. +// An implementation may panic if this is not the case. +// Once stored, the caller must not mutate the content of the RawFields. +// An empty RawFields may be passed to clear the fields. +// +// SetUnknown is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_ActivePublicKey) SetUnknown(fields protoreflect.RawFields) { + x.unknownFields = fields +} + +// IsValid reports whether the message is valid. +// +// An invalid message is an empty, read-only value. +// +// An invalid message often corresponds to a nil pointer of the concrete +// message type, but the details are implementation dependent. +// Validity is not part of the protobuf data model, and may not +// be preserved in marshaling or other operations. +func (x *fastReflection_ActivePublicKey) IsValid() bool { + return x != nil +} + +// ProtoMethods returns optional fastReflectionFeature-path implementations of various operations. +// This method may return nil. +// +// The returned methods type is identical to +// "google.golang.org/protobuf/runtime/protoiface".Methods. +// Consult the protoiface package documentation for details. +func (x *fastReflection_ActivePublicKey) ProtoMethods() *protoiface.Methods { + size := func(input protoiface.SizeInput) protoiface.SizeOutput { + x := input.Message.Interface().(*ActivePublicKey) + if x == nil { + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: 0, + } + } + options := runtime.SizeInputToOptions(input) + _ = options + var n int + var l int + _ = l + l = len(x.PublicKey) + if l > 0 { + n += 1 + l + runtime.Sov(uint64(l)) + } + l = len(x.Creator) + if l > 0 { + n += 1 + l + runtime.Sov(uint64(l)) + } + if x.Expiry != 0 { + n += 1 + runtime.Sov(uint64(x.Expiry)) + } + if x.unknownFields != nil { + n += len(x.unknownFields) + } + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: n, + } + } + + marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { + x := input.Message.Interface().(*ActivePublicKey) + if x == nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + options := runtime.MarshalInputToOptions(input) + _ = options + size := options.Size(x) + dAtA := make([]byte, size) + i := len(dAtA) + _ = i + var l int + _ = l + if x.unknownFields != nil { + i -= len(x.unknownFields) + copy(dAtA[i:], x.unknownFields) + } + if x.Expiry != 0 { + i = runtime.EncodeVarint(dAtA, i, uint64(x.Expiry)) + i-- + dAtA[i] = 0x18 + } + if len(x.Creator) > 0 { + i -= len(x.Creator) + copy(dAtA[i:], x.Creator) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Creator))) + i-- + dAtA[i] = 0x12 + } + if len(x.PublicKey) > 0 { + i -= len(x.PublicKey) + copy(dAtA[i:], x.PublicKey) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.PublicKey))) + i-- + dAtA[i] = 0xa + } + if input.Buf != nil { + input.Buf = append(input.Buf, dAtA...) + } else { + input.Buf = dAtA + } + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { + x := input.Message.Interface().(*ActivePublicKey) + if x == nil { + return protoiface.UnmarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Flags: input.Flags, + }, nil + } + options := runtime.UnmarshalInputToOptions(input) + _ = options + dAtA := input.Buf + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + 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++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: ActivePublicKey: wiretype end group for non-group") + } + if fieldNum <= 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: ActivePublicKey: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field PublicKey", wireType) + } + var stringLen uint64 + 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++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + x.PublicKey = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Creator", wireType) + } + var stringLen uint64 + 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++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + x.Creator = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 3: + if wireType != 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Expiry", wireType) + } + x.Expiry = 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.Expiry |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + default: + iNdEx = preIndex + skippy, err := runtime.Skip(dAtA[iNdEx:]) + if err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if !options.DiscardUnknown { + x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + } + iNdEx += skippy + } + } + + if iNdEx > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil + } + return &protoiface.Methods{ + NoUnkeyedLiterals: struct{}{}, + Flags: protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown, + Size: size, + Marshal: marshal, + Unmarshal: unmarshal, + Merge: nil, + CheckInitialized: nil, + } +} + +var ( + md_QueuedPublicKey protoreflect.MessageDescriptor + fd_QueuedPublicKey_publicKey protoreflect.FieldDescriptor + fd_QueuedPublicKey_creator protoreflect.FieldDescriptor + fd_QueuedPublicKey_expiry protoreflect.FieldDescriptor +) + +func init() { + file_fairyring_common_shared_types_proto_init() + md_QueuedPublicKey = File_fairyring_common_shared_types_proto.Messages().ByName("QueuedPublicKey") + fd_QueuedPublicKey_publicKey = md_QueuedPublicKey.Fields().ByName("publicKey") + fd_QueuedPublicKey_creator = md_QueuedPublicKey.Fields().ByName("creator") + fd_QueuedPublicKey_expiry = md_QueuedPublicKey.Fields().ByName("expiry") +} + +var _ protoreflect.Message = (*fastReflection_QueuedPublicKey)(nil) + +type fastReflection_QueuedPublicKey QueuedPublicKey + +func (x *QueuedPublicKey) ProtoReflect() protoreflect.Message { + return (*fastReflection_QueuedPublicKey)(x) +} + +func (x *QueuedPublicKey) slowProtoReflect() protoreflect.Message { + mi := &file_fairyring_common_shared_types_proto_msgTypes[7] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +var _fastReflection_QueuedPublicKey_messageType fastReflection_QueuedPublicKey_messageType +var _ protoreflect.MessageType = fastReflection_QueuedPublicKey_messageType{} + +type fastReflection_QueuedPublicKey_messageType struct{} + +func (x fastReflection_QueuedPublicKey_messageType) Zero() protoreflect.Message { + return (*fastReflection_QueuedPublicKey)(nil) +} +func (x fastReflection_QueuedPublicKey_messageType) New() protoreflect.Message { + return new(fastReflection_QueuedPublicKey) +} +func (x fastReflection_QueuedPublicKey_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_QueuedPublicKey +} + +// Descriptor returns message descriptor, which contains only the protobuf +// type information for the message. +func (x *fastReflection_QueuedPublicKey) Descriptor() protoreflect.MessageDescriptor { + return md_QueuedPublicKey +} + +// Type returns the message type, which encapsulates both Go and protobuf +// type information. If the Go type information is not needed, +// it is recommended that the message descriptor be used instead. +func (x *fastReflection_QueuedPublicKey) Type() protoreflect.MessageType { + return _fastReflection_QueuedPublicKey_messageType +} + +// New returns a newly allocated and mutable empty message. +func (x *fastReflection_QueuedPublicKey) New() protoreflect.Message { + return new(fastReflection_QueuedPublicKey) +} + +// Interface unwraps the message reflection interface and +// returns the underlying ProtoMessage interface. +func (x *fastReflection_QueuedPublicKey) Interface() protoreflect.ProtoMessage { + return (*QueuedPublicKey)(x) +} + +// Range iterates over every populated field in an undefined order, +// calling f for each field descriptor and value encountered. +// Range returns immediately if f returns false. +// While iterating, mutating operations may only be performed +// on the current field descriptor. +func (x *fastReflection_QueuedPublicKey) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { + if x.PublicKey != "" { + value := protoreflect.ValueOfString(x.PublicKey) + if !f(fd_QueuedPublicKey_publicKey, value) { + return + } + } + if x.Creator != "" { + value := protoreflect.ValueOfString(x.Creator) + if !f(fd_QueuedPublicKey_creator, value) { + return + } + } + if x.Expiry != uint64(0) { + value := protoreflect.ValueOfUint64(x.Expiry) + if !f(fd_QueuedPublicKey_expiry, value) { + return + } + } +} + +// Has reports whether a field is populated. +// +// Some fields have the property of nullability where it is possible to +// distinguish between the default value of a field and whether the field +// was explicitly populated with the default value. Singular message fields, +// member fields of a oneof, and proto2 scalar fields are nullable. Such +// fields are populated only if explicitly set. +// +// In other cases (aside from the nullable cases above), +// a proto3 scalar field is populated if it contains a non-zero value, and +// a repeated field is populated if it is non-empty. +func (x *fastReflection_QueuedPublicKey) Has(fd protoreflect.FieldDescriptor) bool { + switch fd.FullName() { + case "fairyring.common.QueuedPublicKey.publicKey": + return x.PublicKey != "" + case "fairyring.common.QueuedPublicKey.creator": + return x.Creator != "" + case "fairyring.common.QueuedPublicKey.expiry": + return x.Expiry != uint64(0) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: fairyring.common.QueuedPublicKey")) + } + panic(fmt.Errorf("message fairyring.common.QueuedPublicKey does not contain field %s", fd.FullName())) + } +} + +// Clear clears the field such that a subsequent Has call reports false. +// +// Clearing an extension field clears both the extension type and value +// associated with the given field number. +// +// Clear is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_QueuedPublicKey) Clear(fd protoreflect.FieldDescriptor) { + switch fd.FullName() { + case "fairyring.common.QueuedPublicKey.publicKey": + x.PublicKey = "" + case "fairyring.common.QueuedPublicKey.creator": + x.Creator = "" + case "fairyring.common.QueuedPublicKey.expiry": + x.Expiry = uint64(0) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: fairyring.common.QueuedPublicKey")) + } + panic(fmt.Errorf("message fairyring.common.QueuedPublicKey does not contain field %s", fd.FullName())) + } +} + +// Get retrieves the value for a field. +// +// For unpopulated scalars, it returns the default value, where +// the default value of a bytes scalar is guaranteed to be a copy. +// For unpopulated composite types, it returns an empty, read-only view +// of the value; to obtain a mutable reference, use Mutable. +func (x *fastReflection_QueuedPublicKey) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { + switch descriptor.FullName() { + case "fairyring.common.QueuedPublicKey.publicKey": + value := x.PublicKey + return protoreflect.ValueOfString(value) + case "fairyring.common.QueuedPublicKey.creator": + value := x.Creator + return protoreflect.ValueOfString(value) + case "fairyring.common.QueuedPublicKey.expiry": + value := x.Expiry + return protoreflect.ValueOfUint64(value) + default: + if descriptor.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: fairyring.common.QueuedPublicKey")) + } + panic(fmt.Errorf("message fairyring.common.QueuedPublicKey does not contain field %s", descriptor.FullName())) + } +} + +// Set stores the value for a field. +// +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType. +// When setting a composite type, it is unspecified whether the stored value +// aliases the source's memory in any way. If the composite value is an +// empty, read-only value, then it panics. +// +// Set is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_QueuedPublicKey) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { + switch fd.FullName() { + case "fairyring.common.QueuedPublicKey.publicKey": + x.PublicKey = value.Interface().(string) + case "fairyring.common.QueuedPublicKey.creator": + x.Creator = value.Interface().(string) + case "fairyring.common.QueuedPublicKey.expiry": + x.Expiry = value.Uint() + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: fairyring.common.QueuedPublicKey")) + } + panic(fmt.Errorf("message fairyring.common.QueuedPublicKey does not contain field %s", fd.FullName())) + } +} + +// Mutable returns a mutable reference to a composite type. +// +// If the field is unpopulated, it may allocate a composite value. +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType +// if not already stored. +// It panics if the field does not contain a composite type. +// +// Mutable is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_QueuedPublicKey) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "fairyring.common.QueuedPublicKey.publicKey": + panic(fmt.Errorf("field publicKey of message fairyring.common.QueuedPublicKey is not mutable")) + case "fairyring.common.QueuedPublicKey.creator": + panic(fmt.Errorf("field creator of message fairyring.common.QueuedPublicKey is not mutable")) + case "fairyring.common.QueuedPublicKey.expiry": + panic(fmt.Errorf("field expiry of message fairyring.common.QueuedPublicKey is not mutable")) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: fairyring.common.QueuedPublicKey")) + } + panic(fmt.Errorf("message fairyring.common.QueuedPublicKey does not contain field %s", fd.FullName())) + } +} + +// NewField returns a new value that is assignable to the field +// for the given descriptor. For scalars, this returns the default value. +// For lists, maps, and messages, this returns a new, empty, mutable value. +func (x *fastReflection_QueuedPublicKey) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "fairyring.common.QueuedPublicKey.publicKey": + return protoreflect.ValueOfString("") + case "fairyring.common.QueuedPublicKey.creator": + return protoreflect.ValueOfString("") + case "fairyring.common.QueuedPublicKey.expiry": + return protoreflect.ValueOfUint64(uint64(0)) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: fairyring.common.QueuedPublicKey")) + } + panic(fmt.Errorf("message fairyring.common.QueuedPublicKey does not contain field %s", fd.FullName())) + } +} + +// WhichOneof reports which field within the oneof is populated, +// returning nil if none are populated. +// It panics if the oneof descriptor does not belong to this message. +func (x *fastReflection_QueuedPublicKey) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { + switch d.FullName() { + default: + panic(fmt.Errorf("%s is not a oneof field in fairyring.common.QueuedPublicKey", d.FullName())) + } + panic("unreachable") +} + +// GetUnknown retrieves the entire list of unknown fields. +// The caller may only mutate the contents of the RawFields +// if the mutated bytes are stored back into the message with SetUnknown. +func (x *fastReflection_QueuedPublicKey) GetUnknown() protoreflect.RawFields { + return x.unknownFields +} + +// SetUnknown stores an entire list of unknown fields. +// The raw fields must be syntactically valid according to the wire format. +// An implementation may panic if this is not the case. +// Once stored, the caller must not mutate the content of the RawFields. +// An empty RawFields may be passed to clear the fields. +// +// SetUnknown is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_QueuedPublicKey) SetUnknown(fields protoreflect.RawFields) { + x.unknownFields = fields +} + +// IsValid reports whether the message is valid. +// +// An invalid message is an empty, read-only value. +// +// An invalid message often corresponds to a nil pointer of the concrete +// message type, but the details are implementation dependent. +// Validity is not part of the protobuf data model, and may not +// be preserved in marshaling or other operations. +func (x *fastReflection_QueuedPublicKey) IsValid() bool { + return x != nil +} + +// ProtoMethods returns optional fastReflectionFeature-path implementations of various operations. +// This method may return nil. +// +// The returned methods type is identical to +// "google.golang.org/protobuf/runtime/protoiface".Methods. +// Consult the protoiface package documentation for details. +func (x *fastReflection_QueuedPublicKey) ProtoMethods() *protoiface.Methods { + size := func(input protoiface.SizeInput) protoiface.SizeOutput { + x := input.Message.Interface().(*QueuedPublicKey) + if x == nil { + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: 0, + } + } + options := runtime.SizeInputToOptions(input) + _ = options + var n int + var l int + _ = l + l = len(x.PublicKey) + if l > 0 { + n += 1 + l + runtime.Sov(uint64(l)) + } + l = len(x.Creator) + if l > 0 { + n += 1 + l + runtime.Sov(uint64(l)) + } + if x.Expiry != 0 { + n += 1 + runtime.Sov(uint64(x.Expiry)) + } + if x.unknownFields != nil { + n += len(x.unknownFields) + } + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: n, + } + } + + marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { + x := input.Message.Interface().(*QueuedPublicKey) + if x == nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + options := runtime.MarshalInputToOptions(input) + _ = options + size := options.Size(x) + dAtA := make([]byte, size) + i := len(dAtA) + _ = i + var l int + _ = l + if x.unknownFields != nil { + i -= len(x.unknownFields) + copy(dAtA[i:], x.unknownFields) + } + if x.Expiry != 0 { + i = runtime.EncodeVarint(dAtA, i, uint64(x.Expiry)) + i-- + dAtA[i] = 0x18 + } + if len(x.Creator) > 0 { + i -= len(x.Creator) + copy(dAtA[i:], x.Creator) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Creator))) + i-- + dAtA[i] = 0x12 + } + if len(x.PublicKey) > 0 { + i -= len(x.PublicKey) + copy(dAtA[i:], x.PublicKey) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.PublicKey))) + i-- + dAtA[i] = 0xa + } + if input.Buf != nil { + input.Buf = append(input.Buf, dAtA...) + } else { + input.Buf = dAtA + } + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { + x := input.Message.Interface().(*QueuedPublicKey) + if x == nil { + return protoiface.UnmarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Flags: input.Flags, + }, nil + } + options := runtime.UnmarshalInputToOptions(input) + _ = options + dAtA := input.Buf + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + 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++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: QueuedPublicKey: wiretype end group for non-group") + } + if fieldNum <= 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: QueuedPublicKey: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field PublicKey", wireType) + } + var stringLen uint64 + 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++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + x.PublicKey = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Creator", wireType) + } + var stringLen uint64 + 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++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + x.Creator = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 3: + if wireType != 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Expiry", wireType) + } + x.Expiry = 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.Expiry |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + default: + iNdEx = preIndex + skippy, err := runtime.Skip(dAtA[iNdEx:]) + if err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if !options.DiscardUnknown { + x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + } + iNdEx += skippy + } + } + + if iNdEx > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil + } + return &protoiface.Methods{ + NoUnkeyedLiterals: struct{}{}, + Flags: protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown, + Size: size, + Marshal: marshal, + Unmarshal: unmarshal, + Merge: nil, + CheckInitialized: nil, + } +} + +var ( + md_RequestPrivateKeyshare protoreflect.MessageDescriptor + fd_RequestPrivateKeyshare_creator protoreflect.FieldDescriptor + fd_RequestPrivateKeyshare_request_id protoreflect.FieldDescriptor +) + +func init() { + file_fairyring_common_shared_types_proto_init() + md_RequestPrivateKeyshare = File_fairyring_common_shared_types_proto.Messages().ByName("RequestPrivateKeyshare") + fd_RequestPrivateKeyshare_creator = md_RequestPrivateKeyshare.Fields().ByName("creator") + fd_RequestPrivateKeyshare_request_id = md_RequestPrivateKeyshare.Fields().ByName("request_id") +} + +var _ protoreflect.Message = (*fastReflection_RequestPrivateKeyshare)(nil) + +type fastReflection_RequestPrivateKeyshare RequestPrivateKeyshare + +func (x *RequestPrivateKeyshare) ProtoReflect() protoreflect.Message { + return (*fastReflection_RequestPrivateKeyshare)(x) +} + +func (x *RequestPrivateKeyshare) slowProtoReflect() protoreflect.Message { + mi := &file_fairyring_common_shared_types_proto_msgTypes[8] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +var _fastReflection_RequestPrivateKeyshare_messageType fastReflection_RequestPrivateKeyshare_messageType +var _ protoreflect.MessageType = fastReflection_RequestPrivateKeyshare_messageType{} + +type fastReflection_RequestPrivateKeyshare_messageType struct{} + +func (x fastReflection_RequestPrivateKeyshare_messageType) Zero() protoreflect.Message { + return (*fastReflection_RequestPrivateKeyshare)(nil) +} +func (x fastReflection_RequestPrivateKeyshare_messageType) New() protoreflect.Message { + return new(fastReflection_RequestPrivateKeyshare) +} +func (x fastReflection_RequestPrivateKeyshare_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_RequestPrivateKeyshare +} + +// Descriptor returns message descriptor, which contains only the protobuf +// type information for the message. +func (x *fastReflection_RequestPrivateKeyshare) Descriptor() protoreflect.MessageDescriptor { + return md_RequestPrivateKeyshare +} + +// Type returns the message type, which encapsulates both Go and protobuf +// type information. If the Go type information is not needed, +// it is recommended that the message descriptor be used instead. +func (x *fastReflection_RequestPrivateKeyshare) Type() protoreflect.MessageType { + return _fastReflection_RequestPrivateKeyshare_messageType +} + +// New returns a newly allocated and mutable empty message. +func (x *fastReflection_RequestPrivateKeyshare) New() protoreflect.Message { + return new(fastReflection_RequestPrivateKeyshare) +} + +// Interface unwraps the message reflection interface and +// returns the underlying ProtoMessage interface. +func (x *fastReflection_RequestPrivateKeyshare) Interface() protoreflect.ProtoMessage { + return (*RequestPrivateKeyshare)(x) +} + +// Range iterates over every populated field in an undefined order, +// calling f for each field descriptor and value encountered. +// Range returns immediately if f returns false. +// While iterating, mutating operations may only be performed +// on the current field descriptor. +func (x *fastReflection_RequestPrivateKeyshare) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { + if x.Creator != "" { + value := protoreflect.ValueOfString(x.Creator) + if !f(fd_RequestPrivateKeyshare_creator, value) { + return + } + } + if x.RequestId != "" { + value := protoreflect.ValueOfString(x.RequestId) + if !f(fd_RequestPrivateKeyshare_request_id, value) { + return + } + } +} + +// Has reports whether a field is populated. +// +// Some fields have the property of nullability where it is possible to +// distinguish between the default value of a field and whether the field +// was explicitly populated with the default value. Singular message fields, +// member fields of a oneof, and proto2 scalar fields are nullable. Such +// fields are populated only if explicitly set. +// +// In other cases (aside from the nullable cases above), +// a proto3 scalar field is populated if it contains a non-zero value, and +// a repeated field is populated if it is non-empty. +func (x *fastReflection_RequestPrivateKeyshare) Has(fd protoreflect.FieldDescriptor) bool { + switch fd.FullName() { + case "fairyring.common.RequestPrivateKeyshare.creator": + return x.Creator != "" + case "fairyring.common.RequestPrivateKeyshare.request_id": + return x.RequestId != "" + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: fairyring.common.RequestPrivateKeyshare")) + } + panic(fmt.Errorf("message fairyring.common.RequestPrivateKeyshare does not contain field %s", fd.FullName())) + } +} + +// Clear clears the field such that a subsequent Has call reports false. +// +// Clearing an extension field clears both the extension type and value +// associated with the given field number. +// +// Clear is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_RequestPrivateKeyshare) Clear(fd protoreflect.FieldDescriptor) { + switch fd.FullName() { + case "fairyring.common.RequestPrivateKeyshare.creator": + x.Creator = "" + case "fairyring.common.RequestPrivateKeyshare.request_id": + x.RequestId = "" + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: fairyring.common.RequestPrivateKeyshare")) + } + panic(fmt.Errorf("message fairyring.common.RequestPrivateKeyshare does not contain field %s", fd.FullName())) + } +} + +// Get retrieves the value for a field. +// +// For unpopulated scalars, it returns the default value, where +// the default value of a bytes scalar is guaranteed to be a copy. +// For unpopulated composite types, it returns an empty, read-only view +// of the value; to obtain a mutable reference, use Mutable. +func (x *fastReflection_RequestPrivateKeyshare) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { + switch descriptor.FullName() { + case "fairyring.common.RequestPrivateKeyshare.creator": + value := x.Creator + return protoreflect.ValueOfString(value) + case "fairyring.common.RequestPrivateKeyshare.request_id": + value := x.RequestId + return protoreflect.ValueOfString(value) + default: + if descriptor.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: fairyring.common.RequestPrivateKeyshare")) + } + panic(fmt.Errorf("message fairyring.common.RequestPrivateKeyshare does not contain field %s", descriptor.FullName())) + } +} + +// Set stores the value for a field. +// +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType. +// When setting a composite type, it is unspecified whether the stored value +// aliases the source's memory in any way. If the composite value is an +// empty, read-only value, then it panics. +// +// Set is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_RequestPrivateKeyshare) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { + switch fd.FullName() { + case "fairyring.common.RequestPrivateKeyshare.creator": + x.Creator = value.Interface().(string) + case "fairyring.common.RequestPrivateKeyshare.request_id": + x.RequestId = value.Interface().(string) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: fairyring.common.RequestPrivateKeyshare")) + } + panic(fmt.Errorf("message fairyring.common.RequestPrivateKeyshare does not contain field %s", fd.FullName())) + } +} + +// Mutable returns a mutable reference to a composite type. +// +// If the field is unpopulated, it may allocate a composite value. +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType +// if not already stored. +// It panics if the field does not contain a composite type. +// +// Mutable is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_RequestPrivateKeyshare) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "fairyring.common.RequestPrivateKeyshare.creator": + panic(fmt.Errorf("field creator of message fairyring.common.RequestPrivateKeyshare is not mutable")) + case "fairyring.common.RequestPrivateKeyshare.request_id": + panic(fmt.Errorf("field request_id of message fairyring.common.RequestPrivateKeyshare is not mutable")) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: fairyring.common.RequestPrivateKeyshare")) + } + panic(fmt.Errorf("message fairyring.common.RequestPrivateKeyshare does not contain field %s", fd.FullName())) + } +} + +// NewField returns a new value that is assignable to the field +// for the given descriptor. For scalars, this returns the default value. +// For lists, maps, and messages, this returns a new, empty, mutable value. +func (x *fastReflection_RequestPrivateKeyshare) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "fairyring.common.RequestPrivateKeyshare.creator": + return protoreflect.ValueOfString("") + case "fairyring.common.RequestPrivateKeyshare.request_id": + return protoreflect.ValueOfString("") + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: fairyring.common.RequestPrivateKeyshare")) + } + panic(fmt.Errorf("message fairyring.common.RequestPrivateKeyshare does not contain field %s", fd.FullName())) + } +} + +// WhichOneof reports which field within the oneof is populated, +// returning nil if none are populated. +// It panics if the oneof descriptor does not belong to this message. +func (x *fastReflection_RequestPrivateKeyshare) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { + switch d.FullName() { + default: + panic(fmt.Errorf("%s is not a oneof field in fairyring.common.RequestPrivateKeyshare", d.FullName())) + } + panic("unreachable") +} + +// GetUnknown retrieves the entire list of unknown fields. +// The caller may only mutate the contents of the RawFields +// if the mutated bytes are stored back into the message with SetUnknown. +func (x *fastReflection_RequestPrivateKeyshare) GetUnknown() protoreflect.RawFields { + return x.unknownFields +} + +// SetUnknown stores an entire list of unknown fields. +// The raw fields must be syntactically valid according to the wire format. +// An implementation may panic if this is not the case. +// Once stored, the caller must not mutate the content of the RawFields. +// An empty RawFields may be passed to clear the fields. +// +// SetUnknown is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_RequestPrivateKeyshare) SetUnknown(fields protoreflect.RawFields) { + x.unknownFields = fields +} + +// IsValid reports whether the message is valid. +// +// An invalid message is an empty, read-only value. +// +// An invalid message often corresponds to a nil pointer of the concrete +// message type, but the details are implementation dependent. +// Validity is not part of the protobuf data model, and may not +// be preserved in marshaling or other operations. +func (x *fastReflection_RequestPrivateKeyshare) IsValid() bool { + return x != nil +} + +// ProtoMethods returns optional fastReflectionFeature-path implementations of various operations. +// This method may return nil. +// +// The returned methods type is identical to +// "google.golang.org/protobuf/runtime/protoiface".Methods. +// Consult the protoiface package documentation for details. +func (x *fastReflection_RequestPrivateKeyshare) ProtoMethods() *protoiface.Methods { + size := func(input protoiface.SizeInput) protoiface.SizeOutput { + x := input.Message.Interface().(*RequestPrivateKeyshare) + if x == nil { + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: 0, + } + } + options := runtime.SizeInputToOptions(input) + _ = options + var n int + var l int + _ = l + l = len(x.Creator) + if l > 0 { + n += 1 + l + runtime.Sov(uint64(l)) + } + l = len(x.RequestId) + if l > 0 { + n += 1 + l + runtime.Sov(uint64(l)) + } + if x.unknownFields != nil { + n += len(x.unknownFields) + } + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: n, + } + } + + marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { + x := input.Message.Interface().(*RequestPrivateKeyshare) + if x == nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + options := runtime.MarshalInputToOptions(input) + _ = options + size := options.Size(x) + dAtA := make([]byte, size) + i := len(dAtA) + _ = i + var l int + _ = l + if x.unknownFields != nil { + i -= len(x.unknownFields) + copy(dAtA[i:], x.unknownFields) + } + if len(x.RequestId) > 0 { + i -= len(x.RequestId) + copy(dAtA[i:], x.RequestId) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.RequestId))) + i-- + dAtA[i] = 0x12 + } + if len(x.Creator) > 0 { + i -= len(x.Creator) + copy(dAtA[i:], x.Creator) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Creator))) + i-- + dAtA[i] = 0xa + } + if input.Buf != nil { + input.Buf = append(input.Buf, dAtA...) + } else { + input.Buf = dAtA + } + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { + x := input.Message.Interface().(*RequestPrivateKeyshare) + if x == nil { + return protoiface.UnmarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Flags: input.Flags, + }, nil + } + options := runtime.UnmarshalInputToOptions(input) + _ = options + dAtA := input.Buf + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + 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++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: RequestPrivateKeyshare: wiretype end group for non-group") + } + if fieldNum <= 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: RequestPrivateKeyshare: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Creator", wireType) + } + var stringLen uint64 + 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++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + x.Creator = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field RequestId", wireType) + } + var stringLen uint64 + 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++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + x.RequestId = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := runtime.Skip(dAtA[iNdEx:]) + if err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if !options.DiscardUnknown { + x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + } + iNdEx += skippy + } + } + + if iNdEx > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil + } + return &protoiface.Methods{ + NoUnkeyedLiterals: struct{}{}, + Flags: protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown, + Size: size, + Marshal: marshal, + Unmarshal: unmarshal, + Merge: nil, + CheckInitialized: nil, + } +} + +var _ protoreflect.List = (*_EncryptedKeyshare_2_list)(nil) + +type _EncryptedKeyshare_2_list struct { + list *[]*IndexedEncryptedKeyshare +} + +func (x *_EncryptedKeyshare_2_list) Len() int { + if x.list == nil { + return 0 + } + return len(*x.list) +} + +func (x *_EncryptedKeyshare_2_list) Get(i int) protoreflect.Value { + return protoreflect.ValueOfMessage((*x.list)[i].ProtoReflect()) +} + +func (x *_EncryptedKeyshare_2_list) Set(i int, value protoreflect.Value) { + valueUnwrapped := value.Message() + concreteValue := valueUnwrapped.Interface().(*IndexedEncryptedKeyshare) + (*x.list)[i] = concreteValue +} + +func (x *_EncryptedKeyshare_2_list) Append(value protoreflect.Value) { + valueUnwrapped := value.Message() + concreteValue := valueUnwrapped.Interface().(*IndexedEncryptedKeyshare) + *x.list = append(*x.list, concreteValue) +} + +func (x *_EncryptedKeyshare_2_list) AppendMutable() protoreflect.Value { + v := new(IndexedEncryptedKeyshare) + *x.list = append(*x.list, v) + return protoreflect.ValueOfMessage(v.ProtoReflect()) +} + +func (x *_EncryptedKeyshare_2_list) Truncate(n int) { + for i := n; i < len(*x.list); i++ { + (*x.list)[i] = nil + } + *x.list = (*x.list)[:n] +} + +func (x *_EncryptedKeyshare_2_list) NewElement() protoreflect.Value { + v := new(IndexedEncryptedKeyshare) + return protoreflect.ValueOfMessage(v.ProtoReflect()) +} + +func (x *_EncryptedKeyshare_2_list) IsValid() bool { + return x.list != nil +} + +var ( + md_EncryptedKeyshare protoreflect.MessageDescriptor + fd_EncryptedKeyshare_requester protoreflect.FieldDescriptor + fd_EncryptedKeyshare_private_keyshares protoreflect.FieldDescriptor +) + +func init() { + file_fairyring_common_shared_types_proto_init() + md_EncryptedKeyshare = File_fairyring_common_shared_types_proto.Messages().ByName("EncryptedKeyshare") + fd_EncryptedKeyshare_requester = md_EncryptedKeyshare.Fields().ByName("requester") + fd_EncryptedKeyshare_private_keyshares = md_EncryptedKeyshare.Fields().ByName("private_keyshares") +} + +var _ protoreflect.Message = (*fastReflection_EncryptedKeyshare)(nil) + +type fastReflection_EncryptedKeyshare EncryptedKeyshare + +func (x *EncryptedKeyshare) ProtoReflect() protoreflect.Message { + return (*fastReflection_EncryptedKeyshare)(x) +} + +func (x *EncryptedKeyshare) slowProtoReflect() protoreflect.Message { + mi := &file_fairyring_common_shared_types_proto_msgTypes[9] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +var _fastReflection_EncryptedKeyshare_messageType fastReflection_EncryptedKeyshare_messageType +var _ protoreflect.MessageType = fastReflection_EncryptedKeyshare_messageType{} + +type fastReflection_EncryptedKeyshare_messageType struct{} + +func (x fastReflection_EncryptedKeyshare_messageType) Zero() protoreflect.Message { + return (*fastReflection_EncryptedKeyshare)(nil) +} +func (x fastReflection_EncryptedKeyshare_messageType) New() protoreflect.Message { + return new(fastReflection_EncryptedKeyshare) +} +func (x fastReflection_EncryptedKeyshare_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_EncryptedKeyshare +} + +// Descriptor returns message descriptor, which contains only the protobuf +// type information for the message. +func (x *fastReflection_EncryptedKeyshare) Descriptor() protoreflect.MessageDescriptor { + return md_EncryptedKeyshare +} + +// Type returns the message type, which encapsulates both Go and protobuf +// type information. If the Go type information is not needed, +// it is recommended that the message descriptor be used instead. +func (x *fastReflection_EncryptedKeyshare) Type() protoreflect.MessageType { + return _fastReflection_EncryptedKeyshare_messageType +} + +// New returns a newly allocated and mutable empty message. +func (x *fastReflection_EncryptedKeyshare) New() protoreflect.Message { + return new(fastReflection_EncryptedKeyshare) +} + +// Interface unwraps the message reflection interface and +// returns the underlying ProtoMessage interface. +func (x *fastReflection_EncryptedKeyshare) Interface() protoreflect.ProtoMessage { + return (*EncryptedKeyshare)(x) +} + +// Range iterates over every populated field in an undefined order, +// calling f for each field descriptor and value encountered. +// Range returns immediately if f returns false. +// While iterating, mutating operations may only be performed +// on the current field descriptor. +func (x *fastReflection_EncryptedKeyshare) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { + if x.Requester != "" { + value := protoreflect.ValueOfString(x.Requester) + if !f(fd_EncryptedKeyshare_requester, value) { return } } - if x.Expiry != uint64(0) { - value := protoreflect.ValueOfUint64(x.Expiry) - if !f(fd_ActivePublicKey_expiry, value) { + if len(x.PrivateKeyshares) != 0 { + value := protoreflect.ValueOfList(&_EncryptedKeyshare_2_list{list: &x.PrivateKeyshares}) + if !f(fd_EncryptedKeyshare_private_keyshares, value) { return } } @@ -2228,19 +4851,17 @@ func (x *fastReflection_ActivePublicKey) Range(f func(protoreflect.FieldDescript // In other cases (aside from the nullable cases above), // a proto3 scalar field is populated if it contains a non-zero value, and // a repeated field is populated if it is non-empty. -func (x *fastReflection_ActivePublicKey) Has(fd protoreflect.FieldDescriptor) bool { +func (x *fastReflection_EncryptedKeyshare) Has(fd protoreflect.FieldDescriptor) bool { switch fd.FullName() { - case "fairyring.common.ActivePublicKey.publicKey": - return x.PublicKey != "" - case "fairyring.common.ActivePublicKey.creator": - return x.Creator != "" - case "fairyring.common.ActivePublicKey.expiry": - return x.Expiry != uint64(0) + case "fairyring.common.EncryptedKeyshare.requester": + return x.Requester != "" + case "fairyring.common.EncryptedKeyshare.private_keyshares": + return len(x.PrivateKeyshares) != 0 default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: fairyring.common.ActivePublicKey")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: fairyring.common.EncryptedKeyshare")) } - panic(fmt.Errorf("message fairyring.common.ActivePublicKey does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message fairyring.common.EncryptedKeyshare does not contain field %s", fd.FullName())) } } @@ -2250,19 +4871,17 @@ func (x *fastReflection_ActivePublicKey) Has(fd protoreflect.FieldDescriptor) bo // associated with the given field number. // // Clear is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_ActivePublicKey) Clear(fd protoreflect.FieldDescriptor) { +func (x *fastReflection_EncryptedKeyshare) Clear(fd protoreflect.FieldDescriptor) { switch fd.FullName() { - case "fairyring.common.ActivePublicKey.publicKey": - x.PublicKey = "" - case "fairyring.common.ActivePublicKey.creator": - x.Creator = "" - case "fairyring.common.ActivePublicKey.expiry": - x.Expiry = uint64(0) + case "fairyring.common.EncryptedKeyshare.requester": + x.Requester = "" + case "fairyring.common.EncryptedKeyshare.private_keyshares": + x.PrivateKeyshares = nil default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: fairyring.common.ActivePublicKey")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: fairyring.common.EncryptedKeyshare")) } - panic(fmt.Errorf("message fairyring.common.ActivePublicKey does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message fairyring.common.EncryptedKeyshare does not contain field %s", fd.FullName())) } } @@ -2272,22 +4891,22 @@ func (x *fastReflection_ActivePublicKey) Clear(fd protoreflect.FieldDescriptor) // the default value of a bytes scalar is guaranteed to be a copy. // For unpopulated composite types, it returns an empty, read-only view // of the value; to obtain a mutable reference, use Mutable. -func (x *fastReflection_ActivePublicKey) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { +func (x *fastReflection_EncryptedKeyshare) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { switch descriptor.FullName() { - case "fairyring.common.ActivePublicKey.publicKey": - value := x.PublicKey + case "fairyring.common.EncryptedKeyshare.requester": + value := x.Requester return protoreflect.ValueOfString(value) - case "fairyring.common.ActivePublicKey.creator": - value := x.Creator - return protoreflect.ValueOfString(value) - case "fairyring.common.ActivePublicKey.expiry": - value := x.Expiry - return protoreflect.ValueOfUint64(value) + case "fairyring.common.EncryptedKeyshare.private_keyshares": + if len(x.PrivateKeyshares) == 0 { + return protoreflect.ValueOfList(&_EncryptedKeyshare_2_list{}) + } + listValue := &_EncryptedKeyshare_2_list{list: &x.PrivateKeyshares} + return protoreflect.ValueOfList(listValue) default: if descriptor.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: fairyring.common.ActivePublicKey")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: fairyring.common.EncryptedKeyshare")) } - panic(fmt.Errorf("message fairyring.common.ActivePublicKey does not contain field %s", descriptor.FullName())) + panic(fmt.Errorf("message fairyring.common.EncryptedKeyshare does not contain field %s", descriptor.FullName())) } } @@ -2301,19 +4920,19 @@ func (x *fastReflection_ActivePublicKey) Get(descriptor protoreflect.FieldDescri // empty, read-only value, then it panics. // // Set is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_ActivePublicKey) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { +func (x *fastReflection_EncryptedKeyshare) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { switch fd.FullName() { - case "fairyring.common.ActivePublicKey.publicKey": - x.PublicKey = value.Interface().(string) - case "fairyring.common.ActivePublicKey.creator": - x.Creator = value.Interface().(string) - case "fairyring.common.ActivePublicKey.expiry": - x.Expiry = value.Uint() + case "fairyring.common.EncryptedKeyshare.requester": + x.Requester = value.Interface().(string) + case "fairyring.common.EncryptedKeyshare.private_keyshares": + lv := value.List() + clv := lv.(*_EncryptedKeyshare_2_list) + x.PrivateKeyshares = *clv.list default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: fairyring.common.ActivePublicKey")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: fairyring.common.EncryptedKeyshare")) } - panic(fmt.Errorf("message fairyring.common.ActivePublicKey does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message fairyring.common.EncryptedKeyshare does not contain field %s", fd.FullName())) } } @@ -2327,48 +4946,49 @@ func (x *fastReflection_ActivePublicKey) Set(fd protoreflect.FieldDescriptor, va // It panics if the field does not contain a composite type. // // Mutable is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_ActivePublicKey) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { +func (x *fastReflection_EncryptedKeyshare) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { switch fd.FullName() { - case "fairyring.common.ActivePublicKey.publicKey": - panic(fmt.Errorf("field publicKey of message fairyring.common.ActivePublicKey is not mutable")) - case "fairyring.common.ActivePublicKey.creator": - panic(fmt.Errorf("field creator of message fairyring.common.ActivePublicKey is not mutable")) - case "fairyring.common.ActivePublicKey.expiry": - panic(fmt.Errorf("field expiry of message fairyring.common.ActivePublicKey is not mutable")) + case "fairyring.common.EncryptedKeyshare.private_keyshares": + if x.PrivateKeyshares == nil { + x.PrivateKeyshares = []*IndexedEncryptedKeyshare{} + } + value := &_EncryptedKeyshare_2_list{list: &x.PrivateKeyshares} + return protoreflect.ValueOfList(value) + case "fairyring.common.EncryptedKeyshare.requester": + panic(fmt.Errorf("field requester of message fairyring.common.EncryptedKeyshare is not mutable")) default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: fairyring.common.ActivePublicKey")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: fairyring.common.EncryptedKeyshare")) } - panic(fmt.Errorf("message fairyring.common.ActivePublicKey does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message fairyring.common.EncryptedKeyshare does not contain field %s", fd.FullName())) } } // NewField returns a new value that is assignable to the field // for the given descriptor. For scalars, this returns the default value. // For lists, maps, and messages, this returns a new, empty, mutable value. -func (x *fastReflection_ActivePublicKey) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { +func (x *fastReflection_EncryptedKeyshare) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { switch fd.FullName() { - case "fairyring.common.ActivePublicKey.publicKey": - return protoreflect.ValueOfString("") - case "fairyring.common.ActivePublicKey.creator": + case "fairyring.common.EncryptedKeyshare.requester": return protoreflect.ValueOfString("") - case "fairyring.common.ActivePublicKey.expiry": - return protoreflect.ValueOfUint64(uint64(0)) + case "fairyring.common.EncryptedKeyshare.private_keyshares": + list := []*IndexedEncryptedKeyshare{} + return protoreflect.ValueOfList(&_EncryptedKeyshare_2_list{list: &list}) default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: fairyring.common.ActivePublicKey")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: fairyring.common.EncryptedKeyshare")) } - panic(fmt.Errorf("message fairyring.common.ActivePublicKey does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message fairyring.common.EncryptedKeyshare does not contain field %s", fd.FullName())) } } // WhichOneof reports which field within the oneof is populated, // returning nil if none are populated. // It panics if the oneof descriptor does not belong to this message. -func (x *fastReflection_ActivePublicKey) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { +func (x *fastReflection_EncryptedKeyshare) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { switch d.FullName() { default: - panic(fmt.Errorf("%s is not a oneof field in fairyring.common.ActivePublicKey", d.FullName())) + panic(fmt.Errorf("%s is not a oneof field in fairyring.common.EncryptedKeyshare", d.FullName())) } panic("unreachable") } @@ -2376,7 +4996,7 @@ func (x *fastReflection_ActivePublicKey) WhichOneof(d protoreflect.OneofDescript // GetUnknown retrieves the entire list of unknown fields. // The caller may only mutate the contents of the RawFields // if the mutated bytes are stored back into the message with SetUnknown. -func (x *fastReflection_ActivePublicKey) GetUnknown() protoreflect.RawFields { +func (x *fastReflection_EncryptedKeyshare) GetUnknown() protoreflect.RawFields { return x.unknownFields } @@ -2387,7 +5007,7 @@ func (x *fastReflection_ActivePublicKey) GetUnknown() protoreflect.RawFields { // An empty RawFields may be passed to clear the fields. // // SetUnknown is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_ActivePublicKey) SetUnknown(fields protoreflect.RawFields) { +func (x *fastReflection_EncryptedKeyshare) SetUnknown(fields protoreflect.RawFields) { x.unknownFields = fields } @@ -2399,7 +5019,7 @@ func (x *fastReflection_ActivePublicKey) SetUnknown(fields protoreflect.RawField // message type, but the details are implementation dependent. // Validity is not part of the protobuf data model, and may not // be preserved in marshaling or other operations. -func (x *fastReflection_ActivePublicKey) IsValid() bool { +func (x *fastReflection_EncryptedKeyshare) IsValid() bool { return x != nil } @@ -2409,9 +5029,9 @@ func (x *fastReflection_ActivePublicKey) IsValid() bool { // The returned methods type is identical to // "google.golang.org/protobuf/runtime/protoiface".Methods. // Consult the protoiface package documentation for details. -func (x *fastReflection_ActivePublicKey) ProtoMethods() *protoiface.Methods { +func (x *fastReflection_EncryptedKeyshare) ProtoMethods() *protoiface.Methods { size := func(input protoiface.SizeInput) protoiface.SizeOutput { - x := input.Message.Interface().(*ActivePublicKey) + x := input.Message.Interface().(*EncryptedKeyshare) if x == nil { return protoiface.SizeOutput{ NoUnkeyedLiterals: input.NoUnkeyedLiterals, @@ -2423,16 +5043,15 @@ func (x *fastReflection_ActivePublicKey) ProtoMethods() *protoiface.Methods { var n int var l int _ = l - l = len(x.PublicKey) - if l > 0 { - n += 1 + l + runtime.Sov(uint64(l)) - } - l = len(x.Creator) + l = len(x.Requester) if l > 0 { n += 1 + l + runtime.Sov(uint64(l)) } - if x.Expiry != 0 { - n += 1 + runtime.Sov(uint64(x.Expiry)) + if len(x.PrivateKeyshares) > 0 { + for _, e := range x.PrivateKeyshares { + l = options.Size(e) + n += 1 + l + runtime.Sov(uint64(l)) + } } if x.unknownFields != nil { n += len(x.unknownFields) @@ -2444,7 +5063,7 @@ func (x *fastReflection_ActivePublicKey) ProtoMethods() *protoiface.Methods { } marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { - x := input.Message.Interface().(*ActivePublicKey) + x := input.Message.Interface().(*EncryptedKeyshare) if x == nil { return protoiface.MarshalOutput{ NoUnkeyedLiterals: input.NoUnkeyedLiterals, @@ -2463,22 +5082,26 @@ func (x *fastReflection_ActivePublicKey) ProtoMethods() *protoiface.Methods { i -= len(x.unknownFields) copy(dAtA[i:], x.unknownFields) } - if x.Expiry != 0 { - i = runtime.EncodeVarint(dAtA, i, uint64(x.Expiry)) - i-- - dAtA[i] = 0x18 - } - if len(x.Creator) > 0 { - i -= len(x.Creator) - copy(dAtA[i:], x.Creator) - i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Creator))) - i-- - dAtA[i] = 0x12 + if len(x.PrivateKeyshares) > 0 { + for iNdEx := len(x.PrivateKeyshares) - 1; iNdEx >= 0; iNdEx-- { + encoded, err := options.Marshal(x.PrivateKeyshares[iNdEx]) + if err != nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = runtime.EncodeVarint(dAtA, i, uint64(len(encoded))) + i-- + dAtA[i] = 0x12 + } } - if len(x.PublicKey) > 0 { - i -= len(x.PublicKey) - copy(dAtA[i:], x.PublicKey) - i = runtime.EncodeVarint(dAtA, i, uint64(len(x.PublicKey))) + if len(x.Requester) > 0 { + i -= len(x.Requester) + copy(dAtA[i:], x.Requester) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Requester))) i-- dAtA[i] = 0xa } @@ -2493,7 +5116,7 @@ func (x *fastReflection_ActivePublicKey) ProtoMethods() *protoiface.Methods { }, nil } unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { - x := input.Message.Interface().(*ActivePublicKey) + x := input.Message.Interface().(*EncryptedKeyshare) if x == nil { return protoiface.UnmarshalOutput{ NoUnkeyedLiterals: input.NoUnkeyedLiterals, @@ -2525,15 +5148,15 @@ func (x *fastReflection_ActivePublicKey) ProtoMethods() *protoiface.Methods { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: ActivePublicKey: wiretype end group for non-group") + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: EncryptedKeyshare: wiretype end group for non-group") } if fieldNum <= 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: ActivePublicKey: illegal tag %d (wire type %d)", fieldNum, wire) + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: EncryptedKeyshare: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: if wireType != 2 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field PublicKey", wireType) + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Requester", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -2561,13 +5184,13 @@ func (x *fastReflection_ActivePublicKey) ProtoMethods() *protoiface.Methods { if postIndex > l { return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF } - x.PublicKey = string(dAtA[iNdEx:postIndex]) + x.Requester = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex case 2: if wireType != 2 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Creator", wireType) + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field PrivateKeyshares", wireType) } - var stringLen uint64 + var msglen int for shift := uint(0); ; shift += 7 { if shift >= 64 { return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow @@ -2577,43 +5200,26 @@ func (x *fastReflection_ActivePublicKey) ProtoMethods() *protoiface.Methods { } b := dAtA[iNdEx] iNdEx++ - stringLen |= uint64(b&0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } } - intStringLen := int(stringLen) - if intStringLen < 0 { + if msglen < 0 { return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength } - postIndex := iNdEx + intStringLen + postIndex := iNdEx + msglen if postIndex < 0 { return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength } if postIndex > l { return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF } - x.Creator = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 3: - if wireType != 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Expiry", wireType) - } - x.Expiry = 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.Expiry |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } + x.PrivateKeyshares = append(x.PrivateKeyshares, &IndexedEncryptedKeyshare{}) + if err := options.Unmarshal(dAtA[iNdEx:postIndex], x.PrivateKeyshares[len(x.PrivateKeyshares)-1]); err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err } + iNdEx = postIndex default: iNdEx = preIndex skippy, err := runtime.Skip(dAtA[iNdEx:]) @@ -2650,30 +5256,28 @@ func (x *fastReflection_ActivePublicKey) ProtoMethods() *protoiface.Methods { } var ( - md_QueuedPublicKey protoreflect.MessageDescriptor - fd_QueuedPublicKey_publicKey protoreflect.FieldDescriptor - fd_QueuedPublicKey_creator protoreflect.FieldDescriptor - fd_QueuedPublicKey_expiry protoreflect.FieldDescriptor + md_IndexedEncryptedKeyshare protoreflect.MessageDescriptor + fd_IndexedEncryptedKeyshare_encrypted_keyshare_value protoreflect.FieldDescriptor + fd_IndexedEncryptedKeyshare_encrypted_keyshare_index protoreflect.FieldDescriptor ) func init() { file_fairyring_common_shared_types_proto_init() - md_QueuedPublicKey = File_fairyring_common_shared_types_proto.Messages().ByName("QueuedPublicKey") - fd_QueuedPublicKey_publicKey = md_QueuedPublicKey.Fields().ByName("publicKey") - fd_QueuedPublicKey_creator = md_QueuedPublicKey.Fields().ByName("creator") - fd_QueuedPublicKey_expiry = md_QueuedPublicKey.Fields().ByName("expiry") + md_IndexedEncryptedKeyshare = File_fairyring_common_shared_types_proto.Messages().ByName("IndexedEncryptedKeyshare") + fd_IndexedEncryptedKeyshare_encrypted_keyshare_value = md_IndexedEncryptedKeyshare.Fields().ByName("encrypted_keyshare_value") + fd_IndexedEncryptedKeyshare_encrypted_keyshare_index = md_IndexedEncryptedKeyshare.Fields().ByName("encrypted_keyshare_index") } -var _ protoreflect.Message = (*fastReflection_QueuedPublicKey)(nil) +var _ protoreflect.Message = (*fastReflection_IndexedEncryptedKeyshare)(nil) -type fastReflection_QueuedPublicKey QueuedPublicKey +type fastReflection_IndexedEncryptedKeyshare IndexedEncryptedKeyshare -func (x *QueuedPublicKey) ProtoReflect() protoreflect.Message { - return (*fastReflection_QueuedPublicKey)(x) +func (x *IndexedEncryptedKeyshare) ProtoReflect() protoreflect.Message { + return (*fastReflection_IndexedEncryptedKeyshare)(x) } -func (x *QueuedPublicKey) slowProtoReflect() protoreflect.Message { - mi := &file_fairyring_common_shared_types_proto_msgTypes[5] +func (x *IndexedEncryptedKeyshare) slowProtoReflect() protoreflect.Message { + mi := &file_fairyring_common_shared_types_proto_msgTypes[10] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2684,43 +5288,43 @@ func (x *QueuedPublicKey) slowProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -var _fastReflection_QueuedPublicKey_messageType fastReflection_QueuedPublicKey_messageType -var _ protoreflect.MessageType = fastReflection_QueuedPublicKey_messageType{} +var _fastReflection_IndexedEncryptedKeyshare_messageType fastReflection_IndexedEncryptedKeyshare_messageType +var _ protoreflect.MessageType = fastReflection_IndexedEncryptedKeyshare_messageType{} -type fastReflection_QueuedPublicKey_messageType struct{} +type fastReflection_IndexedEncryptedKeyshare_messageType struct{} -func (x fastReflection_QueuedPublicKey_messageType) Zero() protoreflect.Message { - return (*fastReflection_QueuedPublicKey)(nil) +func (x fastReflection_IndexedEncryptedKeyshare_messageType) Zero() protoreflect.Message { + return (*fastReflection_IndexedEncryptedKeyshare)(nil) } -func (x fastReflection_QueuedPublicKey_messageType) New() protoreflect.Message { - return new(fastReflection_QueuedPublicKey) +func (x fastReflection_IndexedEncryptedKeyshare_messageType) New() protoreflect.Message { + return new(fastReflection_IndexedEncryptedKeyshare) } -func (x fastReflection_QueuedPublicKey_messageType) Descriptor() protoreflect.MessageDescriptor { - return md_QueuedPublicKey +func (x fastReflection_IndexedEncryptedKeyshare_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_IndexedEncryptedKeyshare } // Descriptor returns message descriptor, which contains only the protobuf // type information for the message. -func (x *fastReflection_QueuedPublicKey) Descriptor() protoreflect.MessageDescriptor { - return md_QueuedPublicKey +func (x *fastReflection_IndexedEncryptedKeyshare) Descriptor() protoreflect.MessageDescriptor { + return md_IndexedEncryptedKeyshare } // Type returns the message type, which encapsulates both Go and protobuf // type information. If the Go type information is not needed, // it is recommended that the message descriptor be used instead. -func (x *fastReflection_QueuedPublicKey) Type() protoreflect.MessageType { - return _fastReflection_QueuedPublicKey_messageType +func (x *fastReflection_IndexedEncryptedKeyshare) Type() protoreflect.MessageType { + return _fastReflection_IndexedEncryptedKeyshare_messageType } // New returns a newly allocated and mutable empty message. -func (x *fastReflection_QueuedPublicKey) New() protoreflect.Message { - return new(fastReflection_QueuedPublicKey) +func (x *fastReflection_IndexedEncryptedKeyshare) New() protoreflect.Message { + return new(fastReflection_IndexedEncryptedKeyshare) } // Interface unwraps the message reflection interface and // returns the underlying ProtoMessage interface. -func (x *fastReflection_QueuedPublicKey) Interface() protoreflect.ProtoMessage { - return (*QueuedPublicKey)(x) +func (x *fastReflection_IndexedEncryptedKeyshare) Interface() protoreflect.ProtoMessage { + return (*IndexedEncryptedKeyshare)(x) } // Range iterates over every populated field in an undefined order, @@ -2728,22 +5332,16 @@ func (x *fastReflection_QueuedPublicKey) Interface() protoreflect.ProtoMessage { // Range returns immediately if f returns false. // While iterating, mutating operations may only be performed // on the current field descriptor. -func (x *fastReflection_QueuedPublicKey) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { - if x.PublicKey != "" { - value := protoreflect.ValueOfString(x.PublicKey) - if !f(fd_QueuedPublicKey_publicKey, value) { - return - } - } - if x.Creator != "" { - value := protoreflect.ValueOfString(x.Creator) - if !f(fd_QueuedPublicKey_creator, value) { +func (x *fastReflection_IndexedEncryptedKeyshare) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { + if x.EncryptedKeyshareValue != "" { + value := protoreflect.ValueOfString(x.EncryptedKeyshareValue) + if !f(fd_IndexedEncryptedKeyshare_encrypted_keyshare_value, value) { return } } - if x.Expiry != uint64(0) { - value := protoreflect.ValueOfUint64(x.Expiry) - if !f(fd_QueuedPublicKey_expiry, value) { + if x.EncryptedKeyshareIndex != uint64(0) { + value := protoreflect.ValueOfUint64(x.EncryptedKeyshareIndex) + if !f(fd_IndexedEncryptedKeyshare_encrypted_keyshare_index, value) { return } } @@ -2760,19 +5358,17 @@ func (x *fastReflection_QueuedPublicKey) Range(f func(protoreflect.FieldDescript // In other cases (aside from the nullable cases above), // a proto3 scalar field is populated if it contains a non-zero value, and // a repeated field is populated if it is non-empty. -func (x *fastReflection_QueuedPublicKey) Has(fd protoreflect.FieldDescriptor) bool { +func (x *fastReflection_IndexedEncryptedKeyshare) Has(fd protoreflect.FieldDescriptor) bool { switch fd.FullName() { - case "fairyring.common.QueuedPublicKey.publicKey": - return x.PublicKey != "" - case "fairyring.common.QueuedPublicKey.creator": - return x.Creator != "" - case "fairyring.common.QueuedPublicKey.expiry": - return x.Expiry != uint64(0) + case "fairyring.common.IndexedEncryptedKeyshare.encrypted_keyshare_value": + return x.EncryptedKeyshareValue != "" + case "fairyring.common.IndexedEncryptedKeyshare.encrypted_keyshare_index": + return x.EncryptedKeyshareIndex != uint64(0) default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: fairyring.common.QueuedPublicKey")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: fairyring.common.IndexedEncryptedKeyshare")) } - panic(fmt.Errorf("message fairyring.common.QueuedPublicKey does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message fairyring.common.IndexedEncryptedKeyshare does not contain field %s", fd.FullName())) } } @@ -2782,19 +5378,17 @@ func (x *fastReflection_QueuedPublicKey) Has(fd protoreflect.FieldDescriptor) bo // associated with the given field number. // // Clear is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_QueuedPublicKey) Clear(fd protoreflect.FieldDescriptor) { +func (x *fastReflection_IndexedEncryptedKeyshare) Clear(fd protoreflect.FieldDescriptor) { switch fd.FullName() { - case "fairyring.common.QueuedPublicKey.publicKey": - x.PublicKey = "" - case "fairyring.common.QueuedPublicKey.creator": - x.Creator = "" - case "fairyring.common.QueuedPublicKey.expiry": - x.Expiry = uint64(0) + case "fairyring.common.IndexedEncryptedKeyshare.encrypted_keyshare_value": + x.EncryptedKeyshareValue = "" + case "fairyring.common.IndexedEncryptedKeyshare.encrypted_keyshare_index": + x.EncryptedKeyshareIndex = uint64(0) default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: fairyring.common.QueuedPublicKey")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: fairyring.common.IndexedEncryptedKeyshare")) } - panic(fmt.Errorf("message fairyring.common.QueuedPublicKey does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message fairyring.common.IndexedEncryptedKeyshare does not contain field %s", fd.FullName())) } } @@ -2804,22 +5398,19 @@ func (x *fastReflection_QueuedPublicKey) Clear(fd protoreflect.FieldDescriptor) // the default value of a bytes scalar is guaranteed to be a copy. // For unpopulated composite types, it returns an empty, read-only view // of the value; to obtain a mutable reference, use Mutable. -func (x *fastReflection_QueuedPublicKey) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { +func (x *fastReflection_IndexedEncryptedKeyshare) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { switch descriptor.FullName() { - case "fairyring.common.QueuedPublicKey.publicKey": - value := x.PublicKey - return protoreflect.ValueOfString(value) - case "fairyring.common.QueuedPublicKey.creator": - value := x.Creator + case "fairyring.common.IndexedEncryptedKeyshare.encrypted_keyshare_value": + value := x.EncryptedKeyshareValue return protoreflect.ValueOfString(value) - case "fairyring.common.QueuedPublicKey.expiry": - value := x.Expiry + case "fairyring.common.IndexedEncryptedKeyshare.encrypted_keyshare_index": + value := x.EncryptedKeyshareIndex return protoreflect.ValueOfUint64(value) default: if descriptor.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: fairyring.common.QueuedPublicKey")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: fairyring.common.IndexedEncryptedKeyshare")) } - panic(fmt.Errorf("message fairyring.common.QueuedPublicKey does not contain field %s", descriptor.FullName())) + panic(fmt.Errorf("message fairyring.common.IndexedEncryptedKeyshare does not contain field %s", descriptor.FullName())) } } @@ -2833,19 +5424,17 @@ func (x *fastReflection_QueuedPublicKey) Get(descriptor protoreflect.FieldDescri // empty, read-only value, then it panics. // // Set is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_QueuedPublicKey) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { +func (x *fastReflection_IndexedEncryptedKeyshare) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { switch fd.FullName() { - case "fairyring.common.QueuedPublicKey.publicKey": - x.PublicKey = value.Interface().(string) - case "fairyring.common.QueuedPublicKey.creator": - x.Creator = value.Interface().(string) - case "fairyring.common.QueuedPublicKey.expiry": - x.Expiry = value.Uint() + case "fairyring.common.IndexedEncryptedKeyshare.encrypted_keyshare_value": + x.EncryptedKeyshareValue = value.Interface().(string) + case "fairyring.common.IndexedEncryptedKeyshare.encrypted_keyshare_index": + x.EncryptedKeyshareIndex = value.Uint() default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: fairyring.common.QueuedPublicKey")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: fairyring.common.IndexedEncryptedKeyshare")) } - panic(fmt.Errorf("message fairyring.common.QueuedPublicKey does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message fairyring.common.IndexedEncryptedKeyshare does not contain field %s", fd.FullName())) } } @@ -2859,48 +5448,44 @@ func (x *fastReflection_QueuedPublicKey) Set(fd protoreflect.FieldDescriptor, va // It panics if the field does not contain a composite type. // // Mutable is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_QueuedPublicKey) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { +func (x *fastReflection_IndexedEncryptedKeyshare) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { switch fd.FullName() { - case "fairyring.common.QueuedPublicKey.publicKey": - panic(fmt.Errorf("field publicKey of message fairyring.common.QueuedPublicKey is not mutable")) - case "fairyring.common.QueuedPublicKey.creator": - panic(fmt.Errorf("field creator of message fairyring.common.QueuedPublicKey is not mutable")) - case "fairyring.common.QueuedPublicKey.expiry": - panic(fmt.Errorf("field expiry of message fairyring.common.QueuedPublicKey is not mutable")) + case "fairyring.common.IndexedEncryptedKeyshare.encrypted_keyshare_value": + panic(fmt.Errorf("field encrypted_keyshare_value of message fairyring.common.IndexedEncryptedKeyshare is not mutable")) + case "fairyring.common.IndexedEncryptedKeyshare.encrypted_keyshare_index": + panic(fmt.Errorf("field encrypted_keyshare_index of message fairyring.common.IndexedEncryptedKeyshare is not mutable")) default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: fairyring.common.QueuedPublicKey")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: fairyring.common.IndexedEncryptedKeyshare")) } - panic(fmt.Errorf("message fairyring.common.QueuedPublicKey does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message fairyring.common.IndexedEncryptedKeyshare does not contain field %s", fd.FullName())) } } // NewField returns a new value that is assignable to the field // for the given descriptor. For scalars, this returns the default value. // For lists, maps, and messages, this returns a new, empty, mutable value. -func (x *fastReflection_QueuedPublicKey) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { +func (x *fastReflection_IndexedEncryptedKeyshare) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { switch fd.FullName() { - case "fairyring.common.QueuedPublicKey.publicKey": - return protoreflect.ValueOfString("") - case "fairyring.common.QueuedPublicKey.creator": + case "fairyring.common.IndexedEncryptedKeyshare.encrypted_keyshare_value": return protoreflect.ValueOfString("") - case "fairyring.common.QueuedPublicKey.expiry": + case "fairyring.common.IndexedEncryptedKeyshare.encrypted_keyshare_index": return protoreflect.ValueOfUint64(uint64(0)) default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: fairyring.common.QueuedPublicKey")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: fairyring.common.IndexedEncryptedKeyshare")) } - panic(fmt.Errorf("message fairyring.common.QueuedPublicKey does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message fairyring.common.IndexedEncryptedKeyshare does not contain field %s", fd.FullName())) } } // WhichOneof reports which field within the oneof is populated, // returning nil if none are populated. // It panics if the oneof descriptor does not belong to this message. -func (x *fastReflection_QueuedPublicKey) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { +func (x *fastReflection_IndexedEncryptedKeyshare) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { switch d.FullName() { default: - panic(fmt.Errorf("%s is not a oneof field in fairyring.common.QueuedPublicKey", d.FullName())) + panic(fmt.Errorf("%s is not a oneof field in fairyring.common.IndexedEncryptedKeyshare", d.FullName())) } panic("unreachable") } @@ -2908,7 +5493,7 @@ func (x *fastReflection_QueuedPublicKey) WhichOneof(d protoreflect.OneofDescript // GetUnknown retrieves the entire list of unknown fields. // The caller may only mutate the contents of the RawFields // if the mutated bytes are stored back into the message with SetUnknown. -func (x *fastReflection_QueuedPublicKey) GetUnknown() protoreflect.RawFields { +func (x *fastReflection_IndexedEncryptedKeyshare) GetUnknown() protoreflect.RawFields { return x.unknownFields } @@ -2919,7 +5504,7 @@ func (x *fastReflection_QueuedPublicKey) GetUnknown() protoreflect.RawFields { // An empty RawFields may be passed to clear the fields. // // SetUnknown is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_QueuedPublicKey) SetUnknown(fields protoreflect.RawFields) { +func (x *fastReflection_IndexedEncryptedKeyshare) SetUnknown(fields protoreflect.RawFields) { x.unknownFields = fields } @@ -2931,7 +5516,7 @@ func (x *fastReflection_QueuedPublicKey) SetUnknown(fields protoreflect.RawField // message type, but the details are implementation dependent. // Validity is not part of the protobuf data model, and may not // be preserved in marshaling or other operations. -func (x *fastReflection_QueuedPublicKey) IsValid() bool { +func (x *fastReflection_IndexedEncryptedKeyshare) IsValid() bool { return x != nil } @@ -2941,9 +5526,9 @@ func (x *fastReflection_QueuedPublicKey) IsValid() bool { // The returned methods type is identical to // "google.golang.org/protobuf/runtime/protoiface".Methods. // Consult the protoiface package documentation for details. -func (x *fastReflection_QueuedPublicKey) ProtoMethods() *protoiface.Methods { +func (x *fastReflection_IndexedEncryptedKeyshare) ProtoMethods() *protoiface.Methods { size := func(input protoiface.SizeInput) protoiface.SizeOutput { - x := input.Message.Interface().(*QueuedPublicKey) + x := input.Message.Interface().(*IndexedEncryptedKeyshare) if x == nil { return protoiface.SizeOutput{ NoUnkeyedLiterals: input.NoUnkeyedLiterals, @@ -2955,16 +5540,12 @@ func (x *fastReflection_QueuedPublicKey) ProtoMethods() *protoiface.Methods { var n int var l int _ = l - l = len(x.PublicKey) - if l > 0 { - n += 1 + l + runtime.Sov(uint64(l)) - } - l = len(x.Creator) + l = len(x.EncryptedKeyshareValue) if l > 0 { n += 1 + l + runtime.Sov(uint64(l)) } - if x.Expiry != 0 { - n += 1 + runtime.Sov(uint64(x.Expiry)) + if x.EncryptedKeyshareIndex != 0 { + n += 1 + runtime.Sov(uint64(x.EncryptedKeyshareIndex)) } if x.unknownFields != nil { n += len(x.unknownFields) @@ -2976,7 +5557,7 @@ func (x *fastReflection_QueuedPublicKey) ProtoMethods() *protoiface.Methods { } marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { - x := input.Message.Interface().(*QueuedPublicKey) + x := input.Message.Interface().(*IndexedEncryptedKeyshare) if x == nil { return protoiface.MarshalOutput{ NoUnkeyedLiterals: input.NoUnkeyedLiterals, @@ -2994,23 +5575,16 @@ func (x *fastReflection_QueuedPublicKey) ProtoMethods() *protoiface.Methods { if x.unknownFields != nil { i -= len(x.unknownFields) copy(dAtA[i:], x.unknownFields) - } - if x.Expiry != 0 { - i = runtime.EncodeVarint(dAtA, i, uint64(x.Expiry)) - i-- - dAtA[i] = 0x18 - } - if len(x.Creator) > 0 { - i -= len(x.Creator) - copy(dAtA[i:], x.Creator) - i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Creator))) + } + if x.EncryptedKeyshareIndex != 0 { + i = runtime.EncodeVarint(dAtA, i, uint64(x.EncryptedKeyshareIndex)) i-- - dAtA[i] = 0x12 + dAtA[i] = 0x10 } - if len(x.PublicKey) > 0 { - i -= len(x.PublicKey) - copy(dAtA[i:], x.PublicKey) - i = runtime.EncodeVarint(dAtA, i, uint64(len(x.PublicKey))) + if len(x.EncryptedKeyshareValue) > 0 { + i -= len(x.EncryptedKeyshareValue) + copy(dAtA[i:], x.EncryptedKeyshareValue) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.EncryptedKeyshareValue))) i-- dAtA[i] = 0xa } @@ -3025,7 +5599,7 @@ func (x *fastReflection_QueuedPublicKey) ProtoMethods() *protoiface.Methods { }, nil } unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { - x := input.Message.Interface().(*QueuedPublicKey) + x := input.Message.Interface().(*IndexedEncryptedKeyshare) if x == nil { return protoiface.UnmarshalOutput{ NoUnkeyedLiterals: input.NoUnkeyedLiterals, @@ -3057,15 +5631,15 @@ func (x *fastReflection_QueuedPublicKey) ProtoMethods() *protoiface.Methods { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: QueuedPublicKey: wiretype end group for non-group") + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: IndexedEncryptedKeyshare: wiretype end group for non-group") } if fieldNum <= 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: QueuedPublicKey: illegal tag %d (wire type %d)", fieldNum, wire) + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: IndexedEncryptedKeyshare: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: if wireType != 2 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field PublicKey", wireType) + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field EncryptedKeyshareValue", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -3093,45 +5667,13 @@ func (x *fastReflection_QueuedPublicKey) ProtoMethods() *protoiface.Methods { if postIndex > l { return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF } - x.PublicKey = string(dAtA[iNdEx:postIndex]) + x.EncryptedKeyshareValue = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex case 2: - if wireType != 2 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Creator", wireType) - } - var stringLen uint64 - 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++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - if postIndex > l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - x.Creator = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 3: if wireType != 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Expiry", wireType) + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field EncryptedKeyshareIndex", wireType) } - x.Expiry = 0 + x.EncryptedKeyshareIndex = 0 for shift := uint(0); ; shift += 7 { if shift >= 64 { return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow @@ -3141,7 +5683,7 @@ func (x *fastReflection_QueuedPublicKey) ProtoMethods() *protoiface.Methods { } b := dAtA[iNdEx] iNdEx++ - x.Expiry |= uint64(b&0x7F) << shift + x.EncryptedKeyshareIndex |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -3427,6 +5969,101 @@ func (*GetAggrKeyshareResponse) Descriptor() ([]byte, []int) { return file_fairyring_common_shared_types_proto_rawDescGZIP(), []int{3} } +// GetPrivateKeyshare defines a struct for the data payload +type GetPrivateKeyshare struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + RequestId string `protobuf:"bytes,1,opt,name=request_id,json=requestId,proto3" json:"request_id,omitempty"` + Identity string `protobuf:"bytes,2,opt,name=identity,proto3" json:"identity,omitempty"` + Requester string `protobuf:"bytes,3,opt,name=requester,proto3" json:"requester,omitempty"` + SecpPubkey string `protobuf:"bytes,4,opt,name=secp_pubkey,json=secpPubkey,proto3" json:"secp_pubkey,omitempty"` +} + +func (x *GetPrivateKeyshare) Reset() { + *x = GetPrivateKeyshare{} + if protoimpl.UnsafeEnabled { + mi := &file_fairyring_common_shared_types_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetPrivateKeyshare) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetPrivateKeyshare) ProtoMessage() {} + +// Deprecated: Use GetPrivateKeyshare.ProtoReflect.Descriptor instead. +func (*GetPrivateKeyshare) Descriptor() ([]byte, []int) { + return file_fairyring_common_shared_types_proto_rawDescGZIP(), []int{4} +} + +func (x *GetPrivateKeyshare) GetRequestId() string { + if x != nil { + return x.RequestId + } + return "" +} + +func (x *GetPrivateKeyshare) GetIdentity() string { + if x != nil { + return x.Identity + } + return "" +} + +func (x *GetPrivateKeyshare) GetRequester() string { + if x != nil { + return x.Requester + } + return "" +} + +func (x *GetPrivateKeyshare) GetSecpPubkey() string { + if x != nil { + return x.SecpPubkey + } + return "" +} + +type GetPrivateKeyshareResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Pubkey string `protobuf:"bytes,1,opt,name=pubkey,proto3" json:"pubkey,omitempty"` +} + +func (x *GetPrivateKeyshareResponse) Reset() { + *x = GetPrivateKeyshareResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_fairyring_common_shared_types_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetPrivateKeyshareResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetPrivateKeyshareResponse) ProtoMessage() {} + +// Deprecated: Use GetPrivateKeyshareResponse.ProtoReflect.Descriptor instead. +func (*GetPrivateKeyshareResponse) Descriptor() ([]byte, []int) { + return file_fairyring_common_shared_types_proto_rawDescGZIP(), []int{5} +} + +func (x *GetPrivateKeyshareResponse) GetPubkey() string { + if x != nil { + return x.Pubkey + } + return "" +} + type ActivePublicKey struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -3440,7 +6077,7 @@ type ActivePublicKey struct { func (x *ActivePublicKey) Reset() { *x = ActivePublicKey{} if protoimpl.UnsafeEnabled { - mi := &file_fairyring_common_shared_types_proto_msgTypes[4] + mi := &file_fairyring_common_shared_types_proto_msgTypes[6] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3454,7 +6091,7 @@ func (*ActivePublicKey) ProtoMessage() {} // Deprecated: Use ActivePublicKey.ProtoReflect.Descriptor instead. func (*ActivePublicKey) Descriptor() ([]byte, []int) { - return file_fairyring_common_shared_types_proto_rawDescGZIP(), []int{4} + return file_fairyring_common_shared_types_proto_rawDescGZIP(), []int{6} } func (x *ActivePublicKey) GetPublicKey() string { @@ -3491,7 +6128,7 @@ type QueuedPublicKey struct { func (x *QueuedPublicKey) Reset() { *x = QueuedPublicKey{} if protoimpl.UnsafeEnabled { - mi := &file_fairyring_common_shared_types_proto_msgTypes[5] + mi := &file_fairyring_common_shared_types_proto_msgTypes[7] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3505,7 +6142,7 @@ func (*QueuedPublicKey) ProtoMessage() {} // Deprecated: Use QueuedPublicKey.ProtoReflect.Descriptor instead. func (*QueuedPublicKey) Descriptor() ([]byte, []int) { - return file_fairyring_common_shared_types_proto_rawDescGZIP(), []int{5} + return file_fairyring_common_shared_types_proto_rawDescGZIP(), []int{7} } func (x *QueuedPublicKey) GetPublicKey() string { @@ -3529,6 +6166,135 @@ func (x *QueuedPublicKey) GetExpiry() uint64 { return 0 } +type RequestPrivateKeyshare struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Creator string `protobuf:"bytes,1,opt,name=creator,proto3" json:"creator,omitempty"` + RequestId string `protobuf:"bytes,2,opt,name=request_id,json=requestId,proto3" json:"request_id,omitempty"` +} + +func (x *RequestPrivateKeyshare) Reset() { + *x = RequestPrivateKeyshare{} + if protoimpl.UnsafeEnabled { + mi := &file_fairyring_common_shared_types_proto_msgTypes[8] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *RequestPrivateKeyshare) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RequestPrivateKeyshare) ProtoMessage() {} + +// Deprecated: Use RequestPrivateKeyshare.ProtoReflect.Descriptor instead. +func (*RequestPrivateKeyshare) Descriptor() ([]byte, []int) { + return file_fairyring_common_shared_types_proto_rawDescGZIP(), []int{8} +} + +func (x *RequestPrivateKeyshare) GetCreator() string { + if x != nil { + return x.Creator + } + return "" +} + +func (x *RequestPrivateKeyshare) GetRequestId() string { + if x != nil { + return x.RequestId + } + return "" +} + +type EncryptedKeyshare struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Requester string `protobuf:"bytes,1,opt,name=requester,proto3" json:"requester,omitempty"` + PrivateKeyshares []*IndexedEncryptedKeyshare `protobuf:"bytes,2,rep,name=private_keyshares,json=privateKeyshares,proto3" json:"private_keyshares,omitempty"` +} + +func (x *EncryptedKeyshare) Reset() { + *x = EncryptedKeyshare{} + if protoimpl.UnsafeEnabled { + mi := &file_fairyring_common_shared_types_proto_msgTypes[9] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *EncryptedKeyshare) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*EncryptedKeyshare) ProtoMessage() {} + +// Deprecated: Use EncryptedKeyshare.ProtoReflect.Descriptor instead. +func (*EncryptedKeyshare) Descriptor() ([]byte, []int) { + return file_fairyring_common_shared_types_proto_rawDescGZIP(), []int{9} +} + +func (x *EncryptedKeyshare) GetRequester() string { + if x != nil { + return x.Requester + } + return "" +} + +func (x *EncryptedKeyshare) GetPrivateKeyshares() []*IndexedEncryptedKeyshare { + if x != nil { + return x.PrivateKeyshares + } + return nil +} + +type IndexedEncryptedKeyshare struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + EncryptedKeyshareValue string `protobuf:"bytes,1,opt,name=encrypted_keyshare_value,json=encryptedKeyshareValue,proto3" json:"encrypted_keyshare_value,omitempty"` + EncryptedKeyshareIndex uint64 `protobuf:"varint,2,opt,name=encrypted_keyshare_index,json=encryptedKeyshareIndex,proto3" json:"encrypted_keyshare_index,omitempty"` +} + +func (x *IndexedEncryptedKeyshare) Reset() { + *x = IndexedEncryptedKeyshare{} + if protoimpl.UnsafeEnabled { + mi := &file_fairyring_common_shared_types_proto_msgTypes[10] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *IndexedEncryptedKeyshare) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*IndexedEncryptedKeyshare) ProtoMessage() {} + +// Deprecated: Use IndexedEncryptedKeyshare.ProtoReflect.Descriptor instead. +func (*IndexedEncryptedKeyshare) Descriptor() ([]byte, []int) { + return file_fairyring_common_shared_types_proto_rawDescGZIP(), []int{10} +} + +func (x *IndexedEncryptedKeyshare) GetEncryptedKeyshareValue() string { + if x != nil { + return x.EncryptedKeyshareValue + } + return "" +} + +func (x *IndexedEncryptedKeyshare) GetEncryptedKeyshareIndex() uint64 { + if x != nil { + return x.EncryptedKeyshareIndex + } + return 0 +} + var File_fairyring_common_shared_types_proto protoreflect.FileDescriptor var file_fairyring_common_shared_types_proto_rawDesc = []byte{ @@ -3565,31 +6331,66 @@ var file_fairyring_common_shared_types_proto_rawDesc = []byte{ 0x08, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x42, 0x04, 0x0a, 0x02, 0x69, 0x64, 0x22, 0x19, 0x0a, 0x17, 0x47, 0x65, 0x74, 0x41, 0x67, 0x67, 0x72, 0x4b, 0x65, 0x79, 0x73, 0x68, 0x61, - 0x72, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x61, 0x0a, 0x0f, 0x41, 0x63, - 0x74, 0x69, 0x76, 0x65, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 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, 0x61, 0x0a, - 0x0f, 0x51, 0x75, 0x65, 0x75, 0x65, 0x64, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 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, 0xac, 0x01, 0x0a, 0x14, 0x63, 0x6f, 0x6d, 0x2e, 0x66, 0x61, 0x69, 0x72, 0x79, 0x72, 0x69, - 0x6e, 0x67, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x42, 0x10, 0x53, 0x68, 0x61, 0x72, 0x65, - 0x64, 0x54, 0x79, 0x70, 0x65, 0x73, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x21, 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, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, - 0xa2, 0x02, 0x03, 0x46, 0x43, 0x58, 0xaa, 0x02, 0x10, 0x46, 0x61, 0x69, 0x72, 0x79, 0x72, 0x69, - 0x6e, 0x67, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0xca, 0x02, 0x10, 0x46, 0x61, 0x69, 0x72, - 0x79, 0x72, 0x69, 0x6e, 0x67, 0x5c, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0xe2, 0x02, 0x1c, 0x46, - 0x61, 0x69, 0x72, 0x79, 0x72, 0x69, 0x6e, 0x67, 0x5c, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x5c, - 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x11, 0x46, 0x61, - 0x69, 0x72, 0x79, 0x72, 0x69, 0x6e, 0x67, 0x3a, 0x3a, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x62, - 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x72, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x8e, 0x01, 0x0a, 0x12, 0x47, + 0x65, 0x74, 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x73, 0x68, 0x61, 0x72, + 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, + 0x12, 0x1a, 0x0a, 0x08, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x08, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x1c, 0x0a, 0x09, + 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x65, 0x72, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x65, + 0x63, 0x70, 0x5f, 0x70, 0x75, 0x62, 0x6b, 0x65, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0a, 0x73, 0x65, 0x63, 0x70, 0x50, 0x75, 0x62, 0x6b, 0x65, 0x79, 0x22, 0x34, 0x0a, 0x1a, 0x47, + 0x65, 0x74, 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x73, 0x68, 0x61, 0x72, + 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x75, 0x62, + 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x70, 0x75, 0x62, 0x6b, 0x65, + 0x79, 0x22, 0x61, 0x0a, 0x0f, 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, 0x50, 0x75, 0x62, 0x6c, 0x69, + 0x63, 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, 0x61, 0x0a, 0x0f, 0x51, 0x75, 0x65, 0x75, 0x65, 0x64, 0x50, 0x75, + 0x62, 0x6c, 0x69, 0x63, 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, 0x51, 0x0a, 0x16, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x73, 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, 0x1d, 0x0a, 0x0a, 0x72, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x22, 0x8a, 0x01, 0x0a, 0x11, 0x45, + 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x65, 0x64, 0x4b, 0x65, 0x79, 0x73, 0x68, 0x61, 0x72, 0x65, + 0x12, 0x1c, 0x0a, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x65, 0x72, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x65, 0x72, 0x12, 0x57, + 0x0a, 0x11, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x5f, 0x6b, 0x65, 0x79, 0x73, 0x68, 0x61, + 0x72, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x66, 0x61, 0x69, 0x72, + 0x79, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x49, 0x6e, 0x64, + 0x65, 0x78, 0x65, 0x64, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x65, 0x64, 0x4b, 0x65, 0x79, + 0x73, 0x68, 0x61, 0x72, 0x65, 0x52, 0x10, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x4b, 0x65, + 0x79, 0x73, 0x68, 0x61, 0x72, 0x65, 0x73, 0x22, 0x8e, 0x01, 0x0a, 0x18, 0x49, 0x6e, 0x64, 0x65, + 0x78, 0x65, 0x64, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x65, 0x64, 0x4b, 0x65, 0x79, 0x73, + 0x68, 0x61, 0x72, 0x65, 0x12, 0x38, 0x0a, 0x18, 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x65, + 0x64, 0x5f, 0x6b, 0x65, 0x79, 0x73, 0x68, 0x61, 0x72, 0x65, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x16, 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x65, + 0x64, 0x4b, 0x65, 0x79, 0x73, 0x68, 0x61, 0x72, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x38, + 0x0a, 0x18, 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x65, 0x64, 0x5f, 0x6b, 0x65, 0x79, 0x73, + 0x68, 0x61, 0x72, 0x65, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, + 0x52, 0x16, 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x65, 0x64, 0x4b, 0x65, 0x79, 0x73, 0x68, + 0x61, 0x72, 0x65, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x42, 0xac, 0x01, 0x0a, 0x14, 0x63, 0x6f, 0x6d, + 0x2e, 0x66, 0x61, 0x69, 0x72, 0x79, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, + 0x6e, 0x42, 0x10, 0x53, 0x68, 0x61, 0x72, 0x65, 0x64, 0x54, 0x79, 0x70, 0x65, 0x73, 0x50, 0x72, + 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x21, 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, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0xa2, 0x02, 0x03, 0x46, 0x43, 0x58, 0xaa, 0x02, + 0x10, 0x46, 0x61, 0x69, 0x72, 0x79, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, + 0x6e, 0xca, 0x02, 0x10, 0x46, 0x61, 0x69, 0x72, 0x79, 0x72, 0x69, 0x6e, 0x67, 0x5c, 0x43, 0x6f, + 0x6d, 0x6d, 0x6f, 0x6e, 0xe2, 0x02, 0x1c, 0x46, 0x61, 0x69, 0x72, 0x79, 0x72, 0x69, 0x6e, 0x67, + 0x5c, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, + 0x61, 0x74, 0x61, 0xea, 0x02, 0x11, 0x46, 0x61, 0x69, 0x72, 0x79, 0x72, 0x69, 0x6e, 0x67, 0x3a, + 0x3a, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -3604,23 +6405,29 @@ func file_fairyring_common_shared_types_proto_rawDescGZIP() []byte { return file_fairyring_common_shared_types_proto_rawDescData } -var file_fairyring_common_shared_types_proto_msgTypes = make([]protoimpl.MessageInfo, 6) +var file_fairyring_common_shared_types_proto_msgTypes = make([]protoimpl.MessageInfo, 11) var file_fairyring_common_shared_types_proto_goTypes = []interface{}{ (*RequestAggrKeyshare)(nil), // 0: fairyring.common.RequestAggrKeyshare (*RequestAggrKeyshareResponse)(nil), // 1: fairyring.common.RequestAggrKeyshareResponse (*GetAggrKeyshare)(nil), // 2: fairyring.common.GetAggrKeyshare (*GetAggrKeyshareResponse)(nil), // 3: fairyring.common.GetAggrKeyshareResponse - (*ActivePublicKey)(nil), // 4: fairyring.common.ActivePublicKey - (*QueuedPublicKey)(nil), // 5: fairyring.common.QueuedPublicKey - (*durationpb.Duration)(nil), // 6: google.protobuf.Duration + (*GetPrivateKeyshare)(nil), // 4: fairyring.common.GetPrivateKeyshare + (*GetPrivateKeyshareResponse)(nil), // 5: fairyring.common.GetPrivateKeyshareResponse + (*ActivePublicKey)(nil), // 6: fairyring.common.ActivePublicKey + (*QueuedPublicKey)(nil), // 7: fairyring.common.QueuedPublicKey + (*RequestPrivateKeyshare)(nil), // 8: fairyring.common.RequestPrivateKeyshare + (*EncryptedKeyshare)(nil), // 9: fairyring.common.EncryptedKeyshare + (*IndexedEncryptedKeyshare)(nil), // 10: fairyring.common.IndexedEncryptedKeyshare + (*durationpb.Duration)(nil), // 11: google.protobuf.Duration } var file_fairyring_common_shared_types_proto_depIdxs = []int32{ - 6, // 0: fairyring.common.RequestAggrKeyshare.estimated_delay:type_name -> google.protobuf.Duration - 1, // [1:1] is the sub-list for method output_type - 1, // [1:1] is the sub-list for method input_type - 1, // [1:1] is the sub-list for extension type_name - 1, // [1:1] is the sub-list for extension extendee - 0, // [0:1] is the sub-list for field type_name + 11, // 0: fairyring.common.RequestAggrKeyshare.estimated_delay:type_name -> google.protobuf.Duration + 10, // 1: fairyring.common.EncryptedKeyshare.private_keyshares:type_name -> fairyring.common.IndexedEncryptedKeyshare + 2, // [2:2] is the sub-list for method output_type + 2, // [2:2] is the sub-list for method input_type + 2, // [2:2] is the sub-list for extension type_name + 2, // [2:2] is the sub-list for extension extendee + 0, // [0:2] is the sub-list for field type_name } func init() { file_fairyring_common_shared_types_proto_init() } @@ -3678,7 +6485,7 @@ func file_fairyring_common_shared_types_proto_init() { } } file_fairyring_common_shared_types_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ActivePublicKey); i { + switch v := v.(*GetPrivateKeyshare); i { case 0: return &v.state case 1: @@ -3690,6 +6497,30 @@ func file_fairyring_common_shared_types_proto_init() { } } file_fairyring_common_shared_types_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetPrivateKeyshareResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_fairyring_common_shared_types_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ActivePublicKey); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_fairyring_common_shared_types_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*QueuedPublicKey); i { case 0: return &v.state @@ -3701,6 +6532,42 @@ func file_fairyring_common_shared_types_proto_init() { return nil } } + file_fairyring_common_shared_types_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*RequestPrivateKeyshare); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_fairyring_common_shared_types_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*EncryptedKeyshare); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_fairyring_common_shared_types_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*IndexedEncryptedKeyshare); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } } file_fairyring_common_shared_types_proto_msgTypes[0].OneofWrappers = []interface{}{ (*RequestAggrKeyshare_ProposalId)(nil), @@ -3716,7 +6583,7 @@ func file_fairyring_common_shared_types_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_fairyring_common_shared_types_proto_rawDesc, NumEnums: 0, - NumMessages: 6, + NumMessages: 11, NumExtensions: 0, NumServices: 0, }, diff --git a/api/fairyring/keyshare/general_key_share.pulsar.go b/api/fairyring/keyshare/general_key_share.pulsar.go index 9b53f80d..15702218 100644 --- a/api/fairyring/keyshare/general_key_share.pulsar.go +++ b/api/fairyring/keyshare/general_key_share.pulsar.go @@ -768,6 +768,762 @@ func (x *fastReflection_GeneralKeyShare) ProtoMethods() *protoiface.Methods { } } +var ( + md_ValidatorEncryptedKeyShare protoreflect.MessageDescriptor + fd_ValidatorEncryptedKeyShare_validator protoreflect.FieldDescriptor + fd_ValidatorEncryptedKeyShare_requester protoreflect.FieldDescriptor + fd_ValidatorEncryptedKeyShare_keyShare protoreflect.FieldDescriptor + fd_ValidatorEncryptedKeyShare_keyShareIndex protoreflect.FieldDescriptor + fd_ValidatorEncryptedKeyShare_receivedTimestamp protoreflect.FieldDescriptor + fd_ValidatorEncryptedKeyShare_receivedBlockHeight protoreflect.FieldDescriptor + fd_ValidatorEncryptedKeyShare_identity protoreflect.FieldDescriptor +) + +func init() { + file_fairyring_keyshare_general_key_share_proto_init() + md_ValidatorEncryptedKeyShare = File_fairyring_keyshare_general_key_share_proto.Messages().ByName("ValidatorEncryptedKeyShare") + fd_ValidatorEncryptedKeyShare_validator = md_ValidatorEncryptedKeyShare.Fields().ByName("validator") + fd_ValidatorEncryptedKeyShare_requester = md_ValidatorEncryptedKeyShare.Fields().ByName("requester") + fd_ValidatorEncryptedKeyShare_keyShare = md_ValidatorEncryptedKeyShare.Fields().ByName("keyShare") + fd_ValidatorEncryptedKeyShare_keyShareIndex = md_ValidatorEncryptedKeyShare.Fields().ByName("keyShareIndex") + fd_ValidatorEncryptedKeyShare_receivedTimestamp = md_ValidatorEncryptedKeyShare.Fields().ByName("receivedTimestamp") + fd_ValidatorEncryptedKeyShare_receivedBlockHeight = md_ValidatorEncryptedKeyShare.Fields().ByName("receivedBlockHeight") + fd_ValidatorEncryptedKeyShare_identity = md_ValidatorEncryptedKeyShare.Fields().ByName("identity") +} + +var _ protoreflect.Message = (*fastReflection_ValidatorEncryptedKeyShare)(nil) + +type fastReflection_ValidatorEncryptedKeyShare ValidatorEncryptedKeyShare + +func (x *ValidatorEncryptedKeyShare) ProtoReflect() protoreflect.Message { + return (*fastReflection_ValidatorEncryptedKeyShare)(x) +} + +func (x *ValidatorEncryptedKeyShare) slowProtoReflect() protoreflect.Message { + mi := &file_fairyring_keyshare_general_key_share_proto_msgTypes[1] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +var _fastReflection_ValidatorEncryptedKeyShare_messageType fastReflection_ValidatorEncryptedKeyShare_messageType +var _ protoreflect.MessageType = fastReflection_ValidatorEncryptedKeyShare_messageType{} + +type fastReflection_ValidatorEncryptedKeyShare_messageType struct{} + +func (x fastReflection_ValidatorEncryptedKeyShare_messageType) Zero() protoreflect.Message { + return (*fastReflection_ValidatorEncryptedKeyShare)(nil) +} +func (x fastReflection_ValidatorEncryptedKeyShare_messageType) New() protoreflect.Message { + return new(fastReflection_ValidatorEncryptedKeyShare) +} +func (x fastReflection_ValidatorEncryptedKeyShare_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_ValidatorEncryptedKeyShare +} + +// Descriptor returns message descriptor, which contains only the protobuf +// type information for the message. +func (x *fastReflection_ValidatorEncryptedKeyShare) Descriptor() protoreflect.MessageDescriptor { + return md_ValidatorEncryptedKeyShare +} + +// Type returns the message type, which encapsulates both Go and protobuf +// type information. If the Go type information is not needed, +// it is recommended that the message descriptor be used instead. +func (x *fastReflection_ValidatorEncryptedKeyShare) Type() protoreflect.MessageType { + return _fastReflection_ValidatorEncryptedKeyShare_messageType +} + +// New returns a newly allocated and mutable empty message. +func (x *fastReflection_ValidatorEncryptedKeyShare) New() protoreflect.Message { + return new(fastReflection_ValidatorEncryptedKeyShare) +} + +// Interface unwraps the message reflection interface and +// returns the underlying ProtoMessage interface. +func (x *fastReflection_ValidatorEncryptedKeyShare) Interface() protoreflect.ProtoMessage { + return (*ValidatorEncryptedKeyShare)(x) +} + +// Range iterates over every populated field in an undefined order, +// calling f for each field descriptor and value encountered. +// Range returns immediately if f returns false. +// While iterating, mutating operations may only be performed +// on the current field descriptor. +func (x *fastReflection_ValidatorEncryptedKeyShare) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { + if x.Validator != "" { + value := protoreflect.ValueOfString(x.Validator) + if !f(fd_ValidatorEncryptedKeyShare_validator, value) { + return + } + } + if x.Requester != "" { + value := protoreflect.ValueOfString(x.Requester) + if !f(fd_ValidatorEncryptedKeyShare_requester, value) { + return + } + } + if x.KeyShare != "" { + value := protoreflect.ValueOfString(x.KeyShare) + if !f(fd_ValidatorEncryptedKeyShare_keyShare, value) { + return + } + } + if x.KeyShareIndex != uint64(0) { + value := protoreflect.ValueOfUint64(x.KeyShareIndex) + if !f(fd_ValidatorEncryptedKeyShare_keyShareIndex, value) { + return + } + } + if x.ReceivedTimestamp != uint64(0) { + value := protoreflect.ValueOfUint64(x.ReceivedTimestamp) + if !f(fd_ValidatorEncryptedKeyShare_receivedTimestamp, value) { + return + } + } + if x.ReceivedBlockHeight != uint64(0) { + value := protoreflect.ValueOfUint64(x.ReceivedBlockHeight) + if !f(fd_ValidatorEncryptedKeyShare_receivedBlockHeight, value) { + return + } + } + if x.Identity != "" { + value := protoreflect.ValueOfString(x.Identity) + if !f(fd_ValidatorEncryptedKeyShare_identity, value) { + return + } + } +} + +// Has reports whether a field is populated. +// +// Some fields have the property of nullability where it is possible to +// distinguish between the default value of a field and whether the field +// was explicitly populated with the default value. Singular message fields, +// member fields of a oneof, and proto2 scalar fields are nullable. Such +// fields are populated only if explicitly set. +// +// In other cases (aside from the nullable cases above), +// a proto3 scalar field is populated if it contains a non-zero value, and +// a repeated field is populated if it is non-empty. +func (x *fastReflection_ValidatorEncryptedKeyShare) Has(fd protoreflect.FieldDescriptor) bool { + switch fd.FullName() { + case "fairyring.keyshare.ValidatorEncryptedKeyShare.validator": + return x.Validator != "" + case "fairyring.keyshare.ValidatorEncryptedKeyShare.requester": + return x.Requester != "" + case "fairyring.keyshare.ValidatorEncryptedKeyShare.keyShare": + return x.KeyShare != "" + case "fairyring.keyshare.ValidatorEncryptedKeyShare.keyShareIndex": + return x.KeyShareIndex != uint64(0) + case "fairyring.keyshare.ValidatorEncryptedKeyShare.receivedTimestamp": + return x.ReceivedTimestamp != uint64(0) + case "fairyring.keyshare.ValidatorEncryptedKeyShare.receivedBlockHeight": + return x.ReceivedBlockHeight != uint64(0) + case "fairyring.keyshare.ValidatorEncryptedKeyShare.identity": + return x.Identity != "" + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: fairyring.keyshare.ValidatorEncryptedKeyShare")) + } + panic(fmt.Errorf("message fairyring.keyshare.ValidatorEncryptedKeyShare does not contain field %s", fd.FullName())) + } +} + +// Clear clears the field such that a subsequent Has call reports false. +// +// Clearing an extension field clears both the extension type and value +// associated with the given field number. +// +// Clear is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_ValidatorEncryptedKeyShare) Clear(fd protoreflect.FieldDescriptor) { + switch fd.FullName() { + case "fairyring.keyshare.ValidatorEncryptedKeyShare.validator": + x.Validator = "" + case "fairyring.keyshare.ValidatorEncryptedKeyShare.requester": + x.Requester = "" + case "fairyring.keyshare.ValidatorEncryptedKeyShare.keyShare": + x.KeyShare = "" + case "fairyring.keyshare.ValidatorEncryptedKeyShare.keyShareIndex": + x.KeyShareIndex = uint64(0) + case "fairyring.keyshare.ValidatorEncryptedKeyShare.receivedTimestamp": + x.ReceivedTimestamp = uint64(0) + case "fairyring.keyshare.ValidatorEncryptedKeyShare.receivedBlockHeight": + x.ReceivedBlockHeight = uint64(0) + case "fairyring.keyshare.ValidatorEncryptedKeyShare.identity": + x.Identity = "" + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: fairyring.keyshare.ValidatorEncryptedKeyShare")) + } + panic(fmt.Errorf("message fairyring.keyshare.ValidatorEncryptedKeyShare does not contain field %s", fd.FullName())) + } +} + +// Get retrieves the value for a field. +// +// For unpopulated scalars, it returns the default value, where +// the default value of a bytes scalar is guaranteed to be a copy. +// For unpopulated composite types, it returns an empty, read-only view +// of the value; to obtain a mutable reference, use Mutable. +func (x *fastReflection_ValidatorEncryptedKeyShare) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { + switch descriptor.FullName() { + case "fairyring.keyshare.ValidatorEncryptedKeyShare.validator": + value := x.Validator + return protoreflect.ValueOfString(value) + case "fairyring.keyshare.ValidatorEncryptedKeyShare.requester": + value := x.Requester + return protoreflect.ValueOfString(value) + case "fairyring.keyshare.ValidatorEncryptedKeyShare.keyShare": + value := x.KeyShare + return protoreflect.ValueOfString(value) + case "fairyring.keyshare.ValidatorEncryptedKeyShare.keyShareIndex": + value := x.KeyShareIndex + return protoreflect.ValueOfUint64(value) + case "fairyring.keyshare.ValidatorEncryptedKeyShare.receivedTimestamp": + value := x.ReceivedTimestamp + return protoreflect.ValueOfUint64(value) + case "fairyring.keyshare.ValidatorEncryptedKeyShare.receivedBlockHeight": + value := x.ReceivedBlockHeight + return protoreflect.ValueOfUint64(value) + case "fairyring.keyshare.ValidatorEncryptedKeyShare.identity": + value := x.Identity + return protoreflect.ValueOfString(value) + default: + if descriptor.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: fairyring.keyshare.ValidatorEncryptedKeyShare")) + } + panic(fmt.Errorf("message fairyring.keyshare.ValidatorEncryptedKeyShare does not contain field %s", descriptor.FullName())) + } +} + +// Set stores the value for a field. +// +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType. +// When setting a composite type, it is unspecified whether the stored value +// aliases the source's memory in any way. If the composite value is an +// empty, read-only value, then it panics. +// +// Set is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_ValidatorEncryptedKeyShare) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { + switch fd.FullName() { + case "fairyring.keyshare.ValidatorEncryptedKeyShare.validator": + x.Validator = value.Interface().(string) + case "fairyring.keyshare.ValidatorEncryptedKeyShare.requester": + x.Requester = value.Interface().(string) + case "fairyring.keyshare.ValidatorEncryptedKeyShare.keyShare": + x.KeyShare = value.Interface().(string) + case "fairyring.keyshare.ValidatorEncryptedKeyShare.keyShareIndex": + x.KeyShareIndex = value.Uint() + case "fairyring.keyshare.ValidatorEncryptedKeyShare.receivedTimestamp": + x.ReceivedTimestamp = value.Uint() + case "fairyring.keyshare.ValidatorEncryptedKeyShare.receivedBlockHeight": + x.ReceivedBlockHeight = value.Uint() + case "fairyring.keyshare.ValidatorEncryptedKeyShare.identity": + x.Identity = value.Interface().(string) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: fairyring.keyshare.ValidatorEncryptedKeyShare")) + } + panic(fmt.Errorf("message fairyring.keyshare.ValidatorEncryptedKeyShare does not contain field %s", fd.FullName())) + } +} + +// Mutable returns a mutable reference to a composite type. +// +// If the field is unpopulated, it may allocate a composite value. +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType +// if not already stored. +// It panics if the field does not contain a composite type. +// +// Mutable is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_ValidatorEncryptedKeyShare) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "fairyring.keyshare.ValidatorEncryptedKeyShare.validator": + panic(fmt.Errorf("field validator of message fairyring.keyshare.ValidatorEncryptedKeyShare is not mutable")) + case "fairyring.keyshare.ValidatorEncryptedKeyShare.requester": + panic(fmt.Errorf("field requester of message fairyring.keyshare.ValidatorEncryptedKeyShare is not mutable")) + case "fairyring.keyshare.ValidatorEncryptedKeyShare.keyShare": + panic(fmt.Errorf("field keyShare of message fairyring.keyshare.ValidatorEncryptedKeyShare is not mutable")) + case "fairyring.keyshare.ValidatorEncryptedKeyShare.keyShareIndex": + panic(fmt.Errorf("field keyShareIndex of message fairyring.keyshare.ValidatorEncryptedKeyShare is not mutable")) + case "fairyring.keyshare.ValidatorEncryptedKeyShare.receivedTimestamp": + panic(fmt.Errorf("field receivedTimestamp of message fairyring.keyshare.ValidatorEncryptedKeyShare is not mutable")) + case "fairyring.keyshare.ValidatorEncryptedKeyShare.receivedBlockHeight": + panic(fmt.Errorf("field receivedBlockHeight of message fairyring.keyshare.ValidatorEncryptedKeyShare is not mutable")) + case "fairyring.keyshare.ValidatorEncryptedKeyShare.identity": + panic(fmt.Errorf("field identity of message fairyring.keyshare.ValidatorEncryptedKeyShare is not mutable")) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: fairyring.keyshare.ValidatorEncryptedKeyShare")) + } + panic(fmt.Errorf("message fairyring.keyshare.ValidatorEncryptedKeyShare does not contain field %s", fd.FullName())) + } +} + +// NewField returns a new value that is assignable to the field +// for the given descriptor. For scalars, this returns the default value. +// For lists, maps, and messages, this returns a new, empty, mutable value. +func (x *fastReflection_ValidatorEncryptedKeyShare) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "fairyring.keyshare.ValidatorEncryptedKeyShare.validator": + return protoreflect.ValueOfString("") + case "fairyring.keyshare.ValidatorEncryptedKeyShare.requester": + return protoreflect.ValueOfString("") + case "fairyring.keyshare.ValidatorEncryptedKeyShare.keyShare": + return protoreflect.ValueOfString("") + case "fairyring.keyshare.ValidatorEncryptedKeyShare.keyShareIndex": + return protoreflect.ValueOfUint64(uint64(0)) + case "fairyring.keyshare.ValidatorEncryptedKeyShare.receivedTimestamp": + return protoreflect.ValueOfUint64(uint64(0)) + case "fairyring.keyshare.ValidatorEncryptedKeyShare.receivedBlockHeight": + return protoreflect.ValueOfUint64(uint64(0)) + case "fairyring.keyshare.ValidatorEncryptedKeyShare.identity": + return protoreflect.ValueOfString("") + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: fairyring.keyshare.ValidatorEncryptedKeyShare")) + } + panic(fmt.Errorf("message fairyring.keyshare.ValidatorEncryptedKeyShare does not contain field %s", fd.FullName())) + } +} + +// WhichOneof reports which field within the oneof is populated, +// returning nil if none are populated. +// It panics if the oneof descriptor does not belong to this message. +func (x *fastReflection_ValidatorEncryptedKeyShare) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { + switch d.FullName() { + default: + panic(fmt.Errorf("%s is not a oneof field in fairyring.keyshare.ValidatorEncryptedKeyShare", d.FullName())) + } + panic("unreachable") +} + +// GetUnknown retrieves the entire list of unknown fields. +// The caller may only mutate the contents of the RawFields +// if the mutated bytes are stored back into the message with SetUnknown. +func (x *fastReflection_ValidatorEncryptedKeyShare) GetUnknown() protoreflect.RawFields { + return x.unknownFields +} + +// SetUnknown stores an entire list of unknown fields. +// The raw fields must be syntactically valid according to the wire format. +// An implementation may panic if this is not the case. +// Once stored, the caller must not mutate the content of the RawFields. +// An empty RawFields may be passed to clear the fields. +// +// SetUnknown is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_ValidatorEncryptedKeyShare) SetUnknown(fields protoreflect.RawFields) { + x.unknownFields = fields +} + +// IsValid reports whether the message is valid. +// +// An invalid message is an empty, read-only value. +// +// An invalid message often corresponds to a nil pointer of the concrete +// message type, but the details are implementation dependent. +// Validity is not part of the protobuf data model, and may not +// be preserved in marshaling or other operations. +func (x *fastReflection_ValidatorEncryptedKeyShare) IsValid() bool { + return x != nil +} + +// ProtoMethods returns optional fastReflectionFeature-path implementations of various operations. +// This method may return nil. +// +// The returned methods type is identical to +// "google.golang.org/protobuf/runtime/protoiface".Methods. +// Consult the protoiface package documentation for details. +func (x *fastReflection_ValidatorEncryptedKeyShare) ProtoMethods() *protoiface.Methods { + size := func(input protoiface.SizeInput) protoiface.SizeOutput { + x := input.Message.Interface().(*ValidatorEncryptedKeyShare) + if x == nil { + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: 0, + } + } + options := runtime.SizeInputToOptions(input) + _ = options + var n int + var l int + _ = l + l = len(x.Validator) + if l > 0 { + n += 1 + l + runtime.Sov(uint64(l)) + } + l = len(x.Requester) + if l > 0 { + n += 1 + l + runtime.Sov(uint64(l)) + } + l = len(x.KeyShare) + if l > 0 { + n += 1 + l + runtime.Sov(uint64(l)) + } + if x.KeyShareIndex != 0 { + n += 1 + runtime.Sov(uint64(x.KeyShareIndex)) + } + if x.ReceivedTimestamp != 0 { + n += 1 + runtime.Sov(uint64(x.ReceivedTimestamp)) + } + if x.ReceivedBlockHeight != 0 { + n += 1 + runtime.Sov(uint64(x.ReceivedBlockHeight)) + } + l = len(x.Identity) + if l > 0 { + n += 1 + l + runtime.Sov(uint64(l)) + } + if x.unknownFields != nil { + n += len(x.unknownFields) + } + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: n, + } + } + + marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { + x := input.Message.Interface().(*ValidatorEncryptedKeyShare) + if x == nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + options := runtime.MarshalInputToOptions(input) + _ = options + size := options.Size(x) + dAtA := make([]byte, size) + i := len(dAtA) + _ = i + var l int + _ = l + if x.unknownFields != nil { + i -= len(x.unknownFields) + copy(dAtA[i:], x.unknownFields) + } + if len(x.Identity) > 0 { + i -= len(x.Identity) + copy(dAtA[i:], x.Identity) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Identity))) + i-- + dAtA[i] = 0x3a + } + if x.ReceivedBlockHeight != 0 { + i = runtime.EncodeVarint(dAtA, i, uint64(x.ReceivedBlockHeight)) + i-- + dAtA[i] = 0x30 + } + if x.ReceivedTimestamp != 0 { + i = runtime.EncodeVarint(dAtA, i, uint64(x.ReceivedTimestamp)) + i-- + dAtA[i] = 0x28 + } + if x.KeyShareIndex != 0 { + i = runtime.EncodeVarint(dAtA, i, uint64(x.KeyShareIndex)) + i-- + dAtA[i] = 0x20 + } + if len(x.KeyShare) > 0 { + i -= len(x.KeyShare) + copy(dAtA[i:], x.KeyShare) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.KeyShare))) + i-- + dAtA[i] = 0x1a + } + if len(x.Requester) > 0 { + i -= len(x.Requester) + copy(dAtA[i:], x.Requester) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Requester))) + i-- + dAtA[i] = 0x12 + } + if len(x.Validator) > 0 { + i -= len(x.Validator) + copy(dAtA[i:], x.Validator) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Validator))) + i-- + dAtA[i] = 0xa + } + if input.Buf != nil { + input.Buf = append(input.Buf, dAtA...) + } else { + input.Buf = dAtA + } + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { + x := input.Message.Interface().(*ValidatorEncryptedKeyShare) + if x == nil { + return protoiface.UnmarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Flags: input.Flags, + }, nil + } + options := runtime.UnmarshalInputToOptions(input) + _ = options + dAtA := input.Buf + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + 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++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: ValidatorEncryptedKeyShare: wiretype end group for non-group") + } + if fieldNum <= 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: ValidatorEncryptedKeyShare: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Validator", wireType) + } + var stringLen uint64 + 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++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + x.Validator = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Requester", wireType) + } + var stringLen uint64 + 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++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + x.Requester = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 3: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field KeyShare", wireType) + } + var stringLen uint64 + 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++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + x.KeyShare = 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 KeyShareIndex", wireType) + } + x.KeyShareIndex = 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.KeyShareIndex |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 5: + if wireType != 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field ReceivedTimestamp", wireType) + } + x.ReceivedTimestamp = 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.ReceivedTimestamp |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 6: + if wireType != 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field ReceivedBlockHeight", wireType) + } + x.ReceivedBlockHeight = 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.ReceivedBlockHeight |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 7: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Identity", wireType) + } + var stringLen uint64 + 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++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + x.Identity = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := runtime.Skip(dAtA[iNdEx:]) + if err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if !options.DiscardUnknown { + x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + } + iNdEx += skippy + } + } + + if iNdEx > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil + } + return &protoiface.Methods{ + NoUnkeyedLiterals: struct{}{}, + Flags: protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown, + Size: size, + Marshal: marshal, + Unmarshal: unmarshal, + Merge: nil, + CheckInitialized: nil, + } +} + // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.27.0 @@ -864,6 +1620,89 @@ func (x *GeneralKeyShare) GetReceivedBlockHeight() uint64 { return 0 } +type ValidatorEncryptedKeyShare struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Validator string `protobuf:"bytes,1,opt,name=validator,proto3" json:"validator,omitempty"` + Requester string `protobuf:"bytes,2,opt,name=requester,proto3" json:"requester,omitempty"` + KeyShare string `protobuf:"bytes,3,opt,name=keyShare,proto3" json:"keyShare,omitempty"` + KeyShareIndex uint64 `protobuf:"varint,4,opt,name=keyShareIndex,proto3" json:"keyShareIndex,omitempty"` + ReceivedTimestamp uint64 `protobuf:"varint,5,opt,name=receivedTimestamp,proto3" json:"receivedTimestamp,omitempty"` + ReceivedBlockHeight uint64 `protobuf:"varint,6,opt,name=receivedBlockHeight,proto3" json:"receivedBlockHeight,omitempty"` + Identity string `protobuf:"bytes,7,opt,name=identity,proto3" json:"identity,omitempty"` +} + +func (x *ValidatorEncryptedKeyShare) Reset() { + *x = ValidatorEncryptedKeyShare{} + if protoimpl.UnsafeEnabled { + mi := &file_fairyring_keyshare_general_key_share_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ValidatorEncryptedKeyShare) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ValidatorEncryptedKeyShare) ProtoMessage() {} + +// Deprecated: Use ValidatorEncryptedKeyShare.ProtoReflect.Descriptor instead. +func (*ValidatorEncryptedKeyShare) Descriptor() ([]byte, []int) { + return file_fairyring_keyshare_general_key_share_proto_rawDescGZIP(), []int{1} +} + +func (x *ValidatorEncryptedKeyShare) GetValidator() string { + if x != nil { + return x.Validator + } + return "" +} + +func (x *ValidatorEncryptedKeyShare) GetRequester() string { + if x != nil { + return x.Requester + } + return "" +} + +func (x *ValidatorEncryptedKeyShare) GetKeyShare() string { + if x != nil { + return x.KeyShare + } + return "" +} + +func (x *ValidatorEncryptedKeyShare) GetKeyShareIndex() uint64 { + if x != nil { + return x.KeyShareIndex + } + return 0 +} + +func (x *ValidatorEncryptedKeyShare) GetReceivedTimestamp() uint64 { + if x != nil { + return x.ReceivedTimestamp + } + return 0 +} + +func (x *ValidatorEncryptedKeyShare) GetReceivedBlockHeight() uint64 { + if x != nil { + return x.ReceivedBlockHeight + } + return 0 +} + +func (x *ValidatorEncryptedKeyShare) GetIdentity() string { + if x != nil { + return x.Identity + } + return "" +} + var File_fairyring_keyshare_general_key_share_proto protoreflect.FileDescriptor var file_fairyring_keyshare_general_key_share_proto_rawDesc = []byte{ @@ -887,19 +1726,37 @@ var file_fairyring_keyshare_general_key_share_proto_rawDesc = []byte{ 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, 0x42, 0xbc, 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, 0x14, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x6c, 0x4b, 0x65, 0x79, 0x53, 0x68, 0x61, - 0x72, 0x65, 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, + 0x48, 0x65, 0x69, 0x67, 0x68, 0x74, 0x22, 0x96, 0x02, 0x0a, 0x1a, 0x56, 0x61, 0x6c, 0x69, 0x64, + 0x61, 0x74, 0x6f, 0x72, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x65, 0x64, 0x4b, 0x65, 0x79, + 0x53, 0x68, 0x61, 0x72, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, + 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, + 0x74, 0x6f, 0x72, 0x12, 0x1c, 0x0a, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x65, 0x72, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x65, + 0x72, 0x12, 0x1a, 0x0a, 0x08, 0x6b, 0x65, 0x79, 0x53, 0x68, 0x61, 0x72, 0x65, 0x18, 0x03, 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, 0x04, + 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, 0x05, 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, 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, 0x1a, 0x0a, 0x08, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, + 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x42, + 0xbc, 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, 0x14, 0x47, 0x65, 0x6e, 0x65, + 0x72, 0x61, 0x6c, 0x4b, 0x65, 0x79, 0x53, 0x68, 0x61, 0x72, 0x65, 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 ( @@ -914,9 +1771,10 @@ func file_fairyring_keyshare_general_key_share_proto_rawDescGZIP() []byte { return file_fairyring_keyshare_general_key_share_proto_rawDescData } -var file_fairyring_keyshare_general_key_share_proto_msgTypes = make([]protoimpl.MessageInfo, 1) +var file_fairyring_keyshare_general_key_share_proto_msgTypes = make([]protoimpl.MessageInfo, 2) var file_fairyring_keyshare_general_key_share_proto_goTypes = []interface{}{ - (*GeneralKeyShare)(nil), // 0: fairyring.keyshare.GeneralKeyShare + (*GeneralKeyShare)(nil), // 0: fairyring.keyshare.GeneralKeyShare + (*ValidatorEncryptedKeyShare)(nil), // 1: fairyring.keyshare.ValidatorEncryptedKeyShare } var file_fairyring_keyshare_general_key_share_proto_depIdxs = []int32{ 0, // [0:0] is the sub-list for method output_type @@ -944,6 +1802,18 @@ func file_fairyring_keyshare_general_key_share_proto_init() { return nil } } + file_fairyring_keyshare_general_key_share_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ValidatorEncryptedKeyShare); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } } type x struct{} out := protoimpl.TypeBuilder{ @@ -951,7 +1821,7 @@ func file_fairyring_keyshare_general_key_share_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_fairyring_keyshare_general_key_share_proto_rawDesc, NumEnums: 0, - NumMessages: 1, + NumMessages: 2, NumExtensions: 0, NumServices: 0, }, diff --git a/api/fairyring/keyshare/packet.pulsar.go b/api/fairyring/keyshare/packet.pulsar.go index 26caf209..addf3a63 100644 --- a/api/fairyring/keyshare/packet.pulsar.go +++ b/api/fairyring/keyshare/packet.pulsar.go @@ -16,12 +16,15 @@ import ( ) var ( - md_KeysharePacketData protoreflect.MessageDescriptor - fd_KeysharePacketData_noData protoreflect.FieldDescriptor - fd_KeysharePacketData_requestAggrKeysharePacket protoreflect.FieldDescriptor - fd_KeysharePacketData_getAggrKeysharePacket protoreflect.FieldDescriptor - fd_KeysharePacketData_aggrKeyshareDataPacket protoreflect.FieldDescriptor - fd_KeysharePacketData_currentKeysPacket protoreflect.FieldDescriptor + md_KeysharePacketData protoreflect.MessageDescriptor + fd_KeysharePacketData_noData protoreflect.FieldDescriptor + fd_KeysharePacketData_requestAggrKeysharePacket protoreflect.FieldDescriptor + fd_KeysharePacketData_getAggrKeysharePacket protoreflect.FieldDescriptor + fd_KeysharePacketData_aggrKeyshareDataPacket protoreflect.FieldDescriptor + fd_KeysharePacketData_encryptedKeysharesPacketData protoreflect.FieldDescriptor + fd_KeysharePacketData_currentKeysPacket protoreflect.FieldDescriptor + fd_KeysharePacketData_request_priv_keyshare_packet protoreflect.FieldDescriptor + fd_KeysharePacketData_getPrivateKeysharePacket protoreflect.FieldDescriptor ) func init() { @@ -31,7 +34,10 @@ func init() { fd_KeysharePacketData_requestAggrKeysharePacket = md_KeysharePacketData.Fields().ByName("requestAggrKeysharePacket") fd_KeysharePacketData_getAggrKeysharePacket = md_KeysharePacketData.Fields().ByName("getAggrKeysharePacket") fd_KeysharePacketData_aggrKeyshareDataPacket = md_KeysharePacketData.Fields().ByName("aggrKeyshareDataPacket") + fd_KeysharePacketData_encryptedKeysharesPacketData = md_KeysharePacketData.Fields().ByName("encryptedKeysharesPacketData") fd_KeysharePacketData_currentKeysPacket = md_KeysharePacketData.Fields().ByName("currentKeysPacket") + fd_KeysharePacketData_request_priv_keyshare_packet = md_KeysharePacketData.Fields().ByName("request_priv_keyshare_packet") + fd_KeysharePacketData_getPrivateKeysharePacket = md_KeysharePacketData.Fields().ByName("getPrivateKeysharePacket") } var _ protoreflect.Message = (*fastReflection_KeysharePacketData)(nil) @@ -125,12 +131,30 @@ func (x *fastReflection_KeysharePacketData) Range(f func(protoreflect.FieldDescr if !f(fd_KeysharePacketData_aggrKeyshareDataPacket, value) { return } + case *KeysharePacketData_EncryptedKeysharesPacketData: + v := o.EncryptedKeysharesPacketData + value := protoreflect.ValueOfMessage(v.ProtoReflect()) + if !f(fd_KeysharePacketData_encryptedKeysharesPacketData, value) { + return + } case *KeysharePacketData_CurrentKeysPacket: v := o.CurrentKeysPacket value := protoreflect.ValueOfMessage(v.ProtoReflect()) if !f(fd_KeysharePacketData_currentKeysPacket, value) { return } + case *KeysharePacketData_RequestPrivKeysharePacket: + v := o.RequestPrivKeysharePacket + value := protoreflect.ValueOfMessage(v.ProtoReflect()) + if !f(fd_KeysharePacketData_request_priv_keyshare_packet, value) { + return + } + case *KeysharePacketData_GetPrivateKeysharePacket: + v := o.GetPrivateKeysharePacket + value := protoreflect.ValueOfMessage(v.ProtoReflect()) + if !f(fd_KeysharePacketData_getPrivateKeysharePacket, value) { + return + } } } } @@ -180,6 +204,14 @@ func (x *fastReflection_KeysharePacketData) Has(fd protoreflect.FieldDescriptor) } else { return false } + case "fairyring.keyshare.KeysharePacketData.encryptedKeysharesPacketData": + if x.Packet == nil { + return false + } else if _, ok := x.Packet.(*KeysharePacketData_EncryptedKeysharesPacketData); ok { + return true + } else { + return false + } case "fairyring.keyshare.KeysharePacketData.currentKeysPacket": if x.Packet == nil { return false @@ -188,6 +220,22 @@ func (x *fastReflection_KeysharePacketData) Has(fd protoreflect.FieldDescriptor) } else { return false } + case "fairyring.keyshare.KeysharePacketData.request_priv_keyshare_packet": + if x.Packet == nil { + return false + } else if _, ok := x.Packet.(*KeysharePacketData_RequestPrivKeysharePacket); ok { + return true + } else { + return false + } + case "fairyring.keyshare.KeysharePacketData.getPrivateKeysharePacket": + if x.Packet == nil { + return false + } else if _, ok := x.Packet.(*KeysharePacketData_GetPrivateKeysharePacket); ok { + return true + } else { + return false + } default: if fd.IsExtension() { panic(fmt.Errorf("proto3 declared messages do not support extensions: fairyring.keyshare.KeysharePacketData")) @@ -212,8 +260,14 @@ func (x *fastReflection_KeysharePacketData) Clear(fd protoreflect.FieldDescripto x.Packet = nil case "fairyring.keyshare.KeysharePacketData.aggrKeyshareDataPacket": x.Packet = nil + case "fairyring.keyshare.KeysharePacketData.encryptedKeysharesPacketData": + x.Packet = nil case "fairyring.keyshare.KeysharePacketData.currentKeysPacket": x.Packet = nil + case "fairyring.keyshare.KeysharePacketData.request_priv_keyshare_packet": + x.Packet = nil + case "fairyring.keyshare.KeysharePacketData.getPrivateKeysharePacket": + x.Packet = nil default: if fd.IsExtension() { panic(fmt.Errorf("proto3 declared messages do not support extensions: fairyring.keyshare.KeysharePacketData")) @@ -262,6 +316,14 @@ func (x *fastReflection_KeysharePacketData) Get(descriptor protoreflect.FieldDes } else { return protoreflect.ValueOfMessage((*AggrKeyshareDataPacketData)(nil).ProtoReflect()) } + case "fairyring.keyshare.KeysharePacketData.encryptedKeysharesPacketData": + if x.Packet == nil { + return protoreflect.ValueOfMessage((*EncryptedKeysharesPacketData)(nil).ProtoReflect()) + } else if v, ok := x.Packet.(*KeysharePacketData_EncryptedKeysharesPacketData); ok { + return protoreflect.ValueOfMessage(v.EncryptedKeysharesPacketData.ProtoReflect()) + } else { + return protoreflect.ValueOfMessage((*EncryptedKeysharesPacketData)(nil).ProtoReflect()) + } case "fairyring.keyshare.KeysharePacketData.currentKeysPacket": if x.Packet == nil { return protoreflect.ValueOfMessage((*CurrentKeysPacketData)(nil).ProtoReflect()) @@ -270,6 +332,22 @@ func (x *fastReflection_KeysharePacketData) Get(descriptor protoreflect.FieldDes } else { return protoreflect.ValueOfMessage((*CurrentKeysPacketData)(nil).ProtoReflect()) } + case "fairyring.keyshare.KeysharePacketData.request_priv_keyshare_packet": + if x.Packet == nil { + return protoreflect.ValueOfMessage((*RequestPrivateKeysharePacketData)(nil).ProtoReflect()) + } else if v, ok := x.Packet.(*KeysharePacketData_RequestPrivKeysharePacket); ok { + return protoreflect.ValueOfMessage(v.RequestPrivKeysharePacket.ProtoReflect()) + } else { + return protoreflect.ValueOfMessage((*RequestPrivateKeysharePacketData)(nil).ProtoReflect()) + } + case "fairyring.keyshare.KeysharePacketData.getPrivateKeysharePacket": + if x.Packet == nil { + return protoreflect.ValueOfMessage((*GetPrivateKeysharePacketData)(nil).ProtoReflect()) + } else if v, ok := x.Packet.(*KeysharePacketData_GetPrivateKeysharePacket); ok { + return protoreflect.ValueOfMessage(v.GetPrivateKeysharePacket.ProtoReflect()) + } else { + return protoreflect.ValueOfMessage((*GetPrivateKeysharePacketData)(nil).ProtoReflect()) + } default: if descriptor.IsExtension() { panic(fmt.Errorf("proto3 declared messages do not support extensions: fairyring.keyshare.KeysharePacketData")) @@ -302,9 +380,18 @@ func (x *fastReflection_KeysharePacketData) Set(fd protoreflect.FieldDescriptor, case "fairyring.keyshare.KeysharePacketData.aggrKeyshareDataPacket": cv := value.Message().Interface().(*AggrKeyshareDataPacketData) x.Packet = &KeysharePacketData_AggrKeyshareDataPacket{AggrKeyshareDataPacket: cv} + case "fairyring.keyshare.KeysharePacketData.encryptedKeysharesPacketData": + cv := value.Message().Interface().(*EncryptedKeysharesPacketData) + x.Packet = &KeysharePacketData_EncryptedKeysharesPacketData{EncryptedKeysharesPacketData: cv} case "fairyring.keyshare.KeysharePacketData.currentKeysPacket": cv := value.Message().Interface().(*CurrentKeysPacketData) x.Packet = &KeysharePacketData_CurrentKeysPacket{CurrentKeysPacket: cv} + case "fairyring.keyshare.KeysharePacketData.request_priv_keyshare_packet": + cv := value.Message().Interface().(*RequestPrivateKeysharePacketData) + x.Packet = &KeysharePacketData_RequestPrivKeysharePacket{RequestPrivKeysharePacket: cv} + case "fairyring.keyshare.KeysharePacketData.getPrivateKeysharePacket": + cv := value.Message().Interface().(*GetPrivateKeysharePacketData) + x.Packet = &KeysharePacketData_GetPrivateKeysharePacket{GetPrivateKeysharePacket: cv} default: if fd.IsExtension() { panic(fmt.Errorf("proto3 declared messages do not support extensions: fairyring.keyshare.KeysharePacketData")) @@ -389,6 +476,22 @@ func (x *fastReflection_KeysharePacketData) Mutable(fd protoreflect.FieldDescrip x.Packet = oneofValue return protoreflect.ValueOfMessage(value.ProtoReflect()) } + case "fairyring.keyshare.KeysharePacketData.encryptedKeysharesPacketData": + if x.Packet == nil { + value := &EncryptedKeysharesPacketData{} + oneofValue := &KeysharePacketData_EncryptedKeysharesPacketData{EncryptedKeysharesPacketData: value} + x.Packet = oneofValue + return protoreflect.ValueOfMessage(value.ProtoReflect()) + } + switch m := x.Packet.(type) { + case *KeysharePacketData_EncryptedKeysharesPacketData: + return protoreflect.ValueOfMessage(m.EncryptedKeysharesPacketData.ProtoReflect()) + default: + value := &EncryptedKeysharesPacketData{} + oneofValue := &KeysharePacketData_EncryptedKeysharesPacketData{EncryptedKeysharesPacketData: value} + x.Packet = oneofValue + return protoreflect.ValueOfMessage(value.ProtoReflect()) + } case "fairyring.keyshare.KeysharePacketData.currentKeysPacket": if x.Packet == nil { value := &CurrentKeysPacketData{} @@ -405,6 +508,38 @@ func (x *fastReflection_KeysharePacketData) Mutable(fd protoreflect.FieldDescrip x.Packet = oneofValue return protoreflect.ValueOfMessage(value.ProtoReflect()) } + case "fairyring.keyshare.KeysharePacketData.request_priv_keyshare_packet": + if x.Packet == nil { + value := &RequestPrivateKeysharePacketData{} + oneofValue := &KeysharePacketData_RequestPrivKeysharePacket{RequestPrivKeysharePacket: value} + x.Packet = oneofValue + return protoreflect.ValueOfMessage(value.ProtoReflect()) + } + switch m := x.Packet.(type) { + case *KeysharePacketData_RequestPrivKeysharePacket: + return protoreflect.ValueOfMessage(m.RequestPrivKeysharePacket.ProtoReflect()) + default: + value := &RequestPrivateKeysharePacketData{} + oneofValue := &KeysharePacketData_RequestPrivKeysharePacket{RequestPrivKeysharePacket: value} + x.Packet = oneofValue + return protoreflect.ValueOfMessage(value.ProtoReflect()) + } + case "fairyring.keyshare.KeysharePacketData.getPrivateKeysharePacket": + if x.Packet == nil { + value := &GetPrivateKeysharePacketData{} + oneofValue := &KeysharePacketData_GetPrivateKeysharePacket{GetPrivateKeysharePacket: value} + x.Packet = oneofValue + return protoreflect.ValueOfMessage(value.ProtoReflect()) + } + switch m := x.Packet.(type) { + case *KeysharePacketData_GetPrivateKeysharePacket: + return protoreflect.ValueOfMessage(m.GetPrivateKeysharePacket.ProtoReflect()) + default: + value := &GetPrivateKeysharePacketData{} + oneofValue := &KeysharePacketData_GetPrivateKeysharePacket{GetPrivateKeysharePacket: value} + x.Packet = oneofValue + return protoreflect.ValueOfMessage(value.ProtoReflect()) + } default: if fd.IsExtension() { panic(fmt.Errorf("proto3 declared messages do not support extensions: fairyring.keyshare.KeysharePacketData")) @@ -430,9 +565,18 @@ func (x *fastReflection_KeysharePacketData) NewField(fd protoreflect.FieldDescri case "fairyring.keyshare.KeysharePacketData.aggrKeyshareDataPacket": value := &AggrKeyshareDataPacketData{} return protoreflect.ValueOfMessage(value.ProtoReflect()) + case "fairyring.keyshare.KeysharePacketData.encryptedKeysharesPacketData": + value := &EncryptedKeysharesPacketData{} + return protoreflect.ValueOfMessage(value.ProtoReflect()) case "fairyring.keyshare.KeysharePacketData.currentKeysPacket": value := &CurrentKeysPacketData{} return protoreflect.ValueOfMessage(value.ProtoReflect()) + case "fairyring.keyshare.KeysharePacketData.request_priv_keyshare_packet": + value := &RequestPrivateKeysharePacketData{} + return protoreflect.ValueOfMessage(value.ProtoReflect()) + case "fairyring.keyshare.KeysharePacketData.getPrivateKeysharePacket": + value := &GetPrivateKeysharePacketData{} + return protoreflect.ValueOfMessage(value.ProtoReflect()) default: if fd.IsExtension() { panic(fmt.Errorf("proto3 declared messages do not support extensions: fairyring.keyshare.KeysharePacketData")) @@ -459,8 +603,14 @@ func (x *fastReflection_KeysharePacketData) WhichOneof(d protoreflect.OneofDescr return x.Descriptor().Fields().ByName("getAggrKeysharePacket") case *KeysharePacketData_AggrKeyshareDataPacket: return x.Descriptor().Fields().ByName("aggrKeyshareDataPacket") + case *KeysharePacketData_EncryptedKeysharesPacketData: + return x.Descriptor().Fields().ByName("encryptedKeysharesPacketData") case *KeysharePacketData_CurrentKeysPacket: return x.Descriptor().Fields().ByName("currentKeysPacket") + case *KeysharePacketData_RequestPrivKeysharePacket: + return x.Descriptor().Fields().ByName("request_priv_keyshare_packet") + case *KeysharePacketData_GetPrivateKeysharePacket: + return x.Descriptor().Fields().ByName("getPrivateKeysharePacket") } default: panic(fmt.Errorf("%s is not a oneof field in fairyring.keyshare.KeysharePacketData", d.FullName())) @@ -543,12 +693,30 @@ func (x *fastReflection_KeysharePacketData) ProtoMethods() *protoiface.Methods { } l = options.Size(x.AggrKeyshareDataPacket) n += 1 + l + runtime.Sov(uint64(l)) + case *KeysharePacketData_EncryptedKeysharesPacketData: + if x == nil { + break + } + l = options.Size(x.EncryptedKeysharesPacketData) + n += 1 + l + runtime.Sov(uint64(l)) case *KeysharePacketData_CurrentKeysPacket: if x == nil { break } l = options.Size(x.CurrentKeysPacket) n += 1 + l + runtime.Sov(uint64(l)) + case *KeysharePacketData_RequestPrivKeysharePacket: + if x == nil { + break + } + l = options.Size(x.RequestPrivKeysharePacket) + n += 1 + l + runtime.Sov(uint64(l)) + case *KeysharePacketData_GetPrivateKeysharePacket: + if x == nil { + break + } + l = options.Size(x.GetPrivateKeysharePacket) + n += 1 + l + runtime.Sov(uint64(l)) } if x.unknownFields != nil { n += len(x.unknownFields) @@ -632,6 +800,19 @@ func (x *fastReflection_KeysharePacketData) ProtoMethods() *protoiface.Methods { i = runtime.EncodeVarint(dAtA, i, uint64(len(encoded))) i-- dAtA[i] = 0x22 + case *KeysharePacketData_EncryptedKeysharesPacketData: + encoded, err := options.Marshal(x.EncryptedKeysharesPacketData) + if err != nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = runtime.EncodeVarint(dAtA, i, uint64(len(encoded))) + i-- + dAtA[i] = 0x2a case *KeysharePacketData_CurrentKeysPacket: encoded, err := options.Marshal(x.CurrentKeysPacket) if err != nil { @@ -644,7 +825,33 @@ func (x *fastReflection_KeysharePacketData) ProtoMethods() *protoiface.Methods { copy(dAtA[i:], encoded) i = runtime.EncodeVarint(dAtA, i, uint64(len(encoded))) i-- - dAtA[i] = 0x2a + dAtA[i] = 0x32 + case *KeysharePacketData_RequestPrivKeysharePacket: + encoded, err := options.Marshal(x.RequestPrivKeysharePacket) + if err != nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = runtime.EncodeVarint(dAtA, i, uint64(len(encoded))) + i-- + dAtA[i] = 0x3a + case *KeysharePacketData_GetPrivateKeysharePacket: + encoded, err := options.Marshal(x.GetPrivateKeysharePacket) + if err != nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = runtime.EncodeVarint(dAtA, i, uint64(len(encoded))) + i-- + dAtA[i] = 0x42 } if input.Buf != nil { input.Buf = append(input.Buf, dAtA...) @@ -836,6 +1043,41 @@ func (x *fastReflection_KeysharePacketData) ProtoMethods() *protoiface.Methods { x.Packet = &KeysharePacketData_AggrKeyshareDataPacket{v} iNdEx = postIndex case 5: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field EncryptedKeysharesPacketData", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + v := &EncryptedKeysharesPacketData{} + if err := options.Unmarshal(dAtA[iNdEx:postIndex], v); err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + x.Packet = &KeysharePacketData_EncryptedKeysharesPacketData{v} + iNdEx = postIndex + case 6: if wireType != 2 { return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field CurrentKeysPacket", wireType) } @@ -870,6 +1112,76 @@ func (x *fastReflection_KeysharePacketData) ProtoMethods() *protoiface.Methods { } x.Packet = &KeysharePacketData_CurrentKeysPacket{v} iNdEx = postIndex + case 7: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field RequestPrivKeysharePacket", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + v := &RequestPrivateKeysharePacketData{} + if err := options.Unmarshal(dAtA[iNdEx:postIndex], v); err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + x.Packet = &KeysharePacketData_RequestPrivKeysharePacket{v} + iNdEx = postIndex + case 8: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field GetPrivateKeysharePacket", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + v := &GetPrivateKeysharePacketData{} + if err := options.Unmarshal(dAtA[iNdEx:postIndex], v); err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + x.Packet = &KeysharePacketData_GetPrivateKeysharePacket{v} + iNdEx = postIndex default: iNdEx = preIndex skippy, err := runtime.Skip(dAtA[iNdEx:]) @@ -1933,27 +2245,27 @@ func (x *fastReflection_RequestAggrKeysharePacketData) ProtoMethods() *protoifac } var ( - md_RequestAggrKeysharePacketAck protoreflect.MessageDescriptor - fd_RequestAggrKeysharePacketAck_identity protoreflect.FieldDescriptor - fd_RequestAggrKeysharePacketAck_pubkey protoreflect.FieldDescriptor + md_RequestPrivateKeysharePacketData protoreflect.MessageDescriptor + fd_RequestPrivateKeysharePacketData_requester protoreflect.FieldDescriptor + fd_RequestPrivateKeysharePacketData_request_id protoreflect.FieldDescriptor ) func init() { file_fairyring_keyshare_packet_proto_init() - md_RequestAggrKeysharePacketAck = File_fairyring_keyshare_packet_proto.Messages().ByName("RequestAggrKeysharePacketAck") - fd_RequestAggrKeysharePacketAck_identity = md_RequestAggrKeysharePacketAck.Fields().ByName("identity") - fd_RequestAggrKeysharePacketAck_pubkey = md_RequestAggrKeysharePacketAck.Fields().ByName("pubkey") + md_RequestPrivateKeysharePacketData = File_fairyring_keyshare_packet_proto.Messages().ByName("RequestPrivateKeysharePacketData") + fd_RequestPrivateKeysharePacketData_requester = md_RequestPrivateKeysharePacketData.Fields().ByName("requester") + fd_RequestPrivateKeysharePacketData_request_id = md_RequestPrivateKeysharePacketData.Fields().ByName("request_id") } -var _ protoreflect.Message = (*fastReflection_RequestAggrKeysharePacketAck)(nil) +var _ protoreflect.Message = (*fastReflection_RequestPrivateKeysharePacketData)(nil) -type fastReflection_RequestAggrKeysharePacketAck RequestAggrKeysharePacketAck +type fastReflection_RequestPrivateKeysharePacketData RequestPrivateKeysharePacketData -func (x *RequestAggrKeysharePacketAck) ProtoReflect() protoreflect.Message { - return (*fastReflection_RequestAggrKeysharePacketAck)(x) +func (x *RequestPrivateKeysharePacketData) ProtoReflect() protoreflect.Message { + return (*fastReflection_RequestPrivateKeysharePacketData)(x) } -func (x *RequestAggrKeysharePacketAck) slowProtoReflect() protoreflect.Message { +func (x *RequestPrivateKeysharePacketData) slowProtoReflect() protoreflect.Message { mi := &file_fairyring_keyshare_packet_proto_msgTypes[3] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -1965,43 +2277,43 @@ func (x *RequestAggrKeysharePacketAck) slowProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -var _fastReflection_RequestAggrKeysharePacketAck_messageType fastReflection_RequestAggrKeysharePacketAck_messageType -var _ protoreflect.MessageType = fastReflection_RequestAggrKeysharePacketAck_messageType{} +var _fastReflection_RequestPrivateKeysharePacketData_messageType fastReflection_RequestPrivateKeysharePacketData_messageType +var _ protoreflect.MessageType = fastReflection_RequestPrivateKeysharePacketData_messageType{} -type fastReflection_RequestAggrKeysharePacketAck_messageType struct{} +type fastReflection_RequestPrivateKeysharePacketData_messageType struct{} -func (x fastReflection_RequestAggrKeysharePacketAck_messageType) Zero() protoreflect.Message { - return (*fastReflection_RequestAggrKeysharePacketAck)(nil) +func (x fastReflection_RequestPrivateKeysharePacketData_messageType) Zero() protoreflect.Message { + return (*fastReflection_RequestPrivateKeysharePacketData)(nil) } -func (x fastReflection_RequestAggrKeysharePacketAck_messageType) New() protoreflect.Message { - return new(fastReflection_RequestAggrKeysharePacketAck) +func (x fastReflection_RequestPrivateKeysharePacketData_messageType) New() protoreflect.Message { + return new(fastReflection_RequestPrivateKeysharePacketData) } -func (x fastReflection_RequestAggrKeysharePacketAck_messageType) Descriptor() protoreflect.MessageDescriptor { - return md_RequestAggrKeysharePacketAck +func (x fastReflection_RequestPrivateKeysharePacketData_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_RequestPrivateKeysharePacketData } // Descriptor returns message descriptor, which contains only the protobuf // type information for the message. -func (x *fastReflection_RequestAggrKeysharePacketAck) Descriptor() protoreflect.MessageDescriptor { - return md_RequestAggrKeysharePacketAck +func (x *fastReflection_RequestPrivateKeysharePacketData) Descriptor() protoreflect.MessageDescriptor { + return md_RequestPrivateKeysharePacketData } // Type returns the message type, which encapsulates both Go and protobuf // type information. If the Go type information is not needed, // it is recommended that the message descriptor be used instead. -func (x *fastReflection_RequestAggrKeysharePacketAck) Type() protoreflect.MessageType { - return _fastReflection_RequestAggrKeysharePacketAck_messageType +func (x *fastReflection_RequestPrivateKeysharePacketData) Type() protoreflect.MessageType { + return _fastReflection_RequestPrivateKeysharePacketData_messageType } // New returns a newly allocated and mutable empty message. -func (x *fastReflection_RequestAggrKeysharePacketAck) New() protoreflect.Message { - return new(fastReflection_RequestAggrKeysharePacketAck) +func (x *fastReflection_RequestPrivateKeysharePacketData) New() protoreflect.Message { + return new(fastReflection_RequestPrivateKeysharePacketData) } // Interface unwraps the message reflection interface and // returns the underlying ProtoMessage interface. -func (x *fastReflection_RequestAggrKeysharePacketAck) Interface() protoreflect.ProtoMessage { - return (*RequestAggrKeysharePacketAck)(x) +func (x *fastReflection_RequestPrivateKeysharePacketData) Interface() protoreflect.ProtoMessage { + return (*RequestPrivateKeysharePacketData)(x) } // Range iterates over every populated field in an undefined order, @@ -2009,16 +2321,16 @@ func (x *fastReflection_RequestAggrKeysharePacketAck) Interface() protoreflect.P // Range returns immediately if f returns false. // While iterating, mutating operations may only be performed // on the current field descriptor. -func (x *fastReflection_RequestAggrKeysharePacketAck) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { - if x.Identity != "" { - value := protoreflect.ValueOfString(x.Identity) - if !f(fd_RequestAggrKeysharePacketAck_identity, value) { +func (x *fastReflection_RequestPrivateKeysharePacketData) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { + if x.Requester != "" { + value := protoreflect.ValueOfString(x.Requester) + if !f(fd_RequestPrivateKeysharePacketData_requester, value) { return } } - if x.Pubkey != "" { - value := protoreflect.ValueOfString(x.Pubkey) - if !f(fd_RequestAggrKeysharePacketAck_pubkey, value) { + if x.RequestId != "" { + value := protoreflect.ValueOfString(x.RequestId) + if !f(fd_RequestPrivateKeysharePacketData_request_id, value) { return } } @@ -2035,17 +2347,17 @@ func (x *fastReflection_RequestAggrKeysharePacketAck) Range(f func(protoreflect. // In other cases (aside from the nullable cases above), // a proto3 scalar field is populated if it contains a non-zero value, and // a repeated field is populated if it is non-empty. -func (x *fastReflection_RequestAggrKeysharePacketAck) Has(fd protoreflect.FieldDescriptor) bool { +func (x *fastReflection_RequestPrivateKeysharePacketData) Has(fd protoreflect.FieldDescriptor) bool { switch fd.FullName() { - case "fairyring.keyshare.RequestAggrKeysharePacketAck.identity": - return x.Identity != "" - case "fairyring.keyshare.RequestAggrKeysharePacketAck.pubkey": - return x.Pubkey != "" + case "fairyring.keyshare.RequestPrivateKeysharePacketData.requester": + return x.Requester != "" + case "fairyring.keyshare.RequestPrivateKeysharePacketData.request_id": + return x.RequestId != "" default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: fairyring.keyshare.RequestAggrKeysharePacketAck")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: fairyring.keyshare.RequestPrivateKeysharePacketData")) } - panic(fmt.Errorf("message fairyring.keyshare.RequestAggrKeysharePacketAck does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message fairyring.keyshare.RequestPrivateKeysharePacketData does not contain field %s", fd.FullName())) } } @@ -2055,17 +2367,17 @@ func (x *fastReflection_RequestAggrKeysharePacketAck) Has(fd protoreflect.FieldD // associated with the given field number. // // Clear is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_RequestAggrKeysharePacketAck) Clear(fd protoreflect.FieldDescriptor) { +func (x *fastReflection_RequestPrivateKeysharePacketData) Clear(fd protoreflect.FieldDescriptor) { switch fd.FullName() { - case "fairyring.keyshare.RequestAggrKeysharePacketAck.identity": - x.Identity = "" - case "fairyring.keyshare.RequestAggrKeysharePacketAck.pubkey": - x.Pubkey = "" + case "fairyring.keyshare.RequestPrivateKeysharePacketData.requester": + x.Requester = "" + case "fairyring.keyshare.RequestPrivateKeysharePacketData.request_id": + x.RequestId = "" default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: fairyring.keyshare.RequestAggrKeysharePacketAck")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: fairyring.keyshare.RequestPrivateKeysharePacketData")) } - panic(fmt.Errorf("message fairyring.keyshare.RequestAggrKeysharePacketAck does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message fairyring.keyshare.RequestPrivateKeysharePacketData does not contain field %s", fd.FullName())) } } @@ -2075,19 +2387,19 @@ func (x *fastReflection_RequestAggrKeysharePacketAck) Clear(fd protoreflect.Fiel // the default value of a bytes scalar is guaranteed to be a copy. // For unpopulated composite types, it returns an empty, read-only view // of the value; to obtain a mutable reference, use Mutable. -func (x *fastReflection_RequestAggrKeysharePacketAck) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { +func (x *fastReflection_RequestPrivateKeysharePacketData) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { switch descriptor.FullName() { - case "fairyring.keyshare.RequestAggrKeysharePacketAck.identity": - value := x.Identity + case "fairyring.keyshare.RequestPrivateKeysharePacketData.requester": + value := x.Requester return protoreflect.ValueOfString(value) - case "fairyring.keyshare.RequestAggrKeysharePacketAck.pubkey": - value := x.Pubkey + case "fairyring.keyshare.RequestPrivateKeysharePacketData.request_id": + value := x.RequestId return protoreflect.ValueOfString(value) default: if descriptor.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: fairyring.keyshare.RequestAggrKeysharePacketAck")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: fairyring.keyshare.RequestPrivateKeysharePacketData")) } - panic(fmt.Errorf("message fairyring.keyshare.RequestAggrKeysharePacketAck does not contain field %s", descriptor.FullName())) + panic(fmt.Errorf("message fairyring.keyshare.RequestPrivateKeysharePacketData does not contain field %s", descriptor.FullName())) } } @@ -2101,17 +2413,17 @@ func (x *fastReflection_RequestAggrKeysharePacketAck) Get(descriptor protoreflec // empty, read-only value, then it panics. // // Set is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_RequestAggrKeysharePacketAck) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { +func (x *fastReflection_RequestPrivateKeysharePacketData) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { switch fd.FullName() { - case "fairyring.keyshare.RequestAggrKeysharePacketAck.identity": - x.Identity = value.Interface().(string) - case "fairyring.keyshare.RequestAggrKeysharePacketAck.pubkey": - x.Pubkey = value.Interface().(string) + case "fairyring.keyshare.RequestPrivateKeysharePacketData.requester": + x.Requester = value.Interface().(string) + case "fairyring.keyshare.RequestPrivateKeysharePacketData.request_id": + x.RequestId = value.Interface().(string) default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: fairyring.keyshare.RequestAggrKeysharePacketAck")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: fairyring.keyshare.RequestPrivateKeysharePacketData")) } - panic(fmt.Errorf("message fairyring.keyshare.RequestAggrKeysharePacketAck does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message fairyring.keyshare.RequestPrivateKeysharePacketData does not contain field %s", fd.FullName())) } } @@ -2125,44 +2437,44 @@ func (x *fastReflection_RequestAggrKeysharePacketAck) Set(fd protoreflect.FieldD // It panics if the field does not contain a composite type. // // Mutable is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_RequestAggrKeysharePacketAck) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { +func (x *fastReflection_RequestPrivateKeysharePacketData) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { switch fd.FullName() { - case "fairyring.keyshare.RequestAggrKeysharePacketAck.identity": - panic(fmt.Errorf("field identity of message fairyring.keyshare.RequestAggrKeysharePacketAck is not mutable")) - case "fairyring.keyshare.RequestAggrKeysharePacketAck.pubkey": - panic(fmt.Errorf("field pubkey of message fairyring.keyshare.RequestAggrKeysharePacketAck is not mutable")) + case "fairyring.keyshare.RequestPrivateKeysharePacketData.requester": + panic(fmt.Errorf("field requester of message fairyring.keyshare.RequestPrivateKeysharePacketData is not mutable")) + case "fairyring.keyshare.RequestPrivateKeysharePacketData.request_id": + panic(fmt.Errorf("field request_id of message fairyring.keyshare.RequestPrivateKeysharePacketData is not mutable")) default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: fairyring.keyshare.RequestAggrKeysharePacketAck")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: fairyring.keyshare.RequestPrivateKeysharePacketData")) } - panic(fmt.Errorf("message fairyring.keyshare.RequestAggrKeysharePacketAck does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message fairyring.keyshare.RequestPrivateKeysharePacketData does not contain field %s", fd.FullName())) } } // NewField returns a new value that is assignable to the field // for the given descriptor. For scalars, this returns the default value. // For lists, maps, and messages, this returns a new, empty, mutable value. -func (x *fastReflection_RequestAggrKeysharePacketAck) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { +func (x *fastReflection_RequestPrivateKeysharePacketData) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { switch fd.FullName() { - case "fairyring.keyshare.RequestAggrKeysharePacketAck.identity": + case "fairyring.keyshare.RequestPrivateKeysharePacketData.requester": return protoreflect.ValueOfString("") - case "fairyring.keyshare.RequestAggrKeysharePacketAck.pubkey": + case "fairyring.keyshare.RequestPrivateKeysharePacketData.request_id": return protoreflect.ValueOfString("") default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: fairyring.keyshare.RequestAggrKeysharePacketAck")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: fairyring.keyshare.RequestPrivateKeysharePacketData")) } - panic(fmt.Errorf("message fairyring.keyshare.RequestAggrKeysharePacketAck does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message fairyring.keyshare.RequestPrivateKeysharePacketData does not contain field %s", fd.FullName())) } } // WhichOneof reports which field within the oneof is populated, // returning nil if none are populated. // It panics if the oneof descriptor does not belong to this message. -func (x *fastReflection_RequestAggrKeysharePacketAck) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { +func (x *fastReflection_RequestPrivateKeysharePacketData) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { switch d.FullName() { default: - panic(fmt.Errorf("%s is not a oneof field in fairyring.keyshare.RequestAggrKeysharePacketAck", d.FullName())) + panic(fmt.Errorf("%s is not a oneof field in fairyring.keyshare.RequestPrivateKeysharePacketData", d.FullName())) } panic("unreachable") } @@ -2170,7 +2482,7 @@ func (x *fastReflection_RequestAggrKeysharePacketAck) WhichOneof(d protoreflect. // GetUnknown retrieves the entire list of unknown fields. // The caller may only mutate the contents of the RawFields // if the mutated bytes are stored back into the message with SetUnknown. -func (x *fastReflection_RequestAggrKeysharePacketAck) GetUnknown() protoreflect.RawFields { +func (x *fastReflection_RequestPrivateKeysharePacketData) GetUnknown() protoreflect.RawFields { return x.unknownFields } @@ -2181,7 +2493,7 @@ func (x *fastReflection_RequestAggrKeysharePacketAck) GetUnknown() protoreflect. // An empty RawFields may be passed to clear the fields. // // SetUnknown is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_RequestAggrKeysharePacketAck) SetUnknown(fields protoreflect.RawFields) { +func (x *fastReflection_RequestPrivateKeysharePacketData) SetUnknown(fields protoreflect.RawFields) { x.unknownFields = fields } @@ -2193,7 +2505,7 @@ func (x *fastReflection_RequestAggrKeysharePacketAck) SetUnknown(fields protoref // message type, but the details are implementation dependent. // Validity is not part of the protobuf data model, and may not // be preserved in marshaling or other operations. -func (x *fastReflection_RequestAggrKeysharePacketAck) IsValid() bool { +func (x *fastReflection_RequestPrivateKeysharePacketData) IsValid() bool { return x != nil } @@ -2203,9 +2515,9 @@ func (x *fastReflection_RequestAggrKeysharePacketAck) IsValid() bool { // The returned methods type is identical to // "google.golang.org/protobuf/runtime/protoiface".Methods. // Consult the protoiface package documentation for details. -func (x *fastReflection_RequestAggrKeysharePacketAck) ProtoMethods() *protoiface.Methods { +func (x *fastReflection_RequestPrivateKeysharePacketData) ProtoMethods() *protoiface.Methods { size := func(input protoiface.SizeInput) protoiface.SizeOutput { - x := input.Message.Interface().(*RequestAggrKeysharePacketAck) + x := input.Message.Interface().(*RequestPrivateKeysharePacketData) if x == nil { return protoiface.SizeOutput{ NoUnkeyedLiterals: input.NoUnkeyedLiterals, @@ -2217,11 +2529,11 @@ func (x *fastReflection_RequestAggrKeysharePacketAck) ProtoMethods() *protoiface var n int var l int _ = l - l = len(x.Identity) + l = len(x.Requester) if l > 0 { n += 1 + l + runtime.Sov(uint64(l)) } - l = len(x.Pubkey) + l = len(x.RequestId) if l > 0 { n += 1 + l + runtime.Sov(uint64(l)) } @@ -2235,7 +2547,7 @@ func (x *fastReflection_RequestAggrKeysharePacketAck) ProtoMethods() *protoiface } marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { - x := input.Message.Interface().(*RequestAggrKeysharePacketAck) + x := input.Message.Interface().(*RequestPrivateKeysharePacketData) if x == nil { return protoiface.MarshalOutput{ NoUnkeyedLiterals: input.NoUnkeyedLiterals, @@ -2254,17 +2566,17 @@ func (x *fastReflection_RequestAggrKeysharePacketAck) ProtoMethods() *protoiface i -= len(x.unknownFields) copy(dAtA[i:], x.unknownFields) } - if len(x.Pubkey) > 0 { - i -= len(x.Pubkey) - copy(dAtA[i:], x.Pubkey) - i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Pubkey))) + if len(x.RequestId) > 0 { + i -= len(x.RequestId) + copy(dAtA[i:], x.RequestId) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.RequestId))) i-- dAtA[i] = 0x12 } - if len(x.Identity) > 0 { - i -= len(x.Identity) - copy(dAtA[i:], x.Identity) - i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Identity))) + if len(x.Requester) > 0 { + i -= len(x.Requester) + copy(dAtA[i:], x.Requester) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Requester))) i-- dAtA[i] = 0xa } @@ -2279,7 +2591,7 @@ func (x *fastReflection_RequestAggrKeysharePacketAck) ProtoMethods() *protoiface }, nil } unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { - x := input.Message.Interface().(*RequestAggrKeysharePacketAck) + x := input.Message.Interface().(*RequestPrivateKeysharePacketData) if x == nil { return protoiface.UnmarshalOutput{ NoUnkeyedLiterals: input.NoUnkeyedLiterals, @@ -2311,15 +2623,15 @@ func (x *fastReflection_RequestAggrKeysharePacketAck) ProtoMethods() *protoiface fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: RequestAggrKeysharePacketAck: wiretype end group for non-group") + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: RequestPrivateKeysharePacketData: wiretype end group for non-group") } if fieldNum <= 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: RequestAggrKeysharePacketAck: illegal tag %d (wire type %d)", fieldNum, wire) + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: RequestPrivateKeysharePacketData: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: if wireType != 2 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Identity", wireType) + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Requester", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -2347,11 +2659,11 @@ func (x *fastReflection_RequestAggrKeysharePacketAck) ProtoMethods() *protoiface if postIndex > l { return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF } - x.Identity = string(dAtA[iNdEx:postIndex]) + x.Requester = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex case 2: if wireType != 2 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Pubkey", wireType) + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field RequestId", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -2379,7 +2691,7 @@ func (x *fastReflection_RequestAggrKeysharePacketAck) ProtoMethods() *protoiface if postIndex > l { return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF } - x.Pubkey = string(dAtA[iNdEx:postIndex]) + x.RequestId = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex default: iNdEx = preIndex @@ -2417,25 +2729,27 @@ func (x *fastReflection_RequestAggrKeysharePacketAck) ProtoMethods() *protoiface } var ( - md_GetAggrKeysharePacketData protoreflect.MessageDescriptor - fd_GetAggrKeysharePacketData_identity protoreflect.FieldDescriptor + md_RequestPrivateKeysharePacketAck protoreflect.MessageDescriptor + fd_RequestPrivateKeysharePacketAck_identity protoreflect.FieldDescriptor + fd_RequestPrivateKeysharePacketAck_pubkey protoreflect.FieldDescriptor ) func init() { file_fairyring_keyshare_packet_proto_init() - md_GetAggrKeysharePacketData = File_fairyring_keyshare_packet_proto.Messages().ByName("GetAggrKeysharePacketData") - fd_GetAggrKeysharePacketData_identity = md_GetAggrKeysharePacketData.Fields().ByName("identity") + md_RequestPrivateKeysharePacketAck = File_fairyring_keyshare_packet_proto.Messages().ByName("RequestPrivateKeysharePacketAck") + fd_RequestPrivateKeysharePacketAck_identity = md_RequestPrivateKeysharePacketAck.Fields().ByName("identity") + fd_RequestPrivateKeysharePacketAck_pubkey = md_RequestPrivateKeysharePacketAck.Fields().ByName("pubkey") } -var _ protoreflect.Message = (*fastReflection_GetAggrKeysharePacketData)(nil) +var _ protoreflect.Message = (*fastReflection_RequestPrivateKeysharePacketAck)(nil) -type fastReflection_GetAggrKeysharePacketData GetAggrKeysharePacketData +type fastReflection_RequestPrivateKeysharePacketAck RequestPrivateKeysharePacketAck -func (x *GetAggrKeysharePacketData) ProtoReflect() protoreflect.Message { - return (*fastReflection_GetAggrKeysharePacketData)(x) +func (x *RequestPrivateKeysharePacketAck) ProtoReflect() protoreflect.Message { + return (*fastReflection_RequestPrivateKeysharePacketAck)(x) } -func (x *GetAggrKeysharePacketData) slowProtoReflect() protoreflect.Message { +func (x *RequestPrivateKeysharePacketAck) slowProtoReflect() protoreflect.Message { mi := &file_fairyring_keyshare_packet_proto_msgTypes[4] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -2447,43 +2761,43 @@ func (x *GetAggrKeysharePacketData) slowProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -var _fastReflection_GetAggrKeysharePacketData_messageType fastReflection_GetAggrKeysharePacketData_messageType -var _ protoreflect.MessageType = fastReflection_GetAggrKeysharePacketData_messageType{} +var _fastReflection_RequestPrivateKeysharePacketAck_messageType fastReflection_RequestPrivateKeysharePacketAck_messageType +var _ protoreflect.MessageType = fastReflection_RequestPrivateKeysharePacketAck_messageType{} -type fastReflection_GetAggrKeysharePacketData_messageType struct{} +type fastReflection_RequestPrivateKeysharePacketAck_messageType struct{} -func (x fastReflection_GetAggrKeysharePacketData_messageType) Zero() protoreflect.Message { - return (*fastReflection_GetAggrKeysharePacketData)(nil) +func (x fastReflection_RequestPrivateKeysharePacketAck_messageType) Zero() protoreflect.Message { + return (*fastReflection_RequestPrivateKeysharePacketAck)(nil) } -func (x fastReflection_GetAggrKeysharePacketData_messageType) New() protoreflect.Message { - return new(fastReflection_GetAggrKeysharePacketData) +func (x fastReflection_RequestPrivateKeysharePacketAck_messageType) New() protoreflect.Message { + return new(fastReflection_RequestPrivateKeysharePacketAck) } -func (x fastReflection_GetAggrKeysharePacketData_messageType) Descriptor() protoreflect.MessageDescriptor { - return md_GetAggrKeysharePacketData +func (x fastReflection_RequestPrivateKeysharePacketAck_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_RequestPrivateKeysharePacketAck } // Descriptor returns message descriptor, which contains only the protobuf // type information for the message. -func (x *fastReflection_GetAggrKeysharePacketData) Descriptor() protoreflect.MessageDescriptor { - return md_GetAggrKeysharePacketData +func (x *fastReflection_RequestPrivateKeysharePacketAck) Descriptor() protoreflect.MessageDescriptor { + return md_RequestPrivateKeysharePacketAck } // Type returns the message type, which encapsulates both Go and protobuf // type information. If the Go type information is not needed, // it is recommended that the message descriptor be used instead. -func (x *fastReflection_GetAggrKeysharePacketData) Type() protoreflect.MessageType { - return _fastReflection_GetAggrKeysharePacketData_messageType +func (x *fastReflection_RequestPrivateKeysharePacketAck) Type() protoreflect.MessageType { + return _fastReflection_RequestPrivateKeysharePacketAck_messageType } // New returns a newly allocated and mutable empty message. -func (x *fastReflection_GetAggrKeysharePacketData) New() protoreflect.Message { - return new(fastReflection_GetAggrKeysharePacketData) +func (x *fastReflection_RequestPrivateKeysharePacketAck) New() protoreflect.Message { + return new(fastReflection_RequestPrivateKeysharePacketAck) } // Interface unwraps the message reflection interface and // returns the underlying ProtoMessage interface. -func (x *fastReflection_GetAggrKeysharePacketData) Interface() protoreflect.ProtoMessage { - return (*GetAggrKeysharePacketData)(x) +func (x *fastReflection_RequestPrivateKeysharePacketAck) Interface() protoreflect.ProtoMessage { + return (*RequestPrivateKeysharePacketAck)(x) } // Range iterates over every populated field in an undefined order, @@ -2491,10 +2805,16 @@ func (x *fastReflection_GetAggrKeysharePacketData) Interface() protoreflect.Prot // Range returns immediately if f returns false. // While iterating, mutating operations may only be performed // on the current field descriptor. -func (x *fastReflection_GetAggrKeysharePacketData) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { +func (x *fastReflection_RequestPrivateKeysharePacketAck) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { if x.Identity != "" { value := protoreflect.ValueOfString(x.Identity) - if !f(fd_GetAggrKeysharePacketData_identity, value) { + if !f(fd_RequestPrivateKeysharePacketAck_identity, value) { + return + } + } + if x.Pubkey != "" { + value := protoreflect.ValueOfString(x.Pubkey) + if !f(fd_RequestPrivateKeysharePacketAck_pubkey, value) { return } } @@ -2511,15 +2831,17 @@ func (x *fastReflection_GetAggrKeysharePacketData) Range(f func(protoreflect.Fie // In other cases (aside from the nullable cases above), // a proto3 scalar field is populated if it contains a non-zero value, and // a repeated field is populated if it is non-empty. -func (x *fastReflection_GetAggrKeysharePacketData) Has(fd protoreflect.FieldDescriptor) bool { +func (x *fastReflection_RequestPrivateKeysharePacketAck) Has(fd protoreflect.FieldDescriptor) bool { switch fd.FullName() { - case "fairyring.keyshare.GetAggrKeysharePacketData.identity": + case "fairyring.keyshare.RequestPrivateKeysharePacketAck.identity": return x.Identity != "" + case "fairyring.keyshare.RequestPrivateKeysharePacketAck.pubkey": + return x.Pubkey != "" default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: fairyring.keyshare.GetAggrKeysharePacketData")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: fairyring.keyshare.RequestPrivateKeysharePacketAck")) } - panic(fmt.Errorf("message fairyring.keyshare.GetAggrKeysharePacketData does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message fairyring.keyshare.RequestPrivateKeysharePacketAck does not contain field %s", fd.FullName())) } } @@ -2529,15 +2851,17 @@ func (x *fastReflection_GetAggrKeysharePacketData) Has(fd protoreflect.FieldDesc // associated with the given field number. // // Clear is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_GetAggrKeysharePacketData) Clear(fd protoreflect.FieldDescriptor) { +func (x *fastReflection_RequestPrivateKeysharePacketAck) Clear(fd protoreflect.FieldDescriptor) { switch fd.FullName() { - case "fairyring.keyshare.GetAggrKeysharePacketData.identity": + case "fairyring.keyshare.RequestPrivateKeysharePacketAck.identity": x.Identity = "" + case "fairyring.keyshare.RequestPrivateKeysharePacketAck.pubkey": + x.Pubkey = "" default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: fairyring.keyshare.GetAggrKeysharePacketData")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: fairyring.keyshare.RequestPrivateKeysharePacketAck")) } - panic(fmt.Errorf("message fairyring.keyshare.GetAggrKeysharePacketData does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message fairyring.keyshare.RequestPrivateKeysharePacketAck does not contain field %s", fd.FullName())) } } @@ -2547,16 +2871,19 @@ func (x *fastReflection_GetAggrKeysharePacketData) Clear(fd protoreflect.FieldDe // the default value of a bytes scalar is guaranteed to be a copy. // For unpopulated composite types, it returns an empty, read-only view // of the value; to obtain a mutable reference, use Mutable. -func (x *fastReflection_GetAggrKeysharePacketData) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { +func (x *fastReflection_RequestPrivateKeysharePacketAck) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { switch descriptor.FullName() { - case "fairyring.keyshare.GetAggrKeysharePacketData.identity": + case "fairyring.keyshare.RequestPrivateKeysharePacketAck.identity": value := x.Identity return protoreflect.ValueOfString(value) + case "fairyring.keyshare.RequestPrivateKeysharePacketAck.pubkey": + value := x.Pubkey + return protoreflect.ValueOfString(value) default: if descriptor.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: fairyring.keyshare.GetAggrKeysharePacketData")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: fairyring.keyshare.RequestPrivateKeysharePacketAck")) } - panic(fmt.Errorf("message fairyring.keyshare.GetAggrKeysharePacketData does not contain field %s", descriptor.FullName())) + panic(fmt.Errorf("message fairyring.keyshare.RequestPrivateKeysharePacketAck does not contain field %s", descriptor.FullName())) } } @@ -2570,15 +2897,17 @@ func (x *fastReflection_GetAggrKeysharePacketData) Get(descriptor protoreflect.F // empty, read-only value, then it panics. // // Set is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_GetAggrKeysharePacketData) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { +func (x *fastReflection_RequestPrivateKeysharePacketAck) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { switch fd.FullName() { - case "fairyring.keyshare.GetAggrKeysharePacketData.identity": + case "fairyring.keyshare.RequestPrivateKeysharePacketAck.identity": x.Identity = value.Interface().(string) + case "fairyring.keyshare.RequestPrivateKeysharePacketAck.pubkey": + x.Pubkey = value.Interface().(string) default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: fairyring.keyshare.GetAggrKeysharePacketData")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: fairyring.keyshare.RequestPrivateKeysharePacketAck")) } - panic(fmt.Errorf("message fairyring.keyshare.GetAggrKeysharePacketData does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message fairyring.keyshare.RequestPrivateKeysharePacketAck does not contain field %s", fd.FullName())) } } @@ -2592,40 +2921,44 @@ func (x *fastReflection_GetAggrKeysharePacketData) Set(fd protoreflect.FieldDesc // It panics if the field does not contain a composite type. // // Mutable is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_GetAggrKeysharePacketData) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { +func (x *fastReflection_RequestPrivateKeysharePacketAck) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { switch fd.FullName() { - case "fairyring.keyshare.GetAggrKeysharePacketData.identity": - panic(fmt.Errorf("field identity of message fairyring.keyshare.GetAggrKeysharePacketData is not mutable")) + case "fairyring.keyshare.RequestPrivateKeysharePacketAck.identity": + panic(fmt.Errorf("field identity of message fairyring.keyshare.RequestPrivateKeysharePacketAck is not mutable")) + case "fairyring.keyshare.RequestPrivateKeysharePacketAck.pubkey": + panic(fmt.Errorf("field pubkey of message fairyring.keyshare.RequestPrivateKeysharePacketAck is not mutable")) default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: fairyring.keyshare.GetAggrKeysharePacketData")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: fairyring.keyshare.RequestPrivateKeysharePacketAck")) } - panic(fmt.Errorf("message fairyring.keyshare.GetAggrKeysharePacketData does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message fairyring.keyshare.RequestPrivateKeysharePacketAck does not contain field %s", fd.FullName())) } } // NewField returns a new value that is assignable to the field // for the given descriptor. For scalars, this returns the default value. // For lists, maps, and messages, this returns a new, empty, mutable value. -func (x *fastReflection_GetAggrKeysharePacketData) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { +func (x *fastReflection_RequestPrivateKeysharePacketAck) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { switch fd.FullName() { - case "fairyring.keyshare.GetAggrKeysharePacketData.identity": + case "fairyring.keyshare.RequestPrivateKeysharePacketAck.identity": + return protoreflect.ValueOfString("") + case "fairyring.keyshare.RequestPrivateKeysharePacketAck.pubkey": return protoreflect.ValueOfString("") default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: fairyring.keyshare.GetAggrKeysharePacketData")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: fairyring.keyshare.RequestPrivateKeysharePacketAck")) } - panic(fmt.Errorf("message fairyring.keyshare.GetAggrKeysharePacketData does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message fairyring.keyshare.RequestPrivateKeysharePacketAck does not contain field %s", fd.FullName())) } } // WhichOneof reports which field within the oneof is populated, // returning nil if none are populated. // It panics if the oneof descriptor does not belong to this message. -func (x *fastReflection_GetAggrKeysharePacketData) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { +func (x *fastReflection_RequestPrivateKeysharePacketAck) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { switch d.FullName() { default: - panic(fmt.Errorf("%s is not a oneof field in fairyring.keyshare.GetAggrKeysharePacketData", d.FullName())) + panic(fmt.Errorf("%s is not a oneof field in fairyring.keyshare.RequestPrivateKeysharePacketAck", d.FullName())) } panic("unreachable") } @@ -2633,7 +2966,7 @@ func (x *fastReflection_GetAggrKeysharePacketData) WhichOneof(d protoreflect.One // GetUnknown retrieves the entire list of unknown fields. // The caller may only mutate the contents of the RawFields // if the mutated bytes are stored back into the message with SetUnknown. -func (x *fastReflection_GetAggrKeysharePacketData) GetUnknown() protoreflect.RawFields { +func (x *fastReflection_RequestPrivateKeysharePacketAck) GetUnknown() protoreflect.RawFields { return x.unknownFields } @@ -2644,7 +2977,7 @@ func (x *fastReflection_GetAggrKeysharePacketData) GetUnknown() protoreflect.Raw // An empty RawFields may be passed to clear the fields. // // SetUnknown is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_GetAggrKeysharePacketData) SetUnknown(fields protoreflect.RawFields) { +func (x *fastReflection_RequestPrivateKeysharePacketAck) SetUnknown(fields protoreflect.RawFields) { x.unknownFields = fields } @@ -2656,7 +2989,7 @@ func (x *fastReflection_GetAggrKeysharePacketData) SetUnknown(fields protoreflec // message type, but the details are implementation dependent. // Validity is not part of the protobuf data model, and may not // be preserved in marshaling or other operations. -func (x *fastReflection_GetAggrKeysharePacketData) IsValid() bool { +func (x *fastReflection_RequestPrivateKeysharePacketAck) IsValid() bool { return x != nil } @@ -2666,9 +2999,9 @@ func (x *fastReflection_GetAggrKeysharePacketData) IsValid() bool { // The returned methods type is identical to // "google.golang.org/protobuf/runtime/protoiface".Methods. // Consult the protoiface package documentation for details. -func (x *fastReflection_GetAggrKeysharePacketData) ProtoMethods() *protoiface.Methods { +func (x *fastReflection_RequestPrivateKeysharePacketAck) ProtoMethods() *protoiface.Methods { size := func(input protoiface.SizeInput) protoiface.SizeOutput { - x := input.Message.Interface().(*GetAggrKeysharePacketData) + x := input.Message.Interface().(*RequestPrivateKeysharePacketAck) if x == nil { return protoiface.SizeOutput{ NoUnkeyedLiterals: input.NoUnkeyedLiterals, @@ -2684,6 +3017,10 @@ func (x *fastReflection_GetAggrKeysharePacketData) ProtoMethods() *protoiface.Me if l > 0 { n += 1 + l + runtime.Sov(uint64(l)) } + l = len(x.Pubkey) + if l > 0 { + n += 1 + l + runtime.Sov(uint64(l)) + } if x.unknownFields != nil { n += len(x.unknownFields) } @@ -2694,7 +3031,7 @@ func (x *fastReflection_GetAggrKeysharePacketData) ProtoMethods() *protoiface.Me } marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { - x := input.Message.Interface().(*GetAggrKeysharePacketData) + x := input.Message.Interface().(*RequestPrivateKeysharePacketAck) if x == nil { return protoiface.MarshalOutput{ NoUnkeyedLiterals: input.NoUnkeyedLiterals, @@ -2713,6 +3050,13 @@ func (x *fastReflection_GetAggrKeysharePacketData) ProtoMethods() *protoiface.Me i -= len(x.unknownFields) copy(dAtA[i:], x.unknownFields) } + if len(x.Pubkey) > 0 { + i -= len(x.Pubkey) + copy(dAtA[i:], x.Pubkey) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Pubkey))) + i-- + dAtA[i] = 0x12 + } if len(x.Identity) > 0 { i -= len(x.Identity) copy(dAtA[i:], x.Identity) @@ -2731,7 +3075,7 @@ func (x *fastReflection_GetAggrKeysharePacketData) ProtoMethods() *protoiface.Me }, nil } unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { - x := input.Message.Interface().(*GetAggrKeysharePacketData) + x := input.Message.Interface().(*RequestPrivateKeysharePacketAck) if x == nil { return protoiface.UnmarshalOutput{ NoUnkeyedLiterals: input.NoUnkeyedLiterals, @@ -2763,10 +3107,10 @@ func (x *fastReflection_GetAggrKeysharePacketData) ProtoMethods() *protoiface.Me fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: GetAggrKeysharePacketData: wiretype end group for non-group") + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: RequestPrivateKeysharePacketAck: wiretype end group for non-group") } if fieldNum <= 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: GetAggrKeysharePacketData: illegal tag %d (wire type %d)", fieldNum, wire) + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: RequestPrivateKeysharePacketAck: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -2801,6 +3145,38 @@ func (x *fastReflection_GetAggrKeysharePacketData) ProtoMethods() *protoiface.Me } x.Identity = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex + case 2: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Pubkey", wireType) + } + var stringLen uint64 + 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++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + x.Pubkey = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex default: iNdEx = preIndex skippy, err := runtime.Skip(dAtA[iNdEx:]) @@ -2837,23 +3213,27 @@ func (x *fastReflection_GetAggrKeysharePacketData) ProtoMethods() *protoiface.Me } var ( - md_GetAggrKeysharePacketAck protoreflect.MessageDescriptor + md_RequestAggrKeysharePacketAck protoreflect.MessageDescriptor + fd_RequestAggrKeysharePacketAck_identity protoreflect.FieldDescriptor + fd_RequestAggrKeysharePacketAck_pubkey protoreflect.FieldDescriptor ) func init() { file_fairyring_keyshare_packet_proto_init() - md_GetAggrKeysharePacketAck = File_fairyring_keyshare_packet_proto.Messages().ByName("GetAggrKeysharePacketAck") + md_RequestAggrKeysharePacketAck = File_fairyring_keyshare_packet_proto.Messages().ByName("RequestAggrKeysharePacketAck") + fd_RequestAggrKeysharePacketAck_identity = md_RequestAggrKeysharePacketAck.Fields().ByName("identity") + fd_RequestAggrKeysharePacketAck_pubkey = md_RequestAggrKeysharePacketAck.Fields().ByName("pubkey") } -var _ protoreflect.Message = (*fastReflection_GetAggrKeysharePacketAck)(nil) +var _ protoreflect.Message = (*fastReflection_RequestAggrKeysharePacketAck)(nil) -type fastReflection_GetAggrKeysharePacketAck GetAggrKeysharePacketAck +type fastReflection_RequestAggrKeysharePacketAck RequestAggrKeysharePacketAck -func (x *GetAggrKeysharePacketAck) ProtoReflect() protoreflect.Message { - return (*fastReflection_GetAggrKeysharePacketAck)(x) +func (x *RequestAggrKeysharePacketAck) ProtoReflect() protoreflect.Message { + return (*fastReflection_RequestAggrKeysharePacketAck)(x) } -func (x *GetAggrKeysharePacketAck) slowProtoReflect() protoreflect.Message { +func (x *RequestAggrKeysharePacketAck) slowProtoReflect() protoreflect.Message { mi := &file_fairyring_keyshare_packet_proto_msgTypes[5] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -2865,43 +3245,43 @@ func (x *GetAggrKeysharePacketAck) slowProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -var _fastReflection_GetAggrKeysharePacketAck_messageType fastReflection_GetAggrKeysharePacketAck_messageType -var _ protoreflect.MessageType = fastReflection_GetAggrKeysharePacketAck_messageType{} +var _fastReflection_RequestAggrKeysharePacketAck_messageType fastReflection_RequestAggrKeysharePacketAck_messageType +var _ protoreflect.MessageType = fastReflection_RequestAggrKeysharePacketAck_messageType{} -type fastReflection_GetAggrKeysharePacketAck_messageType struct{} +type fastReflection_RequestAggrKeysharePacketAck_messageType struct{} -func (x fastReflection_GetAggrKeysharePacketAck_messageType) Zero() protoreflect.Message { - return (*fastReflection_GetAggrKeysharePacketAck)(nil) +func (x fastReflection_RequestAggrKeysharePacketAck_messageType) Zero() protoreflect.Message { + return (*fastReflection_RequestAggrKeysharePacketAck)(nil) } -func (x fastReflection_GetAggrKeysharePacketAck_messageType) New() protoreflect.Message { - return new(fastReflection_GetAggrKeysharePacketAck) +func (x fastReflection_RequestAggrKeysharePacketAck_messageType) New() protoreflect.Message { + return new(fastReflection_RequestAggrKeysharePacketAck) } -func (x fastReflection_GetAggrKeysharePacketAck_messageType) Descriptor() protoreflect.MessageDescriptor { - return md_GetAggrKeysharePacketAck +func (x fastReflection_RequestAggrKeysharePacketAck_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_RequestAggrKeysharePacketAck } // Descriptor returns message descriptor, which contains only the protobuf // type information for the message. -func (x *fastReflection_GetAggrKeysharePacketAck) Descriptor() protoreflect.MessageDescriptor { - return md_GetAggrKeysharePacketAck +func (x *fastReflection_RequestAggrKeysharePacketAck) Descriptor() protoreflect.MessageDescriptor { + return md_RequestAggrKeysharePacketAck } // Type returns the message type, which encapsulates both Go and protobuf // type information. If the Go type information is not needed, // it is recommended that the message descriptor be used instead. -func (x *fastReflection_GetAggrKeysharePacketAck) Type() protoreflect.MessageType { - return _fastReflection_GetAggrKeysharePacketAck_messageType +func (x *fastReflection_RequestAggrKeysharePacketAck) Type() protoreflect.MessageType { + return _fastReflection_RequestAggrKeysharePacketAck_messageType } // New returns a newly allocated and mutable empty message. -func (x *fastReflection_GetAggrKeysharePacketAck) New() protoreflect.Message { - return new(fastReflection_GetAggrKeysharePacketAck) +func (x *fastReflection_RequestAggrKeysharePacketAck) New() protoreflect.Message { + return new(fastReflection_RequestAggrKeysharePacketAck) } // Interface unwraps the message reflection interface and // returns the underlying ProtoMessage interface. -func (x *fastReflection_GetAggrKeysharePacketAck) Interface() protoreflect.ProtoMessage { - return (*GetAggrKeysharePacketAck)(x) +func (x *fastReflection_RequestAggrKeysharePacketAck) Interface() protoreflect.ProtoMessage { + return (*RequestAggrKeysharePacketAck)(x) } // Range iterates over every populated field in an undefined order, @@ -2909,13 +3289,2961 @@ func (x *fastReflection_GetAggrKeysharePacketAck) Interface() protoreflect.Proto // Range returns immediately if f returns false. // While iterating, mutating operations may only be performed // on the current field descriptor. -func (x *fastReflection_GetAggrKeysharePacketAck) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { -} - -// Has reports whether a field is populated. -// -// Some fields have the property of nullability where it is possible to -// distinguish between the default value of a field and whether the field +func (x *fastReflection_RequestAggrKeysharePacketAck) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { + if x.Identity != "" { + value := protoreflect.ValueOfString(x.Identity) + if !f(fd_RequestAggrKeysharePacketAck_identity, value) { + return + } + } + if x.Pubkey != "" { + value := protoreflect.ValueOfString(x.Pubkey) + if !f(fd_RequestAggrKeysharePacketAck_pubkey, value) { + return + } + } +} + +// Has reports whether a field is populated. +// +// Some fields have the property of nullability where it is possible to +// distinguish between the default value of a field and whether the field +// was explicitly populated with the default value. Singular message fields, +// member fields of a oneof, and proto2 scalar fields are nullable. Such +// fields are populated only if explicitly set. +// +// In other cases (aside from the nullable cases above), +// a proto3 scalar field is populated if it contains a non-zero value, and +// a repeated field is populated if it is non-empty. +func (x *fastReflection_RequestAggrKeysharePacketAck) Has(fd protoreflect.FieldDescriptor) bool { + switch fd.FullName() { + case "fairyring.keyshare.RequestAggrKeysharePacketAck.identity": + return x.Identity != "" + case "fairyring.keyshare.RequestAggrKeysharePacketAck.pubkey": + return x.Pubkey != "" + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: fairyring.keyshare.RequestAggrKeysharePacketAck")) + } + panic(fmt.Errorf("message fairyring.keyshare.RequestAggrKeysharePacketAck does not contain field %s", fd.FullName())) + } +} + +// Clear clears the field such that a subsequent Has call reports false. +// +// Clearing an extension field clears both the extension type and value +// associated with the given field number. +// +// Clear is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_RequestAggrKeysharePacketAck) Clear(fd protoreflect.FieldDescriptor) { + switch fd.FullName() { + case "fairyring.keyshare.RequestAggrKeysharePacketAck.identity": + x.Identity = "" + case "fairyring.keyshare.RequestAggrKeysharePacketAck.pubkey": + x.Pubkey = "" + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: fairyring.keyshare.RequestAggrKeysharePacketAck")) + } + panic(fmt.Errorf("message fairyring.keyshare.RequestAggrKeysharePacketAck does not contain field %s", fd.FullName())) + } +} + +// Get retrieves the value for a field. +// +// For unpopulated scalars, it returns the default value, where +// the default value of a bytes scalar is guaranteed to be a copy. +// For unpopulated composite types, it returns an empty, read-only view +// of the value; to obtain a mutable reference, use Mutable. +func (x *fastReflection_RequestAggrKeysharePacketAck) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { + switch descriptor.FullName() { + case "fairyring.keyshare.RequestAggrKeysharePacketAck.identity": + value := x.Identity + return protoreflect.ValueOfString(value) + case "fairyring.keyshare.RequestAggrKeysharePacketAck.pubkey": + value := x.Pubkey + return protoreflect.ValueOfString(value) + default: + if descriptor.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: fairyring.keyshare.RequestAggrKeysharePacketAck")) + } + panic(fmt.Errorf("message fairyring.keyshare.RequestAggrKeysharePacketAck does not contain field %s", descriptor.FullName())) + } +} + +// Set stores the value for a field. +// +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType. +// When setting a composite type, it is unspecified whether the stored value +// aliases the source's memory in any way. If the composite value is an +// empty, read-only value, then it panics. +// +// Set is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_RequestAggrKeysharePacketAck) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { + switch fd.FullName() { + case "fairyring.keyshare.RequestAggrKeysharePacketAck.identity": + x.Identity = value.Interface().(string) + case "fairyring.keyshare.RequestAggrKeysharePacketAck.pubkey": + x.Pubkey = value.Interface().(string) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: fairyring.keyshare.RequestAggrKeysharePacketAck")) + } + panic(fmt.Errorf("message fairyring.keyshare.RequestAggrKeysharePacketAck does not contain field %s", fd.FullName())) + } +} + +// Mutable returns a mutable reference to a composite type. +// +// If the field is unpopulated, it may allocate a composite value. +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType +// if not already stored. +// It panics if the field does not contain a composite type. +// +// Mutable is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_RequestAggrKeysharePacketAck) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "fairyring.keyshare.RequestAggrKeysharePacketAck.identity": + panic(fmt.Errorf("field identity of message fairyring.keyshare.RequestAggrKeysharePacketAck is not mutable")) + case "fairyring.keyshare.RequestAggrKeysharePacketAck.pubkey": + panic(fmt.Errorf("field pubkey of message fairyring.keyshare.RequestAggrKeysharePacketAck is not mutable")) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: fairyring.keyshare.RequestAggrKeysharePacketAck")) + } + panic(fmt.Errorf("message fairyring.keyshare.RequestAggrKeysharePacketAck does not contain field %s", fd.FullName())) + } +} + +// NewField returns a new value that is assignable to the field +// for the given descriptor. For scalars, this returns the default value. +// For lists, maps, and messages, this returns a new, empty, mutable value. +func (x *fastReflection_RequestAggrKeysharePacketAck) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "fairyring.keyshare.RequestAggrKeysharePacketAck.identity": + return protoreflect.ValueOfString("") + case "fairyring.keyshare.RequestAggrKeysharePacketAck.pubkey": + return protoreflect.ValueOfString("") + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: fairyring.keyshare.RequestAggrKeysharePacketAck")) + } + panic(fmt.Errorf("message fairyring.keyshare.RequestAggrKeysharePacketAck does not contain field %s", fd.FullName())) + } +} + +// WhichOneof reports which field within the oneof is populated, +// returning nil if none are populated. +// It panics if the oneof descriptor does not belong to this message. +func (x *fastReflection_RequestAggrKeysharePacketAck) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { + switch d.FullName() { + default: + panic(fmt.Errorf("%s is not a oneof field in fairyring.keyshare.RequestAggrKeysharePacketAck", d.FullName())) + } + panic("unreachable") +} + +// GetUnknown retrieves the entire list of unknown fields. +// The caller may only mutate the contents of the RawFields +// if the mutated bytes are stored back into the message with SetUnknown. +func (x *fastReflection_RequestAggrKeysharePacketAck) GetUnknown() protoreflect.RawFields { + return x.unknownFields +} + +// SetUnknown stores an entire list of unknown fields. +// The raw fields must be syntactically valid according to the wire format. +// An implementation may panic if this is not the case. +// Once stored, the caller must not mutate the content of the RawFields. +// An empty RawFields may be passed to clear the fields. +// +// SetUnknown is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_RequestAggrKeysharePacketAck) SetUnknown(fields protoreflect.RawFields) { + x.unknownFields = fields +} + +// IsValid reports whether the message is valid. +// +// An invalid message is an empty, read-only value. +// +// An invalid message often corresponds to a nil pointer of the concrete +// message type, but the details are implementation dependent. +// Validity is not part of the protobuf data model, and may not +// be preserved in marshaling or other operations. +func (x *fastReflection_RequestAggrKeysharePacketAck) IsValid() bool { + return x != nil +} + +// ProtoMethods returns optional fastReflectionFeature-path implementations of various operations. +// This method may return nil. +// +// The returned methods type is identical to +// "google.golang.org/protobuf/runtime/protoiface".Methods. +// Consult the protoiface package documentation for details. +func (x *fastReflection_RequestAggrKeysharePacketAck) ProtoMethods() *protoiface.Methods { + size := func(input protoiface.SizeInput) protoiface.SizeOutput { + x := input.Message.Interface().(*RequestAggrKeysharePacketAck) + if x == nil { + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: 0, + } + } + options := runtime.SizeInputToOptions(input) + _ = options + var n int + var l int + _ = l + l = len(x.Identity) + if l > 0 { + n += 1 + l + runtime.Sov(uint64(l)) + } + l = len(x.Pubkey) + if l > 0 { + n += 1 + l + runtime.Sov(uint64(l)) + } + if x.unknownFields != nil { + n += len(x.unknownFields) + } + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: n, + } + } + + marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { + x := input.Message.Interface().(*RequestAggrKeysharePacketAck) + if x == nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + options := runtime.MarshalInputToOptions(input) + _ = options + size := options.Size(x) + dAtA := make([]byte, size) + i := len(dAtA) + _ = i + var l int + _ = l + if x.unknownFields != nil { + i -= len(x.unknownFields) + copy(dAtA[i:], x.unknownFields) + } + if len(x.Pubkey) > 0 { + i -= len(x.Pubkey) + copy(dAtA[i:], x.Pubkey) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Pubkey))) + i-- + dAtA[i] = 0x12 + } + if len(x.Identity) > 0 { + i -= len(x.Identity) + copy(dAtA[i:], x.Identity) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Identity))) + i-- + dAtA[i] = 0xa + } + if input.Buf != nil { + input.Buf = append(input.Buf, dAtA...) + } else { + input.Buf = dAtA + } + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { + x := input.Message.Interface().(*RequestAggrKeysharePacketAck) + if x == nil { + return protoiface.UnmarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Flags: input.Flags, + }, nil + } + options := runtime.UnmarshalInputToOptions(input) + _ = options + dAtA := input.Buf + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + 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++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: RequestAggrKeysharePacketAck: wiretype end group for non-group") + } + if fieldNum <= 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: RequestAggrKeysharePacketAck: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Identity", wireType) + } + var stringLen uint64 + 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++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + x.Identity = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Pubkey", wireType) + } + var stringLen uint64 + 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++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + x.Pubkey = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := runtime.Skip(dAtA[iNdEx:]) + if err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if !options.DiscardUnknown { + x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + } + iNdEx += skippy + } + } + + if iNdEx > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil + } + return &protoiface.Methods{ + NoUnkeyedLiterals: struct{}{}, + Flags: protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown, + Size: size, + Marshal: marshal, + Unmarshal: unmarshal, + Merge: nil, + CheckInitialized: nil, + } +} + +var ( + md_GetAggrKeysharePacketData protoreflect.MessageDescriptor + fd_GetAggrKeysharePacketData_identity protoreflect.FieldDescriptor +) + +func init() { + file_fairyring_keyshare_packet_proto_init() + md_GetAggrKeysharePacketData = File_fairyring_keyshare_packet_proto.Messages().ByName("GetAggrKeysharePacketData") + fd_GetAggrKeysharePacketData_identity = md_GetAggrKeysharePacketData.Fields().ByName("identity") +} + +var _ protoreflect.Message = (*fastReflection_GetAggrKeysharePacketData)(nil) + +type fastReflection_GetAggrKeysharePacketData GetAggrKeysharePacketData + +func (x *GetAggrKeysharePacketData) ProtoReflect() protoreflect.Message { + return (*fastReflection_GetAggrKeysharePacketData)(x) +} + +func (x *GetAggrKeysharePacketData) slowProtoReflect() protoreflect.Message { + mi := &file_fairyring_keyshare_packet_proto_msgTypes[6] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +var _fastReflection_GetAggrKeysharePacketData_messageType fastReflection_GetAggrKeysharePacketData_messageType +var _ protoreflect.MessageType = fastReflection_GetAggrKeysharePacketData_messageType{} + +type fastReflection_GetAggrKeysharePacketData_messageType struct{} + +func (x fastReflection_GetAggrKeysharePacketData_messageType) Zero() protoreflect.Message { + return (*fastReflection_GetAggrKeysharePacketData)(nil) +} +func (x fastReflection_GetAggrKeysharePacketData_messageType) New() protoreflect.Message { + return new(fastReflection_GetAggrKeysharePacketData) +} +func (x fastReflection_GetAggrKeysharePacketData_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_GetAggrKeysharePacketData +} + +// Descriptor returns message descriptor, which contains only the protobuf +// type information for the message. +func (x *fastReflection_GetAggrKeysharePacketData) Descriptor() protoreflect.MessageDescriptor { + return md_GetAggrKeysharePacketData +} + +// Type returns the message type, which encapsulates both Go and protobuf +// type information. If the Go type information is not needed, +// it is recommended that the message descriptor be used instead. +func (x *fastReflection_GetAggrKeysharePacketData) Type() protoreflect.MessageType { + return _fastReflection_GetAggrKeysharePacketData_messageType +} + +// New returns a newly allocated and mutable empty message. +func (x *fastReflection_GetAggrKeysharePacketData) New() protoreflect.Message { + return new(fastReflection_GetAggrKeysharePacketData) +} + +// Interface unwraps the message reflection interface and +// returns the underlying ProtoMessage interface. +func (x *fastReflection_GetAggrKeysharePacketData) Interface() protoreflect.ProtoMessage { + return (*GetAggrKeysharePacketData)(x) +} + +// Range iterates over every populated field in an undefined order, +// calling f for each field descriptor and value encountered. +// Range returns immediately if f returns false. +// While iterating, mutating operations may only be performed +// on the current field descriptor. +func (x *fastReflection_GetAggrKeysharePacketData) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { + if x.Identity != "" { + value := protoreflect.ValueOfString(x.Identity) + if !f(fd_GetAggrKeysharePacketData_identity, value) { + return + } + } +} + +// Has reports whether a field is populated. +// +// Some fields have the property of nullability where it is possible to +// distinguish between the default value of a field and whether the field +// was explicitly populated with the default value. Singular message fields, +// member fields of a oneof, and proto2 scalar fields are nullable. Such +// fields are populated only if explicitly set. +// +// In other cases (aside from the nullable cases above), +// a proto3 scalar field is populated if it contains a non-zero value, and +// a repeated field is populated if it is non-empty. +func (x *fastReflection_GetAggrKeysharePacketData) Has(fd protoreflect.FieldDescriptor) bool { + switch fd.FullName() { + case "fairyring.keyshare.GetAggrKeysharePacketData.identity": + return x.Identity != "" + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: fairyring.keyshare.GetAggrKeysharePacketData")) + } + panic(fmt.Errorf("message fairyring.keyshare.GetAggrKeysharePacketData does not contain field %s", fd.FullName())) + } +} + +// Clear clears the field such that a subsequent Has call reports false. +// +// Clearing an extension field clears both the extension type and value +// associated with the given field number. +// +// Clear is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_GetAggrKeysharePacketData) Clear(fd protoreflect.FieldDescriptor) { + switch fd.FullName() { + case "fairyring.keyshare.GetAggrKeysharePacketData.identity": + x.Identity = "" + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: fairyring.keyshare.GetAggrKeysharePacketData")) + } + panic(fmt.Errorf("message fairyring.keyshare.GetAggrKeysharePacketData does not contain field %s", fd.FullName())) + } +} + +// Get retrieves the value for a field. +// +// For unpopulated scalars, it returns the default value, where +// the default value of a bytes scalar is guaranteed to be a copy. +// For unpopulated composite types, it returns an empty, read-only view +// of the value; to obtain a mutable reference, use Mutable. +func (x *fastReflection_GetAggrKeysharePacketData) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { + switch descriptor.FullName() { + case "fairyring.keyshare.GetAggrKeysharePacketData.identity": + value := x.Identity + return protoreflect.ValueOfString(value) + default: + if descriptor.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: fairyring.keyshare.GetAggrKeysharePacketData")) + } + panic(fmt.Errorf("message fairyring.keyshare.GetAggrKeysharePacketData does not contain field %s", descriptor.FullName())) + } +} + +// Set stores the value for a field. +// +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType. +// When setting a composite type, it is unspecified whether the stored value +// aliases the source's memory in any way. If the composite value is an +// empty, read-only value, then it panics. +// +// Set is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_GetAggrKeysharePacketData) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { + switch fd.FullName() { + case "fairyring.keyshare.GetAggrKeysharePacketData.identity": + x.Identity = value.Interface().(string) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: fairyring.keyshare.GetAggrKeysharePacketData")) + } + panic(fmt.Errorf("message fairyring.keyshare.GetAggrKeysharePacketData does not contain field %s", fd.FullName())) + } +} + +// Mutable returns a mutable reference to a composite type. +// +// If the field is unpopulated, it may allocate a composite value. +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType +// if not already stored. +// It panics if the field does not contain a composite type. +// +// Mutable is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_GetAggrKeysharePacketData) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "fairyring.keyshare.GetAggrKeysharePacketData.identity": + panic(fmt.Errorf("field identity of message fairyring.keyshare.GetAggrKeysharePacketData is not mutable")) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: fairyring.keyshare.GetAggrKeysharePacketData")) + } + panic(fmt.Errorf("message fairyring.keyshare.GetAggrKeysharePacketData does not contain field %s", fd.FullName())) + } +} + +// NewField returns a new value that is assignable to the field +// for the given descriptor. For scalars, this returns the default value. +// For lists, maps, and messages, this returns a new, empty, mutable value. +func (x *fastReflection_GetAggrKeysharePacketData) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "fairyring.keyshare.GetAggrKeysharePacketData.identity": + return protoreflect.ValueOfString("") + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: fairyring.keyshare.GetAggrKeysharePacketData")) + } + panic(fmt.Errorf("message fairyring.keyshare.GetAggrKeysharePacketData does not contain field %s", fd.FullName())) + } +} + +// WhichOneof reports which field within the oneof is populated, +// returning nil if none are populated. +// It panics if the oneof descriptor does not belong to this message. +func (x *fastReflection_GetAggrKeysharePacketData) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { + switch d.FullName() { + default: + panic(fmt.Errorf("%s is not a oneof field in fairyring.keyshare.GetAggrKeysharePacketData", d.FullName())) + } + panic("unreachable") +} + +// GetUnknown retrieves the entire list of unknown fields. +// The caller may only mutate the contents of the RawFields +// if the mutated bytes are stored back into the message with SetUnknown. +func (x *fastReflection_GetAggrKeysharePacketData) GetUnknown() protoreflect.RawFields { + return x.unknownFields +} + +// SetUnknown stores an entire list of unknown fields. +// The raw fields must be syntactically valid according to the wire format. +// An implementation may panic if this is not the case. +// Once stored, the caller must not mutate the content of the RawFields. +// An empty RawFields may be passed to clear the fields. +// +// SetUnknown is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_GetAggrKeysharePacketData) SetUnknown(fields protoreflect.RawFields) { + x.unknownFields = fields +} + +// IsValid reports whether the message is valid. +// +// An invalid message is an empty, read-only value. +// +// An invalid message often corresponds to a nil pointer of the concrete +// message type, but the details are implementation dependent. +// Validity is not part of the protobuf data model, and may not +// be preserved in marshaling or other operations. +func (x *fastReflection_GetAggrKeysharePacketData) IsValid() bool { + return x != nil +} + +// ProtoMethods returns optional fastReflectionFeature-path implementations of various operations. +// This method may return nil. +// +// The returned methods type is identical to +// "google.golang.org/protobuf/runtime/protoiface".Methods. +// Consult the protoiface package documentation for details. +func (x *fastReflection_GetAggrKeysharePacketData) ProtoMethods() *protoiface.Methods { + size := func(input protoiface.SizeInput) protoiface.SizeOutput { + x := input.Message.Interface().(*GetAggrKeysharePacketData) + if x == nil { + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: 0, + } + } + options := runtime.SizeInputToOptions(input) + _ = options + var n int + var l int + _ = l + l = len(x.Identity) + if l > 0 { + n += 1 + l + runtime.Sov(uint64(l)) + } + if x.unknownFields != nil { + n += len(x.unknownFields) + } + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: n, + } + } + + marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { + x := input.Message.Interface().(*GetAggrKeysharePacketData) + if x == nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + options := runtime.MarshalInputToOptions(input) + _ = options + size := options.Size(x) + dAtA := make([]byte, size) + i := len(dAtA) + _ = i + var l int + _ = l + if x.unknownFields != nil { + i -= len(x.unknownFields) + copy(dAtA[i:], x.unknownFields) + } + if len(x.Identity) > 0 { + i -= len(x.Identity) + copy(dAtA[i:], x.Identity) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Identity))) + i-- + dAtA[i] = 0xa + } + if input.Buf != nil { + input.Buf = append(input.Buf, dAtA...) + } else { + input.Buf = dAtA + } + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { + x := input.Message.Interface().(*GetAggrKeysharePacketData) + if x == nil { + return protoiface.UnmarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Flags: input.Flags, + }, nil + } + options := runtime.UnmarshalInputToOptions(input) + _ = options + dAtA := input.Buf + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + 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++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: GetAggrKeysharePacketData: wiretype end group for non-group") + } + if fieldNum <= 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: GetAggrKeysharePacketData: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Identity", wireType) + } + var stringLen uint64 + 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++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + x.Identity = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := runtime.Skip(dAtA[iNdEx:]) + if err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if !options.DiscardUnknown { + x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + } + iNdEx += skippy + } + } + + if iNdEx > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil + } + return &protoiface.Methods{ + NoUnkeyedLiterals: struct{}{}, + Flags: protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown, + Size: size, + Marshal: marshal, + Unmarshal: unmarshal, + Merge: nil, + CheckInitialized: nil, + } +} + +var ( + md_GetAggrKeysharePacketAck protoreflect.MessageDescriptor +) + +func init() { + file_fairyring_keyshare_packet_proto_init() + md_GetAggrKeysharePacketAck = File_fairyring_keyshare_packet_proto.Messages().ByName("GetAggrKeysharePacketAck") +} + +var _ protoreflect.Message = (*fastReflection_GetAggrKeysharePacketAck)(nil) + +type fastReflection_GetAggrKeysharePacketAck GetAggrKeysharePacketAck + +func (x *GetAggrKeysharePacketAck) ProtoReflect() protoreflect.Message { + return (*fastReflection_GetAggrKeysharePacketAck)(x) +} + +func (x *GetAggrKeysharePacketAck) slowProtoReflect() protoreflect.Message { + mi := &file_fairyring_keyshare_packet_proto_msgTypes[7] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +var _fastReflection_GetAggrKeysharePacketAck_messageType fastReflection_GetAggrKeysharePacketAck_messageType +var _ protoreflect.MessageType = fastReflection_GetAggrKeysharePacketAck_messageType{} + +type fastReflection_GetAggrKeysharePacketAck_messageType struct{} + +func (x fastReflection_GetAggrKeysharePacketAck_messageType) Zero() protoreflect.Message { + return (*fastReflection_GetAggrKeysharePacketAck)(nil) +} +func (x fastReflection_GetAggrKeysharePacketAck_messageType) New() protoreflect.Message { + return new(fastReflection_GetAggrKeysharePacketAck) +} +func (x fastReflection_GetAggrKeysharePacketAck_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_GetAggrKeysharePacketAck +} + +// Descriptor returns message descriptor, which contains only the protobuf +// type information for the message. +func (x *fastReflection_GetAggrKeysharePacketAck) Descriptor() protoreflect.MessageDescriptor { + return md_GetAggrKeysharePacketAck +} + +// Type returns the message type, which encapsulates both Go and protobuf +// type information. If the Go type information is not needed, +// it is recommended that the message descriptor be used instead. +func (x *fastReflection_GetAggrKeysharePacketAck) Type() protoreflect.MessageType { + return _fastReflection_GetAggrKeysharePacketAck_messageType +} + +// New returns a newly allocated and mutable empty message. +func (x *fastReflection_GetAggrKeysharePacketAck) New() protoreflect.Message { + return new(fastReflection_GetAggrKeysharePacketAck) +} + +// Interface unwraps the message reflection interface and +// returns the underlying ProtoMessage interface. +func (x *fastReflection_GetAggrKeysharePacketAck) Interface() protoreflect.ProtoMessage { + return (*GetAggrKeysharePacketAck)(x) +} + +// Range iterates over every populated field in an undefined order, +// calling f for each field descriptor and value encountered. +// Range returns immediately if f returns false. +// While iterating, mutating operations may only be performed +// on the current field descriptor. +func (x *fastReflection_GetAggrKeysharePacketAck) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { +} + +// Has reports whether a field is populated. +// +// Some fields have the property of nullability where it is possible to +// distinguish between the default value of a field and whether the field +// was explicitly populated with the default value. Singular message fields, +// member fields of a oneof, and proto2 scalar fields are nullable. Such +// fields are populated only if explicitly set. +// +// In other cases (aside from the nullable cases above), +// a proto3 scalar field is populated if it contains a non-zero value, and +// a repeated field is populated if it is non-empty. +func (x *fastReflection_GetAggrKeysharePacketAck) Has(fd protoreflect.FieldDescriptor) bool { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: fairyring.keyshare.GetAggrKeysharePacketAck")) + } + panic(fmt.Errorf("message fairyring.keyshare.GetAggrKeysharePacketAck does not contain field %s", fd.FullName())) + } +} + +// Clear clears the field such that a subsequent Has call reports false. +// +// Clearing an extension field clears both the extension type and value +// associated with the given field number. +// +// Clear is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_GetAggrKeysharePacketAck) Clear(fd protoreflect.FieldDescriptor) { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: fairyring.keyshare.GetAggrKeysharePacketAck")) + } + panic(fmt.Errorf("message fairyring.keyshare.GetAggrKeysharePacketAck does not contain field %s", fd.FullName())) + } +} + +// Get retrieves the value for a field. +// +// For unpopulated scalars, it returns the default value, where +// the default value of a bytes scalar is guaranteed to be a copy. +// For unpopulated composite types, it returns an empty, read-only view +// of the value; to obtain a mutable reference, use Mutable. +func (x *fastReflection_GetAggrKeysharePacketAck) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { + switch descriptor.FullName() { + default: + if descriptor.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: fairyring.keyshare.GetAggrKeysharePacketAck")) + } + panic(fmt.Errorf("message fairyring.keyshare.GetAggrKeysharePacketAck does not contain field %s", descriptor.FullName())) + } +} + +// Set stores the value for a field. +// +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType. +// When setting a composite type, it is unspecified whether the stored value +// aliases the source's memory in any way. If the composite value is an +// empty, read-only value, then it panics. +// +// Set is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_GetAggrKeysharePacketAck) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: fairyring.keyshare.GetAggrKeysharePacketAck")) + } + panic(fmt.Errorf("message fairyring.keyshare.GetAggrKeysharePacketAck does not contain field %s", fd.FullName())) + } +} + +// Mutable returns a mutable reference to a composite type. +// +// If the field is unpopulated, it may allocate a composite value. +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType +// if not already stored. +// It panics if the field does not contain a composite type. +// +// Mutable is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_GetAggrKeysharePacketAck) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: fairyring.keyshare.GetAggrKeysharePacketAck")) + } + panic(fmt.Errorf("message fairyring.keyshare.GetAggrKeysharePacketAck does not contain field %s", fd.FullName())) + } +} + +// NewField returns a new value that is assignable to the field +// for the given descriptor. For scalars, this returns the default value. +// For lists, maps, and messages, this returns a new, empty, mutable value. +func (x *fastReflection_GetAggrKeysharePacketAck) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: fairyring.keyshare.GetAggrKeysharePacketAck")) + } + panic(fmt.Errorf("message fairyring.keyshare.GetAggrKeysharePacketAck does not contain field %s", fd.FullName())) + } +} + +// WhichOneof reports which field within the oneof is populated, +// returning nil if none are populated. +// It panics if the oneof descriptor does not belong to this message. +func (x *fastReflection_GetAggrKeysharePacketAck) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { + switch d.FullName() { + default: + panic(fmt.Errorf("%s is not a oneof field in fairyring.keyshare.GetAggrKeysharePacketAck", d.FullName())) + } + panic("unreachable") +} + +// GetUnknown retrieves the entire list of unknown fields. +// The caller may only mutate the contents of the RawFields +// if the mutated bytes are stored back into the message with SetUnknown. +func (x *fastReflection_GetAggrKeysharePacketAck) GetUnknown() protoreflect.RawFields { + return x.unknownFields +} + +// SetUnknown stores an entire list of unknown fields. +// The raw fields must be syntactically valid according to the wire format. +// An implementation may panic if this is not the case. +// Once stored, the caller must not mutate the content of the RawFields. +// An empty RawFields may be passed to clear the fields. +// +// SetUnknown is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_GetAggrKeysharePacketAck) SetUnknown(fields protoreflect.RawFields) { + x.unknownFields = fields +} + +// IsValid reports whether the message is valid. +// +// An invalid message is an empty, read-only value. +// +// An invalid message often corresponds to a nil pointer of the concrete +// message type, but the details are implementation dependent. +// Validity is not part of the protobuf data model, and may not +// be preserved in marshaling or other operations. +func (x *fastReflection_GetAggrKeysharePacketAck) IsValid() bool { + return x != nil +} + +// ProtoMethods returns optional fastReflectionFeature-path implementations of various operations. +// This method may return nil. +// +// The returned methods type is identical to +// "google.golang.org/protobuf/runtime/protoiface".Methods. +// Consult the protoiface package documentation for details. +func (x *fastReflection_GetAggrKeysharePacketAck) ProtoMethods() *protoiface.Methods { + size := func(input protoiface.SizeInput) protoiface.SizeOutput { + x := input.Message.Interface().(*GetAggrKeysharePacketAck) + if x == nil { + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: 0, + } + } + options := runtime.SizeInputToOptions(input) + _ = options + var n int + var l int + _ = l + if x.unknownFields != nil { + n += len(x.unknownFields) + } + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: n, + } + } + + marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { + x := input.Message.Interface().(*GetAggrKeysharePacketAck) + if x == nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + options := runtime.MarshalInputToOptions(input) + _ = options + size := options.Size(x) + dAtA := make([]byte, size) + i := len(dAtA) + _ = i + var l int + _ = l + if x.unknownFields != nil { + i -= len(x.unknownFields) + copy(dAtA[i:], x.unknownFields) + } + if input.Buf != nil { + input.Buf = append(input.Buf, dAtA...) + } else { + input.Buf = dAtA + } + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { + x := input.Message.Interface().(*GetAggrKeysharePacketAck) + if x == nil { + return protoiface.UnmarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Flags: input.Flags, + }, nil + } + options := runtime.UnmarshalInputToOptions(input) + _ = options + dAtA := input.Buf + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + 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++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: GetAggrKeysharePacketAck: wiretype end group for non-group") + } + if fieldNum <= 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: GetAggrKeysharePacketAck: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + default: + iNdEx = preIndex + skippy, err := runtime.Skip(dAtA[iNdEx:]) + if err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if !options.DiscardUnknown { + x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + } + iNdEx += skippy + } + } + + if iNdEx > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil + } + return &protoiface.Methods{ + NoUnkeyedLiterals: struct{}{}, + Flags: protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown, + Size: size, + Marshal: marshal, + Unmarshal: unmarshal, + Merge: nil, + CheckInitialized: nil, + } +} + +var ( + md_GetPrivateKeysharePacketData protoreflect.MessageDescriptor + fd_GetPrivateKeysharePacketData_identity protoreflect.FieldDescriptor + fd_GetPrivateKeysharePacketData_requester protoreflect.FieldDescriptor + fd_GetPrivateKeysharePacketData_secp_pubkey protoreflect.FieldDescriptor +) + +func init() { + file_fairyring_keyshare_packet_proto_init() + md_GetPrivateKeysharePacketData = File_fairyring_keyshare_packet_proto.Messages().ByName("GetPrivateKeysharePacketData") + fd_GetPrivateKeysharePacketData_identity = md_GetPrivateKeysharePacketData.Fields().ByName("identity") + fd_GetPrivateKeysharePacketData_requester = md_GetPrivateKeysharePacketData.Fields().ByName("requester") + fd_GetPrivateKeysharePacketData_secp_pubkey = md_GetPrivateKeysharePacketData.Fields().ByName("secp_pubkey") +} + +var _ protoreflect.Message = (*fastReflection_GetPrivateKeysharePacketData)(nil) + +type fastReflection_GetPrivateKeysharePacketData GetPrivateKeysharePacketData + +func (x *GetPrivateKeysharePacketData) ProtoReflect() protoreflect.Message { + return (*fastReflection_GetPrivateKeysharePacketData)(x) +} + +func (x *GetPrivateKeysharePacketData) slowProtoReflect() protoreflect.Message { + mi := &file_fairyring_keyshare_packet_proto_msgTypes[8] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +var _fastReflection_GetPrivateKeysharePacketData_messageType fastReflection_GetPrivateKeysharePacketData_messageType +var _ protoreflect.MessageType = fastReflection_GetPrivateKeysharePacketData_messageType{} + +type fastReflection_GetPrivateKeysharePacketData_messageType struct{} + +func (x fastReflection_GetPrivateKeysharePacketData_messageType) Zero() protoreflect.Message { + return (*fastReflection_GetPrivateKeysharePacketData)(nil) +} +func (x fastReflection_GetPrivateKeysharePacketData_messageType) New() protoreflect.Message { + return new(fastReflection_GetPrivateKeysharePacketData) +} +func (x fastReflection_GetPrivateKeysharePacketData_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_GetPrivateKeysharePacketData +} + +// Descriptor returns message descriptor, which contains only the protobuf +// type information for the message. +func (x *fastReflection_GetPrivateKeysharePacketData) Descriptor() protoreflect.MessageDescriptor { + return md_GetPrivateKeysharePacketData +} + +// Type returns the message type, which encapsulates both Go and protobuf +// type information. If the Go type information is not needed, +// it is recommended that the message descriptor be used instead. +func (x *fastReflection_GetPrivateKeysharePacketData) Type() protoreflect.MessageType { + return _fastReflection_GetPrivateKeysharePacketData_messageType +} + +// New returns a newly allocated and mutable empty message. +func (x *fastReflection_GetPrivateKeysharePacketData) New() protoreflect.Message { + return new(fastReflection_GetPrivateKeysharePacketData) +} + +// Interface unwraps the message reflection interface and +// returns the underlying ProtoMessage interface. +func (x *fastReflection_GetPrivateKeysharePacketData) Interface() protoreflect.ProtoMessage { + return (*GetPrivateKeysharePacketData)(x) +} + +// Range iterates over every populated field in an undefined order, +// calling f for each field descriptor and value encountered. +// Range returns immediately if f returns false. +// While iterating, mutating operations may only be performed +// on the current field descriptor. +func (x *fastReflection_GetPrivateKeysharePacketData) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { + if x.Identity != "" { + value := protoreflect.ValueOfString(x.Identity) + if !f(fd_GetPrivateKeysharePacketData_identity, value) { + return + } + } + if x.Requester != "" { + value := protoreflect.ValueOfString(x.Requester) + if !f(fd_GetPrivateKeysharePacketData_requester, value) { + return + } + } + if x.SecpPubkey != "" { + value := protoreflect.ValueOfString(x.SecpPubkey) + if !f(fd_GetPrivateKeysharePacketData_secp_pubkey, value) { + return + } + } +} + +// Has reports whether a field is populated. +// +// Some fields have the property of nullability where it is possible to +// distinguish between the default value of a field and whether the field +// was explicitly populated with the default value. Singular message fields, +// member fields of a oneof, and proto2 scalar fields are nullable. Such +// fields are populated only if explicitly set. +// +// In other cases (aside from the nullable cases above), +// a proto3 scalar field is populated if it contains a non-zero value, and +// a repeated field is populated if it is non-empty. +func (x *fastReflection_GetPrivateKeysharePacketData) Has(fd protoreflect.FieldDescriptor) bool { + switch fd.FullName() { + case "fairyring.keyshare.GetPrivateKeysharePacketData.identity": + return x.Identity != "" + case "fairyring.keyshare.GetPrivateKeysharePacketData.requester": + return x.Requester != "" + case "fairyring.keyshare.GetPrivateKeysharePacketData.secp_pubkey": + return x.SecpPubkey != "" + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: fairyring.keyshare.GetPrivateKeysharePacketData")) + } + panic(fmt.Errorf("message fairyring.keyshare.GetPrivateKeysharePacketData does not contain field %s", fd.FullName())) + } +} + +// Clear clears the field such that a subsequent Has call reports false. +// +// Clearing an extension field clears both the extension type and value +// associated with the given field number. +// +// Clear is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_GetPrivateKeysharePacketData) Clear(fd protoreflect.FieldDescriptor) { + switch fd.FullName() { + case "fairyring.keyshare.GetPrivateKeysharePacketData.identity": + x.Identity = "" + case "fairyring.keyshare.GetPrivateKeysharePacketData.requester": + x.Requester = "" + case "fairyring.keyshare.GetPrivateKeysharePacketData.secp_pubkey": + x.SecpPubkey = "" + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: fairyring.keyshare.GetPrivateKeysharePacketData")) + } + panic(fmt.Errorf("message fairyring.keyshare.GetPrivateKeysharePacketData does not contain field %s", fd.FullName())) + } +} + +// Get retrieves the value for a field. +// +// For unpopulated scalars, it returns the default value, where +// the default value of a bytes scalar is guaranteed to be a copy. +// For unpopulated composite types, it returns an empty, read-only view +// of the value; to obtain a mutable reference, use Mutable. +func (x *fastReflection_GetPrivateKeysharePacketData) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { + switch descriptor.FullName() { + case "fairyring.keyshare.GetPrivateKeysharePacketData.identity": + value := x.Identity + return protoreflect.ValueOfString(value) + case "fairyring.keyshare.GetPrivateKeysharePacketData.requester": + value := x.Requester + return protoreflect.ValueOfString(value) + case "fairyring.keyshare.GetPrivateKeysharePacketData.secp_pubkey": + value := x.SecpPubkey + return protoreflect.ValueOfString(value) + default: + if descriptor.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: fairyring.keyshare.GetPrivateKeysharePacketData")) + } + panic(fmt.Errorf("message fairyring.keyshare.GetPrivateKeysharePacketData does not contain field %s", descriptor.FullName())) + } +} + +// Set stores the value for a field. +// +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType. +// When setting a composite type, it is unspecified whether the stored value +// aliases the source's memory in any way. If the composite value is an +// empty, read-only value, then it panics. +// +// Set is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_GetPrivateKeysharePacketData) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { + switch fd.FullName() { + case "fairyring.keyshare.GetPrivateKeysharePacketData.identity": + x.Identity = value.Interface().(string) + case "fairyring.keyshare.GetPrivateKeysharePacketData.requester": + x.Requester = value.Interface().(string) + case "fairyring.keyshare.GetPrivateKeysharePacketData.secp_pubkey": + x.SecpPubkey = value.Interface().(string) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: fairyring.keyshare.GetPrivateKeysharePacketData")) + } + panic(fmt.Errorf("message fairyring.keyshare.GetPrivateKeysharePacketData does not contain field %s", fd.FullName())) + } +} + +// Mutable returns a mutable reference to a composite type. +// +// If the field is unpopulated, it may allocate a composite value. +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType +// if not already stored. +// It panics if the field does not contain a composite type. +// +// Mutable is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_GetPrivateKeysharePacketData) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "fairyring.keyshare.GetPrivateKeysharePacketData.identity": + panic(fmt.Errorf("field identity of message fairyring.keyshare.GetPrivateKeysharePacketData is not mutable")) + case "fairyring.keyshare.GetPrivateKeysharePacketData.requester": + panic(fmt.Errorf("field requester of message fairyring.keyshare.GetPrivateKeysharePacketData is not mutable")) + case "fairyring.keyshare.GetPrivateKeysharePacketData.secp_pubkey": + panic(fmt.Errorf("field secp_pubkey of message fairyring.keyshare.GetPrivateKeysharePacketData is not mutable")) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: fairyring.keyshare.GetPrivateKeysharePacketData")) + } + panic(fmt.Errorf("message fairyring.keyshare.GetPrivateKeysharePacketData does not contain field %s", fd.FullName())) + } +} + +// NewField returns a new value that is assignable to the field +// for the given descriptor. For scalars, this returns the default value. +// For lists, maps, and messages, this returns a new, empty, mutable value. +func (x *fastReflection_GetPrivateKeysharePacketData) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "fairyring.keyshare.GetPrivateKeysharePacketData.identity": + return protoreflect.ValueOfString("") + case "fairyring.keyshare.GetPrivateKeysharePacketData.requester": + return protoreflect.ValueOfString("") + case "fairyring.keyshare.GetPrivateKeysharePacketData.secp_pubkey": + return protoreflect.ValueOfString("") + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: fairyring.keyshare.GetPrivateKeysharePacketData")) + } + panic(fmt.Errorf("message fairyring.keyshare.GetPrivateKeysharePacketData does not contain field %s", fd.FullName())) + } +} + +// WhichOneof reports which field within the oneof is populated, +// returning nil if none are populated. +// It panics if the oneof descriptor does not belong to this message. +func (x *fastReflection_GetPrivateKeysharePacketData) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { + switch d.FullName() { + default: + panic(fmt.Errorf("%s is not a oneof field in fairyring.keyshare.GetPrivateKeysharePacketData", d.FullName())) + } + panic("unreachable") +} + +// GetUnknown retrieves the entire list of unknown fields. +// The caller may only mutate the contents of the RawFields +// if the mutated bytes are stored back into the message with SetUnknown. +func (x *fastReflection_GetPrivateKeysharePacketData) GetUnknown() protoreflect.RawFields { + return x.unknownFields +} + +// SetUnknown stores an entire list of unknown fields. +// The raw fields must be syntactically valid according to the wire format. +// An implementation may panic if this is not the case. +// Once stored, the caller must not mutate the content of the RawFields. +// An empty RawFields may be passed to clear the fields. +// +// SetUnknown is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_GetPrivateKeysharePacketData) SetUnknown(fields protoreflect.RawFields) { + x.unknownFields = fields +} + +// IsValid reports whether the message is valid. +// +// An invalid message is an empty, read-only value. +// +// An invalid message often corresponds to a nil pointer of the concrete +// message type, but the details are implementation dependent. +// Validity is not part of the protobuf data model, and may not +// be preserved in marshaling or other operations. +func (x *fastReflection_GetPrivateKeysharePacketData) IsValid() bool { + return x != nil +} + +// ProtoMethods returns optional fastReflectionFeature-path implementations of various operations. +// This method may return nil. +// +// The returned methods type is identical to +// "google.golang.org/protobuf/runtime/protoiface".Methods. +// Consult the protoiface package documentation for details. +func (x *fastReflection_GetPrivateKeysharePacketData) ProtoMethods() *protoiface.Methods { + size := func(input protoiface.SizeInput) protoiface.SizeOutput { + x := input.Message.Interface().(*GetPrivateKeysharePacketData) + if x == nil { + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: 0, + } + } + options := runtime.SizeInputToOptions(input) + _ = options + var n int + var l int + _ = l + l = len(x.Identity) + if l > 0 { + n += 1 + l + runtime.Sov(uint64(l)) + } + l = len(x.Requester) + if l > 0 { + n += 1 + l + runtime.Sov(uint64(l)) + } + l = len(x.SecpPubkey) + if l > 0 { + n += 1 + l + runtime.Sov(uint64(l)) + } + if x.unknownFields != nil { + n += len(x.unknownFields) + } + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: n, + } + } + + marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { + x := input.Message.Interface().(*GetPrivateKeysharePacketData) + if x == nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + options := runtime.MarshalInputToOptions(input) + _ = options + size := options.Size(x) + dAtA := make([]byte, size) + i := len(dAtA) + _ = i + var l int + _ = l + if x.unknownFields != nil { + i -= len(x.unknownFields) + copy(dAtA[i:], x.unknownFields) + } + if len(x.SecpPubkey) > 0 { + i -= len(x.SecpPubkey) + copy(dAtA[i:], x.SecpPubkey) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.SecpPubkey))) + i-- + dAtA[i] = 0x1a + } + if len(x.Requester) > 0 { + i -= len(x.Requester) + copy(dAtA[i:], x.Requester) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Requester))) + i-- + dAtA[i] = 0x12 + } + if len(x.Identity) > 0 { + i -= len(x.Identity) + copy(dAtA[i:], x.Identity) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Identity))) + i-- + dAtA[i] = 0xa + } + if input.Buf != nil { + input.Buf = append(input.Buf, dAtA...) + } else { + input.Buf = dAtA + } + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { + x := input.Message.Interface().(*GetPrivateKeysharePacketData) + if x == nil { + return protoiface.UnmarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Flags: input.Flags, + }, nil + } + options := runtime.UnmarshalInputToOptions(input) + _ = options + dAtA := input.Buf + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + 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++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: GetPrivateKeysharePacketData: wiretype end group for non-group") + } + if fieldNum <= 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: GetPrivateKeysharePacketData: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Identity", wireType) + } + var stringLen uint64 + 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++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + x.Identity = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Requester", wireType) + } + var stringLen uint64 + 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++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + x.Requester = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 3: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field SecpPubkey", wireType) + } + var stringLen uint64 + 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++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + x.SecpPubkey = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := runtime.Skip(dAtA[iNdEx:]) + if err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if !options.DiscardUnknown { + x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + } + iNdEx += skippy + } + } + + if iNdEx > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil + } + return &protoiface.Methods{ + NoUnkeyedLiterals: struct{}{}, + Flags: protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown, + Size: size, + Marshal: marshal, + Unmarshal: unmarshal, + Merge: nil, + CheckInitialized: nil, + } +} + +var ( + md_GetPrivateKeysharePacketAck protoreflect.MessageDescriptor +) + +func init() { + file_fairyring_keyshare_packet_proto_init() + md_GetPrivateKeysharePacketAck = File_fairyring_keyshare_packet_proto.Messages().ByName("GetPrivateKeysharePacketAck") +} + +var _ protoreflect.Message = (*fastReflection_GetPrivateKeysharePacketAck)(nil) + +type fastReflection_GetPrivateKeysharePacketAck GetPrivateKeysharePacketAck + +func (x *GetPrivateKeysharePacketAck) ProtoReflect() protoreflect.Message { + return (*fastReflection_GetPrivateKeysharePacketAck)(x) +} + +func (x *GetPrivateKeysharePacketAck) slowProtoReflect() protoreflect.Message { + mi := &file_fairyring_keyshare_packet_proto_msgTypes[9] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +var _fastReflection_GetPrivateKeysharePacketAck_messageType fastReflection_GetPrivateKeysharePacketAck_messageType +var _ protoreflect.MessageType = fastReflection_GetPrivateKeysharePacketAck_messageType{} + +type fastReflection_GetPrivateKeysharePacketAck_messageType struct{} + +func (x fastReflection_GetPrivateKeysharePacketAck_messageType) Zero() protoreflect.Message { + return (*fastReflection_GetPrivateKeysharePacketAck)(nil) +} +func (x fastReflection_GetPrivateKeysharePacketAck_messageType) New() protoreflect.Message { + return new(fastReflection_GetPrivateKeysharePacketAck) +} +func (x fastReflection_GetPrivateKeysharePacketAck_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_GetPrivateKeysharePacketAck +} + +// Descriptor returns message descriptor, which contains only the protobuf +// type information for the message. +func (x *fastReflection_GetPrivateKeysharePacketAck) Descriptor() protoreflect.MessageDescriptor { + return md_GetPrivateKeysharePacketAck +} + +// Type returns the message type, which encapsulates both Go and protobuf +// type information. If the Go type information is not needed, +// it is recommended that the message descriptor be used instead. +func (x *fastReflection_GetPrivateKeysharePacketAck) Type() protoreflect.MessageType { + return _fastReflection_GetPrivateKeysharePacketAck_messageType +} + +// New returns a newly allocated and mutable empty message. +func (x *fastReflection_GetPrivateKeysharePacketAck) New() protoreflect.Message { + return new(fastReflection_GetPrivateKeysharePacketAck) +} + +// Interface unwraps the message reflection interface and +// returns the underlying ProtoMessage interface. +func (x *fastReflection_GetPrivateKeysharePacketAck) Interface() protoreflect.ProtoMessage { + return (*GetPrivateKeysharePacketAck)(x) +} + +// Range iterates over every populated field in an undefined order, +// calling f for each field descriptor and value encountered. +// Range returns immediately if f returns false. +// While iterating, mutating operations may only be performed +// on the current field descriptor. +func (x *fastReflection_GetPrivateKeysharePacketAck) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { +} + +// Has reports whether a field is populated. +// +// Some fields have the property of nullability where it is possible to +// distinguish between the default value of a field and whether the field +// was explicitly populated with the default value. Singular message fields, +// member fields of a oneof, and proto2 scalar fields are nullable. Such +// fields are populated only if explicitly set. +// +// In other cases (aside from the nullable cases above), +// a proto3 scalar field is populated if it contains a non-zero value, and +// a repeated field is populated if it is non-empty. +func (x *fastReflection_GetPrivateKeysharePacketAck) Has(fd protoreflect.FieldDescriptor) bool { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: fairyring.keyshare.GetPrivateKeysharePacketAck")) + } + panic(fmt.Errorf("message fairyring.keyshare.GetPrivateKeysharePacketAck does not contain field %s", fd.FullName())) + } +} + +// Clear clears the field such that a subsequent Has call reports false. +// +// Clearing an extension field clears both the extension type and value +// associated with the given field number. +// +// Clear is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_GetPrivateKeysharePacketAck) Clear(fd protoreflect.FieldDescriptor) { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: fairyring.keyshare.GetPrivateKeysharePacketAck")) + } + panic(fmt.Errorf("message fairyring.keyshare.GetPrivateKeysharePacketAck does not contain field %s", fd.FullName())) + } +} + +// Get retrieves the value for a field. +// +// For unpopulated scalars, it returns the default value, where +// the default value of a bytes scalar is guaranteed to be a copy. +// For unpopulated composite types, it returns an empty, read-only view +// of the value; to obtain a mutable reference, use Mutable. +func (x *fastReflection_GetPrivateKeysharePacketAck) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { + switch descriptor.FullName() { + default: + if descriptor.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: fairyring.keyshare.GetPrivateKeysharePacketAck")) + } + panic(fmt.Errorf("message fairyring.keyshare.GetPrivateKeysharePacketAck does not contain field %s", descriptor.FullName())) + } +} + +// Set stores the value for a field. +// +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType. +// When setting a composite type, it is unspecified whether the stored value +// aliases the source's memory in any way. If the composite value is an +// empty, read-only value, then it panics. +// +// Set is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_GetPrivateKeysharePacketAck) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: fairyring.keyshare.GetPrivateKeysharePacketAck")) + } + panic(fmt.Errorf("message fairyring.keyshare.GetPrivateKeysharePacketAck does not contain field %s", fd.FullName())) + } +} + +// Mutable returns a mutable reference to a composite type. +// +// If the field is unpopulated, it may allocate a composite value. +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType +// if not already stored. +// It panics if the field does not contain a composite type. +// +// Mutable is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_GetPrivateKeysharePacketAck) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: fairyring.keyshare.GetPrivateKeysharePacketAck")) + } + panic(fmt.Errorf("message fairyring.keyshare.GetPrivateKeysharePacketAck does not contain field %s", fd.FullName())) + } +} + +// NewField returns a new value that is assignable to the field +// for the given descriptor. For scalars, this returns the default value. +// For lists, maps, and messages, this returns a new, empty, mutable value. +func (x *fastReflection_GetPrivateKeysharePacketAck) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: fairyring.keyshare.GetPrivateKeysharePacketAck")) + } + panic(fmt.Errorf("message fairyring.keyshare.GetPrivateKeysharePacketAck does not contain field %s", fd.FullName())) + } +} + +// WhichOneof reports which field within the oneof is populated, +// returning nil if none are populated. +// It panics if the oneof descriptor does not belong to this message. +func (x *fastReflection_GetPrivateKeysharePacketAck) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { + switch d.FullName() { + default: + panic(fmt.Errorf("%s is not a oneof field in fairyring.keyshare.GetPrivateKeysharePacketAck", d.FullName())) + } + panic("unreachable") +} + +// GetUnknown retrieves the entire list of unknown fields. +// The caller may only mutate the contents of the RawFields +// if the mutated bytes are stored back into the message with SetUnknown. +func (x *fastReflection_GetPrivateKeysharePacketAck) GetUnknown() protoreflect.RawFields { + return x.unknownFields +} + +// SetUnknown stores an entire list of unknown fields. +// The raw fields must be syntactically valid according to the wire format. +// An implementation may panic if this is not the case. +// Once stored, the caller must not mutate the content of the RawFields. +// An empty RawFields may be passed to clear the fields. +// +// SetUnknown is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_GetPrivateKeysharePacketAck) SetUnknown(fields protoreflect.RawFields) { + x.unknownFields = fields +} + +// IsValid reports whether the message is valid. +// +// An invalid message is an empty, read-only value. +// +// An invalid message often corresponds to a nil pointer of the concrete +// message type, but the details are implementation dependent. +// Validity is not part of the protobuf data model, and may not +// be preserved in marshaling or other operations. +func (x *fastReflection_GetPrivateKeysharePacketAck) IsValid() bool { + return x != nil +} + +// ProtoMethods returns optional fastReflectionFeature-path implementations of various operations. +// This method may return nil. +// +// The returned methods type is identical to +// "google.golang.org/protobuf/runtime/protoiface".Methods. +// Consult the protoiface package documentation for details. +func (x *fastReflection_GetPrivateKeysharePacketAck) ProtoMethods() *protoiface.Methods { + size := func(input protoiface.SizeInput) protoiface.SizeOutput { + x := input.Message.Interface().(*GetPrivateKeysharePacketAck) + if x == nil { + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: 0, + } + } + options := runtime.SizeInputToOptions(input) + _ = options + var n int + var l int + _ = l + if x.unknownFields != nil { + n += len(x.unknownFields) + } + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: n, + } + } + + marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { + x := input.Message.Interface().(*GetPrivateKeysharePacketAck) + if x == nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + options := runtime.MarshalInputToOptions(input) + _ = options + size := options.Size(x) + dAtA := make([]byte, size) + i := len(dAtA) + _ = i + var l int + _ = l + if x.unknownFields != nil { + i -= len(x.unknownFields) + copy(dAtA[i:], x.unknownFields) + } + if input.Buf != nil { + input.Buf = append(input.Buf, dAtA...) + } else { + input.Buf = dAtA + } + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { + x := input.Message.Interface().(*GetPrivateKeysharePacketAck) + if x == nil { + return protoiface.UnmarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Flags: input.Flags, + }, nil + } + options := runtime.UnmarshalInputToOptions(input) + _ = options + dAtA := input.Buf + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + 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++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: GetPrivateKeysharePacketAck: wiretype end group for non-group") + } + if fieldNum <= 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: GetPrivateKeysharePacketAck: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + default: + iNdEx = preIndex + skippy, err := runtime.Skip(dAtA[iNdEx:]) + if err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if !options.DiscardUnknown { + x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + } + iNdEx += skippy + } + } + + if iNdEx > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil + } + return &protoiface.Methods{ + NoUnkeyedLiterals: struct{}{}, + Flags: protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown, + Size: size, + Marshal: marshal, + Unmarshal: unmarshal, + Merge: nil, + CheckInitialized: nil, + } +} + +var ( + md_AggrKeyshareDataPacketData protoreflect.MessageDescriptor + fd_AggrKeyshareDataPacketData_identity protoreflect.FieldDescriptor + fd_AggrKeyshareDataPacketData_pubkey protoreflect.FieldDescriptor + fd_AggrKeyshareDataPacketData_aggr_keyshare protoreflect.FieldDescriptor + fd_AggrKeyshareDataPacketData_aggr_height protoreflect.FieldDescriptor + fd_AggrKeyshareDataPacketData_proposal_id protoreflect.FieldDescriptor + fd_AggrKeyshareDataPacketData_request_id protoreflect.FieldDescriptor + fd_AggrKeyshareDataPacketData_retries protoreflect.FieldDescriptor +) + +func init() { + file_fairyring_keyshare_packet_proto_init() + md_AggrKeyshareDataPacketData = File_fairyring_keyshare_packet_proto.Messages().ByName("AggrKeyshareDataPacketData") + fd_AggrKeyshareDataPacketData_identity = md_AggrKeyshareDataPacketData.Fields().ByName("identity") + fd_AggrKeyshareDataPacketData_pubkey = md_AggrKeyshareDataPacketData.Fields().ByName("pubkey") + fd_AggrKeyshareDataPacketData_aggr_keyshare = md_AggrKeyshareDataPacketData.Fields().ByName("aggr_keyshare") + fd_AggrKeyshareDataPacketData_aggr_height = md_AggrKeyshareDataPacketData.Fields().ByName("aggr_height") + fd_AggrKeyshareDataPacketData_proposal_id = md_AggrKeyshareDataPacketData.Fields().ByName("proposal_id") + fd_AggrKeyshareDataPacketData_request_id = md_AggrKeyshareDataPacketData.Fields().ByName("request_id") + fd_AggrKeyshareDataPacketData_retries = md_AggrKeyshareDataPacketData.Fields().ByName("retries") +} + +var _ protoreflect.Message = (*fastReflection_AggrKeyshareDataPacketData)(nil) + +type fastReflection_AggrKeyshareDataPacketData AggrKeyshareDataPacketData + +func (x *AggrKeyshareDataPacketData) ProtoReflect() protoreflect.Message { + return (*fastReflection_AggrKeyshareDataPacketData)(x) +} + +func (x *AggrKeyshareDataPacketData) slowProtoReflect() protoreflect.Message { + mi := &file_fairyring_keyshare_packet_proto_msgTypes[10] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +var _fastReflection_AggrKeyshareDataPacketData_messageType fastReflection_AggrKeyshareDataPacketData_messageType +var _ protoreflect.MessageType = fastReflection_AggrKeyshareDataPacketData_messageType{} + +type fastReflection_AggrKeyshareDataPacketData_messageType struct{} + +func (x fastReflection_AggrKeyshareDataPacketData_messageType) Zero() protoreflect.Message { + return (*fastReflection_AggrKeyshareDataPacketData)(nil) +} +func (x fastReflection_AggrKeyshareDataPacketData_messageType) New() protoreflect.Message { + return new(fastReflection_AggrKeyshareDataPacketData) +} +func (x fastReflection_AggrKeyshareDataPacketData_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_AggrKeyshareDataPacketData +} + +// Descriptor returns message descriptor, which contains only the protobuf +// type information for the message. +func (x *fastReflection_AggrKeyshareDataPacketData) Descriptor() protoreflect.MessageDescriptor { + return md_AggrKeyshareDataPacketData +} + +// Type returns the message type, which encapsulates both Go and protobuf +// type information. If the Go type information is not needed, +// it is recommended that the message descriptor be used instead. +func (x *fastReflection_AggrKeyshareDataPacketData) Type() protoreflect.MessageType { + return _fastReflection_AggrKeyshareDataPacketData_messageType +} + +// New returns a newly allocated and mutable empty message. +func (x *fastReflection_AggrKeyshareDataPacketData) New() protoreflect.Message { + return new(fastReflection_AggrKeyshareDataPacketData) +} + +// Interface unwraps the message reflection interface and +// returns the underlying ProtoMessage interface. +func (x *fastReflection_AggrKeyshareDataPacketData) Interface() protoreflect.ProtoMessage { + return (*AggrKeyshareDataPacketData)(x) +} + +// Range iterates over every populated field in an undefined order, +// calling f for each field descriptor and value encountered. +// Range returns immediately if f returns false. +// While iterating, mutating operations may only be performed +// on the current field descriptor. +func (x *fastReflection_AggrKeyshareDataPacketData) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { + if x.Identity != "" { + value := protoreflect.ValueOfString(x.Identity) + if !f(fd_AggrKeyshareDataPacketData_identity, value) { + return + } + } + if x.Pubkey != "" { + value := protoreflect.ValueOfString(x.Pubkey) + if !f(fd_AggrKeyshareDataPacketData_pubkey, value) { + return + } + } + if x.AggrKeyshare != "" { + value := protoreflect.ValueOfString(x.AggrKeyshare) + if !f(fd_AggrKeyshareDataPacketData_aggr_keyshare, value) { + return + } + } + if x.AggrHeight != "" { + value := protoreflect.ValueOfString(x.AggrHeight) + if !f(fd_AggrKeyshareDataPacketData_aggr_height, value) { + return + } + } + if x.ProposalId != "" { + value := protoreflect.ValueOfString(x.ProposalId) + if !f(fd_AggrKeyshareDataPacketData_proposal_id, value) { + return + } + } + if x.RequestId != "" { + value := protoreflect.ValueOfString(x.RequestId) + if !f(fd_AggrKeyshareDataPacketData_request_id, value) { + return + } + } + if x.Retries != uint64(0) { + value := protoreflect.ValueOfUint64(x.Retries) + if !f(fd_AggrKeyshareDataPacketData_retries, value) { + return + } + } +} + +// Has reports whether a field is populated. +// +// Some fields have the property of nullability where it is possible to +// distinguish between the default value of a field and whether the field +// was explicitly populated with the default value. Singular message fields, +// member fields of a oneof, and proto2 scalar fields are nullable. Such +// fields are populated only if explicitly set. +// +// In other cases (aside from the nullable cases above), +// a proto3 scalar field is populated if it contains a non-zero value, and +// a repeated field is populated if it is non-empty. +func (x *fastReflection_AggrKeyshareDataPacketData) Has(fd protoreflect.FieldDescriptor) bool { + switch fd.FullName() { + case "fairyring.keyshare.AggrKeyshareDataPacketData.identity": + return x.Identity != "" + case "fairyring.keyshare.AggrKeyshareDataPacketData.pubkey": + return x.Pubkey != "" + case "fairyring.keyshare.AggrKeyshareDataPacketData.aggr_keyshare": + return x.AggrKeyshare != "" + case "fairyring.keyshare.AggrKeyshareDataPacketData.aggr_height": + return x.AggrHeight != "" + case "fairyring.keyshare.AggrKeyshareDataPacketData.proposal_id": + return x.ProposalId != "" + case "fairyring.keyshare.AggrKeyshareDataPacketData.request_id": + return x.RequestId != "" + case "fairyring.keyshare.AggrKeyshareDataPacketData.retries": + return x.Retries != uint64(0) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: fairyring.keyshare.AggrKeyshareDataPacketData")) + } + panic(fmt.Errorf("message fairyring.keyshare.AggrKeyshareDataPacketData does not contain field %s", fd.FullName())) + } +} + +// Clear clears the field such that a subsequent Has call reports false. +// +// Clearing an extension field clears both the extension type and value +// associated with the given field number. +// +// Clear is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_AggrKeyshareDataPacketData) Clear(fd protoreflect.FieldDescriptor) { + switch fd.FullName() { + case "fairyring.keyshare.AggrKeyshareDataPacketData.identity": + x.Identity = "" + case "fairyring.keyshare.AggrKeyshareDataPacketData.pubkey": + x.Pubkey = "" + case "fairyring.keyshare.AggrKeyshareDataPacketData.aggr_keyshare": + x.AggrKeyshare = "" + case "fairyring.keyshare.AggrKeyshareDataPacketData.aggr_height": + x.AggrHeight = "" + case "fairyring.keyshare.AggrKeyshareDataPacketData.proposal_id": + x.ProposalId = "" + case "fairyring.keyshare.AggrKeyshareDataPacketData.request_id": + x.RequestId = "" + case "fairyring.keyshare.AggrKeyshareDataPacketData.retries": + x.Retries = uint64(0) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: fairyring.keyshare.AggrKeyshareDataPacketData")) + } + panic(fmt.Errorf("message fairyring.keyshare.AggrKeyshareDataPacketData does not contain field %s", fd.FullName())) + } +} + +// Get retrieves the value for a field. +// +// For unpopulated scalars, it returns the default value, where +// the default value of a bytes scalar is guaranteed to be a copy. +// For unpopulated composite types, it returns an empty, read-only view +// of the value; to obtain a mutable reference, use Mutable. +func (x *fastReflection_AggrKeyshareDataPacketData) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { + switch descriptor.FullName() { + case "fairyring.keyshare.AggrKeyshareDataPacketData.identity": + value := x.Identity + return protoreflect.ValueOfString(value) + case "fairyring.keyshare.AggrKeyshareDataPacketData.pubkey": + value := x.Pubkey + return protoreflect.ValueOfString(value) + case "fairyring.keyshare.AggrKeyshareDataPacketData.aggr_keyshare": + value := x.AggrKeyshare + return protoreflect.ValueOfString(value) + case "fairyring.keyshare.AggrKeyshareDataPacketData.aggr_height": + value := x.AggrHeight + return protoreflect.ValueOfString(value) + case "fairyring.keyshare.AggrKeyshareDataPacketData.proposal_id": + value := x.ProposalId + return protoreflect.ValueOfString(value) + case "fairyring.keyshare.AggrKeyshareDataPacketData.request_id": + value := x.RequestId + return protoreflect.ValueOfString(value) + case "fairyring.keyshare.AggrKeyshareDataPacketData.retries": + value := x.Retries + return protoreflect.ValueOfUint64(value) + default: + if descriptor.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: fairyring.keyshare.AggrKeyshareDataPacketData")) + } + panic(fmt.Errorf("message fairyring.keyshare.AggrKeyshareDataPacketData does not contain field %s", descriptor.FullName())) + } +} + +// Set stores the value for a field. +// +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType. +// When setting a composite type, it is unspecified whether the stored value +// aliases the source's memory in any way. If the composite value is an +// empty, read-only value, then it panics. +// +// Set is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_AggrKeyshareDataPacketData) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { + switch fd.FullName() { + case "fairyring.keyshare.AggrKeyshareDataPacketData.identity": + x.Identity = value.Interface().(string) + case "fairyring.keyshare.AggrKeyshareDataPacketData.pubkey": + x.Pubkey = value.Interface().(string) + case "fairyring.keyshare.AggrKeyshareDataPacketData.aggr_keyshare": + x.AggrKeyshare = value.Interface().(string) + case "fairyring.keyshare.AggrKeyshareDataPacketData.aggr_height": + x.AggrHeight = value.Interface().(string) + case "fairyring.keyshare.AggrKeyshareDataPacketData.proposal_id": + x.ProposalId = value.Interface().(string) + case "fairyring.keyshare.AggrKeyshareDataPacketData.request_id": + x.RequestId = value.Interface().(string) + case "fairyring.keyshare.AggrKeyshareDataPacketData.retries": + x.Retries = value.Uint() + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: fairyring.keyshare.AggrKeyshareDataPacketData")) + } + panic(fmt.Errorf("message fairyring.keyshare.AggrKeyshareDataPacketData does not contain field %s", fd.FullName())) + } +} + +// Mutable returns a mutable reference to a composite type. +// +// If the field is unpopulated, it may allocate a composite value. +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType +// if not already stored. +// It panics if the field does not contain a composite type. +// +// Mutable is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_AggrKeyshareDataPacketData) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "fairyring.keyshare.AggrKeyshareDataPacketData.identity": + panic(fmt.Errorf("field identity of message fairyring.keyshare.AggrKeyshareDataPacketData is not mutable")) + case "fairyring.keyshare.AggrKeyshareDataPacketData.pubkey": + panic(fmt.Errorf("field pubkey of message fairyring.keyshare.AggrKeyshareDataPacketData is not mutable")) + case "fairyring.keyshare.AggrKeyshareDataPacketData.aggr_keyshare": + panic(fmt.Errorf("field aggr_keyshare of message fairyring.keyshare.AggrKeyshareDataPacketData is not mutable")) + case "fairyring.keyshare.AggrKeyshareDataPacketData.aggr_height": + panic(fmt.Errorf("field aggr_height of message fairyring.keyshare.AggrKeyshareDataPacketData is not mutable")) + case "fairyring.keyshare.AggrKeyshareDataPacketData.proposal_id": + panic(fmt.Errorf("field proposal_id of message fairyring.keyshare.AggrKeyshareDataPacketData is not mutable")) + case "fairyring.keyshare.AggrKeyshareDataPacketData.request_id": + panic(fmt.Errorf("field request_id of message fairyring.keyshare.AggrKeyshareDataPacketData is not mutable")) + case "fairyring.keyshare.AggrKeyshareDataPacketData.retries": + panic(fmt.Errorf("field retries of message fairyring.keyshare.AggrKeyshareDataPacketData is not mutable")) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: fairyring.keyshare.AggrKeyshareDataPacketData")) + } + panic(fmt.Errorf("message fairyring.keyshare.AggrKeyshareDataPacketData does not contain field %s", fd.FullName())) + } +} + +// NewField returns a new value that is assignable to the field +// for the given descriptor. For scalars, this returns the default value. +// For lists, maps, and messages, this returns a new, empty, mutable value. +func (x *fastReflection_AggrKeyshareDataPacketData) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "fairyring.keyshare.AggrKeyshareDataPacketData.identity": + return protoreflect.ValueOfString("") + case "fairyring.keyshare.AggrKeyshareDataPacketData.pubkey": + return protoreflect.ValueOfString("") + case "fairyring.keyshare.AggrKeyshareDataPacketData.aggr_keyshare": + return protoreflect.ValueOfString("") + case "fairyring.keyshare.AggrKeyshareDataPacketData.aggr_height": + return protoreflect.ValueOfString("") + case "fairyring.keyshare.AggrKeyshareDataPacketData.proposal_id": + return protoreflect.ValueOfString("") + case "fairyring.keyshare.AggrKeyshareDataPacketData.request_id": + return protoreflect.ValueOfString("") + case "fairyring.keyshare.AggrKeyshareDataPacketData.retries": + return protoreflect.ValueOfUint64(uint64(0)) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: fairyring.keyshare.AggrKeyshareDataPacketData")) + } + panic(fmt.Errorf("message fairyring.keyshare.AggrKeyshareDataPacketData does not contain field %s", fd.FullName())) + } +} + +// WhichOneof reports which field within the oneof is populated, +// returning nil if none are populated. +// It panics if the oneof descriptor does not belong to this message. +func (x *fastReflection_AggrKeyshareDataPacketData) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { + switch d.FullName() { + default: + panic(fmt.Errorf("%s is not a oneof field in fairyring.keyshare.AggrKeyshareDataPacketData", d.FullName())) + } + panic("unreachable") +} + +// GetUnknown retrieves the entire list of unknown fields. +// The caller may only mutate the contents of the RawFields +// if the mutated bytes are stored back into the message with SetUnknown. +func (x *fastReflection_AggrKeyshareDataPacketData) GetUnknown() protoreflect.RawFields { + return x.unknownFields +} + +// SetUnknown stores an entire list of unknown fields. +// The raw fields must be syntactically valid according to the wire format. +// An implementation may panic if this is not the case. +// Once stored, the caller must not mutate the content of the RawFields. +// An empty RawFields may be passed to clear the fields. +// +// SetUnknown is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_AggrKeyshareDataPacketData) SetUnknown(fields protoreflect.RawFields) { + x.unknownFields = fields +} + +// IsValid reports whether the message is valid. +// +// An invalid message is an empty, read-only value. +// +// An invalid message often corresponds to a nil pointer of the concrete +// message type, but the details are implementation dependent. +// Validity is not part of the protobuf data model, and may not +// be preserved in marshaling or other operations. +func (x *fastReflection_AggrKeyshareDataPacketData) IsValid() bool { + return x != nil +} + +// ProtoMethods returns optional fastReflectionFeature-path implementations of various operations. +// This method may return nil. +// +// The returned methods type is identical to +// "google.golang.org/protobuf/runtime/protoiface".Methods. +// Consult the protoiface package documentation for details. +func (x *fastReflection_AggrKeyshareDataPacketData) ProtoMethods() *protoiface.Methods { + size := func(input protoiface.SizeInput) protoiface.SizeOutput { + x := input.Message.Interface().(*AggrKeyshareDataPacketData) + if x == nil { + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: 0, + } + } + options := runtime.SizeInputToOptions(input) + _ = options + var n int + var l int + _ = l + l = len(x.Identity) + if l > 0 { + n += 1 + l + runtime.Sov(uint64(l)) + } + l = len(x.Pubkey) + if l > 0 { + n += 1 + l + runtime.Sov(uint64(l)) + } + l = len(x.AggrKeyshare) + if l > 0 { + n += 1 + l + runtime.Sov(uint64(l)) + } + l = len(x.AggrHeight) + if l > 0 { + n += 1 + l + runtime.Sov(uint64(l)) + } + l = len(x.ProposalId) + if l > 0 { + n += 1 + l + runtime.Sov(uint64(l)) + } + l = len(x.RequestId) + if l > 0 { + n += 1 + l + runtime.Sov(uint64(l)) + } + if x.Retries != 0 { + n += 1 + runtime.Sov(uint64(x.Retries)) + } + if x.unknownFields != nil { + n += len(x.unknownFields) + } + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: n, + } + } + + marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { + x := input.Message.Interface().(*AggrKeyshareDataPacketData) + if x == nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + options := runtime.MarshalInputToOptions(input) + _ = options + size := options.Size(x) + dAtA := make([]byte, size) + i := len(dAtA) + _ = i + var l int + _ = l + if x.unknownFields != nil { + i -= len(x.unknownFields) + copy(dAtA[i:], x.unknownFields) + } + if x.Retries != 0 { + i = runtime.EncodeVarint(dAtA, i, uint64(x.Retries)) + i-- + dAtA[i] = 0x38 + } + if len(x.RequestId) > 0 { + i -= len(x.RequestId) + copy(dAtA[i:], x.RequestId) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.RequestId))) + i-- + dAtA[i] = 0x32 + } + if len(x.ProposalId) > 0 { + i -= len(x.ProposalId) + copy(dAtA[i:], x.ProposalId) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.ProposalId))) + i-- + dAtA[i] = 0x2a + } + if len(x.AggrHeight) > 0 { + i -= len(x.AggrHeight) + copy(dAtA[i:], x.AggrHeight) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.AggrHeight))) + i-- + dAtA[i] = 0x22 + } + if len(x.AggrKeyshare) > 0 { + i -= len(x.AggrKeyshare) + copy(dAtA[i:], x.AggrKeyshare) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.AggrKeyshare))) + i-- + dAtA[i] = 0x1a + } + if len(x.Pubkey) > 0 { + i -= len(x.Pubkey) + copy(dAtA[i:], x.Pubkey) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Pubkey))) + i-- + dAtA[i] = 0x12 + } + if len(x.Identity) > 0 { + i -= len(x.Identity) + copy(dAtA[i:], x.Identity) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Identity))) + i-- + dAtA[i] = 0xa + } + if input.Buf != nil { + input.Buf = append(input.Buf, dAtA...) + } else { + input.Buf = dAtA + } + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { + x := input.Message.Interface().(*AggrKeyshareDataPacketData) + if x == nil { + return protoiface.UnmarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Flags: input.Flags, + }, nil + } + options := runtime.UnmarshalInputToOptions(input) + _ = options + dAtA := input.Buf + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + 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++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: AggrKeyshareDataPacketData: wiretype end group for non-group") + } + if fieldNum <= 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: AggrKeyshareDataPacketData: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Identity", wireType) + } + var stringLen uint64 + 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++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + x.Identity = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Pubkey", wireType) + } + var stringLen uint64 + 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++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + x.Pubkey = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 3: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field AggrKeyshare", wireType) + } + var stringLen uint64 + 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++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + x.AggrKeyshare = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 4: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field AggrHeight", wireType) + } + var stringLen uint64 + 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++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + x.AggrHeight = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 5: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field ProposalId", wireType) + } + var stringLen uint64 + 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++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + x.ProposalId = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 6: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field RequestId", wireType) + } + var stringLen uint64 + 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++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + x.RequestId = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 7: + if wireType != 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Retries", wireType) + } + x.Retries = 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.Retries |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + default: + iNdEx = preIndex + skippy, err := runtime.Skip(dAtA[iNdEx:]) + if err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if !options.DiscardUnknown { + x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + } + iNdEx += skippy + } + } + + if iNdEx > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil + } + return &protoiface.Methods{ + NoUnkeyedLiterals: struct{}{}, + Flags: protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown, + Size: size, + Marshal: marshal, + Unmarshal: unmarshal, + Merge: nil, + CheckInitialized: nil, + } +} + +var ( + md_AggrKeyshareDataPacketAck protoreflect.MessageDescriptor +) + +func init() { + file_fairyring_keyshare_packet_proto_init() + md_AggrKeyshareDataPacketAck = File_fairyring_keyshare_packet_proto.Messages().ByName("AggrKeyshareDataPacketAck") +} + +var _ protoreflect.Message = (*fastReflection_AggrKeyshareDataPacketAck)(nil) + +type fastReflection_AggrKeyshareDataPacketAck AggrKeyshareDataPacketAck + +func (x *AggrKeyshareDataPacketAck) ProtoReflect() protoreflect.Message { + return (*fastReflection_AggrKeyshareDataPacketAck)(x) +} + +func (x *AggrKeyshareDataPacketAck) slowProtoReflect() protoreflect.Message { + mi := &file_fairyring_keyshare_packet_proto_msgTypes[11] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +var _fastReflection_AggrKeyshareDataPacketAck_messageType fastReflection_AggrKeyshareDataPacketAck_messageType +var _ protoreflect.MessageType = fastReflection_AggrKeyshareDataPacketAck_messageType{} + +type fastReflection_AggrKeyshareDataPacketAck_messageType struct{} + +func (x fastReflection_AggrKeyshareDataPacketAck_messageType) Zero() protoreflect.Message { + return (*fastReflection_AggrKeyshareDataPacketAck)(nil) +} +func (x fastReflection_AggrKeyshareDataPacketAck_messageType) New() protoreflect.Message { + return new(fastReflection_AggrKeyshareDataPacketAck) +} +func (x fastReflection_AggrKeyshareDataPacketAck_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_AggrKeyshareDataPacketAck +} + +// Descriptor returns message descriptor, which contains only the protobuf +// type information for the message. +func (x *fastReflection_AggrKeyshareDataPacketAck) Descriptor() protoreflect.MessageDescriptor { + return md_AggrKeyshareDataPacketAck +} + +// Type returns the message type, which encapsulates both Go and protobuf +// type information. If the Go type information is not needed, +// it is recommended that the message descriptor be used instead. +func (x *fastReflection_AggrKeyshareDataPacketAck) Type() protoreflect.MessageType { + return _fastReflection_AggrKeyshareDataPacketAck_messageType +} + +// New returns a newly allocated and mutable empty message. +func (x *fastReflection_AggrKeyshareDataPacketAck) New() protoreflect.Message { + return new(fastReflection_AggrKeyshareDataPacketAck) +} + +// Interface unwraps the message reflection interface and +// returns the underlying ProtoMessage interface. +func (x *fastReflection_AggrKeyshareDataPacketAck) Interface() protoreflect.ProtoMessage { + return (*AggrKeyshareDataPacketAck)(x) +} + +// Range iterates over every populated field in an undefined order, +// calling f for each field descriptor and value encountered. +// Range returns immediately if f returns false. +// While iterating, mutating operations may only be performed +// on the current field descriptor. +func (x *fastReflection_AggrKeyshareDataPacketAck) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { +} + +// Has reports whether a field is populated. +// +// Some fields have the property of nullability where it is possible to +// distinguish between the default value of a field and whether the field // was explicitly populated with the default value. Singular message fields, // member fields of a oneof, and proto2 scalar fields are nullable. Such // fields are populated only if explicitly set. @@ -2923,13 +6251,13 @@ func (x *fastReflection_GetAggrKeysharePacketAck) Range(f func(protoreflect.Fiel // In other cases (aside from the nullable cases above), // a proto3 scalar field is populated if it contains a non-zero value, and // a repeated field is populated if it is non-empty. -func (x *fastReflection_GetAggrKeysharePacketAck) Has(fd protoreflect.FieldDescriptor) bool { +func (x *fastReflection_AggrKeyshareDataPacketAck) Has(fd protoreflect.FieldDescriptor) bool { switch fd.FullName() { default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: fairyring.keyshare.GetAggrKeysharePacketAck")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: fairyring.keyshare.AggrKeyshareDataPacketAck")) } - panic(fmt.Errorf("message fairyring.keyshare.GetAggrKeysharePacketAck does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message fairyring.keyshare.AggrKeyshareDataPacketAck does not contain field %s", fd.FullName())) } } @@ -2939,13 +6267,13 @@ func (x *fastReflection_GetAggrKeysharePacketAck) Has(fd protoreflect.FieldDescr // associated with the given field number. // // Clear is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_GetAggrKeysharePacketAck) Clear(fd protoreflect.FieldDescriptor) { +func (x *fastReflection_AggrKeyshareDataPacketAck) Clear(fd protoreflect.FieldDescriptor) { switch fd.FullName() { default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: fairyring.keyshare.GetAggrKeysharePacketAck")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: fairyring.keyshare.AggrKeyshareDataPacketAck")) } - panic(fmt.Errorf("message fairyring.keyshare.GetAggrKeysharePacketAck does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message fairyring.keyshare.AggrKeyshareDataPacketAck does not contain field %s", fd.FullName())) } } @@ -2955,13 +6283,13 @@ func (x *fastReflection_GetAggrKeysharePacketAck) Clear(fd protoreflect.FieldDes // the default value of a bytes scalar is guaranteed to be a copy. // For unpopulated composite types, it returns an empty, read-only view // of the value; to obtain a mutable reference, use Mutable. -func (x *fastReflection_GetAggrKeysharePacketAck) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { +func (x *fastReflection_AggrKeyshareDataPacketAck) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { switch descriptor.FullName() { default: if descriptor.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: fairyring.keyshare.GetAggrKeysharePacketAck")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: fairyring.keyshare.AggrKeyshareDataPacketAck")) } - panic(fmt.Errorf("message fairyring.keyshare.GetAggrKeysharePacketAck does not contain field %s", descriptor.FullName())) + panic(fmt.Errorf("message fairyring.keyshare.AggrKeyshareDataPacketAck does not contain field %s", descriptor.FullName())) } } @@ -2975,13 +6303,13 @@ func (x *fastReflection_GetAggrKeysharePacketAck) Get(descriptor protoreflect.Fi // empty, read-only value, then it panics. // // Set is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_GetAggrKeysharePacketAck) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { +func (x *fastReflection_AggrKeyshareDataPacketAck) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { switch fd.FullName() { default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: fairyring.keyshare.GetAggrKeysharePacketAck")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: fairyring.keyshare.AggrKeyshareDataPacketAck")) } - panic(fmt.Errorf("message fairyring.keyshare.GetAggrKeysharePacketAck does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message fairyring.keyshare.AggrKeyshareDataPacketAck does not contain field %s", fd.FullName())) } } @@ -2995,36 +6323,36 @@ func (x *fastReflection_GetAggrKeysharePacketAck) Set(fd protoreflect.FieldDescr // It panics if the field does not contain a composite type. // // Mutable is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_GetAggrKeysharePacketAck) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { +func (x *fastReflection_AggrKeyshareDataPacketAck) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { switch fd.FullName() { default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: fairyring.keyshare.GetAggrKeysharePacketAck")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: fairyring.keyshare.AggrKeyshareDataPacketAck")) } - panic(fmt.Errorf("message fairyring.keyshare.GetAggrKeysharePacketAck does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message fairyring.keyshare.AggrKeyshareDataPacketAck does not contain field %s", fd.FullName())) } } // NewField returns a new value that is assignable to the field // for the given descriptor. For scalars, this returns the default value. // For lists, maps, and messages, this returns a new, empty, mutable value. -func (x *fastReflection_GetAggrKeysharePacketAck) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { +func (x *fastReflection_AggrKeyshareDataPacketAck) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { switch fd.FullName() { default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: fairyring.keyshare.GetAggrKeysharePacketAck")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: fairyring.keyshare.AggrKeyshareDataPacketAck")) } - panic(fmt.Errorf("message fairyring.keyshare.GetAggrKeysharePacketAck does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message fairyring.keyshare.AggrKeyshareDataPacketAck does not contain field %s", fd.FullName())) } } // WhichOneof reports which field within the oneof is populated, // returning nil if none are populated. // It panics if the oneof descriptor does not belong to this message. -func (x *fastReflection_GetAggrKeysharePacketAck) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { +func (x *fastReflection_AggrKeyshareDataPacketAck) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { switch d.FullName() { default: - panic(fmt.Errorf("%s is not a oneof field in fairyring.keyshare.GetAggrKeysharePacketAck", d.FullName())) + panic(fmt.Errorf("%s is not a oneof field in fairyring.keyshare.AggrKeyshareDataPacketAck", d.FullName())) } panic("unreachable") } @@ -3032,7 +6360,7 @@ func (x *fastReflection_GetAggrKeysharePacketAck) WhichOneof(d protoreflect.Oneo // GetUnknown retrieves the entire list of unknown fields. // The caller may only mutate the contents of the RawFields // if the mutated bytes are stored back into the message with SetUnknown. -func (x *fastReflection_GetAggrKeysharePacketAck) GetUnknown() protoreflect.RawFields { +func (x *fastReflection_AggrKeyshareDataPacketAck) GetUnknown() protoreflect.RawFields { return x.unknownFields } @@ -3043,7 +6371,7 @@ func (x *fastReflection_GetAggrKeysharePacketAck) GetUnknown() protoreflect.RawF // An empty RawFields may be passed to clear the fields. // // SetUnknown is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_GetAggrKeysharePacketAck) SetUnknown(fields protoreflect.RawFields) { +func (x *fastReflection_AggrKeyshareDataPacketAck) SetUnknown(fields protoreflect.RawFields) { x.unknownFields = fields } @@ -3055,7 +6383,7 @@ func (x *fastReflection_GetAggrKeysharePacketAck) SetUnknown(fields protoreflect // message type, but the details are implementation dependent. // Validity is not part of the protobuf data model, and may not // be preserved in marshaling or other operations. -func (x *fastReflection_GetAggrKeysharePacketAck) IsValid() bool { +func (x *fastReflection_AggrKeyshareDataPacketAck) IsValid() bool { return x != nil } @@ -3065,9 +6393,9 @@ func (x *fastReflection_GetAggrKeysharePacketAck) IsValid() bool { // The returned methods type is identical to // "google.golang.org/protobuf/runtime/protoiface".Methods. // Consult the protoiface package documentation for details. -func (x *fastReflection_GetAggrKeysharePacketAck) ProtoMethods() *protoiface.Methods { +func (x *fastReflection_AggrKeyshareDataPacketAck) ProtoMethods() *protoiface.Methods { size := func(input protoiface.SizeInput) protoiface.SizeOutput { - x := input.Message.Interface().(*GetAggrKeysharePacketAck) + x := input.Message.Interface().(*AggrKeyshareDataPacketAck) if x == nil { return protoiface.SizeOutput{ NoUnkeyedLiterals: input.NoUnkeyedLiterals, @@ -3089,7 +6417,7 @@ func (x *fastReflection_GetAggrKeysharePacketAck) ProtoMethods() *protoiface.Met } marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { - x := input.Message.Interface().(*GetAggrKeysharePacketAck) + x := input.Message.Interface().(*AggrKeyshareDataPacketAck) if x == nil { return protoiface.MarshalOutput{ NoUnkeyedLiterals: input.NoUnkeyedLiterals, @@ -3119,7 +6447,7 @@ func (x *fastReflection_GetAggrKeysharePacketAck) ProtoMethods() *protoiface.Met }, nil } unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { - x := input.Message.Interface().(*GetAggrKeysharePacketAck) + x := input.Message.Interface().(*AggrKeyshareDataPacketAck) if x == nil { return protoiface.UnmarshalOutput{ NoUnkeyedLiterals: input.NoUnkeyedLiterals, @@ -3151,10 +6479,10 @@ func (x *fastReflection_GetAggrKeysharePacketAck) ProtoMethods() *protoiface.Met fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: GetAggrKeysharePacketAck: wiretype end group for non-group") + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: AggrKeyshareDataPacketAck: wiretype end group for non-group") } if fieldNum <= 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: GetAggrKeysharePacketAck: illegal tag %d (wire type %d)", fieldNum, wire) + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: AggrKeyshareDataPacketAck: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { default: @@ -3192,39 +6520,84 @@ func (x *fastReflection_GetAggrKeysharePacketAck) ProtoMethods() *protoiface.Met } } +var _ protoreflect.List = (*_EncryptedKeysharesPacketData_4_list)(nil) + +type _EncryptedKeysharesPacketData_4_list struct { + list *[]*common.EncryptedKeyshare +} + +func (x *_EncryptedKeysharesPacketData_4_list) Len() int { + if x.list == nil { + return 0 + } + return len(*x.list) +} + +func (x *_EncryptedKeysharesPacketData_4_list) Get(i int) protoreflect.Value { + return protoreflect.ValueOfMessage((*x.list)[i].ProtoReflect()) +} + +func (x *_EncryptedKeysharesPacketData_4_list) Set(i int, value protoreflect.Value) { + valueUnwrapped := value.Message() + concreteValue := valueUnwrapped.Interface().(*common.EncryptedKeyshare) + (*x.list)[i] = concreteValue +} + +func (x *_EncryptedKeysharesPacketData_4_list) Append(value protoreflect.Value) { + valueUnwrapped := value.Message() + concreteValue := valueUnwrapped.Interface().(*common.EncryptedKeyshare) + *x.list = append(*x.list, concreteValue) +} + +func (x *_EncryptedKeysharesPacketData_4_list) AppendMutable() protoreflect.Value { + v := new(common.EncryptedKeyshare) + *x.list = append(*x.list, v) + return protoreflect.ValueOfMessage(v.ProtoReflect()) +} + +func (x *_EncryptedKeysharesPacketData_4_list) Truncate(n int) { + for i := n; i < len(*x.list); i++ { + (*x.list)[i] = nil + } + *x.list = (*x.list)[:n] +} + +func (x *_EncryptedKeysharesPacketData_4_list) NewElement() protoreflect.Value { + v := new(common.EncryptedKeyshare) + return protoreflect.ValueOfMessage(v.ProtoReflect()) +} + +func (x *_EncryptedKeysharesPacketData_4_list) IsValid() bool { + return x.list != nil +} + var ( - md_AggrKeyshareDataPacketData protoreflect.MessageDescriptor - fd_AggrKeyshareDataPacketData_identity protoreflect.FieldDescriptor - fd_AggrKeyshareDataPacketData_pubkey protoreflect.FieldDescriptor - fd_AggrKeyshareDataPacketData_aggr_keyshare protoreflect.FieldDescriptor - fd_AggrKeyshareDataPacketData_aggr_height protoreflect.FieldDescriptor - fd_AggrKeyshareDataPacketData_proposal_id protoreflect.FieldDescriptor - fd_AggrKeyshareDataPacketData_request_id protoreflect.FieldDescriptor - fd_AggrKeyshareDataPacketData_retries protoreflect.FieldDescriptor + md_EncryptedKeysharesPacketData protoreflect.MessageDescriptor + fd_EncryptedKeysharesPacketData_identity protoreflect.FieldDescriptor + fd_EncryptedKeysharesPacketData_pubkey protoreflect.FieldDescriptor + fd_EncryptedKeysharesPacketData_request_id protoreflect.FieldDescriptor + fd_EncryptedKeysharesPacketData_encrypted_keyshares protoreflect.FieldDescriptor ) func init() { file_fairyring_keyshare_packet_proto_init() - md_AggrKeyshareDataPacketData = File_fairyring_keyshare_packet_proto.Messages().ByName("AggrKeyshareDataPacketData") - fd_AggrKeyshareDataPacketData_identity = md_AggrKeyshareDataPacketData.Fields().ByName("identity") - fd_AggrKeyshareDataPacketData_pubkey = md_AggrKeyshareDataPacketData.Fields().ByName("pubkey") - fd_AggrKeyshareDataPacketData_aggr_keyshare = md_AggrKeyshareDataPacketData.Fields().ByName("aggr_keyshare") - fd_AggrKeyshareDataPacketData_aggr_height = md_AggrKeyshareDataPacketData.Fields().ByName("aggr_height") - fd_AggrKeyshareDataPacketData_proposal_id = md_AggrKeyshareDataPacketData.Fields().ByName("proposal_id") - fd_AggrKeyshareDataPacketData_request_id = md_AggrKeyshareDataPacketData.Fields().ByName("request_id") - fd_AggrKeyshareDataPacketData_retries = md_AggrKeyshareDataPacketData.Fields().ByName("retries") + md_EncryptedKeysharesPacketData = File_fairyring_keyshare_packet_proto.Messages().ByName("EncryptedKeysharesPacketData") + fd_EncryptedKeysharesPacketData_identity = md_EncryptedKeysharesPacketData.Fields().ByName("identity") + fd_EncryptedKeysharesPacketData_pubkey = md_EncryptedKeysharesPacketData.Fields().ByName("pubkey") + fd_EncryptedKeysharesPacketData_request_id = md_EncryptedKeysharesPacketData.Fields().ByName("request_id") + fd_EncryptedKeysharesPacketData_encrypted_keyshares = md_EncryptedKeysharesPacketData.Fields().ByName("encrypted_keyshares") } -var _ protoreflect.Message = (*fastReflection_AggrKeyshareDataPacketData)(nil) +var _ protoreflect.Message = (*fastReflection_EncryptedKeysharesPacketData)(nil) -type fastReflection_AggrKeyshareDataPacketData AggrKeyshareDataPacketData +type fastReflection_EncryptedKeysharesPacketData EncryptedKeysharesPacketData -func (x *AggrKeyshareDataPacketData) ProtoReflect() protoreflect.Message { - return (*fastReflection_AggrKeyshareDataPacketData)(x) +func (x *EncryptedKeysharesPacketData) ProtoReflect() protoreflect.Message { + return (*fastReflection_EncryptedKeysharesPacketData)(x) } -func (x *AggrKeyshareDataPacketData) slowProtoReflect() protoreflect.Message { - mi := &file_fairyring_keyshare_packet_proto_msgTypes[6] +func (x *EncryptedKeysharesPacketData) slowProtoReflect() protoreflect.Message { + mi := &file_fairyring_keyshare_packet_proto_msgTypes[12] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3235,43 +6608,43 @@ func (x *AggrKeyshareDataPacketData) slowProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -var _fastReflection_AggrKeyshareDataPacketData_messageType fastReflection_AggrKeyshareDataPacketData_messageType -var _ protoreflect.MessageType = fastReflection_AggrKeyshareDataPacketData_messageType{} +var _fastReflection_EncryptedKeysharesPacketData_messageType fastReflection_EncryptedKeysharesPacketData_messageType +var _ protoreflect.MessageType = fastReflection_EncryptedKeysharesPacketData_messageType{} -type fastReflection_AggrKeyshareDataPacketData_messageType struct{} +type fastReflection_EncryptedKeysharesPacketData_messageType struct{} -func (x fastReflection_AggrKeyshareDataPacketData_messageType) Zero() protoreflect.Message { - return (*fastReflection_AggrKeyshareDataPacketData)(nil) +func (x fastReflection_EncryptedKeysharesPacketData_messageType) Zero() protoreflect.Message { + return (*fastReflection_EncryptedKeysharesPacketData)(nil) } -func (x fastReflection_AggrKeyshareDataPacketData_messageType) New() protoreflect.Message { - return new(fastReflection_AggrKeyshareDataPacketData) +func (x fastReflection_EncryptedKeysharesPacketData_messageType) New() protoreflect.Message { + return new(fastReflection_EncryptedKeysharesPacketData) } -func (x fastReflection_AggrKeyshareDataPacketData_messageType) Descriptor() protoreflect.MessageDescriptor { - return md_AggrKeyshareDataPacketData +func (x fastReflection_EncryptedKeysharesPacketData_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_EncryptedKeysharesPacketData } // Descriptor returns message descriptor, which contains only the protobuf // type information for the message. -func (x *fastReflection_AggrKeyshareDataPacketData) Descriptor() protoreflect.MessageDescriptor { - return md_AggrKeyshareDataPacketData +func (x *fastReflection_EncryptedKeysharesPacketData) Descriptor() protoreflect.MessageDescriptor { + return md_EncryptedKeysharesPacketData } // Type returns the message type, which encapsulates both Go and protobuf // type information. If the Go type information is not needed, // it is recommended that the message descriptor be used instead. -func (x *fastReflection_AggrKeyshareDataPacketData) Type() protoreflect.MessageType { - return _fastReflection_AggrKeyshareDataPacketData_messageType +func (x *fastReflection_EncryptedKeysharesPacketData) Type() protoreflect.MessageType { + return _fastReflection_EncryptedKeysharesPacketData_messageType } // New returns a newly allocated and mutable empty message. -func (x *fastReflection_AggrKeyshareDataPacketData) New() protoreflect.Message { - return new(fastReflection_AggrKeyshareDataPacketData) +func (x *fastReflection_EncryptedKeysharesPacketData) New() protoreflect.Message { + return new(fastReflection_EncryptedKeysharesPacketData) } // Interface unwraps the message reflection interface and // returns the underlying ProtoMessage interface. -func (x *fastReflection_AggrKeyshareDataPacketData) Interface() protoreflect.ProtoMessage { - return (*AggrKeyshareDataPacketData)(x) +func (x *fastReflection_EncryptedKeysharesPacketData) Interface() protoreflect.ProtoMessage { + return (*EncryptedKeysharesPacketData)(x) } // Range iterates over every populated field in an undefined order, @@ -3279,46 +6652,28 @@ func (x *fastReflection_AggrKeyshareDataPacketData) Interface() protoreflect.Pro // Range returns immediately if f returns false. // While iterating, mutating operations may only be performed // on the current field descriptor. -func (x *fastReflection_AggrKeyshareDataPacketData) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { +func (x *fastReflection_EncryptedKeysharesPacketData) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { if x.Identity != "" { value := protoreflect.ValueOfString(x.Identity) - if !f(fd_AggrKeyshareDataPacketData_identity, value) { + if !f(fd_EncryptedKeysharesPacketData_identity, value) { return } } if x.Pubkey != "" { value := protoreflect.ValueOfString(x.Pubkey) - if !f(fd_AggrKeyshareDataPacketData_pubkey, value) { - return - } - } - if x.AggrKeyshare != "" { - value := protoreflect.ValueOfString(x.AggrKeyshare) - if !f(fd_AggrKeyshareDataPacketData_aggr_keyshare, value) { - return - } - } - if x.AggrHeight != "" { - value := protoreflect.ValueOfString(x.AggrHeight) - if !f(fd_AggrKeyshareDataPacketData_aggr_height, value) { - return - } - } - if x.ProposalId != "" { - value := protoreflect.ValueOfString(x.ProposalId) - if !f(fd_AggrKeyshareDataPacketData_proposal_id, value) { + if !f(fd_EncryptedKeysharesPacketData_pubkey, value) { return } } if x.RequestId != "" { value := protoreflect.ValueOfString(x.RequestId) - if !f(fd_AggrKeyshareDataPacketData_request_id, value) { + if !f(fd_EncryptedKeysharesPacketData_request_id, value) { return } } - if x.Retries != uint64(0) { - value := protoreflect.ValueOfUint64(x.Retries) - if !f(fd_AggrKeyshareDataPacketData_retries, value) { + if len(x.EncryptedKeyshares) != 0 { + value := protoreflect.ValueOfList(&_EncryptedKeysharesPacketData_4_list{list: &x.EncryptedKeyshares}) + if !f(fd_EncryptedKeysharesPacketData_encrypted_keyshares, value) { return } } @@ -3335,27 +6690,21 @@ func (x *fastReflection_AggrKeyshareDataPacketData) Range(f func(protoreflect.Fi // In other cases (aside from the nullable cases above), // a proto3 scalar field is populated if it contains a non-zero value, and // a repeated field is populated if it is non-empty. -func (x *fastReflection_AggrKeyshareDataPacketData) Has(fd protoreflect.FieldDescriptor) bool { +func (x *fastReflection_EncryptedKeysharesPacketData) Has(fd protoreflect.FieldDescriptor) bool { switch fd.FullName() { - case "fairyring.keyshare.AggrKeyshareDataPacketData.identity": + case "fairyring.keyshare.EncryptedKeysharesPacketData.identity": return x.Identity != "" - case "fairyring.keyshare.AggrKeyshareDataPacketData.pubkey": + case "fairyring.keyshare.EncryptedKeysharesPacketData.pubkey": return x.Pubkey != "" - case "fairyring.keyshare.AggrKeyshareDataPacketData.aggr_keyshare": - return x.AggrKeyshare != "" - case "fairyring.keyshare.AggrKeyshareDataPacketData.aggr_height": - return x.AggrHeight != "" - case "fairyring.keyshare.AggrKeyshareDataPacketData.proposal_id": - return x.ProposalId != "" - case "fairyring.keyshare.AggrKeyshareDataPacketData.request_id": + case "fairyring.keyshare.EncryptedKeysharesPacketData.request_id": return x.RequestId != "" - case "fairyring.keyshare.AggrKeyshareDataPacketData.retries": - return x.Retries != uint64(0) + case "fairyring.keyshare.EncryptedKeysharesPacketData.encrypted_keyshares": + return len(x.EncryptedKeyshares) != 0 default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: fairyring.keyshare.AggrKeyshareDataPacketData")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: fairyring.keyshare.EncryptedKeysharesPacketData")) } - panic(fmt.Errorf("message fairyring.keyshare.AggrKeyshareDataPacketData does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message fairyring.keyshare.EncryptedKeysharesPacketData does not contain field %s", fd.FullName())) } } @@ -3365,27 +6714,21 @@ func (x *fastReflection_AggrKeyshareDataPacketData) Has(fd protoreflect.FieldDes // associated with the given field number. // // Clear is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_AggrKeyshareDataPacketData) Clear(fd protoreflect.FieldDescriptor) { +func (x *fastReflection_EncryptedKeysharesPacketData) Clear(fd protoreflect.FieldDescriptor) { switch fd.FullName() { - case "fairyring.keyshare.AggrKeyshareDataPacketData.identity": + case "fairyring.keyshare.EncryptedKeysharesPacketData.identity": x.Identity = "" - case "fairyring.keyshare.AggrKeyshareDataPacketData.pubkey": + case "fairyring.keyshare.EncryptedKeysharesPacketData.pubkey": x.Pubkey = "" - case "fairyring.keyshare.AggrKeyshareDataPacketData.aggr_keyshare": - x.AggrKeyshare = "" - case "fairyring.keyshare.AggrKeyshareDataPacketData.aggr_height": - x.AggrHeight = "" - case "fairyring.keyshare.AggrKeyshareDataPacketData.proposal_id": - x.ProposalId = "" - case "fairyring.keyshare.AggrKeyshareDataPacketData.request_id": + case "fairyring.keyshare.EncryptedKeysharesPacketData.request_id": x.RequestId = "" - case "fairyring.keyshare.AggrKeyshareDataPacketData.retries": - x.Retries = uint64(0) + case "fairyring.keyshare.EncryptedKeysharesPacketData.encrypted_keyshares": + x.EncryptedKeyshares = nil default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: fairyring.keyshare.AggrKeyshareDataPacketData")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: fairyring.keyshare.EncryptedKeysharesPacketData")) } - panic(fmt.Errorf("message fairyring.keyshare.AggrKeyshareDataPacketData does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message fairyring.keyshare.EncryptedKeysharesPacketData does not contain field %s", fd.FullName())) } } @@ -3395,34 +6738,28 @@ func (x *fastReflection_AggrKeyshareDataPacketData) Clear(fd protoreflect.FieldD // the default value of a bytes scalar is guaranteed to be a copy. // For unpopulated composite types, it returns an empty, read-only view // of the value; to obtain a mutable reference, use Mutable. -func (x *fastReflection_AggrKeyshareDataPacketData) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { +func (x *fastReflection_EncryptedKeysharesPacketData) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { switch descriptor.FullName() { - case "fairyring.keyshare.AggrKeyshareDataPacketData.identity": + case "fairyring.keyshare.EncryptedKeysharesPacketData.identity": value := x.Identity return protoreflect.ValueOfString(value) - case "fairyring.keyshare.AggrKeyshareDataPacketData.pubkey": + case "fairyring.keyshare.EncryptedKeysharesPacketData.pubkey": value := x.Pubkey return protoreflect.ValueOfString(value) - case "fairyring.keyshare.AggrKeyshareDataPacketData.aggr_keyshare": - value := x.AggrKeyshare - return protoreflect.ValueOfString(value) - case "fairyring.keyshare.AggrKeyshareDataPacketData.aggr_height": - value := x.AggrHeight - return protoreflect.ValueOfString(value) - case "fairyring.keyshare.AggrKeyshareDataPacketData.proposal_id": - value := x.ProposalId - return protoreflect.ValueOfString(value) - case "fairyring.keyshare.AggrKeyshareDataPacketData.request_id": + case "fairyring.keyshare.EncryptedKeysharesPacketData.request_id": value := x.RequestId return protoreflect.ValueOfString(value) - case "fairyring.keyshare.AggrKeyshareDataPacketData.retries": - value := x.Retries - return protoreflect.ValueOfUint64(value) + case "fairyring.keyshare.EncryptedKeysharesPacketData.encrypted_keyshares": + if len(x.EncryptedKeyshares) == 0 { + return protoreflect.ValueOfList(&_EncryptedKeysharesPacketData_4_list{}) + } + listValue := &_EncryptedKeysharesPacketData_4_list{list: &x.EncryptedKeyshares} + return protoreflect.ValueOfList(listValue) default: if descriptor.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: fairyring.keyshare.AggrKeyshareDataPacketData")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: fairyring.keyshare.EncryptedKeysharesPacketData")) } - panic(fmt.Errorf("message fairyring.keyshare.AggrKeyshareDataPacketData does not contain field %s", descriptor.FullName())) + panic(fmt.Errorf("message fairyring.keyshare.EncryptedKeysharesPacketData does not contain field %s", descriptor.FullName())) } } @@ -3436,27 +6773,23 @@ func (x *fastReflection_AggrKeyshareDataPacketData) Get(descriptor protoreflect. // empty, read-only value, then it panics. // // Set is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_AggrKeyshareDataPacketData) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { +func (x *fastReflection_EncryptedKeysharesPacketData) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { switch fd.FullName() { - case "fairyring.keyshare.AggrKeyshareDataPacketData.identity": + case "fairyring.keyshare.EncryptedKeysharesPacketData.identity": x.Identity = value.Interface().(string) - case "fairyring.keyshare.AggrKeyshareDataPacketData.pubkey": + case "fairyring.keyshare.EncryptedKeysharesPacketData.pubkey": x.Pubkey = value.Interface().(string) - case "fairyring.keyshare.AggrKeyshareDataPacketData.aggr_keyshare": - x.AggrKeyshare = value.Interface().(string) - case "fairyring.keyshare.AggrKeyshareDataPacketData.aggr_height": - x.AggrHeight = value.Interface().(string) - case "fairyring.keyshare.AggrKeyshareDataPacketData.proposal_id": - x.ProposalId = value.Interface().(string) - case "fairyring.keyshare.AggrKeyshareDataPacketData.request_id": + case "fairyring.keyshare.EncryptedKeysharesPacketData.request_id": x.RequestId = value.Interface().(string) - case "fairyring.keyshare.AggrKeyshareDataPacketData.retries": - x.Retries = value.Uint() + case "fairyring.keyshare.EncryptedKeysharesPacketData.encrypted_keyshares": + lv := value.List() + clv := lv.(*_EncryptedKeysharesPacketData_4_list) + x.EncryptedKeyshares = *clv.list default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: fairyring.keyshare.AggrKeyshareDataPacketData")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: fairyring.keyshare.EncryptedKeysharesPacketData")) } - panic(fmt.Errorf("message fairyring.keyshare.AggrKeyshareDataPacketData does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message fairyring.keyshare.EncryptedKeysharesPacketData does not contain field %s", fd.FullName())) } } @@ -3470,64 +6803,57 @@ func (x *fastReflection_AggrKeyshareDataPacketData) Set(fd protoreflect.FieldDes // It panics if the field does not contain a composite type. // // Mutable is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_AggrKeyshareDataPacketData) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { +func (x *fastReflection_EncryptedKeysharesPacketData) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { switch fd.FullName() { - case "fairyring.keyshare.AggrKeyshareDataPacketData.identity": - panic(fmt.Errorf("field identity of message fairyring.keyshare.AggrKeyshareDataPacketData is not mutable")) - case "fairyring.keyshare.AggrKeyshareDataPacketData.pubkey": - panic(fmt.Errorf("field pubkey of message fairyring.keyshare.AggrKeyshareDataPacketData is not mutable")) - case "fairyring.keyshare.AggrKeyshareDataPacketData.aggr_keyshare": - panic(fmt.Errorf("field aggr_keyshare of message fairyring.keyshare.AggrKeyshareDataPacketData is not mutable")) - case "fairyring.keyshare.AggrKeyshareDataPacketData.aggr_height": - panic(fmt.Errorf("field aggr_height of message fairyring.keyshare.AggrKeyshareDataPacketData is not mutable")) - case "fairyring.keyshare.AggrKeyshareDataPacketData.proposal_id": - panic(fmt.Errorf("field proposal_id of message fairyring.keyshare.AggrKeyshareDataPacketData is not mutable")) - case "fairyring.keyshare.AggrKeyshareDataPacketData.request_id": - panic(fmt.Errorf("field request_id of message fairyring.keyshare.AggrKeyshareDataPacketData is not mutable")) - case "fairyring.keyshare.AggrKeyshareDataPacketData.retries": - panic(fmt.Errorf("field retries of message fairyring.keyshare.AggrKeyshareDataPacketData is not mutable")) + case "fairyring.keyshare.EncryptedKeysharesPacketData.encrypted_keyshares": + if x.EncryptedKeyshares == nil { + x.EncryptedKeyshares = []*common.EncryptedKeyshare{} + } + value := &_EncryptedKeysharesPacketData_4_list{list: &x.EncryptedKeyshares} + return protoreflect.ValueOfList(value) + case "fairyring.keyshare.EncryptedKeysharesPacketData.identity": + panic(fmt.Errorf("field identity of message fairyring.keyshare.EncryptedKeysharesPacketData is not mutable")) + case "fairyring.keyshare.EncryptedKeysharesPacketData.pubkey": + panic(fmt.Errorf("field pubkey of message fairyring.keyshare.EncryptedKeysharesPacketData is not mutable")) + case "fairyring.keyshare.EncryptedKeysharesPacketData.request_id": + panic(fmt.Errorf("field request_id of message fairyring.keyshare.EncryptedKeysharesPacketData is not mutable")) default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: fairyring.keyshare.AggrKeyshareDataPacketData")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: fairyring.keyshare.EncryptedKeysharesPacketData")) } - panic(fmt.Errorf("message fairyring.keyshare.AggrKeyshareDataPacketData does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message fairyring.keyshare.EncryptedKeysharesPacketData does not contain field %s", fd.FullName())) } } // NewField returns a new value that is assignable to the field // for the given descriptor. For scalars, this returns the default value. // For lists, maps, and messages, this returns a new, empty, mutable value. -func (x *fastReflection_AggrKeyshareDataPacketData) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { +func (x *fastReflection_EncryptedKeysharesPacketData) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { switch fd.FullName() { - case "fairyring.keyshare.AggrKeyshareDataPacketData.identity": - return protoreflect.ValueOfString("") - case "fairyring.keyshare.AggrKeyshareDataPacketData.pubkey": - return protoreflect.ValueOfString("") - case "fairyring.keyshare.AggrKeyshareDataPacketData.aggr_keyshare": - return protoreflect.ValueOfString("") - case "fairyring.keyshare.AggrKeyshareDataPacketData.aggr_height": + case "fairyring.keyshare.EncryptedKeysharesPacketData.identity": return protoreflect.ValueOfString("") - case "fairyring.keyshare.AggrKeyshareDataPacketData.proposal_id": + case "fairyring.keyshare.EncryptedKeysharesPacketData.pubkey": return protoreflect.ValueOfString("") - case "fairyring.keyshare.AggrKeyshareDataPacketData.request_id": + case "fairyring.keyshare.EncryptedKeysharesPacketData.request_id": return protoreflect.ValueOfString("") - case "fairyring.keyshare.AggrKeyshareDataPacketData.retries": - return protoreflect.ValueOfUint64(uint64(0)) + case "fairyring.keyshare.EncryptedKeysharesPacketData.encrypted_keyshares": + list := []*common.EncryptedKeyshare{} + return protoreflect.ValueOfList(&_EncryptedKeysharesPacketData_4_list{list: &list}) default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: fairyring.keyshare.AggrKeyshareDataPacketData")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: fairyring.keyshare.EncryptedKeysharesPacketData")) } - panic(fmt.Errorf("message fairyring.keyshare.AggrKeyshareDataPacketData does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message fairyring.keyshare.EncryptedKeysharesPacketData does not contain field %s", fd.FullName())) } } // WhichOneof reports which field within the oneof is populated, // returning nil if none are populated. // It panics if the oneof descriptor does not belong to this message. -func (x *fastReflection_AggrKeyshareDataPacketData) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { +func (x *fastReflection_EncryptedKeysharesPacketData) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { switch d.FullName() { default: - panic(fmt.Errorf("%s is not a oneof field in fairyring.keyshare.AggrKeyshareDataPacketData", d.FullName())) + panic(fmt.Errorf("%s is not a oneof field in fairyring.keyshare.EncryptedKeysharesPacketData", d.FullName())) } panic("unreachable") } @@ -3535,7 +6861,7 @@ func (x *fastReflection_AggrKeyshareDataPacketData) WhichOneof(d protoreflect.On // GetUnknown retrieves the entire list of unknown fields. // The caller may only mutate the contents of the RawFields // if the mutated bytes are stored back into the message with SetUnknown. -func (x *fastReflection_AggrKeyshareDataPacketData) GetUnknown() protoreflect.RawFields { +func (x *fastReflection_EncryptedKeysharesPacketData) GetUnknown() protoreflect.RawFields { return x.unknownFields } @@ -3546,7 +6872,7 @@ func (x *fastReflection_AggrKeyshareDataPacketData) GetUnknown() protoreflect.Ra // An empty RawFields may be passed to clear the fields. // // SetUnknown is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_AggrKeyshareDataPacketData) SetUnknown(fields protoreflect.RawFields) { +func (x *fastReflection_EncryptedKeysharesPacketData) SetUnknown(fields protoreflect.RawFields) { x.unknownFields = fields } @@ -3558,7 +6884,7 @@ func (x *fastReflection_AggrKeyshareDataPacketData) SetUnknown(fields protorefle // message type, but the details are implementation dependent. // Validity is not part of the protobuf data model, and may not // be preserved in marshaling or other operations. -func (x *fastReflection_AggrKeyshareDataPacketData) IsValid() bool { +func (x *fastReflection_EncryptedKeysharesPacketData) IsValid() bool { return x != nil } @@ -3568,9 +6894,9 @@ func (x *fastReflection_AggrKeyshareDataPacketData) IsValid() bool { // The returned methods type is identical to // "google.golang.org/protobuf/runtime/protoiface".Methods. // Consult the protoiface package documentation for details. -func (x *fastReflection_AggrKeyshareDataPacketData) ProtoMethods() *protoiface.Methods { +func (x *fastReflection_EncryptedKeysharesPacketData) ProtoMethods() *protoiface.Methods { size := func(input protoiface.SizeInput) protoiface.SizeOutput { - x := input.Message.Interface().(*AggrKeyshareDataPacketData) + x := input.Message.Interface().(*EncryptedKeysharesPacketData) if x == nil { return protoiface.SizeOutput{ NoUnkeyedLiterals: input.NoUnkeyedLiterals, @@ -3590,24 +6916,15 @@ func (x *fastReflection_AggrKeyshareDataPacketData) ProtoMethods() *protoiface.M if l > 0 { n += 1 + l + runtime.Sov(uint64(l)) } - l = len(x.AggrKeyshare) - if l > 0 { - n += 1 + l + runtime.Sov(uint64(l)) - } - l = len(x.AggrHeight) - if l > 0 { - n += 1 + l + runtime.Sov(uint64(l)) - } - l = len(x.ProposalId) - if l > 0 { - n += 1 + l + runtime.Sov(uint64(l)) - } l = len(x.RequestId) if l > 0 { n += 1 + l + runtime.Sov(uint64(l)) } - if x.Retries != 0 { - n += 1 + runtime.Sov(uint64(x.Retries)) + if len(x.EncryptedKeyshares) > 0 { + for _, e := range x.EncryptedKeyshares { + l = options.Size(e) + n += 1 + l + runtime.Sov(uint64(l)) + } } if x.unknownFields != nil { n += len(x.unknownFields) @@ -3619,7 +6936,7 @@ func (x *fastReflection_AggrKeyshareDataPacketData) ProtoMethods() *protoiface.M } marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { - x := input.Message.Interface().(*AggrKeyshareDataPacketData) + x := input.Message.Interface().(*EncryptedKeysharesPacketData) if x == nil { return protoiface.MarshalOutput{ NoUnkeyedLiterals: input.NoUnkeyedLiterals, @@ -3638,37 +6955,27 @@ func (x *fastReflection_AggrKeyshareDataPacketData) ProtoMethods() *protoiface.M i -= len(x.unknownFields) copy(dAtA[i:], x.unknownFields) } - if x.Retries != 0 { - i = runtime.EncodeVarint(dAtA, i, uint64(x.Retries)) - i-- - dAtA[i] = 0x38 + if len(x.EncryptedKeyshares) > 0 { + for iNdEx := len(x.EncryptedKeyshares) - 1; iNdEx >= 0; iNdEx-- { + encoded, err := options.Marshal(x.EncryptedKeyshares[iNdEx]) + if err != nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = runtime.EncodeVarint(dAtA, i, uint64(len(encoded))) + i-- + dAtA[i] = 0x22 + } } if len(x.RequestId) > 0 { i -= len(x.RequestId) copy(dAtA[i:], x.RequestId) i = runtime.EncodeVarint(dAtA, i, uint64(len(x.RequestId))) i-- - dAtA[i] = 0x32 - } - if len(x.ProposalId) > 0 { - i -= len(x.ProposalId) - copy(dAtA[i:], x.ProposalId) - i = runtime.EncodeVarint(dAtA, i, uint64(len(x.ProposalId))) - i-- - dAtA[i] = 0x2a - } - if len(x.AggrHeight) > 0 { - i -= len(x.AggrHeight) - copy(dAtA[i:], x.AggrHeight) - i = runtime.EncodeVarint(dAtA, i, uint64(len(x.AggrHeight))) - i-- - dAtA[i] = 0x22 - } - if len(x.AggrKeyshare) > 0 { - i -= len(x.AggrKeyshare) - copy(dAtA[i:], x.AggrKeyshare) - i = runtime.EncodeVarint(dAtA, i, uint64(len(x.AggrKeyshare))) - i-- dAtA[i] = 0x1a } if len(x.Pubkey) > 0 { @@ -3696,7 +7003,7 @@ func (x *fastReflection_AggrKeyshareDataPacketData) ProtoMethods() *protoiface.M }, nil } unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { - x := input.Message.Interface().(*AggrKeyshareDataPacketData) + x := input.Message.Interface().(*EncryptedKeysharesPacketData) if x == nil { return protoiface.UnmarshalOutput{ NoUnkeyedLiterals: input.NoUnkeyedLiterals, @@ -3728,10 +7035,10 @@ func (x *fastReflection_AggrKeyshareDataPacketData) ProtoMethods() *protoiface.M fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: AggrKeyshareDataPacketData: wiretype end group for non-group") + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: EncryptedKeysharesPacketData: wiretype end group for non-group") } if fieldNum <= 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: AggrKeyshareDataPacketData: illegal tag %d (wire type %d)", fieldNum, wire) + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: EncryptedKeysharesPacketData: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -3800,7 +7107,7 @@ func (x *fastReflection_AggrKeyshareDataPacketData) ProtoMethods() *protoiface.M iNdEx = postIndex case 3: if wireType != 2 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field AggrKeyshare", wireType) + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field RequestId", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -3828,45 +7135,13 @@ func (x *fastReflection_AggrKeyshareDataPacketData) ProtoMethods() *protoiface.M if postIndex > l { return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF } - x.AggrKeyshare = string(dAtA[iNdEx:postIndex]) + x.RequestId = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex case 4: if wireType != 2 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field AggrHeight", wireType) - } - var stringLen uint64 - 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++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - if postIndex > l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - x.AggrHeight = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 5: - if wireType != 2 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field ProposalId", wireType) + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field EncryptedKeyshares", wireType) } - var stringLen uint64 + var msglen int for shift := uint(0); ; shift += 7 { if shift >= 64 { return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow @@ -3876,75 +7151,26 @@ func (x *fastReflection_AggrKeyshareDataPacketData) ProtoMethods() *protoiface.M } b := dAtA[iNdEx] iNdEx++ - stringLen |= uint64(b&0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } } - intStringLen := int(stringLen) - if intStringLen < 0 { + if msglen < 0 { return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength } - postIndex := iNdEx + intStringLen + postIndex := iNdEx + msglen if postIndex < 0 { return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength } if postIndex > l { return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF } - x.ProposalId = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 6: - if wireType != 2 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field RequestId", wireType) - } - var stringLen uint64 - 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++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - if postIndex > l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + x.EncryptedKeyshares = append(x.EncryptedKeyshares, &common.EncryptedKeyshare{}) + if err := options.Unmarshal(dAtA[iNdEx:postIndex], x.EncryptedKeyshares[len(x.EncryptedKeyshares)-1]); err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err } - x.RequestId = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex - case 7: - if wireType != 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Retries", wireType) - } - x.Retries = 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.Retries |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } default: iNdEx = preIndex skippy, err := runtime.Skip(dAtA[iNdEx:]) @@ -3981,24 +7207,24 @@ func (x *fastReflection_AggrKeyshareDataPacketData) ProtoMethods() *protoiface.M } var ( - md_AggrKeyshareDataPacketAck protoreflect.MessageDescriptor + md_EncryptedKeysharesPacketAck protoreflect.MessageDescriptor ) func init() { file_fairyring_keyshare_packet_proto_init() - md_AggrKeyshareDataPacketAck = File_fairyring_keyshare_packet_proto.Messages().ByName("AggrKeyshareDataPacketAck") + md_EncryptedKeysharesPacketAck = File_fairyring_keyshare_packet_proto.Messages().ByName("EncryptedKeysharesPacketAck") } -var _ protoreflect.Message = (*fastReflection_AggrKeyshareDataPacketAck)(nil) +var _ protoreflect.Message = (*fastReflection_EncryptedKeysharesPacketAck)(nil) -type fastReflection_AggrKeyshareDataPacketAck AggrKeyshareDataPacketAck +type fastReflection_EncryptedKeysharesPacketAck EncryptedKeysharesPacketAck -func (x *AggrKeyshareDataPacketAck) ProtoReflect() protoreflect.Message { - return (*fastReflection_AggrKeyshareDataPacketAck)(x) +func (x *EncryptedKeysharesPacketAck) ProtoReflect() protoreflect.Message { + return (*fastReflection_EncryptedKeysharesPacketAck)(x) } -func (x *AggrKeyshareDataPacketAck) slowProtoReflect() protoreflect.Message { - mi := &file_fairyring_keyshare_packet_proto_msgTypes[7] +func (x *EncryptedKeysharesPacketAck) slowProtoReflect() protoreflect.Message { + mi := &file_fairyring_keyshare_packet_proto_msgTypes[13] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4009,43 +7235,43 @@ func (x *AggrKeyshareDataPacketAck) slowProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -var _fastReflection_AggrKeyshareDataPacketAck_messageType fastReflection_AggrKeyshareDataPacketAck_messageType -var _ protoreflect.MessageType = fastReflection_AggrKeyshareDataPacketAck_messageType{} +var _fastReflection_EncryptedKeysharesPacketAck_messageType fastReflection_EncryptedKeysharesPacketAck_messageType +var _ protoreflect.MessageType = fastReflection_EncryptedKeysharesPacketAck_messageType{} -type fastReflection_AggrKeyshareDataPacketAck_messageType struct{} +type fastReflection_EncryptedKeysharesPacketAck_messageType struct{} -func (x fastReflection_AggrKeyshareDataPacketAck_messageType) Zero() protoreflect.Message { - return (*fastReflection_AggrKeyshareDataPacketAck)(nil) +func (x fastReflection_EncryptedKeysharesPacketAck_messageType) Zero() protoreflect.Message { + return (*fastReflection_EncryptedKeysharesPacketAck)(nil) } -func (x fastReflection_AggrKeyshareDataPacketAck_messageType) New() protoreflect.Message { - return new(fastReflection_AggrKeyshareDataPacketAck) +func (x fastReflection_EncryptedKeysharesPacketAck_messageType) New() protoreflect.Message { + return new(fastReflection_EncryptedKeysharesPacketAck) } -func (x fastReflection_AggrKeyshareDataPacketAck_messageType) Descriptor() protoreflect.MessageDescriptor { - return md_AggrKeyshareDataPacketAck +func (x fastReflection_EncryptedKeysharesPacketAck_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_EncryptedKeysharesPacketAck } // Descriptor returns message descriptor, which contains only the protobuf // type information for the message. -func (x *fastReflection_AggrKeyshareDataPacketAck) Descriptor() protoreflect.MessageDescriptor { - return md_AggrKeyshareDataPacketAck +func (x *fastReflection_EncryptedKeysharesPacketAck) Descriptor() protoreflect.MessageDescriptor { + return md_EncryptedKeysharesPacketAck } // Type returns the message type, which encapsulates both Go and protobuf // type information. If the Go type information is not needed, // it is recommended that the message descriptor be used instead. -func (x *fastReflection_AggrKeyshareDataPacketAck) Type() protoreflect.MessageType { - return _fastReflection_AggrKeyshareDataPacketAck_messageType +func (x *fastReflection_EncryptedKeysharesPacketAck) Type() protoreflect.MessageType { + return _fastReflection_EncryptedKeysharesPacketAck_messageType } // New returns a newly allocated and mutable empty message. -func (x *fastReflection_AggrKeyshareDataPacketAck) New() protoreflect.Message { - return new(fastReflection_AggrKeyshareDataPacketAck) +func (x *fastReflection_EncryptedKeysharesPacketAck) New() protoreflect.Message { + return new(fastReflection_EncryptedKeysharesPacketAck) } // Interface unwraps the message reflection interface and // returns the underlying ProtoMessage interface. -func (x *fastReflection_AggrKeyshareDataPacketAck) Interface() protoreflect.ProtoMessage { - return (*AggrKeyshareDataPacketAck)(x) +func (x *fastReflection_EncryptedKeysharesPacketAck) Interface() protoreflect.ProtoMessage { + return (*EncryptedKeysharesPacketAck)(x) } // Range iterates over every populated field in an undefined order, @@ -4053,7 +7279,7 @@ func (x *fastReflection_AggrKeyshareDataPacketAck) Interface() protoreflect.Prot // Range returns immediately if f returns false. // While iterating, mutating operations may only be performed // on the current field descriptor. -func (x *fastReflection_AggrKeyshareDataPacketAck) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { +func (x *fastReflection_EncryptedKeysharesPacketAck) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { } // Has reports whether a field is populated. @@ -4067,13 +7293,13 @@ func (x *fastReflection_AggrKeyshareDataPacketAck) Range(f func(protoreflect.Fie // In other cases (aside from the nullable cases above), // a proto3 scalar field is populated if it contains a non-zero value, and // a repeated field is populated if it is non-empty. -func (x *fastReflection_AggrKeyshareDataPacketAck) Has(fd protoreflect.FieldDescriptor) bool { +func (x *fastReflection_EncryptedKeysharesPacketAck) Has(fd protoreflect.FieldDescriptor) bool { switch fd.FullName() { default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: fairyring.keyshare.AggrKeyshareDataPacketAck")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: fairyring.keyshare.EncryptedKeysharesPacketAck")) } - panic(fmt.Errorf("message fairyring.keyshare.AggrKeyshareDataPacketAck does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message fairyring.keyshare.EncryptedKeysharesPacketAck does not contain field %s", fd.FullName())) } } @@ -4083,13 +7309,13 @@ func (x *fastReflection_AggrKeyshareDataPacketAck) Has(fd protoreflect.FieldDesc // associated with the given field number. // // Clear is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_AggrKeyshareDataPacketAck) Clear(fd protoreflect.FieldDescriptor) { +func (x *fastReflection_EncryptedKeysharesPacketAck) Clear(fd protoreflect.FieldDescriptor) { switch fd.FullName() { default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: fairyring.keyshare.AggrKeyshareDataPacketAck")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: fairyring.keyshare.EncryptedKeysharesPacketAck")) } - panic(fmt.Errorf("message fairyring.keyshare.AggrKeyshareDataPacketAck does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message fairyring.keyshare.EncryptedKeysharesPacketAck does not contain field %s", fd.FullName())) } } @@ -4099,13 +7325,13 @@ func (x *fastReflection_AggrKeyshareDataPacketAck) Clear(fd protoreflect.FieldDe // the default value of a bytes scalar is guaranteed to be a copy. // For unpopulated composite types, it returns an empty, read-only view // of the value; to obtain a mutable reference, use Mutable. -func (x *fastReflection_AggrKeyshareDataPacketAck) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { +func (x *fastReflection_EncryptedKeysharesPacketAck) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { switch descriptor.FullName() { default: if descriptor.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: fairyring.keyshare.AggrKeyshareDataPacketAck")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: fairyring.keyshare.EncryptedKeysharesPacketAck")) } - panic(fmt.Errorf("message fairyring.keyshare.AggrKeyshareDataPacketAck does not contain field %s", descriptor.FullName())) + panic(fmt.Errorf("message fairyring.keyshare.EncryptedKeysharesPacketAck does not contain field %s", descriptor.FullName())) } } @@ -4119,13 +7345,13 @@ func (x *fastReflection_AggrKeyshareDataPacketAck) Get(descriptor protoreflect.F // empty, read-only value, then it panics. // // Set is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_AggrKeyshareDataPacketAck) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { +func (x *fastReflection_EncryptedKeysharesPacketAck) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { switch fd.FullName() { default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: fairyring.keyshare.AggrKeyshareDataPacketAck")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: fairyring.keyshare.EncryptedKeysharesPacketAck")) } - panic(fmt.Errorf("message fairyring.keyshare.AggrKeyshareDataPacketAck does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message fairyring.keyshare.EncryptedKeysharesPacketAck does not contain field %s", fd.FullName())) } } @@ -4139,36 +7365,36 @@ func (x *fastReflection_AggrKeyshareDataPacketAck) Set(fd protoreflect.FieldDesc // It panics if the field does not contain a composite type. // // Mutable is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_AggrKeyshareDataPacketAck) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { +func (x *fastReflection_EncryptedKeysharesPacketAck) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { switch fd.FullName() { default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: fairyring.keyshare.AggrKeyshareDataPacketAck")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: fairyring.keyshare.EncryptedKeysharesPacketAck")) } - panic(fmt.Errorf("message fairyring.keyshare.AggrKeyshareDataPacketAck does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message fairyring.keyshare.EncryptedKeysharesPacketAck does not contain field %s", fd.FullName())) } } // NewField returns a new value that is assignable to the field // for the given descriptor. For scalars, this returns the default value. // For lists, maps, and messages, this returns a new, empty, mutable value. -func (x *fastReflection_AggrKeyshareDataPacketAck) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { +func (x *fastReflection_EncryptedKeysharesPacketAck) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { switch fd.FullName() { default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: fairyring.keyshare.AggrKeyshareDataPacketAck")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: fairyring.keyshare.EncryptedKeysharesPacketAck")) } - panic(fmt.Errorf("message fairyring.keyshare.AggrKeyshareDataPacketAck does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message fairyring.keyshare.EncryptedKeysharesPacketAck does not contain field %s", fd.FullName())) } } // WhichOneof reports which field within the oneof is populated, // returning nil if none are populated. // It panics if the oneof descriptor does not belong to this message. -func (x *fastReflection_AggrKeyshareDataPacketAck) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { +func (x *fastReflection_EncryptedKeysharesPacketAck) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { switch d.FullName() { default: - panic(fmt.Errorf("%s is not a oneof field in fairyring.keyshare.AggrKeyshareDataPacketAck", d.FullName())) + panic(fmt.Errorf("%s is not a oneof field in fairyring.keyshare.EncryptedKeysharesPacketAck", d.FullName())) } panic("unreachable") } @@ -4176,7 +7402,7 @@ func (x *fastReflection_AggrKeyshareDataPacketAck) WhichOneof(d protoreflect.One // GetUnknown retrieves the entire list of unknown fields. // The caller may only mutate the contents of the RawFields // if the mutated bytes are stored back into the message with SetUnknown. -func (x *fastReflection_AggrKeyshareDataPacketAck) GetUnknown() protoreflect.RawFields { +func (x *fastReflection_EncryptedKeysharesPacketAck) GetUnknown() protoreflect.RawFields { return x.unknownFields } @@ -4187,7 +7413,7 @@ func (x *fastReflection_AggrKeyshareDataPacketAck) GetUnknown() protoreflect.Raw // An empty RawFields may be passed to clear the fields. // // SetUnknown is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_AggrKeyshareDataPacketAck) SetUnknown(fields protoreflect.RawFields) { +func (x *fastReflection_EncryptedKeysharesPacketAck) SetUnknown(fields protoreflect.RawFields) { x.unknownFields = fields } @@ -4199,7 +7425,7 @@ func (x *fastReflection_AggrKeyshareDataPacketAck) SetUnknown(fields protoreflec // message type, but the details are implementation dependent. // Validity is not part of the protobuf data model, and may not // be preserved in marshaling or other operations. -func (x *fastReflection_AggrKeyshareDataPacketAck) IsValid() bool { +func (x *fastReflection_EncryptedKeysharesPacketAck) IsValid() bool { return x != nil } @@ -4209,9 +7435,9 @@ func (x *fastReflection_AggrKeyshareDataPacketAck) IsValid() bool { // The returned methods type is identical to // "google.golang.org/protobuf/runtime/protoiface".Methods. // Consult the protoiface package documentation for details. -func (x *fastReflection_AggrKeyshareDataPacketAck) ProtoMethods() *protoiface.Methods { +func (x *fastReflection_EncryptedKeysharesPacketAck) ProtoMethods() *protoiface.Methods { size := func(input protoiface.SizeInput) protoiface.SizeOutput { - x := input.Message.Interface().(*AggrKeyshareDataPacketAck) + x := input.Message.Interface().(*EncryptedKeysharesPacketAck) if x == nil { return protoiface.SizeOutput{ NoUnkeyedLiterals: input.NoUnkeyedLiterals, @@ -4233,7 +7459,7 @@ func (x *fastReflection_AggrKeyshareDataPacketAck) ProtoMethods() *protoiface.Me } marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { - x := input.Message.Interface().(*AggrKeyshareDataPacketAck) + x := input.Message.Interface().(*EncryptedKeysharesPacketAck) if x == nil { return protoiface.MarshalOutput{ NoUnkeyedLiterals: input.NoUnkeyedLiterals, @@ -4263,7 +7489,7 @@ func (x *fastReflection_AggrKeyshareDataPacketAck) ProtoMethods() *protoiface.Me }, nil } unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { - x := input.Message.Interface().(*AggrKeyshareDataPacketAck) + x := input.Message.Interface().(*EncryptedKeysharesPacketAck) if x == nil { return protoiface.UnmarshalOutput{ NoUnkeyedLiterals: input.NoUnkeyedLiterals, @@ -4295,10 +7521,10 @@ func (x *fastReflection_AggrKeyshareDataPacketAck) ProtoMethods() *protoiface.Me fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: AggrKeyshareDataPacketAck: wiretype end group for non-group") + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: EncryptedKeysharesPacketAck: wiretype end group for non-group") } if fieldNum <= 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: AggrKeyshareDataPacketAck: illegal tag %d (wire type %d)", fieldNum, wire) + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: EncryptedKeysharesPacketAck: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { default: @@ -4354,7 +7580,7 @@ func (x *CurrentKeysPacketData) ProtoReflect() protoreflect.Message { } func (x *CurrentKeysPacketData) slowProtoReflect() protoreflect.Message { - mi := &file_fairyring_keyshare_packet_proto_msgTypes[8] + mi := &file_fairyring_keyshare_packet_proto_msgTypes[14] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4714,7 +7940,7 @@ func (x *CurrentKeysPacketAck) ProtoReflect() protoreflect.Message { } func (x *CurrentKeysPacketAck) slowProtoReflect() protoreflect.Message { - mi := &file_fairyring_keyshare_packet_proto_msgTypes[9] + mi := &file_fairyring_keyshare_packet_proto_msgTypes[15] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5230,7 +8456,10 @@ type KeysharePacketData struct { // *KeysharePacketData_RequestAggrKeysharePacket // *KeysharePacketData_GetAggrKeysharePacket // *KeysharePacketData_AggrKeyshareDataPacket + // *KeysharePacketData_EncryptedKeysharesPacketData // *KeysharePacketData_CurrentKeysPacket + // *KeysharePacketData_RequestPrivKeysharePacket + // *KeysharePacketData_GetPrivateKeysharePacket Packet isKeysharePacketData_Packet `protobuf_oneof:"packet"` } @@ -5289,6 +8518,13 @@ func (x *KeysharePacketData) GetAggrKeyshareDataPacket() *AggrKeyshareDataPacket return nil } +func (x *KeysharePacketData) GetEncryptedKeysharesPacketData() *EncryptedKeysharesPacketData { + if x, ok := x.GetPacket().(*KeysharePacketData_EncryptedKeysharesPacketData); ok { + return x.EncryptedKeysharesPacketData + } + return nil +} + func (x *KeysharePacketData) GetCurrentKeysPacket() *CurrentKeysPacketData { if x, ok := x.GetPacket().(*KeysharePacketData_CurrentKeysPacket); ok { return x.CurrentKeysPacket @@ -5296,6 +8532,20 @@ func (x *KeysharePacketData) GetCurrentKeysPacket() *CurrentKeysPacketData { return nil } +func (x *KeysharePacketData) GetRequestPrivKeysharePacket() *RequestPrivateKeysharePacketData { + if x, ok := x.GetPacket().(*KeysharePacketData_RequestPrivKeysharePacket); ok { + return x.RequestPrivKeysharePacket + } + return nil +} + +func (x *KeysharePacketData) GetGetPrivateKeysharePacket() *GetPrivateKeysharePacketData { + if x, ok := x.GetPacket().(*KeysharePacketData_GetPrivateKeysharePacket); ok { + return x.GetPrivateKeysharePacket + } + return nil +} + type isKeysharePacketData_Packet interface { isKeysharePacketData_Packet() } @@ -5316,8 +8566,20 @@ type KeysharePacketData_AggrKeyshareDataPacket struct { AggrKeyshareDataPacket *AggrKeyshareDataPacketData `protobuf:"bytes,4,opt,name=aggrKeyshareDataPacket,proto3,oneof"` } +type KeysharePacketData_EncryptedKeysharesPacketData struct { + EncryptedKeysharesPacketData *EncryptedKeysharesPacketData `protobuf:"bytes,5,opt,name=encryptedKeysharesPacketData,proto3,oneof"` +} + type KeysharePacketData_CurrentKeysPacket struct { - CurrentKeysPacket *CurrentKeysPacketData `protobuf:"bytes,5,opt,name=currentKeysPacket,proto3,oneof"` + CurrentKeysPacket *CurrentKeysPacketData `protobuf:"bytes,6,opt,name=currentKeysPacket,proto3,oneof"` +} + +type KeysharePacketData_RequestPrivKeysharePacket struct { + RequestPrivKeysharePacket *RequestPrivateKeysharePacketData `protobuf:"bytes,7,opt,name=request_priv_keyshare_packet,json=requestPrivKeysharePacket,proto3,oneof"` +} + +type KeysharePacketData_GetPrivateKeysharePacket struct { + GetPrivateKeysharePacket *GetPrivateKeysharePacketData `protobuf:"bytes,8,opt,name=getPrivateKeysharePacket,proto3,oneof"` } func (*KeysharePacketData_NoData) isKeysharePacketData_Packet() {} @@ -5328,8 +8590,14 @@ func (*KeysharePacketData_GetAggrKeysharePacket) isKeysharePacketData_Packet() { func (*KeysharePacketData_AggrKeyshareDataPacket) isKeysharePacketData_Packet() {} +func (*KeysharePacketData_EncryptedKeysharesPacketData) isKeysharePacketData_Packet() {} + func (*KeysharePacketData_CurrentKeysPacket) isKeysharePacketData_Packet() {} +func (*KeysharePacketData_RequestPrivKeysharePacket) isKeysharePacketData_Packet() {} + +func (*KeysharePacketData_GetPrivateKeysharePacket) isKeysharePacketData_Packet() {} + type NoData struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -5405,42 +8673,128 @@ func (x *RequestAggrKeysharePacketData) GetId() isRequestAggrKeysharePacketData_ return nil } -func (x *RequestAggrKeysharePacketData) GetProposalId() string { - if x, ok := x.GetId().(*RequestAggrKeysharePacketData_ProposalId); ok { - return x.ProposalId +func (x *RequestAggrKeysharePacketData) GetProposalId() string { + if x, ok := x.GetId().(*RequestAggrKeysharePacketData_ProposalId); ok { + return x.ProposalId + } + return "" +} + +func (x *RequestAggrKeysharePacketData) GetRequestId() string { + if x, ok := x.GetId().(*RequestAggrKeysharePacketData_RequestId); ok { + return x.RequestId + } + return "" +} + +func (x *RequestAggrKeysharePacketData) GetEstimatedDelay() *durationpb.Duration { + if x != nil { + return x.EstimatedDelay + } + return nil +} + +type isRequestAggrKeysharePacketData_Id interface { + isRequestAggrKeysharePacketData_Id() +} + +type RequestAggrKeysharePacketData_ProposalId struct { + ProposalId string `protobuf:"bytes,2,opt,name=proposal_id,json=proposalId,proto3,oneof"` +} + +type RequestAggrKeysharePacketData_RequestId struct { + RequestId string `protobuf:"bytes,3,opt,name=request_id,json=requestId,proto3,oneof"` +} + +func (*RequestAggrKeysharePacketData_ProposalId) isRequestAggrKeysharePacketData_Id() {} + +func (*RequestAggrKeysharePacketData_RequestId) isRequestAggrKeysharePacketData_Id() {} + +type RequestPrivateKeysharePacketData struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Requester string `protobuf:"bytes,1,opt,name=requester,proto3" json:"requester,omitempty"` + RequestId string `protobuf:"bytes,2,opt,name=request_id,json=requestId,proto3" json:"request_id,omitempty"` +} + +func (x *RequestPrivateKeysharePacketData) Reset() { + *x = RequestPrivateKeysharePacketData{} + if protoimpl.UnsafeEnabled { + mi := &file_fairyring_keyshare_packet_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *RequestPrivateKeysharePacketData) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RequestPrivateKeysharePacketData) ProtoMessage() {} + +// Deprecated: Use RequestPrivateKeysharePacketData.ProtoReflect.Descriptor instead. +func (*RequestPrivateKeysharePacketData) Descriptor() ([]byte, []int) { + return file_fairyring_keyshare_packet_proto_rawDescGZIP(), []int{3} +} + +func (x *RequestPrivateKeysharePacketData) GetRequester() string { + if x != nil { + return x.Requester } return "" } -func (x *RequestAggrKeysharePacketData) GetRequestId() string { - if x, ok := x.GetId().(*RequestAggrKeysharePacketData_RequestId); ok { +func (x *RequestPrivateKeysharePacketData) GetRequestId() string { + if x != nil { return x.RequestId } return "" } -func (x *RequestAggrKeysharePacketData) GetEstimatedDelay() *durationpb.Duration { - if x != nil { - return x.EstimatedDelay - } - return nil +type RequestPrivateKeysharePacketAck struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Identity string `protobuf:"bytes,1,opt,name=identity,proto3" json:"identity,omitempty"` + Pubkey string `protobuf:"bytes,2,opt,name=pubkey,proto3" json:"pubkey,omitempty"` } -type isRequestAggrKeysharePacketData_Id interface { - isRequestAggrKeysharePacketData_Id() +func (x *RequestPrivateKeysharePacketAck) Reset() { + *x = RequestPrivateKeysharePacketAck{} + if protoimpl.UnsafeEnabled { + mi := &file_fairyring_keyshare_packet_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } } -type RequestAggrKeysharePacketData_ProposalId struct { - ProposalId string `protobuf:"bytes,2,opt,name=proposal_id,json=proposalId,proto3,oneof"` +func (x *RequestPrivateKeysharePacketAck) String() string { + return protoimpl.X.MessageStringOf(x) } -type RequestAggrKeysharePacketData_RequestId struct { - RequestId string `protobuf:"bytes,3,opt,name=request_id,json=requestId,proto3,oneof"` +func (*RequestPrivateKeysharePacketAck) ProtoMessage() {} + +// Deprecated: Use RequestPrivateKeysharePacketAck.ProtoReflect.Descriptor instead. +func (*RequestPrivateKeysharePacketAck) Descriptor() ([]byte, []int) { + return file_fairyring_keyshare_packet_proto_rawDescGZIP(), []int{4} } -func (*RequestAggrKeysharePacketData_ProposalId) isRequestAggrKeysharePacketData_Id() {} +func (x *RequestPrivateKeysharePacketAck) GetIdentity() string { + if x != nil { + return x.Identity + } + return "" +} -func (*RequestAggrKeysharePacketData_RequestId) isRequestAggrKeysharePacketData_Id() {} +func (x *RequestPrivateKeysharePacketAck) GetPubkey() string { + if x != nil { + return x.Pubkey + } + return "" +} // RequestAggrKeysharePacketAck defines a struct for the packet acknowledgment type RequestAggrKeysharePacketAck struct { @@ -5455,7 +8809,7 @@ type RequestAggrKeysharePacketAck struct { func (x *RequestAggrKeysharePacketAck) Reset() { *x = RequestAggrKeysharePacketAck{} if protoimpl.UnsafeEnabled { - mi := &file_fairyring_keyshare_packet_proto_msgTypes[3] + mi := &file_fairyring_keyshare_packet_proto_msgTypes[5] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5469,7 +8823,7 @@ func (*RequestAggrKeysharePacketAck) ProtoMessage() {} // Deprecated: Use RequestAggrKeysharePacketAck.ProtoReflect.Descriptor instead. func (*RequestAggrKeysharePacketAck) Descriptor() ([]byte, []int) { - return file_fairyring_keyshare_packet_proto_rawDescGZIP(), []int{3} + return file_fairyring_keyshare_packet_proto_rawDescGZIP(), []int{5} } func (x *RequestAggrKeysharePacketAck) GetIdentity() string { @@ -5498,7 +8852,7 @@ type GetAggrKeysharePacketData struct { func (x *GetAggrKeysharePacketData) Reset() { *x = GetAggrKeysharePacketData{} if protoimpl.UnsafeEnabled { - mi := &file_fairyring_keyshare_packet_proto_msgTypes[4] + mi := &file_fairyring_keyshare_packet_proto_msgTypes[6] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5512,7 +8866,7 @@ func (*GetAggrKeysharePacketData) ProtoMessage() {} // Deprecated: Use GetAggrKeysharePacketData.ProtoReflect.Descriptor instead. func (*GetAggrKeysharePacketData) Descriptor() ([]byte, []int) { - return file_fairyring_keyshare_packet_proto_rawDescGZIP(), []int{4} + return file_fairyring_keyshare_packet_proto_rawDescGZIP(), []int{6} } func (x *GetAggrKeysharePacketData) GetIdentity() string { @@ -5532,7 +8886,7 @@ type GetAggrKeysharePacketAck struct { func (x *GetAggrKeysharePacketAck) Reset() { *x = GetAggrKeysharePacketAck{} if protoimpl.UnsafeEnabled { - mi := &file_fairyring_keyshare_packet_proto_msgTypes[5] + mi := &file_fairyring_keyshare_packet_proto_msgTypes[7] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5546,7 +8900,86 @@ func (*GetAggrKeysharePacketAck) ProtoMessage() {} // Deprecated: Use GetAggrKeysharePacketAck.ProtoReflect.Descriptor instead. func (*GetAggrKeysharePacketAck) Descriptor() ([]byte, []int) { - return file_fairyring_keyshare_packet_proto_rawDescGZIP(), []int{5} + return file_fairyring_keyshare_packet_proto_rawDescGZIP(), []int{7} +} + +// GetPrivateKeysharePacketData defines a struct for the packet payload +type GetPrivateKeysharePacketData struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Identity string `protobuf:"bytes,1,opt,name=identity,proto3" json:"identity,omitempty"` + Requester string `protobuf:"bytes,2,opt,name=requester,proto3" json:"requester,omitempty"` + SecpPubkey string `protobuf:"bytes,3,opt,name=secp_pubkey,json=secpPubkey,proto3" json:"secp_pubkey,omitempty"` +} + +func (x *GetPrivateKeysharePacketData) Reset() { + *x = GetPrivateKeysharePacketData{} + if protoimpl.UnsafeEnabled { + mi := &file_fairyring_keyshare_packet_proto_msgTypes[8] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetPrivateKeysharePacketData) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetPrivateKeysharePacketData) ProtoMessage() {} + +// Deprecated: Use GetPrivateKeysharePacketData.ProtoReflect.Descriptor instead. +func (*GetPrivateKeysharePacketData) Descriptor() ([]byte, []int) { + return file_fairyring_keyshare_packet_proto_rawDescGZIP(), []int{8} +} + +func (x *GetPrivateKeysharePacketData) GetIdentity() string { + if x != nil { + return x.Identity + } + return "" +} + +func (x *GetPrivateKeysharePacketData) GetRequester() string { + if x != nil { + return x.Requester + } + return "" +} + +func (x *GetPrivateKeysharePacketData) GetSecpPubkey() string { + if x != nil { + return x.SecpPubkey + } + return "" +} + +// GetPrivateKeysharePacketAck defines a struct for the packet acknowledgment +type GetPrivateKeysharePacketAck struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *GetPrivateKeysharePacketAck) Reset() { + *x = GetPrivateKeysharePacketAck{} + if protoimpl.UnsafeEnabled { + mi := &file_fairyring_keyshare_packet_proto_msgTypes[9] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetPrivateKeysharePacketAck) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetPrivateKeysharePacketAck) ProtoMessage() {} + +// Deprecated: Use GetPrivateKeysharePacketAck.ProtoReflect.Descriptor instead. +func (*GetPrivateKeysharePacketAck) Descriptor() ([]byte, []int) { + return file_fairyring_keyshare_packet_proto_rawDescGZIP(), []int{9} } // AggrKeyshareDataPacketData defines a struct for the packet payload @@ -5567,7 +9000,7 @@ type AggrKeyshareDataPacketData struct { func (x *AggrKeyshareDataPacketData) Reset() { *x = AggrKeyshareDataPacketData{} if protoimpl.UnsafeEnabled { - mi := &file_fairyring_keyshare_packet_proto_msgTypes[6] + mi := &file_fairyring_keyshare_packet_proto_msgTypes[10] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5581,7 +9014,7 @@ func (*AggrKeyshareDataPacketData) ProtoMessage() {} // Deprecated: Use AggrKeyshareDataPacketData.ProtoReflect.Descriptor instead. func (*AggrKeyshareDataPacketData) Descriptor() ([]byte, []int) { - return file_fairyring_keyshare_packet_proto_rawDescGZIP(), []int{6} + return file_fairyring_keyshare_packet_proto_rawDescGZIP(), []int{10} } func (x *AggrKeyshareDataPacketData) GetIdentity() string { @@ -5643,7 +9076,7 @@ type AggrKeyshareDataPacketAck struct { func (x *AggrKeyshareDataPacketAck) Reset() { *x = AggrKeyshareDataPacketAck{} if protoimpl.UnsafeEnabled { - mi := &file_fairyring_keyshare_packet_proto_msgTypes[7] + mi := &file_fairyring_keyshare_packet_proto_msgTypes[11] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5657,7 +9090,92 @@ func (*AggrKeyshareDataPacketAck) ProtoMessage() {} // Deprecated: Use AggrKeyshareDataPacketAck.ProtoReflect.Descriptor instead. func (*AggrKeyshareDataPacketAck) Descriptor() ([]byte, []int) { - return file_fairyring_keyshare_packet_proto_rawDescGZIP(), []int{7} + return file_fairyring_keyshare_packet_proto_rawDescGZIP(), []int{11} +} + +type EncryptedKeysharesPacketData struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Identity string `protobuf:"bytes,1,opt,name=identity,proto3" json:"identity,omitempty"` + Pubkey string `protobuf:"bytes,2,opt,name=pubkey,proto3" json:"pubkey,omitempty"` + RequestId string `protobuf:"bytes,3,opt,name=request_id,json=requestId,proto3" json:"request_id,omitempty"` + EncryptedKeyshares []*common.EncryptedKeyshare `protobuf:"bytes,4,rep,name=encrypted_keyshares,json=encryptedKeyshares,proto3" json:"encrypted_keyshares,omitempty"` +} + +func (x *EncryptedKeysharesPacketData) Reset() { + *x = EncryptedKeysharesPacketData{} + if protoimpl.UnsafeEnabled { + mi := &file_fairyring_keyshare_packet_proto_msgTypes[12] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *EncryptedKeysharesPacketData) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*EncryptedKeysharesPacketData) ProtoMessage() {} + +// Deprecated: Use EncryptedKeysharesPacketData.ProtoReflect.Descriptor instead. +func (*EncryptedKeysharesPacketData) Descriptor() ([]byte, []int) { + return file_fairyring_keyshare_packet_proto_rawDescGZIP(), []int{12} +} + +func (x *EncryptedKeysharesPacketData) GetIdentity() string { + if x != nil { + return x.Identity + } + return "" +} + +func (x *EncryptedKeysharesPacketData) GetPubkey() string { + if x != nil { + return x.Pubkey + } + return "" +} + +func (x *EncryptedKeysharesPacketData) GetRequestId() string { + if x != nil { + return x.RequestId + } + return "" +} + +func (x *EncryptedKeysharesPacketData) GetEncryptedKeyshares() []*common.EncryptedKeyshare { + if x != nil { + return x.EncryptedKeyshares + } + return nil +} + +type EncryptedKeysharesPacketAck struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *EncryptedKeysharesPacketAck) Reset() { + *x = EncryptedKeysharesPacketAck{} + if protoimpl.UnsafeEnabled { + mi := &file_fairyring_keyshare_packet_proto_msgTypes[13] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *EncryptedKeysharesPacketAck) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*EncryptedKeysharesPacketAck) ProtoMessage() {} + +// Deprecated: Use EncryptedKeysharesPacketAck.ProtoReflect.Descriptor instead. +func (*EncryptedKeysharesPacketAck) Descriptor() ([]byte, []int) { + return file_fairyring_keyshare_packet_proto_rawDescGZIP(), []int{13} } // CurrentKeysPacketData defines a struct for the packet payload @@ -5670,7 +9188,7 @@ type CurrentKeysPacketData struct { func (x *CurrentKeysPacketData) Reset() { *x = CurrentKeysPacketData{} if protoimpl.UnsafeEnabled { - mi := &file_fairyring_keyshare_packet_proto_msgTypes[8] + mi := &file_fairyring_keyshare_packet_proto_msgTypes[14] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5684,7 +9202,7 @@ func (*CurrentKeysPacketData) ProtoMessage() {} // Deprecated: Use CurrentKeysPacketData.ProtoReflect.Descriptor instead. func (*CurrentKeysPacketData) Descriptor() ([]byte, []int) { - return file_fairyring_keyshare_packet_proto_rawDescGZIP(), []int{8} + return file_fairyring_keyshare_packet_proto_rawDescGZIP(), []int{14} } // CurrentKeysPacketAck defines a struct for the packet acknowledgment @@ -5700,7 +9218,7 @@ type CurrentKeysPacketAck struct { func (x *CurrentKeysPacketAck) Reset() { *x = CurrentKeysPacketAck{} if protoimpl.UnsafeEnabled { - mi := &file_fairyring_keyshare_packet_proto_msgTypes[9] + mi := &file_fairyring_keyshare_packet_proto_msgTypes[15] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5714,7 +9232,7 @@ func (*CurrentKeysPacketAck) ProtoMessage() {} // Deprecated: Use CurrentKeysPacketAck.ProtoReflect.Descriptor instead. func (*CurrentKeysPacketAck) Descriptor() ([]byte, []int) { - return file_fairyring_keyshare_packet_proto_rawDescGZIP(), []int{9} + return file_fairyring_keyshare_packet_proto_rawDescGZIP(), []int{15} } func (x *CurrentKeysPacketAck) GetActiveKey() *common.ActivePublicKey { @@ -5743,7 +9261,7 @@ var file_fairyring_keyshare_packet_proto_rawDesc = []byte{ 0x2f, 0x67, 0x6f, 0x67, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x23, 0x66, 0x61, 0x69, 0x72, 0x79, 0x72, 0x69, 0x6e, 0x67, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x73, 0x68, 0x61, 0x72, 0x65, 0x64, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x22, 0xf3, 0x03, 0x0a, 0x12, 0x4b, 0x65, 0x79, 0x73, 0x68, 0x61, 0x72, 0x65, 0x50, 0x61, 0x63, + 0x22, 0xd4, 0x06, 0x0a, 0x12, 0x4b, 0x65, 0x79, 0x73, 0x68, 0x61, 0x72, 0x65, 0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x44, 0x61, 0x74, 0x61, 0x12, 0x34, 0x0a, 0x06, 0x6e, 0x6f, 0x44, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x66, 0x61, 0x69, 0x72, 0x79, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x6b, 0x65, 0x79, 0x73, 0x68, 0x61, 0x72, 0x65, 0x2e, 0x4e, 0x6f, 0x44, @@ -5768,77 +9286,135 @@ var file_fairyring_keyshare_packet_proto_rawDesc = []byte{ 0x72, 0x4b, 0x65, 0x79, 0x73, 0x68, 0x61, 0x72, 0x65, 0x44, 0x61, 0x74, 0x61, 0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x44, 0x61, 0x74, 0x61, 0x48, 0x00, 0x52, 0x16, 0x61, 0x67, 0x67, 0x72, 0x4b, 0x65, 0x79, 0x73, 0x68, 0x61, 0x72, 0x65, 0x44, 0x61, 0x74, 0x61, 0x50, 0x61, 0x63, 0x6b, 0x65, - 0x74, 0x12, 0x59, 0x0a, 0x11, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x4b, 0x65, 0x79, 0x73, - 0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x66, - 0x61, 0x69, 0x72, 0x79, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x6b, 0x65, 0x79, 0x73, 0x68, 0x61, 0x72, - 0x65, 0x2e, 0x43, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x4b, 0x65, 0x79, 0x73, 0x50, 0x61, 0x63, - 0x6b, 0x65, 0x74, 0x44, 0x61, 0x74, 0x61, 0x48, 0x00, 0x52, 0x11, 0x63, 0x75, 0x72, 0x72, 0x65, - 0x6e, 0x74, 0x4b, 0x65, 0x79, 0x73, 0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x42, 0x08, 0x0a, 0x06, - 0x70, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x22, 0x08, 0x0a, 0x06, 0x4e, 0x6f, 0x44, 0x61, 0x74, 0x61, - 0x22, 0xd1, 0x01, 0x0a, 0x1d, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x41, 0x67, 0x67, 0x72, - 0x4b, 0x65, 0x79, 0x73, 0x68, 0x61, 0x72, 0x65, 0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x44, 0x61, - 0x74, 0x61, 0x12, 0x1c, 0x0a, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x65, 0x72, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x65, 0x72, - 0x12, 0x21, 0x0a, 0x0b, 0x70, 0x72, 0x6f, 0x70, 0x6f, 0x73, 0x61, 0x6c, 0x5f, 0x69, 0x64, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0a, 0x70, 0x72, 0x6f, 0x70, 0x6f, 0x73, 0x61, - 0x6c, 0x49, 0x64, 0x12, 0x1f, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, - 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x49, 0x64, 0x12, 0x48, 0x0a, 0x0f, 0x65, 0x73, 0x74, 0x69, 0x6d, 0x61, 0x74, 0x65, - 0x64, 0x5f, 0x64, 0x65, 0x6c, 0x61, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, - 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, - 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x04, 0x98, 0xdf, 0x1f, 0x01, 0x52, 0x0e, - 0x65, 0x73, 0x74, 0x69, 0x6d, 0x61, 0x74, 0x65, 0x64, 0x44, 0x65, 0x6c, 0x61, 0x79, 0x42, 0x04, - 0x0a, 0x02, 0x69, 0x64, 0x22, 0x52, 0x0a, 0x1c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x41, - 0x67, 0x67, 0x72, 0x4b, 0x65, 0x79, 0x73, 0x68, 0x61, 0x72, 0x65, 0x50, 0x61, 0x63, 0x6b, 0x65, - 0x74, 0x41, 0x63, 0x6b, 0x12, 0x1a, 0x0a, 0x08, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, - 0x12, 0x16, 0x0a, 0x06, 0x70, 0x75, 0x62, 0x6b, 0x65, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x06, 0x70, 0x75, 0x62, 0x6b, 0x65, 0x79, 0x22, 0x37, 0x0a, 0x19, 0x47, 0x65, 0x74, 0x41, - 0x67, 0x67, 0x72, 0x4b, 0x65, 0x79, 0x73, 0x68, 0x61, 0x72, 0x65, 0x50, 0x61, 0x63, 0x6b, 0x65, - 0x74, 0x44, 0x61, 0x74, 0x61, 0x12, 0x1a, 0x0a, 0x08, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, - 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, - 0x79, 0x22, 0x1a, 0x0a, 0x18, 0x47, 0x65, 0x74, 0x41, 0x67, 0x67, 0x72, 0x4b, 0x65, 0x79, 0x73, - 0x68, 0x61, 0x72, 0x65, 0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x41, 0x63, 0x6b, 0x22, 0xf0, 0x01, - 0x0a, 0x1a, 0x41, 0x67, 0x67, 0x72, 0x4b, 0x65, 0x79, 0x73, 0x68, 0x61, 0x72, 0x65, 0x44, 0x61, - 0x74, 0x61, 0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x44, 0x61, 0x74, 0x61, 0x12, 0x1a, 0x0a, 0x08, - 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, - 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x75, 0x62, 0x6b, - 0x65, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x70, 0x75, 0x62, 0x6b, 0x65, 0x79, - 0x12, 0x23, 0x0a, 0x0d, 0x61, 0x67, 0x67, 0x72, 0x5f, 0x6b, 0x65, 0x79, 0x73, 0x68, 0x61, 0x72, - 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x61, 0x67, 0x67, 0x72, 0x4b, 0x65, 0x79, - 0x73, 0x68, 0x61, 0x72, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x61, 0x67, 0x67, 0x72, 0x5f, 0x68, 0x65, - 0x69, 0x67, 0x68, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x61, 0x67, 0x67, 0x72, - 0x48, 0x65, 0x69, 0x67, 0x68, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x70, 0x72, 0x6f, 0x70, 0x6f, 0x73, - 0x61, 0x6c, 0x5f, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x70, 0x72, 0x6f, - 0x70, 0x6f, 0x73, 0x61, 0x6c, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x72, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x72, 0x69, 0x65, - 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x72, 0x65, 0x74, 0x72, 0x69, 0x65, 0x73, - 0x22, 0x1b, 0x0a, 0x19, 0x41, 0x67, 0x67, 0x72, 0x4b, 0x65, 0x79, 0x73, 0x68, 0x61, 0x72, 0x65, - 0x44, 0x61, 0x74, 0x61, 0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x41, 0x63, 0x6b, 0x22, 0x17, 0x0a, - 0x15, 0x43, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x4b, 0x65, 0x79, 0x73, 0x50, 0x61, 0x63, 0x6b, - 0x65, 0x74, 0x44, 0x61, 0x74, 0x61, 0x22, 0x98, 0x01, 0x0a, 0x14, 0x43, 0x75, 0x72, 0x72, 0x65, - 0x6e, 0x74, 0x4b, 0x65, 0x79, 0x73, 0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x41, 0x63, 0x6b, 0x12, - 0x3f, 0x0a, 0x09, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x4b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x66, 0x61, 0x69, 0x72, 0x79, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x63, - 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, 0x50, 0x75, 0x62, 0x6c, - 0x69, 0x63, 0x4b, 0x65, 0x79, 0x52, 0x09, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x4b, 0x65, 0x79, - 0x12, 0x3f, 0x0a, 0x09, 0x71, 0x75, 0x65, 0x75, 0x65, 0x64, 0x4b, 0x65, 0x79, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x66, 0x61, 0x69, 0x72, 0x79, 0x72, 0x69, 0x6e, 0x67, 0x2e, - 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x75, 0x65, 0x64, 0x50, 0x75, 0x62, - 0x6c, 0x69, 0x63, 0x4b, 0x65, 0x79, 0x52, 0x09, 0x71, 0x75, 0x65, 0x75, 0x65, 0x64, 0x4b, 0x65, - 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, 0x61, - 0x63, 0x6b, 0x65, 0x74, 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, + 0x74, 0x12, 0x76, 0x0a, 0x1c, 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x65, 0x64, 0x4b, 0x65, + 0x79, 0x73, 0x68, 0x61, 0x72, 0x65, 0x73, 0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x44, 0x61, 0x74, + 0x61, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x66, 0x61, 0x69, 0x72, 0x79, 0x72, + 0x69, 0x6e, 0x67, 0x2e, 0x6b, 0x65, 0x79, 0x73, 0x68, 0x61, 0x72, 0x65, 0x2e, 0x45, 0x6e, 0x63, + 0x72, 0x79, 0x70, 0x74, 0x65, 0x64, 0x4b, 0x65, 0x79, 0x73, 0x68, 0x61, 0x72, 0x65, 0x73, 0x50, + 0x61, 0x63, 0x6b, 0x65, 0x74, 0x44, 0x61, 0x74, 0x61, 0x48, 0x00, 0x52, 0x1c, 0x65, 0x6e, 0x63, + 0x72, 0x79, 0x70, 0x74, 0x65, 0x64, 0x4b, 0x65, 0x79, 0x73, 0x68, 0x61, 0x72, 0x65, 0x73, 0x50, + 0x61, 0x63, 0x6b, 0x65, 0x74, 0x44, 0x61, 0x74, 0x61, 0x12, 0x59, 0x0a, 0x11, 0x63, 0x75, 0x72, + 0x72, 0x65, 0x6e, 0x74, 0x4b, 0x65, 0x79, 0x73, 0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x18, 0x06, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x66, 0x61, 0x69, 0x72, 0x79, 0x72, 0x69, 0x6e, 0x67, + 0x2e, 0x6b, 0x65, 0x79, 0x73, 0x68, 0x61, 0x72, 0x65, 0x2e, 0x43, 0x75, 0x72, 0x72, 0x65, 0x6e, + 0x74, 0x4b, 0x65, 0x79, 0x73, 0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x44, 0x61, 0x74, 0x61, 0x48, + 0x00, 0x52, 0x11, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x4b, 0x65, 0x79, 0x73, 0x50, 0x61, + 0x63, 0x6b, 0x65, 0x74, 0x12, 0x77, 0x0a, 0x1c, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, + 0x70, 0x72, 0x69, 0x76, 0x5f, 0x6b, 0x65, 0x79, 0x73, 0x68, 0x61, 0x72, 0x65, 0x5f, 0x70, 0x61, + 0x63, 0x6b, 0x65, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x66, 0x61, 0x69, + 0x72, 0x79, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x6b, 0x65, 0x79, 0x73, 0x68, 0x61, 0x72, 0x65, 0x2e, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x4b, 0x65, + 0x79, 0x73, 0x68, 0x61, 0x72, 0x65, 0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x44, 0x61, 0x74, 0x61, + 0x48, 0x00, 0x52, 0x19, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, 0x72, 0x69, 0x76, 0x4b, + 0x65, 0x79, 0x73, 0x68, 0x61, 0x72, 0x65, 0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x12, 0x6e, 0x0a, + 0x18, 0x67, 0x65, 0x74, 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x73, 0x68, + 0x61, 0x72, 0x65, 0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x30, 0x2e, 0x66, 0x61, 0x69, 0x72, 0x79, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x6b, 0x65, 0x79, 0x73, + 0x68, 0x61, 0x72, 0x65, 0x2e, 0x47, 0x65, 0x74, 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x4b, + 0x65, 0x79, 0x73, 0x68, 0x61, 0x72, 0x65, 0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x44, 0x61, 0x74, + 0x61, 0x48, 0x00, 0x52, 0x18, 0x67, 0x65, 0x74, 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x4b, + 0x65, 0x79, 0x73, 0x68, 0x61, 0x72, 0x65, 0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x42, 0x08, 0x0a, + 0x06, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x22, 0x08, 0x0a, 0x06, 0x4e, 0x6f, 0x44, 0x61, 0x74, + 0x61, 0x22, 0xd1, 0x01, 0x0a, 0x1d, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x41, 0x67, 0x67, + 0x72, 0x4b, 0x65, 0x79, 0x73, 0x68, 0x61, 0x72, 0x65, 0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x44, + 0x61, 0x74, 0x61, 0x12, 0x1c, 0x0a, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x65, 0x72, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x65, + 0x72, 0x12, 0x21, 0x0a, 0x0b, 0x70, 0x72, 0x6f, 0x70, 0x6f, 0x73, 0x61, 0x6c, 0x5f, 0x69, 0x64, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0a, 0x70, 0x72, 0x6f, 0x70, 0x6f, 0x73, + 0x61, 0x6c, 0x49, 0x64, 0x12, 0x1f, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, + 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x49, 0x64, 0x12, 0x48, 0x0a, 0x0f, 0x65, 0x73, 0x74, 0x69, 0x6d, 0x61, 0x74, + 0x65, 0x64, 0x5f, 0x64, 0x65, 0x6c, 0x61, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, + 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x04, 0x98, 0xdf, 0x1f, 0x01, 0x52, + 0x0e, 0x65, 0x73, 0x74, 0x69, 0x6d, 0x61, 0x74, 0x65, 0x64, 0x44, 0x65, 0x6c, 0x61, 0x79, 0x42, + 0x04, 0x0a, 0x02, 0x69, 0x64, 0x22, 0x5f, 0x0a, 0x20, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x73, 0x68, 0x61, 0x72, 0x65, 0x50, + 0x61, 0x63, 0x6b, 0x65, 0x74, 0x44, 0x61, 0x74, 0x61, 0x12, 0x1c, 0x0a, 0x09, 0x72, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x72, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x65, 0x72, 0x12, 0x1d, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x72, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x22, 0x55, 0x0a, 0x1f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x73, 0x68, 0x61, 0x72, 0x65, + 0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x41, 0x63, 0x6b, 0x12, 0x1a, 0x0a, 0x08, 0x69, 0x64, 0x65, + 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x69, 0x64, 0x65, + 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x75, 0x62, 0x6b, 0x65, 0x79, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x70, 0x75, 0x62, 0x6b, 0x65, 0x79, 0x22, 0x52, 0x0a, + 0x1c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x41, 0x67, 0x67, 0x72, 0x4b, 0x65, 0x79, 0x73, + 0x68, 0x61, 0x72, 0x65, 0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x41, 0x63, 0x6b, 0x12, 0x1a, 0x0a, + 0x08, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x08, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x75, 0x62, + 0x6b, 0x65, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x70, 0x75, 0x62, 0x6b, 0x65, + 0x79, 0x22, 0x37, 0x0a, 0x19, 0x47, 0x65, 0x74, 0x41, 0x67, 0x67, 0x72, 0x4b, 0x65, 0x79, 0x73, + 0x68, 0x61, 0x72, 0x65, 0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x44, 0x61, 0x74, 0x61, 0x12, 0x1a, + 0x0a, 0x08, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x08, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x22, 0x1a, 0x0a, 0x18, 0x47, 0x65, + 0x74, 0x41, 0x67, 0x67, 0x72, 0x4b, 0x65, 0x79, 0x73, 0x68, 0x61, 0x72, 0x65, 0x50, 0x61, 0x63, + 0x6b, 0x65, 0x74, 0x41, 0x63, 0x6b, 0x22, 0x79, 0x0a, 0x1c, 0x47, 0x65, 0x74, 0x50, 0x72, 0x69, + 0x76, 0x61, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x73, 0x68, 0x61, 0x72, 0x65, 0x50, 0x61, 0x63, 0x6b, + 0x65, 0x74, 0x44, 0x61, 0x74, 0x61, 0x12, 0x1a, 0x0a, 0x08, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, + 0x74, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, + 0x74, 0x79, 0x12, 0x1c, 0x0a, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x65, 0x72, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x65, 0x72, + 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x65, 0x63, 0x70, 0x5f, 0x70, 0x75, 0x62, 0x6b, 0x65, 0x79, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x73, 0x65, 0x63, 0x70, 0x50, 0x75, 0x62, 0x6b, 0x65, + 0x79, 0x22, 0x1d, 0x0a, 0x1b, 0x47, 0x65, 0x74, 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x4b, + 0x65, 0x79, 0x73, 0x68, 0x61, 0x72, 0x65, 0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x41, 0x63, 0x6b, + 0x22, 0xf0, 0x01, 0x0a, 0x1a, 0x41, 0x67, 0x67, 0x72, 0x4b, 0x65, 0x79, 0x73, 0x68, 0x61, 0x72, + 0x65, 0x44, 0x61, 0x74, 0x61, 0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x44, 0x61, 0x74, 0x61, 0x12, + 0x1a, 0x0a, 0x08, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x08, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x16, 0x0a, 0x06, 0x70, + 0x75, 0x62, 0x6b, 0x65, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x70, 0x75, 0x62, + 0x6b, 0x65, 0x79, 0x12, 0x23, 0x0a, 0x0d, 0x61, 0x67, 0x67, 0x72, 0x5f, 0x6b, 0x65, 0x79, 0x73, + 0x68, 0x61, 0x72, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x61, 0x67, 0x67, 0x72, + 0x4b, 0x65, 0x79, 0x73, 0x68, 0x61, 0x72, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x61, 0x67, 0x67, 0x72, + 0x5f, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x61, + 0x67, 0x67, 0x72, 0x48, 0x65, 0x69, 0x67, 0x68, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x70, 0x72, 0x6f, + 0x70, 0x6f, 0x73, 0x61, 0x6c, 0x5f, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, + 0x70, 0x72, 0x6f, 0x70, 0x6f, 0x73, 0x61, 0x6c, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x72, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, + 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, + 0x72, 0x69, 0x65, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x72, 0x65, 0x74, 0x72, + 0x69, 0x65, 0x73, 0x22, 0x1b, 0x0a, 0x19, 0x41, 0x67, 0x67, 0x72, 0x4b, 0x65, 0x79, 0x73, 0x68, + 0x61, 0x72, 0x65, 0x44, 0x61, 0x74, 0x61, 0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x41, 0x63, 0x6b, + 0x22, 0xc7, 0x01, 0x0a, 0x1c, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x65, 0x64, 0x4b, 0x65, + 0x79, 0x73, 0x68, 0x61, 0x72, 0x65, 0x73, 0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x44, 0x61, 0x74, + 0x61, 0x12, 0x1a, 0x0a, 0x08, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x08, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x16, 0x0a, + 0x06, 0x70, 0x75, 0x62, 0x6b, 0x65, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x70, + 0x75, 0x62, 0x6b, 0x65, 0x79, 0x12, 0x1d, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x49, 0x64, 0x12, 0x54, 0x0a, 0x13, 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x65, + 0x64, 0x5f, 0x6b, 0x65, 0x79, 0x73, 0x68, 0x61, 0x72, 0x65, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x23, 0x2e, 0x66, 0x61, 0x69, 0x72, 0x79, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x63, 0x6f, + 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x65, 0x64, 0x4b, 0x65, + 0x79, 0x73, 0x68, 0x61, 0x72, 0x65, 0x52, 0x12, 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x65, + 0x64, 0x4b, 0x65, 0x79, 0x73, 0x68, 0x61, 0x72, 0x65, 0x73, 0x22, 0x1d, 0x0a, 0x1b, 0x45, 0x6e, + 0x63, 0x72, 0x79, 0x70, 0x74, 0x65, 0x64, 0x4b, 0x65, 0x79, 0x73, 0x68, 0x61, 0x72, 0x65, 0x73, + 0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x41, 0x63, 0x6b, 0x22, 0x17, 0x0a, 0x15, 0x43, 0x75, 0x72, + 0x72, 0x65, 0x6e, 0x74, 0x4b, 0x65, 0x79, 0x73, 0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x44, 0x61, + 0x74, 0x61, 0x22, 0x98, 0x01, 0x0a, 0x14, 0x43, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x4b, 0x65, + 0x79, 0x73, 0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x41, 0x63, 0x6b, 0x12, 0x3f, 0x0a, 0x09, 0x61, + 0x63, 0x74, 0x69, 0x76, 0x65, 0x4b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, + 0x2e, 0x66, 0x61, 0x69, 0x72, 0x79, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, + 0x6e, 0x2e, 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x4b, 0x65, + 0x79, 0x52, 0x09, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x4b, 0x65, 0x79, 0x12, 0x3f, 0x0a, 0x09, + 0x71, 0x75, 0x65, 0x75, 0x65, 0x64, 0x4b, 0x65, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x21, 0x2e, 0x66, 0x61, 0x69, 0x72, 0x79, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, + 0x6f, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x75, 0x65, 0x64, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x4b, + 0x65, 0x79, 0x52, 0x09, 0x71, 0x75, 0x65, 0x75, 0x65, 0x64, 0x4b, 0x65, 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, 0x61, 0x63, 0x6b, 0x65, 0x74, + 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 ( @@ -5853,36 +9429,47 @@ func file_fairyring_keyshare_packet_proto_rawDescGZIP() []byte { return file_fairyring_keyshare_packet_proto_rawDescData } -var file_fairyring_keyshare_packet_proto_msgTypes = make([]protoimpl.MessageInfo, 10) +var file_fairyring_keyshare_packet_proto_msgTypes = make([]protoimpl.MessageInfo, 16) var file_fairyring_keyshare_packet_proto_goTypes = []interface{}{ - (*KeysharePacketData)(nil), // 0: fairyring.keyshare.KeysharePacketData - (*NoData)(nil), // 1: fairyring.keyshare.NoData - (*RequestAggrKeysharePacketData)(nil), // 2: fairyring.keyshare.RequestAggrKeysharePacketData - (*RequestAggrKeysharePacketAck)(nil), // 3: fairyring.keyshare.RequestAggrKeysharePacketAck - (*GetAggrKeysharePacketData)(nil), // 4: fairyring.keyshare.GetAggrKeysharePacketData - (*GetAggrKeysharePacketAck)(nil), // 5: fairyring.keyshare.GetAggrKeysharePacketAck - (*AggrKeyshareDataPacketData)(nil), // 6: fairyring.keyshare.AggrKeyshareDataPacketData - (*AggrKeyshareDataPacketAck)(nil), // 7: fairyring.keyshare.AggrKeyshareDataPacketAck - (*CurrentKeysPacketData)(nil), // 8: fairyring.keyshare.CurrentKeysPacketData - (*CurrentKeysPacketAck)(nil), // 9: fairyring.keyshare.CurrentKeysPacketAck - (*durationpb.Duration)(nil), // 10: google.protobuf.Duration - (*common.ActivePublicKey)(nil), // 11: fairyring.common.ActivePublicKey - (*common.QueuedPublicKey)(nil), // 12: fairyring.common.QueuedPublicKey + (*KeysharePacketData)(nil), // 0: fairyring.keyshare.KeysharePacketData + (*NoData)(nil), // 1: fairyring.keyshare.NoData + (*RequestAggrKeysharePacketData)(nil), // 2: fairyring.keyshare.RequestAggrKeysharePacketData + (*RequestPrivateKeysharePacketData)(nil), // 3: fairyring.keyshare.RequestPrivateKeysharePacketData + (*RequestPrivateKeysharePacketAck)(nil), // 4: fairyring.keyshare.RequestPrivateKeysharePacketAck + (*RequestAggrKeysharePacketAck)(nil), // 5: fairyring.keyshare.RequestAggrKeysharePacketAck + (*GetAggrKeysharePacketData)(nil), // 6: fairyring.keyshare.GetAggrKeysharePacketData + (*GetAggrKeysharePacketAck)(nil), // 7: fairyring.keyshare.GetAggrKeysharePacketAck + (*GetPrivateKeysharePacketData)(nil), // 8: fairyring.keyshare.GetPrivateKeysharePacketData + (*GetPrivateKeysharePacketAck)(nil), // 9: fairyring.keyshare.GetPrivateKeysharePacketAck + (*AggrKeyshareDataPacketData)(nil), // 10: fairyring.keyshare.AggrKeyshareDataPacketData + (*AggrKeyshareDataPacketAck)(nil), // 11: fairyring.keyshare.AggrKeyshareDataPacketAck + (*EncryptedKeysharesPacketData)(nil), // 12: fairyring.keyshare.EncryptedKeysharesPacketData + (*EncryptedKeysharesPacketAck)(nil), // 13: fairyring.keyshare.EncryptedKeysharesPacketAck + (*CurrentKeysPacketData)(nil), // 14: fairyring.keyshare.CurrentKeysPacketData + (*CurrentKeysPacketAck)(nil), // 15: fairyring.keyshare.CurrentKeysPacketAck + (*durationpb.Duration)(nil), // 16: google.protobuf.Duration + (*common.EncryptedKeyshare)(nil), // 17: fairyring.common.EncryptedKeyshare + (*common.ActivePublicKey)(nil), // 18: fairyring.common.ActivePublicKey + (*common.QueuedPublicKey)(nil), // 19: fairyring.common.QueuedPublicKey } var file_fairyring_keyshare_packet_proto_depIdxs = []int32{ 1, // 0: fairyring.keyshare.KeysharePacketData.noData:type_name -> fairyring.keyshare.NoData 2, // 1: fairyring.keyshare.KeysharePacketData.requestAggrKeysharePacket:type_name -> fairyring.keyshare.RequestAggrKeysharePacketData - 4, // 2: fairyring.keyshare.KeysharePacketData.getAggrKeysharePacket:type_name -> fairyring.keyshare.GetAggrKeysharePacketData - 6, // 3: fairyring.keyshare.KeysharePacketData.aggrKeyshareDataPacket:type_name -> fairyring.keyshare.AggrKeyshareDataPacketData - 8, // 4: fairyring.keyshare.KeysharePacketData.currentKeysPacket:type_name -> fairyring.keyshare.CurrentKeysPacketData - 10, // 5: fairyring.keyshare.RequestAggrKeysharePacketData.estimated_delay:type_name -> google.protobuf.Duration - 11, // 6: fairyring.keyshare.CurrentKeysPacketAck.activeKey:type_name -> fairyring.common.ActivePublicKey - 12, // 7: fairyring.keyshare.CurrentKeysPacketAck.queuedKey:type_name -> fairyring.common.QueuedPublicKey - 8, // [8:8] is the sub-list for method output_type - 8, // [8:8] is the sub-list for method input_type - 8, // [8:8] is the sub-list for extension type_name - 8, // [8:8] is the sub-list for extension extendee - 0, // [0:8] is the sub-list for field type_name + 6, // 2: fairyring.keyshare.KeysharePacketData.getAggrKeysharePacket:type_name -> fairyring.keyshare.GetAggrKeysharePacketData + 10, // 3: fairyring.keyshare.KeysharePacketData.aggrKeyshareDataPacket:type_name -> fairyring.keyshare.AggrKeyshareDataPacketData + 12, // 4: fairyring.keyshare.KeysharePacketData.encryptedKeysharesPacketData:type_name -> fairyring.keyshare.EncryptedKeysharesPacketData + 14, // 5: fairyring.keyshare.KeysharePacketData.currentKeysPacket:type_name -> fairyring.keyshare.CurrentKeysPacketData + 3, // 6: fairyring.keyshare.KeysharePacketData.request_priv_keyshare_packet:type_name -> fairyring.keyshare.RequestPrivateKeysharePacketData + 8, // 7: fairyring.keyshare.KeysharePacketData.getPrivateKeysharePacket:type_name -> fairyring.keyshare.GetPrivateKeysharePacketData + 16, // 8: fairyring.keyshare.RequestAggrKeysharePacketData.estimated_delay:type_name -> google.protobuf.Duration + 17, // 9: fairyring.keyshare.EncryptedKeysharesPacketData.encrypted_keyshares:type_name -> fairyring.common.EncryptedKeyshare + 18, // 10: fairyring.keyshare.CurrentKeysPacketAck.activeKey:type_name -> fairyring.common.ActivePublicKey + 19, // 11: fairyring.keyshare.CurrentKeysPacketAck.queuedKey:type_name -> fairyring.common.QueuedPublicKey + 12, // [12:12] is the sub-list for method output_type + 12, // [12:12] is the sub-list for method input_type + 12, // [12:12] is the sub-list for extension type_name + 12, // [12:12] is the sub-list for extension extendee + 0, // [0:12] is the sub-list for field type_name } func init() { file_fairyring_keyshare_packet_proto_init() } @@ -5928,7 +9515,7 @@ func file_fairyring_keyshare_packet_proto_init() { } } file_fairyring_keyshare_packet_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*RequestAggrKeysharePacketAck); i { + switch v := v.(*RequestPrivateKeysharePacketData); i { case 0: return &v.state case 1: @@ -5940,7 +9527,7 @@ func file_fairyring_keyshare_packet_proto_init() { } } file_fairyring_keyshare_packet_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetAggrKeysharePacketData); i { + switch v := v.(*RequestPrivateKeysharePacketAck); i { case 0: return &v.state case 1: @@ -5952,7 +9539,7 @@ func file_fairyring_keyshare_packet_proto_init() { } } file_fairyring_keyshare_packet_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetAggrKeysharePacketAck); i { + switch v := v.(*RequestAggrKeysharePacketAck); i { case 0: return &v.state case 1: @@ -5964,7 +9551,7 @@ func file_fairyring_keyshare_packet_proto_init() { } } file_fairyring_keyshare_packet_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*AggrKeyshareDataPacketData); i { + switch v := v.(*GetAggrKeysharePacketData); i { case 0: return &v.state case 1: @@ -5976,7 +9563,7 @@ func file_fairyring_keyshare_packet_proto_init() { } } file_fairyring_keyshare_packet_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*AggrKeyshareDataPacketAck); i { + switch v := v.(*GetAggrKeysharePacketAck); i { case 0: return &v.state case 1: @@ -5988,7 +9575,7 @@ func file_fairyring_keyshare_packet_proto_init() { } } file_fairyring_keyshare_packet_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CurrentKeysPacketData); i { + switch v := v.(*GetPrivateKeysharePacketData); i { case 0: return &v.state case 1: @@ -6000,6 +9587,78 @@ func file_fairyring_keyshare_packet_proto_init() { } } file_fairyring_keyshare_packet_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetPrivateKeysharePacketAck); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_fairyring_keyshare_packet_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*AggrKeyshareDataPacketData); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_fairyring_keyshare_packet_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*AggrKeyshareDataPacketAck); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_fairyring_keyshare_packet_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*EncryptedKeysharesPacketData); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_fairyring_keyshare_packet_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*EncryptedKeysharesPacketAck); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_fairyring_keyshare_packet_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CurrentKeysPacketData); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_fairyring_keyshare_packet_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CurrentKeysPacketAck); i { case 0: return &v.state @@ -6017,7 +9676,10 @@ func file_fairyring_keyshare_packet_proto_init() { (*KeysharePacketData_RequestAggrKeysharePacket)(nil), (*KeysharePacketData_GetAggrKeysharePacket)(nil), (*KeysharePacketData_AggrKeyshareDataPacket)(nil), + (*KeysharePacketData_EncryptedKeysharesPacketData)(nil), (*KeysharePacketData_CurrentKeysPacket)(nil), + (*KeysharePacketData_RequestPrivKeysharePacket)(nil), + (*KeysharePacketData_GetPrivateKeysharePacket)(nil), } file_fairyring_keyshare_packet_proto_msgTypes[2].OneofWrappers = []interface{}{ (*RequestAggrKeysharePacketData_ProposalId)(nil), @@ -6029,7 +9691,7 @@ func file_fairyring_keyshare_packet_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_fairyring_keyshare_packet_proto_rawDesc, NumEnums: 0, - NumMessages: 10, + NumMessages: 16, NumExtensions: 0, NumServices: 0, }, diff --git a/api/fairyring/keyshare/requested_keyshare.pulsar.go b/api/fairyring/keyshare/requested_keyshare.pulsar.go index 7d46db75..1de670e0 100644 --- a/api/fairyring/keyshare/requested_keyshare.pulsar.go +++ b/api/fairyring/keyshare/requested_keyshare.pulsar.go @@ -2,6 +2,7 @@ package keyshare import ( + common "github.com/Fairblock/fairyring/api/fairyring/common" fmt "fmt" runtime "github.com/cosmos/cosmos-proto/runtime" protoreflect "google.golang.org/protobuf/reflect/protoreflect" @@ -2124,6 +2125,904 @@ func (x *fastReflection_CounterPartyIBCInfo) ProtoMethods() *protoiface.Methods } } +var _ protoreflect.List = (*_PrivateKeyshareRequest_5_list)(nil) + +type _PrivateKeyshareRequest_5_list struct { + list *[]*common.EncryptedKeyshare +} + +func (x *_PrivateKeyshareRequest_5_list) Len() int { + if x.list == nil { + return 0 + } + return len(*x.list) +} + +func (x *_PrivateKeyshareRequest_5_list) Get(i int) protoreflect.Value { + return protoreflect.ValueOfMessage((*x.list)[i].ProtoReflect()) +} + +func (x *_PrivateKeyshareRequest_5_list) Set(i int, value protoreflect.Value) { + valueUnwrapped := value.Message() + concreteValue := valueUnwrapped.Interface().(*common.EncryptedKeyshare) + (*x.list)[i] = concreteValue +} + +func (x *_PrivateKeyshareRequest_5_list) Append(value protoreflect.Value) { + valueUnwrapped := value.Message() + concreteValue := valueUnwrapped.Interface().(*common.EncryptedKeyshare) + *x.list = append(*x.list, concreteValue) +} + +func (x *_PrivateKeyshareRequest_5_list) AppendMutable() protoreflect.Value { + v := new(common.EncryptedKeyshare) + *x.list = append(*x.list, v) + return protoreflect.ValueOfMessage(v.ProtoReflect()) +} + +func (x *_PrivateKeyshareRequest_5_list) Truncate(n int) { + for i := n; i < len(*x.list); i++ { + (*x.list)[i] = nil + } + *x.list = (*x.list)[:n] +} + +func (x *_PrivateKeyshareRequest_5_list) NewElement() protoreflect.Value { + v := new(common.EncryptedKeyshare) + return protoreflect.ValueOfMessage(v.ProtoReflect()) +} + +func (x *_PrivateKeyshareRequest_5_list) IsValid() bool { + return x.list != nil +} + +var ( + md_PrivateKeyshareRequest protoreflect.MessageDescriptor + fd_PrivateKeyshareRequest_identity protoreflect.FieldDescriptor + fd_PrivateKeyshareRequest_pubkey protoreflect.FieldDescriptor + fd_PrivateKeyshareRequest_ibc_info protoreflect.FieldDescriptor + fd_PrivateKeyshareRequest_counterparty protoreflect.FieldDescriptor + fd_PrivateKeyshareRequest_encrypted_keyshares protoreflect.FieldDescriptor + fd_PrivateKeyshareRequest_request_id protoreflect.FieldDescriptor + fd_PrivateKeyshareRequest_sent protoreflect.FieldDescriptor +) + +func init() { + file_fairyring_keyshare_requested_keyshare_proto_init() + md_PrivateKeyshareRequest = File_fairyring_keyshare_requested_keyshare_proto.Messages().ByName("PrivateKeyshareRequest") + fd_PrivateKeyshareRequest_identity = md_PrivateKeyshareRequest.Fields().ByName("identity") + fd_PrivateKeyshareRequest_pubkey = md_PrivateKeyshareRequest.Fields().ByName("pubkey") + fd_PrivateKeyshareRequest_ibc_info = md_PrivateKeyshareRequest.Fields().ByName("ibc_info") + fd_PrivateKeyshareRequest_counterparty = md_PrivateKeyshareRequest.Fields().ByName("counterparty") + fd_PrivateKeyshareRequest_encrypted_keyshares = md_PrivateKeyshareRequest.Fields().ByName("encrypted_keyshares") + fd_PrivateKeyshareRequest_request_id = md_PrivateKeyshareRequest.Fields().ByName("request_id") + fd_PrivateKeyshareRequest_sent = md_PrivateKeyshareRequest.Fields().ByName("sent") +} + +var _ protoreflect.Message = (*fastReflection_PrivateKeyshareRequest)(nil) + +type fastReflection_PrivateKeyshareRequest PrivateKeyshareRequest + +func (x *PrivateKeyshareRequest) ProtoReflect() protoreflect.Message { + return (*fastReflection_PrivateKeyshareRequest)(x) +} + +func (x *PrivateKeyshareRequest) slowProtoReflect() protoreflect.Message { + mi := &file_fairyring_keyshare_requested_keyshare_proto_msgTypes[3] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +var _fastReflection_PrivateKeyshareRequest_messageType fastReflection_PrivateKeyshareRequest_messageType +var _ protoreflect.MessageType = fastReflection_PrivateKeyshareRequest_messageType{} + +type fastReflection_PrivateKeyshareRequest_messageType struct{} + +func (x fastReflection_PrivateKeyshareRequest_messageType) Zero() protoreflect.Message { + return (*fastReflection_PrivateKeyshareRequest)(nil) +} +func (x fastReflection_PrivateKeyshareRequest_messageType) New() protoreflect.Message { + return new(fastReflection_PrivateKeyshareRequest) +} +func (x fastReflection_PrivateKeyshareRequest_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_PrivateKeyshareRequest +} + +// Descriptor returns message descriptor, which contains only the protobuf +// type information for the message. +func (x *fastReflection_PrivateKeyshareRequest) Descriptor() protoreflect.MessageDescriptor { + return md_PrivateKeyshareRequest +} + +// Type returns the message type, which encapsulates both Go and protobuf +// type information. If the Go type information is not needed, +// it is recommended that the message descriptor be used instead. +func (x *fastReflection_PrivateKeyshareRequest) Type() protoreflect.MessageType { + return _fastReflection_PrivateKeyshareRequest_messageType +} + +// New returns a newly allocated and mutable empty message. +func (x *fastReflection_PrivateKeyshareRequest) New() protoreflect.Message { + return new(fastReflection_PrivateKeyshareRequest) +} + +// Interface unwraps the message reflection interface and +// returns the underlying ProtoMessage interface. +func (x *fastReflection_PrivateKeyshareRequest) Interface() protoreflect.ProtoMessage { + return (*PrivateKeyshareRequest)(x) +} + +// Range iterates over every populated field in an undefined order, +// calling f for each field descriptor and value encountered. +// Range returns immediately if f returns false. +// While iterating, mutating operations may only be performed +// on the current field descriptor. +func (x *fastReflection_PrivateKeyshareRequest) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { + if x.Identity != "" { + value := protoreflect.ValueOfString(x.Identity) + if !f(fd_PrivateKeyshareRequest_identity, value) { + return + } + } + if x.Pubkey != "" { + value := protoreflect.ValueOfString(x.Pubkey) + if !f(fd_PrivateKeyshareRequest_pubkey, value) { + return + } + } + if x.IbcInfo != nil { + value := protoreflect.ValueOfMessage(x.IbcInfo.ProtoReflect()) + if !f(fd_PrivateKeyshareRequest_ibc_info, value) { + return + } + } + if x.Counterparty != nil { + value := protoreflect.ValueOfMessage(x.Counterparty.ProtoReflect()) + if !f(fd_PrivateKeyshareRequest_counterparty, value) { + return + } + } + if len(x.EncryptedKeyshares) != 0 { + value := protoreflect.ValueOfList(&_PrivateKeyshareRequest_5_list{list: &x.EncryptedKeyshares}) + if !f(fd_PrivateKeyshareRequest_encrypted_keyshares, value) { + return + } + } + if x.RequestId != "" { + value := protoreflect.ValueOfString(x.RequestId) + if !f(fd_PrivateKeyshareRequest_request_id, value) { + return + } + } + if x.Sent != false { + value := protoreflect.ValueOfBool(x.Sent) + if !f(fd_PrivateKeyshareRequest_sent, value) { + return + } + } +} + +// Has reports whether a field is populated. +// +// Some fields have the property of nullability where it is possible to +// distinguish between the default value of a field and whether the field +// was explicitly populated with the default value. Singular message fields, +// member fields of a oneof, and proto2 scalar fields are nullable. Such +// fields are populated only if explicitly set. +// +// In other cases (aside from the nullable cases above), +// a proto3 scalar field is populated if it contains a non-zero value, and +// a repeated field is populated if it is non-empty. +func (x *fastReflection_PrivateKeyshareRequest) Has(fd protoreflect.FieldDescriptor) bool { + switch fd.FullName() { + case "fairyring.keyshare.PrivateKeyshareRequest.identity": + return x.Identity != "" + case "fairyring.keyshare.PrivateKeyshareRequest.pubkey": + return x.Pubkey != "" + case "fairyring.keyshare.PrivateKeyshareRequest.ibc_info": + return x.IbcInfo != nil + case "fairyring.keyshare.PrivateKeyshareRequest.counterparty": + return x.Counterparty != nil + case "fairyring.keyshare.PrivateKeyshareRequest.encrypted_keyshares": + return len(x.EncryptedKeyshares) != 0 + case "fairyring.keyshare.PrivateKeyshareRequest.request_id": + return x.RequestId != "" + case "fairyring.keyshare.PrivateKeyshareRequest.sent": + return x.Sent != false + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: fairyring.keyshare.PrivateKeyshareRequest")) + } + panic(fmt.Errorf("message fairyring.keyshare.PrivateKeyshareRequest does not contain field %s", fd.FullName())) + } +} + +// Clear clears the field such that a subsequent Has call reports false. +// +// Clearing an extension field clears both the extension type and value +// associated with the given field number. +// +// Clear is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_PrivateKeyshareRequest) Clear(fd protoreflect.FieldDescriptor) { + switch fd.FullName() { + case "fairyring.keyshare.PrivateKeyshareRequest.identity": + x.Identity = "" + case "fairyring.keyshare.PrivateKeyshareRequest.pubkey": + x.Pubkey = "" + case "fairyring.keyshare.PrivateKeyshareRequest.ibc_info": + x.IbcInfo = nil + case "fairyring.keyshare.PrivateKeyshareRequest.counterparty": + x.Counterparty = nil + case "fairyring.keyshare.PrivateKeyshareRequest.encrypted_keyshares": + x.EncryptedKeyshares = nil + case "fairyring.keyshare.PrivateKeyshareRequest.request_id": + x.RequestId = "" + case "fairyring.keyshare.PrivateKeyshareRequest.sent": + x.Sent = false + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: fairyring.keyshare.PrivateKeyshareRequest")) + } + panic(fmt.Errorf("message fairyring.keyshare.PrivateKeyshareRequest does not contain field %s", fd.FullName())) + } +} + +// Get retrieves the value for a field. +// +// For unpopulated scalars, it returns the default value, where +// the default value of a bytes scalar is guaranteed to be a copy. +// For unpopulated composite types, it returns an empty, read-only view +// of the value; to obtain a mutable reference, use Mutable. +func (x *fastReflection_PrivateKeyshareRequest) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { + switch descriptor.FullName() { + case "fairyring.keyshare.PrivateKeyshareRequest.identity": + value := x.Identity + return protoreflect.ValueOfString(value) + case "fairyring.keyshare.PrivateKeyshareRequest.pubkey": + value := x.Pubkey + return protoreflect.ValueOfString(value) + case "fairyring.keyshare.PrivateKeyshareRequest.ibc_info": + value := x.IbcInfo + return protoreflect.ValueOfMessage(value.ProtoReflect()) + case "fairyring.keyshare.PrivateKeyshareRequest.counterparty": + value := x.Counterparty + return protoreflect.ValueOfMessage(value.ProtoReflect()) + case "fairyring.keyshare.PrivateKeyshareRequest.encrypted_keyshares": + if len(x.EncryptedKeyshares) == 0 { + return protoreflect.ValueOfList(&_PrivateKeyshareRequest_5_list{}) + } + listValue := &_PrivateKeyshareRequest_5_list{list: &x.EncryptedKeyshares} + return protoreflect.ValueOfList(listValue) + case "fairyring.keyshare.PrivateKeyshareRequest.request_id": + value := x.RequestId + return protoreflect.ValueOfString(value) + case "fairyring.keyshare.PrivateKeyshareRequest.sent": + value := x.Sent + return protoreflect.ValueOfBool(value) + default: + if descriptor.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: fairyring.keyshare.PrivateKeyshareRequest")) + } + panic(fmt.Errorf("message fairyring.keyshare.PrivateKeyshareRequest does not contain field %s", descriptor.FullName())) + } +} + +// Set stores the value for a field. +// +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType. +// When setting a composite type, it is unspecified whether the stored value +// aliases the source's memory in any way. If the composite value is an +// empty, read-only value, then it panics. +// +// Set is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_PrivateKeyshareRequest) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { + switch fd.FullName() { + case "fairyring.keyshare.PrivateKeyshareRequest.identity": + x.Identity = value.Interface().(string) + case "fairyring.keyshare.PrivateKeyshareRequest.pubkey": + x.Pubkey = value.Interface().(string) + case "fairyring.keyshare.PrivateKeyshareRequest.ibc_info": + x.IbcInfo = value.Message().Interface().(*IBCInfo) + case "fairyring.keyshare.PrivateKeyshareRequest.counterparty": + x.Counterparty = value.Message().Interface().(*CounterPartyIBCInfo) + case "fairyring.keyshare.PrivateKeyshareRequest.encrypted_keyshares": + lv := value.List() + clv := lv.(*_PrivateKeyshareRequest_5_list) + x.EncryptedKeyshares = *clv.list + case "fairyring.keyshare.PrivateKeyshareRequest.request_id": + x.RequestId = value.Interface().(string) + case "fairyring.keyshare.PrivateKeyshareRequest.sent": + x.Sent = value.Bool() + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: fairyring.keyshare.PrivateKeyshareRequest")) + } + panic(fmt.Errorf("message fairyring.keyshare.PrivateKeyshareRequest does not contain field %s", fd.FullName())) + } +} + +// Mutable returns a mutable reference to a composite type. +// +// If the field is unpopulated, it may allocate a composite value. +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType +// if not already stored. +// It panics if the field does not contain a composite type. +// +// Mutable is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_PrivateKeyshareRequest) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "fairyring.keyshare.PrivateKeyshareRequest.ibc_info": + if x.IbcInfo == nil { + x.IbcInfo = new(IBCInfo) + } + return protoreflect.ValueOfMessage(x.IbcInfo.ProtoReflect()) + case "fairyring.keyshare.PrivateKeyshareRequest.counterparty": + if x.Counterparty == nil { + x.Counterparty = new(CounterPartyIBCInfo) + } + return protoreflect.ValueOfMessage(x.Counterparty.ProtoReflect()) + case "fairyring.keyshare.PrivateKeyshareRequest.encrypted_keyshares": + if x.EncryptedKeyshares == nil { + x.EncryptedKeyshares = []*common.EncryptedKeyshare{} + } + value := &_PrivateKeyshareRequest_5_list{list: &x.EncryptedKeyshares} + return protoreflect.ValueOfList(value) + case "fairyring.keyshare.PrivateKeyshareRequest.identity": + panic(fmt.Errorf("field identity of message fairyring.keyshare.PrivateKeyshareRequest is not mutable")) + case "fairyring.keyshare.PrivateKeyshareRequest.pubkey": + panic(fmt.Errorf("field pubkey of message fairyring.keyshare.PrivateKeyshareRequest is not mutable")) + case "fairyring.keyshare.PrivateKeyshareRequest.request_id": + panic(fmt.Errorf("field request_id of message fairyring.keyshare.PrivateKeyshareRequest is not mutable")) + case "fairyring.keyshare.PrivateKeyshareRequest.sent": + panic(fmt.Errorf("field sent of message fairyring.keyshare.PrivateKeyshareRequest is not mutable")) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: fairyring.keyshare.PrivateKeyshareRequest")) + } + panic(fmt.Errorf("message fairyring.keyshare.PrivateKeyshareRequest does not contain field %s", fd.FullName())) + } +} + +// NewField returns a new value that is assignable to the field +// for the given descriptor. For scalars, this returns the default value. +// For lists, maps, and messages, this returns a new, empty, mutable value. +func (x *fastReflection_PrivateKeyshareRequest) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "fairyring.keyshare.PrivateKeyshareRequest.identity": + return protoreflect.ValueOfString("") + case "fairyring.keyshare.PrivateKeyshareRequest.pubkey": + return protoreflect.ValueOfString("") + case "fairyring.keyshare.PrivateKeyshareRequest.ibc_info": + m := new(IBCInfo) + return protoreflect.ValueOfMessage(m.ProtoReflect()) + case "fairyring.keyshare.PrivateKeyshareRequest.counterparty": + m := new(CounterPartyIBCInfo) + return protoreflect.ValueOfMessage(m.ProtoReflect()) + case "fairyring.keyshare.PrivateKeyshareRequest.encrypted_keyshares": + list := []*common.EncryptedKeyshare{} + return protoreflect.ValueOfList(&_PrivateKeyshareRequest_5_list{list: &list}) + case "fairyring.keyshare.PrivateKeyshareRequest.request_id": + return protoreflect.ValueOfString("") + case "fairyring.keyshare.PrivateKeyshareRequest.sent": + return protoreflect.ValueOfBool(false) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: fairyring.keyshare.PrivateKeyshareRequest")) + } + panic(fmt.Errorf("message fairyring.keyshare.PrivateKeyshareRequest does not contain field %s", fd.FullName())) + } +} + +// WhichOneof reports which field within the oneof is populated, +// returning nil if none are populated. +// It panics if the oneof descriptor does not belong to this message. +func (x *fastReflection_PrivateKeyshareRequest) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { + switch d.FullName() { + default: + panic(fmt.Errorf("%s is not a oneof field in fairyring.keyshare.PrivateKeyshareRequest", d.FullName())) + } + panic("unreachable") +} + +// GetUnknown retrieves the entire list of unknown fields. +// The caller may only mutate the contents of the RawFields +// if the mutated bytes are stored back into the message with SetUnknown. +func (x *fastReflection_PrivateKeyshareRequest) GetUnknown() protoreflect.RawFields { + return x.unknownFields +} + +// SetUnknown stores an entire list of unknown fields. +// The raw fields must be syntactically valid according to the wire format. +// An implementation may panic if this is not the case. +// Once stored, the caller must not mutate the content of the RawFields. +// An empty RawFields may be passed to clear the fields. +// +// SetUnknown is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_PrivateKeyshareRequest) SetUnknown(fields protoreflect.RawFields) { + x.unknownFields = fields +} + +// IsValid reports whether the message is valid. +// +// An invalid message is an empty, read-only value. +// +// An invalid message often corresponds to a nil pointer of the concrete +// message type, but the details are implementation dependent. +// Validity is not part of the protobuf data model, and may not +// be preserved in marshaling or other operations. +func (x *fastReflection_PrivateKeyshareRequest) IsValid() bool { + return x != nil +} + +// ProtoMethods returns optional fastReflectionFeature-path implementations of various operations. +// This method may return nil. +// +// The returned methods type is identical to +// "google.golang.org/protobuf/runtime/protoiface".Methods. +// Consult the protoiface package documentation for details. +func (x *fastReflection_PrivateKeyshareRequest) ProtoMethods() *protoiface.Methods { + size := func(input protoiface.SizeInput) protoiface.SizeOutput { + x := input.Message.Interface().(*PrivateKeyshareRequest) + if x == nil { + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: 0, + } + } + options := runtime.SizeInputToOptions(input) + _ = options + var n int + var l int + _ = l + l = len(x.Identity) + if l > 0 { + n += 1 + l + runtime.Sov(uint64(l)) + } + l = len(x.Pubkey) + if l > 0 { + n += 1 + l + runtime.Sov(uint64(l)) + } + if x.IbcInfo != nil { + l = options.Size(x.IbcInfo) + n += 1 + l + runtime.Sov(uint64(l)) + } + if x.Counterparty != nil { + l = options.Size(x.Counterparty) + n += 1 + l + runtime.Sov(uint64(l)) + } + if len(x.EncryptedKeyshares) > 0 { + for _, e := range x.EncryptedKeyshares { + l = options.Size(e) + n += 1 + l + runtime.Sov(uint64(l)) + } + } + l = len(x.RequestId) + if l > 0 { + n += 1 + l + runtime.Sov(uint64(l)) + } + if x.Sent { + n += 2 + } + if x.unknownFields != nil { + n += len(x.unknownFields) + } + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: n, + } + } + + marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { + x := input.Message.Interface().(*PrivateKeyshareRequest) + if x == nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + options := runtime.MarshalInputToOptions(input) + _ = options + size := options.Size(x) + dAtA := make([]byte, size) + i := len(dAtA) + _ = i + var l int + _ = l + if x.unknownFields != nil { + i -= len(x.unknownFields) + copy(dAtA[i:], x.unknownFields) + } + if x.Sent { + i-- + if x.Sent { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x38 + } + if len(x.RequestId) > 0 { + i -= len(x.RequestId) + copy(dAtA[i:], x.RequestId) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.RequestId))) + i-- + dAtA[i] = 0x32 + } + if len(x.EncryptedKeyshares) > 0 { + for iNdEx := len(x.EncryptedKeyshares) - 1; iNdEx >= 0; iNdEx-- { + encoded, err := options.Marshal(x.EncryptedKeyshares[iNdEx]) + if err != nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = runtime.EncodeVarint(dAtA, i, uint64(len(encoded))) + i-- + dAtA[i] = 0x2a + } + } + if x.Counterparty != nil { + encoded, err := options.Marshal(x.Counterparty) + if err != nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = runtime.EncodeVarint(dAtA, i, uint64(len(encoded))) + i-- + dAtA[i] = 0x22 + } + if x.IbcInfo != nil { + encoded, err := options.Marshal(x.IbcInfo) + if err != nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = runtime.EncodeVarint(dAtA, i, uint64(len(encoded))) + i-- + dAtA[i] = 0x1a + } + if len(x.Pubkey) > 0 { + i -= len(x.Pubkey) + copy(dAtA[i:], x.Pubkey) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Pubkey))) + i-- + dAtA[i] = 0x12 + } + if len(x.Identity) > 0 { + i -= len(x.Identity) + copy(dAtA[i:], x.Identity) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Identity))) + i-- + dAtA[i] = 0xa + } + if input.Buf != nil { + input.Buf = append(input.Buf, dAtA...) + } else { + input.Buf = dAtA + } + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { + x := input.Message.Interface().(*PrivateKeyshareRequest) + if x == nil { + return protoiface.UnmarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Flags: input.Flags, + }, nil + } + options := runtime.UnmarshalInputToOptions(input) + _ = options + dAtA := input.Buf + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + 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++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: PrivateKeyshareRequest: wiretype end group for non-group") + } + if fieldNum <= 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: PrivateKeyshareRequest: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Identity", wireType) + } + var stringLen uint64 + 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++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + x.Identity = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Pubkey", wireType) + } + var stringLen uint64 + 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++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + x.Pubkey = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 3: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field IbcInfo", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if x.IbcInfo == nil { + x.IbcInfo = &IBCInfo{} + } + if err := options.Unmarshal(dAtA[iNdEx:postIndex], x.IbcInfo); err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + iNdEx = postIndex + case 4: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Counterparty", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if x.Counterparty == nil { + x.Counterparty = &CounterPartyIBCInfo{} + } + if err := options.Unmarshal(dAtA[iNdEx:postIndex], x.Counterparty); err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + iNdEx = postIndex + case 5: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field EncryptedKeyshares", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + x.EncryptedKeyshares = append(x.EncryptedKeyshares, &common.EncryptedKeyshare{}) + if err := options.Unmarshal(dAtA[iNdEx:postIndex], x.EncryptedKeyshares[len(x.EncryptedKeyshares)-1]); err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + iNdEx = postIndex + case 6: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field RequestId", wireType) + } + var stringLen uint64 + 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++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + x.RequestId = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 7: + if wireType != 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Sent", wireType) + } + var v int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + x.Sent = bool(v != 0) + default: + iNdEx = preIndex + skippy, err := runtime.Skip(dAtA[iNdEx:]) + if err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if !options.DiscardUnknown { + x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + } + iNdEx += skippy + } + } + + if iNdEx > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil + } + return &protoiface.Methods{ + NoUnkeyedLiterals: struct{}{}, + Flags: protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown, + Size: size, + Marshal: marshal, + Unmarshal: unmarshal, + Merge: nil, + CheckInitialized: nil, + } +} + // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.27.0 @@ -2346,6 +3245,89 @@ func (x *CounterPartyIBCInfo) GetPortID() string { return "" } +type PrivateKeyshareRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Identity string `protobuf:"bytes,1,opt,name=identity,proto3" json:"identity,omitempty"` + Pubkey string `protobuf:"bytes,2,opt,name=pubkey,proto3" json:"pubkey,omitempty"` + IbcInfo *IBCInfo `protobuf:"bytes,3,opt,name=ibc_info,json=ibcInfo,proto3" json:"ibc_info,omitempty"` // Used only when the request is made via IBC + Counterparty *CounterPartyIBCInfo `protobuf:"bytes,4,opt,name=counterparty,proto3" json:"counterparty,omitempty"` // Used only when the request is made via IBC + EncryptedKeyshares []*common.EncryptedKeyshare `protobuf:"bytes,5,rep,name=encrypted_keyshares,json=encryptedKeyshares,proto3" json:"encrypted_keyshares,omitempty"` + RequestId string `protobuf:"bytes,6,opt,name=request_id,json=requestId,proto3" json:"request_id,omitempty"` + Sent bool `protobuf:"varint,7,opt,name=sent,proto3" json:"sent,omitempty"` +} + +func (x *PrivateKeyshareRequest) Reset() { + *x = PrivateKeyshareRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_fairyring_keyshare_requested_keyshare_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PrivateKeyshareRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PrivateKeyshareRequest) ProtoMessage() {} + +// Deprecated: Use PrivateKeyshareRequest.ProtoReflect.Descriptor instead. +func (*PrivateKeyshareRequest) Descriptor() ([]byte, []int) { + return file_fairyring_keyshare_requested_keyshare_proto_rawDescGZIP(), []int{3} +} + +func (x *PrivateKeyshareRequest) GetIdentity() string { + if x != nil { + return x.Identity + } + return "" +} + +func (x *PrivateKeyshareRequest) GetPubkey() string { + if x != nil { + return x.Pubkey + } + return "" +} + +func (x *PrivateKeyshareRequest) GetIbcInfo() *IBCInfo { + if x != nil { + return x.IbcInfo + } + return nil +} + +func (x *PrivateKeyshareRequest) GetCounterparty() *CounterPartyIBCInfo { + if x != nil { + return x.Counterparty + } + return nil +} + +func (x *PrivateKeyshareRequest) GetEncryptedKeyshares() []*common.EncryptedKeyshare { + if x != nil { + return x.EncryptedKeyshares + } + return nil +} + +func (x *PrivateKeyshareRequest) GetRequestId() string { + if x != nil { + return x.RequestId + } + return "" +} + +func (x *PrivateKeyshareRequest) GetSent() bool { + if x != nil { + return x.Sent + } + return false +} + var File_fairyring_keyshare_requested_keyshare_proto protoreflect.FileDescriptor var file_fairyring_keyshare_requested_keyshare_proto_rawDesc = []byte{ @@ -2353,56 +3335,81 @@ var file_fairyring_keyshare_requested_keyshare_proto_rawDesc = []byte{ 0x68, 0x61, 0x72, 0x65, 0x2f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x65, 0x64, 0x5f, 0x6b, 0x65, 0x79, 0x73, 0x68, 0x61, 0x72, 0x65, 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, 0xc3, 0x02, 0x0a, 0x0f, 0x4b, 0x65, 0x79, 0x53, 0x68, 0x61, 0x72, 0x65, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, - 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, - 0x79, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x75, 0x62, 0x6b, 0x65, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x06, 0x70, 0x75, 0x62, 0x6b, 0x65, 0x79, 0x12, 0x36, 0x0a, 0x08, 0x69, 0x62, 0x63, - 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x66, 0x61, - 0x69, 0x72, 0x79, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x6b, 0x65, 0x79, 0x73, 0x68, 0x61, 0x72, 0x65, - 0x2e, 0x49, 0x42, 0x43, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x07, 0x69, 0x62, 0x63, 0x49, 0x6e, 0x66, - 0x6f, 0x12, 0x4b, 0x0a, 0x0c, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x61, 0x72, 0x74, - 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x66, 0x61, 0x69, 0x72, 0x79, 0x72, - 0x69, 0x6e, 0x67, 0x2e, 0x6b, 0x65, 0x79, 0x73, 0x68, 0x61, 0x72, 0x65, 0x2e, 0x43, 0x6f, 0x75, - 0x6e, 0x74, 0x65, 0x72, 0x50, 0x61, 0x72, 0x74, 0x79, 0x49, 0x42, 0x43, 0x49, 0x6e, 0x66, 0x6f, - 0x52, 0x0c, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x61, 0x72, 0x74, 0x79, 0x12, 0x23, - 0x0a, 0x0d, 0x61, 0x67, 0x67, 0x72, 0x5f, 0x6b, 0x65, 0x79, 0x73, 0x68, 0x61, 0x72, 0x65, 0x18, - 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x61, 0x67, 0x67, 0x72, 0x4b, 0x65, 0x79, 0x73, 0x68, - 0x61, 0x72, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x70, 0x72, 0x6f, 0x70, 0x6f, 0x73, 0x61, 0x6c, 0x5f, - 0x69, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x70, 0x72, 0x6f, 0x70, 0x6f, 0x73, - 0x61, 0x6c, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, - 0x69, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x65, 0x6e, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, - 0x08, 0x52, 0x04, 0x73, 0x65, 0x6e, 0x74, 0x22, 0x7f, 0x0a, 0x07, 0x49, 0x42, 0x43, 0x49, 0x6e, - 0x66, 0x6f, 0x12, 0x1a, 0x0a, 0x08, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x49, 0x44, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x49, 0x44, 0x12, 0x22, - 0x0a, 0x0c, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, - 0x49, 0x44, 0x12, 0x1c, 0x0a, 0x09, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x49, 0x44, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x49, 0x44, - 0x12, 0x16, 0x0a, 0x06, 0x50, 0x6f, 0x72, 0x74, 0x49, 0x44, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x06, 0x50, 0x6f, 0x72, 0x74, 0x49, 0x44, 0x22, 0x8b, 0x01, 0x0a, 0x13, 0x43, 0x6f, 0x75, - 0x6e, 0x74, 0x65, 0x72, 0x50, 0x61, 0x72, 0x74, 0x79, 0x49, 0x42, 0x43, 0x49, 0x6e, 0x66, 0x6f, - 0x12, 0x1a, 0x0a, 0x08, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x08, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x49, 0x44, 0x12, 0x22, 0x0a, 0x0c, - 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x0c, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, - 0x12, 0x1c, 0x0a, 0x09, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x49, 0x44, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x09, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x49, 0x44, 0x12, 0x16, - 0x0a, 0x06, 0x50, 0x6f, 0x72, 0x74, 0x49, 0x44, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, - 0x50, 0x6f, 0x72, 0x74, 0x49, 0x44, 0x42, 0xbe, 0x01, 0x0a, 0x16, 0x63, 0x6f, 0x6d, 0x2e, 0x66, + 0x65, 0x1a, 0x23, 0x66, 0x61, 0x69, 0x72, 0x79, 0x72, 0x69, 0x6e, 0x67, 0x2f, 0x63, 0x6f, 0x6d, + 0x6d, 0x6f, 0x6e, 0x2f, 0x73, 0x68, 0x61, 0x72, 0x65, 0x64, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x73, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xc3, 0x02, 0x0a, 0x0f, 0x4b, 0x65, 0x79, 0x53, 0x68, + 0x61, 0x72, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x69, 0x64, + 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x69, 0x64, + 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x75, 0x62, 0x6b, 0x65, 0x79, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x70, 0x75, 0x62, 0x6b, 0x65, 0x79, 0x12, 0x36, + 0x0a, 0x08, 0x69, 0x62, 0x63, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x1b, 0x2e, 0x66, 0x61, 0x69, 0x72, 0x79, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x6b, 0x65, 0x79, + 0x73, 0x68, 0x61, 0x72, 0x65, 0x2e, 0x49, 0x42, 0x43, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x07, 0x69, + 0x62, 0x63, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x4b, 0x0a, 0x0c, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, + 0x72, 0x70, 0x61, 0x72, 0x74, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x66, + 0x61, 0x69, 0x72, 0x79, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x6b, 0x65, 0x79, 0x73, 0x68, 0x61, 0x72, + 0x65, 0x2e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x50, 0x61, 0x72, 0x74, 0x79, 0x49, 0x42, + 0x43, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0c, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x61, + 0x72, 0x74, 0x79, 0x12, 0x23, 0x0a, 0x0d, 0x61, 0x67, 0x67, 0x72, 0x5f, 0x6b, 0x65, 0x79, 0x73, + 0x68, 0x61, 0x72, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x61, 0x67, 0x67, 0x72, + 0x4b, 0x65, 0x79, 0x73, 0x68, 0x61, 0x72, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x70, 0x72, 0x6f, 0x70, + 0x6f, 0x73, 0x61, 0x6c, 0x5f, 0x69, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x70, + 0x72, 0x6f, 0x70, 0x6f, 0x73, 0x61, 0x6c, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x72, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x72, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x65, 0x6e, 0x74, + 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x04, 0x73, 0x65, 0x6e, 0x74, 0x22, 0x7f, 0x0a, 0x07, + 0x49, 0x42, 0x43, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x1a, 0x0a, 0x08, 0x43, 0x6c, 0x69, 0x65, 0x6e, + 0x74, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x43, 0x6c, 0x69, 0x65, 0x6e, + 0x74, 0x49, 0x44, 0x12, 0x22, 0x0a, 0x0c, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x49, 0x44, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x43, 0x6f, 0x6e, 0x6e, 0x65, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x12, 0x1c, 0x0a, 0x09, 0x43, 0x68, 0x61, 0x6e, 0x6e, + 0x65, 0x6c, 0x49, 0x44, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x43, 0x68, 0x61, 0x6e, + 0x6e, 0x65, 0x6c, 0x49, 0x44, 0x12, 0x16, 0x0a, 0x06, 0x50, 0x6f, 0x72, 0x74, 0x49, 0x44, 0x18, + 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x50, 0x6f, 0x72, 0x74, 0x49, 0x44, 0x22, 0x8b, 0x01, + 0x0a, 0x13, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x50, 0x61, 0x72, 0x74, 0x79, 0x49, 0x42, + 0x43, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x1a, 0x0a, 0x08, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x49, + 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x49, + 0x44, 0x12, 0x22, 0x0a, 0x0c, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, + 0x44, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x12, 0x1c, 0x0a, 0x09, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, + 0x49, 0x44, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, + 0x6c, 0x49, 0x44, 0x12, 0x16, 0x0a, 0x06, 0x50, 0x6f, 0x72, 0x74, 0x49, 0x44, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x06, 0x50, 0x6f, 0x72, 0x74, 0x49, 0x44, 0x22, 0xda, 0x02, 0x0a, 0x16, + 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x73, 0x68, 0x61, 0x72, 0x65, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, + 0x74, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, + 0x74, 0x79, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x75, 0x62, 0x6b, 0x65, 0x79, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x06, 0x70, 0x75, 0x62, 0x6b, 0x65, 0x79, 0x12, 0x36, 0x0a, 0x08, 0x69, 0x62, + 0x63, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x66, 0x61, 0x69, 0x72, 0x79, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x6b, 0x65, 0x79, 0x73, 0x68, 0x61, 0x72, - 0x65, 0x42, 0x16, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x65, 0x64, 0x4b, 0x65, 0x79, 0x73, - 0x68, 0x61, 0x72, 0x65, 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, + 0x65, 0x2e, 0x49, 0x42, 0x43, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x07, 0x69, 0x62, 0x63, 0x49, 0x6e, + 0x66, 0x6f, 0x12, 0x4b, 0x0a, 0x0c, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x61, 0x72, + 0x74, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x66, 0x61, 0x69, 0x72, 0x79, + 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x6b, 0x65, 0x79, 0x73, 0x68, 0x61, 0x72, 0x65, 0x2e, 0x43, 0x6f, + 0x75, 0x6e, 0x74, 0x65, 0x72, 0x50, 0x61, 0x72, 0x74, 0x79, 0x49, 0x42, 0x43, 0x49, 0x6e, 0x66, + 0x6f, 0x52, 0x0c, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x61, 0x72, 0x74, 0x79, 0x12, + 0x54, 0x0a, 0x13, 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x65, 0x64, 0x5f, 0x6b, 0x65, 0x79, + 0x73, 0x68, 0x61, 0x72, 0x65, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x66, + 0x61, 0x69, 0x72, 0x79, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, + 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x65, 0x64, 0x4b, 0x65, 0x79, 0x73, 0x68, 0x61, 0x72, + 0x65, 0x52, 0x12, 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x65, 0x64, 0x4b, 0x65, 0x79, 0x73, + 0x68, 0x61, 0x72, 0x65, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x5f, 0x69, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x65, 0x6e, 0x74, 0x18, 0x07, 0x20, 0x01, + 0x28, 0x08, 0x52, 0x04, 0x73, 0x65, 0x6e, 0x74, 0x42, 0xbe, 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, 0x16, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x65, 0x64, 0x4b, 0x65, + 0x79, 0x73, 0x68, 0x61, 0x72, 0x65, 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 ( @@ -2417,20 +3424,25 @@ func file_fairyring_keyshare_requested_keyshare_proto_rawDescGZIP() []byte { return file_fairyring_keyshare_requested_keyshare_proto_rawDescData } -var file_fairyring_keyshare_requested_keyshare_proto_msgTypes = make([]protoimpl.MessageInfo, 3) +var file_fairyring_keyshare_requested_keyshare_proto_msgTypes = make([]protoimpl.MessageInfo, 4) var file_fairyring_keyshare_requested_keyshare_proto_goTypes = []interface{}{ - (*KeyShareRequest)(nil), // 0: fairyring.keyshare.KeyShareRequest - (*IBCInfo)(nil), // 1: fairyring.keyshare.IBCInfo - (*CounterPartyIBCInfo)(nil), // 2: fairyring.keyshare.CounterPartyIBCInfo + (*KeyShareRequest)(nil), // 0: fairyring.keyshare.KeyShareRequest + (*IBCInfo)(nil), // 1: fairyring.keyshare.IBCInfo + (*CounterPartyIBCInfo)(nil), // 2: fairyring.keyshare.CounterPartyIBCInfo + (*PrivateKeyshareRequest)(nil), // 3: fairyring.keyshare.PrivateKeyshareRequest + (*common.EncryptedKeyshare)(nil), // 4: fairyring.common.EncryptedKeyshare } var file_fairyring_keyshare_requested_keyshare_proto_depIdxs = []int32{ 1, // 0: fairyring.keyshare.KeyShareRequest.ibc_info:type_name -> fairyring.keyshare.IBCInfo 2, // 1: fairyring.keyshare.KeyShareRequest.counterparty:type_name -> fairyring.keyshare.CounterPartyIBCInfo - 2, // [2:2] is the sub-list for method output_type - 2, // [2:2] is the sub-list for method input_type - 2, // [2:2] is the sub-list for extension type_name - 2, // [2:2] is the sub-list for extension extendee - 0, // [0:2] is the sub-list for field type_name + 1, // 2: fairyring.keyshare.PrivateKeyshareRequest.ibc_info:type_name -> fairyring.keyshare.IBCInfo + 2, // 3: fairyring.keyshare.PrivateKeyshareRequest.counterparty:type_name -> fairyring.keyshare.CounterPartyIBCInfo + 4, // 4: fairyring.keyshare.PrivateKeyshareRequest.encrypted_keyshares:type_name -> fairyring.common.EncryptedKeyshare + 5, // [5:5] is the sub-list for method output_type + 5, // [5:5] is the sub-list for method input_type + 5, // [5:5] is the sub-list for extension type_name + 5, // [5:5] is the sub-list for extension extendee + 0, // [0:5] is the sub-list for field type_name } func init() { file_fairyring_keyshare_requested_keyshare_proto_init() } @@ -2475,6 +3487,18 @@ func file_fairyring_keyshare_requested_keyshare_proto_init() { return nil } } + file_fairyring_keyshare_requested_keyshare_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PrivateKeyshareRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } } type x struct{} out := protoimpl.TypeBuilder{ @@ -2482,7 +3506,7 @@ func file_fairyring_keyshare_requested_keyshare_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_fairyring_keyshare_requested_keyshare_proto_rawDesc, NumEnums: 0, - NumMessages: 3, + NumMessages: 4, NumExtensions: 0, NumServices: 0, }, diff --git a/api/fairyring/keyshare/tx.pulsar.go b/api/fairyring/keyshare/tx.pulsar.go index 82f75a93..4557f0dd 100644 --- a/api/fairyring/keyshare/tx.pulsar.go +++ b/api/fairyring/keyshare/tx.pulsar.go @@ -10333,6 +10333,1118 @@ func (x *fastReflection_MsgCreateGeneralKeyShareResponse) ProtoMethods() *protoi } } +var ( + md_MsgSubmitEncryptedKeyshare protoreflect.MessageDescriptor + fd_MsgSubmitEncryptedKeyshare_creator protoreflect.FieldDescriptor + fd_MsgSubmitEncryptedKeyshare_identity protoreflect.FieldDescriptor + fd_MsgSubmitEncryptedKeyshare_encryptedKeyshare protoreflect.FieldDescriptor + fd_MsgSubmitEncryptedKeyshare_keyShareIndex protoreflect.FieldDescriptor + fd_MsgSubmitEncryptedKeyshare_receivedTimestamp protoreflect.FieldDescriptor + fd_MsgSubmitEncryptedKeyshare_receivedBlockHeight protoreflect.FieldDescriptor + fd_MsgSubmitEncryptedKeyshare_requester protoreflect.FieldDescriptor +) + +func init() { + file_fairyring_keyshare_tx_proto_init() + md_MsgSubmitEncryptedKeyshare = File_fairyring_keyshare_tx_proto.Messages().ByName("MsgSubmitEncryptedKeyshare") + fd_MsgSubmitEncryptedKeyshare_creator = md_MsgSubmitEncryptedKeyshare.Fields().ByName("creator") + fd_MsgSubmitEncryptedKeyshare_identity = md_MsgSubmitEncryptedKeyshare.Fields().ByName("identity") + fd_MsgSubmitEncryptedKeyshare_encryptedKeyshare = md_MsgSubmitEncryptedKeyshare.Fields().ByName("encryptedKeyshare") + fd_MsgSubmitEncryptedKeyshare_keyShareIndex = md_MsgSubmitEncryptedKeyshare.Fields().ByName("keyShareIndex") + fd_MsgSubmitEncryptedKeyshare_receivedTimestamp = md_MsgSubmitEncryptedKeyshare.Fields().ByName("receivedTimestamp") + fd_MsgSubmitEncryptedKeyshare_receivedBlockHeight = md_MsgSubmitEncryptedKeyshare.Fields().ByName("receivedBlockHeight") + fd_MsgSubmitEncryptedKeyshare_requester = md_MsgSubmitEncryptedKeyshare.Fields().ByName("requester") +} + +var _ protoreflect.Message = (*fastReflection_MsgSubmitEncryptedKeyshare)(nil) + +type fastReflection_MsgSubmitEncryptedKeyshare MsgSubmitEncryptedKeyshare + +func (x *MsgSubmitEncryptedKeyshare) ProtoReflect() protoreflect.Message { + return (*fastReflection_MsgSubmitEncryptedKeyshare)(x) +} + +func (x *MsgSubmitEncryptedKeyshare) slowProtoReflect() protoreflect.Message { + mi := &file_fairyring_keyshare_tx_proto_msgTypes[20] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +var _fastReflection_MsgSubmitEncryptedKeyshare_messageType fastReflection_MsgSubmitEncryptedKeyshare_messageType +var _ protoreflect.MessageType = fastReflection_MsgSubmitEncryptedKeyshare_messageType{} + +type fastReflection_MsgSubmitEncryptedKeyshare_messageType struct{} + +func (x fastReflection_MsgSubmitEncryptedKeyshare_messageType) Zero() protoreflect.Message { + return (*fastReflection_MsgSubmitEncryptedKeyshare)(nil) +} +func (x fastReflection_MsgSubmitEncryptedKeyshare_messageType) New() protoreflect.Message { + return new(fastReflection_MsgSubmitEncryptedKeyshare) +} +func (x fastReflection_MsgSubmitEncryptedKeyshare_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_MsgSubmitEncryptedKeyshare +} + +// Descriptor returns message descriptor, which contains only the protobuf +// type information for the message. +func (x *fastReflection_MsgSubmitEncryptedKeyshare) Descriptor() protoreflect.MessageDescriptor { + return md_MsgSubmitEncryptedKeyshare +} + +// Type returns the message type, which encapsulates both Go and protobuf +// type information. If the Go type information is not needed, +// it is recommended that the message descriptor be used instead. +func (x *fastReflection_MsgSubmitEncryptedKeyshare) Type() protoreflect.MessageType { + return _fastReflection_MsgSubmitEncryptedKeyshare_messageType +} + +// New returns a newly allocated and mutable empty message. +func (x *fastReflection_MsgSubmitEncryptedKeyshare) New() protoreflect.Message { + return new(fastReflection_MsgSubmitEncryptedKeyshare) +} + +// Interface unwraps the message reflection interface and +// returns the underlying ProtoMessage interface. +func (x *fastReflection_MsgSubmitEncryptedKeyshare) Interface() protoreflect.ProtoMessage { + return (*MsgSubmitEncryptedKeyshare)(x) +} + +// Range iterates over every populated field in an undefined order, +// calling f for each field descriptor and value encountered. +// Range returns immediately if f returns false. +// While iterating, mutating operations may only be performed +// on the current field descriptor. +func (x *fastReflection_MsgSubmitEncryptedKeyshare) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { + if x.Creator != "" { + value := protoreflect.ValueOfString(x.Creator) + if !f(fd_MsgSubmitEncryptedKeyshare_creator, value) { + return + } + } + if x.Identity != "" { + value := protoreflect.ValueOfString(x.Identity) + if !f(fd_MsgSubmitEncryptedKeyshare_identity, value) { + return + } + } + if x.EncryptedKeyshare != "" { + value := protoreflect.ValueOfString(x.EncryptedKeyshare) + if !f(fd_MsgSubmitEncryptedKeyshare_encryptedKeyshare, value) { + return + } + } + if x.KeyShareIndex != uint64(0) { + value := protoreflect.ValueOfUint64(x.KeyShareIndex) + if !f(fd_MsgSubmitEncryptedKeyshare_keyShareIndex, value) { + return + } + } + if x.ReceivedTimestamp != uint64(0) { + value := protoreflect.ValueOfUint64(x.ReceivedTimestamp) + if !f(fd_MsgSubmitEncryptedKeyshare_receivedTimestamp, value) { + return + } + } + if x.ReceivedBlockHeight != uint64(0) { + value := protoreflect.ValueOfUint64(x.ReceivedBlockHeight) + if !f(fd_MsgSubmitEncryptedKeyshare_receivedBlockHeight, value) { + return + } + } + if x.Requester != "" { + value := protoreflect.ValueOfString(x.Requester) + if !f(fd_MsgSubmitEncryptedKeyshare_requester, value) { + return + } + } +} + +// Has reports whether a field is populated. +// +// Some fields have the property of nullability where it is possible to +// distinguish between the default value of a field and whether the field +// was explicitly populated with the default value. Singular message fields, +// member fields of a oneof, and proto2 scalar fields are nullable. Such +// fields are populated only if explicitly set. +// +// In other cases (aside from the nullable cases above), +// a proto3 scalar field is populated if it contains a non-zero value, and +// a repeated field is populated if it is non-empty. +func (x *fastReflection_MsgSubmitEncryptedKeyshare) Has(fd protoreflect.FieldDescriptor) bool { + switch fd.FullName() { + case "fairyring.keyshare.MsgSubmitEncryptedKeyshare.creator": + return x.Creator != "" + case "fairyring.keyshare.MsgSubmitEncryptedKeyshare.identity": + return x.Identity != "" + case "fairyring.keyshare.MsgSubmitEncryptedKeyshare.encryptedKeyshare": + return x.EncryptedKeyshare != "" + case "fairyring.keyshare.MsgSubmitEncryptedKeyshare.keyShareIndex": + return x.KeyShareIndex != uint64(0) + case "fairyring.keyshare.MsgSubmitEncryptedKeyshare.receivedTimestamp": + return x.ReceivedTimestamp != uint64(0) + case "fairyring.keyshare.MsgSubmitEncryptedKeyshare.receivedBlockHeight": + return x.ReceivedBlockHeight != uint64(0) + case "fairyring.keyshare.MsgSubmitEncryptedKeyshare.requester": + return x.Requester != "" + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: fairyring.keyshare.MsgSubmitEncryptedKeyshare")) + } + panic(fmt.Errorf("message fairyring.keyshare.MsgSubmitEncryptedKeyshare does not contain field %s", fd.FullName())) + } +} + +// Clear clears the field such that a subsequent Has call reports false. +// +// Clearing an extension field clears both the extension type and value +// associated with the given field number. +// +// Clear is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgSubmitEncryptedKeyshare) Clear(fd protoreflect.FieldDescriptor) { + switch fd.FullName() { + case "fairyring.keyshare.MsgSubmitEncryptedKeyshare.creator": + x.Creator = "" + case "fairyring.keyshare.MsgSubmitEncryptedKeyshare.identity": + x.Identity = "" + case "fairyring.keyshare.MsgSubmitEncryptedKeyshare.encryptedKeyshare": + x.EncryptedKeyshare = "" + case "fairyring.keyshare.MsgSubmitEncryptedKeyshare.keyShareIndex": + x.KeyShareIndex = uint64(0) + case "fairyring.keyshare.MsgSubmitEncryptedKeyshare.receivedTimestamp": + x.ReceivedTimestamp = uint64(0) + case "fairyring.keyshare.MsgSubmitEncryptedKeyshare.receivedBlockHeight": + x.ReceivedBlockHeight = uint64(0) + case "fairyring.keyshare.MsgSubmitEncryptedKeyshare.requester": + x.Requester = "" + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: fairyring.keyshare.MsgSubmitEncryptedKeyshare")) + } + panic(fmt.Errorf("message fairyring.keyshare.MsgSubmitEncryptedKeyshare does not contain field %s", fd.FullName())) + } +} + +// Get retrieves the value for a field. +// +// For unpopulated scalars, it returns the default value, where +// the default value of a bytes scalar is guaranteed to be a copy. +// For unpopulated composite types, it returns an empty, read-only view +// of the value; to obtain a mutable reference, use Mutable. +func (x *fastReflection_MsgSubmitEncryptedKeyshare) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { + switch descriptor.FullName() { + case "fairyring.keyshare.MsgSubmitEncryptedKeyshare.creator": + value := x.Creator + return protoreflect.ValueOfString(value) + case "fairyring.keyshare.MsgSubmitEncryptedKeyshare.identity": + value := x.Identity + return protoreflect.ValueOfString(value) + case "fairyring.keyshare.MsgSubmitEncryptedKeyshare.encryptedKeyshare": + value := x.EncryptedKeyshare + return protoreflect.ValueOfString(value) + case "fairyring.keyshare.MsgSubmitEncryptedKeyshare.keyShareIndex": + value := x.KeyShareIndex + return protoreflect.ValueOfUint64(value) + case "fairyring.keyshare.MsgSubmitEncryptedKeyshare.receivedTimestamp": + value := x.ReceivedTimestamp + return protoreflect.ValueOfUint64(value) + case "fairyring.keyshare.MsgSubmitEncryptedKeyshare.receivedBlockHeight": + value := x.ReceivedBlockHeight + return protoreflect.ValueOfUint64(value) + case "fairyring.keyshare.MsgSubmitEncryptedKeyshare.requester": + value := x.Requester + return protoreflect.ValueOfString(value) + default: + if descriptor.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: fairyring.keyshare.MsgSubmitEncryptedKeyshare")) + } + panic(fmt.Errorf("message fairyring.keyshare.MsgSubmitEncryptedKeyshare does not contain field %s", descriptor.FullName())) + } +} + +// Set stores the value for a field. +// +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType. +// When setting a composite type, it is unspecified whether the stored value +// aliases the source's memory in any way. If the composite value is an +// empty, read-only value, then it panics. +// +// Set is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgSubmitEncryptedKeyshare) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { + switch fd.FullName() { + case "fairyring.keyshare.MsgSubmitEncryptedKeyshare.creator": + x.Creator = value.Interface().(string) + case "fairyring.keyshare.MsgSubmitEncryptedKeyshare.identity": + x.Identity = value.Interface().(string) + case "fairyring.keyshare.MsgSubmitEncryptedKeyshare.encryptedKeyshare": + x.EncryptedKeyshare = value.Interface().(string) + case "fairyring.keyshare.MsgSubmitEncryptedKeyshare.keyShareIndex": + x.KeyShareIndex = value.Uint() + case "fairyring.keyshare.MsgSubmitEncryptedKeyshare.receivedTimestamp": + x.ReceivedTimestamp = value.Uint() + case "fairyring.keyshare.MsgSubmitEncryptedKeyshare.receivedBlockHeight": + x.ReceivedBlockHeight = value.Uint() + case "fairyring.keyshare.MsgSubmitEncryptedKeyshare.requester": + x.Requester = value.Interface().(string) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: fairyring.keyshare.MsgSubmitEncryptedKeyshare")) + } + panic(fmt.Errorf("message fairyring.keyshare.MsgSubmitEncryptedKeyshare does not contain field %s", fd.FullName())) + } +} + +// Mutable returns a mutable reference to a composite type. +// +// If the field is unpopulated, it may allocate a composite value. +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType +// if not already stored. +// It panics if the field does not contain a composite type. +// +// Mutable is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgSubmitEncryptedKeyshare) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "fairyring.keyshare.MsgSubmitEncryptedKeyshare.creator": + panic(fmt.Errorf("field creator of message fairyring.keyshare.MsgSubmitEncryptedKeyshare is not mutable")) + case "fairyring.keyshare.MsgSubmitEncryptedKeyshare.identity": + panic(fmt.Errorf("field identity of message fairyring.keyshare.MsgSubmitEncryptedKeyshare is not mutable")) + case "fairyring.keyshare.MsgSubmitEncryptedKeyshare.encryptedKeyshare": + panic(fmt.Errorf("field encryptedKeyshare of message fairyring.keyshare.MsgSubmitEncryptedKeyshare is not mutable")) + case "fairyring.keyshare.MsgSubmitEncryptedKeyshare.keyShareIndex": + panic(fmt.Errorf("field keyShareIndex of message fairyring.keyshare.MsgSubmitEncryptedKeyshare is not mutable")) + case "fairyring.keyshare.MsgSubmitEncryptedKeyshare.receivedTimestamp": + panic(fmt.Errorf("field receivedTimestamp of message fairyring.keyshare.MsgSubmitEncryptedKeyshare is not mutable")) + case "fairyring.keyshare.MsgSubmitEncryptedKeyshare.receivedBlockHeight": + panic(fmt.Errorf("field receivedBlockHeight of message fairyring.keyshare.MsgSubmitEncryptedKeyshare is not mutable")) + case "fairyring.keyshare.MsgSubmitEncryptedKeyshare.requester": + panic(fmt.Errorf("field requester of message fairyring.keyshare.MsgSubmitEncryptedKeyshare is not mutable")) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: fairyring.keyshare.MsgSubmitEncryptedKeyshare")) + } + panic(fmt.Errorf("message fairyring.keyshare.MsgSubmitEncryptedKeyshare does not contain field %s", fd.FullName())) + } +} + +// NewField returns a new value that is assignable to the field +// for the given descriptor. For scalars, this returns the default value. +// For lists, maps, and messages, this returns a new, empty, mutable value. +func (x *fastReflection_MsgSubmitEncryptedKeyshare) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "fairyring.keyshare.MsgSubmitEncryptedKeyshare.creator": + return protoreflect.ValueOfString("") + case "fairyring.keyshare.MsgSubmitEncryptedKeyshare.identity": + return protoreflect.ValueOfString("") + case "fairyring.keyshare.MsgSubmitEncryptedKeyshare.encryptedKeyshare": + return protoreflect.ValueOfString("") + case "fairyring.keyshare.MsgSubmitEncryptedKeyshare.keyShareIndex": + return protoreflect.ValueOfUint64(uint64(0)) + case "fairyring.keyshare.MsgSubmitEncryptedKeyshare.receivedTimestamp": + return protoreflect.ValueOfUint64(uint64(0)) + case "fairyring.keyshare.MsgSubmitEncryptedKeyshare.receivedBlockHeight": + return protoreflect.ValueOfUint64(uint64(0)) + case "fairyring.keyshare.MsgSubmitEncryptedKeyshare.requester": + return protoreflect.ValueOfString("") + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: fairyring.keyshare.MsgSubmitEncryptedKeyshare")) + } + panic(fmt.Errorf("message fairyring.keyshare.MsgSubmitEncryptedKeyshare does not contain field %s", fd.FullName())) + } +} + +// WhichOneof reports which field within the oneof is populated, +// returning nil if none are populated. +// It panics if the oneof descriptor does not belong to this message. +func (x *fastReflection_MsgSubmitEncryptedKeyshare) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { + switch d.FullName() { + default: + panic(fmt.Errorf("%s is not a oneof field in fairyring.keyshare.MsgSubmitEncryptedKeyshare", d.FullName())) + } + panic("unreachable") +} + +// GetUnknown retrieves the entire list of unknown fields. +// The caller may only mutate the contents of the RawFields +// if the mutated bytes are stored back into the message with SetUnknown. +func (x *fastReflection_MsgSubmitEncryptedKeyshare) GetUnknown() protoreflect.RawFields { + return x.unknownFields +} + +// SetUnknown stores an entire list of unknown fields. +// The raw fields must be syntactically valid according to the wire format. +// An implementation may panic if this is not the case. +// Once stored, the caller must not mutate the content of the RawFields. +// An empty RawFields may be passed to clear the fields. +// +// SetUnknown is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgSubmitEncryptedKeyshare) SetUnknown(fields protoreflect.RawFields) { + x.unknownFields = fields +} + +// IsValid reports whether the message is valid. +// +// An invalid message is an empty, read-only value. +// +// An invalid message often corresponds to a nil pointer of the concrete +// message type, but the details are implementation dependent. +// Validity is not part of the protobuf data model, and may not +// be preserved in marshaling or other operations. +func (x *fastReflection_MsgSubmitEncryptedKeyshare) IsValid() bool { + return x != nil +} + +// ProtoMethods returns optional fastReflectionFeature-path implementations of various operations. +// This method may return nil. +// +// The returned methods type is identical to +// "google.golang.org/protobuf/runtime/protoiface".Methods. +// Consult the protoiface package documentation for details. +func (x *fastReflection_MsgSubmitEncryptedKeyshare) ProtoMethods() *protoiface.Methods { + size := func(input protoiface.SizeInput) protoiface.SizeOutput { + x := input.Message.Interface().(*MsgSubmitEncryptedKeyshare) + if x == nil { + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: 0, + } + } + options := runtime.SizeInputToOptions(input) + _ = options + var n int + var l int + _ = l + l = len(x.Creator) + if l > 0 { + n += 1 + l + runtime.Sov(uint64(l)) + } + l = len(x.Identity) + if l > 0 { + n += 1 + l + runtime.Sov(uint64(l)) + } + l = len(x.EncryptedKeyshare) + if l > 0 { + n += 1 + l + runtime.Sov(uint64(l)) + } + if x.KeyShareIndex != 0 { + n += 1 + runtime.Sov(uint64(x.KeyShareIndex)) + } + if x.ReceivedTimestamp != 0 { + n += 1 + runtime.Sov(uint64(x.ReceivedTimestamp)) + } + if x.ReceivedBlockHeight != 0 { + n += 1 + runtime.Sov(uint64(x.ReceivedBlockHeight)) + } + l = len(x.Requester) + if l > 0 { + n += 1 + l + runtime.Sov(uint64(l)) + } + if x.unknownFields != nil { + n += len(x.unknownFields) + } + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: n, + } + } + + marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { + x := input.Message.Interface().(*MsgSubmitEncryptedKeyshare) + if x == nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + options := runtime.MarshalInputToOptions(input) + _ = options + size := options.Size(x) + dAtA := make([]byte, size) + i := len(dAtA) + _ = i + var l int + _ = l + if x.unknownFields != nil { + i -= len(x.unknownFields) + copy(dAtA[i:], x.unknownFields) + } + if len(x.Requester) > 0 { + i -= len(x.Requester) + copy(dAtA[i:], x.Requester) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Requester))) + i-- + dAtA[i] = 0x3a + } + if x.ReceivedBlockHeight != 0 { + i = runtime.EncodeVarint(dAtA, i, uint64(x.ReceivedBlockHeight)) + i-- + dAtA[i] = 0x30 + } + if x.ReceivedTimestamp != 0 { + i = runtime.EncodeVarint(dAtA, i, uint64(x.ReceivedTimestamp)) + i-- + dAtA[i] = 0x28 + } + if x.KeyShareIndex != 0 { + i = runtime.EncodeVarint(dAtA, i, uint64(x.KeyShareIndex)) + i-- + dAtA[i] = 0x20 + } + if len(x.EncryptedKeyshare) > 0 { + i -= len(x.EncryptedKeyshare) + copy(dAtA[i:], x.EncryptedKeyshare) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.EncryptedKeyshare))) + i-- + dAtA[i] = 0x1a + } + if len(x.Identity) > 0 { + i -= len(x.Identity) + copy(dAtA[i:], x.Identity) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Identity))) + i-- + dAtA[i] = 0x12 + } + if len(x.Creator) > 0 { + i -= len(x.Creator) + copy(dAtA[i:], x.Creator) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Creator))) + i-- + dAtA[i] = 0xa + } + if input.Buf != nil { + input.Buf = append(input.Buf, dAtA...) + } else { + input.Buf = dAtA + } + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { + x := input.Message.Interface().(*MsgSubmitEncryptedKeyshare) + if x == nil { + return protoiface.UnmarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Flags: input.Flags, + }, nil + } + options := runtime.UnmarshalInputToOptions(input) + _ = options + dAtA := input.Buf + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + 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++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgSubmitEncryptedKeyshare: wiretype end group for non-group") + } + if fieldNum <= 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgSubmitEncryptedKeyshare: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Creator", wireType) + } + var stringLen uint64 + 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++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + x.Creator = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Identity", wireType) + } + var stringLen uint64 + 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++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + x.Identity = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 3: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field EncryptedKeyshare", wireType) + } + var stringLen uint64 + 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++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + x.EncryptedKeyshare = 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 KeyShareIndex", wireType) + } + x.KeyShareIndex = 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.KeyShareIndex |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 5: + if wireType != 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field ReceivedTimestamp", wireType) + } + x.ReceivedTimestamp = 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.ReceivedTimestamp |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 6: + if wireType != 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field ReceivedBlockHeight", wireType) + } + x.ReceivedBlockHeight = 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.ReceivedBlockHeight |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 7: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Requester", wireType) + } + var stringLen uint64 + 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++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + x.Requester = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := runtime.Skip(dAtA[iNdEx:]) + if err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if !options.DiscardUnknown { + x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + } + iNdEx += skippy + } + } + + if iNdEx > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil + } + return &protoiface.Methods{ + NoUnkeyedLiterals: struct{}{}, + Flags: protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown, + Size: size, + Marshal: marshal, + Unmarshal: unmarshal, + Merge: nil, + CheckInitialized: nil, + } +} + +var ( + md_MsgSubmitEncryptedKeyshareResponse protoreflect.MessageDescriptor +) + +func init() { + file_fairyring_keyshare_tx_proto_init() + md_MsgSubmitEncryptedKeyshareResponse = File_fairyring_keyshare_tx_proto.Messages().ByName("MsgSubmitEncryptedKeyshareResponse") +} + +var _ protoreflect.Message = (*fastReflection_MsgSubmitEncryptedKeyshareResponse)(nil) + +type fastReflection_MsgSubmitEncryptedKeyshareResponse MsgSubmitEncryptedKeyshareResponse + +func (x *MsgSubmitEncryptedKeyshareResponse) ProtoReflect() protoreflect.Message { + return (*fastReflection_MsgSubmitEncryptedKeyshareResponse)(x) +} + +func (x *MsgSubmitEncryptedKeyshareResponse) slowProtoReflect() protoreflect.Message { + mi := &file_fairyring_keyshare_tx_proto_msgTypes[21] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +var _fastReflection_MsgSubmitEncryptedKeyshareResponse_messageType fastReflection_MsgSubmitEncryptedKeyshareResponse_messageType +var _ protoreflect.MessageType = fastReflection_MsgSubmitEncryptedKeyshareResponse_messageType{} + +type fastReflection_MsgSubmitEncryptedKeyshareResponse_messageType struct{} + +func (x fastReflection_MsgSubmitEncryptedKeyshareResponse_messageType) Zero() protoreflect.Message { + return (*fastReflection_MsgSubmitEncryptedKeyshareResponse)(nil) +} +func (x fastReflection_MsgSubmitEncryptedKeyshareResponse_messageType) New() protoreflect.Message { + return new(fastReflection_MsgSubmitEncryptedKeyshareResponse) +} +func (x fastReflection_MsgSubmitEncryptedKeyshareResponse_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_MsgSubmitEncryptedKeyshareResponse +} + +// Descriptor returns message descriptor, which contains only the protobuf +// type information for the message. +func (x *fastReflection_MsgSubmitEncryptedKeyshareResponse) Descriptor() protoreflect.MessageDescriptor { + return md_MsgSubmitEncryptedKeyshareResponse +} + +// Type returns the message type, which encapsulates both Go and protobuf +// type information. If the Go type information is not needed, +// it is recommended that the message descriptor be used instead. +func (x *fastReflection_MsgSubmitEncryptedKeyshareResponse) Type() protoreflect.MessageType { + return _fastReflection_MsgSubmitEncryptedKeyshareResponse_messageType +} + +// New returns a newly allocated and mutable empty message. +func (x *fastReflection_MsgSubmitEncryptedKeyshareResponse) New() protoreflect.Message { + return new(fastReflection_MsgSubmitEncryptedKeyshareResponse) +} + +// Interface unwraps the message reflection interface and +// returns the underlying ProtoMessage interface. +func (x *fastReflection_MsgSubmitEncryptedKeyshareResponse) Interface() protoreflect.ProtoMessage { + return (*MsgSubmitEncryptedKeyshareResponse)(x) +} + +// Range iterates over every populated field in an undefined order, +// calling f for each field descriptor and value encountered. +// Range returns immediately if f returns false. +// While iterating, mutating operations may only be performed +// on the current field descriptor. +func (x *fastReflection_MsgSubmitEncryptedKeyshareResponse) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { +} + +// Has reports whether a field is populated. +// +// Some fields have the property of nullability where it is possible to +// distinguish between the default value of a field and whether the field +// was explicitly populated with the default value. Singular message fields, +// member fields of a oneof, and proto2 scalar fields are nullable. Such +// fields are populated only if explicitly set. +// +// In other cases (aside from the nullable cases above), +// a proto3 scalar field is populated if it contains a non-zero value, and +// a repeated field is populated if it is non-empty. +func (x *fastReflection_MsgSubmitEncryptedKeyshareResponse) Has(fd protoreflect.FieldDescriptor) bool { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: fairyring.keyshare.MsgSubmitEncryptedKeyshareResponse")) + } + panic(fmt.Errorf("message fairyring.keyshare.MsgSubmitEncryptedKeyshareResponse does not contain field %s", fd.FullName())) + } +} + +// Clear clears the field such that a subsequent Has call reports false. +// +// Clearing an extension field clears both the extension type and value +// associated with the given field number. +// +// Clear is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgSubmitEncryptedKeyshareResponse) Clear(fd protoreflect.FieldDescriptor) { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: fairyring.keyshare.MsgSubmitEncryptedKeyshareResponse")) + } + panic(fmt.Errorf("message fairyring.keyshare.MsgSubmitEncryptedKeyshareResponse does not contain field %s", fd.FullName())) + } +} + +// Get retrieves the value for a field. +// +// For unpopulated scalars, it returns the default value, where +// the default value of a bytes scalar is guaranteed to be a copy. +// For unpopulated composite types, it returns an empty, read-only view +// of the value; to obtain a mutable reference, use Mutable. +func (x *fastReflection_MsgSubmitEncryptedKeyshareResponse) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { + switch descriptor.FullName() { + default: + if descriptor.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: fairyring.keyshare.MsgSubmitEncryptedKeyshareResponse")) + } + panic(fmt.Errorf("message fairyring.keyshare.MsgSubmitEncryptedKeyshareResponse does not contain field %s", descriptor.FullName())) + } +} + +// Set stores the value for a field. +// +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType. +// When setting a composite type, it is unspecified whether the stored value +// aliases the source's memory in any way. If the composite value is an +// empty, read-only value, then it panics. +// +// Set is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgSubmitEncryptedKeyshareResponse) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: fairyring.keyshare.MsgSubmitEncryptedKeyshareResponse")) + } + panic(fmt.Errorf("message fairyring.keyshare.MsgSubmitEncryptedKeyshareResponse does not contain field %s", fd.FullName())) + } +} + +// Mutable returns a mutable reference to a composite type. +// +// If the field is unpopulated, it may allocate a composite value. +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType +// if not already stored. +// It panics if the field does not contain a composite type. +// +// Mutable is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgSubmitEncryptedKeyshareResponse) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: fairyring.keyshare.MsgSubmitEncryptedKeyshareResponse")) + } + panic(fmt.Errorf("message fairyring.keyshare.MsgSubmitEncryptedKeyshareResponse does not contain field %s", fd.FullName())) + } +} + +// NewField returns a new value that is assignable to the field +// for the given descriptor. For scalars, this returns the default value. +// For lists, maps, and messages, this returns a new, empty, mutable value. +func (x *fastReflection_MsgSubmitEncryptedKeyshareResponse) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: fairyring.keyshare.MsgSubmitEncryptedKeyshareResponse")) + } + panic(fmt.Errorf("message fairyring.keyshare.MsgSubmitEncryptedKeyshareResponse does not contain field %s", fd.FullName())) + } +} + +// WhichOneof reports which field within the oneof is populated, +// returning nil if none are populated. +// It panics if the oneof descriptor does not belong to this message. +func (x *fastReflection_MsgSubmitEncryptedKeyshareResponse) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { + switch d.FullName() { + default: + panic(fmt.Errorf("%s is not a oneof field in fairyring.keyshare.MsgSubmitEncryptedKeyshareResponse", d.FullName())) + } + panic("unreachable") +} + +// GetUnknown retrieves the entire list of unknown fields. +// The caller may only mutate the contents of the RawFields +// if the mutated bytes are stored back into the message with SetUnknown. +func (x *fastReflection_MsgSubmitEncryptedKeyshareResponse) GetUnknown() protoreflect.RawFields { + return x.unknownFields +} + +// SetUnknown stores an entire list of unknown fields. +// The raw fields must be syntactically valid according to the wire format. +// An implementation may panic if this is not the case. +// Once stored, the caller must not mutate the content of the RawFields. +// An empty RawFields may be passed to clear the fields. +// +// SetUnknown is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgSubmitEncryptedKeyshareResponse) SetUnknown(fields protoreflect.RawFields) { + x.unknownFields = fields +} + +// IsValid reports whether the message is valid. +// +// An invalid message is an empty, read-only value. +// +// An invalid message often corresponds to a nil pointer of the concrete +// message type, but the details are implementation dependent. +// Validity is not part of the protobuf data model, and may not +// be preserved in marshaling or other operations. +func (x *fastReflection_MsgSubmitEncryptedKeyshareResponse) IsValid() bool { + return x != nil +} + +// ProtoMethods returns optional fastReflectionFeature-path implementations of various operations. +// This method may return nil. +// +// The returned methods type is identical to +// "google.golang.org/protobuf/runtime/protoiface".Methods. +// Consult the protoiface package documentation for details. +func (x *fastReflection_MsgSubmitEncryptedKeyshareResponse) ProtoMethods() *protoiface.Methods { + size := func(input protoiface.SizeInput) protoiface.SizeOutput { + x := input.Message.Interface().(*MsgSubmitEncryptedKeyshareResponse) + if x == nil { + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: 0, + } + } + options := runtime.SizeInputToOptions(input) + _ = options + var n int + var l int + _ = l + if x.unknownFields != nil { + n += len(x.unknownFields) + } + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: n, + } + } + + marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { + x := input.Message.Interface().(*MsgSubmitEncryptedKeyshareResponse) + if x == nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + options := runtime.MarshalInputToOptions(input) + _ = options + size := options.Size(x) + dAtA := make([]byte, size) + i := len(dAtA) + _ = i + var l int + _ = l + if x.unknownFields != nil { + i -= len(x.unknownFields) + copy(dAtA[i:], x.unknownFields) + } + if input.Buf != nil { + input.Buf = append(input.Buf, dAtA...) + } else { + input.Buf = dAtA + } + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { + x := input.Message.Interface().(*MsgSubmitEncryptedKeyshareResponse) + if x == nil { + return protoiface.UnmarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Flags: input.Flags, + }, nil + } + options := runtime.UnmarshalInputToOptions(input) + _ = options + dAtA := input.Buf + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + 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++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgSubmitEncryptedKeyshareResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgSubmitEncryptedKeyshareResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + default: + iNdEx = preIndex + skippy, err := runtime.Skip(dAtA[iNdEx:]) + if err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if !options.DiscardUnknown { + x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + } + iNdEx += skippy + } + } + + if iNdEx > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil + } + return &protoiface.Methods{ + NoUnkeyedLiterals: struct{}{}, + Flags: protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown, + Size: size, + Marshal: marshal, + Unmarshal: unmarshal, + Merge: nil, + CheckInitialized: nil, + } +} + // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.27.0 @@ -11278,6 +12390,115 @@ func (x *MsgCreateGeneralKeyShareResponse) GetErrorMessage() string { return "" } +type MsgSubmitEncryptedKeyshare struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Creator string `protobuf:"bytes,1,opt,name=creator,proto3" json:"creator,omitempty"` + Identity string `protobuf:"bytes,2,opt,name=identity,proto3" json:"identity,omitempty"` + EncryptedKeyshare string `protobuf:"bytes,3,opt,name=encryptedKeyshare,proto3" json:"encryptedKeyshare,omitempty"` + KeyShareIndex uint64 `protobuf:"varint,4,opt,name=keyShareIndex,proto3" json:"keyShareIndex,omitempty"` + ReceivedTimestamp uint64 `protobuf:"varint,5,opt,name=receivedTimestamp,proto3" json:"receivedTimestamp,omitempty"` + ReceivedBlockHeight uint64 `protobuf:"varint,6,opt,name=receivedBlockHeight,proto3" json:"receivedBlockHeight,omitempty"` + Requester string `protobuf:"bytes,7,opt,name=requester,proto3" json:"requester,omitempty"` +} + +func (x *MsgSubmitEncryptedKeyshare) Reset() { + *x = MsgSubmitEncryptedKeyshare{} + if protoimpl.UnsafeEnabled { + mi := &file_fairyring_keyshare_tx_proto_msgTypes[20] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *MsgSubmitEncryptedKeyshare) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*MsgSubmitEncryptedKeyshare) ProtoMessage() {} + +// Deprecated: Use MsgSubmitEncryptedKeyshare.ProtoReflect.Descriptor instead. +func (*MsgSubmitEncryptedKeyshare) Descriptor() ([]byte, []int) { + return file_fairyring_keyshare_tx_proto_rawDescGZIP(), []int{20} +} + +func (x *MsgSubmitEncryptedKeyshare) GetCreator() string { + if x != nil { + return x.Creator + } + return "" +} + +func (x *MsgSubmitEncryptedKeyshare) GetIdentity() string { + if x != nil { + return x.Identity + } + return "" +} + +func (x *MsgSubmitEncryptedKeyshare) GetEncryptedKeyshare() string { + if x != nil { + return x.EncryptedKeyshare + } + return "" +} + +func (x *MsgSubmitEncryptedKeyshare) GetKeyShareIndex() uint64 { + if x != nil { + return x.KeyShareIndex + } + return 0 +} + +func (x *MsgSubmitEncryptedKeyshare) GetReceivedTimestamp() uint64 { + if x != nil { + return x.ReceivedTimestamp + } + return 0 +} + +func (x *MsgSubmitEncryptedKeyshare) GetReceivedBlockHeight() uint64 { + if x != nil { + return x.ReceivedBlockHeight + } + return 0 +} + +func (x *MsgSubmitEncryptedKeyshare) GetRequester() string { + if x != nil { + return x.Requester + } + return "" +} + +type MsgSubmitEncryptedKeyshareResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *MsgSubmitEncryptedKeyshareResponse) Reset() { + *x = MsgSubmitEncryptedKeyshareResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_fairyring_keyshare_tx_proto_msgTypes[21] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *MsgSubmitEncryptedKeyshareResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*MsgSubmitEncryptedKeyshareResponse) ProtoMessage() {} + +// Deprecated: Use MsgSubmitEncryptedKeyshareResponse.ProtoReflect.Descriptor instead. +func (*MsgSubmitEncryptedKeyshareResponse) Descriptor() ([]byte, []int) { + return file_fairyring_keyshare_tx_proto_rawDescGZIP(), []int{21} +} + var File_fairyring_keyshare_tx_proto protoreflect.FileDescriptor var file_fairyring_keyshare_tx_proto_rawDesc = []byte{ @@ -11453,93 +12674,123 @@ var file_fairyring_keyshare_tx_proto_rawDesc = []byte{ 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, 0xaf, 0x09, 0x0a, 0x03, 0x4d, 0x73, 0x67, 0x12, 0x60, 0x0a, 0x0c, 0x55, 0x70, 0x64, - 0x61, 0x74, 0x65, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x23, 0x2e, 0x66, 0x61, 0x69, 0x72, + 0x65, 0x22, 0xb2, 0x02, 0x0a, 0x1a, 0x4d, 0x73, 0x67, 0x53, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x45, + 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x65, 0x64, 0x4b, 0x65, 0x79, 0x73, 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, 0x1a, 0x0a, 0x08, 0x69, 0x64, + 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x69, 0x64, + 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x2c, 0x0a, 0x11, 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70, + 0x74, 0x65, 0x64, 0x4b, 0x65, 0x79, 0x73, 0x68, 0x61, 0x72, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x11, 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x65, 0x64, 0x4b, 0x65, 0x79, 0x73, + 0x68, 0x61, 0x72, 0x65, 0x12, 0x24, 0x0a, 0x0d, 0x6b, 0x65, 0x79, 0x53, 0x68, 0x61, 0x72, 0x65, + 0x49, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x04, 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, + 0x05, 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, + 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, 0x1c, 0x0a, 0x09, 0x72, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x65, 0x72, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x72, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x65, 0x72, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, + 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x22, 0x24, 0x0a, 0x22, 0x4d, 0x73, 0x67, 0x53, 0x75, 0x62, + 0x6d, 0x69, 0x74, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x65, 0x64, 0x4b, 0x65, 0x79, 0x73, + 0x68, 0x61, 0x72, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x32, 0xb3, 0x0a, 0x0a, + 0x03, 0x4d, 0x73, 0x67, 0x12, 0x60, 0x0a, 0x0c, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x61, + 0x72, 0x61, 0x6d, 0x73, 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, 0x55, 0x70, 0x64, + 0x61, 0x74, 0x65, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 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, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x1a, 0x2b, + 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 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, 0x75, 0x0a, 0x13, 0x44, 0x65, 0x52, 0x65, 0x67, + 0x69, 0x73, 0x74, 0x65, 0x72, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x2a, 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, 0x50, 0x61, 0x72, - 0x61, 0x6d, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 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, + 0x61, 0x72, 0x65, 0x2e, 0x4d, 0x73, 0x67, 0x44, 0x65, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, + 0x72, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x1a, 0x32, 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, 0x75, 0x0a, 0x13, - 0x44, 0x65, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, - 0x74, 0x6f, 0x72, 0x12, 0x2a, 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, 0x52, 0x65, - 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x1a, - 0x32, 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, 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, + 0x4d, 0x73, 0x67, 0x44, 0x65, 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, 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, + 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, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x78, 0x0a, 0x14, 0x4f, 0x76, 0x65, - 0x72, 0x72, 0x69, 0x64, 0x65, 0x4c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x50, 0x75, 0x62, 0x4b, 0x65, - 0x79, 0x12, 0x2b, 0x2e, 0x66, 0x61, 0x69, 0x72, 0x79, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x6b, 0x65, - 0x79, 0x73, 0x68, 0x61, 0x72, 0x65, 0x2e, 0x4d, 0x73, 0x67, 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, - 0x64, 0x65, 0x4c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x50, 0x75, 0x62, 0x4b, 0x65, 0x79, 0x1a, 0x33, + 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, 0x78, 0x0a, 0x14, 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, + 0x4c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x50, 0x75, 0x62, 0x4b, 0x65, 0x79, 0x12, 0x2b, 0x2e, 0x66, + 0x61, 0x69, 0x72, 0x79, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x6b, 0x65, 0x79, 0x73, 0x68, 0x61, 0x72, + 0x65, 0x2e, 0x4d, 0x73, 0x67, 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x4c, 0x61, 0x74, + 0x65, 0x73, 0x74, 0x50, 0x75, 0x62, 0x4b, 0x65, 0x79, 0x1a, 0x33, 0x2e, 0x66, 0x61, 0x69, 0x72, + 0x79, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x6b, 0x65, 0x79, 0x73, 0x68, 0x61, 0x72, 0x65, 0x2e, 0x4d, + 0x73, 0x67, 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 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, 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 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, 0x1a, 0x05, 0x80, 0xe7, - 0xb0, 0x2a, 0x01, 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, + 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, 0x12, 0x81, 0x01, 0x0a, 0x17, 0x53, 0x75, 0x62, 0x6d, + 0x69, 0x74, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x65, 0x64, 0x4b, 0x65, 0x79, 0x73, 0x68, + 0x61, 0x72, 0x65, 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, 0x53, 0x75, 0x62, 0x6d, + 0x69, 0x74, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x65, 0x64, 0x4b, 0x65, 0x79, 0x73, 0x68, + 0x61, 0x72, 0x65, 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, 0x53, 0x75, 0x62, 0x6d, + 0x69, 0x74, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x65, 0x64, 0x4b, 0x65, 0x79, 0x73, 0x68, + 0x61, 0x72, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x1a, 0x05, 0x80, 0xe7, 0xb0, + 0x2a, 0x01, 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 ( @@ -11554,7 +12805,7 @@ func file_fairyring_keyshare_tx_proto_rawDescGZIP() []byte { return file_fairyring_keyshare_tx_proto_rawDescData } -var file_fairyring_keyshare_tx_proto_msgTypes = make([]protoimpl.MessageInfo, 20) +var file_fairyring_keyshare_tx_proto_msgTypes = make([]protoimpl.MessageInfo, 22) var file_fairyring_keyshare_tx_proto_goTypes = []interface{}{ (*MsgUpdateParams)(nil), // 0: fairyring.keyshare.MsgUpdateParams (*MsgUpdateParamsResponse)(nil), // 1: fairyring.keyshare.MsgUpdateParamsResponse @@ -11576,13 +12827,15 @@ var file_fairyring_keyshare_tx_proto_goTypes = []interface{}{ (*MsgDeleteAuthorizedAddressResponse)(nil), // 17: fairyring.keyshare.MsgDeleteAuthorizedAddressResponse (*MsgCreateGeneralKeyShare)(nil), // 18: fairyring.keyshare.MsgCreateGeneralKeyShare (*MsgCreateGeneralKeyShareResponse)(nil), // 19: fairyring.keyshare.MsgCreateGeneralKeyShareResponse - (*Params)(nil), // 20: fairyring.keyshare.Params - (*EncryptedKeyShare)(nil), // 21: fairyring.keyshare.EncryptedKeyShare + (*MsgSubmitEncryptedKeyshare)(nil), // 20: fairyring.keyshare.MsgSubmitEncryptedKeyshare + (*MsgSubmitEncryptedKeyshareResponse)(nil), // 21: fairyring.keyshare.MsgSubmitEncryptedKeyshareResponse + (*Params)(nil), // 22: fairyring.keyshare.Params + (*EncryptedKeyShare)(nil), // 23: fairyring.keyshare.EncryptedKeyShare } var file_fairyring_keyshare_tx_proto_depIdxs = []int32{ - 20, // 0: fairyring.keyshare.MsgUpdateParams.params:type_name -> fairyring.keyshare.Params - 21, // 1: fairyring.keyshare.MsgCreateLatestPubKey.encryptedKeyShares:type_name -> fairyring.keyshare.EncryptedKeyShare - 21, // 2: fairyring.keyshare.MsgOverrideLatestPubKey.encryptedKeyShares:type_name -> fairyring.keyshare.EncryptedKeyShare + 22, // 0: fairyring.keyshare.MsgUpdateParams.params:type_name -> fairyring.keyshare.Params + 23, // 1: fairyring.keyshare.MsgCreateLatestPubKey.encryptedKeyShares:type_name -> fairyring.keyshare.EncryptedKeyShare + 23, // 2: fairyring.keyshare.MsgOverrideLatestPubKey.encryptedKeyShares:type_name -> fairyring.keyshare.EncryptedKeyShare 0, // 3: fairyring.keyshare.Msg.UpdateParams:input_type -> fairyring.keyshare.MsgUpdateParams 2, // 4: fairyring.keyshare.Msg.RegisterValidator:input_type -> fairyring.keyshare.MsgRegisterValidator 4, // 5: fairyring.keyshare.Msg.DeRegisterValidator:input_type -> fairyring.keyshare.MsgDeRegisterValidator @@ -11593,18 +12846,20 @@ var file_fairyring_keyshare_tx_proto_depIdxs = []int32{ 14, // 10: fairyring.keyshare.Msg.UpdateAuthorizedAddress:input_type -> fairyring.keyshare.MsgUpdateAuthorizedAddress 16, // 11: fairyring.keyshare.Msg.DeleteAuthorizedAddress:input_type -> fairyring.keyshare.MsgDeleteAuthorizedAddress 18, // 12: fairyring.keyshare.Msg.CreateGeneralKeyShare:input_type -> fairyring.keyshare.MsgCreateGeneralKeyShare - 1, // 13: fairyring.keyshare.Msg.UpdateParams:output_type -> fairyring.keyshare.MsgUpdateParamsResponse - 3, // 14: fairyring.keyshare.Msg.RegisterValidator:output_type -> fairyring.keyshare.MsgRegisterValidatorResponse - 5, // 15: fairyring.keyshare.Msg.DeRegisterValidator:output_type -> fairyring.keyshare.MsgDeRegisterValidatorResponse - 7, // 16: fairyring.keyshare.Msg.SendKeyshare:output_type -> fairyring.keyshare.MsgSendKeyshareResponse - 9, // 17: fairyring.keyshare.Msg.CreateLatestPubKey:output_type -> fairyring.keyshare.MsgCreateLatestPubKeyResponse - 11, // 18: fairyring.keyshare.Msg.OverrideLatestPubKey:output_type -> fairyring.keyshare.MsgOverrideLatestPubKeyResponse - 13, // 19: fairyring.keyshare.Msg.CreateAuthorizedAddress:output_type -> fairyring.keyshare.MsgCreateAuthorizedAddressResponse - 15, // 20: fairyring.keyshare.Msg.UpdateAuthorizedAddress:output_type -> fairyring.keyshare.MsgUpdateAuthorizedAddressResponse - 17, // 21: fairyring.keyshare.Msg.DeleteAuthorizedAddress:output_type -> fairyring.keyshare.MsgDeleteAuthorizedAddressResponse - 19, // 22: fairyring.keyshare.Msg.CreateGeneralKeyShare:output_type -> fairyring.keyshare.MsgCreateGeneralKeyShareResponse - 13, // [13:23] is the sub-list for method output_type - 3, // [3:13] is the sub-list for method input_type + 20, // 13: fairyring.keyshare.Msg.SubmitEncryptedKeyshare:input_type -> fairyring.keyshare.MsgSubmitEncryptedKeyshare + 1, // 14: fairyring.keyshare.Msg.UpdateParams:output_type -> fairyring.keyshare.MsgUpdateParamsResponse + 3, // 15: fairyring.keyshare.Msg.RegisterValidator:output_type -> fairyring.keyshare.MsgRegisterValidatorResponse + 5, // 16: fairyring.keyshare.Msg.DeRegisterValidator:output_type -> fairyring.keyshare.MsgDeRegisterValidatorResponse + 7, // 17: fairyring.keyshare.Msg.SendKeyshare:output_type -> fairyring.keyshare.MsgSendKeyshareResponse + 9, // 18: fairyring.keyshare.Msg.CreateLatestPubKey:output_type -> fairyring.keyshare.MsgCreateLatestPubKeyResponse + 11, // 19: fairyring.keyshare.Msg.OverrideLatestPubKey:output_type -> fairyring.keyshare.MsgOverrideLatestPubKeyResponse + 13, // 20: fairyring.keyshare.Msg.CreateAuthorizedAddress:output_type -> fairyring.keyshare.MsgCreateAuthorizedAddressResponse + 15, // 21: fairyring.keyshare.Msg.UpdateAuthorizedAddress:output_type -> fairyring.keyshare.MsgUpdateAuthorizedAddressResponse + 17, // 22: fairyring.keyshare.Msg.DeleteAuthorizedAddress:output_type -> fairyring.keyshare.MsgDeleteAuthorizedAddressResponse + 19, // 23: fairyring.keyshare.Msg.CreateGeneralKeyShare:output_type -> fairyring.keyshare.MsgCreateGeneralKeyShareResponse + 21, // 24: fairyring.keyshare.Msg.SubmitEncryptedKeyshare:output_type -> fairyring.keyshare.MsgSubmitEncryptedKeyshareResponse + 14, // [14:25] is the sub-list for method output_type + 3, // [3:14] is the sub-list for method input_type 3, // [3:3] is the sub-list for extension type_name 3, // [3:3] is the sub-list for extension extendee 0, // [0:3] is the sub-list for field type_name @@ -11859,6 +13114,30 @@ func file_fairyring_keyshare_tx_proto_init() { return nil } } + file_fairyring_keyshare_tx_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*MsgSubmitEncryptedKeyshare); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_fairyring_keyshare_tx_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*MsgSubmitEncryptedKeyshareResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } } type x struct{} out := protoimpl.TypeBuilder{ @@ -11866,7 +13145,7 @@ func file_fairyring_keyshare_tx_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_fairyring_keyshare_tx_proto_rawDesc, NumEnums: 0, - NumMessages: 20, + NumMessages: 22, NumExtensions: 0, NumServices: 1, }, diff --git a/api/fairyring/keyshare/tx_grpc.pb.go b/api/fairyring/keyshare/tx_grpc.pb.go index d652067b..8aa1e8bf 100644 --- a/api/fairyring/keyshare/tx_grpc.pb.go +++ b/api/fairyring/keyshare/tx_grpc.pb.go @@ -29,6 +29,7 @@ const ( Msg_UpdateAuthorizedAddress_FullMethodName = "/fairyring.keyshare.Msg/UpdateAuthorizedAddress" Msg_DeleteAuthorizedAddress_FullMethodName = "/fairyring.keyshare.Msg/DeleteAuthorizedAddress" Msg_CreateGeneralKeyShare_FullMethodName = "/fairyring.keyshare.Msg/CreateGeneralKeyShare" + Msg_SubmitEncryptedKeyshare_FullMethodName = "/fairyring.keyshare.Msg/SubmitEncryptedKeyshare" ) // MsgClient is the client API for Msg service. @@ -48,6 +49,7 @@ type MsgClient interface { UpdateAuthorizedAddress(ctx context.Context, in *MsgUpdateAuthorizedAddress, opts ...grpc.CallOption) (*MsgUpdateAuthorizedAddressResponse, error) DeleteAuthorizedAddress(ctx context.Context, in *MsgDeleteAuthorizedAddress, opts ...grpc.CallOption) (*MsgDeleteAuthorizedAddressResponse, error) CreateGeneralKeyShare(ctx context.Context, in *MsgCreateGeneralKeyShare, opts ...grpc.CallOption) (*MsgCreateGeneralKeyShareResponse, error) + SubmitEncryptedKeyshare(ctx context.Context, in *MsgSubmitEncryptedKeyshare, opts ...grpc.CallOption) (*MsgSubmitEncryptedKeyshareResponse, error) } type msgClient struct { @@ -148,6 +150,15 @@ func (c *msgClient) CreateGeneralKeyShare(ctx context.Context, in *MsgCreateGene return out, nil } +func (c *msgClient) SubmitEncryptedKeyshare(ctx context.Context, in *MsgSubmitEncryptedKeyshare, opts ...grpc.CallOption) (*MsgSubmitEncryptedKeyshareResponse, error) { + out := new(MsgSubmitEncryptedKeyshareResponse) + err := c.cc.Invoke(ctx, Msg_SubmitEncryptedKeyshare_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + // MsgServer is the server API for Msg service. // All implementations must embed UnimplementedMsgServer // for forward compatibility @@ -165,6 +176,7 @@ type MsgServer interface { UpdateAuthorizedAddress(context.Context, *MsgUpdateAuthorizedAddress) (*MsgUpdateAuthorizedAddressResponse, error) DeleteAuthorizedAddress(context.Context, *MsgDeleteAuthorizedAddress) (*MsgDeleteAuthorizedAddressResponse, error) CreateGeneralKeyShare(context.Context, *MsgCreateGeneralKeyShare) (*MsgCreateGeneralKeyShareResponse, error) + SubmitEncryptedKeyshare(context.Context, *MsgSubmitEncryptedKeyshare) (*MsgSubmitEncryptedKeyshareResponse, error) mustEmbedUnimplementedMsgServer() } @@ -202,6 +214,9 @@ func (UnimplementedMsgServer) DeleteAuthorizedAddress(context.Context, *MsgDelet func (UnimplementedMsgServer) CreateGeneralKeyShare(context.Context, *MsgCreateGeneralKeyShare) (*MsgCreateGeneralKeyShareResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method CreateGeneralKeyShare not implemented") } +func (UnimplementedMsgServer) SubmitEncryptedKeyshare(context.Context, *MsgSubmitEncryptedKeyshare) (*MsgSubmitEncryptedKeyshareResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method SubmitEncryptedKeyshare not implemented") +} func (UnimplementedMsgServer) mustEmbedUnimplementedMsgServer() {} // UnsafeMsgServer may be embedded to opt out of forward compatibility for this service. @@ -395,6 +410,24 @@ func _Msg_CreateGeneralKeyShare_Handler(srv interface{}, ctx context.Context, de return interceptor(ctx, in, info, handler) } +func _Msg_SubmitEncryptedKeyshare_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(MsgSubmitEncryptedKeyshare) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(MsgServer).SubmitEncryptedKeyshare(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: Msg_SubmitEncryptedKeyshare_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MsgServer).SubmitEncryptedKeyshare(ctx, req.(*MsgSubmitEncryptedKeyshare)) + } + return interceptor(ctx, in, info, handler) +} + // Msg_ServiceDesc is the grpc.ServiceDesc for Msg service. // It's only intended for direct use with grpc.RegisterService, // and not to be introspected or modified (even as a copy) @@ -442,6 +475,10 @@ var Msg_ServiceDesc = grpc.ServiceDesc{ MethodName: "CreateGeneralKeyShare", Handler: _Msg_CreateGeneralKeyShare_Handler, }, + { + MethodName: "SubmitEncryptedKeyshare", + Handler: _Msg_SubmitEncryptedKeyshare_Handler, + }, }, Streams: []grpc.StreamDesc{}, Metadata: "fairyring/keyshare/tx.proto", diff --git a/api/fairyring/pep/params.pulsar.go b/api/fairyring/pep/params.pulsar.go index 316a96f5..d12c026c 100644 --- a/api/fairyring/pep/params.pulsar.go +++ b/api/fairyring/pep/params.pulsar.go @@ -119,6 +119,7 @@ var ( fd_Params_trusted_counter_parties protoreflect.FieldDescriptor fd_Params_trusted_addresses protoreflect.FieldDescriptor fd_Params_min_gas_price protoreflect.FieldDescriptor + fd_Params_private_keyshare_price protoreflect.FieldDescriptor ) func init() { @@ -129,6 +130,7 @@ func init() { fd_Params_trusted_counter_parties = md_Params.Fields().ByName("trusted_counter_parties") fd_Params_trusted_addresses = md_Params.Fields().ByName("trusted_addresses") fd_Params_min_gas_price = md_Params.Fields().ByName("min_gas_price") + fd_Params_private_keyshare_price = md_Params.Fields().ByName("private_keyshare_price") } var _ protoreflect.Message = (*fastReflection_Params)(nil) @@ -226,6 +228,12 @@ func (x *fastReflection_Params) Range(f func(protoreflect.FieldDescriptor, proto return } } + if x.PrivateKeysharePrice != nil { + value := protoreflect.ValueOfMessage(x.PrivateKeysharePrice.ProtoReflect()) + if !f(fd_Params_private_keyshare_price, value) { + return + } + } } // Has reports whether a field is populated. @@ -251,6 +259,8 @@ func (x *fastReflection_Params) Has(fd protoreflect.FieldDescriptor) bool { return len(x.TrustedAddresses) != 0 case "fairyring.pep.Params.min_gas_price": return x.MinGasPrice != nil + case "fairyring.pep.Params.private_keyshare_price": + return x.PrivateKeysharePrice != nil default: if fd.IsExtension() { panic(fmt.Errorf("proto3 declared messages do not support extensions: fairyring.pep.Params")) @@ -277,6 +287,8 @@ func (x *fastReflection_Params) Clear(fd protoreflect.FieldDescriptor) { x.TrustedAddresses = nil case "fairyring.pep.Params.min_gas_price": x.MinGasPrice = nil + case "fairyring.pep.Params.private_keyshare_price": + x.PrivateKeysharePrice = nil default: if fd.IsExtension() { panic(fmt.Errorf("proto3 declared messages do not support extensions: fairyring.pep.Params")) @@ -314,6 +326,9 @@ func (x *fastReflection_Params) Get(descriptor protoreflect.FieldDescriptor) pro case "fairyring.pep.Params.min_gas_price": value := x.MinGasPrice return protoreflect.ValueOfMessage(value.ProtoReflect()) + case "fairyring.pep.Params.private_keyshare_price": + value := x.PrivateKeysharePrice + return protoreflect.ValueOfMessage(value.ProtoReflect()) default: if descriptor.IsExtension() { panic(fmt.Errorf("proto3 declared messages do not support extensions: fairyring.pep.Params")) @@ -348,6 +363,8 @@ func (x *fastReflection_Params) Set(fd protoreflect.FieldDescriptor, value proto x.TrustedAddresses = *clv.list case "fairyring.pep.Params.min_gas_price": x.MinGasPrice = value.Message().Interface().(*v1beta1.Coin) + case "fairyring.pep.Params.private_keyshare_price": + x.PrivateKeysharePrice = value.Message().Interface().(*v1beta1.Coin) default: if fd.IsExtension() { panic(fmt.Errorf("proto3 declared messages do not support extensions: fairyring.pep.Params")) @@ -385,6 +402,11 @@ func (x *fastReflection_Params) Mutable(fd protoreflect.FieldDescriptor) protore x.MinGasPrice = new(v1beta1.Coin) } return protoreflect.ValueOfMessage(x.MinGasPrice.ProtoReflect()) + case "fairyring.pep.Params.private_keyshare_price": + if x.PrivateKeysharePrice == nil { + x.PrivateKeysharePrice = new(v1beta1.Coin) + } + return protoreflect.ValueOfMessage(x.PrivateKeysharePrice.ProtoReflect()) case "fairyring.pep.Params.keyshare_channel_id": panic(fmt.Errorf("field keyshare_channel_id of message fairyring.pep.Params is not mutable")) case "fairyring.pep.Params.is_source_chain": @@ -415,6 +437,9 @@ func (x *fastReflection_Params) NewField(fd protoreflect.FieldDescriptor) protor case "fairyring.pep.Params.min_gas_price": m := new(v1beta1.Coin) return protoreflect.ValueOfMessage(m.ProtoReflect()) + case "fairyring.pep.Params.private_keyshare_price": + m := new(v1beta1.Coin) + return protoreflect.ValueOfMessage(m.ProtoReflect()) default: if fd.IsExtension() { panic(fmt.Errorf("proto3 declared messages do not support extensions: fairyring.pep.Params")) @@ -507,6 +532,10 @@ func (x *fastReflection_Params) ProtoMethods() *protoiface.Methods { l = options.Size(x.MinGasPrice) n += 1 + l + runtime.Sov(uint64(l)) } + if x.PrivateKeysharePrice != nil { + l = options.Size(x.PrivateKeysharePrice) + n += 1 + l + runtime.Sov(uint64(l)) + } if x.unknownFields != nil { n += len(x.unknownFields) } @@ -536,6 +565,20 @@ func (x *fastReflection_Params) ProtoMethods() *protoiface.Methods { i -= len(x.unknownFields) copy(dAtA[i:], x.unknownFields) } + if x.PrivateKeysharePrice != nil { + encoded, err := options.Marshal(x.PrivateKeysharePrice) + if err != nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = runtime.EncodeVarint(dAtA, i, uint64(len(encoded))) + i-- + dAtA[i] = 0x32 + } if x.MinGasPrice != nil { encoded, err := options.Marshal(x.MinGasPrice) if err != nil { @@ -795,6 +838,42 @@ func (x *fastReflection_Params) ProtoMethods() *protoiface.Methods { return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err } iNdEx = postIndex + case 6: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field PrivateKeysharePrice", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if x.PrivateKeysharePrice == nil { + x.PrivateKeysharePrice = &v1beta1.Coin{} + } + if err := options.Unmarshal(dAtA[iNdEx:postIndex], x.PrivateKeysharePrice); err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + iNdEx = postIndex default: iNdEx = preIndex skippy, err := runtime.Skip(dAtA[iNdEx:]) @@ -1402,6 +1481,7 @@ type Params struct { TrustedCounterParties []*TrustedCounterParty `protobuf:"bytes,3,rep,name=trusted_counter_parties,json=trustedCounterParties,proto3" json:"trusted_counter_parties,omitempty"` TrustedAddresses []string `protobuf:"bytes,4,rep,name=trusted_addresses,json=trustedAddresses,proto3" json:"trusted_addresses,omitempty"` MinGasPrice *v1beta1.Coin `protobuf:"bytes,5,opt,name=min_gas_price,json=minGasPrice,proto3" json:"min_gas_price,omitempty"` + PrivateKeysharePrice *v1beta1.Coin `protobuf:"bytes,6,opt,name=private_keyshare_price,json=privateKeysharePrice,proto3" json:"private_keyshare_price,omitempty"` } func (x *Params) Reset() { @@ -1459,6 +1539,13 @@ func (x *Params) GetMinGasPrice() *v1beta1.Coin { return nil } +func (x *Params) GetPrivateKeysharePrice() *v1beta1.Coin { + if x != nil { + return x.PrivateKeysharePrice + } + return nil +} + type TrustedCounterParty struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -1520,7 +1607,7 @@ var file_fairyring_pep_params_proto_rawDesc = []byte{ 0x67, 0x6f, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x67, 0x6f, 0x67, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2f, 0x62, 0x61, 0x73, 0x65, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x63, 0x6f, 0x69, 0x6e, 0x2e, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xb9, 0x03, 0x0a, 0x06, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, + 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xad, 0x04, 0x0a, 0x06, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x4e, 0x0a, 0x13, 0x6b, 0x65, 0x79, 0x73, 0x68, 0x61, 0x72, 0x65, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x1e, 0xf2, 0xde, 0x1f, 0x1a, 0x79, 0x61, 0x6d, 0x6c, 0x3a, 0x22, 0x6b, 0x65, 0x79, 0x73, 0x68, 0x61, 0x72, 0x65, @@ -1546,26 +1633,33 @@ var file_fairyring_pep_params_proto_rawDesc = []byte{ 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, 0x6f, 0x69, 0x6e, 0x42, 0x18, 0xf2, 0xde, 0x1f, 0x14, 0x79, 0x61, 0x6d, 0x6c, 0x3a, 0x22, 0x6d, 0x69, 0x6e, 0x5f, 0x67, 0x61, 0x73, 0x5f, 0x70, 0x72, 0x69, 0x63, 0x65, 0x22, 0x52, 0x0b, 0x6d, 0x69, 0x6e, 0x47, 0x61, 0x73, 0x50, 0x72, - 0x69, 0x63, 0x65, 0x3a, 0x1b, 0x8a, 0xe7, 0xb0, 0x2a, 0x16, 0x66, 0x61, 0x69, 0x72, 0x79, 0x72, - 0x69, 0x6e, 0x67, 0x2f, 0x78, 0x2f, 0x70, 0x65, 0x70, 0x2f, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, - 0x22, 0x76, 0x0a, 0x13, 0x54, 0x72, 0x75, 0x73, 0x74, 0x65, 0x64, 0x43, 0x6f, 0x75, 0x6e, 0x74, - 0x65, 0x72, 0x50, 0x61, 0x72, 0x74, 0x79, 0x12, 0x1b, 0x0a, 0x09, 0x63, 0x6c, 0x69, 0x65, 0x6e, - 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x63, 0x6c, 0x69, 0x65, - 0x6e, 0x74, 0x49, 0x64, 0x12, 0x23, 0x0a, 0x0d, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, - 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x63, 0x6f, 0x6e, - 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x68, 0x61, - 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, - 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x49, 0x64, 0x42, 0x95, 0x01, 0x0a, 0x11, 0x63, 0x6f, 0x6d, - 0x2e, 0x66, 0x61, 0x69, 0x72, 0x79, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x70, 0x65, 0x70, 0x42, 0x0b, - 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x1e, 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, 0x70, 0x65, 0x70, 0xa2, 0x02, 0x03, - 0x46, 0x50, 0x58, 0xaa, 0x02, 0x0d, 0x46, 0x61, 0x69, 0x72, 0x79, 0x72, 0x69, 0x6e, 0x67, 0x2e, - 0x50, 0x65, 0x70, 0xca, 0x02, 0x0d, 0x46, 0x61, 0x69, 0x72, 0x79, 0x72, 0x69, 0x6e, 0x67, 0x5c, - 0x50, 0x65, 0x70, 0xe2, 0x02, 0x19, 0x46, 0x61, 0x69, 0x72, 0x79, 0x72, 0x69, 0x6e, 0x67, 0x5c, - 0x50, 0x65, 0x70, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, - 0x02, 0x0e, 0x46, 0x61, 0x69, 0x72, 0x79, 0x72, 0x69, 0x6e, 0x67, 0x3a, 0x3a, 0x50, 0x65, 0x70, - 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x69, 0x63, 0x65, 0x12, 0x72, 0x0a, 0x16, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x5f, 0x6b, + 0x65, 0x79, 0x73, 0x68, 0x61, 0x72, 0x65, 0x5f, 0x70, 0x72, 0x69, 0x63, 0x65, 0x18, 0x06, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x62, 0x61, 0x73, + 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, 0x6f, 0x69, 0x6e, 0x42, 0x21, + 0xf2, 0xde, 0x1f, 0x1d, 0x79, 0x61, 0x6d, 0x6c, 0x3a, 0x22, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, + 0x65, 0x5f, 0x6b, 0x65, 0x79, 0x73, 0x68, 0x61, 0x72, 0x65, 0x5f, 0x70, 0x72, 0x69, 0x63, 0x65, + 0x22, 0x52, 0x14, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x73, 0x68, 0x61, + 0x72, 0x65, 0x50, 0x72, 0x69, 0x63, 0x65, 0x3a, 0x1b, 0x8a, 0xe7, 0xb0, 0x2a, 0x16, 0x66, 0x61, + 0x69, 0x72, 0x79, 0x72, 0x69, 0x6e, 0x67, 0x2f, 0x78, 0x2f, 0x70, 0x65, 0x70, 0x2f, 0x50, 0x61, + 0x72, 0x61, 0x6d, 0x73, 0x22, 0x76, 0x0a, 0x13, 0x54, 0x72, 0x75, 0x73, 0x74, 0x65, 0x64, 0x43, + 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x50, 0x61, 0x72, 0x74, 0x79, 0x12, 0x1b, 0x0a, 0x09, 0x63, + 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, + 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x23, 0x0a, 0x0d, 0x63, 0x6f, 0x6e, 0x6e, + 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0c, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x1d, 0x0a, + 0x0a, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x09, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x49, 0x64, 0x42, 0x95, 0x01, 0x0a, + 0x11, 0x63, 0x6f, 0x6d, 0x2e, 0x66, 0x61, 0x69, 0x72, 0x79, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x70, + 0x65, 0x70, 0x42, 0x0b, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, + 0x01, 0x5a, 0x1e, 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, 0x70, 0x65, + 0x70, 0xa2, 0x02, 0x03, 0x46, 0x50, 0x58, 0xaa, 0x02, 0x0d, 0x46, 0x61, 0x69, 0x72, 0x79, 0x72, + 0x69, 0x6e, 0x67, 0x2e, 0x50, 0x65, 0x70, 0xca, 0x02, 0x0d, 0x46, 0x61, 0x69, 0x72, 0x79, 0x72, + 0x69, 0x6e, 0x67, 0x5c, 0x50, 0x65, 0x70, 0xe2, 0x02, 0x19, 0x46, 0x61, 0x69, 0x72, 0x79, 0x72, + 0x69, 0x6e, 0x67, 0x5c, 0x50, 0x65, 0x70, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, + 0x61, 0x74, 0x61, 0xea, 0x02, 0x0e, 0x46, 0x61, 0x69, 0x72, 0x79, 0x72, 0x69, 0x6e, 0x67, 0x3a, + 0x3a, 0x50, 0x65, 0x70, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -1589,11 +1683,12 @@ var file_fairyring_pep_params_proto_goTypes = []interface{}{ var file_fairyring_pep_params_proto_depIdxs = []int32{ 1, // 0: fairyring.pep.Params.trusted_counter_parties:type_name -> fairyring.pep.TrustedCounterParty 2, // 1: fairyring.pep.Params.min_gas_price:type_name -> cosmos.base.v1beta1.Coin - 2, // [2:2] is the sub-list for method output_type - 2, // [2:2] is the sub-list for method input_type - 2, // [2:2] is the sub-list for extension type_name - 2, // [2:2] is the sub-list for extension extendee - 0, // [0:2] is the sub-list for field type_name + 2, // 2: fairyring.pep.Params.private_keyshare_price:type_name -> cosmos.base.v1beta1.Coin + 3, // [3:3] is the sub-list for method output_type + 3, // [3:3] is the sub-list for method input_type + 3, // [3:3] is the sub-list for extension type_name + 3, // [3:3] is the sub-list for extension extendee + 0, // [0:3] is the sub-list for field type_name } func init() { file_fairyring_pep_params_proto_init() } diff --git a/api/fairyring/pep/query.pulsar.go b/api/fairyring/pep/query.pulsar.go index 89340718..04b17f56 100644 --- a/api/fairyring/pep/query.pulsar.go +++ b/api/fairyring/pep/query.pulsar.go @@ -4,6 +4,7 @@ package pep import ( _ "cosmossdk.io/api/amino" v1beta1 "cosmossdk.io/api/cosmos/base/query/v1beta1" + _ "cosmossdk.io/api/cosmos/base/v1beta1" common "github.com/Fairblock/fairyring/api/fairyring/common" fmt "fmt" runtime "github.com/cosmos/cosmos-proto/runtime" @@ -8898,6 +8899,2080 @@ func (x *fastReflection_QueryPubKeyResponse) ProtoMethods() *protoiface.Methods } } +var ( + md_QueryShowPrivateKeyshareReqRequest protoreflect.MessageDescriptor + fd_QueryShowPrivateKeyshareReqRequest_reqId protoreflect.FieldDescriptor +) + +func init() { + file_fairyring_pep_query_proto_init() + md_QueryShowPrivateKeyshareReqRequest = File_fairyring_pep_query_proto.Messages().ByName("QueryShowPrivateKeyshareReqRequest") + fd_QueryShowPrivateKeyshareReqRequest_reqId = md_QueryShowPrivateKeyshareReqRequest.Fields().ByName("reqId") +} + +var _ protoreflect.Message = (*fastReflection_QueryShowPrivateKeyshareReqRequest)(nil) + +type fastReflection_QueryShowPrivateKeyshareReqRequest QueryShowPrivateKeyshareReqRequest + +func (x *QueryShowPrivateKeyshareReqRequest) ProtoReflect() protoreflect.Message { + return (*fastReflection_QueryShowPrivateKeyshareReqRequest)(x) +} + +func (x *QueryShowPrivateKeyshareReqRequest) slowProtoReflect() protoreflect.Message { + mi := &file_fairyring_pep_query_proto_msgTypes[20] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +var _fastReflection_QueryShowPrivateKeyshareReqRequest_messageType fastReflection_QueryShowPrivateKeyshareReqRequest_messageType +var _ protoreflect.MessageType = fastReflection_QueryShowPrivateKeyshareReqRequest_messageType{} + +type fastReflection_QueryShowPrivateKeyshareReqRequest_messageType struct{} + +func (x fastReflection_QueryShowPrivateKeyshareReqRequest_messageType) Zero() protoreflect.Message { + return (*fastReflection_QueryShowPrivateKeyshareReqRequest)(nil) +} +func (x fastReflection_QueryShowPrivateKeyshareReqRequest_messageType) New() protoreflect.Message { + return new(fastReflection_QueryShowPrivateKeyshareReqRequest) +} +func (x fastReflection_QueryShowPrivateKeyshareReqRequest_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_QueryShowPrivateKeyshareReqRequest +} + +// Descriptor returns message descriptor, which contains only the protobuf +// type information for the message. +func (x *fastReflection_QueryShowPrivateKeyshareReqRequest) Descriptor() protoreflect.MessageDescriptor { + return md_QueryShowPrivateKeyshareReqRequest +} + +// Type returns the message type, which encapsulates both Go and protobuf +// type information. If the Go type information is not needed, +// it is recommended that the message descriptor be used instead. +func (x *fastReflection_QueryShowPrivateKeyshareReqRequest) Type() protoreflect.MessageType { + return _fastReflection_QueryShowPrivateKeyshareReqRequest_messageType +} + +// New returns a newly allocated and mutable empty message. +func (x *fastReflection_QueryShowPrivateKeyshareReqRequest) New() protoreflect.Message { + return new(fastReflection_QueryShowPrivateKeyshareReqRequest) +} + +// Interface unwraps the message reflection interface and +// returns the underlying ProtoMessage interface. +func (x *fastReflection_QueryShowPrivateKeyshareReqRequest) Interface() protoreflect.ProtoMessage { + return (*QueryShowPrivateKeyshareReqRequest)(x) +} + +// Range iterates over every populated field in an undefined order, +// calling f for each field descriptor and value encountered. +// Range returns immediately if f returns false. +// While iterating, mutating operations may only be performed +// on the current field descriptor. +func (x *fastReflection_QueryShowPrivateKeyshareReqRequest) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { + if x.ReqId != "" { + value := protoreflect.ValueOfString(x.ReqId) + if !f(fd_QueryShowPrivateKeyshareReqRequest_reqId, value) { + return + } + } +} + +// Has reports whether a field is populated. +// +// Some fields have the property of nullability where it is possible to +// distinguish between the default value of a field and whether the field +// was explicitly populated with the default value. Singular message fields, +// member fields of a oneof, and proto2 scalar fields are nullable. Such +// fields are populated only if explicitly set. +// +// In other cases (aside from the nullable cases above), +// a proto3 scalar field is populated if it contains a non-zero value, and +// a repeated field is populated if it is non-empty. +func (x *fastReflection_QueryShowPrivateKeyshareReqRequest) Has(fd protoreflect.FieldDescriptor) bool { + switch fd.FullName() { + case "fairyring.pep.QueryShowPrivateKeyshareReqRequest.reqId": + return x.ReqId != "" + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: fairyring.pep.QueryShowPrivateKeyshareReqRequest")) + } + panic(fmt.Errorf("message fairyring.pep.QueryShowPrivateKeyshareReqRequest does not contain field %s", fd.FullName())) + } +} + +// Clear clears the field such that a subsequent Has call reports false. +// +// Clearing an extension field clears both the extension type and value +// associated with the given field number. +// +// Clear is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_QueryShowPrivateKeyshareReqRequest) Clear(fd protoreflect.FieldDescriptor) { + switch fd.FullName() { + case "fairyring.pep.QueryShowPrivateKeyshareReqRequest.reqId": + x.ReqId = "" + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: fairyring.pep.QueryShowPrivateKeyshareReqRequest")) + } + panic(fmt.Errorf("message fairyring.pep.QueryShowPrivateKeyshareReqRequest does not contain field %s", fd.FullName())) + } +} + +// Get retrieves the value for a field. +// +// For unpopulated scalars, it returns the default value, where +// the default value of a bytes scalar is guaranteed to be a copy. +// For unpopulated composite types, it returns an empty, read-only view +// of the value; to obtain a mutable reference, use Mutable. +func (x *fastReflection_QueryShowPrivateKeyshareReqRequest) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { + switch descriptor.FullName() { + case "fairyring.pep.QueryShowPrivateKeyshareReqRequest.reqId": + value := x.ReqId + return protoreflect.ValueOfString(value) + default: + if descriptor.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: fairyring.pep.QueryShowPrivateKeyshareReqRequest")) + } + panic(fmt.Errorf("message fairyring.pep.QueryShowPrivateKeyshareReqRequest does not contain field %s", descriptor.FullName())) + } +} + +// Set stores the value for a field. +// +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType. +// When setting a composite type, it is unspecified whether the stored value +// aliases the source's memory in any way. If the composite value is an +// empty, read-only value, then it panics. +// +// Set is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_QueryShowPrivateKeyshareReqRequest) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { + switch fd.FullName() { + case "fairyring.pep.QueryShowPrivateKeyshareReqRequest.reqId": + x.ReqId = value.Interface().(string) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: fairyring.pep.QueryShowPrivateKeyshareReqRequest")) + } + panic(fmt.Errorf("message fairyring.pep.QueryShowPrivateKeyshareReqRequest does not contain field %s", fd.FullName())) + } +} + +// Mutable returns a mutable reference to a composite type. +// +// If the field is unpopulated, it may allocate a composite value. +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType +// if not already stored. +// It panics if the field does not contain a composite type. +// +// Mutable is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_QueryShowPrivateKeyshareReqRequest) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "fairyring.pep.QueryShowPrivateKeyshareReqRequest.reqId": + panic(fmt.Errorf("field reqId of message fairyring.pep.QueryShowPrivateKeyshareReqRequest is not mutable")) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: fairyring.pep.QueryShowPrivateKeyshareReqRequest")) + } + panic(fmt.Errorf("message fairyring.pep.QueryShowPrivateKeyshareReqRequest does not contain field %s", fd.FullName())) + } +} + +// NewField returns a new value that is assignable to the field +// for the given descriptor. For scalars, this returns the default value. +// For lists, maps, and messages, this returns a new, empty, mutable value. +func (x *fastReflection_QueryShowPrivateKeyshareReqRequest) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "fairyring.pep.QueryShowPrivateKeyshareReqRequest.reqId": + return protoreflect.ValueOfString("") + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: fairyring.pep.QueryShowPrivateKeyshareReqRequest")) + } + panic(fmt.Errorf("message fairyring.pep.QueryShowPrivateKeyshareReqRequest does not contain field %s", fd.FullName())) + } +} + +// WhichOneof reports which field within the oneof is populated, +// returning nil if none are populated. +// It panics if the oneof descriptor does not belong to this message. +func (x *fastReflection_QueryShowPrivateKeyshareReqRequest) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { + switch d.FullName() { + default: + panic(fmt.Errorf("%s is not a oneof field in fairyring.pep.QueryShowPrivateKeyshareReqRequest", d.FullName())) + } + panic("unreachable") +} + +// GetUnknown retrieves the entire list of unknown fields. +// The caller may only mutate the contents of the RawFields +// if the mutated bytes are stored back into the message with SetUnknown. +func (x *fastReflection_QueryShowPrivateKeyshareReqRequest) GetUnknown() protoreflect.RawFields { + return x.unknownFields +} + +// SetUnknown stores an entire list of unknown fields. +// The raw fields must be syntactically valid according to the wire format. +// An implementation may panic if this is not the case. +// Once stored, the caller must not mutate the content of the RawFields. +// An empty RawFields may be passed to clear the fields. +// +// SetUnknown is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_QueryShowPrivateKeyshareReqRequest) SetUnknown(fields protoreflect.RawFields) { + x.unknownFields = fields +} + +// IsValid reports whether the message is valid. +// +// An invalid message is an empty, read-only value. +// +// An invalid message often corresponds to a nil pointer of the concrete +// message type, but the details are implementation dependent. +// Validity is not part of the protobuf data model, and may not +// be preserved in marshaling or other operations. +func (x *fastReflection_QueryShowPrivateKeyshareReqRequest) IsValid() bool { + return x != nil +} + +// ProtoMethods returns optional fastReflectionFeature-path implementations of various operations. +// This method may return nil. +// +// The returned methods type is identical to +// "google.golang.org/protobuf/runtime/protoiface".Methods. +// Consult the protoiface package documentation for details. +func (x *fastReflection_QueryShowPrivateKeyshareReqRequest) ProtoMethods() *protoiface.Methods { + size := func(input protoiface.SizeInput) protoiface.SizeOutput { + x := input.Message.Interface().(*QueryShowPrivateKeyshareReqRequest) + if x == nil { + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: 0, + } + } + options := runtime.SizeInputToOptions(input) + _ = options + var n int + var l int + _ = l + l = len(x.ReqId) + if l > 0 { + n += 1 + l + runtime.Sov(uint64(l)) + } + if x.unknownFields != nil { + n += len(x.unknownFields) + } + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: n, + } + } + + marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { + x := input.Message.Interface().(*QueryShowPrivateKeyshareReqRequest) + if x == nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + options := runtime.MarshalInputToOptions(input) + _ = options + size := options.Size(x) + dAtA := make([]byte, size) + i := len(dAtA) + _ = i + var l int + _ = l + if x.unknownFields != nil { + i -= len(x.unknownFields) + copy(dAtA[i:], x.unknownFields) + } + if len(x.ReqId) > 0 { + i -= len(x.ReqId) + copy(dAtA[i:], x.ReqId) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.ReqId))) + i-- + dAtA[i] = 0xa + } + if input.Buf != nil { + input.Buf = append(input.Buf, dAtA...) + } else { + input.Buf = dAtA + } + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { + x := input.Message.Interface().(*QueryShowPrivateKeyshareReqRequest) + if x == nil { + return protoiface.UnmarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Flags: input.Flags, + }, nil + } + options := runtime.UnmarshalInputToOptions(input) + _ = options + dAtA := input.Buf + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + 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++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: QueryShowPrivateKeyshareReqRequest: wiretype end group for non-group") + } + if fieldNum <= 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: QueryShowPrivateKeyshareReqRequest: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field ReqId", wireType) + } + var stringLen uint64 + 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++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + x.ReqId = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := runtime.Skip(dAtA[iNdEx:]) + if err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if !options.DiscardUnknown { + x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + } + iNdEx += skippy + } + } + + if iNdEx > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil + } + return &protoiface.Methods{ + NoUnkeyedLiterals: struct{}{}, + Flags: protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown, + Size: size, + Marshal: marshal, + Unmarshal: unmarshal, + Merge: nil, + CheckInitialized: nil, + } +} + +var _ protoreflect.List = (*_QueryShowPrivateKeyshareReqResponse_5_list)(nil) + +type _QueryShowPrivateKeyshareReqResponse_5_list struct { + list *[]*common.EncryptedKeyshare +} + +func (x *_QueryShowPrivateKeyshareReqResponse_5_list) Len() int { + if x.list == nil { + return 0 + } + return len(*x.list) +} + +func (x *_QueryShowPrivateKeyshareReqResponse_5_list) Get(i int) protoreflect.Value { + return protoreflect.ValueOfMessage((*x.list)[i].ProtoReflect()) +} + +func (x *_QueryShowPrivateKeyshareReqResponse_5_list) Set(i int, value protoreflect.Value) { + valueUnwrapped := value.Message() + concreteValue := valueUnwrapped.Interface().(*common.EncryptedKeyshare) + (*x.list)[i] = concreteValue +} + +func (x *_QueryShowPrivateKeyshareReqResponse_5_list) Append(value protoreflect.Value) { + valueUnwrapped := value.Message() + concreteValue := valueUnwrapped.Interface().(*common.EncryptedKeyshare) + *x.list = append(*x.list, concreteValue) +} + +func (x *_QueryShowPrivateKeyshareReqResponse_5_list) AppendMutable() protoreflect.Value { + v := new(common.EncryptedKeyshare) + *x.list = append(*x.list, v) + return protoreflect.ValueOfMessage(v.ProtoReflect()) +} + +func (x *_QueryShowPrivateKeyshareReqResponse_5_list) Truncate(n int) { + for i := n; i < len(*x.list); i++ { + (*x.list)[i] = nil + } + *x.list = (*x.list)[:n] +} + +func (x *_QueryShowPrivateKeyshareReqResponse_5_list) NewElement() protoreflect.Value { + v := new(common.EncryptedKeyshare) + return protoreflect.ValueOfMessage(v.ProtoReflect()) +} + +func (x *_QueryShowPrivateKeyshareReqResponse_5_list) IsValid() bool { + return x.list != nil +} + +var ( + md_QueryShowPrivateKeyshareReqResponse protoreflect.MessageDescriptor + fd_QueryShowPrivateKeyshareReqResponse_creator protoreflect.FieldDescriptor + fd_QueryShowPrivateKeyshareReqResponse_req_id protoreflect.FieldDescriptor + fd_QueryShowPrivateKeyshareReqResponse_pubkey protoreflect.FieldDescriptor + fd_QueryShowPrivateKeyshareReqResponse_encrypted_keyshares protoreflect.FieldDescriptor +) + +func init() { + file_fairyring_pep_query_proto_init() + md_QueryShowPrivateKeyshareReqResponse = File_fairyring_pep_query_proto.Messages().ByName("QueryShowPrivateKeyshareReqResponse") + fd_QueryShowPrivateKeyshareReqResponse_creator = md_QueryShowPrivateKeyshareReqResponse.Fields().ByName("creator") + fd_QueryShowPrivateKeyshareReqResponse_req_id = md_QueryShowPrivateKeyshareReqResponse.Fields().ByName("req_id") + fd_QueryShowPrivateKeyshareReqResponse_pubkey = md_QueryShowPrivateKeyshareReqResponse.Fields().ByName("pubkey") + fd_QueryShowPrivateKeyshareReqResponse_encrypted_keyshares = md_QueryShowPrivateKeyshareReqResponse.Fields().ByName("encrypted_keyshares") +} + +var _ protoreflect.Message = (*fastReflection_QueryShowPrivateKeyshareReqResponse)(nil) + +type fastReflection_QueryShowPrivateKeyshareReqResponse QueryShowPrivateKeyshareReqResponse + +func (x *QueryShowPrivateKeyshareReqResponse) ProtoReflect() protoreflect.Message { + return (*fastReflection_QueryShowPrivateKeyshareReqResponse)(x) +} + +func (x *QueryShowPrivateKeyshareReqResponse) slowProtoReflect() protoreflect.Message { + mi := &file_fairyring_pep_query_proto_msgTypes[21] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +var _fastReflection_QueryShowPrivateKeyshareReqResponse_messageType fastReflection_QueryShowPrivateKeyshareReqResponse_messageType +var _ protoreflect.MessageType = fastReflection_QueryShowPrivateKeyshareReqResponse_messageType{} + +type fastReflection_QueryShowPrivateKeyshareReqResponse_messageType struct{} + +func (x fastReflection_QueryShowPrivateKeyshareReqResponse_messageType) Zero() protoreflect.Message { + return (*fastReflection_QueryShowPrivateKeyshareReqResponse)(nil) +} +func (x fastReflection_QueryShowPrivateKeyshareReqResponse_messageType) New() protoreflect.Message { + return new(fastReflection_QueryShowPrivateKeyshareReqResponse) +} +func (x fastReflection_QueryShowPrivateKeyshareReqResponse_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_QueryShowPrivateKeyshareReqResponse +} + +// Descriptor returns message descriptor, which contains only the protobuf +// type information for the message. +func (x *fastReflection_QueryShowPrivateKeyshareReqResponse) Descriptor() protoreflect.MessageDescriptor { + return md_QueryShowPrivateKeyshareReqResponse +} + +// Type returns the message type, which encapsulates both Go and protobuf +// type information. If the Go type information is not needed, +// it is recommended that the message descriptor be used instead. +func (x *fastReflection_QueryShowPrivateKeyshareReqResponse) Type() protoreflect.MessageType { + return _fastReflection_QueryShowPrivateKeyshareReqResponse_messageType +} + +// New returns a newly allocated and mutable empty message. +func (x *fastReflection_QueryShowPrivateKeyshareReqResponse) New() protoreflect.Message { + return new(fastReflection_QueryShowPrivateKeyshareReqResponse) +} + +// Interface unwraps the message reflection interface and +// returns the underlying ProtoMessage interface. +func (x *fastReflection_QueryShowPrivateKeyshareReqResponse) Interface() protoreflect.ProtoMessage { + return (*QueryShowPrivateKeyshareReqResponse)(x) +} + +// Range iterates over every populated field in an undefined order, +// calling f for each field descriptor and value encountered. +// Range returns immediately if f returns false. +// While iterating, mutating operations may only be performed +// on the current field descriptor. +func (x *fastReflection_QueryShowPrivateKeyshareReqResponse) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { + if x.Creator != "" { + value := protoreflect.ValueOfString(x.Creator) + if !f(fd_QueryShowPrivateKeyshareReqResponse_creator, value) { + return + } + } + if x.ReqId != "" { + value := protoreflect.ValueOfString(x.ReqId) + if !f(fd_QueryShowPrivateKeyshareReqResponse_req_id, value) { + return + } + } + if x.Pubkey != "" { + value := protoreflect.ValueOfString(x.Pubkey) + if !f(fd_QueryShowPrivateKeyshareReqResponse_pubkey, value) { + return + } + } + if len(x.EncryptedKeyshares) != 0 { + value := protoreflect.ValueOfList(&_QueryShowPrivateKeyshareReqResponse_5_list{list: &x.EncryptedKeyshares}) + if !f(fd_QueryShowPrivateKeyshareReqResponse_encrypted_keyshares, value) { + return + } + } +} + +// Has reports whether a field is populated. +// +// Some fields have the property of nullability where it is possible to +// distinguish between the default value of a field and whether the field +// was explicitly populated with the default value. Singular message fields, +// member fields of a oneof, and proto2 scalar fields are nullable. Such +// fields are populated only if explicitly set. +// +// In other cases (aside from the nullable cases above), +// a proto3 scalar field is populated if it contains a non-zero value, and +// a repeated field is populated if it is non-empty. +func (x *fastReflection_QueryShowPrivateKeyshareReqResponse) Has(fd protoreflect.FieldDescriptor) bool { + switch fd.FullName() { + case "fairyring.pep.QueryShowPrivateKeyshareReqResponse.creator": + return x.Creator != "" + case "fairyring.pep.QueryShowPrivateKeyshareReqResponse.req_id": + return x.ReqId != "" + case "fairyring.pep.QueryShowPrivateKeyshareReqResponse.pubkey": + return x.Pubkey != "" + case "fairyring.pep.QueryShowPrivateKeyshareReqResponse.encrypted_keyshares": + return len(x.EncryptedKeyshares) != 0 + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: fairyring.pep.QueryShowPrivateKeyshareReqResponse")) + } + panic(fmt.Errorf("message fairyring.pep.QueryShowPrivateKeyshareReqResponse does not contain field %s", fd.FullName())) + } +} + +// Clear clears the field such that a subsequent Has call reports false. +// +// Clearing an extension field clears both the extension type and value +// associated with the given field number. +// +// Clear is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_QueryShowPrivateKeyshareReqResponse) Clear(fd protoreflect.FieldDescriptor) { + switch fd.FullName() { + case "fairyring.pep.QueryShowPrivateKeyshareReqResponse.creator": + x.Creator = "" + case "fairyring.pep.QueryShowPrivateKeyshareReqResponse.req_id": + x.ReqId = "" + case "fairyring.pep.QueryShowPrivateKeyshareReqResponse.pubkey": + x.Pubkey = "" + case "fairyring.pep.QueryShowPrivateKeyshareReqResponse.encrypted_keyshares": + x.EncryptedKeyshares = nil + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: fairyring.pep.QueryShowPrivateKeyshareReqResponse")) + } + panic(fmt.Errorf("message fairyring.pep.QueryShowPrivateKeyshareReqResponse does not contain field %s", fd.FullName())) + } +} + +// Get retrieves the value for a field. +// +// For unpopulated scalars, it returns the default value, where +// the default value of a bytes scalar is guaranteed to be a copy. +// For unpopulated composite types, it returns an empty, read-only view +// of the value; to obtain a mutable reference, use Mutable. +func (x *fastReflection_QueryShowPrivateKeyshareReqResponse) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { + switch descriptor.FullName() { + case "fairyring.pep.QueryShowPrivateKeyshareReqResponse.creator": + value := x.Creator + return protoreflect.ValueOfString(value) + case "fairyring.pep.QueryShowPrivateKeyshareReqResponse.req_id": + value := x.ReqId + return protoreflect.ValueOfString(value) + case "fairyring.pep.QueryShowPrivateKeyshareReqResponse.pubkey": + value := x.Pubkey + return protoreflect.ValueOfString(value) + case "fairyring.pep.QueryShowPrivateKeyshareReqResponse.encrypted_keyshares": + if len(x.EncryptedKeyshares) == 0 { + return protoreflect.ValueOfList(&_QueryShowPrivateKeyshareReqResponse_5_list{}) + } + listValue := &_QueryShowPrivateKeyshareReqResponse_5_list{list: &x.EncryptedKeyshares} + return protoreflect.ValueOfList(listValue) + default: + if descriptor.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: fairyring.pep.QueryShowPrivateKeyshareReqResponse")) + } + panic(fmt.Errorf("message fairyring.pep.QueryShowPrivateKeyshareReqResponse does not contain field %s", descriptor.FullName())) + } +} + +// Set stores the value for a field. +// +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType. +// When setting a composite type, it is unspecified whether the stored value +// aliases the source's memory in any way. If the composite value is an +// empty, read-only value, then it panics. +// +// Set is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_QueryShowPrivateKeyshareReqResponse) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { + switch fd.FullName() { + case "fairyring.pep.QueryShowPrivateKeyshareReqResponse.creator": + x.Creator = value.Interface().(string) + case "fairyring.pep.QueryShowPrivateKeyshareReqResponse.req_id": + x.ReqId = value.Interface().(string) + case "fairyring.pep.QueryShowPrivateKeyshareReqResponse.pubkey": + x.Pubkey = value.Interface().(string) + case "fairyring.pep.QueryShowPrivateKeyshareReqResponse.encrypted_keyshares": + lv := value.List() + clv := lv.(*_QueryShowPrivateKeyshareReqResponse_5_list) + x.EncryptedKeyshares = *clv.list + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: fairyring.pep.QueryShowPrivateKeyshareReqResponse")) + } + panic(fmt.Errorf("message fairyring.pep.QueryShowPrivateKeyshareReqResponse does not contain field %s", fd.FullName())) + } +} + +// Mutable returns a mutable reference to a composite type. +// +// If the field is unpopulated, it may allocate a composite value. +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType +// if not already stored. +// It panics if the field does not contain a composite type. +// +// Mutable is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_QueryShowPrivateKeyshareReqResponse) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "fairyring.pep.QueryShowPrivateKeyshareReqResponse.encrypted_keyshares": + if x.EncryptedKeyshares == nil { + x.EncryptedKeyshares = []*common.EncryptedKeyshare{} + } + value := &_QueryShowPrivateKeyshareReqResponse_5_list{list: &x.EncryptedKeyshares} + return protoreflect.ValueOfList(value) + case "fairyring.pep.QueryShowPrivateKeyshareReqResponse.creator": + panic(fmt.Errorf("field creator of message fairyring.pep.QueryShowPrivateKeyshareReqResponse is not mutable")) + case "fairyring.pep.QueryShowPrivateKeyshareReqResponse.req_id": + panic(fmt.Errorf("field req_id of message fairyring.pep.QueryShowPrivateKeyshareReqResponse is not mutable")) + case "fairyring.pep.QueryShowPrivateKeyshareReqResponse.pubkey": + panic(fmt.Errorf("field pubkey of message fairyring.pep.QueryShowPrivateKeyshareReqResponse is not mutable")) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: fairyring.pep.QueryShowPrivateKeyshareReqResponse")) + } + panic(fmt.Errorf("message fairyring.pep.QueryShowPrivateKeyshareReqResponse does not contain field %s", fd.FullName())) + } +} + +// NewField returns a new value that is assignable to the field +// for the given descriptor. For scalars, this returns the default value. +// For lists, maps, and messages, this returns a new, empty, mutable value. +func (x *fastReflection_QueryShowPrivateKeyshareReqResponse) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "fairyring.pep.QueryShowPrivateKeyshareReqResponse.creator": + return protoreflect.ValueOfString("") + case "fairyring.pep.QueryShowPrivateKeyshareReqResponse.req_id": + return protoreflect.ValueOfString("") + case "fairyring.pep.QueryShowPrivateKeyshareReqResponse.pubkey": + return protoreflect.ValueOfString("") + case "fairyring.pep.QueryShowPrivateKeyshareReqResponse.encrypted_keyshares": + list := []*common.EncryptedKeyshare{} + return protoreflect.ValueOfList(&_QueryShowPrivateKeyshareReqResponse_5_list{list: &list}) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: fairyring.pep.QueryShowPrivateKeyshareReqResponse")) + } + panic(fmt.Errorf("message fairyring.pep.QueryShowPrivateKeyshareReqResponse does not contain field %s", fd.FullName())) + } +} + +// WhichOneof reports which field within the oneof is populated, +// returning nil if none are populated. +// It panics if the oneof descriptor does not belong to this message. +func (x *fastReflection_QueryShowPrivateKeyshareReqResponse) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { + switch d.FullName() { + default: + panic(fmt.Errorf("%s is not a oneof field in fairyring.pep.QueryShowPrivateKeyshareReqResponse", d.FullName())) + } + panic("unreachable") +} + +// GetUnknown retrieves the entire list of unknown fields. +// The caller may only mutate the contents of the RawFields +// if the mutated bytes are stored back into the message with SetUnknown. +func (x *fastReflection_QueryShowPrivateKeyshareReqResponse) GetUnknown() protoreflect.RawFields { + return x.unknownFields +} + +// SetUnknown stores an entire list of unknown fields. +// The raw fields must be syntactically valid according to the wire format. +// An implementation may panic if this is not the case. +// Once stored, the caller must not mutate the content of the RawFields. +// An empty RawFields may be passed to clear the fields. +// +// SetUnknown is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_QueryShowPrivateKeyshareReqResponse) SetUnknown(fields protoreflect.RawFields) { + x.unknownFields = fields +} + +// IsValid reports whether the message is valid. +// +// An invalid message is an empty, read-only value. +// +// An invalid message often corresponds to a nil pointer of the concrete +// message type, but the details are implementation dependent. +// Validity is not part of the protobuf data model, and may not +// be preserved in marshaling or other operations. +func (x *fastReflection_QueryShowPrivateKeyshareReqResponse) IsValid() bool { + return x != nil +} + +// ProtoMethods returns optional fastReflectionFeature-path implementations of various operations. +// This method may return nil. +// +// The returned methods type is identical to +// "google.golang.org/protobuf/runtime/protoiface".Methods. +// Consult the protoiface package documentation for details. +func (x *fastReflection_QueryShowPrivateKeyshareReqResponse) ProtoMethods() *protoiface.Methods { + size := func(input protoiface.SizeInput) protoiface.SizeOutput { + x := input.Message.Interface().(*QueryShowPrivateKeyshareReqResponse) + if x == nil { + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: 0, + } + } + options := runtime.SizeInputToOptions(input) + _ = options + var n int + var l int + _ = l + l = len(x.Creator) + if l > 0 { + n += 1 + l + runtime.Sov(uint64(l)) + } + l = len(x.ReqId) + if l > 0 { + n += 1 + l + runtime.Sov(uint64(l)) + } + l = len(x.Pubkey) + if l > 0 { + n += 1 + l + runtime.Sov(uint64(l)) + } + if len(x.EncryptedKeyshares) > 0 { + for _, e := range x.EncryptedKeyshares { + l = options.Size(e) + n += 1 + l + runtime.Sov(uint64(l)) + } + } + if x.unknownFields != nil { + n += len(x.unknownFields) + } + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: n, + } + } + + marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { + x := input.Message.Interface().(*QueryShowPrivateKeyshareReqResponse) + if x == nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + options := runtime.MarshalInputToOptions(input) + _ = options + size := options.Size(x) + dAtA := make([]byte, size) + i := len(dAtA) + _ = i + var l int + _ = l + if x.unknownFields != nil { + i -= len(x.unknownFields) + copy(dAtA[i:], x.unknownFields) + } + if len(x.EncryptedKeyshares) > 0 { + for iNdEx := len(x.EncryptedKeyshares) - 1; iNdEx >= 0; iNdEx-- { + encoded, err := options.Marshal(x.EncryptedKeyshares[iNdEx]) + if err != nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = runtime.EncodeVarint(dAtA, i, uint64(len(encoded))) + i-- + dAtA[i] = 0x2a + } + } + if len(x.Pubkey) > 0 { + i -= len(x.Pubkey) + copy(dAtA[i:], x.Pubkey) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Pubkey))) + i-- + dAtA[i] = 0x1a + } + if len(x.ReqId) > 0 { + i -= len(x.ReqId) + copy(dAtA[i:], x.ReqId) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.ReqId))) + i-- + dAtA[i] = 0x12 + } + if len(x.Creator) > 0 { + i -= len(x.Creator) + copy(dAtA[i:], x.Creator) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Creator))) + i-- + dAtA[i] = 0xa + } + if input.Buf != nil { + input.Buf = append(input.Buf, dAtA...) + } else { + input.Buf = dAtA + } + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { + x := input.Message.Interface().(*QueryShowPrivateKeyshareReqResponse) + if x == nil { + return protoiface.UnmarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Flags: input.Flags, + }, nil + } + options := runtime.UnmarshalInputToOptions(input) + _ = options + dAtA := input.Buf + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + 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++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: QueryShowPrivateKeyshareReqResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: QueryShowPrivateKeyshareReqResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Creator", wireType) + } + var stringLen uint64 + 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++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + x.Creator = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field ReqId", wireType) + } + var stringLen uint64 + 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++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + x.ReqId = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 3: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Pubkey", wireType) + } + var stringLen uint64 + 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++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + x.Pubkey = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 5: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field EncryptedKeyshares", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + x.EncryptedKeyshares = append(x.EncryptedKeyshares, &common.EncryptedKeyshare{}) + if err := options.Unmarshal(dAtA[iNdEx:postIndex], x.EncryptedKeyshares[len(x.EncryptedKeyshares)-1]); err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := runtime.Skip(dAtA[iNdEx:]) + if err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if !options.DiscardUnknown { + x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + } + iNdEx += skippy + } + } + + if iNdEx > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil + } + return &protoiface.Methods{ + NoUnkeyedLiterals: struct{}{}, + Flags: protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown, + Size: size, + Marshal: marshal, + Unmarshal: unmarshal, + Merge: nil, + CheckInitialized: nil, + } +} + +var ( + md_QueryDecryptDataRequest protoreflect.MessageDescriptor + fd_QueryDecryptDataRequest_pubkey protoreflect.FieldDescriptor + fd_QueryDecryptDataRequest_aggrKeyshare protoreflect.FieldDescriptor + fd_QueryDecryptDataRequest_encryptedData protoreflect.FieldDescriptor +) + +func init() { + file_fairyring_pep_query_proto_init() + md_QueryDecryptDataRequest = File_fairyring_pep_query_proto.Messages().ByName("QueryDecryptDataRequest") + fd_QueryDecryptDataRequest_pubkey = md_QueryDecryptDataRequest.Fields().ByName("pubkey") + fd_QueryDecryptDataRequest_aggrKeyshare = md_QueryDecryptDataRequest.Fields().ByName("aggrKeyshare") + fd_QueryDecryptDataRequest_encryptedData = md_QueryDecryptDataRequest.Fields().ByName("encryptedData") +} + +var _ protoreflect.Message = (*fastReflection_QueryDecryptDataRequest)(nil) + +type fastReflection_QueryDecryptDataRequest QueryDecryptDataRequest + +func (x *QueryDecryptDataRequest) ProtoReflect() protoreflect.Message { + return (*fastReflection_QueryDecryptDataRequest)(x) +} + +func (x *QueryDecryptDataRequest) slowProtoReflect() protoreflect.Message { + mi := &file_fairyring_pep_query_proto_msgTypes[22] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +var _fastReflection_QueryDecryptDataRequest_messageType fastReflection_QueryDecryptDataRequest_messageType +var _ protoreflect.MessageType = fastReflection_QueryDecryptDataRequest_messageType{} + +type fastReflection_QueryDecryptDataRequest_messageType struct{} + +func (x fastReflection_QueryDecryptDataRequest_messageType) Zero() protoreflect.Message { + return (*fastReflection_QueryDecryptDataRequest)(nil) +} +func (x fastReflection_QueryDecryptDataRequest_messageType) New() protoreflect.Message { + return new(fastReflection_QueryDecryptDataRequest) +} +func (x fastReflection_QueryDecryptDataRequest_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_QueryDecryptDataRequest +} + +// Descriptor returns message descriptor, which contains only the protobuf +// type information for the message. +func (x *fastReflection_QueryDecryptDataRequest) Descriptor() protoreflect.MessageDescriptor { + return md_QueryDecryptDataRequest +} + +// Type returns the message type, which encapsulates both Go and protobuf +// type information. If the Go type information is not needed, +// it is recommended that the message descriptor be used instead. +func (x *fastReflection_QueryDecryptDataRequest) Type() protoreflect.MessageType { + return _fastReflection_QueryDecryptDataRequest_messageType +} + +// New returns a newly allocated and mutable empty message. +func (x *fastReflection_QueryDecryptDataRequest) New() protoreflect.Message { + return new(fastReflection_QueryDecryptDataRequest) +} + +// Interface unwraps the message reflection interface and +// returns the underlying ProtoMessage interface. +func (x *fastReflection_QueryDecryptDataRequest) Interface() protoreflect.ProtoMessage { + return (*QueryDecryptDataRequest)(x) +} + +// Range iterates over every populated field in an undefined order, +// calling f for each field descriptor and value encountered. +// Range returns immediately if f returns false. +// While iterating, mutating operations may only be performed +// on the current field descriptor. +func (x *fastReflection_QueryDecryptDataRequest) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { + if x.Pubkey != "" { + value := protoreflect.ValueOfString(x.Pubkey) + if !f(fd_QueryDecryptDataRequest_pubkey, value) { + return + } + } + if x.AggrKeyshare != "" { + value := protoreflect.ValueOfString(x.AggrKeyshare) + if !f(fd_QueryDecryptDataRequest_aggrKeyshare, value) { + return + } + } + if x.EncryptedData != "" { + value := protoreflect.ValueOfString(x.EncryptedData) + if !f(fd_QueryDecryptDataRequest_encryptedData, value) { + return + } + } +} + +// Has reports whether a field is populated. +// +// Some fields have the property of nullability where it is possible to +// distinguish between the default value of a field and whether the field +// was explicitly populated with the default value. Singular message fields, +// member fields of a oneof, and proto2 scalar fields are nullable. Such +// fields are populated only if explicitly set. +// +// In other cases (aside from the nullable cases above), +// a proto3 scalar field is populated if it contains a non-zero value, and +// a repeated field is populated if it is non-empty. +func (x *fastReflection_QueryDecryptDataRequest) Has(fd protoreflect.FieldDescriptor) bool { + switch fd.FullName() { + case "fairyring.pep.QueryDecryptDataRequest.pubkey": + return x.Pubkey != "" + case "fairyring.pep.QueryDecryptDataRequest.aggrKeyshare": + return x.AggrKeyshare != "" + case "fairyring.pep.QueryDecryptDataRequest.encryptedData": + return x.EncryptedData != "" + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: fairyring.pep.QueryDecryptDataRequest")) + } + panic(fmt.Errorf("message fairyring.pep.QueryDecryptDataRequest does not contain field %s", fd.FullName())) + } +} + +// Clear clears the field such that a subsequent Has call reports false. +// +// Clearing an extension field clears both the extension type and value +// associated with the given field number. +// +// Clear is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_QueryDecryptDataRequest) Clear(fd protoreflect.FieldDescriptor) { + switch fd.FullName() { + case "fairyring.pep.QueryDecryptDataRequest.pubkey": + x.Pubkey = "" + case "fairyring.pep.QueryDecryptDataRequest.aggrKeyshare": + x.AggrKeyshare = "" + case "fairyring.pep.QueryDecryptDataRequest.encryptedData": + x.EncryptedData = "" + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: fairyring.pep.QueryDecryptDataRequest")) + } + panic(fmt.Errorf("message fairyring.pep.QueryDecryptDataRequest does not contain field %s", fd.FullName())) + } +} + +// Get retrieves the value for a field. +// +// For unpopulated scalars, it returns the default value, where +// the default value of a bytes scalar is guaranteed to be a copy. +// For unpopulated composite types, it returns an empty, read-only view +// of the value; to obtain a mutable reference, use Mutable. +func (x *fastReflection_QueryDecryptDataRequest) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { + switch descriptor.FullName() { + case "fairyring.pep.QueryDecryptDataRequest.pubkey": + value := x.Pubkey + return protoreflect.ValueOfString(value) + case "fairyring.pep.QueryDecryptDataRequest.aggrKeyshare": + value := x.AggrKeyshare + return protoreflect.ValueOfString(value) + case "fairyring.pep.QueryDecryptDataRequest.encryptedData": + value := x.EncryptedData + return protoreflect.ValueOfString(value) + default: + if descriptor.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: fairyring.pep.QueryDecryptDataRequest")) + } + panic(fmt.Errorf("message fairyring.pep.QueryDecryptDataRequest does not contain field %s", descriptor.FullName())) + } +} + +// Set stores the value for a field. +// +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType. +// When setting a composite type, it is unspecified whether the stored value +// aliases the source's memory in any way. If the composite value is an +// empty, read-only value, then it panics. +// +// Set is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_QueryDecryptDataRequest) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { + switch fd.FullName() { + case "fairyring.pep.QueryDecryptDataRequest.pubkey": + x.Pubkey = value.Interface().(string) + case "fairyring.pep.QueryDecryptDataRequest.aggrKeyshare": + x.AggrKeyshare = value.Interface().(string) + case "fairyring.pep.QueryDecryptDataRequest.encryptedData": + x.EncryptedData = value.Interface().(string) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: fairyring.pep.QueryDecryptDataRequest")) + } + panic(fmt.Errorf("message fairyring.pep.QueryDecryptDataRequest does not contain field %s", fd.FullName())) + } +} + +// Mutable returns a mutable reference to a composite type. +// +// If the field is unpopulated, it may allocate a composite value. +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType +// if not already stored. +// It panics if the field does not contain a composite type. +// +// Mutable is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_QueryDecryptDataRequest) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "fairyring.pep.QueryDecryptDataRequest.pubkey": + panic(fmt.Errorf("field pubkey of message fairyring.pep.QueryDecryptDataRequest is not mutable")) + case "fairyring.pep.QueryDecryptDataRequest.aggrKeyshare": + panic(fmt.Errorf("field aggrKeyshare of message fairyring.pep.QueryDecryptDataRequest is not mutable")) + case "fairyring.pep.QueryDecryptDataRequest.encryptedData": + panic(fmt.Errorf("field encryptedData of message fairyring.pep.QueryDecryptDataRequest is not mutable")) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: fairyring.pep.QueryDecryptDataRequest")) + } + panic(fmt.Errorf("message fairyring.pep.QueryDecryptDataRequest does not contain field %s", fd.FullName())) + } +} + +// NewField returns a new value that is assignable to the field +// for the given descriptor. For scalars, this returns the default value. +// For lists, maps, and messages, this returns a new, empty, mutable value. +func (x *fastReflection_QueryDecryptDataRequest) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "fairyring.pep.QueryDecryptDataRequest.pubkey": + return protoreflect.ValueOfString("") + case "fairyring.pep.QueryDecryptDataRequest.aggrKeyshare": + return protoreflect.ValueOfString("") + case "fairyring.pep.QueryDecryptDataRequest.encryptedData": + return protoreflect.ValueOfString("") + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: fairyring.pep.QueryDecryptDataRequest")) + } + panic(fmt.Errorf("message fairyring.pep.QueryDecryptDataRequest does not contain field %s", fd.FullName())) + } +} + +// WhichOneof reports which field within the oneof is populated, +// returning nil if none are populated. +// It panics if the oneof descriptor does not belong to this message. +func (x *fastReflection_QueryDecryptDataRequest) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { + switch d.FullName() { + default: + panic(fmt.Errorf("%s is not a oneof field in fairyring.pep.QueryDecryptDataRequest", d.FullName())) + } + panic("unreachable") +} + +// GetUnknown retrieves the entire list of unknown fields. +// The caller may only mutate the contents of the RawFields +// if the mutated bytes are stored back into the message with SetUnknown. +func (x *fastReflection_QueryDecryptDataRequest) GetUnknown() protoreflect.RawFields { + return x.unknownFields +} + +// SetUnknown stores an entire list of unknown fields. +// The raw fields must be syntactically valid according to the wire format. +// An implementation may panic if this is not the case. +// Once stored, the caller must not mutate the content of the RawFields. +// An empty RawFields may be passed to clear the fields. +// +// SetUnknown is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_QueryDecryptDataRequest) SetUnknown(fields protoreflect.RawFields) { + x.unknownFields = fields +} + +// IsValid reports whether the message is valid. +// +// An invalid message is an empty, read-only value. +// +// An invalid message often corresponds to a nil pointer of the concrete +// message type, but the details are implementation dependent. +// Validity is not part of the protobuf data model, and may not +// be preserved in marshaling or other operations. +func (x *fastReflection_QueryDecryptDataRequest) IsValid() bool { + return x != nil +} + +// ProtoMethods returns optional fastReflectionFeature-path implementations of various operations. +// This method may return nil. +// +// The returned methods type is identical to +// "google.golang.org/protobuf/runtime/protoiface".Methods. +// Consult the protoiface package documentation for details. +func (x *fastReflection_QueryDecryptDataRequest) ProtoMethods() *protoiface.Methods { + size := func(input protoiface.SizeInput) protoiface.SizeOutput { + x := input.Message.Interface().(*QueryDecryptDataRequest) + if x == nil { + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: 0, + } + } + options := runtime.SizeInputToOptions(input) + _ = options + var n int + var l int + _ = l + l = len(x.Pubkey) + if l > 0 { + n += 1 + l + runtime.Sov(uint64(l)) + } + l = len(x.AggrKeyshare) + if l > 0 { + n += 1 + l + runtime.Sov(uint64(l)) + } + l = len(x.EncryptedData) + if l > 0 { + n += 1 + l + runtime.Sov(uint64(l)) + } + if x.unknownFields != nil { + n += len(x.unknownFields) + } + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: n, + } + } + + marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { + x := input.Message.Interface().(*QueryDecryptDataRequest) + if x == nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + options := runtime.MarshalInputToOptions(input) + _ = options + size := options.Size(x) + dAtA := make([]byte, size) + i := len(dAtA) + _ = i + var l int + _ = l + if x.unknownFields != nil { + i -= len(x.unknownFields) + copy(dAtA[i:], x.unknownFields) + } + if len(x.EncryptedData) > 0 { + i -= len(x.EncryptedData) + copy(dAtA[i:], x.EncryptedData) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.EncryptedData))) + i-- + dAtA[i] = 0x1a + } + if len(x.AggrKeyshare) > 0 { + i -= len(x.AggrKeyshare) + copy(dAtA[i:], x.AggrKeyshare) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.AggrKeyshare))) + i-- + dAtA[i] = 0x12 + } + if len(x.Pubkey) > 0 { + i -= len(x.Pubkey) + copy(dAtA[i:], x.Pubkey) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Pubkey))) + i-- + dAtA[i] = 0xa + } + if input.Buf != nil { + input.Buf = append(input.Buf, dAtA...) + } else { + input.Buf = dAtA + } + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { + x := input.Message.Interface().(*QueryDecryptDataRequest) + if x == nil { + return protoiface.UnmarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Flags: input.Flags, + }, nil + } + options := runtime.UnmarshalInputToOptions(input) + _ = options + dAtA := input.Buf + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + 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++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: QueryDecryptDataRequest: wiretype end group for non-group") + } + if fieldNum <= 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: QueryDecryptDataRequest: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Pubkey", wireType) + } + var stringLen uint64 + 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++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + x.Pubkey = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field AggrKeyshare", wireType) + } + var stringLen uint64 + 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++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + x.AggrKeyshare = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 3: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field EncryptedData", wireType) + } + var stringLen uint64 + 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++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + x.EncryptedData = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := runtime.Skip(dAtA[iNdEx:]) + if err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if !options.DiscardUnknown { + x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + } + iNdEx += skippy + } + } + + if iNdEx > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil + } + return &protoiface.Methods{ + NoUnkeyedLiterals: struct{}{}, + Flags: protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown, + Size: size, + Marshal: marshal, + Unmarshal: unmarshal, + Merge: nil, + CheckInitialized: nil, + } +} + +var ( + md_QueryDecryptDataResponse protoreflect.MessageDescriptor + fd_QueryDecryptDataResponse_decrypted_data protoreflect.FieldDescriptor +) + +func init() { + file_fairyring_pep_query_proto_init() + md_QueryDecryptDataResponse = File_fairyring_pep_query_proto.Messages().ByName("QueryDecryptDataResponse") + fd_QueryDecryptDataResponse_decrypted_data = md_QueryDecryptDataResponse.Fields().ByName("decrypted_data") +} + +var _ protoreflect.Message = (*fastReflection_QueryDecryptDataResponse)(nil) + +type fastReflection_QueryDecryptDataResponse QueryDecryptDataResponse + +func (x *QueryDecryptDataResponse) ProtoReflect() protoreflect.Message { + return (*fastReflection_QueryDecryptDataResponse)(x) +} + +func (x *QueryDecryptDataResponse) slowProtoReflect() protoreflect.Message { + mi := &file_fairyring_pep_query_proto_msgTypes[23] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +var _fastReflection_QueryDecryptDataResponse_messageType fastReflection_QueryDecryptDataResponse_messageType +var _ protoreflect.MessageType = fastReflection_QueryDecryptDataResponse_messageType{} + +type fastReflection_QueryDecryptDataResponse_messageType struct{} + +func (x fastReflection_QueryDecryptDataResponse_messageType) Zero() protoreflect.Message { + return (*fastReflection_QueryDecryptDataResponse)(nil) +} +func (x fastReflection_QueryDecryptDataResponse_messageType) New() protoreflect.Message { + return new(fastReflection_QueryDecryptDataResponse) +} +func (x fastReflection_QueryDecryptDataResponse_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_QueryDecryptDataResponse +} + +// Descriptor returns message descriptor, which contains only the protobuf +// type information for the message. +func (x *fastReflection_QueryDecryptDataResponse) Descriptor() protoreflect.MessageDescriptor { + return md_QueryDecryptDataResponse +} + +// Type returns the message type, which encapsulates both Go and protobuf +// type information. If the Go type information is not needed, +// it is recommended that the message descriptor be used instead. +func (x *fastReflection_QueryDecryptDataResponse) Type() protoreflect.MessageType { + return _fastReflection_QueryDecryptDataResponse_messageType +} + +// New returns a newly allocated and mutable empty message. +func (x *fastReflection_QueryDecryptDataResponse) New() protoreflect.Message { + return new(fastReflection_QueryDecryptDataResponse) +} + +// Interface unwraps the message reflection interface and +// returns the underlying ProtoMessage interface. +func (x *fastReflection_QueryDecryptDataResponse) Interface() protoreflect.ProtoMessage { + return (*QueryDecryptDataResponse)(x) +} + +// Range iterates over every populated field in an undefined order, +// calling f for each field descriptor and value encountered. +// Range returns immediately if f returns false. +// While iterating, mutating operations may only be performed +// on the current field descriptor. +func (x *fastReflection_QueryDecryptDataResponse) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { + if x.DecryptedData != "" { + value := protoreflect.ValueOfString(x.DecryptedData) + if !f(fd_QueryDecryptDataResponse_decrypted_data, value) { + return + } + } +} + +// Has reports whether a field is populated. +// +// Some fields have the property of nullability where it is possible to +// distinguish between the default value of a field and whether the field +// was explicitly populated with the default value. Singular message fields, +// member fields of a oneof, and proto2 scalar fields are nullable. Such +// fields are populated only if explicitly set. +// +// In other cases (aside from the nullable cases above), +// a proto3 scalar field is populated if it contains a non-zero value, and +// a repeated field is populated if it is non-empty. +func (x *fastReflection_QueryDecryptDataResponse) Has(fd protoreflect.FieldDescriptor) bool { + switch fd.FullName() { + case "fairyring.pep.QueryDecryptDataResponse.decrypted_data": + return x.DecryptedData != "" + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: fairyring.pep.QueryDecryptDataResponse")) + } + panic(fmt.Errorf("message fairyring.pep.QueryDecryptDataResponse does not contain field %s", fd.FullName())) + } +} + +// Clear clears the field such that a subsequent Has call reports false. +// +// Clearing an extension field clears both the extension type and value +// associated with the given field number. +// +// Clear is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_QueryDecryptDataResponse) Clear(fd protoreflect.FieldDescriptor) { + switch fd.FullName() { + case "fairyring.pep.QueryDecryptDataResponse.decrypted_data": + x.DecryptedData = "" + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: fairyring.pep.QueryDecryptDataResponse")) + } + panic(fmt.Errorf("message fairyring.pep.QueryDecryptDataResponse does not contain field %s", fd.FullName())) + } +} + +// Get retrieves the value for a field. +// +// For unpopulated scalars, it returns the default value, where +// the default value of a bytes scalar is guaranteed to be a copy. +// For unpopulated composite types, it returns an empty, read-only view +// of the value; to obtain a mutable reference, use Mutable. +func (x *fastReflection_QueryDecryptDataResponse) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { + switch descriptor.FullName() { + case "fairyring.pep.QueryDecryptDataResponse.decrypted_data": + value := x.DecryptedData + return protoreflect.ValueOfString(value) + default: + if descriptor.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: fairyring.pep.QueryDecryptDataResponse")) + } + panic(fmt.Errorf("message fairyring.pep.QueryDecryptDataResponse does not contain field %s", descriptor.FullName())) + } +} + +// Set stores the value for a field. +// +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType. +// When setting a composite type, it is unspecified whether the stored value +// aliases the source's memory in any way. If the composite value is an +// empty, read-only value, then it panics. +// +// Set is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_QueryDecryptDataResponse) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { + switch fd.FullName() { + case "fairyring.pep.QueryDecryptDataResponse.decrypted_data": + x.DecryptedData = value.Interface().(string) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: fairyring.pep.QueryDecryptDataResponse")) + } + panic(fmt.Errorf("message fairyring.pep.QueryDecryptDataResponse does not contain field %s", fd.FullName())) + } +} + +// Mutable returns a mutable reference to a composite type. +// +// If the field is unpopulated, it may allocate a composite value. +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType +// if not already stored. +// It panics if the field does not contain a composite type. +// +// Mutable is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_QueryDecryptDataResponse) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "fairyring.pep.QueryDecryptDataResponse.decrypted_data": + panic(fmt.Errorf("field decrypted_data of message fairyring.pep.QueryDecryptDataResponse is not mutable")) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: fairyring.pep.QueryDecryptDataResponse")) + } + panic(fmt.Errorf("message fairyring.pep.QueryDecryptDataResponse does not contain field %s", fd.FullName())) + } +} + +// NewField returns a new value that is assignable to the field +// for the given descriptor. For scalars, this returns the default value. +// For lists, maps, and messages, this returns a new, empty, mutable value. +func (x *fastReflection_QueryDecryptDataResponse) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "fairyring.pep.QueryDecryptDataResponse.decrypted_data": + return protoreflect.ValueOfString("") + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: fairyring.pep.QueryDecryptDataResponse")) + } + panic(fmt.Errorf("message fairyring.pep.QueryDecryptDataResponse does not contain field %s", fd.FullName())) + } +} + +// WhichOneof reports which field within the oneof is populated, +// returning nil if none are populated. +// It panics if the oneof descriptor does not belong to this message. +func (x *fastReflection_QueryDecryptDataResponse) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { + switch d.FullName() { + default: + panic(fmt.Errorf("%s is not a oneof field in fairyring.pep.QueryDecryptDataResponse", d.FullName())) + } + panic("unreachable") +} + +// GetUnknown retrieves the entire list of unknown fields. +// The caller may only mutate the contents of the RawFields +// if the mutated bytes are stored back into the message with SetUnknown. +func (x *fastReflection_QueryDecryptDataResponse) GetUnknown() protoreflect.RawFields { + return x.unknownFields +} + +// SetUnknown stores an entire list of unknown fields. +// The raw fields must be syntactically valid according to the wire format. +// An implementation may panic if this is not the case. +// Once stored, the caller must not mutate the content of the RawFields. +// An empty RawFields may be passed to clear the fields. +// +// SetUnknown is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_QueryDecryptDataResponse) SetUnknown(fields protoreflect.RawFields) { + x.unknownFields = fields +} + +// IsValid reports whether the message is valid. +// +// An invalid message is an empty, read-only value. +// +// An invalid message often corresponds to a nil pointer of the concrete +// message type, but the details are implementation dependent. +// Validity is not part of the protobuf data model, and may not +// be preserved in marshaling or other operations. +func (x *fastReflection_QueryDecryptDataResponse) IsValid() bool { + return x != nil +} + +// ProtoMethods returns optional fastReflectionFeature-path implementations of various operations. +// This method may return nil. +// +// The returned methods type is identical to +// "google.golang.org/protobuf/runtime/protoiface".Methods. +// Consult the protoiface package documentation for details. +func (x *fastReflection_QueryDecryptDataResponse) ProtoMethods() *protoiface.Methods { + size := func(input protoiface.SizeInput) protoiface.SizeOutput { + x := input.Message.Interface().(*QueryDecryptDataResponse) + if x == nil { + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: 0, + } + } + options := runtime.SizeInputToOptions(input) + _ = options + var n int + var l int + _ = l + l = len(x.DecryptedData) + if l > 0 { + n += 1 + l + runtime.Sov(uint64(l)) + } + if x.unknownFields != nil { + n += len(x.unknownFields) + } + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: n, + } + } + + marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { + x := input.Message.Interface().(*QueryDecryptDataResponse) + if x == nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + options := runtime.MarshalInputToOptions(input) + _ = options + size := options.Size(x) + dAtA := make([]byte, size) + i := len(dAtA) + _ = i + var l int + _ = l + if x.unknownFields != nil { + i -= len(x.unknownFields) + copy(dAtA[i:], x.unknownFields) + } + if len(x.DecryptedData) > 0 { + i -= len(x.DecryptedData) + copy(dAtA[i:], x.DecryptedData) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.DecryptedData))) + i-- + dAtA[i] = 0xa + } + if input.Buf != nil { + input.Buf = append(input.Buf, dAtA...) + } else { + input.Buf = dAtA + } + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { + x := input.Message.Interface().(*QueryDecryptDataResponse) + if x == nil { + return protoiface.UnmarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Flags: input.Flags, + }, nil + } + options := runtime.UnmarshalInputToOptions(input) + _ = options + dAtA := input.Buf + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + 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++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: QueryDecryptDataResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: QueryDecryptDataResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field DecryptedData", wireType) + } + var stringLen uint64 + 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++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + x.DecryptedData = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := runtime.Skip(dAtA[iNdEx:]) + if err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if !options.DiscardUnknown { + x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + } + iNdEx += skippy + } + } + + if iNdEx > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil + } + return &protoiface.Methods{ + NoUnkeyedLiterals: struct{}{}, + Flags: protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown, + Size: size, + Marshal: marshal, + Unmarshal: unmarshal, + Merge: nil, + CheckInitialized: nil, + } +} + // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.27.0 @@ -9627,6 +11702,186 @@ func (x *QueryPubKeyResponse) GetQueuedPubKey() *common.QueuedPublicKey { return nil } +type QueryShowPrivateKeyshareReqRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ReqId string `protobuf:"bytes,1,opt,name=reqId,proto3" json:"reqId,omitempty"` +} + +func (x *QueryShowPrivateKeyshareReqRequest) Reset() { + *x = QueryShowPrivateKeyshareReqRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_fairyring_pep_query_proto_msgTypes[20] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *QueryShowPrivateKeyshareReqRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*QueryShowPrivateKeyshareReqRequest) ProtoMessage() {} + +// Deprecated: Use QueryShowPrivateKeyshareReqRequest.ProtoReflect.Descriptor instead. +func (*QueryShowPrivateKeyshareReqRequest) Descriptor() ([]byte, []int) { + return file_fairyring_pep_query_proto_rawDescGZIP(), []int{20} +} + +func (x *QueryShowPrivateKeyshareReqRequest) GetReqId() string { + if x != nil { + return x.ReqId + } + return "" +} + +type QueryShowPrivateKeyshareReqResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Creator string `protobuf:"bytes,1,opt,name=creator,proto3" json:"creator,omitempty"` + ReqId string `protobuf:"bytes,2,opt,name=req_id,json=reqId,proto3" json:"req_id,omitempty"` + Pubkey string `protobuf:"bytes,3,opt,name=pubkey,proto3" json:"pubkey,omitempty"` + EncryptedKeyshares []*common.EncryptedKeyshare `protobuf:"bytes,5,rep,name=encrypted_keyshares,json=encryptedKeyshares,proto3" json:"encrypted_keyshares,omitempty"` +} + +func (x *QueryShowPrivateKeyshareReqResponse) Reset() { + *x = QueryShowPrivateKeyshareReqResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_fairyring_pep_query_proto_msgTypes[21] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *QueryShowPrivateKeyshareReqResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*QueryShowPrivateKeyshareReqResponse) ProtoMessage() {} + +// Deprecated: Use QueryShowPrivateKeyshareReqResponse.ProtoReflect.Descriptor instead. +func (*QueryShowPrivateKeyshareReqResponse) Descriptor() ([]byte, []int) { + return file_fairyring_pep_query_proto_rawDescGZIP(), []int{21} +} + +func (x *QueryShowPrivateKeyshareReqResponse) GetCreator() string { + if x != nil { + return x.Creator + } + return "" +} + +func (x *QueryShowPrivateKeyshareReqResponse) GetReqId() string { + if x != nil { + return x.ReqId + } + return "" +} + +func (x *QueryShowPrivateKeyshareReqResponse) GetPubkey() string { + if x != nil { + return x.Pubkey + } + return "" +} + +func (x *QueryShowPrivateKeyshareReqResponse) GetEncryptedKeyshares() []*common.EncryptedKeyshare { + if x != nil { + return x.EncryptedKeyshares + } + return nil +} + +type QueryDecryptDataRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Pubkey string `protobuf:"bytes,1,opt,name=pubkey,proto3" json:"pubkey,omitempty"` + AggrKeyshare string `protobuf:"bytes,2,opt,name=aggrKeyshare,proto3" json:"aggrKeyshare,omitempty"` + EncryptedData string `protobuf:"bytes,3,opt,name=encryptedData,proto3" json:"encryptedData,omitempty"` +} + +func (x *QueryDecryptDataRequest) Reset() { + *x = QueryDecryptDataRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_fairyring_pep_query_proto_msgTypes[22] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *QueryDecryptDataRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*QueryDecryptDataRequest) ProtoMessage() {} + +// Deprecated: Use QueryDecryptDataRequest.ProtoReflect.Descriptor instead. +func (*QueryDecryptDataRequest) Descriptor() ([]byte, []int) { + return file_fairyring_pep_query_proto_rawDescGZIP(), []int{22} +} + +func (x *QueryDecryptDataRequest) GetPubkey() string { + if x != nil { + return x.Pubkey + } + return "" +} + +func (x *QueryDecryptDataRequest) GetAggrKeyshare() string { + if x != nil { + return x.AggrKeyshare + } + return "" +} + +func (x *QueryDecryptDataRequest) GetEncryptedData() string { + if x != nil { + return x.EncryptedData + } + return "" +} + +type QueryDecryptDataResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + DecryptedData string `protobuf:"bytes,1,opt,name=decrypted_data,json=decryptedData,proto3" json:"decrypted_data,omitempty"` +} + +func (x *QueryDecryptDataResponse) Reset() { + *x = QueryDecryptDataResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_fairyring_pep_query_proto_msgTypes[23] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *QueryDecryptDataResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*QueryDecryptDataResponse) ProtoMessage() {} + +// Deprecated: Use QueryDecryptDataResponse.ProtoReflect.Descriptor instead. +func (*QueryDecryptDataResponse) Descriptor() ([]byte, []int) { + return file_fairyring_pep_query_proto_rawDescGZIP(), []int{23} +} + +func (x *QueryDecryptDataResponse) GetDecryptedData() string { + if x != nil { + return x.DecryptedData + } + return "" +} + var File_fairyring_pep_query_proto protoreflect.FileDescriptor var file_fairyring_pep_query_proto_rawDesc = []byte{ @@ -9650,7 +11905,9 @@ var file_fairyring_pep_query_proto_rawDesc = []byte{ 0x61, 0x74, 0x65, 0x64, 0x5f, 0x6b, 0x65, 0x79, 0x5f, 0x73, 0x68, 0x61, 0x72, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x23, 0x66, 0x61, 0x69, 0x72, 0x79, 0x72, 0x69, 0x6e, 0x67, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x73, 0x68, 0x61, 0x72, 0x65, 0x64, 0x5f, 0x74, 0x79, - 0x70, 0x65, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x14, 0x0a, 0x12, 0x51, 0x75, 0x65, + 0x70, 0x65, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, + 0x73, 0x2f, 0x62, 0x61, 0x73, 0x65, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x63, + 0x6f, 0x69, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x14, 0x0a, 0x12, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x4f, 0x0a, 0x13, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x38, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, @@ -9767,104 +12024,156 @@ var file_fairyring_pep_query_proto_rawDesc = []byte{ 0x32, 0x21, 0x2e, 0x66, 0x61, 0x69, 0x72, 0x79, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x75, 0x65, 0x64, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x4b, 0x65, 0x79, 0x42, 0x04, 0xc8, 0xde, 0x1f, 0x00, 0x52, 0x0c, 0x71, 0x75, 0x65, 0x75, 0x65, - 0x64, 0x50, 0x75, 0x62, 0x4b, 0x65, 0x79, 0x32, 0xf7, 0x0a, 0x0a, 0x05, 0x51, 0x75, 0x65, 0x72, - 0x79, 0x12, 0x6e, 0x0a, 0x06, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x21, 0x2e, 0x66, 0x61, - 0x69, 0x72, 0x79, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x70, 0x65, 0x70, 0x2e, 0x51, 0x75, 0x65, 0x72, - 0x79, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, + 0x64, 0x50, 0x75, 0x62, 0x4b, 0x65, 0x79, 0x22, 0x3a, 0x0a, 0x22, 0x51, 0x75, 0x65, 0x72, 0x79, + 0x53, 0x68, 0x6f, 0x77, 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x73, 0x68, + 0x61, 0x72, 0x65, 0x52, 0x65, 0x71, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x14, 0x0a, + 0x05, 0x72, 0x65, 0x71, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x72, 0x65, + 0x71, 0x49, 0x64, 0x22, 0xc4, 0x01, 0x0a, 0x23, 0x51, 0x75, 0x65, 0x72, 0x79, 0x53, 0x68, 0x6f, + 0x77, 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x73, 0x68, 0x61, 0x72, 0x65, + 0x52, 0x65, 0x71, 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, 0x15, 0x0a, 0x06, 0x72, 0x65, 0x71, 0x5f, 0x69, 0x64, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x72, 0x65, 0x71, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, + 0x70, 0x75, 0x62, 0x6b, 0x65, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x70, 0x75, + 0x62, 0x6b, 0x65, 0x79, 0x12, 0x54, 0x0a, 0x13, 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x65, + 0x64, 0x5f, 0x6b, 0x65, 0x79, 0x73, 0x68, 0x61, 0x72, 0x65, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x23, 0x2e, 0x66, 0x61, 0x69, 0x72, 0x79, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x63, 0x6f, + 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x65, 0x64, 0x4b, 0x65, + 0x79, 0x73, 0x68, 0x61, 0x72, 0x65, 0x52, 0x12, 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x65, + 0x64, 0x4b, 0x65, 0x79, 0x73, 0x68, 0x61, 0x72, 0x65, 0x73, 0x22, 0x7b, 0x0a, 0x17, 0x51, 0x75, + 0x65, 0x72, 0x79, 0x44, 0x65, 0x63, 0x72, 0x79, 0x70, 0x74, 0x44, 0x61, 0x74, 0x61, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x75, 0x62, 0x6b, 0x65, 0x79, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x70, 0x75, 0x62, 0x6b, 0x65, 0x79, 0x12, 0x22, 0x0a, + 0x0c, 0x61, 0x67, 0x67, 0x72, 0x4b, 0x65, 0x79, 0x73, 0x68, 0x61, 0x72, 0x65, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0c, 0x61, 0x67, 0x67, 0x72, 0x4b, 0x65, 0x79, 0x73, 0x68, 0x61, 0x72, + 0x65, 0x12, 0x24, 0x0a, 0x0d, 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x65, 0x64, 0x44, 0x61, + 0x74, 0x61, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70, + 0x74, 0x65, 0x64, 0x44, 0x61, 0x74, 0x61, 0x22, 0x41, 0x0a, 0x18, 0x51, 0x75, 0x65, 0x72, 0x79, + 0x44, 0x65, 0x63, 0x72, 0x79, 0x70, 0x74, 0x44, 0x61, 0x74, 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x64, 0x65, 0x63, 0x72, 0x79, 0x70, 0x74, 0x65, 0x64, + 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x64, 0x65, 0x63, + 0x72, 0x79, 0x70, 0x74, 0x65, 0x64, 0x44, 0x61, 0x74, 0x61, 0x32, 0xec, 0x0d, 0x0a, 0x05, 0x51, + 0x75, 0x65, 0x72, 0x79, 0x12, 0x6e, 0x0a, 0x06, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x21, 0x2e, 0x66, 0x61, 0x69, 0x72, 0x79, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x70, 0x65, 0x70, 0x2e, 0x51, - 0x75, 0x65, 0x72, 0x79, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x22, 0x1d, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x17, 0x12, 0x15, 0x2f, 0x66, 0x61, 0x69, - 0x72, 0x79, 0x72, 0x69, 0x6e, 0x67, 0x2f, 0x70, 0x65, 0x70, 0x2f, 0x70, 0x61, 0x72, 0x61, 0x6d, - 0x73, 0x12, 0xa0, 0x01, 0x0a, 0x0b, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x65, 0x64, 0x54, - 0x78, 0x12, 0x29, 0x2e, 0x66, 0x61, 0x69, 0x72, 0x79, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x70, 0x65, - 0x70, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x47, 0x65, 0x74, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, - 0x74, 0x65, 0x64, 0x54, 0x78, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2a, 0x2e, 0x66, - 0x61, 0x69, 0x72, 0x79, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x70, 0x65, 0x70, 0x2e, 0x51, 0x75, 0x65, - 0x72, 0x79, 0x47, 0x65, 0x74, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x65, 0x64, 0x54, 0x78, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x3a, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x34, - 0x12, 0x32, 0x2f, 0x66, 0x61, 0x69, 0x72, 0x79, 0x72, 0x69, 0x6e, 0x67, 0x2f, 0x70, 0x65, 0x70, - 0x2f, 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x65, 0x64, 0x5f, 0x74, 0x78, 0x2f, 0x7b, 0x74, - 0x61, 0x72, 0x67, 0x65, 0x74, 0x48, 0x65, 0x69, 0x67, 0x68, 0x74, 0x7d, 0x2f, 0x7b, 0x69, 0x6e, - 0x64, 0x65, 0x78, 0x7d, 0x12, 0x8c, 0x01, 0x0a, 0x0e, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, - 0x65, 0x64, 0x54, 0x78, 0x41, 0x6c, 0x6c, 0x12, 0x29, 0x2e, 0x66, 0x61, 0x69, 0x72, 0x79, 0x72, - 0x69, 0x6e, 0x67, 0x2e, 0x70, 0x65, 0x70, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x41, 0x6c, 0x6c, - 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x65, 0x64, 0x54, 0x78, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x2a, 0x2e, 0x66, 0x61, 0x69, 0x72, 0x79, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x70, - 0x65, 0x70, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x63, 0x72, 0x79, - 0x70, 0x74, 0x65, 0x64, 0x54, 0x78, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x23, - 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1d, 0x12, 0x1b, 0x2f, 0x66, 0x61, 0x69, 0x72, 0x79, 0x72, 0x69, - 0x6e, 0x67, 0x2f, 0x70, 0x65, 0x70, 0x2f, 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x65, 0x64, - 0x5f, 0x74, 0x78, 0x12, 0xb9, 0x01, 0x0a, 0x18, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x65, - 0x64, 0x54, 0x78, 0x41, 0x6c, 0x6c, 0x46, 0x72, 0x6f, 0x6d, 0x48, 0x65, 0x69, 0x67, 0x68, 0x74, - 0x12, 0x33, 0x2e, 0x66, 0x61, 0x69, 0x72, 0x79, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x70, 0x65, 0x70, - 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, - 0x65, 0x64, 0x54, 0x78, 0x46, 0x72, 0x6f, 0x6d, 0x48, 0x65, 0x69, 0x67, 0x68, 0x74, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x34, 0x2e, 0x66, 0x61, 0x69, 0x72, 0x79, 0x72, 0x69, 0x6e, - 0x67, 0x2e, 0x70, 0x65, 0x70, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x41, 0x6c, 0x6c, 0x45, 0x6e, - 0x63, 0x72, 0x79, 0x70, 0x74, 0x65, 0x64, 0x54, 0x78, 0x46, 0x72, 0x6f, 0x6d, 0x48, 0x65, 0x69, - 0x67, 0x68, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x32, 0x82, 0xd3, 0xe4, - 0x93, 0x02, 0x2c, 0x12, 0x2a, 0x2f, 0x66, 0x61, 0x69, 0x72, 0x79, 0x72, 0x69, 0x6e, 0x67, 0x2f, + 0x75, 0x65, 0x72, 0x79, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x22, 0x2e, 0x66, 0x61, 0x69, 0x72, 0x79, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x70, 0x65, + 0x70, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x1d, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x17, 0x12, 0x15, 0x2f, + 0x66, 0x61, 0x69, 0x72, 0x79, 0x72, 0x69, 0x6e, 0x67, 0x2f, 0x70, 0x65, 0x70, 0x2f, 0x70, 0x61, + 0x72, 0x61, 0x6d, 0x73, 0x12, 0xa0, 0x01, 0x0a, 0x0b, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, + 0x65, 0x64, 0x54, 0x78, 0x12, 0x29, 0x2e, 0x66, 0x61, 0x69, 0x72, 0x79, 0x72, 0x69, 0x6e, 0x67, + 0x2e, 0x70, 0x65, 0x70, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x47, 0x65, 0x74, 0x45, 0x6e, 0x63, + 0x72, 0x79, 0x70, 0x74, 0x65, 0x64, 0x54, 0x78, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x2a, 0x2e, 0x66, 0x61, 0x69, 0x72, 0x79, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x70, 0x65, 0x70, 0x2e, + 0x51, 0x75, 0x65, 0x72, 0x79, 0x47, 0x65, 0x74, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x65, + 0x64, 0x54, 0x78, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x3a, 0x82, 0xd3, 0xe4, + 0x93, 0x02, 0x34, 0x12, 0x32, 0x2f, 0x66, 0x61, 0x69, 0x72, 0x79, 0x72, 0x69, 0x6e, 0x67, 0x2f, 0x70, 0x65, 0x70, 0x2f, 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x65, 0x64, 0x5f, 0x74, 0x78, - 0x2f, 0x7b, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x48, 0x65, 0x69, 0x67, 0x68, 0x74, 0x7d, 0x12, - 0x87, 0x01, 0x0a, 0x0c, 0x4c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x48, 0x65, 0x69, 0x67, 0x68, 0x74, - 0x12, 0x27, 0x2e, 0x66, 0x61, 0x69, 0x72, 0x79, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x70, 0x65, 0x70, - 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x4c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x48, 0x65, 0x69, 0x67, - 0x68, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x28, 0x2e, 0x66, 0x61, 0x69, 0x72, - 0x79, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x70, 0x65, 0x70, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x4c, - 0x61, 0x74, 0x65, 0x73, 0x74, 0x48, 0x65, 0x69, 0x67, 0x68, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x22, 0x24, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1e, 0x12, 0x1c, 0x2f, 0x66, 0x61, - 0x69, 0x72, 0x79, 0x72, 0x69, 0x6e, 0x67, 0x2f, 0x70, 0x65, 0x70, 0x2f, 0x6c, 0x61, 0x74, 0x65, - 0x73, 0x74, 0x5f, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x12, 0x87, 0x01, 0x0a, 0x08, 0x50, 0x65, - 0x70, 0x4e, 0x6f, 0x6e, 0x63, 0x65, 0x12, 0x26, 0x2e, 0x66, 0x61, 0x69, 0x72, 0x79, 0x72, 0x69, - 0x6e, 0x67, 0x2e, 0x70, 0x65, 0x70, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x47, 0x65, 0x74, 0x50, + 0x2f, 0x7b, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x48, 0x65, 0x69, 0x67, 0x68, 0x74, 0x7d, 0x2f, + 0x7b, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x7d, 0x12, 0x8c, 0x01, 0x0a, 0x0e, 0x45, 0x6e, 0x63, 0x72, + 0x79, 0x70, 0x74, 0x65, 0x64, 0x54, 0x78, 0x41, 0x6c, 0x6c, 0x12, 0x29, 0x2e, 0x66, 0x61, 0x69, + 0x72, 0x79, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x70, 0x65, 0x70, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, + 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x65, 0x64, 0x54, 0x78, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2a, 0x2e, 0x66, 0x61, 0x69, 0x72, 0x79, 0x72, 0x69, 0x6e, + 0x67, 0x2e, 0x70, 0x65, 0x70, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x41, 0x6c, 0x6c, 0x45, 0x6e, + 0x63, 0x72, 0x79, 0x70, 0x74, 0x65, 0x64, 0x54, 0x78, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x22, 0x23, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1d, 0x12, 0x1b, 0x2f, 0x66, 0x61, 0x69, 0x72, + 0x79, 0x72, 0x69, 0x6e, 0x67, 0x2f, 0x70, 0x65, 0x70, 0x2f, 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70, + 0x74, 0x65, 0x64, 0x5f, 0x74, 0x78, 0x12, 0xb9, 0x01, 0x0a, 0x18, 0x45, 0x6e, 0x63, 0x72, 0x79, + 0x70, 0x74, 0x65, 0x64, 0x54, 0x78, 0x41, 0x6c, 0x6c, 0x46, 0x72, 0x6f, 0x6d, 0x48, 0x65, 0x69, + 0x67, 0x68, 0x74, 0x12, 0x33, 0x2e, 0x66, 0x61, 0x69, 0x72, 0x79, 0x72, 0x69, 0x6e, 0x67, 0x2e, + 0x70, 0x65, 0x70, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x63, 0x72, + 0x79, 0x70, 0x74, 0x65, 0x64, 0x54, 0x78, 0x46, 0x72, 0x6f, 0x6d, 0x48, 0x65, 0x69, 0x67, 0x68, + 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x34, 0x2e, 0x66, 0x61, 0x69, 0x72, 0x79, + 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x70, 0x65, 0x70, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x41, 0x6c, + 0x6c, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x65, 0x64, 0x54, 0x78, 0x46, 0x72, 0x6f, 0x6d, + 0x48, 0x65, 0x69, 0x67, 0x68, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x32, + 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2c, 0x12, 0x2a, 0x2f, 0x66, 0x61, 0x69, 0x72, 0x79, 0x72, 0x69, + 0x6e, 0x67, 0x2f, 0x70, 0x65, 0x70, 0x2f, 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x65, 0x64, + 0x5f, 0x74, 0x78, 0x2f, 0x7b, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x48, 0x65, 0x69, 0x67, 0x68, + 0x74, 0x7d, 0x12, 0x87, 0x01, 0x0a, 0x0c, 0x4c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x48, 0x65, 0x69, + 0x67, 0x68, 0x74, 0x12, 0x27, 0x2e, 0x66, 0x61, 0x69, 0x72, 0x79, 0x72, 0x69, 0x6e, 0x67, 0x2e, + 0x70, 0x65, 0x70, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x4c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x48, + 0x65, 0x69, 0x67, 0x68, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x28, 0x2e, 0x66, + 0x61, 0x69, 0x72, 0x79, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x70, 0x65, 0x70, 0x2e, 0x51, 0x75, 0x65, + 0x72, 0x79, 0x4c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x48, 0x65, 0x69, 0x67, 0x68, 0x74, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x24, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1e, 0x12, 0x1c, + 0x2f, 0x66, 0x61, 0x69, 0x72, 0x79, 0x72, 0x69, 0x6e, 0x67, 0x2f, 0x70, 0x65, 0x70, 0x2f, 0x6c, + 0x61, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x12, 0x87, 0x01, 0x0a, + 0x08, 0x50, 0x65, 0x70, 0x4e, 0x6f, 0x6e, 0x63, 0x65, 0x12, 0x26, 0x2e, 0x66, 0x61, 0x69, 0x72, + 0x79, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x70, 0x65, 0x70, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x47, + 0x65, 0x74, 0x50, 0x65, 0x70, 0x4e, 0x6f, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x27, 0x2e, 0x66, 0x61, 0x69, 0x72, 0x79, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x70, 0x65, + 0x70, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x47, 0x65, 0x74, 0x50, 0x65, 0x70, 0x4e, 0x6f, 0x6e, + 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x2a, 0x82, 0xd3, 0xe4, 0x93, + 0x02, 0x24, 0x12, 0x22, 0x2f, 0x66, 0x61, 0x69, 0x72, 0x79, 0x72, 0x69, 0x6e, 0x67, 0x2f, 0x70, + 0x65, 0x70, 0x2f, 0x70, 0x65, 0x70, 0x5f, 0x6e, 0x6f, 0x6e, 0x63, 0x65, 0x2f, 0x7b, 0x61, 0x64, + 0x64, 0x72, 0x65, 0x73, 0x73, 0x7d, 0x12, 0x80, 0x01, 0x0a, 0x0b, 0x50, 0x65, 0x70, 0x4e, 0x6f, + 0x6e, 0x63, 0x65, 0x41, 0x6c, 0x6c, 0x12, 0x26, 0x2e, 0x66, 0x61, 0x69, 0x72, 0x79, 0x72, 0x69, + 0x6e, 0x67, 0x2e, 0x70, 0x65, 0x70, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x41, 0x6c, 0x6c, 0x50, 0x65, 0x70, 0x4e, 0x6f, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x66, 0x61, 0x69, 0x72, 0x79, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x70, 0x65, 0x70, 0x2e, 0x51, - 0x75, 0x65, 0x72, 0x79, 0x47, 0x65, 0x74, 0x50, 0x65, 0x70, 0x4e, 0x6f, 0x6e, 0x63, 0x65, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x2a, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x24, 0x12, - 0x22, 0x2f, 0x66, 0x61, 0x69, 0x72, 0x79, 0x72, 0x69, 0x6e, 0x67, 0x2f, 0x70, 0x65, 0x70, 0x2f, - 0x70, 0x65, 0x70, 0x5f, 0x6e, 0x6f, 0x6e, 0x63, 0x65, 0x2f, 0x7b, 0x61, 0x64, 0x64, 0x72, 0x65, - 0x73, 0x73, 0x7d, 0x12, 0x80, 0x01, 0x0a, 0x0b, 0x50, 0x65, 0x70, 0x4e, 0x6f, 0x6e, 0x63, 0x65, - 0x41, 0x6c, 0x6c, 0x12, 0x26, 0x2e, 0x66, 0x61, 0x69, 0x72, 0x79, 0x72, 0x69, 0x6e, 0x67, 0x2e, - 0x70, 0x65, 0x70, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x41, 0x6c, 0x6c, 0x50, 0x65, 0x70, 0x4e, - 0x6f, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x66, 0x61, - 0x69, 0x72, 0x79, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x70, 0x65, 0x70, 0x2e, 0x51, 0x75, 0x65, 0x72, - 0x79, 0x41, 0x6c, 0x6c, 0x50, 0x65, 0x70, 0x4e, 0x6f, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x20, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1a, 0x12, 0x18, 0x2f, 0x66, - 0x61, 0x69, 0x72, 0x79, 0x72, 0x69, 0x6e, 0x67, 0x2f, 0x70, 0x65, 0x70, 0x2f, 0x70, 0x65, 0x70, - 0x5f, 0x6e, 0x6f, 0x6e, 0x63, 0x65, 0x12, 0x6f, 0x0a, 0x06, 0x50, 0x75, 0x62, 0x4b, 0x65, 0x79, - 0x12, 0x21, 0x2e, 0x66, 0x61, 0x69, 0x72, 0x79, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x70, 0x65, 0x70, - 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x75, 0x62, 0x4b, 0x65, 0x79, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x66, 0x61, 0x69, 0x72, 0x79, 0x72, 0x69, 0x6e, 0x67, 0x2e, + 0x75, 0x65, 0x72, 0x79, 0x41, 0x6c, 0x6c, 0x50, 0x65, 0x70, 0x4e, 0x6f, 0x6e, 0x63, 0x65, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x20, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1a, 0x12, + 0x18, 0x2f, 0x66, 0x61, 0x69, 0x72, 0x79, 0x72, 0x69, 0x6e, 0x67, 0x2f, 0x70, 0x65, 0x70, 0x2f, + 0x70, 0x65, 0x70, 0x5f, 0x6e, 0x6f, 0x6e, 0x63, 0x65, 0x12, 0x6f, 0x0a, 0x06, 0x50, 0x75, 0x62, + 0x4b, 0x65, 0x79, 0x12, 0x21, 0x2e, 0x66, 0x61, 0x69, 0x72, 0x79, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x70, 0x65, 0x70, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x75, 0x62, 0x4b, 0x65, 0x79, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x1e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x18, 0x12, - 0x16, 0x2f, 0x66, 0x61, 0x69, 0x72, 0x79, 0x72, 0x69, 0x6e, 0x67, 0x2f, 0x70, 0x65, 0x70, 0x2f, - 0x70, 0x75, 0x62, 0x5f, 0x6b, 0x65, 0x79, 0x12, 0x82, 0x01, 0x0a, 0x0b, 0x4b, 0x65, 0x79, 0x73, - 0x68, 0x61, 0x72, 0x65, 0x52, 0x65, 0x71, 0x12, 0x23, 0x2e, 0x66, 0x61, 0x69, 0x72, 0x79, 0x72, - 0x69, 0x6e, 0x67, 0x2e, 0x70, 0x65, 0x70, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x4b, 0x65, 0x79, - 0x73, 0x68, 0x61, 0x72, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x24, 0x2e, 0x66, - 0x61, 0x69, 0x72, 0x79, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x70, 0x65, 0x70, 0x2e, 0x51, 0x75, 0x65, - 0x72, 0x79, 0x4b, 0x65, 0x79, 0x73, 0x68, 0x61, 0x72, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x22, 0x28, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x22, 0x12, 0x20, 0x2f, 0x66, 0x61, 0x69, - 0x72, 0x79, 0x72, 0x69, 0x6e, 0x67, 0x2f, 0x70, 0x65, 0x70, 0x2f, 0x6b, 0x65, 0x79, 0x73, 0x68, - 0x61, 0x72, 0x65, 0x2f, 0x7b, 0x72, 0x65, 0x71, 0x5f, 0x69, 0x64, 0x7d, 0x12, 0x82, 0x01, 0x0a, - 0x0e, 0x4b, 0x65, 0x79, 0x73, 0x68, 0x61, 0x72, 0x65, 0x52, 0x65, 0x71, 0x41, 0x6c, 0x6c, 0x12, - 0x26, 0x2e, 0x66, 0x61, 0x69, 0x72, 0x79, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x70, 0x65, 0x70, 0x2e, - 0x51, 0x75, 0x65, 0x72, 0x79, 0x41, 0x6c, 0x6c, 0x4b, 0x65, 0x79, 0x73, 0x68, 0x61, 0x72, 0x65, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x66, 0x61, 0x69, 0x72, 0x79, 0x72, - 0x69, 0x6e, 0x67, 0x2e, 0x70, 0x65, 0x70, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x41, 0x6c, 0x6c, - 0x4b, 0x65, 0x79, 0x73, 0x68, 0x61, 0x72, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x22, 0x1f, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x19, 0x12, 0x17, 0x2f, 0x66, 0x61, 0x69, 0x72, 0x79, - 0x72, 0x69, 0x6e, 0x67, 0x2f, 0x70, 0x65, 0x70, 0x2f, 0x6b, 0x65, 0x79, 0x73, 0x68, 0x61, 0x72, - 0x65, 0x42, 0x94, 0x01, 0x0a, 0x11, 0x63, 0x6f, 0x6d, 0x2e, 0x66, 0x61, 0x69, 0x72, 0x79, 0x72, - 0x69, 0x6e, 0x67, 0x2e, 0x70, 0x65, 0x70, 0x42, 0x0a, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x72, - 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x1e, 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, 0x70, 0x65, 0x70, 0xa2, 0x02, 0x03, 0x46, 0x50, 0x58, 0xaa, 0x02, 0x0d, 0x46, 0x61, - 0x69, 0x72, 0x79, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x50, 0x65, 0x70, 0xca, 0x02, 0x0d, 0x46, 0x61, - 0x69, 0x72, 0x79, 0x72, 0x69, 0x6e, 0x67, 0x5c, 0x50, 0x65, 0x70, 0xe2, 0x02, 0x19, 0x46, 0x61, - 0x69, 0x72, 0x79, 0x72, 0x69, 0x6e, 0x67, 0x5c, 0x50, 0x65, 0x70, 0x5c, 0x47, 0x50, 0x42, 0x4d, - 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x0e, 0x46, 0x61, 0x69, 0x72, 0x79, 0x72, - 0x69, 0x6e, 0x67, 0x3a, 0x3a, 0x50, 0x65, 0x70, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x66, 0x61, 0x69, 0x72, 0x79, 0x72, 0x69, + 0x6e, 0x67, 0x2e, 0x70, 0x65, 0x70, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x75, 0x62, 0x4b, + 0x65, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x1e, 0x82, 0xd3, 0xe4, 0x93, + 0x02, 0x18, 0x12, 0x16, 0x2f, 0x66, 0x61, 0x69, 0x72, 0x79, 0x72, 0x69, 0x6e, 0x67, 0x2f, 0x70, + 0x65, 0x70, 0x2f, 0x70, 0x75, 0x62, 0x5f, 0x6b, 0x65, 0x79, 0x12, 0x82, 0x01, 0x0a, 0x0b, 0x4b, + 0x65, 0x79, 0x73, 0x68, 0x61, 0x72, 0x65, 0x52, 0x65, 0x71, 0x12, 0x23, 0x2e, 0x66, 0x61, 0x69, + 0x72, 0x79, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x70, 0x65, 0x70, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, + 0x4b, 0x65, 0x79, 0x73, 0x68, 0x61, 0x72, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x24, 0x2e, 0x66, 0x61, 0x69, 0x72, 0x79, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x70, 0x65, 0x70, 0x2e, + 0x51, 0x75, 0x65, 0x72, 0x79, 0x4b, 0x65, 0x79, 0x73, 0x68, 0x61, 0x72, 0x65, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x28, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x22, 0x12, 0x20, 0x2f, + 0x66, 0x61, 0x69, 0x72, 0x79, 0x72, 0x69, 0x6e, 0x67, 0x2f, 0x70, 0x65, 0x70, 0x2f, 0x6b, 0x65, + 0x79, 0x73, 0x68, 0x61, 0x72, 0x65, 0x2f, 0x7b, 0x72, 0x65, 0x71, 0x5f, 0x69, 0x64, 0x7d, 0x12, + 0x82, 0x01, 0x0a, 0x0e, 0x4b, 0x65, 0x79, 0x73, 0x68, 0x61, 0x72, 0x65, 0x52, 0x65, 0x71, 0x41, + 0x6c, 0x6c, 0x12, 0x26, 0x2e, 0x66, 0x61, 0x69, 0x72, 0x79, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x70, + 0x65, 0x70, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x41, 0x6c, 0x6c, 0x4b, 0x65, 0x79, 0x73, 0x68, + 0x61, 0x72, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x66, 0x61, 0x69, + 0x72, 0x79, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x70, 0x65, 0x70, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, + 0x41, 0x6c, 0x6c, 0x4b, 0x65, 0x79, 0x73, 0x68, 0x61, 0x72, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x22, 0x1f, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x19, 0x12, 0x17, 0x2f, 0x66, 0x61, + 0x69, 0x72, 0x79, 0x72, 0x69, 0x6e, 0x67, 0x2f, 0x70, 0x65, 0x70, 0x2f, 0x6b, 0x65, 0x79, 0x73, + 0x68, 0x61, 0x72, 0x65, 0x12, 0xc3, 0x01, 0x0a, 0x16, 0x53, 0x68, 0x6f, 0x77, 0x50, 0x72, 0x69, + 0x76, 0x61, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x73, 0x68, 0x61, 0x72, 0x65, 0x52, 0x65, 0x71, 0x12, + 0x31, 0x2e, 0x66, 0x61, 0x69, 0x72, 0x79, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x70, 0x65, 0x70, 0x2e, + 0x51, 0x75, 0x65, 0x72, 0x79, 0x53, 0x68, 0x6f, 0x77, 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, + 0x4b, 0x65, 0x79, 0x73, 0x68, 0x61, 0x72, 0x65, 0x52, 0x65, 0x71, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x32, 0x2e, 0x66, 0x61, 0x69, 0x72, 0x79, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x70, + 0x65, 0x70, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x53, 0x68, 0x6f, 0x77, 0x50, 0x72, 0x69, 0x76, + 0x61, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x73, 0x68, 0x61, 0x72, 0x65, 0x52, 0x65, 0x71, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x42, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3c, 0x12, 0x3a, + 0x2f, 0x46, 0x61, 0x69, 0x72, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x2f, 0x66, 0x61, 0x69, 0x72, 0x79, + 0x72, 0x69, 0x6e, 0x67, 0x2f, 0x70, 0x65, 0x70, 0x2f, 0x73, 0x68, 0x6f, 0x77, 0x5f, 0x70, 0x72, + 0x69, 0x76, 0x61, 0x74, 0x65, 0x5f, 0x6b, 0x65, 0x79, 0x73, 0x68, 0x61, 0x72, 0x65, 0x5f, 0x72, + 0x65, 0x71, 0x2f, 0x7b, 0x72, 0x65, 0x71, 0x49, 0x64, 0x7d, 0x12, 0xac, 0x01, 0x0a, 0x0b, 0x44, + 0x65, 0x63, 0x72, 0x79, 0x70, 0x74, 0x44, 0x61, 0x74, 0x61, 0x12, 0x26, 0x2e, 0x66, 0x61, 0x69, + 0x72, 0x79, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x70, 0x65, 0x70, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, + 0x44, 0x65, 0x63, 0x72, 0x79, 0x70, 0x74, 0x44, 0x61, 0x74, 0x61, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x66, 0x61, 0x69, 0x72, 0x79, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x70, + 0x65, 0x70, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x44, 0x65, 0x63, 0x72, 0x79, 0x70, 0x74, 0x44, + 0x61, 0x74, 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x4c, 0x82, 0xd3, 0xe4, + 0x93, 0x02, 0x46, 0x12, 0x44, 0x2f, 0x46, 0x61, 0x69, 0x72, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x2f, + 0x66, 0x61, 0x69, 0x72, 0x79, 0x72, 0x69, 0x6e, 0x67, 0x2f, 0x70, 0x65, 0x70, 0x2f, 0x64, 0x65, + 0x63, 0x72, 0x79, 0x70, 0x74, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x2f, 0x7b, 0x61, 0x67, 0x67, 0x72, + 0x4b, 0x65, 0x79, 0x73, 0x68, 0x61, 0x72, 0x65, 0x7d, 0x2f, 0x7b, 0x65, 0x6e, 0x63, 0x72, 0x79, + 0x70, 0x74, 0x65, 0x64, 0x44, 0x61, 0x74, 0x61, 0x7d, 0x42, 0x94, 0x01, 0x0a, 0x11, 0x63, 0x6f, + 0x6d, 0x2e, 0x66, 0x61, 0x69, 0x72, 0x79, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x70, 0x65, 0x70, 0x42, + 0x0a, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x1e, 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, 0x70, 0x65, 0x70, 0xa2, 0x02, 0x03, + 0x46, 0x50, 0x58, 0xaa, 0x02, 0x0d, 0x46, 0x61, 0x69, 0x72, 0x79, 0x72, 0x69, 0x6e, 0x67, 0x2e, + 0x50, 0x65, 0x70, 0xca, 0x02, 0x0d, 0x46, 0x61, 0x69, 0x72, 0x79, 0x72, 0x69, 0x6e, 0x67, 0x5c, + 0x50, 0x65, 0x70, 0xe2, 0x02, 0x19, 0x46, 0x61, 0x69, 0x72, 0x79, 0x72, 0x69, 0x6e, 0x67, 0x5c, + 0x50, 0x65, 0x70, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, + 0x02, 0x0e, 0x46, 0x61, 0x69, 0x72, 0x79, 0x72, 0x69, 0x6e, 0x67, 0x3a, 0x3a, 0x50, 0x65, 0x70, + 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -9879,7 +12188,7 @@ func file_fairyring_pep_query_proto_rawDescGZIP() []byte { return file_fairyring_pep_query_proto_rawDescData } -var file_fairyring_pep_query_proto_msgTypes = make([]protoimpl.MessageInfo, 20) +var file_fairyring_pep_query_proto_msgTypes = make([]protoimpl.MessageInfo, 24) var file_fairyring_pep_query_proto_goTypes = []interface{}{ (*QueryParamsRequest)(nil), // 0: fairyring.pep.QueryParamsRequest (*QueryParamsResponse)(nil), // 1: fairyring.pep.QueryParamsResponse @@ -9901,58 +12210,68 @@ var file_fairyring_pep_query_proto_goTypes = []interface{}{ (*QueryAllPepNonceResponse)(nil), // 17: fairyring.pep.QueryAllPepNonceResponse (*QueryPubKeyRequest)(nil), // 18: fairyring.pep.QueryPubKeyRequest (*QueryPubKeyResponse)(nil), // 19: fairyring.pep.QueryPubKeyResponse - (*Params)(nil), // 20: fairyring.pep.Params - (*GenEncTxExecutionQueue)(nil), // 21: fairyring.pep.GenEncTxExecutionQueue - (*v1beta1.PageRequest)(nil), // 22: cosmos.base.query.v1beta1.PageRequest - (*v1beta1.PageResponse)(nil), // 23: cosmos.base.query.v1beta1.PageResponse - (*EncryptedTx)(nil), // 24: fairyring.pep.EncryptedTx - (*EncryptedTxArray)(nil), // 25: fairyring.pep.EncryptedTxArray - (*PepNonce)(nil), // 26: fairyring.pep.PepNonce - (*common.ActivePublicKey)(nil), // 27: fairyring.common.ActivePublicKey - (*common.QueuedPublicKey)(nil), // 28: fairyring.common.QueuedPublicKey + (*QueryShowPrivateKeyshareReqRequest)(nil), // 20: fairyring.pep.QueryShowPrivateKeyshareReqRequest + (*QueryShowPrivateKeyshareReqResponse)(nil), // 21: fairyring.pep.QueryShowPrivateKeyshareReqResponse + (*QueryDecryptDataRequest)(nil), // 22: fairyring.pep.QueryDecryptDataRequest + (*QueryDecryptDataResponse)(nil), // 23: fairyring.pep.QueryDecryptDataResponse + (*Params)(nil), // 24: fairyring.pep.Params + (*GenEncTxExecutionQueue)(nil), // 25: fairyring.pep.GenEncTxExecutionQueue + (*v1beta1.PageRequest)(nil), // 26: cosmos.base.query.v1beta1.PageRequest + (*v1beta1.PageResponse)(nil), // 27: cosmos.base.query.v1beta1.PageResponse + (*EncryptedTx)(nil), // 28: fairyring.pep.EncryptedTx + (*EncryptedTxArray)(nil), // 29: fairyring.pep.EncryptedTxArray + (*PepNonce)(nil), // 30: fairyring.pep.PepNonce + (*common.ActivePublicKey)(nil), // 31: fairyring.common.ActivePublicKey + (*common.QueuedPublicKey)(nil), // 32: fairyring.common.QueuedPublicKey + (*common.EncryptedKeyshare)(nil), // 33: fairyring.common.EncryptedKeyshare } var file_fairyring_pep_query_proto_depIdxs = []int32{ - 20, // 0: fairyring.pep.QueryParamsResponse.params:type_name -> fairyring.pep.Params - 21, // 1: fairyring.pep.QueryKeyshareResponse.keyshare:type_name -> fairyring.pep.GenEncTxExecutionQueue - 22, // 2: fairyring.pep.QueryAllKeyshareRequest.pagination:type_name -> cosmos.base.query.v1beta1.PageRequest - 21, // 3: fairyring.pep.QueryAllKeyshareResponse.keyshares:type_name -> fairyring.pep.GenEncTxExecutionQueue - 23, // 4: fairyring.pep.QueryAllKeyshareResponse.pagination:type_name -> cosmos.base.query.v1beta1.PageResponse - 24, // 5: fairyring.pep.QueryGetEncryptedTxResponse.encryptedTx:type_name -> fairyring.pep.EncryptedTx - 22, // 6: fairyring.pep.QueryAllEncryptedTxRequest.pagination:type_name -> cosmos.base.query.v1beta1.PageRequest - 25, // 7: fairyring.pep.QueryAllEncryptedTxResponse.encryptedTxArray:type_name -> fairyring.pep.EncryptedTxArray - 23, // 8: fairyring.pep.QueryAllEncryptedTxResponse.pagination:type_name -> cosmos.base.query.v1beta1.PageResponse - 25, // 9: fairyring.pep.QueryAllEncryptedTxFromHeightResponse.encryptedTxArray:type_name -> fairyring.pep.EncryptedTxArray - 26, // 10: fairyring.pep.QueryGetPepNonceResponse.pepNonce:type_name -> fairyring.pep.PepNonce - 22, // 11: fairyring.pep.QueryAllPepNonceRequest.pagination:type_name -> cosmos.base.query.v1beta1.PageRequest - 26, // 12: fairyring.pep.QueryAllPepNonceResponse.pepNonce:type_name -> fairyring.pep.PepNonce - 23, // 13: fairyring.pep.QueryAllPepNonceResponse.pagination:type_name -> cosmos.base.query.v1beta1.PageResponse - 27, // 14: fairyring.pep.QueryPubKeyResponse.activePubKey:type_name -> fairyring.common.ActivePublicKey - 28, // 15: fairyring.pep.QueryPubKeyResponse.queuedPubKey:type_name -> fairyring.common.QueuedPublicKey - 0, // 16: fairyring.pep.Query.Params:input_type -> fairyring.pep.QueryParamsRequest - 6, // 17: fairyring.pep.Query.EncryptedTx:input_type -> fairyring.pep.QueryGetEncryptedTxRequest - 8, // 18: fairyring.pep.Query.EncryptedTxAll:input_type -> fairyring.pep.QueryAllEncryptedTxRequest - 10, // 19: fairyring.pep.Query.EncryptedTxAllFromHeight:input_type -> fairyring.pep.QueryAllEncryptedTxFromHeightRequest - 12, // 20: fairyring.pep.Query.LatestHeight:input_type -> fairyring.pep.QueryLatestHeightRequest - 14, // 21: fairyring.pep.Query.PepNonce:input_type -> fairyring.pep.QueryGetPepNonceRequest - 16, // 22: fairyring.pep.Query.PepNonceAll:input_type -> fairyring.pep.QueryAllPepNonceRequest - 18, // 23: fairyring.pep.Query.PubKey:input_type -> fairyring.pep.QueryPubKeyRequest - 2, // 24: fairyring.pep.Query.KeyshareReq:input_type -> fairyring.pep.QueryKeyshareRequest - 4, // 25: fairyring.pep.Query.KeyshareReqAll:input_type -> fairyring.pep.QueryAllKeyshareRequest - 1, // 26: fairyring.pep.Query.Params:output_type -> fairyring.pep.QueryParamsResponse - 7, // 27: fairyring.pep.Query.EncryptedTx:output_type -> fairyring.pep.QueryGetEncryptedTxResponse - 9, // 28: fairyring.pep.Query.EncryptedTxAll:output_type -> fairyring.pep.QueryAllEncryptedTxResponse - 11, // 29: fairyring.pep.Query.EncryptedTxAllFromHeight:output_type -> fairyring.pep.QueryAllEncryptedTxFromHeightResponse - 13, // 30: fairyring.pep.Query.LatestHeight:output_type -> fairyring.pep.QueryLatestHeightResponse - 15, // 31: fairyring.pep.Query.PepNonce:output_type -> fairyring.pep.QueryGetPepNonceResponse - 17, // 32: fairyring.pep.Query.PepNonceAll:output_type -> fairyring.pep.QueryAllPepNonceResponse - 19, // 33: fairyring.pep.Query.PubKey:output_type -> fairyring.pep.QueryPubKeyResponse - 3, // 34: fairyring.pep.Query.KeyshareReq:output_type -> fairyring.pep.QueryKeyshareResponse - 5, // 35: fairyring.pep.Query.KeyshareReqAll:output_type -> fairyring.pep.QueryAllKeyshareResponse - 26, // [26:36] is the sub-list for method output_type - 16, // [16:26] is the sub-list for method input_type - 16, // [16:16] is the sub-list for extension type_name - 16, // [16:16] is the sub-list for extension extendee - 0, // [0:16] is the sub-list for field type_name + 24, // 0: fairyring.pep.QueryParamsResponse.params:type_name -> fairyring.pep.Params + 25, // 1: fairyring.pep.QueryKeyshareResponse.keyshare:type_name -> fairyring.pep.GenEncTxExecutionQueue + 26, // 2: fairyring.pep.QueryAllKeyshareRequest.pagination:type_name -> cosmos.base.query.v1beta1.PageRequest + 25, // 3: fairyring.pep.QueryAllKeyshareResponse.keyshares:type_name -> fairyring.pep.GenEncTxExecutionQueue + 27, // 4: fairyring.pep.QueryAllKeyshareResponse.pagination:type_name -> cosmos.base.query.v1beta1.PageResponse + 28, // 5: fairyring.pep.QueryGetEncryptedTxResponse.encryptedTx:type_name -> fairyring.pep.EncryptedTx + 26, // 6: fairyring.pep.QueryAllEncryptedTxRequest.pagination:type_name -> cosmos.base.query.v1beta1.PageRequest + 29, // 7: fairyring.pep.QueryAllEncryptedTxResponse.encryptedTxArray:type_name -> fairyring.pep.EncryptedTxArray + 27, // 8: fairyring.pep.QueryAllEncryptedTxResponse.pagination:type_name -> cosmos.base.query.v1beta1.PageResponse + 29, // 9: fairyring.pep.QueryAllEncryptedTxFromHeightResponse.encryptedTxArray:type_name -> fairyring.pep.EncryptedTxArray + 30, // 10: fairyring.pep.QueryGetPepNonceResponse.pepNonce:type_name -> fairyring.pep.PepNonce + 26, // 11: fairyring.pep.QueryAllPepNonceRequest.pagination:type_name -> cosmos.base.query.v1beta1.PageRequest + 30, // 12: fairyring.pep.QueryAllPepNonceResponse.pepNonce:type_name -> fairyring.pep.PepNonce + 27, // 13: fairyring.pep.QueryAllPepNonceResponse.pagination:type_name -> cosmos.base.query.v1beta1.PageResponse + 31, // 14: fairyring.pep.QueryPubKeyResponse.activePubKey:type_name -> fairyring.common.ActivePublicKey + 32, // 15: fairyring.pep.QueryPubKeyResponse.queuedPubKey:type_name -> fairyring.common.QueuedPublicKey + 33, // 16: fairyring.pep.QueryShowPrivateKeyshareReqResponse.encrypted_keyshares:type_name -> fairyring.common.EncryptedKeyshare + 0, // 17: fairyring.pep.Query.Params:input_type -> fairyring.pep.QueryParamsRequest + 6, // 18: fairyring.pep.Query.EncryptedTx:input_type -> fairyring.pep.QueryGetEncryptedTxRequest + 8, // 19: fairyring.pep.Query.EncryptedTxAll:input_type -> fairyring.pep.QueryAllEncryptedTxRequest + 10, // 20: fairyring.pep.Query.EncryptedTxAllFromHeight:input_type -> fairyring.pep.QueryAllEncryptedTxFromHeightRequest + 12, // 21: fairyring.pep.Query.LatestHeight:input_type -> fairyring.pep.QueryLatestHeightRequest + 14, // 22: fairyring.pep.Query.PepNonce:input_type -> fairyring.pep.QueryGetPepNonceRequest + 16, // 23: fairyring.pep.Query.PepNonceAll:input_type -> fairyring.pep.QueryAllPepNonceRequest + 18, // 24: fairyring.pep.Query.PubKey:input_type -> fairyring.pep.QueryPubKeyRequest + 2, // 25: fairyring.pep.Query.KeyshareReq:input_type -> fairyring.pep.QueryKeyshareRequest + 4, // 26: fairyring.pep.Query.KeyshareReqAll:input_type -> fairyring.pep.QueryAllKeyshareRequest + 20, // 27: fairyring.pep.Query.ShowPrivateKeyshareReq:input_type -> fairyring.pep.QueryShowPrivateKeyshareReqRequest + 22, // 28: fairyring.pep.Query.DecryptData:input_type -> fairyring.pep.QueryDecryptDataRequest + 1, // 29: fairyring.pep.Query.Params:output_type -> fairyring.pep.QueryParamsResponse + 7, // 30: fairyring.pep.Query.EncryptedTx:output_type -> fairyring.pep.QueryGetEncryptedTxResponse + 9, // 31: fairyring.pep.Query.EncryptedTxAll:output_type -> fairyring.pep.QueryAllEncryptedTxResponse + 11, // 32: fairyring.pep.Query.EncryptedTxAllFromHeight:output_type -> fairyring.pep.QueryAllEncryptedTxFromHeightResponse + 13, // 33: fairyring.pep.Query.LatestHeight:output_type -> fairyring.pep.QueryLatestHeightResponse + 15, // 34: fairyring.pep.Query.PepNonce:output_type -> fairyring.pep.QueryGetPepNonceResponse + 17, // 35: fairyring.pep.Query.PepNonceAll:output_type -> fairyring.pep.QueryAllPepNonceResponse + 19, // 36: fairyring.pep.Query.PubKey:output_type -> fairyring.pep.QueryPubKeyResponse + 3, // 37: fairyring.pep.Query.KeyshareReq:output_type -> fairyring.pep.QueryKeyshareResponse + 5, // 38: fairyring.pep.Query.KeyshareReqAll:output_type -> fairyring.pep.QueryAllKeyshareResponse + 21, // 39: fairyring.pep.Query.ShowPrivateKeyshareReq:output_type -> fairyring.pep.QueryShowPrivateKeyshareReqResponse + 23, // 40: fairyring.pep.Query.DecryptData:output_type -> fairyring.pep.QueryDecryptDataResponse + 29, // [29:41] is the sub-list for method output_type + 17, // [17:29] is the sub-list for method input_type + 17, // [17:17] is the sub-list for extension type_name + 17, // [17:17] is the sub-list for extension extendee + 0, // [0:17] is the sub-list for field type_name } func init() { file_fairyring_pep_query_proto_init() } @@ -10205,6 +12524,54 @@ func file_fairyring_pep_query_proto_init() { return nil } } + file_fairyring_pep_query_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*QueryShowPrivateKeyshareReqRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_fairyring_pep_query_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*QueryShowPrivateKeyshareReqResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_fairyring_pep_query_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*QueryDecryptDataRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_fairyring_pep_query_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*QueryDecryptDataResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } } type x struct{} out := protoimpl.TypeBuilder{ @@ -10212,7 +12579,7 @@ func file_fairyring_pep_query_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_fairyring_pep_query_proto_rawDesc, NumEnums: 0, - NumMessages: 20, + NumMessages: 24, NumExtensions: 0, NumServices: 1, }, diff --git a/api/fairyring/pep/query_grpc.pb.go b/api/fairyring/pep/query_grpc.pb.go index 3c3d031c..46318d75 100644 --- a/api/fairyring/pep/query_grpc.pb.go +++ b/api/fairyring/pep/query_grpc.pb.go @@ -29,6 +29,8 @@ const ( Query_PubKey_FullMethodName = "/fairyring.pep.Query/PubKey" Query_KeyshareReq_FullMethodName = "/fairyring.pep.Query/KeyshareReq" Query_KeyshareReqAll_FullMethodName = "/fairyring.pep.Query/KeyshareReqAll" + Query_ShowPrivateKeyshareReq_FullMethodName = "/fairyring.pep.Query/ShowPrivateKeyshareReq" + Query_DecryptData_FullMethodName = "/fairyring.pep.Query/DecryptData" ) // QueryClient is the client API for Query service. @@ -53,6 +55,10 @@ type QueryClient interface { PubKey(ctx context.Context, in *QueryPubKeyRequest, opts ...grpc.CallOption) (*QueryPubKeyResponse, error) KeyshareReq(ctx context.Context, in *QueryKeyshareRequest, opts ...grpc.CallOption) (*QueryKeyshareResponse, error) KeyshareReqAll(ctx context.Context, in *QueryAllKeyshareRequest, opts ...grpc.CallOption) (*QueryAllKeyshareResponse, error) + // Queries a list of ShowPrivateKeyshareReq items. + ShowPrivateKeyshareReq(ctx context.Context, in *QueryShowPrivateKeyshareReqRequest, opts ...grpc.CallOption) (*QueryShowPrivateKeyshareReqResponse, error) + // Queries a list of DecryptData items. + DecryptData(ctx context.Context, in *QueryDecryptDataRequest, opts ...grpc.CallOption) (*QueryDecryptDataResponse, error) } type queryClient struct { @@ -153,6 +159,24 @@ func (c *queryClient) KeyshareReqAll(ctx context.Context, in *QueryAllKeyshareRe return out, nil } +func (c *queryClient) ShowPrivateKeyshareReq(ctx context.Context, in *QueryShowPrivateKeyshareReqRequest, opts ...grpc.CallOption) (*QueryShowPrivateKeyshareReqResponse, error) { + out := new(QueryShowPrivateKeyshareReqResponse) + err := c.cc.Invoke(ctx, Query_ShowPrivateKeyshareReq_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *queryClient) DecryptData(ctx context.Context, in *QueryDecryptDataRequest, opts ...grpc.CallOption) (*QueryDecryptDataResponse, error) { + out := new(QueryDecryptDataResponse) + err := c.cc.Invoke(ctx, Query_DecryptData_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + // QueryServer is the server API for Query service. // All implementations must embed UnimplementedQueryServer // for forward compatibility @@ -175,6 +199,10 @@ type QueryServer interface { PubKey(context.Context, *QueryPubKeyRequest) (*QueryPubKeyResponse, error) KeyshareReq(context.Context, *QueryKeyshareRequest) (*QueryKeyshareResponse, error) KeyshareReqAll(context.Context, *QueryAllKeyshareRequest) (*QueryAllKeyshareResponse, error) + // Queries a list of ShowPrivateKeyshareReq items. + ShowPrivateKeyshareReq(context.Context, *QueryShowPrivateKeyshareReqRequest) (*QueryShowPrivateKeyshareReqResponse, error) + // Queries a list of DecryptData items. + DecryptData(context.Context, *QueryDecryptDataRequest) (*QueryDecryptDataResponse, error) mustEmbedUnimplementedQueryServer() } @@ -212,6 +240,12 @@ func (UnimplementedQueryServer) KeyshareReq(context.Context, *QueryKeyshareReque func (UnimplementedQueryServer) KeyshareReqAll(context.Context, *QueryAllKeyshareRequest) (*QueryAllKeyshareResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method KeyshareReqAll not implemented") } +func (UnimplementedQueryServer) ShowPrivateKeyshareReq(context.Context, *QueryShowPrivateKeyshareReqRequest) (*QueryShowPrivateKeyshareReqResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method ShowPrivateKeyshareReq not implemented") +} +func (UnimplementedQueryServer) DecryptData(context.Context, *QueryDecryptDataRequest) (*QueryDecryptDataResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method DecryptData not implemented") +} func (UnimplementedQueryServer) mustEmbedUnimplementedQueryServer() {} // UnsafeQueryServer may be embedded to opt out of forward compatibility for this service. @@ -405,6 +439,42 @@ func _Query_KeyshareReqAll_Handler(srv interface{}, ctx context.Context, dec fun return interceptor(ctx, in, info, handler) } +func _Query_ShowPrivateKeyshareReq_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(QueryShowPrivateKeyshareReqRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(QueryServer).ShowPrivateKeyshareReq(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: Query_ShowPrivateKeyshareReq_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(QueryServer).ShowPrivateKeyshareReq(ctx, req.(*QueryShowPrivateKeyshareReqRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _Query_DecryptData_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(QueryDecryptDataRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(QueryServer).DecryptData(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: Query_DecryptData_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(QueryServer).DecryptData(ctx, req.(*QueryDecryptDataRequest)) + } + return interceptor(ctx, in, info, handler) +} + // Query_ServiceDesc is the grpc.ServiceDesc for Query service. // It's only intended for direct use with grpc.RegisterService, // and not to be introspected or modified (even as a copy) @@ -452,6 +522,14 @@ var Query_ServiceDesc = grpc.ServiceDesc{ MethodName: "KeyshareReqAll", Handler: _Query_KeyshareReqAll_Handler, }, + { + MethodName: "ShowPrivateKeyshareReq", + Handler: _Query_ShowPrivateKeyshareReq_Handler, + }, + { + MethodName: "DecryptData", + Handler: _Query_DecryptData_Handler, + }, }, Streams: []grpc.StreamDesc{}, Metadata: "fairyring/pep/query.proto", diff --git a/api/fairyring/pep/request_id.pulsar.go b/api/fairyring/pep/request_id.pulsar.go index 5c553fd3..a0f16240 100644 --- a/api/fairyring/pep/request_id.pulsar.go +++ b/api/fairyring/pep/request_id.pulsar.go @@ -2,8 +2,10 @@ package pep import ( + common "github.com/Fairblock/fairyring/api/fairyring/common" fmt "fmt" runtime "github.com/cosmos/cosmos-proto/runtime" + _ "github.com/cosmos/gogoproto/gogoproto" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoiface "google.golang.org/protobuf/runtime/protoiface" protoimpl "google.golang.org/protobuf/runtime/protoimpl" @@ -496,6 +498,692 @@ func (x *fastReflection_RequestId) ProtoMethods() *protoiface.Methods { } } +var _ protoreflect.List = (*_PrivateRequest_5_list)(nil) + +type _PrivateRequest_5_list struct { + list *[]*common.EncryptedKeyshare +} + +func (x *_PrivateRequest_5_list) Len() int { + if x.list == nil { + return 0 + } + return len(*x.list) +} + +func (x *_PrivateRequest_5_list) Get(i int) protoreflect.Value { + return protoreflect.ValueOfMessage((*x.list)[i].ProtoReflect()) +} + +func (x *_PrivateRequest_5_list) Set(i int, value protoreflect.Value) { + valueUnwrapped := value.Message() + concreteValue := valueUnwrapped.Interface().(*common.EncryptedKeyshare) + (*x.list)[i] = concreteValue +} + +func (x *_PrivateRequest_5_list) Append(value protoreflect.Value) { + valueUnwrapped := value.Message() + concreteValue := valueUnwrapped.Interface().(*common.EncryptedKeyshare) + *x.list = append(*x.list, concreteValue) +} + +func (x *_PrivateRequest_5_list) AppendMutable() protoreflect.Value { + v := new(common.EncryptedKeyshare) + *x.list = append(*x.list, v) + return protoreflect.ValueOfMessage(v.ProtoReflect()) +} + +func (x *_PrivateRequest_5_list) Truncate(n int) { + for i := n; i < len(*x.list); i++ { + (*x.list)[i] = nil + } + *x.list = (*x.list)[:n] +} + +func (x *_PrivateRequest_5_list) NewElement() protoreflect.Value { + v := new(common.EncryptedKeyshare) + return protoreflect.ValueOfMessage(v.ProtoReflect()) +} + +func (x *_PrivateRequest_5_list) IsValid() bool { + return x.list != nil +} + +var ( + md_PrivateRequest protoreflect.MessageDescriptor + fd_PrivateRequest_creator protoreflect.FieldDescriptor + fd_PrivateRequest_req_id protoreflect.FieldDescriptor + fd_PrivateRequest_pubkey protoreflect.FieldDescriptor + fd_PrivateRequest_encrypted_keyshares protoreflect.FieldDescriptor +) + +func init() { + file_fairyring_pep_request_id_proto_init() + md_PrivateRequest = File_fairyring_pep_request_id_proto.Messages().ByName("PrivateRequest") + fd_PrivateRequest_creator = md_PrivateRequest.Fields().ByName("creator") + fd_PrivateRequest_req_id = md_PrivateRequest.Fields().ByName("req_id") + fd_PrivateRequest_pubkey = md_PrivateRequest.Fields().ByName("pubkey") + fd_PrivateRequest_encrypted_keyshares = md_PrivateRequest.Fields().ByName("encrypted_keyshares") +} + +var _ protoreflect.Message = (*fastReflection_PrivateRequest)(nil) + +type fastReflection_PrivateRequest PrivateRequest + +func (x *PrivateRequest) ProtoReflect() protoreflect.Message { + return (*fastReflection_PrivateRequest)(x) +} + +func (x *PrivateRequest) slowProtoReflect() protoreflect.Message { + mi := &file_fairyring_pep_request_id_proto_msgTypes[1] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +var _fastReflection_PrivateRequest_messageType fastReflection_PrivateRequest_messageType +var _ protoreflect.MessageType = fastReflection_PrivateRequest_messageType{} + +type fastReflection_PrivateRequest_messageType struct{} + +func (x fastReflection_PrivateRequest_messageType) Zero() protoreflect.Message { + return (*fastReflection_PrivateRequest)(nil) +} +func (x fastReflection_PrivateRequest_messageType) New() protoreflect.Message { + return new(fastReflection_PrivateRequest) +} +func (x fastReflection_PrivateRequest_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_PrivateRequest +} + +// Descriptor returns message descriptor, which contains only the protobuf +// type information for the message. +func (x *fastReflection_PrivateRequest) Descriptor() protoreflect.MessageDescriptor { + return md_PrivateRequest +} + +// Type returns the message type, which encapsulates both Go and protobuf +// type information. If the Go type information is not needed, +// it is recommended that the message descriptor be used instead. +func (x *fastReflection_PrivateRequest) Type() protoreflect.MessageType { + return _fastReflection_PrivateRequest_messageType +} + +// New returns a newly allocated and mutable empty message. +func (x *fastReflection_PrivateRequest) New() protoreflect.Message { + return new(fastReflection_PrivateRequest) +} + +// Interface unwraps the message reflection interface and +// returns the underlying ProtoMessage interface. +func (x *fastReflection_PrivateRequest) Interface() protoreflect.ProtoMessage { + return (*PrivateRequest)(x) +} + +// Range iterates over every populated field in an undefined order, +// calling f for each field descriptor and value encountered. +// Range returns immediately if f returns false. +// While iterating, mutating operations may only be performed +// on the current field descriptor. +func (x *fastReflection_PrivateRequest) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { + if x.Creator != "" { + value := protoreflect.ValueOfString(x.Creator) + if !f(fd_PrivateRequest_creator, value) { + return + } + } + if x.ReqId != "" { + value := protoreflect.ValueOfString(x.ReqId) + if !f(fd_PrivateRequest_req_id, value) { + return + } + } + if x.Pubkey != "" { + value := protoreflect.ValueOfString(x.Pubkey) + if !f(fd_PrivateRequest_pubkey, value) { + return + } + } + if len(x.EncryptedKeyshares) != 0 { + value := protoreflect.ValueOfList(&_PrivateRequest_5_list{list: &x.EncryptedKeyshares}) + if !f(fd_PrivateRequest_encrypted_keyshares, value) { + return + } + } +} + +// Has reports whether a field is populated. +// +// Some fields have the property of nullability where it is possible to +// distinguish between the default value of a field and whether the field +// was explicitly populated with the default value. Singular message fields, +// member fields of a oneof, and proto2 scalar fields are nullable. Such +// fields are populated only if explicitly set. +// +// In other cases (aside from the nullable cases above), +// a proto3 scalar field is populated if it contains a non-zero value, and +// a repeated field is populated if it is non-empty. +func (x *fastReflection_PrivateRequest) Has(fd protoreflect.FieldDescriptor) bool { + switch fd.FullName() { + case "fairyring.pep.PrivateRequest.creator": + return x.Creator != "" + case "fairyring.pep.PrivateRequest.req_id": + return x.ReqId != "" + case "fairyring.pep.PrivateRequest.pubkey": + return x.Pubkey != "" + case "fairyring.pep.PrivateRequest.encrypted_keyshares": + return len(x.EncryptedKeyshares) != 0 + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: fairyring.pep.PrivateRequest")) + } + panic(fmt.Errorf("message fairyring.pep.PrivateRequest does not contain field %s", fd.FullName())) + } +} + +// Clear clears the field such that a subsequent Has call reports false. +// +// Clearing an extension field clears both the extension type and value +// associated with the given field number. +// +// Clear is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_PrivateRequest) Clear(fd protoreflect.FieldDescriptor) { + switch fd.FullName() { + case "fairyring.pep.PrivateRequest.creator": + x.Creator = "" + case "fairyring.pep.PrivateRequest.req_id": + x.ReqId = "" + case "fairyring.pep.PrivateRequest.pubkey": + x.Pubkey = "" + case "fairyring.pep.PrivateRequest.encrypted_keyshares": + x.EncryptedKeyshares = nil + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: fairyring.pep.PrivateRequest")) + } + panic(fmt.Errorf("message fairyring.pep.PrivateRequest does not contain field %s", fd.FullName())) + } +} + +// Get retrieves the value for a field. +// +// For unpopulated scalars, it returns the default value, where +// the default value of a bytes scalar is guaranteed to be a copy. +// For unpopulated composite types, it returns an empty, read-only view +// of the value; to obtain a mutable reference, use Mutable. +func (x *fastReflection_PrivateRequest) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { + switch descriptor.FullName() { + case "fairyring.pep.PrivateRequest.creator": + value := x.Creator + return protoreflect.ValueOfString(value) + case "fairyring.pep.PrivateRequest.req_id": + value := x.ReqId + return protoreflect.ValueOfString(value) + case "fairyring.pep.PrivateRequest.pubkey": + value := x.Pubkey + return protoreflect.ValueOfString(value) + case "fairyring.pep.PrivateRequest.encrypted_keyshares": + if len(x.EncryptedKeyshares) == 0 { + return protoreflect.ValueOfList(&_PrivateRequest_5_list{}) + } + listValue := &_PrivateRequest_5_list{list: &x.EncryptedKeyshares} + return protoreflect.ValueOfList(listValue) + default: + if descriptor.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: fairyring.pep.PrivateRequest")) + } + panic(fmt.Errorf("message fairyring.pep.PrivateRequest does not contain field %s", descriptor.FullName())) + } +} + +// Set stores the value for a field. +// +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType. +// When setting a composite type, it is unspecified whether the stored value +// aliases the source's memory in any way. If the composite value is an +// empty, read-only value, then it panics. +// +// Set is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_PrivateRequest) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { + switch fd.FullName() { + case "fairyring.pep.PrivateRequest.creator": + x.Creator = value.Interface().(string) + case "fairyring.pep.PrivateRequest.req_id": + x.ReqId = value.Interface().(string) + case "fairyring.pep.PrivateRequest.pubkey": + x.Pubkey = value.Interface().(string) + case "fairyring.pep.PrivateRequest.encrypted_keyshares": + lv := value.List() + clv := lv.(*_PrivateRequest_5_list) + x.EncryptedKeyshares = *clv.list + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: fairyring.pep.PrivateRequest")) + } + panic(fmt.Errorf("message fairyring.pep.PrivateRequest does not contain field %s", fd.FullName())) + } +} + +// Mutable returns a mutable reference to a composite type. +// +// If the field is unpopulated, it may allocate a composite value. +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType +// if not already stored. +// It panics if the field does not contain a composite type. +// +// Mutable is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_PrivateRequest) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "fairyring.pep.PrivateRequest.encrypted_keyshares": + if x.EncryptedKeyshares == nil { + x.EncryptedKeyshares = []*common.EncryptedKeyshare{} + } + value := &_PrivateRequest_5_list{list: &x.EncryptedKeyshares} + return protoreflect.ValueOfList(value) + case "fairyring.pep.PrivateRequest.creator": + panic(fmt.Errorf("field creator of message fairyring.pep.PrivateRequest is not mutable")) + case "fairyring.pep.PrivateRequest.req_id": + panic(fmt.Errorf("field req_id of message fairyring.pep.PrivateRequest is not mutable")) + case "fairyring.pep.PrivateRequest.pubkey": + panic(fmt.Errorf("field pubkey of message fairyring.pep.PrivateRequest is not mutable")) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: fairyring.pep.PrivateRequest")) + } + panic(fmt.Errorf("message fairyring.pep.PrivateRequest does not contain field %s", fd.FullName())) + } +} + +// NewField returns a new value that is assignable to the field +// for the given descriptor. For scalars, this returns the default value. +// For lists, maps, and messages, this returns a new, empty, mutable value. +func (x *fastReflection_PrivateRequest) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "fairyring.pep.PrivateRequest.creator": + return protoreflect.ValueOfString("") + case "fairyring.pep.PrivateRequest.req_id": + return protoreflect.ValueOfString("") + case "fairyring.pep.PrivateRequest.pubkey": + return protoreflect.ValueOfString("") + case "fairyring.pep.PrivateRequest.encrypted_keyshares": + list := []*common.EncryptedKeyshare{} + return protoreflect.ValueOfList(&_PrivateRequest_5_list{list: &list}) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: fairyring.pep.PrivateRequest")) + } + panic(fmt.Errorf("message fairyring.pep.PrivateRequest does not contain field %s", fd.FullName())) + } +} + +// WhichOneof reports which field within the oneof is populated, +// returning nil if none are populated. +// It panics if the oneof descriptor does not belong to this message. +func (x *fastReflection_PrivateRequest) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { + switch d.FullName() { + default: + panic(fmt.Errorf("%s is not a oneof field in fairyring.pep.PrivateRequest", d.FullName())) + } + panic("unreachable") +} + +// GetUnknown retrieves the entire list of unknown fields. +// The caller may only mutate the contents of the RawFields +// if the mutated bytes are stored back into the message with SetUnknown. +func (x *fastReflection_PrivateRequest) GetUnknown() protoreflect.RawFields { + return x.unknownFields +} + +// SetUnknown stores an entire list of unknown fields. +// The raw fields must be syntactically valid according to the wire format. +// An implementation may panic if this is not the case. +// Once stored, the caller must not mutate the content of the RawFields. +// An empty RawFields may be passed to clear the fields. +// +// SetUnknown is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_PrivateRequest) SetUnknown(fields protoreflect.RawFields) { + x.unknownFields = fields +} + +// IsValid reports whether the message is valid. +// +// An invalid message is an empty, read-only value. +// +// An invalid message often corresponds to a nil pointer of the concrete +// message type, but the details are implementation dependent. +// Validity is not part of the protobuf data model, and may not +// be preserved in marshaling or other operations. +func (x *fastReflection_PrivateRequest) IsValid() bool { + return x != nil +} + +// ProtoMethods returns optional fastReflectionFeature-path implementations of various operations. +// This method may return nil. +// +// The returned methods type is identical to +// "google.golang.org/protobuf/runtime/protoiface".Methods. +// Consult the protoiface package documentation for details. +func (x *fastReflection_PrivateRequest) ProtoMethods() *protoiface.Methods { + size := func(input protoiface.SizeInput) protoiface.SizeOutput { + x := input.Message.Interface().(*PrivateRequest) + if x == nil { + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: 0, + } + } + options := runtime.SizeInputToOptions(input) + _ = options + var n int + var l int + _ = l + l = len(x.Creator) + if l > 0 { + n += 1 + l + runtime.Sov(uint64(l)) + } + l = len(x.ReqId) + if l > 0 { + n += 1 + l + runtime.Sov(uint64(l)) + } + l = len(x.Pubkey) + if l > 0 { + n += 1 + l + runtime.Sov(uint64(l)) + } + if len(x.EncryptedKeyshares) > 0 { + for _, e := range x.EncryptedKeyshares { + l = options.Size(e) + n += 1 + l + runtime.Sov(uint64(l)) + } + } + if x.unknownFields != nil { + n += len(x.unknownFields) + } + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: n, + } + } + + marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { + x := input.Message.Interface().(*PrivateRequest) + if x == nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + options := runtime.MarshalInputToOptions(input) + _ = options + size := options.Size(x) + dAtA := make([]byte, size) + i := len(dAtA) + _ = i + var l int + _ = l + if x.unknownFields != nil { + i -= len(x.unknownFields) + copy(dAtA[i:], x.unknownFields) + } + if len(x.EncryptedKeyshares) > 0 { + for iNdEx := len(x.EncryptedKeyshares) - 1; iNdEx >= 0; iNdEx-- { + encoded, err := options.Marshal(x.EncryptedKeyshares[iNdEx]) + if err != nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = runtime.EncodeVarint(dAtA, i, uint64(len(encoded))) + i-- + dAtA[i] = 0x2a + } + } + if len(x.Pubkey) > 0 { + i -= len(x.Pubkey) + copy(dAtA[i:], x.Pubkey) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Pubkey))) + i-- + dAtA[i] = 0x1a + } + if len(x.ReqId) > 0 { + i -= len(x.ReqId) + copy(dAtA[i:], x.ReqId) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.ReqId))) + i-- + dAtA[i] = 0x12 + } + if len(x.Creator) > 0 { + i -= len(x.Creator) + copy(dAtA[i:], x.Creator) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Creator))) + i-- + dAtA[i] = 0xa + } + if input.Buf != nil { + input.Buf = append(input.Buf, dAtA...) + } else { + input.Buf = dAtA + } + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { + x := input.Message.Interface().(*PrivateRequest) + if x == nil { + return protoiface.UnmarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Flags: input.Flags, + }, nil + } + options := runtime.UnmarshalInputToOptions(input) + _ = options + dAtA := input.Buf + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + 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++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: PrivateRequest: wiretype end group for non-group") + } + if fieldNum <= 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: PrivateRequest: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Creator", wireType) + } + var stringLen uint64 + 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++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + x.Creator = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field ReqId", wireType) + } + var stringLen uint64 + 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++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + x.ReqId = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 3: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Pubkey", wireType) + } + var stringLen uint64 + 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++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + x.Pubkey = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 5: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field EncryptedKeyshares", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + x.EncryptedKeyshares = append(x.EncryptedKeyshares, &common.EncryptedKeyshare{}) + if err := options.Unmarshal(dAtA[iNdEx:postIndex], x.EncryptedKeyshares[len(x.EncryptedKeyshares)-1]); err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := runtime.Skip(dAtA[iNdEx:]) + if err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if !options.DiscardUnknown { + x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + } + iNdEx += skippy + } + } + + if iNdEx > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil + } + return &protoiface.Methods{ + NoUnkeyedLiterals: struct{}{}, + Flags: protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown, + Size: size, + Marshal: marshal, + Unmarshal: unmarshal, + Merge: nil, + CheckInitialized: nil, + } +} + // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.27.0 @@ -552,26 +1240,100 @@ func (x *RequestId) GetReqId() string { return "" } +type PrivateRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Creator string `protobuf:"bytes,1,opt,name=creator,proto3" json:"creator,omitempty"` + ReqId string `protobuf:"bytes,2,opt,name=req_id,json=reqId,proto3" json:"req_id,omitempty"` + Pubkey string `protobuf:"bytes,3,opt,name=pubkey,proto3" json:"pubkey,omitempty"` + EncryptedKeyshares []*common.EncryptedKeyshare `protobuf:"bytes,5,rep,name=encrypted_keyshares,json=encryptedKeyshares,proto3" json:"encrypted_keyshares,omitempty"` +} + +func (x *PrivateRequest) Reset() { + *x = PrivateRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_fairyring_pep_request_id_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PrivateRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PrivateRequest) ProtoMessage() {} + +// Deprecated: Use PrivateRequest.ProtoReflect.Descriptor instead. +func (*PrivateRequest) Descriptor() ([]byte, []int) { + return file_fairyring_pep_request_id_proto_rawDescGZIP(), []int{1} +} + +func (x *PrivateRequest) GetCreator() string { + if x != nil { + return x.Creator + } + return "" +} + +func (x *PrivateRequest) GetReqId() string { + if x != nil { + return x.ReqId + } + return "" +} + +func (x *PrivateRequest) GetPubkey() string { + if x != nil { + return x.Pubkey + } + return "" +} + +func (x *PrivateRequest) GetEncryptedKeyshares() []*common.EncryptedKeyshare { + if x != nil { + return x.EncryptedKeyshares + } + return nil +} + var File_fairyring_pep_request_id_proto protoreflect.FileDescriptor var file_fairyring_pep_request_id_proto_rawDesc = []byte{ 0x0a, 0x1e, 0x66, 0x61, 0x69, 0x72, 0x79, 0x72, 0x69, 0x6e, 0x67, 0x2f, 0x70, 0x65, 0x70, 0x2f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x12, 0x0d, 0x66, 0x61, 0x69, 0x72, 0x79, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x70, 0x65, 0x70, 0x22, - 0x3b, 0x0a, 0x09, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 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, 0x14, 0x0a, 0x05, 0x72, 0x65, 0x71, 0x49, 0x64, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x72, 0x65, 0x71, 0x49, 0x64, 0x42, 0x98, 0x01, 0x0a, - 0x11, 0x63, 0x6f, 0x6d, 0x2e, 0x66, 0x61, 0x69, 0x72, 0x79, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x70, - 0x65, 0x70, 0x42, 0x0e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x50, 0x72, 0x6f, - 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x1e, 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, 0x70, 0x65, 0x70, 0xa2, 0x02, 0x03, 0x46, 0x50, 0x58, 0xaa, 0x02, 0x0d, 0x46, 0x61, 0x69, - 0x72, 0x79, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x50, 0x65, 0x70, 0xca, 0x02, 0x0d, 0x46, 0x61, 0x69, - 0x72, 0x79, 0x72, 0x69, 0x6e, 0x67, 0x5c, 0x50, 0x65, 0x70, 0xe2, 0x02, 0x19, 0x46, 0x61, 0x69, - 0x72, 0x79, 0x72, 0x69, 0x6e, 0x67, 0x5c, 0x50, 0x65, 0x70, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, - 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x0e, 0x46, 0x61, 0x69, 0x72, 0x79, 0x72, 0x69, - 0x6e, 0x67, 0x3a, 0x3a, 0x50, 0x65, 0x70, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x12, 0x0d, 0x66, 0x61, 0x69, 0x72, 0x79, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x70, 0x65, 0x70, 0x1a, + 0x14, 0x67, 0x6f, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x67, 0x6f, 0x67, 0x6f, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x23, 0x66, 0x61, 0x69, 0x72, 0x79, 0x72, 0x69, 0x6e, 0x67, + 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x73, 0x68, 0x61, 0x72, 0x65, 0x64, 0x5f, 0x74, + 0x79, 0x70, 0x65, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x3b, 0x0a, 0x09, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 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, 0x14, 0x0a, 0x05, 0x72, 0x65, 0x71, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x05, 0x72, 0x65, 0x71, 0x49, 0x64, 0x22, 0xaf, 0x01, 0x0a, 0x0e, 0x50, 0x72, 0x69, 0x76, + 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 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, 0x15, 0x0a, 0x06, 0x72, 0x65, 0x71, 0x5f, 0x69, 0x64, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x72, 0x65, 0x71, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x70, + 0x75, 0x62, 0x6b, 0x65, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x70, 0x75, 0x62, + 0x6b, 0x65, 0x79, 0x12, 0x54, 0x0a, 0x13, 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x65, 0x64, + 0x5f, 0x6b, 0x65, 0x79, 0x73, 0x68, 0x61, 0x72, 0x65, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x23, 0x2e, 0x66, 0x61, 0x69, 0x72, 0x79, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x63, 0x6f, 0x6d, + 0x6d, 0x6f, 0x6e, 0x2e, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x65, 0x64, 0x4b, 0x65, 0x79, + 0x73, 0x68, 0x61, 0x72, 0x65, 0x52, 0x12, 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x65, 0x64, + 0x4b, 0x65, 0x79, 0x73, 0x68, 0x61, 0x72, 0x65, 0x73, 0x42, 0x98, 0x01, 0x0a, 0x11, 0x63, 0x6f, + 0x6d, 0x2e, 0x66, 0x61, 0x69, 0x72, 0x79, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x70, 0x65, 0x70, 0x42, + 0x0e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, + 0x01, 0x5a, 0x1e, 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, 0x70, 0x65, + 0x70, 0xa2, 0x02, 0x03, 0x46, 0x50, 0x58, 0xaa, 0x02, 0x0d, 0x46, 0x61, 0x69, 0x72, 0x79, 0x72, + 0x69, 0x6e, 0x67, 0x2e, 0x50, 0x65, 0x70, 0xca, 0x02, 0x0d, 0x46, 0x61, 0x69, 0x72, 0x79, 0x72, + 0x69, 0x6e, 0x67, 0x5c, 0x50, 0x65, 0x70, 0xe2, 0x02, 0x19, 0x46, 0x61, 0x69, 0x72, 0x79, 0x72, + 0x69, 0x6e, 0x67, 0x5c, 0x50, 0x65, 0x70, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, + 0x61, 0x74, 0x61, 0xea, 0x02, 0x0e, 0x46, 0x61, 0x69, 0x72, 0x79, 0x72, 0x69, 0x6e, 0x67, 0x3a, + 0x3a, 0x50, 0x65, 0x70, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -586,16 +1348,19 @@ func file_fairyring_pep_request_id_proto_rawDescGZIP() []byte { return file_fairyring_pep_request_id_proto_rawDescData } -var file_fairyring_pep_request_id_proto_msgTypes = make([]protoimpl.MessageInfo, 1) +var file_fairyring_pep_request_id_proto_msgTypes = make([]protoimpl.MessageInfo, 2) var file_fairyring_pep_request_id_proto_goTypes = []interface{}{ - (*RequestId)(nil), // 0: fairyring.pep.RequestId + (*RequestId)(nil), // 0: fairyring.pep.RequestId + (*PrivateRequest)(nil), // 1: fairyring.pep.PrivateRequest + (*common.EncryptedKeyshare)(nil), // 2: fairyring.common.EncryptedKeyshare } var file_fairyring_pep_request_id_proto_depIdxs = []int32{ - 0, // [0:0] is the sub-list for method output_type - 0, // [0:0] is the sub-list for method input_type - 0, // [0:0] is the sub-list for extension type_name - 0, // [0:0] is the sub-list for extension extendee - 0, // [0:0] is the sub-list for field type_name + 2, // 0: fairyring.pep.PrivateRequest.encrypted_keyshares:type_name -> fairyring.common.EncryptedKeyshare + 1, // [1:1] is the sub-list for method output_type + 1, // [1:1] is the sub-list for method input_type + 1, // [1:1] is the sub-list for extension type_name + 1, // [1:1] is the sub-list for extension extendee + 0, // [0:1] is the sub-list for field type_name } func init() { file_fairyring_pep_request_id_proto_init() } @@ -616,6 +1381,18 @@ func file_fairyring_pep_request_id_proto_init() { return nil } } + file_fairyring_pep_request_id_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PrivateRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } } type x struct{} out := protoimpl.TypeBuilder{ @@ -623,7 +1400,7 @@ func file_fairyring_pep_request_id_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_fairyring_pep_request_id_proto_rawDesc, NumEnums: 0, - NumMessages: 1, + NumMessages: 2, NumExtensions: 0, NumServices: 0, }, diff --git a/api/fairyring/pep/tx.pulsar.go b/api/fairyring/pep/tx.pulsar.go index af77ca66..e1d052aa 100644 --- a/api/fairyring/pep/tx.pulsar.go +++ b/api/fairyring/pep/tx.pulsar.go @@ -3,6 +3,7 @@ package pep import ( _ "cosmossdk.io/api/amino" + _ "cosmossdk.io/api/cosmos/base/v1beta1" _ "cosmossdk.io/api/cosmos/msg/v1" fmt "fmt" _ "github.com/cosmos/cosmos-proto" @@ -5019,6 +5020,1814 @@ func (x *fastReflection_MsgGetGeneralKeyshareResponse) ProtoMethods() *protoifac } } +var ( + md_MsgRequestPrivateIdentity protoreflect.MessageDescriptor + fd_MsgRequestPrivateIdentity_creator protoreflect.FieldDescriptor + fd_MsgRequestPrivateIdentity_reqId protoreflect.FieldDescriptor +) + +func init() { + file_fairyring_pep_tx_proto_init() + md_MsgRequestPrivateIdentity = File_fairyring_pep_tx_proto.Messages().ByName("MsgRequestPrivateIdentity") + fd_MsgRequestPrivateIdentity_creator = md_MsgRequestPrivateIdentity.Fields().ByName("creator") + fd_MsgRequestPrivateIdentity_reqId = md_MsgRequestPrivateIdentity.Fields().ByName("reqId") +} + +var _ protoreflect.Message = (*fastReflection_MsgRequestPrivateIdentity)(nil) + +type fastReflection_MsgRequestPrivateIdentity MsgRequestPrivateIdentity + +func (x *MsgRequestPrivateIdentity) ProtoReflect() protoreflect.Message { + return (*fastReflection_MsgRequestPrivateIdentity)(x) +} + +func (x *MsgRequestPrivateIdentity) slowProtoReflect() protoreflect.Message { + mi := &file_fairyring_pep_tx_proto_msgTypes[11] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +var _fastReflection_MsgRequestPrivateIdentity_messageType fastReflection_MsgRequestPrivateIdentity_messageType +var _ protoreflect.MessageType = fastReflection_MsgRequestPrivateIdentity_messageType{} + +type fastReflection_MsgRequestPrivateIdentity_messageType struct{} + +func (x fastReflection_MsgRequestPrivateIdentity_messageType) Zero() protoreflect.Message { + return (*fastReflection_MsgRequestPrivateIdentity)(nil) +} +func (x fastReflection_MsgRequestPrivateIdentity_messageType) New() protoreflect.Message { + return new(fastReflection_MsgRequestPrivateIdentity) +} +func (x fastReflection_MsgRequestPrivateIdentity_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_MsgRequestPrivateIdentity +} + +// Descriptor returns message descriptor, which contains only the protobuf +// type information for the message. +func (x *fastReflection_MsgRequestPrivateIdentity) Descriptor() protoreflect.MessageDescriptor { + return md_MsgRequestPrivateIdentity +} + +// Type returns the message type, which encapsulates both Go and protobuf +// type information. If the Go type information is not needed, +// it is recommended that the message descriptor be used instead. +func (x *fastReflection_MsgRequestPrivateIdentity) Type() protoreflect.MessageType { + return _fastReflection_MsgRequestPrivateIdentity_messageType +} + +// New returns a newly allocated and mutable empty message. +func (x *fastReflection_MsgRequestPrivateIdentity) New() protoreflect.Message { + return new(fastReflection_MsgRequestPrivateIdentity) +} + +// Interface unwraps the message reflection interface and +// returns the underlying ProtoMessage interface. +func (x *fastReflection_MsgRequestPrivateIdentity) Interface() protoreflect.ProtoMessage { + return (*MsgRequestPrivateIdentity)(x) +} + +// Range iterates over every populated field in an undefined order, +// calling f for each field descriptor and value encountered. +// Range returns immediately if f returns false. +// While iterating, mutating operations may only be performed +// on the current field descriptor. +func (x *fastReflection_MsgRequestPrivateIdentity) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { + if x.Creator != "" { + value := protoreflect.ValueOfString(x.Creator) + if !f(fd_MsgRequestPrivateIdentity_creator, value) { + return + } + } + if x.ReqId != "" { + value := protoreflect.ValueOfString(x.ReqId) + if !f(fd_MsgRequestPrivateIdentity_reqId, value) { + return + } + } +} + +// Has reports whether a field is populated. +// +// Some fields have the property of nullability where it is possible to +// distinguish between the default value of a field and whether the field +// was explicitly populated with the default value. Singular message fields, +// member fields of a oneof, and proto2 scalar fields are nullable. Such +// fields are populated only if explicitly set. +// +// In other cases (aside from the nullable cases above), +// a proto3 scalar field is populated if it contains a non-zero value, and +// a repeated field is populated if it is non-empty. +func (x *fastReflection_MsgRequestPrivateIdentity) Has(fd protoreflect.FieldDescriptor) bool { + switch fd.FullName() { + case "fairyring.pep.MsgRequestPrivateIdentity.creator": + return x.Creator != "" + case "fairyring.pep.MsgRequestPrivateIdentity.reqId": + return x.ReqId != "" + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: fairyring.pep.MsgRequestPrivateIdentity")) + } + panic(fmt.Errorf("message fairyring.pep.MsgRequestPrivateIdentity does not contain field %s", fd.FullName())) + } +} + +// Clear clears the field such that a subsequent Has call reports false. +// +// Clearing an extension field clears both the extension type and value +// associated with the given field number. +// +// Clear is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgRequestPrivateIdentity) Clear(fd protoreflect.FieldDescriptor) { + switch fd.FullName() { + case "fairyring.pep.MsgRequestPrivateIdentity.creator": + x.Creator = "" + case "fairyring.pep.MsgRequestPrivateIdentity.reqId": + x.ReqId = "" + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: fairyring.pep.MsgRequestPrivateIdentity")) + } + panic(fmt.Errorf("message fairyring.pep.MsgRequestPrivateIdentity does not contain field %s", fd.FullName())) + } +} + +// Get retrieves the value for a field. +// +// For unpopulated scalars, it returns the default value, where +// the default value of a bytes scalar is guaranteed to be a copy. +// For unpopulated composite types, it returns an empty, read-only view +// of the value; to obtain a mutable reference, use Mutable. +func (x *fastReflection_MsgRequestPrivateIdentity) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { + switch descriptor.FullName() { + case "fairyring.pep.MsgRequestPrivateIdentity.creator": + value := x.Creator + return protoreflect.ValueOfString(value) + case "fairyring.pep.MsgRequestPrivateIdentity.reqId": + value := x.ReqId + return protoreflect.ValueOfString(value) + default: + if descriptor.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: fairyring.pep.MsgRequestPrivateIdentity")) + } + panic(fmt.Errorf("message fairyring.pep.MsgRequestPrivateIdentity does not contain field %s", descriptor.FullName())) + } +} + +// Set stores the value for a field. +// +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType. +// When setting a composite type, it is unspecified whether the stored value +// aliases the source's memory in any way. If the composite value is an +// empty, read-only value, then it panics. +// +// Set is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgRequestPrivateIdentity) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { + switch fd.FullName() { + case "fairyring.pep.MsgRequestPrivateIdentity.creator": + x.Creator = value.Interface().(string) + case "fairyring.pep.MsgRequestPrivateIdentity.reqId": + x.ReqId = value.Interface().(string) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: fairyring.pep.MsgRequestPrivateIdentity")) + } + panic(fmt.Errorf("message fairyring.pep.MsgRequestPrivateIdentity does not contain field %s", fd.FullName())) + } +} + +// Mutable returns a mutable reference to a composite type. +// +// If the field is unpopulated, it may allocate a composite value. +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType +// if not already stored. +// It panics if the field does not contain a composite type. +// +// Mutable is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgRequestPrivateIdentity) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "fairyring.pep.MsgRequestPrivateIdentity.creator": + panic(fmt.Errorf("field creator of message fairyring.pep.MsgRequestPrivateIdentity is not mutable")) + case "fairyring.pep.MsgRequestPrivateIdentity.reqId": + panic(fmt.Errorf("field reqId of message fairyring.pep.MsgRequestPrivateIdentity is not mutable")) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: fairyring.pep.MsgRequestPrivateIdentity")) + } + panic(fmt.Errorf("message fairyring.pep.MsgRequestPrivateIdentity does not contain field %s", fd.FullName())) + } +} + +// NewField returns a new value that is assignable to the field +// for the given descriptor. For scalars, this returns the default value. +// For lists, maps, and messages, this returns a new, empty, mutable value. +func (x *fastReflection_MsgRequestPrivateIdentity) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "fairyring.pep.MsgRequestPrivateIdentity.creator": + return protoreflect.ValueOfString("") + case "fairyring.pep.MsgRequestPrivateIdentity.reqId": + return protoreflect.ValueOfString("") + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: fairyring.pep.MsgRequestPrivateIdentity")) + } + panic(fmt.Errorf("message fairyring.pep.MsgRequestPrivateIdentity does not contain field %s", fd.FullName())) + } +} + +// WhichOneof reports which field within the oneof is populated, +// returning nil if none are populated. +// It panics if the oneof descriptor does not belong to this message. +func (x *fastReflection_MsgRequestPrivateIdentity) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { + switch d.FullName() { + default: + panic(fmt.Errorf("%s is not a oneof field in fairyring.pep.MsgRequestPrivateIdentity", d.FullName())) + } + panic("unreachable") +} + +// GetUnknown retrieves the entire list of unknown fields. +// The caller may only mutate the contents of the RawFields +// if the mutated bytes are stored back into the message with SetUnknown. +func (x *fastReflection_MsgRequestPrivateIdentity) GetUnknown() protoreflect.RawFields { + return x.unknownFields +} + +// SetUnknown stores an entire list of unknown fields. +// The raw fields must be syntactically valid according to the wire format. +// An implementation may panic if this is not the case. +// Once stored, the caller must not mutate the content of the RawFields. +// An empty RawFields may be passed to clear the fields. +// +// SetUnknown is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgRequestPrivateIdentity) SetUnknown(fields protoreflect.RawFields) { + x.unknownFields = fields +} + +// IsValid reports whether the message is valid. +// +// An invalid message is an empty, read-only value. +// +// An invalid message often corresponds to a nil pointer of the concrete +// message type, but the details are implementation dependent. +// Validity is not part of the protobuf data model, and may not +// be preserved in marshaling or other operations. +func (x *fastReflection_MsgRequestPrivateIdentity) IsValid() bool { + return x != nil +} + +// ProtoMethods returns optional fastReflectionFeature-path implementations of various operations. +// This method may return nil. +// +// The returned methods type is identical to +// "google.golang.org/protobuf/runtime/protoiface".Methods. +// Consult the protoiface package documentation for details. +func (x *fastReflection_MsgRequestPrivateIdentity) ProtoMethods() *protoiface.Methods { + size := func(input protoiface.SizeInput) protoiface.SizeOutput { + x := input.Message.Interface().(*MsgRequestPrivateIdentity) + if x == nil { + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: 0, + } + } + options := runtime.SizeInputToOptions(input) + _ = options + var n int + var l int + _ = l + l = len(x.Creator) + if l > 0 { + n += 1 + l + runtime.Sov(uint64(l)) + } + l = len(x.ReqId) + if l > 0 { + n += 1 + l + runtime.Sov(uint64(l)) + } + if x.unknownFields != nil { + n += len(x.unknownFields) + } + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: n, + } + } + + marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { + x := input.Message.Interface().(*MsgRequestPrivateIdentity) + if x == nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + options := runtime.MarshalInputToOptions(input) + _ = options + size := options.Size(x) + dAtA := make([]byte, size) + i := len(dAtA) + _ = i + var l int + _ = l + if x.unknownFields != nil { + i -= len(x.unknownFields) + copy(dAtA[i:], x.unknownFields) + } + if len(x.ReqId) > 0 { + i -= len(x.ReqId) + copy(dAtA[i:], x.ReqId) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.ReqId))) + i-- + dAtA[i] = 0x12 + } + if len(x.Creator) > 0 { + i -= len(x.Creator) + copy(dAtA[i:], x.Creator) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Creator))) + i-- + dAtA[i] = 0xa + } + if input.Buf != nil { + input.Buf = append(input.Buf, dAtA...) + } else { + input.Buf = dAtA + } + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { + x := input.Message.Interface().(*MsgRequestPrivateIdentity) + if x == nil { + return protoiface.UnmarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Flags: input.Flags, + }, nil + } + options := runtime.UnmarshalInputToOptions(input) + _ = options + dAtA := input.Buf + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + 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++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgRequestPrivateIdentity: wiretype end group for non-group") + } + if fieldNum <= 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgRequestPrivateIdentity: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Creator", wireType) + } + var stringLen uint64 + 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++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + x.Creator = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field ReqId", wireType) + } + var stringLen uint64 + 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++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + x.ReqId = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := runtime.Skip(dAtA[iNdEx:]) + if err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if !options.DiscardUnknown { + x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + } + iNdEx += skippy + } + } + + if iNdEx > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil + } + return &protoiface.Methods{ + NoUnkeyedLiterals: struct{}{}, + Flags: protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown, + Size: size, + Marshal: marshal, + Unmarshal: unmarshal, + Merge: nil, + CheckInitialized: nil, + } +} + +var ( + md_MsgRequestPrivateIdentityResponse protoreflect.MessageDescriptor + fd_MsgRequestPrivateIdentityResponse_req_id protoreflect.FieldDescriptor +) + +func init() { + file_fairyring_pep_tx_proto_init() + md_MsgRequestPrivateIdentityResponse = File_fairyring_pep_tx_proto.Messages().ByName("MsgRequestPrivateIdentityResponse") + fd_MsgRequestPrivateIdentityResponse_req_id = md_MsgRequestPrivateIdentityResponse.Fields().ByName("req_id") +} + +var _ protoreflect.Message = (*fastReflection_MsgRequestPrivateIdentityResponse)(nil) + +type fastReflection_MsgRequestPrivateIdentityResponse MsgRequestPrivateIdentityResponse + +func (x *MsgRequestPrivateIdentityResponse) ProtoReflect() protoreflect.Message { + return (*fastReflection_MsgRequestPrivateIdentityResponse)(x) +} + +func (x *MsgRequestPrivateIdentityResponse) slowProtoReflect() protoreflect.Message { + mi := &file_fairyring_pep_tx_proto_msgTypes[12] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +var _fastReflection_MsgRequestPrivateIdentityResponse_messageType fastReflection_MsgRequestPrivateIdentityResponse_messageType +var _ protoreflect.MessageType = fastReflection_MsgRequestPrivateIdentityResponse_messageType{} + +type fastReflection_MsgRequestPrivateIdentityResponse_messageType struct{} + +func (x fastReflection_MsgRequestPrivateIdentityResponse_messageType) Zero() protoreflect.Message { + return (*fastReflection_MsgRequestPrivateIdentityResponse)(nil) +} +func (x fastReflection_MsgRequestPrivateIdentityResponse_messageType) New() protoreflect.Message { + return new(fastReflection_MsgRequestPrivateIdentityResponse) +} +func (x fastReflection_MsgRequestPrivateIdentityResponse_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_MsgRequestPrivateIdentityResponse +} + +// Descriptor returns message descriptor, which contains only the protobuf +// type information for the message. +func (x *fastReflection_MsgRequestPrivateIdentityResponse) Descriptor() protoreflect.MessageDescriptor { + return md_MsgRequestPrivateIdentityResponse +} + +// Type returns the message type, which encapsulates both Go and protobuf +// type information. If the Go type information is not needed, +// it is recommended that the message descriptor be used instead. +func (x *fastReflection_MsgRequestPrivateIdentityResponse) Type() protoreflect.MessageType { + return _fastReflection_MsgRequestPrivateIdentityResponse_messageType +} + +// New returns a newly allocated and mutable empty message. +func (x *fastReflection_MsgRequestPrivateIdentityResponse) New() protoreflect.Message { + return new(fastReflection_MsgRequestPrivateIdentityResponse) +} + +// Interface unwraps the message reflection interface and +// returns the underlying ProtoMessage interface. +func (x *fastReflection_MsgRequestPrivateIdentityResponse) Interface() protoreflect.ProtoMessage { + return (*MsgRequestPrivateIdentityResponse)(x) +} + +// Range iterates over every populated field in an undefined order, +// calling f for each field descriptor and value encountered. +// Range returns immediately if f returns false. +// While iterating, mutating operations may only be performed +// on the current field descriptor. +func (x *fastReflection_MsgRequestPrivateIdentityResponse) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { + if x.ReqId != "" { + value := protoreflect.ValueOfString(x.ReqId) + if !f(fd_MsgRequestPrivateIdentityResponse_req_id, value) { + return + } + } +} + +// Has reports whether a field is populated. +// +// Some fields have the property of nullability where it is possible to +// distinguish between the default value of a field and whether the field +// was explicitly populated with the default value. Singular message fields, +// member fields of a oneof, and proto2 scalar fields are nullable. Such +// fields are populated only if explicitly set. +// +// In other cases (aside from the nullable cases above), +// a proto3 scalar field is populated if it contains a non-zero value, and +// a repeated field is populated if it is non-empty. +func (x *fastReflection_MsgRequestPrivateIdentityResponse) Has(fd protoreflect.FieldDescriptor) bool { + switch fd.FullName() { + case "fairyring.pep.MsgRequestPrivateIdentityResponse.req_id": + return x.ReqId != "" + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: fairyring.pep.MsgRequestPrivateIdentityResponse")) + } + panic(fmt.Errorf("message fairyring.pep.MsgRequestPrivateIdentityResponse does not contain field %s", fd.FullName())) + } +} + +// Clear clears the field such that a subsequent Has call reports false. +// +// Clearing an extension field clears both the extension type and value +// associated with the given field number. +// +// Clear is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgRequestPrivateIdentityResponse) Clear(fd protoreflect.FieldDescriptor) { + switch fd.FullName() { + case "fairyring.pep.MsgRequestPrivateIdentityResponse.req_id": + x.ReqId = "" + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: fairyring.pep.MsgRequestPrivateIdentityResponse")) + } + panic(fmt.Errorf("message fairyring.pep.MsgRequestPrivateIdentityResponse does not contain field %s", fd.FullName())) + } +} + +// Get retrieves the value for a field. +// +// For unpopulated scalars, it returns the default value, where +// the default value of a bytes scalar is guaranteed to be a copy. +// For unpopulated composite types, it returns an empty, read-only view +// of the value; to obtain a mutable reference, use Mutable. +func (x *fastReflection_MsgRequestPrivateIdentityResponse) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { + switch descriptor.FullName() { + case "fairyring.pep.MsgRequestPrivateIdentityResponse.req_id": + value := x.ReqId + return protoreflect.ValueOfString(value) + default: + if descriptor.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: fairyring.pep.MsgRequestPrivateIdentityResponse")) + } + panic(fmt.Errorf("message fairyring.pep.MsgRequestPrivateIdentityResponse does not contain field %s", descriptor.FullName())) + } +} + +// Set stores the value for a field. +// +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType. +// When setting a composite type, it is unspecified whether the stored value +// aliases the source's memory in any way. If the composite value is an +// empty, read-only value, then it panics. +// +// Set is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgRequestPrivateIdentityResponse) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { + switch fd.FullName() { + case "fairyring.pep.MsgRequestPrivateIdentityResponse.req_id": + x.ReqId = value.Interface().(string) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: fairyring.pep.MsgRequestPrivateIdentityResponse")) + } + panic(fmt.Errorf("message fairyring.pep.MsgRequestPrivateIdentityResponse does not contain field %s", fd.FullName())) + } +} + +// Mutable returns a mutable reference to a composite type. +// +// If the field is unpopulated, it may allocate a composite value. +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType +// if not already stored. +// It panics if the field does not contain a composite type. +// +// Mutable is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgRequestPrivateIdentityResponse) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "fairyring.pep.MsgRequestPrivateIdentityResponse.req_id": + panic(fmt.Errorf("field req_id of message fairyring.pep.MsgRequestPrivateIdentityResponse is not mutable")) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: fairyring.pep.MsgRequestPrivateIdentityResponse")) + } + panic(fmt.Errorf("message fairyring.pep.MsgRequestPrivateIdentityResponse does not contain field %s", fd.FullName())) + } +} + +// NewField returns a new value that is assignable to the field +// for the given descriptor. For scalars, this returns the default value. +// For lists, maps, and messages, this returns a new, empty, mutable value. +func (x *fastReflection_MsgRequestPrivateIdentityResponse) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "fairyring.pep.MsgRequestPrivateIdentityResponse.req_id": + return protoreflect.ValueOfString("") + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: fairyring.pep.MsgRequestPrivateIdentityResponse")) + } + panic(fmt.Errorf("message fairyring.pep.MsgRequestPrivateIdentityResponse does not contain field %s", fd.FullName())) + } +} + +// WhichOneof reports which field within the oneof is populated, +// returning nil if none are populated. +// It panics if the oneof descriptor does not belong to this message. +func (x *fastReflection_MsgRequestPrivateIdentityResponse) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { + switch d.FullName() { + default: + panic(fmt.Errorf("%s is not a oneof field in fairyring.pep.MsgRequestPrivateIdentityResponse", d.FullName())) + } + panic("unreachable") +} + +// GetUnknown retrieves the entire list of unknown fields. +// The caller may only mutate the contents of the RawFields +// if the mutated bytes are stored back into the message with SetUnknown. +func (x *fastReflection_MsgRequestPrivateIdentityResponse) GetUnknown() protoreflect.RawFields { + return x.unknownFields +} + +// SetUnknown stores an entire list of unknown fields. +// The raw fields must be syntactically valid according to the wire format. +// An implementation may panic if this is not the case. +// Once stored, the caller must not mutate the content of the RawFields. +// An empty RawFields may be passed to clear the fields. +// +// SetUnknown is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgRequestPrivateIdentityResponse) SetUnknown(fields protoreflect.RawFields) { + x.unknownFields = fields +} + +// IsValid reports whether the message is valid. +// +// An invalid message is an empty, read-only value. +// +// An invalid message often corresponds to a nil pointer of the concrete +// message type, but the details are implementation dependent. +// Validity is not part of the protobuf data model, and may not +// be preserved in marshaling or other operations. +func (x *fastReflection_MsgRequestPrivateIdentityResponse) IsValid() bool { + return x != nil +} + +// ProtoMethods returns optional fastReflectionFeature-path implementations of various operations. +// This method may return nil. +// +// The returned methods type is identical to +// "google.golang.org/protobuf/runtime/protoiface".Methods. +// Consult the protoiface package documentation for details. +func (x *fastReflection_MsgRequestPrivateIdentityResponse) ProtoMethods() *protoiface.Methods { + size := func(input protoiface.SizeInput) protoiface.SizeOutput { + x := input.Message.Interface().(*MsgRequestPrivateIdentityResponse) + if x == nil { + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: 0, + } + } + options := runtime.SizeInputToOptions(input) + _ = options + var n int + var l int + _ = l + l = len(x.ReqId) + if l > 0 { + n += 1 + l + runtime.Sov(uint64(l)) + } + if x.unknownFields != nil { + n += len(x.unknownFields) + } + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: n, + } + } + + marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { + x := input.Message.Interface().(*MsgRequestPrivateIdentityResponse) + if x == nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + options := runtime.MarshalInputToOptions(input) + _ = options + size := options.Size(x) + dAtA := make([]byte, size) + i := len(dAtA) + _ = i + var l int + _ = l + if x.unknownFields != nil { + i -= len(x.unknownFields) + copy(dAtA[i:], x.unknownFields) + } + if len(x.ReqId) > 0 { + i -= len(x.ReqId) + copy(dAtA[i:], x.ReqId) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.ReqId))) + i-- + dAtA[i] = 0xa + } + if input.Buf != nil { + input.Buf = append(input.Buf, dAtA...) + } else { + input.Buf = dAtA + } + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { + x := input.Message.Interface().(*MsgRequestPrivateIdentityResponse) + if x == nil { + return protoiface.UnmarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Flags: input.Flags, + }, nil + } + options := runtime.UnmarshalInputToOptions(input) + _ = options + dAtA := input.Buf + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + 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++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgRequestPrivateIdentityResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgRequestPrivateIdentityResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field ReqId", wireType) + } + var stringLen uint64 + 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++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + x.ReqId = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := runtime.Skip(dAtA[iNdEx:]) + if err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if !options.DiscardUnknown { + x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + } + iNdEx += skippy + } + } + + if iNdEx > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil + } + return &protoiface.Methods{ + NoUnkeyedLiterals: struct{}{}, + Flags: protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown, + Size: size, + Marshal: marshal, + Unmarshal: unmarshal, + Merge: nil, + CheckInitialized: nil, + } +} + +var ( + md_MsgGetPrivateKeyshares protoreflect.MessageDescriptor + fd_MsgGetPrivateKeyshares_creator protoreflect.FieldDescriptor + fd_MsgGetPrivateKeyshares_reqId protoreflect.FieldDescriptor + fd_MsgGetPrivateKeyshares_secp_pubkey protoreflect.FieldDescriptor +) + +func init() { + file_fairyring_pep_tx_proto_init() + md_MsgGetPrivateKeyshares = File_fairyring_pep_tx_proto.Messages().ByName("MsgGetPrivateKeyshares") + fd_MsgGetPrivateKeyshares_creator = md_MsgGetPrivateKeyshares.Fields().ByName("creator") + fd_MsgGetPrivateKeyshares_reqId = md_MsgGetPrivateKeyshares.Fields().ByName("reqId") + fd_MsgGetPrivateKeyshares_secp_pubkey = md_MsgGetPrivateKeyshares.Fields().ByName("secp_pubkey") +} + +var _ protoreflect.Message = (*fastReflection_MsgGetPrivateKeyshares)(nil) + +type fastReflection_MsgGetPrivateKeyshares MsgGetPrivateKeyshares + +func (x *MsgGetPrivateKeyshares) ProtoReflect() protoreflect.Message { + return (*fastReflection_MsgGetPrivateKeyshares)(x) +} + +func (x *MsgGetPrivateKeyshares) slowProtoReflect() protoreflect.Message { + mi := &file_fairyring_pep_tx_proto_msgTypes[13] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +var _fastReflection_MsgGetPrivateKeyshares_messageType fastReflection_MsgGetPrivateKeyshares_messageType +var _ protoreflect.MessageType = fastReflection_MsgGetPrivateKeyshares_messageType{} + +type fastReflection_MsgGetPrivateKeyshares_messageType struct{} + +func (x fastReflection_MsgGetPrivateKeyshares_messageType) Zero() protoreflect.Message { + return (*fastReflection_MsgGetPrivateKeyshares)(nil) +} +func (x fastReflection_MsgGetPrivateKeyshares_messageType) New() protoreflect.Message { + return new(fastReflection_MsgGetPrivateKeyshares) +} +func (x fastReflection_MsgGetPrivateKeyshares_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_MsgGetPrivateKeyshares +} + +// Descriptor returns message descriptor, which contains only the protobuf +// type information for the message. +func (x *fastReflection_MsgGetPrivateKeyshares) Descriptor() protoreflect.MessageDescriptor { + return md_MsgGetPrivateKeyshares +} + +// Type returns the message type, which encapsulates both Go and protobuf +// type information. If the Go type information is not needed, +// it is recommended that the message descriptor be used instead. +func (x *fastReflection_MsgGetPrivateKeyshares) Type() protoreflect.MessageType { + return _fastReflection_MsgGetPrivateKeyshares_messageType +} + +// New returns a newly allocated and mutable empty message. +func (x *fastReflection_MsgGetPrivateKeyshares) New() protoreflect.Message { + return new(fastReflection_MsgGetPrivateKeyshares) +} + +// Interface unwraps the message reflection interface and +// returns the underlying ProtoMessage interface. +func (x *fastReflection_MsgGetPrivateKeyshares) Interface() protoreflect.ProtoMessage { + return (*MsgGetPrivateKeyshares)(x) +} + +// Range iterates over every populated field in an undefined order, +// calling f for each field descriptor and value encountered. +// Range returns immediately if f returns false. +// While iterating, mutating operations may only be performed +// on the current field descriptor. +func (x *fastReflection_MsgGetPrivateKeyshares) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { + if x.Creator != "" { + value := protoreflect.ValueOfString(x.Creator) + if !f(fd_MsgGetPrivateKeyshares_creator, value) { + return + } + } + if x.ReqId != "" { + value := protoreflect.ValueOfString(x.ReqId) + if !f(fd_MsgGetPrivateKeyshares_reqId, value) { + return + } + } + if x.SecpPubkey != "" { + value := protoreflect.ValueOfString(x.SecpPubkey) + if !f(fd_MsgGetPrivateKeyshares_secp_pubkey, value) { + return + } + } +} + +// Has reports whether a field is populated. +// +// Some fields have the property of nullability where it is possible to +// distinguish between the default value of a field and whether the field +// was explicitly populated with the default value. Singular message fields, +// member fields of a oneof, and proto2 scalar fields are nullable. Such +// fields are populated only if explicitly set. +// +// In other cases (aside from the nullable cases above), +// a proto3 scalar field is populated if it contains a non-zero value, and +// a repeated field is populated if it is non-empty. +func (x *fastReflection_MsgGetPrivateKeyshares) Has(fd protoreflect.FieldDescriptor) bool { + switch fd.FullName() { + case "fairyring.pep.MsgGetPrivateKeyshares.creator": + return x.Creator != "" + case "fairyring.pep.MsgGetPrivateKeyshares.reqId": + return x.ReqId != "" + case "fairyring.pep.MsgGetPrivateKeyshares.secp_pubkey": + return x.SecpPubkey != "" + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: fairyring.pep.MsgGetPrivateKeyshares")) + } + panic(fmt.Errorf("message fairyring.pep.MsgGetPrivateKeyshares does not contain field %s", fd.FullName())) + } +} + +// Clear clears the field such that a subsequent Has call reports false. +// +// Clearing an extension field clears both the extension type and value +// associated with the given field number. +// +// Clear is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgGetPrivateKeyshares) Clear(fd protoreflect.FieldDescriptor) { + switch fd.FullName() { + case "fairyring.pep.MsgGetPrivateKeyshares.creator": + x.Creator = "" + case "fairyring.pep.MsgGetPrivateKeyshares.reqId": + x.ReqId = "" + case "fairyring.pep.MsgGetPrivateKeyshares.secp_pubkey": + x.SecpPubkey = "" + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: fairyring.pep.MsgGetPrivateKeyshares")) + } + panic(fmt.Errorf("message fairyring.pep.MsgGetPrivateKeyshares does not contain field %s", fd.FullName())) + } +} + +// Get retrieves the value for a field. +// +// For unpopulated scalars, it returns the default value, where +// the default value of a bytes scalar is guaranteed to be a copy. +// For unpopulated composite types, it returns an empty, read-only view +// of the value; to obtain a mutable reference, use Mutable. +func (x *fastReflection_MsgGetPrivateKeyshares) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { + switch descriptor.FullName() { + case "fairyring.pep.MsgGetPrivateKeyshares.creator": + value := x.Creator + return protoreflect.ValueOfString(value) + case "fairyring.pep.MsgGetPrivateKeyshares.reqId": + value := x.ReqId + return protoreflect.ValueOfString(value) + case "fairyring.pep.MsgGetPrivateKeyshares.secp_pubkey": + value := x.SecpPubkey + return protoreflect.ValueOfString(value) + default: + if descriptor.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: fairyring.pep.MsgGetPrivateKeyshares")) + } + panic(fmt.Errorf("message fairyring.pep.MsgGetPrivateKeyshares does not contain field %s", descriptor.FullName())) + } +} + +// Set stores the value for a field. +// +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType. +// When setting a composite type, it is unspecified whether the stored value +// aliases the source's memory in any way. If the composite value is an +// empty, read-only value, then it panics. +// +// Set is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgGetPrivateKeyshares) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { + switch fd.FullName() { + case "fairyring.pep.MsgGetPrivateKeyshares.creator": + x.Creator = value.Interface().(string) + case "fairyring.pep.MsgGetPrivateKeyshares.reqId": + x.ReqId = value.Interface().(string) + case "fairyring.pep.MsgGetPrivateKeyshares.secp_pubkey": + x.SecpPubkey = value.Interface().(string) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: fairyring.pep.MsgGetPrivateKeyshares")) + } + panic(fmt.Errorf("message fairyring.pep.MsgGetPrivateKeyshares does not contain field %s", fd.FullName())) + } +} + +// Mutable returns a mutable reference to a composite type. +// +// If the field is unpopulated, it may allocate a composite value. +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType +// if not already stored. +// It panics if the field does not contain a composite type. +// +// Mutable is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgGetPrivateKeyshares) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "fairyring.pep.MsgGetPrivateKeyshares.creator": + panic(fmt.Errorf("field creator of message fairyring.pep.MsgGetPrivateKeyshares is not mutable")) + case "fairyring.pep.MsgGetPrivateKeyshares.reqId": + panic(fmt.Errorf("field reqId of message fairyring.pep.MsgGetPrivateKeyshares is not mutable")) + case "fairyring.pep.MsgGetPrivateKeyshares.secp_pubkey": + panic(fmt.Errorf("field secp_pubkey of message fairyring.pep.MsgGetPrivateKeyshares is not mutable")) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: fairyring.pep.MsgGetPrivateKeyshares")) + } + panic(fmt.Errorf("message fairyring.pep.MsgGetPrivateKeyshares does not contain field %s", fd.FullName())) + } +} + +// NewField returns a new value that is assignable to the field +// for the given descriptor. For scalars, this returns the default value. +// For lists, maps, and messages, this returns a new, empty, mutable value. +func (x *fastReflection_MsgGetPrivateKeyshares) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "fairyring.pep.MsgGetPrivateKeyshares.creator": + return protoreflect.ValueOfString("") + case "fairyring.pep.MsgGetPrivateKeyshares.reqId": + return protoreflect.ValueOfString("") + case "fairyring.pep.MsgGetPrivateKeyshares.secp_pubkey": + return protoreflect.ValueOfString("") + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: fairyring.pep.MsgGetPrivateKeyshares")) + } + panic(fmt.Errorf("message fairyring.pep.MsgGetPrivateKeyshares does not contain field %s", fd.FullName())) + } +} + +// WhichOneof reports which field within the oneof is populated, +// returning nil if none are populated. +// It panics if the oneof descriptor does not belong to this message. +func (x *fastReflection_MsgGetPrivateKeyshares) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { + switch d.FullName() { + default: + panic(fmt.Errorf("%s is not a oneof field in fairyring.pep.MsgGetPrivateKeyshares", d.FullName())) + } + panic("unreachable") +} + +// GetUnknown retrieves the entire list of unknown fields. +// The caller may only mutate the contents of the RawFields +// if the mutated bytes are stored back into the message with SetUnknown. +func (x *fastReflection_MsgGetPrivateKeyshares) GetUnknown() protoreflect.RawFields { + return x.unknownFields +} + +// SetUnknown stores an entire list of unknown fields. +// The raw fields must be syntactically valid according to the wire format. +// An implementation may panic if this is not the case. +// Once stored, the caller must not mutate the content of the RawFields. +// An empty RawFields may be passed to clear the fields. +// +// SetUnknown is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgGetPrivateKeyshares) SetUnknown(fields protoreflect.RawFields) { + x.unknownFields = fields +} + +// IsValid reports whether the message is valid. +// +// An invalid message is an empty, read-only value. +// +// An invalid message often corresponds to a nil pointer of the concrete +// message type, but the details are implementation dependent. +// Validity is not part of the protobuf data model, and may not +// be preserved in marshaling or other operations. +func (x *fastReflection_MsgGetPrivateKeyshares) IsValid() bool { + return x != nil +} + +// ProtoMethods returns optional fastReflectionFeature-path implementations of various operations. +// This method may return nil. +// +// The returned methods type is identical to +// "google.golang.org/protobuf/runtime/protoiface".Methods. +// Consult the protoiface package documentation for details. +func (x *fastReflection_MsgGetPrivateKeyshares) ProtoMethods() *protoiface.Methods { + size := func(input protoiface.SizeInput) protoiface.SizeOutput { + x := input.Message.Interface().(*MsgGetPrivateKeyshares) + if x == nil { + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: 0, + } + } + options := runtime.SizeInputToOptions(input) + _ = options + var n int + var l int + _ = l + l = len(x.Creator) + if l > 0 { + n += 1 + l + runtime.Sov(uint64(l)) + } + l = len(x.ReqId) + if l > 0 { + n += 1 + l + runtime.Sov(uint64(l)) + } + l = len(x.SecpPubkey) + if l > 0 { + n += 1 + l + runtime.Sov(uint64(l)) + } + if x.unknownFields != nil { + n += len(x.unknownFields) + } + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: n, + } + } + + marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { + x := input.Message.Interface().(*MsgGetPrivateKeyshares) + if x == nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + options := runtime.MarshalInputToOptions(input) + _ = options + size := options.Size(x) + dAtA := make([]byte, size) + i := len(dAtA) + _ = i + var l int + _ = l + if x.unknownFields != nil { + i -= len(x.unknownFields) + copy(dAtA[i:], x.unknownFields) + } + if len(x.SecpPubkey) > 0 { + i -= len(x.SecpPubkey) + copy(dAtA[i:], x.SecpPubkey) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.SecpPubkey))) + i-- + dAtA[i] = 0x1a + } + if len(x.ReqId) > 0 { + i -= len(x.ReqId) + copy(dAtA[i:], x.ReqId) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.ReqId))) + i-- + dAtA[i] = 0x12 + } + if len(x.Creator) > 0 { + i -= len(x.Creator) + copy(dAtA[i:], x.Creator) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Creator))) + i-- + dAtA[i] = 0xa + } + if input.Buf != nil { + input.Buf = append(input.Buf, dAtA...) + } else { + input.Buf = dAtA + } + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { + x := input.Message.Interface().(*MsgGetPrivateKeyshares) + if x == nil { + return protoiface.UnmarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Flags: input.Flags, + }, nil + } + options := runtime.UnmarshalInputToOptions(input) + _ = options + dAtA := input.Buf + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + 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++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgGetPrivateKeyshares: wiretype end group for non-group") + } + if fieldNum <= 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgGetPrivateKeyshares: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Creator", wireType) + } + var stringLen uint64 + 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++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + x.Creator = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field ReqId", wireType) + } + var stringLen uint64 + 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++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + x.ReqId = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 3: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field SecpPubkey", wireType) + } + var stringLen uint64 + 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++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + x.SecpPubkey = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := runtime.Skip(dAtA[iNdEx:]) + if err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if !options.DiscardUnknown { + x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + } + iNdEx += skippy + } + } + + if iNdEx > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil + } + return &protoiface.Methods{ + NoUnkeyedLiterals: struct{}{}, + Flags: protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown, + Size: size, + Marshal: marshal, + Unmarshal: unmarshal, + Merge: nil, + CheckInitialized: nil, + } +} + +var ( + md_MsgGetPrivateKeysharesResponse protoreflect.MessageDescriptor +) + +func init() { + file_fairyring_pep_tx_proto_init() + md_MsgGetPrivateKeysharesResponse = File_fairyring_pep_tx_proto.Messages().ByName("MsgGetPrivateKeysharesResponse") +} + +var _ protoreflect.Message = (*fastReflection_MsgGetPrivateKeysharesResponse)(nil) + +type fastReflection_MsgGetPrivateKeysharesResponse MsgGetPrivateKeysharesResponse + +func (x *MsgGetPrivateKeysharesResponse) ProtoReflect() protoreflect.Message { + return (*fastReflection_MsgGetPrivateKeysharesResponse)(x) +} + +func (x *MsgGetPrivateKeysharesResponse) slowProtoReflect() protoreflect.Message { + mi := &file_fairyring_pep_tx_proto_msgTypes[14] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +var _fastReflection_MsgGetPrivateKeysharesResponse_messageType fastReflection_MsgGetPrivateKeysharesResponse_messageType +var _ protoreflect.MessageType = fastReflection_MsgGetPrivateKeysharesResponse_messageType{} + +type fastReflection_MsgGetPrivateKeysharesResponse_messageType struct{} + +func (x fastReflection_MsgGetPrivateKeysharesResponse_messageType) Zero() protoreflect.Message { + return (*fastReflection_MsgGetPrivateKeysharesResponse)(nil) +} +func (x fastReflection_MsgGetPrivateKeysharesResponse_messageType) New() protoreflect.Message { + return new(fastReflection_MsgGetPrivateKeysharesResponse) +} +func (x fastReflection_MsgGetPrivateKeysharesResponse_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_MsgGetPrivateKeysharesResponse +} + +// Descriptor returns message descriptor, which contains only the protobuf +// type information for the message. +func (x *fastReflection_MsgGetPrivateKeysharesResponse) Descriptor() protoreflect.MessageDescriptor { + return md_MsgGetPrivateKeysharesResponse +} + +// Type returns the message type, which encapsulates both Go and protobuf +// type information. If the Go type information is not needed, +// it is recommended that the message descriptor be used instead. +func (x *fastReflection_MsgGetPrivateKeysharesResponse) Type() protoreflect.MessageType { + return _fastReflection_MsgGetPrivateKeysharesResponse_messageType +} + +// New returns a newly allocated and mutable empty message. +func (x *fastReflection_MsgGetPrivateKeysharesResponse) New() protoreflect.Message { + return new(fastReflection_MsgGetPrivateKeysharesResponse) +} + +// Interface unwraps the message reflection interface and +// returns the underlying ProtoMessage interface. +func (x *fastReflection_MsgGetPrivateKeysharesResponse) Interface() protoreflect.ProtoMessage { + return (*MsgGetPrivateKeysharesResponse)(x) +} + +// Range iterates over every populated field in an undefined order, +// calling f for each field descriptor and value encountered. +// Range returns immediately if f returns false. +// While iterating, mutating operations may only be performed +// on the current field descriptor. +func (x *fastReflection_MsgGetPrivateKeysharesResponse) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { +} + +// Has reports whether a field is populated. +// +// Some fields have the property of nullability where it is possible to +// distinguish between the default value of a field and whether the field +// was explicitly populated with the default value. Singular message fields, +// member fields of a oneof, and proto2 scalar fields are nullable. Such +// fields are populated only if explicitly set. +// +// In other cases (aside from the nullable cases above), +// a proto3 scalar field is populated if it contains a non-zero value, and +// a repeated field is populated if it is non-empty. +func (x *fastReflection_MsgGetPrivateKeysharesResponse) Has(fd protoreflect.FieldDescriptor) bool { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: fairyring.pep.MsgGetPrivateKeysharesResponse")) + } + panic(fmt.Errorf("message fairyring.pep.MsgGetPrivateKeysharesResponse does not contain field %s", fd.FullName())) + } +} + +// Clear clears the field such that a subsequent Has call reports false. +// +// Clearing an extension field clears both the extension type and value +// associated with the given field number. +// +// Clear is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgGetPrivateKeysharesResponse) Clear(fd protoreflect.FieldDescriptor) { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: fairyring.pep.MsgGetPrivateKeysharesResponse")) + } + panic(fmt.Errorf("message fairyring.pep.MsgGetPrivateKeysharesResponse does not contain field %s", fd.FullName())) + } +} + +// Get retrieves the value for a field. +// +// For unpopulated scalars, it returns the default value, where +// the default value of a bytes scalar is guaranteed to be a copy. +// For unpopulated composite types, it returns an empty, read-only view +// of the value; to obtain a mutable reference, use Mutable. +func (x *fastReflection_MsgGetPrivateKeysharesResponse) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { + switch descriptor.FullName() { + default: + if descriptor.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: fairyring.pep.MsgGetPrivateKeysharesResponse")) + } + panic(fmt.Errorf("message fairyring.pep.MsgGetPrivateKeysharesResponse does not contain field %s", descriptor.FullName())) + } +} + +// Set stores the value for a field. +// +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType. +// When setting a composite type, it is unspecified whether the stored value +// aliases the source's memory in any way. If the composite value is an +// empty, read-only value, then it panics. +// +// Set is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgGetPrivateKeysharesResponse) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: fairyring.pep.MsgGetPrivateKeysharesResponse")) + } + panic(fmt.Errorf("message fairyring.pep.MsgGetPrivateKeysharesResponse does not contain field %s", fd.FullName())) + } +} + +// Mutable returns a mutable reference to a composite type. +// +// If the field is unpopulated, it may allocate a composite value. +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType +// if not already stored. +// It panics if the field does not contain a composite type. +// +// Mutable is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgGetPrivateKeysharesResponse) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: fairyring.pep.MsgGetPrivateKeysharesResponse")) + } + panic(fmt.Errorf("message fairyring.pep.MsgGetPrivateKeysharesResponse does not contain field %s", fd.FullName())) + } +} + +// NewField returns a new value that is assignable to the field +// for the given descriptor. For scalars, this returns the default value. +// For lists, maps, and messages, this returns a new, empty, mutable value. +func (x *fastReflection_MsgGetPrivateKeysharesResponse) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: fairyring.pep.MsgGetPrivateKeysharesResponse")) + } + panic(fmt.Errorf("message fairyring.pep.MsgGetPrivateKeysharesResponse does not contain field %s", fd.FullName())) + } +} + +// WhichOneof reports which field within the oneof is populated, +// returning nil if none are populated. +// It panics if the oneof descriptor does not belong to this message. +func (x *fastReflection_MsgGetPrivateKeysharesResponse) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { + switch d.FullName() { + default: + panic(fmt.Errorf("%s is not a oneof field in fairyring.pep.MsgGetPrivateKeysharesResponse", d.FullName())) + } + panic("unreachable") +} + +// GetUnknown retrieves the entire list of unknown fields. +// The caller may only mutate the contents of the RawFields +// if the mutated bytes are stored back into the message with SetUnknown. +func (x *fastReflection_MsgGetPrivateKeysharesResponse) GetUnknown() protoreflect.RawFields { + return x.unknownFields +} + +// SetUnknown stores an entire list of unknown fields. +// The raw fields must be syntactically valid according to the wire format. +// An implementation may panic if this is not the case. +// Once stored, the caller must not mutate the content of the RawFields. +// An empty RawFields may be passed to clear the fields. +// +// SetUnknown is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgGetPrivateKeysharesResponse) SetUnknown(fields protoreflect.RawFields) { + x.unknownFields = fields +} + +// IsValid reports whether the message is valid. +// +// An invalid message is an empty, read-only value. +// +// An invalid message often corresponds to a nil pointer of the concrete +// message type, but the details are implementation dependent. +// Validity is not part of the protobuf data model, and may not +// be preserved in marshaling or other operations. +func (x *fastReflection_MsgGetPrivateKeysharesResponse) IsValid() bool { + return x != nil +} + +// ProtoMethods returns optional fastReflectionFeature-path implementations of various operations. +// This method may return nil. +// +// The returned methods type is identical to +// "google.golang.org/protobuf/runtime/protoiface".Methods. +// Consult the protoiface package documentation for details. +func (x *fastReflection_MsgGetPrivateKeysharesResponse) ProtoMethods() *protoiface.Methods { + size := func(input protoiface.SizeInput) protoiface.SizeOutput { + x := input.Message.Interface().(*MsgGetPrivateKeysharesResponse) + if x == nil { + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: 0, + } + } + options := runtime.SizeInputToOptions(input) + _ = options + var n int + var l int + _ = l + if x.unknownFields != nil { + n += len(x.unknownFields) + } + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: n, + } + } + + marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { + x := input.Message.Interface().(*MsgGetPrivateKeysharesResponse) + if x == nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + options := runtime.MarshalInputToOptions(input) + _ = options + size := options.Size(x) + dAtA := make([]byte, size) + i := len(dAtA) + _ = i + var l int + _ = l + if x.unknownFields != nil { + i -= len(x.unknownFields) + copy(dAtA[i:], x.unknownFields) + } + if input.Buf != nil { + input.Buf = append(input.Buf, dAtA...) + } else { + input.Buf = dAtA + } + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { + x := input.Message.Interface().(*MsgGetPrivateKeysharesResponse) + if x == nil { + return protoiface.UnmarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Flags: input.Flags, + }, nil + } + options := runtime.UnmarshalInputToOptions(input) + _ = options + dAtA := input.Buf + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + 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++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgGetPrivateKeysharesResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgGetPrivateKeysharesResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + default: + iNdEx = preIndex + skippy, err := runtime.Skip(dAtA[iNdEx:]) + if err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if !options.DiscardUnknown { + x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + } + iNdEx += skippy + } + } + + if iNdEx > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil + } + return &protoiface.Methods{ + NoUnkeyedLiterals: struct{}{}, + Flags: protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown, + Size: size, + Marshal: marshal, + Unmarshal: unmarshal, + Merge: nil, + CheckInitialized: nil, + } +} + // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.27.0 @@ -5467,6 +7276,161 @@ func (*MsgGetGeneralKeyshareResponse) Descriptor() ([]byte, []int) { return file_fairyring_pep_tx_proto_rawDescGZIP(), []int{10} } +type MsgRequestPrivateIdentity struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Creator string `protobuf:"bytes,1,opt,name=creator,proto3" json:"creator,omitempty"` + ReqId string `protobuf:"bytes,2,opt,name=reqId,proto3" json:"reqId,omitempty"` +} + +func (x *MsgRequestPrivateIdentity) Reset() { + *x = MsgRequestPrivateIdentity{} + if protoimpl.UnsafeEnabled { + mi := &file_fairyring_pep_tx_proto_msgTypes[11] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *MsgRequestPrivateIdentity) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*MsgRequestPrivateIdentity) ProtoMessage() {} + +// Deprecated: Use MsgRequestPrivateIdentity.ProtoReflect.Descriptor instead. +func (*MsgRequestPrivateIdentity) Descriptor() ([]byte, []int) { + return file_fairyring_pep_tx_proto_rawDescGZIP(), []int{11} +} + +func (x *MsgRequestPrivateIdentity) GetCreator() string { + if x != nil { + return x.Creator + } + return "" +} + +func (x *MsgRequestPrivateIdentity) GetReqId() string { + if x != nil { + return x.ReqId + } + return "" +} + +type MsgRequestPrivateIdentityResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ReqId string `protobuf:"bytes,1,opt,name=req_id,json=reqId,proto3" json:"req_id,omitempty"` +} + +func (x *MsgRequestPrivateIdentityResponse) Reset() { + *x = MsgRequestPrivateIdentityResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_fairyring_pep_tx_proto_msgTypes[12] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *MsgRequestPrivateIdentityResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*MsgRequestPrivateIdentityResponse) ProtoMessage() {} + +// Deprecated: Use MsgRequestPrivateIdentityResponse.ProtoReflect.Descriptor instead. +func (*MsgRequestPrivateIdentityResponse) Descriptor() ([]byte, []int) { + return file_fairyring_pep_tx_proto_rawDescGZIP(), []int{12} +} + +func (x *MsgRequestPrivateIdentityResponse) GetReqId() string { + if x != nil { + return x.ReqId + } + return "" +} + +type MsgGetPrivateKeyshares struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Creator string `protobuf:"bytes,1,opt,name=creator,proto3" json:"creator,omitempty"` + ReqId string `protobuf:"bytes,2,opt,name=reqId,proto3" json:"reqId,omitempty"` + SecpPubkey string `protobuf:"bytes,3,opt,name=secp_pubkey,json=secpPubkey,proto3" json:"secp_pubkey,omitempty"` +} + +func (x *MsgGetPrivateKeyshares) Reset() { + *x = MsgGetPrivateKeyshares{} + if protoimpl.UnsafeEnabled { + mi := &file_fairyring_pep_tx_proto_msgTypes[13] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *MsgGetPrivateKeyshares) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*MsgGetPrivateKeyshares) ProtoMessage() {} + +// Deprecated: Use MsgGetPrivateKeyshares.ProtoReflect.Descriptor instead. +func (*MsgGetPrivateKeyshares) Descriptor() ([]byte, []int) { + return file_fairyring_pep_tx_proto_rawDescGZIP(), []int{13} +} + +func (x *MsgGetPrivateKeyshares) GetCreator() string { + if x != nil { + return x.Creator + } + return "" +} + +func (x *MsgGetPrivateKeyshares) GetReqId() string { + if x != nil { + return x.ReqId + } + return "" +} + +func (x *MsgGetPrivateKeyshares) GetSecpPubkey() string { + if x != nil { + return x.SecpPubkey + } + return "" +} + +type MsgGetPrivateKeysharesResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *MsgGetPrivateKeysharesResponse) Reset() { + *x = MsgGetPrivateKeysharesResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_fairyring_pep_tx_proto_msgTypes[14] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *MsgGetPrivateKeysharesResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*MsgGetPrivateKeysharesResponse) ProtoMessage() {} + +// Deprecated: Use MsgGetPrivateKeysharesResponse.ProtoReflect.Descriptor instead. +func (*MsgGetPrivateKeysharesResponse) Descriptor() ([]byte, []int) { + return file_fairyring_pep_tx_proto_rawDescGZIP(), []int{14} +} + var File_fairyring_pep_tx_proto protoreflect.FileDescriptor var file_fairyring_pep_tx_proto_rawDesc = []byte{ @@ -5484,7 +7448,9 @@ var file_fairyring_pep_tx_proto_rawDesc = []byte{ 0x70, 0x65, 0x70, 0x2f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x28, 0x66, 0x61, 0x69, 0x72, 0x79, 0x72, 0x69, 0x6e, 0x67, 0x2f, 0x70, 0x65, 0x70, 0x2f, 0x61, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x6b, 0x65, 0x79, 0x5f, 0x73, - 0x68, 0x61, 0x72, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xcc, 0x01, 0x0a, 0x0f, 0x4d, + 0x68, 0x61, 0x72, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x63, 0x6f, 0x73, 0x6d, + 0x6f, 0x73, 0x2f, 0x62, 0x61, 0x73, 0x65, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, + 0x63, 0x6f, 0x69, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xcc, 0x01, 0x0a, 0x0f, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x36, 0x0a, 0x09, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x18, 0xd2, 0xb4, 0x2d, 0x14, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x41, 0x64, @@ -5547,59 +7513,92 @@ var file_fairyring_pep_tx_proto_rawDesc = []byte{ 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x72, 0x65, 0x71, 0x49, 0x64, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x22, 0x1f, 0x0a, 0x1d, 0x4d, 0x73, 0x67, 0x47, 0x65, 0x74, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x6c, 0x4b, - 0x65, 0x79, 0x73, 0x68, 0x61, 0x72, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x32, - 0x9c, 0x05, 0x0a, 0x03, 0x4d, 0x73, 0x67, 0x12, 0x56, 0x0a, 0x0c, 0x55, 0x70, 0x64, 0x61, 0x74, - 0x65, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x1e, 0x2e, 0x66, 0x61, 0x69, 0x72, 0x79, 0x72, - 0x69, 0x6e, 0x67, 0x2e, 0x70, 0x65, 0x70, 0x2e, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, - 0x65, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x1a, 0x26, 0x2e, 0x66, 0x61, 0x69, 0x72, 0x79, 0x72, - 0x69, 0x6e, 0x67, 0x2e, 0x70, 0x65, 0x70, 0x2e, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, - 0x65, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, - 0x65, 0x0a, 0x11, 0x53, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, - 0x65, 0x64, 0x54, 0x78, 0x12, 0x23, 0x2e, 0x66, 0x61, 0x69, 0x72, 0x79, 0x72, 0x69, 0x6e, 0x67, - 0x2e, 0x70, 0x65, 0x70, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x45, 0x6e, - 0x63, 0x72, 0x79, 0x70, 0x74, 0x65, 0x64, 0x54, 0x78, 0x1a, 0x2b, 0x2e, 0x66, 0x61, 0x69, 0x72, - 0x79, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x70, 0x65, 0x70, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x75, 0x62, - 0x6d, 0x69, 0x74, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x65, 0x64, 0x54, 0x78, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x73, 0x0a, 0x18, 0x53, 0x75, 0x62, 0x6d, 0x69, 0x74, - 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x6c, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x65, 0x64, - 0x54, 0x78, 0x12, 0x2a, 0x2e, 0x66, 0x61, 0x69, 0x72, 0x79, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x70, - 0x65, 0x70, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x47, 0x65, 0x6e, 0x65, - 0x72, 0x61, 0x6c, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x65, 0x64, 0x54, 0x78, 0x1a, 0x2b, - 0x2e, 0x66, 0x61, 0x69, 0x72, 0x79, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x70, 0x65, 0x70, 0x2e, 0x4d, - 0x73, 0x67, 0x53, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x65, - 0x64, 0x54, 0x78, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x7a, 0x0a, 0x18, 0x43, - 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x4b, - 0x65, 0x79, 0x53, 0x68, 0x61, 0x72, 0x65, 0x12, 0x2a, 0x2e, 0x66, 0x61, 0x69, 0x72, 0x79, 0x72, - 0x69, 0x6e, 0x67, 0x2e, 0x70, 0x65, 0x70, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x72, 0x65, 0x61, 0x74, - 0x65, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x4b, 0x65, 0x79, 0x53, 0x68, - 0x61, 0x72, 0x65, 0x1a, 0x32, 0x2e, 0x66, 0x61, 0x69, 0x72, 0x79, 0x72, 0x69, 0x6e, 0x67, 0x2e, - 0x70, 0x65, 0x70, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x67, 0x67, - 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x4b, 0x65, 0x79, 0x53, 0x68, 0x61, 0x72, 0x65, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x74, 0x0a, 0x16, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x6c, 0x4b, 0x65, 0x79, 0x73, 0x68, 0x61, 0x72, - 0x65, 0x12, 0x28, 0x2e, 0x66, 0x61, 0x69, 0x72, 0x79, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x70, 0x65, - 0x70, 0x2e, 0x4d, 0x73, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x47, 0x65, 0x6e, 0x65, - 0x72, 0x61, 0x6c, 0x4b, 0x65, 0x79, 0x73, 0x68, 0x61, 0x72, 0x65, 0x1a, 0x30, 0x2e, 0x66, 0x61, - 0x69, 0x72, 0x79, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x70, 0x65, 0x70, 0x2e, 0x4d, 0x73, 0x67, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x6c, 0x4b, 0x65, 0x79, - 0x73, 0x68, 0x61, 0x72, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x68, 0x0a, - 0x12, 0x47, 0x65, 0x74, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x6c, 0x4b, 0x65, 0x79, 0x73, 0x68, - 0x61, 0x72, 0x65, 0x12, 0x24, 0x2e, 0x66, 0x61, 0x69, 0x72, 0x79, 0x72, 0x69, 0x6e, 0x67, 0x2e, - 0x70, 0x65, 0x70, 0x2e, 0x4d, 0x73, 0x67, 0x47, 0x65, 0x74, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, - 0x6c, 0x4b, 0x65, 0x79, 0x73, 0x68, 0x61, 0x72, 0x65, 0x1a, 0x2c, 0x2e, 0x66, 0x61, 0x69, 0x72, - 0x79, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x70, 0x65, 0x70, 0x2e, 0x4d, 0x73, 0x67, 0x47, 0x65, 0x74, - 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x6c, 0x4b, 0x65, 0x79, 0x73, 0x68, 0x61, 0x72, 0x65, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x1a, 0x05, 0x80, 0xe7, 0xb0, 0x2a, 0x01, 0x42, 0x91, - 0x01, 0x0a, 0x11, 0x63, 0x6f, 0x6d, 0x2e, 0x66, 0x61, 0x69, 0x72, 0x79, 0x72, 0x69, 0x6e, 0x67, - 0x2e, 0x70, 0x65, 0x70, 0x42, 0x07, 0x54, 0x78, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, - 0x1e, 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, 0x70, 0x65, 0x70, 0xa2, - 0x02, 0x03, 0x46, 0x50, 0x58, 0xaa, 0x02, 0x0d, 0x46, 0x61, 0x69, 0x72, 0x79, 0x72, 0x69, 0x6e, - 0x67, 0x2e, 0x50, 0x65, 0x70, 0xca, 0x02, 0x0d, 0x46, 0x61, 0x69, 0x72, 0x79, 0x72, 0x69, 0x6e, - 0x67, 0x5c, 0x50, 0x65, 0x70, 0xe2, 0x02, 0x19, 0x46, 0x61, 0x69, 0x72, 0x79, 0x72, 0x69, 0x6e, - 0x67, 0x5c, 0x50, 0x65, 0x70, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, - 0x61, 0xea, 0x02, 0x0e, 0x46, 0x61, 0x69, 0x72, 0x79, 0x72, 0x69, 0x6e, 0x67, 0x3a, 0x3a, 0x50, - 0x65, 0x70, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x65, 0x79, 0x73, 0x68, 0x61, 0x72, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, + 0x59, 0x0a, 0x19, 0x4d, 0x73, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, 0x72, 0x69, + 0x76, 0x61, 0x74, 0x65, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 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, 0x14, 0x0a, 0x05, 0x72, 0x65, 0x71, 0x49, 0x64, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x72, 0x65, 0x71, 0x49, 0x64, 0x3a, 0x0c, 0x82, 0xe7, + 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x22, 0x3a, 0x0a, 0x21, 0x4d, 0x73, + 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x49, + 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, + 0x15, 0x0a, 0x06, 0x72, 0x65, 0x71, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x05, 0x72, 0x65, 0x71, 0x49, 0x64, 0x22, 0x77, 0x0a, 0x16, 0x4d, 0x73, 0x67, 0x47, 0x65, 0x74, + 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x73, 0x68, 0x61, 0x72, 0x65, 0x73, + 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, 0x14, 0x0a, 0x05, 0x72, 0x65, + 0x71, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x72, 0x65, 0x71, 0x49, 0x64, + 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x65, 0x63, 0x70, 0x5f, 0x70, 0x75, 0x62, 0x6b, 0x65, 0x79, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x73, 0x65, 0x63, 0x70, 0x50, 0x75, 0x62, 0x6b, 0x65, + 0x79, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x22, + 0x20, 0x0a, 0x1e, 0x4d, 0x73, 0x67, 0x47, 0x65, 0x74, 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, + 0x4b, 0x65, 0x79, 0x73, 0x68, 0x61, 0x72, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x32, 0xff, 0x06, 0x0a, 0x03, 0x4d, 0x73, 0x67, 0x12, 0x56, 0x0a, 0x0c, 0x55, 0x70, 0x64, + 0x61, 0x74, 0x65, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x1e, 0x2e, 0x66, 0x61, 0x69, 0x72, + 0x79, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x70, 0x65, 0x70, 0x2e, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, + 0x61, 0x74, 0x65, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x1a, 0x26, 0x2e, 0x66, 0x61, 0x69, 0x72, + 0x79, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x70, 0x65, 0x70, 0x2e, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, + 0x61, 0x74, 0x65, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x12, 0x65, 0x0a, 0x11, 0x53, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x45, 0x6e, 0x63, 0x72, 0x79, + 0x70, 0x74, 0x65, 0x64, 0x54, 0x78, 0x12, 0x23, 0x2e, 0x66, 0x61, 0x69, 0x72, 0x79, 0x72, 0x69, + 0x6e, 0x67, 0x2e, 0x70, 0x65, 0x70, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x75, 0x62, 0x6d, 0x69, 0x74, + 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x65, 0x64, 0x54, 0x78, 0x1a, 0x2b, 0x2e, 0x66, 0x61, + 0x69, 0x72, 0x79, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x70, 0x65, 0x70, 0x2e, 0x4d, 0x73, 0x67, 0x53, + 0x75, 0x62, 0x6d, 0x69, 0x74, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x65, 0x64, 0x54, 0x78, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x73, 0x0a, 0x18, 0x53, 0x75, 0x62, 0x6d, + 0x69, 0x74, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x6c, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, + 0x65, 0x64, 0x54, 0x78, 0x12, 0x2a, 0x2e, 0x66, 0x61, 0x69, 0x72, 0x79, 0x72, 0x69, 0x6e, 0x67, + 0x2e, 0x70, 0x65, 0x70, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x47, 0x65, + 0x6e, 0x65, 0x72, 0x61, 0x6c, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x65, 0x64, 0x54, 0x78, + 0x1a, 0x2b, 0x2e, 0x66, 0x61, 0x69, 0x72, 0x79, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x70, 0x65, 0x70, + 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, + 0x74, 0x65, 0x64, 0x54, 0x78, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x7a, 0x0a, + 0x18, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, + 0x64, 0x4b, 0x65, 0x79, 0x53, 0x68, 0x61, 0x72, 0x65, 0x12, 0x2a, 0x2e, 0x66, 0x61, 0x69, 0x72, + 0x79, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x70, 0x65, 0x70, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x72, 0x65, + 0x61, 0x74, 0x65, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x4b, 0x65, 0x79, + 0x53, 0x68, 0x61, 0x72, 0x65, 0x1a, 0x32, 0x2e, 0x66, 0x61, 0x69, 0x72, 0x79, 0x72, 0x69, 0x6e, + 0x67, 0x2e, 0x70, 0x65, 0x70, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, + 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x4b, 0x65, 0x79, 0x53, 0x68, 0x61, 0x72, + 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x74, 0x0a, 0x16, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x6c, 0x4b, 0x65, 0x79, 0x73, 0x68, + 0x61, 0x72, 0x65, 0x12, 0x28, 0x2e, 0x66, 0x61, 0x69, 0x72, 0x79, 0x72, 0x69, 0x6e, 0x67, 0x2e, + 0x70, 0x65, 0x70, 0x2e, 0x4d, 0x73, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x47, 0x65, + 0x6e, 0x65, 0x72, 0x61, 0x6c, 0x4b, 0x65, 0x79, 0x73, 0x68, 0x61, 0x72, 0x65, 0x1a, 0x30, 0x2e, + 0x66, 0x61, 0x69, 0x72, 0x79, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x70, 0x65, 0x70, 0x2e, 0x4d, 0x73, + 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x6c, 0x4b, + 0x65, 0x79, 0x73, 0x68, 0x61, 0x72, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, + 0x68, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x6c, 0x4b, 0x65, 0x79, + 0x73, 0x68, 0x61, 0x72, 0x65, 0x12, 0x24, 0x2e, 0x66, 0x61, 0x69, 0x72, 0x79, 0x72, 0x69, 0x6e, + 0x67, 0x2e, 0x70, 0x65, 0x70, 0x2e, 0x4d, 0x73, 0x67, 0x47, 0x65, 0x74, 0x47, 0x65, 0x6e, 0x65, + 0x72, 0x61, 0x6c, 0x4b, 0x65, 0x79, 0x73, 0x68, 0x61, 0x72, 0x65, 0x1a, 0x2c, 0x2e, 0x66, 0x61, + 0x69, 0x72, 0x79, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x70, 0x65, 0x70, 0x2e, 0x4d, 0x73, 0x67, 0x47, + 0x65, 0x74, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x6c, 0x4b, 0x65, 0x79, 0x73, 0x68, 0x61, 0x72, + 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x74, 0x0a, 0x16, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x49, 0x64, 0x65, 0x6e, 0x74, + 0x69, 0x74, 0x79, 0x12, 0x28, 0x2e, 0x66, 0x61, 0x69, 0x72, 0x79, 0x72, 0x69, 0x6e, 0x67, 0x2e, + 0x70, 0x65, 0x70, 0x2e, 0x4d, 0x73, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, 0x72, + 0x69, 0x76, 0x61, 0x74, 0x65, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x1a, 0x30, 0x2e, + 0x66, 0x61, 0x69, 0x72, 0x79, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x70, 0x65, 0x70, 0x2e, 0x4d, 0x73, + 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x49, + 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, + 0x6b, 0x0a, 0x13, 0x47, 0x65, 0x74, 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x4b, 0x65, 0x79, + 0x73, 0x68, 0x61, 0x72, 0x65, 0x73, 0x12, 0x25, 0x2e, 0x66, 0x61, 0x69, 0x72, 0x79, 0x72, 0x69, + 0x6e, 0x67, 0x2e, 0x70, 0x65, 0x70, 0x2e, 0x4d, 0x73, 0x67, 0x47, 0x65, 0x74, 0x50, 0x72, 0x69, + 0x76, 0x61, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x73, 0x68, 0x61, 0x72, 0x65, 0x73, 0x1a, 0x2d, 0x2e, + 0x66, 0x61, 0x69, 0x72, 0x79, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x70, 0x65, 0x70, 0x2e, 0x4d, 0x73, + 0x67, 0x47, 0x65, 0x74, 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x73, 0x68, + 0x61, 0x72, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x1a, 0x05, 0x80, 0xe7, + 0xb0, 0x2a, 0x01, 0x42, 0x91, 0x01, 0x0a, 0x11, 0x63, 0x6f, 0x6d, 0x2e, 0x66, 0x61, 0x69, 0x72, + 0x79, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x70, 0x65, 0x70, 0x42, 0x07, 0x54, 0x78, 0x50, 0x72, 0x6f, + 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x1e, 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, 0x70, 0x65, 0x70, 0xa2, 0x02, 0x03, 0x46, 0x50, 0x58, 0xaa, 0x02, 0x0d, 0x46, 0x61, 0x69, + 0x72, 0x79, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x50, 0x65, 0x70, 0xca, 0x02, 0x0d, 0x46, 0x61, 0x69, + 0x72, 0x79, 0x72, 0x69, 0x6e, 0x67, 0x5c, 0x50, 0x65, 0x70, 0xe2, 0x02, 0x19, 0x46, 0x61, 0x69, + 0x72, 0x79, 0x72, 0x69, 0x6e, 0x67, 0x5c, 0x50, 0x65, 0x70, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, + 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x0e, 0x46, 0x61, 0x69, 0x72, 0x79, 0x72, 0x69, + 0x6e, 0x67, 0x3a, 0x3a, 0x50, 0x65, 0x70, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -5614,7 +7613,7 @@ func file_fairyring_pep_tx_proto_rawDescGZIP() []byte { return file_fairyring_pep_tx_proto_rawDescData } -var file_fairyring_pep_tx_proto_msgTypes = make([]protoimpl.MessageInfo, 11) +var file_fairyring_pep_tx_proto_msgTypes = make([]protoimpl.MessageInfo, 15) var file_fairyring_pep_tx_proto_goTypes = []interface{}{ (*MsgUpdateParams)(nil), // 0: fairyring.pep.MsgUpdateParams (*MsgUpdateParamsResponse)(nil), // 1: fairyring.pep.MsgUpdateParamsResponse @@ -5627,26 +7626,34 @@ var file_fairyring_pep_tx_proto_goTypes = []interface{}{ (*MsgRequestGeneralKeyshareResponse)(nil), // 8: fairyring.pep.MsgRequestGeneralKeyshareResponse (*MsgGetGeneralKeyshare)(nil), // 9: fairyring.pep.MsgGetGeneralKeyshare (*MsgGetGeneralKeyshareResponse)(nil), // 10: fairyring.pep.MsgGetGeneralKeyshareResponse - (*Params)(nil), // 11: fairyring.pep.Params - (*durationpb.Duration)(nil), // 12: google.protobuf.Duration + (*MsgRequestPrivateIdentity)(nil), // 11: fairyring.pep.MsgRequestPrivateIdentity + (*MsgRequestPrivateIdentityResponse)(nil), // 12: fairyring.pep.MsgRequestPrivateIdentityResponse + (*MsgGetPrivateKeyshares)(nil), // 13: fairyring.pep.MsgGetPrivateKeyshares + (*MsgGetPrivateKeysharesResponse)(nil), // 14: fairyring.pep.MsgGetPrivateKeysharesResponse + (*Params)(nil), // 15: fairyring.pep.Params + (*durationpb.Duration)(nil), // 16: google.protobuf.Duration } var file_fairyring_pep_tx_proto_depIdxs = []int32{ - 11, // 0: fairyring.pep.MsgUpdateParams.params:type_name -> fairyring.pep.Params - 12, // 1: fairyring.pep.MsgRequestGeneralKeyshare.estimated_delay:type_name -> google.protobuf.Duration + 15, // 0: fairyring.pep.MsgUpdateParams.params:type_name -> fairyring.pep.Params + 16, // 1: fairyring.pep.MsgRequestGeneralKeyshare.estimated_delay:type_name -> google.protobuf.Duration 0, // 2: fairyring.pep.Msg.UpdateParams:input_type -> fairyring.pep.MsgUpdateParams 2, // 3: fairyring.pep.Msg.SubmitEncryptedTx:input_type -> fairyring.pep.MsgSubmitEncryptedTx 3, // 4: fairyring.pep.Msg.SubmitGeneralEncryptedTx:input_type -> fairyring.pep.MsgSubmitGeneralEncryptedTx 5, // 5: fairyring.pep.Msg.CreateAggregatedKeyShare:input_type -> fairyring.pep.MsgCreateAggregatedKeyShare 7, // 6: fairyring.pep.Msg.RequestGeneralKeyshare:input_type -> fairyring.pep.MsgRequestGeneralKeyshare 9, // 7: fairyring.pep.Msg.GetGeneralKeyshare:input_type -> fairyring.pep.MsgGetGeneralKeyshare - 1, // 8: fairyring.pep.Msg.UpdateParams:output_type -> fairyring.pep.MsgUpdateParamsResponse - 4, // 9: fairyring.pep.Msg.SubmitEncryptedTx:output_type -> fairyring.pep.MsgSubmitEncryptedTxResponse - 4, // 10: fairyring.pep.Msg.SubmitGeneralEncryptedTx:output_type -> fairyring.pep.MsgSubmitEncryptedTxResponse - 6, // 11: fairyring.pep.Msg.CreateAggregatedKeyShare:output_type -> fairyring.pep.MsgCreateAggregatedKeyShareResponse - 8, // 12: fairyring.pep.Msg.RequestGeneralKeyshare:output_type -> fairyring.pep.MsgRequestGeneralKeyshareResponse - 10, // 13: fairyring.pep.Msg.GetGeneralKeyshare:output_type -> fairyring.pep.MsgGetGeneralKeyshareResponse - 8, // [8:14] is the sub-list for method output_type - 2, // [2:8] is the sub-list for method input_type + 11, // 8: fairyring.pep.Msg.RequestPrivateIdentity:input_type -> fairyring.pep.MsgRequestPrivateIdentity + 13, // 9: fairyring.pep.Msg.GetPrivateKeyshares:input_type -> fairyring.pep.MsgGetPrivateKeyshares + 1, // 10: fairyring.pep.Msg.UpdateParams:output_type -> fairyring.pep.MsgUpdateParamsResponse + 4, // 11: fairyring.pep.Msg.SubmitEncryptedTx:output_type -> fairyring.pep.MsgSubmitEncryptedTxResponse + 4, // 12: fairyring.pep.Msg.SubmitGeneralEncryptedTx:output_type -> fairyring.pep.MsgSubmitEncryptedTxResponse + 6, // 13: fairyring.pep.Msg.CreateAggregatedKeyShare:output_type -> fairyring.pep.MsgCreateAggregatedKeyShareResponse + 8, // 14: fairyring.pep.Msg.RequestGeneralKeyshare:output_type -> fairyring.pep.MsgRequestGeneralKeyshareResponse + 10, // 15: fairyring.pep.Msg.GetGeneralKeyshare:output_type -> fairyring.pep.MsgGetGeneralKeyshareResponse + 12, // 16: fairyring.pep.Msg.RequestPrivateIdentity:output_type -> fairyring.pep.MsgRequestPrivateIdentityResponse + 14, // 17: fairyring.pep.Msg.GetPrivateKeyshares:output_type -> fairyring.pep.MsgGetPrivateKeysharesResponse + 10, // [10:18] is the sub-list for method output_type + 2, // [2:10] is the sub-list for method input_type 2, // [2:2] is the sub-list for extension type_name 2, // [2:2] is the sub-list for extension extendee 0, // [0:2] is the sub-list for field type_name @@ -5792,6 +7799,54 @@ func file_fairyring_pep_tx_proto_init() { return nil } } + file_fairyring_pep_tx_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*MsgRequestPrivateIdentity); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_fairyring_pep_tx_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*MsgRequestPrivateIdentityResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_fairyring_pep_tx_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*MsgGetPrivateKeyshares); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_fairyring_pep_tx_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*MsgGetPrivateKeysharesResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } } type x struct{} out := protoimpl.TypeBuilder{ @@ -5799,7 +7854,7 @@ func file_fairyring_pep_tx_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_fairyring_pep_tx_proto_rawDesc, NumEnums: 0, - NumMessages: 11, + NumMessages: 15, NumExtensions: 0, NumServices: 1, }, diff --git a/api/fairyring/pep/tx_grpc.pb.go b/api/fairyring/pep/tx_grpc.pb.go index b41460b2..87acd533 100644 --- a/api/fairyring/pep/tx_grpc.pb.go +++ b/api/fairyring/pep/tx_grpc.pb.go @@ -25,6 +25,8 @@ const ( Msg_CreateAggregatedKeyShare_FullMethodName = "/fairyring.pep.Msg/CreateAggregatedKeyShare" Msg_RequestGeneralKeyshare_FullMethodName = "/fairyring.pep.Msg/RequestGeneralKeyshare" Msg_GetGeneralKeyshare_FullMethodName = "/fairyring.pep.Msg/GetGeneralKeyshare" + Msg_RequestPrivateIdentity_FullMethodName = "/fairyring.pep.Msg/RequestPrivateIdentity" + Msg_GetPrivateKeyshares_FullMethodName = "/fairyring.pep.Msg/GetPrivateKeyshares" ) // MsgClient is the client API for Msg service. @@ -40,6 +42,8 @@ type MsgClient interface { CreateAggregatedKeyShare(ctx context.Context, in *MsgCreateAggregatedKeyShare, opts ...grpc.CallOption) (*MsgCreateAggregatedKeyShareResponse, error) RequestGeneralKeyshare(ctx context.Context, in *MsgRequestGeneralKeyshare, opts ...grpc.CallOption) (*MsgRequestGeneralKeyshareResponse, error) GetGeneralKeyshare(ctx context.Context, in *MsgGetGeneralKeyshare, opts ...grpc.CallOption) (*MsgGetGeneralKeyshareResponse, error) + RequestPrivateIdentity(ctx context.Context, in *MsgRequestPrivateIdentity, opts ...grpc.CallOption) (*MsgRequestPrivateIdentityResponse, error) + GetPrivateKeyshares(ctx context.Context, in *MsgGetPrivateKeyshares, opts ...grpc.CallOption) (*MsgGetPrivateKeysharesResponse, error) } type msgClient struct { @@ -104,6 +108,24 @@ func (c *msgClient) GetGeneralKeyshare(ctx context.Context, in *MsgGetGeneralKey return out, nil } +func (c *msgClient) RequestPrivateIdentity(ctx context.Context, in *MsgRequestPrivateIdentity, opts ...grpc.CallOption) (*MsgRequestPrivateIdentityResponse, error) { + out := new(MsgRequestPrivateIdentityResponse) + err := c.cc.Invoke(ctx, Msg_RequestPrivateIdentity_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *msgClient) GetPrivateKeyshares(ctx context.Context, in *MsgGetPrivateKeyshares, opts ...grpc.CallOption) (*MsgGetPrivateKeysharesResponse, error) { + out := new(MsgGetPrivateKeysharesResponse) + err := c.cc.Invoke(ctx, Msg_GetPrivateKeyshares_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + // MsgServer is the server API for Msg service. // All implementations must embed UnimplementedMsgServer // for forward compatibility @@ -117,6 +139,8 @@ type MsgServer interface { CreateAggregatedKeyShare(context.Context, *MsgCreateAggregatedKeyShare) (*MsgCreateAggregatedKeyShareResponse, error) RequestGeneralKeyshare(context.Context, *MsgRequestGeneralKeyshare) (*MsgRequestGeneralKeyshareResponse, error) GetGeneralKeyshare(context.Context, *MsgGetGeneralKeyshare) (*MsgGetGeneralKeyshareResponse, error) + RequestPrivateIdentity(context.Context, *MsgRequestPrivateIdentity) (*MsgRequestPrivateIdentityResponse, error) + GetPrivateKeyshares(context.Context, *MsgGetPrivateKeyshares) (*MsgGetPrivateKeysharesResponse, error) mustEmbedUnimplementedMsgServer() } @@ -142,6 +166,12 @@ func (UnimplementedMsgServer) RequestGeneralKeyshare(context.Context, *MsgReques func (UnimplementedMsgServer) GetGeneralKeyshare(context.Context, *MsgGetGeneralKeyshare) (*MsgGetGeneralKeyshareResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method GetGeneralKeyshare not implemented") } +func (UnimplementedMsgServer) RequestPrivateIdentity(context.Context, *MsgRequestPrivateIdentity) (*MsgRequestPrivateIdentityResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method RequestPrivateIdentity not implemented") +} +func (UnimplementedMsgServer) GetPrivateKeyshares(context.Context, *MsgGetPrivateKeyshares) (*MsgGetPrivateKeysharesResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetPrivateKeyshares not implemented") +} func (UnimplementedMsgServer) mustEmbedUnimplementedMsgServer() {} // UnsafeMsgServer may be embedded to opt out of forward compatibility for this service. @@ -263,6 +293,42 @@ func _Msg_GetGeneralKeyshare_Handler(srv interface{}, ctx context.Context, dec f return interceptor(ctx, in, info, handler) } +func _Msg_RequestPrivateIdentity_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(MsgRequestPrivateIdentity) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(MsgServer).RequestPrivateIdentity(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: Msg_RequestPrivateIdentity_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MsgServer).RequestPrivateIdentity(ctx, req.(*MsgRequestPrivateIdentity)) + } + return interceptor(ctx, in, info, handler) +} + +func _Msg_GetPrivateKeyshares_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(MsgGetPrivateKeyshares) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(MsgServer).GetPrivateKeyshares(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: Msg_GetPrivateKeyshares_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MsgServer).GetPrivateKeyshares(ctx, req.(*MsgGetPrivateKeyshares)) + } + return interceptor(ctx, in, info, handler) +} + // Msg_ServiceDesc is the grpc.ServiceDesc for Msg service. // It's only intended for direct use with grpc.RegisterService, // and not to be introspected or modified (even as a copy) @@ -294,6 +360,14 @@ var Msg_ServiceDesc = grpc.ServiceDesc{ MethodName: "GetGeneralKeyshare", Handler: _Msg_GetGeneralKeyshare_Handler, }, + { + MethodName: "RequestPrivateIdentity", + Handler: _Msg_RequestPrivateIdentity_Handler, + }, + { + MethodName: "GetPrivateKeyshares", + Handler: _Msg_GetPrivateKeyshares_Handler, + }, }, Streams: []grpc.StreamDesc{}, Metadata: "fairyring/pep/tx.proto", diff --git a/app/app.go b/app/app.go index 02861591..700ea28e 100644 --- a/app/app.go +++ b/app/app.go @@ -2,8 +2,12 @@ package app import ( "context" - upgradetypes "cosmossdk.io/x/upgrade/types" "fmt" + "io" + "os" + "path/filepath" + + upgradetypes "cosmossdk.io/x/upgrade/types" keysharemodule "github.com/Fairblock/fairyring/x/keyshare/module" keysharemoduletypes "github.com/Fairblock/fairyring/x/keyshare/types" pepmodule "github.com/Fairblock/fairyring/x/pep/module" @@ -16,9 +20,6 @@ import ( ibcfeetypes "github.com/cosmos/ibc-go/v8/modules/apps/29-fee/types" "github.com/cosmos/ibc-go/v8/modules/apps/transfer" transfertypes "github.com/cosmos/ibc-go/v8/modules/apps/transfer/types" - "io" - "os" - "path/filepath" _ "cosmossdk.io/api/cosmos/tx/config/v1" // import for side-effects "cosmossdk.io/depinject" diff --git a/app/export.go b/app/export.go index 580ceace..f07ed8fa 100644 --- a/app/export.go +++ b/app/export.go @@ -1,13 +1,14 @@ package app import ( - storetypes "cosmossdk.io/store/types" "encoding/json" "fmt" + "log" + + storetypes "cosmossdk.io/store/types" slashingtypes "github.com/cosmos/cosmos-sdk/x/slashing/types" "github.com/cosmos/cosmos-sdk/x/staking" stakingtypes "github.com/cosmos/cosmos-sdk/x/staking/types" - "log" cmtproto "github.com/cometbft/cometbft/proto/tendermint/types" servertypes "github.com/cosmos/cosmos-sdk/server/types" diff --git a/cmd/fairyringd/cmd/aggregator/private_keyshare_aggregator.go b/cmd/fairyringd/cmd/aggregator/private_keyshare_aggregator.go new file mode 100644 index 00000000..b2dc9276 --- /dev/null +++ b/cmd/fairyringd/cmd/aggregator/private_keyshare_aggregator.go @@ -0,0 +1,217 @@ +package aggregator + +import ( + "context" + "encoding/hex" + "encoding/json" + "errors" + "fmt" + + distIBE "github.com/FairBlock/DistributedIBE" + commontypes "github.com/Fairblock/fairyring/x/common/types" + "github.com/Fairblock/fairyring/x/pep/types" + "github.com/btcsuite/btcd/btcec" + "github.com/cosmos/cosmos-sdk/client" + "github.com/drand/kyber" + bls "github.com/drand/kyber-bls12381" + "github.com/drand/kyber/pairing" + "github.com/spf13/cobra" +) + +func AggregateCmd() *cobra.Command { + return &cobra.Command{ + Use: "aggregate-keyshares [keyshare-list] [identity] [req-address] [priv-key-hex]", + Short: "decrypt and aggregate encrypted keyshares with the private key of req-address", + Args: cobra.ExactArgs(4), + RunE: func(cmd *cobra.Command, args []string) error { + clientCtx, err := client.GetClientTxContext(cmd) + if err != nil { + return err + } + + identity := args[1] + + // check if requester address is blank + if args[2] == "" { + return errors.New("requester address cannot be blank") + } + reqAddr := args[2] + + // check if private key is provided + if args[3] == "" { + // TODO: derive private key from keyring + return errors.New("private key cannot be blank") + } + privKeyHex := args[3] + + var encryptedKeyshares []commontypes.IndexedEncryptedKeyshare + + // check if keyshare list is blank + if args[0] != "" { + err := json.Unmarshal([]byte(args[0]), &encryptedKeyshares) + if err != nil { + return err + } + } else { + // if blank, fetch keyshares via chain query + + // check if identity is blank + if identity == "" { + return errors.New("identity cannot be blank if no keyshares are provided") + } + + queryClient := types.NewQueryClient(clientCtx) + + res, err := queryClient.ShowPrivateKeyshareReq( + context.Background(), + &types.QueryShowPrivateKeyshareReqRequest{ + ReqId: identity, + }, + ) + if err != nil { + return err + } + + if len(res.EncryptedKeyshares) == 0 { + return errors.New("no encrypted keyshares found for request") + } + + found := false + + for _, requester := range res.EncryptedKeyshares { + if requester.Requester == reqAddr { + found = true + for _, val := range requester.PrivateKeyshares { + encryptedKeyshares = append(encryptedKeyshares, *val) + } + break + } + } + + if !found { + return errors.New("no entry found for requester address") + } + } + + // Decode the hex-encoded private key. + pkBytes, err := hex.DecodeString(privKeyHex) + if err != nil { + return err + } + + var decryptedKeyshares []commontypes.IndexedEncryptedKeyshare + + // try to decrypt all the encrypted keyshares with priv key + for _, encShare := range encryptedKeyshares { + decShare, err := decryptKeyshare(encShare, pkBytes) + if err != nil { + return err + } + decryptedKeyshares = append(decryptedKeyshares, decShare) + } + + aggregatedKeysharePoint, err := aggregateKeyshares(decryptedKeyshares) + if err != nil { + return err + } + + skByte, err := aggregatedKeysharePoint.MarshalBinary() + if err != nil { + return err + } + skHex := hex.EncodeToString(skByte) + + fmt.Println(skHex) + return nil + }, + } +} + +func decryptKeyshare( + encShare commontypes.IndexedEncryptedKeyshare, + pkBytes []byte, +) (decShare commontypes.IndexedEncryptedKeyshare, err error) { + privKey, _ := btcec.PrivKeyFromBytes(btcec.S256(), pkBytes) + + // decode hex encrypted keyshare + ksBytes, err := hex.DecodeString(encShare.EncryptedKeyshareValue) + if err != nil { + return commontypes.IndexedEncryptedKeyshare{}, err + } + + // Try decrypting the message. + plaintext, err := btcec.Decrypt(privKey, ksBytes) + if err != nil { + return commontypes.IndexedEncryptedKeyshare{}, err + } + + return commontypes.IndexedEncryptedKeyshare{ + EncryptedKeyshareValue: string(plaintext), + EncryptedKeyshareIndex: encShare.EncryptedKeyshareIndex, + }, nil +} + +func aggregateKeyshares(keyshares []commontypes.IndexedEncryptedKeyshare) (kyber.Point, error) { + suite := bls.NewBLS12381Suite() + indexList := []uint32{} + + var shareList []distIBE.ExtractedKey + for _, share := range keyshares { + extractedKey, err := parseShare(suite, share) + if err != nil { + return nil, err + } + shareList = append(shareList, extractedKey) + indexList = append(indexList, uint32(share.EncryptedKeyshareIndex)) + } + + SkShares := []kyber.Point{} + for _, r := range shareList { + processedShare := processSK(suite, r, indexList) + SkShares = append(SkShares, processedShare.SK) + } + + SK := aggregate(SkShares...) + return SK, nil +} + +func parseShare( + suite pairing.Suite, + keyshare commontypes.IndexedEncryptedKeyshare, +) (distIBE.ExtractedKey, error) { + newByteKey, err := hex.DecodeString(keyshare.EncryptedKeyshareValue) + if err != nil { + return distIBE.ExtractedKey{}, err + } + + newSharePoint := suite.G2().Point() + err = newSharePoint.UnmarshalBinary(newByteKey) + if err != nil { + return distIBE.ExtractedKey{}, err + } + + newExtractedKey := distIBE.ExtractedKey{ + SK: newSharePoint, + Index: uint32(keyshare.EncryptedKeyshareIndex), + } + + return newExtractedKey, nil +} + +func processSK(suite pairing.Suite, share distIBE.ExtractedKey, S []uint32) distIBE.ExtractedKey { + lagrangeCoef := distIBE.LagrangeCoefficient(suite, share.Index, S) + idenityKey := share.SK.Mul(lagrangeCoef, share.SK) + return distIBE.ExtractedKey{SK: idenityKey, Index: share.Index} +} + +func aggregate(keys ...kyber.Point) kyber.Point { + var sk = keys[0] + for _, key := range keys { + + if key != sk { + sk.Add(sk, key) + } + } + + return sk +} diff --git a/cmd/fairyringd/cmd/commands.go b/cmd/fairyringd/cmd/commands.go index 8918a01a..e1946f17 100644 --- a/cmd/fairyringd/cmd/commands.go +++ b/cmd/fairyringd/cmd/commands.go @@ -1,10 +1,14 @@ package cmd import ( + "errors" + "github.com/Fairblock/fairyring/cmd/fairyringd/cmd/secp_encrypter" + "io" + "cosmossdk.io/log" confixcmd "cosmossdk.io/tools/confix/cmd" - "errors" "github.com/CosmWasm/wasmd/x/wasm" + "github.com/Fairblock/fairyring/cmd/fairyringd/cmd/aggregator" "github.com/Fairblock/fairyring/cmd/fairyringd/cmd/encrypter" "github.com/Fairblock/fairyring/cmd/fairyringd/cmd/sharegenerator" "github.com/Fairblock/fairyring/cmd/fairyringd/cmd/verifiable_randomness" @@ -24,7 +28,6 @@ import ( genutilcli "github.com/cosmos/cosmos-sdk/x/genutil/client/cli" "github.com/spf13/cobra" "github.com/spf13/viper" - "io" wasmcli "github.com/CosmWasm/wasmd/x/wasm/client/cli" "github.com/Fairblock/fairyring/app" @@ -58,11 +61,16 @@ func initRootCmd( encryptCmd := encrypter.EncryptCmd() flags.AddQueryFlagsToCmd(encryptCmd) + aggregateCmd := aggregator.AggregateCmd() + flags.AddQueryFlagsToCmd(aggregateCmd) + randomness := verifiable_randomness.VerifiableRandomness() randomness.Flags().String(flags.FlagNode, "http://localhost:26657", "The fairyring node endpoint") randomness.Flags().StringP(flags.FlagOutput, "o", flags.OutputFormatJSON, "Output format (text|json)") + rootCmd.AddCommand(secp_encrypter.SecpEncrypterCmd()) rootCmd.AddCommand(encryptCmd) + rootCmd.AddCommand(aggregateCmd) rootCmd.AddCommand(randomness) rootCmd.AddCommand(sharegenerator.RootCmd) } diff --git a/cmd/fairyringd/cmd/encrypter/encrypter.go b/cmd/fairyringd/cmd/encrypter/encrypter.go index a50034d5..4b046696 100644 --- a/cmd/fairyringd/cmd/encrypter/encrypter.go +++ b/cmd/fairyringd/cmd/encrypter/encrypter.go @@ -16,28 +16,34 @@ import ( func EncryptCmd() *cobra.Command { return &cobra.Command{ - Use: "encrypt [target-height / id] [plaintext]", + Use: "encrypt [target-height / id] [pubkey] [plaintext]", Short: "Encrypt a given text with current public key", - Args: cobra.ExactArgs(2), + Args: cobra.ExactArgs(3), RunE: func(cmd *cobra.Command, args []string) error { clientCtx, err := client.GetClientTxContext(cmd) if err != nil { return err } - queryClient := types.NewQueryClient(clientCtx) + pubkey := args[1] - res, err := queryClient.PubKey(context.Background(), &types.QueryPubKeyRequest{}) - if err != nil { - return err - } + if pubkey == "" { + queryClient := types.NewQueryClient(clientCtx) + + res, err := queryClient.PubKey(context.Background(), &types.QueryPubKeyRequest{}) + if err != nil { + return err + } + + if len(res.ActivePubKey.PublicKey) == 0 { + return errors.New("active public key not found") + } - if len(res.ActivePubKey.PublicKey) == 0 { - return errors.New("active public key not found") + pubkey = res.ActivePubKey.PublicKey } suite := bls.NewBLS12381Suite() - publicKeyByte, err := hex.DecodeString(res.ActivePubKey.PublicKey) + publicKeyByte, err := hex.DecodeString(pubkey) if err != nil { panic(fmt.Sprintf("\nError decoding public key: %s\n", err.Error())) } @@ -50,7 +56,7 @@ func EncryptCmd() *cobra.Command { var destCipherData bytes.Buffer var plainTextBuffer bytes.Buffer - _, err = plainTextBuffer.WriteString(args[1]) + _, err = plainTextBuffer.WriteString(args[2]) if err != nil { panic(fmt.Sprintf("\nError writing plaintext string to buffer: %s\n", err.Error())) } diff --git a/cmd/fairyringd/cmd/root.go b/cmd/fairyringd/cmd/root.go index 3e96fdd5..c6e5da22 100644 --- a/cmd/fairyringd/cmd/root.go +++ b/cmd/fairyringd/cmd/root.go @@ -1,10 +1,11 @@ package cmd import ( - "github.com/cosmos/cosmos-sdk/baseapp" "os" "strings" + "github.com/cosmos/cosmos-sdk/baseapp" + "cosmossdk.io/client/v2/autocli" clientv2keyring "cosmossdk.io/client/v2/autocli/keyring" "cosmossdk.io/core/address" diff --git a/cmd/fairyringd/cmd/secp_encrypter/secp_encrypter.go b/cmd/fairyringd/cmd/secp_encrypter/secp_encrypter.go new file mode 100644 index 00000000..7dac3844 --- /dev/null +++ b/cmd/fairyringd/cmd/secp_encrypter/secp_encrypter.go @@ -0,0 +1,58 @@ +package secp_encrypter + +import ( + "encoding/base64" + "encoding/hex" + "fmt" + "os" + + "github.com/btcsuite/btcd/btcec" + "github.com/spf13/cobra" +) + +func SecpEncrypterCmd() *cobra.Command { + var pubKeyBase64 string + var keyshare string + + var rootCmd = &cobra.Command{ + Use: "secp-encrypter", + Short: "A CLI tool to take two strings as input and output them", + Run: func(cmd *cobra.Command, args []string) { + // fmt.Println("Input 1:", pubKeyBase64) + // fmt.Println("Input 2:", keyshare) + + // Decode the base64 public key + pubKeyBytes, err := base64.StdEncoding.DecodeString(pubKeyBase64) + if err != nil { + fmt.Println(err) + os.Exit(1) + } + + // Load the secp256k1 public key + pubKey, err := btcec.ParsePubKey(pubKeyBytes, btcec.S256()) + if err != nil { + fmt.Println(err) + os.Exit(1) + } + + ciphertext, err := btcec.Encrypt(pubKey, []byte(keyshare)) + if err != nil { + fmt.Println(err) + os.Exit(1) + } + + // Encode ciphertext as hex for easy handling + fmt.Println(hex.EncodeToString(ciphertext)) + }, + } + + // Flags for input + rootCmd.Flags().StringVarP(&pubKeyBase64, "pubkey64", "p", "", "pubkey to encrypt keyshare") + rootCmd.Flags().StringVarP(&keyshare, "keyshare", "k", "", "keyshare in hex") + + // Mark the flags as required + rootCmd.MarkFlagRequired("pubkey64") + rootCmd.MarkFlagRequired("keyshare") + + return rootCmd +} diff --git a/cmd/fairyringd/cmd/sharegenerator/derive.go b/cmd/fairyringd/cmd/sharegenerator/derive.go index 01948d83..84851643 100644 --- a/cmd/fairyringd/cmd/sharegenerator/derive.go +++ b/cmd/fairyringd/cmd/sharegenerator/derive.go @@ -5,10 +5,11 @@ import ( "encoding/json" "errors" "fmt" + "strconv" + distIBE "github.com/FairBlock/DistributedIBE" bls "github.com/drand/kyber-bls12381" "github.com/spf13/cobra" - "strconv" ) type DeriveResult struct { diff --git a/cmd/fairyringd/cmd/sharegenerator/generate.go b/cmd/fairyringd/cmd/sharegenerator/generate.go index 4e5a66b9..a6294f86 100644 --- a/cmd/fairyringd/cmd/sharegenerator/generate.go +++ b/cmd/fairyringd/cmd/sharegenerator/generate.go @@ -6,9 +6,10 @@ import ( "encoding/json" "errors" "fmt" + "strconv" + distIBE "github.com/FairBlock/DistributedIBE" "github.com/spf13/cobra" - "strconv" ) type Share struct { diff --git a/cmd/fairyringd/cmd/sharegenerator/verify.go b/cmd/fairyringd/cmd/sharegenerator/verify.go index bfad6e20..c6365860 100644 --- a/cmd/fairyringd/cmd/sharegenerator/verify.go +++ b/cmd/fairyringd/cmd/sharegenerator/verify.go @@ -4,11 +4,12 @@ import ( "encoding/hex" "errors" "fmt" + "strconv" + distIBE "github.com/FairBlock/DistributedIBE" "github.com/drand/kyber" bls "github.com/drand/kyber-bls12381" "github.com/spf13/cobra" - "strconv" ) var verifyCmd = &cobra.Command{ diff --git a/cmd/fairyringd/cmd/verifiable_randomness/randomness.go b/cmd/fairyringd/cmd/verifiable_randomness/randomness.go index 84d62286..60eb0842 100644 --- a/cmd/fairyringd/cmd/verifiable_randomness/randomness.go +++ b/cmd/fairyringd/cmd/verifiable_randomness/randomness.go @@ -3,6 +3,7 @@ package verifiable_randomness import ( "context" "errors" + "github.com/Fairblock/fairyring/x/keyshare/types" "github.com/cosmos/cosmos-sdk/client" "github.com/spf13/cobra" diff --git a/config.yml b/config.yml new file mode 100644 index 00000000..ad541a5c --- /dev/null +++ b/config.yml @@ -0,0 +1,59 @@ +version: 1 +accounts: + - name: alice + coins: + - 1000000000token + - 2000000000stake + mnemonic: "thought awake grace need recipe erode bullet dust salt breeze rural desk camp deal devote wisdom rotate pledge repair garbage aspect find lens afraid" + - name: bob + coins: + - 500000000token + - 200000000stake + mnemonic: "south arm eager adjust dish aware rocket logic winter enlist idle reflect slogan urge clump angle input mechanic setup blue distance setup retreat rain" + - name: chris + coins: + - 500000000token + - 200000000stake + - name: donald + coins: + - 500000000token + - 200000000stake + - name: eli + coins: + - 500000000token + - 200000000stake + - name: fred + coins: + - 500000000token + - 200000000stake +validators: +- name: alice + bonded: 100000000stake +client: + openapi: + path: "docs/static/openapi.yml" + typescript: + path: "ts-client" + vuex: + path: "vue/src/store" +faucet: + name: bob + coins: + - 5token + - 100000stake +genesis: + chain_id: "fairytest-1" + app_state: + keyshare: + params: + trusted_addresses: [ + "fairy14afvm0yfs27a00hnr85064r69lpg46zjncasuv", + "fairy12hxz66z2tu0lec9cqjf8q4732v8mepffqm4tyl", + ] + key_expiry: 200 + pep: + params: + trusted_addresses: [ + "fairy14afvm0yfs27a00hnr85064r69lpg46zjncasuv", + "fairy12hxz66z2tu0lec9cqjf8q4732v8mepffqm4tyl", + ] \ No newline at end of file diff --git a/docs/static/openapi.yml b/docs/static/openapi.yml index 8bbc6cb9..1bcc0eb1 100644 --- a/docs/static/openapi.yml +++ b/docs/static/openapi.yml @@ -1,33851 +1 @@ -swagger: '2.0' -info: - title: HTTP API Console - name: '' - description: '' -paths: - /cosmos.auth.v1beta1.Msg/UpdateParams: - post: - summary: >- - UpdateParams defines a (governance) operation for updating the x/auth - module - - parameters. The authority defaults to the x/gov module account. - description: 'Since: cosmos-sdk 0.47' - operationId: CosmosAuthV1Beta1Msg_UpdateParams - responses: - '200': - description: A successful response. - schema: - type: object - description: >- - MsgUpdateParamsResponse defines the response structure for - executing a - - MsgUpdateParams message. - - - Since: cosmos-sdk 0.47 - default: - description: An unexpected error response. - schema: - type: object - properties: - code: - type: integer - format: int32 - message: - type: string - details: - type: array - items: - type: object - properties: - '@type': - type: string - description: >- - A URL/resource name that uniquely identifies the type of - the serialized - - protocol buffer message. This string must contain at - least - - one "/" character. The last segment of the URL's path - must represent - - the fully qualified name of the type (as in - - `path/google.protobuf.Duration`). The name should be in - a canonical form - - (e.g., leading "." is not accepted). - - - In practice, teams usually precompile into the binary - all types that they - - expect it to use in the context of Any. However, for - URLs which use the - - scheme `http`, `https`, or no scheme, one can optionally - set up a type - - server that maps type URLs to message definitions as - follows: - - - * If no scheme is provided, `https` is assumed. - - * An HTTP GET on the URL must yield a - [google.protobuf.Type][] - value in binary format, or produce an error. - * Applications are allowed to cache lookup results based - on the - URL, or have them precompiled into a binary to avoid any - lookup. Therefore, binary compatibility needs to be preserved - on changes to types. (Use versioned type names to manage - breaking changes.) - - Note: this functionality is not currently available in - the official - - protobuf release, and it is not used for type URLs - beginning with - - type.googleapis.com. As of May 2023, there are no widely - used type server - - implementations and no plans to implement one. - - - Schemes other than `http`, `https` (or the empty scheme) - might be - - used with implementation specific semantics. - additionalProperties: {} - description: >- - `Any` contains an arbitrary serialized protocol buffer - message along with a - - URL that describes the type of the serialized message. - - - Protobuf library provides support to pack/unpack Any values - in the form - - of utility functions or additional generated methods of the - Any type. - - - Example 1: Pack and unpack a message in C++. - - Foo foo = ...; - Any any; - any.PackFrom(foo); - ... - if (any.UnpackTo(&foo)) { - ... - } - - Example 2: Pack and unpack a message in Java. - - Foo foo = ...; - Any any = Any.pack(foo); - ... - if (any.is(Foo.class)) { - foo = any.unpack(Foo.class); - } - // or ... - if (any.isSameTypeAs(Foo.getDefaultInstance())) { - foo = any.unpack(Foo.getDefaultInstance()); - } - - Example 3: Pack and unpack a message in Python. - - foo = Foo(...) - any = Any() - any.Pack(foo) - ... - if any.Is(Foo.DESCRIPTOR): - any.Unpack(foo) - ... - - Example 4: Pack and unpack a message in Go - - foo := &pb.Foo{...} - any, err := anypb.New(foo) - if err != nil { - ... - } - ... - foo := &pb.Foo{} - if err := any.UnmarshalTo(foo); err != nil { - ... - } - - The pack methods provided by protobuf library will by - default use - - 'type.googleapis.com/full.type.name' as the type URL and the - unpack - - methods only use the fully qualified type name after the - last '/' - - in the type URL, for example "foo.bar.com/x/y.z" will yield - type - - name "y.z". - - - JSON - - ==== - - The JSON representation of an `Any` value uses the regular - - representation of the deserialized, embedded message, with - an - - additional field `@type` which contains the type URL. - Example: - - package google.profile; - message Person { - string first_name = 1; - string last_name = 2; - } - - { - "@type": "type.googleapis.com/google.profile.Person", - "firstName": , - "lastName": - } - - If the embedded message type is well-known and has a custom - JSON - - representation, that representation will be embedded adding - a field - - `value` which holds the custom JSON in addition to the - `@type` - - field. Example (for message [google.protobuf.Duration][]): - - { - "@type": "type.googleapis.com/google.protobuf.Duration", - "value": "1.212s" - } - parameters: - - name: body - description: |- - MsgUpdateParams is the Msg/UpdateParams request type. - - Since: cosmos-sdk 0.47 - in: body - required: true - schema: - type: object - properties: - authority: - type: string - description: >- - authority is the address that controls the module (defaults to - x/gov unless overwritten). - params: - description: |- - params defines the x/auth parameters to update. - - NOTE: All parameters must be supplied. - type: object - properties: - max_memo_characters: - type: string - format: uint64 - tx_sig_limit: - type: string - format: uint64 - tx_size_cost_per_byte: - type: string - format: uint64 - sig_verify_cost_ed25519: - type: string - format: uint64 - sig_verify_cost_secp256k1: - type: string - format: uint64 - description: |- - MsgUpdateParams is the Msg/UpdateParams request type. - - Since: cosmos-sdk 0.47 - tags: - - Msg - /cosmos.authz.v1beta1.Msg/Exec: - post: - summary: |- - Exec attempts to execute the provided messages using - authorizations granted to the grantee. Each message should have only - one signer corresponding to the granter of the authorization. - operationId: CosmosAuthzV1Beta1Msg_Exec - responses: - '200': - description: A successful response. - schema: - type: object - properties: - results: - type: array - items: - type: string - format: byte - description: MsgExecResponse defines the Msg/MsgExecResponse response type. - default: - description: An unexpected error response. - schema: - type: object - properties: - code: - type: integer - format: int32 - message: - type: string - details: - type: array - items: - type: object - properties: - '@type': - type: string - description: >- - A URL/resource name that uniquely identifies the type of - the serialized - - protocol buffer message. This string must contain at - least - - one "/" character. The last segment of the URL's path - must represent - - the fully qualified name of the type (as in - - `path/google.protobuf.Duration`). The name should be in - a canonical form - - (e.g., leading "." is not accepted). - - - In practice, teams usually precompile into the binary - all types that they - - expect it to use in the context of Any. However, for - URLs which use the - - scheme `http`, `https`, or no scheme, one can optionally - set up a type - - server that maps type URLs to message definitions as - follows: - - - * If no scheme is provided, `https` is assumed. - - * An HTTP GET on the URL must yield a - [google.protobuf.Type][] - value in binary format, or produce an error. - * Applications are allowed to cache lookup results based - on the - URL, or have them precompiled into a binary to avoid any - lookup. Therefore, binary compatibility needs to be preserved - on changes to types. (Use versioned type names to manage - breaking changes.) - - Note: this functionality is not currently available in - the official - - protobuf release, and it is not used for type URLs - beginning with - - type.googleapis.com. As of May 2023, there are no widely - used type server - - implementations and no plans to implement one. - - - Schemes other than `http`, `https` (or the empty scheme) - might be - - used with implementation specific semantics. - additionalProperties: {} - description: >- - `Any` contains an arbitrary serialized protocol buffer - message along with a - - URL that describes the type of the serialized message. - - - Protobuf library provides support to pack/unpack Any values - in the form - - of utility functions or additional generated methods of the - Any type. - - - Example 1: Pack and unpack a message in C++. - - Foo foo = ...; - Any any; - any.PackFrom(foo); - ... - if (any.UnpackTo(&foo)) { - ... - } - - Example 2: Pack and unpack a message in Java. - - Foo foo = ...; - Any any = Any.pack(foo); - ... - if (any.is(Foo.class)) { - foo = any.unpack(Foo.class); - } - // or ... - if (any.isSameTypeAs(Foo.getDefaultInstance())) { - foo = any.unpack(Foo.getDefaultInstance()); - } - - Example 3: Pack and unpack a message in Python. - - foo = Foo(...) - any = Any() - any.Pack(foo) - ... - if any.Is(Foo.DESCRIPTOR): - any.Unpack(foo) - ... - - Example 4: Pack and unpack a message in Go - - foo := &pb.Foo{...} - any, err := anypb.New(foo) - if err != nil { - ... - } - ... - foo := &pb.Foo{} - if err := any.UnmarshalTo(foo); err != nil { - ... - } - - The pack methods provided by protobuf library will by - default use - - 'type.googleapis.com/full.type.name' as the type URL and the - unpack - - methods only use the fully qualified type name after the - last '/' - - in the type URL, for example "foo.bar.com/x/y.z" will yield - type - - name "y.z". - - - JSON - - ==== - - The JSON representation of an `Any` value uses the regular - - representation of the deserialized, embedded message, with - an - - additional field `@type` which contains the type URL. - Example: - - package google.profile; - message Person { - string first_name = 1; - string last_name = 2; - } - - { - "@type": "type.googleapis.com/google.profile.Person", - "firstName": , - "lastName": - } - - If the embedded message type is well-known and has a custom - JSON - - representation, that representation will be embedded adding - a field - - `value` which holds the custom JSON in addition to the - `@type` - - field. Example (for message [google.protobuf.Duration][]): - - { - "@type": "type.googleapis.com/google.protobuf.Duration", - "value": "1.212s" - } - parameters: - - name: body - description: |- - MsgExec attempts to execute the provided messages using - authorizations granted to the grantee. Each message should have only - one signer corresponding to the granter of the authorization. - in: body - required: true - schema: - type: object - properties: - grantee: - type: string - msgs: - type: array - items: - type: object - properties: - '@type': - type: string - description: >- - A URL/resource name that uniquely identifies the type of - the serialized - - protocol buffer message. This string must contain at - least - - one "/" character. The last segment of the URL's path - must represent - - the fully qualified name of the type (as in - - `path/google.protobuf.Duration`). The name should be in - a canonical form - - (e.g., leading "." is not accepted). - - - In practice, teams usually precompile into the binary - all types that they - - expect it to use in the context of Any. However, for - URLs which use the - - scheme `http`, `https`, or no scheme, one can optionally - set up a type - - server that maps type URLs to message definitions as - follows: - - - * If no scheme is provided, `https` is assumed. - - * An HTTP GET on the URL must yield a - [google.protobuf.Type][] - value in binary format, or produce an error. - * Applications are allowed to cache lookup results based - on the - URL, or have them precompiled into a binary to avoid any - lookup. Therefore, binary compatibility needs to be preserved - on changes to types. (Use versioned type names to manage - breaking changes.) - - Note: this functionality is not currently available in - the official - - protobuf release, and it is not used for type URLs - beginning with - - type.googleapis.com. As of May 2023, there are no widely - used type server - - implementations and no plans to implement one. - - - Schemes other than `http`, `https` (or the empty scheme) - might be - - used with implementation specific semantics. - additionalProperties: {} - description: >- - `Any` contains an arbitrary serialized protocol buffer - message along with a - - URL that describes the type of the serialized message. - - - Protobuf library provides support to pack/unpack Any values - in the form - - of utility functions or additional generated methods of the - Any type. - - - Example 1: Pack and unpack a message in C++. - - Foo foo = ...; - Any any; - any.PackFrom(foo); - ... - if (any.UnpackTo(&foo)) { - ... - } - - Example 2: Pack and unpack a message in Java. - - Foo foo = ...; - Any any = Any.pack(foo); - ... - if (any.is(Foo.class)) { - foo = any.unpack(Foo.class); - } - // or ... - if (any.isSameTypeAs(Foo.getDefaultInstance())) { - foo = any.unpack(Foo.getDefaultInstance()); - } - - Example 3: Pack and unpack a message in Python. - - foo = Foo(...) - any = Any() - any.Pack(foo) - ... - if any.Is(Foo.DESCRIPTOR): - any.Unpack(foo) - ... - - Example 4: Pack and unpack a message in Go - - foo := &pb.Foo{...} - any, err := anypb.New(foo) - if err != nil { - ... - } - ... - foo := &pb.Foo{} - if err := any.UnmarshalTo(foo); err != nil { - ... - } - - The pack methods provided by protobuf library will by - default use - - 'type.googleapis.com/full.type.name' as the type URL and the - unpack - - methods only use the fully qualified type name after the - last '/' - - in the type URL, for example "foo.bar.com/x/y.z" will yield - type - - name "y.z". - - - JSON - - ==== - - The JSON representation of an `Any` value uses the regular - - representation of the deserialized, embedded message, with - an - - additional field `@type` which contains the type URL. - Example: - - package google.profile; - message Person { - string first_name = 1; - string last_name = 2; - } - - { - "@type": "type.googleapis.com/google.profile.Person", - "firstName": , - "lastName": - } - - If the embedded message type is well-known and has a custom - JSON - - representation, that representation will be embedded adding - a field - - `value` which holds the custom JSON in addition to the - `@type` - - field. Example (for message [google.protobuf.Duration][]): - - { - "@type": "type.googleapis.com/google.protobuf.Duration", - "value": "1.212s" - } - description: >- - Execute Msg. - - The x/authz will try to find a grant matching (msg.signers[0], - grantee, MsgTypeURL(msg)) - - triple and validate it. - description: >- - MsgExec attempts to execute the provided messages using - - authorizations granted to the grantee. Each message should have - only - - one signer corresponding to the granter of the authorization. - tags: - - Msg - /cosmos.authz.v1beta1.Msg/Grant: - post: - summary: |- - Grant grants the provided authorization to the grantee on the granter's - account with the provided expiration time. If there is already a grant - for the given (granter, grantee, Authorization) triple, then the grant - will be overwritten. - operationId: CosmosAuthzV1Beta1Msg_Grant - responses: - '200': - description: A successful response. - schema: - type: object - description: MsgGrantResponse defines the Msg/MsgGrant response type. - default: - description: An unexpected error response. - schema: - type: object - properties: - code: - type: integer - format: int32 - message: - type: string - details: - type: array - items: - type: object - properties: - '@type': - type: string - description: >- - A URL/resource name that uniquely identifies the type of - the serialized - - protocol buffer message. This string must contain at - least - - one "/" character. The last segment of the URL's path - must represent - - the fully qualified name of the type (as in - - `path/google.protobuf.Duration`). The name should be in - a canonical form - - (e.g., leading "." is not accepted). - - - In practice, teams usually precompile into the binary - all types that they - - expect it to use in the context of Any. However, for - URLs which use the - - scheme `http`, `https`, or no scheme, one can optionally - set up a type - - server that maps type URLs to message definitions as - follows: - - - * If no scheme is provided, `https` is assumed. - - * An HTTP GET on the URL must yield a - [google.protobuf.Type][] - value in binary format, or produce an error. - * Applications are allowed to cache lookup results based - on the - URL, or have them precompiled into a binary to avoid any - lookup. Therefore, binary compatibility needs to be preserved - on changes to types. (Use versioned type names to manage - breaking changes.) - - Note: this functionality is not currently available in - the official - - protobuf release, and it is not used for type URLs - beginning with - - type.googleapis.com. As of May 2023, there are no widely - used type server - - implementations and no plans to implement one. - - - Schemes other than `http`, `https` (or the empty scheme) - might be - - used with implementation specific semantics. - additionalProperties: {} - description: >- - `Any` contains an arbitrary serialized protocol buffer - message along with a - - URL that describes the type of the serialized message. - - - Protobuf library provides support to pack/unpack Any values - in the form - - of utility functions or additional generated methods of the - Any type. - - - Example 1: Pack and unpack a message in C++. - - Foo foo = ...; - Any any; - any.PackFrom(foo); - ... - if (any.UnpackTo(&foo)) { - ... - } - - Example 2: Pack and unpack a message in Java. - - Foo foo = ...; - Any any = Any.pack(foo); - ... - if (any.is(Foo.class)) { - foo = any.unpack(Foo.class); - } - // or ... - if (any.isSameTypeAs(Foo.getDefaultInstance())) { - foo = any.unpack(Foo.getDefaultInstance()); - } - - Example 3: Pack and unpack a message in Python. - - foo = Foo(...) - any = Any() - any.Pack(foo) - ... - if any.Is(Foo.DESCRIPTOR): - any.Unpack(foo) - ... - - Example 4: Pack and unpack a message in Go - - foo := &pb.Foo{...} - any, err := anypb.New(foo) - if err != nil { - ... - } - ... - foo := &pb.Foo{} - if err := any.UnmarshalTo(foo); err != nil { - ... - } - - The pack methods provided by protobuf library will by - default use - - 'type.googleapis.com/full.type.name' as the type URL and the - unpack - - methods only use the fully qualified type name after the - last '/' - - in the type URL, for example "foo.bar.com/x/y.z" will yield - type - - name "y.z". - - - JSON - - ==== - - The JSON representation of an `Any` value uses the regular - - representation of the deserialized, embedded message, with - an - - additional field `@type` which contains the type URL. - Example: - - package google.profile; - message Person { - string first_name = 1; - string last_name = 2; - } - - { - "@type": "type.googleapis.com/google.profile.Person", - "firstName": , - "lastName": - } - - If the embedded message type is well-known and has a custom - JSON - - representation, that representation will be embedded adding - a field - - `value` which holds the custom JSON in addition to the - `@type` - - field. Example (for message [google.protobuf.Duration][]): - - { - "@type": "type.googleapis.com/google.protobuf.Duration", - "value": "1.212s" - } - parameters: - - name: body - description: >- - MsgGrant is a request type for Grant method. It declares - authorization to the grantee - - on behalf of the granter with the provided expiration time. - in: body - required: true - schema: - type: object - properties: - granter: - type: string - grantee: - type: string - grant: - type: object - properties: - authorization: - type: object - properties: - '@type': - type: string - description: >- - A URL/resource name that uniquely identifies the type - of the serialized - - protocol buffer message. This string must contain at - least - - one "/" character. The last segment of the URL's path - must represent - - the fully qualified name of the type (as in - - `path/google.protobuf.Duration`). The name should be - in a canonical form - - (e.g., leading "." is not accepted). - - - In practice, teams usually precompile into the binary - all types that they - - expect it to use in the context of Any. However, for - URLs which use the - - scheme `http`, `https`, or no scheme, one can - optionally set up a type - - server that maps type URLs to message definitions as - follows: - - - * If no scheme is provided, `https` is assumed. - - * An HTTP GET on the URL must yield a - [google.protobuf.Type][] - value in binary format, or produce an error. - * Applications are allowed to cache lookup results - based on the - URL, or have them precompiled into a binary to avoid any - lookup. Therefore, binary compatibility needs to be preserved - on changes to types. (Use versioned type names to manage - breaking changes.) - - Note: this functionality is not currently available in - the official - - protobuf release, and it is not used for type URLs - beginning with - - type.googleapis.com. As of May 2023, there are no - widely used type server - - implementations and no plans to implement one. - - - Schemes other than `http`, `https` (or the empty - scheme) might be - - used with implementation specific semantics. - additionalProperties: {} - description: >- - `Any` contains an arbitrary serialized protocol buffer - message along with a - - URL that describes the type of the serialized message. - - - Protobuf library provides support to pack/unpack Any - values in the form - - of utility functions or additional generated methods of - the Any type. - - - Example 1: Pack and unpack a message in C++. - - Foo foo = ...; - Any any; - any.PackFrom(foo); - ... - if (any.UnpackTo(&foo)) { - ... - } - - Example 2: Pack and unpack a message in Java. - - Foo foo = ...; - Any any = Any.pack(foo); - ... - if (any.is(Foo.class)) { - foo = any.unpack(Foo.class); - } - // or ... - if (any.isSameTypeAs(Foo.getDefaultInstance())) { - foo = any.unpack(Foo.getDefaultInstance()); - } - - Example 3: Pack and unpack a message in Python. - - foo = Foo(...) - any = Any() - any.Pack(foo) - ... - if any.Is(Foo.DESCRIPTOR): - any.Unpack(foo) - ... - - Example 4: Pack and unpack a message in Go - - foo := &pb.Foo{...} - any, err := anypb.New(foo) - if err != nil { - ... - } - ... - foo := &pb.Foo{} - if err := any.UnmarshalTo(foo); err != nil { - ... - } - - The pack methods provided by protobuf library will by - default use - - 'type.googleapis.com/full.type.name' as the type URL and - the unpack - - methods only use the fully qualified type name after the - last '/' - - in the type URL, for example "foo.bar.com/x/y.z" will - yield type - - name "y.z". - - - JSON - - ==== - - The JSON representation of an `Any` value uses the regular - - representation of the deserialized, embedded message, with - an - - additional field `@type` which contains the type URL. - Example: - - package google.profile; - message Person { - string first_name = 1; - string last_name = 2; - } - - { - "@type": "type.googleapis.com/google.profile.Person", - "firstName": , - "lastName": - } - - If the embedded message type is well-known and has a - custom JSON - - representation, that representation will be embedded - adding a field - - `value` which holds the custom JSON in addition to the - `@type` - - field. Example (for message [google.protobuf.Duration][]): - - { - "@type": "type.googleapis.com/google.protobuf.Duration", - "value": "1.212s" - } - expiration: - type: string - format: date-time - title: >- - time when the grant will expire and will be pruned. If - null, then the grant - - doesn't have a time expiration (other conditions in - `authorization` - - may apply to invalidate the grant) - description: |- - Grant gives permissions to execute - the provide method with expiration time. - description: >- - MsgGrant is a request type for Grant method. It declares - authorization to the grantee - - on behalf of the granter with the provided expiration time. - tags: - - Msg - /cosmos.authz.v1beta1.Msg/Revoke: - post: - summary: >- - Revoke revokes any authorization corresponding to the provided method - name on the - - granter's account that has been granted to the grantee. - operationId: CosmosAuthzV1Beta1Msg_Revoke - responses: - '200': - description: A successful response. - schema: - type: object - description: MsgRevokeResponse defines the Msg/MsgRevokeResponse response type. - default: - description: An unexpected error response. - schema: - type: object - properties: - code: - type: integer - format: int32 - message: - type: string - details: - type: array - items: - type: object - properties: - '@type': - type: string - description: >- - A URL/resource name that uniquely identifies the type of - the serialized - - protocol buffer message. This string must contain at - least - - one "/" character. The last segment of the URL's path - must represent - - the fully qualified name of the type (as in - - `path/google.protobuf.Duration`). The name should be in - a canonical form - - (e.g., leading "." is not accepted). - - - In practice, teams usually precompile into the binary - all types that they - - expect it to use in the context of Any. However, for - URLs which use the - - scheme `http`, `https`, or no scheme, one can optionally - set up a type - - server that maps type URLs to message definitions as - follows: - - - * If no scheme is provided, `https` is assumed. - - * An HTTP GET on the URL must yield a - [google.protobuf.Type][] - value in binary format, or produce an error. - * Applications are allowed to cache lookup results based - on the - URL, or have them precompiled into a binary to avoid any - lookup. Therefore, binary compatibility needs to be preserved - on changes to types. (Use versioned type names to manage - breaking changes.) - - Note: this functionality is not currently available in - the official - - protobuf release, and it is not used for type URLs - beginning with - - type.googleapis.com. As of May 2023, there are no widely - used type server - - implementations and no plans to implement one. - - - Schemes other than `http`, `https` (or the empty scheme) - might be - - used with implementation specific semantics. - additionalProperties: {} - description: >- - `Any` contains an arbitrary serialized protocol buffer - message along with a - - URL that describes the type of the serialized message. - - - Protobuf library provides support to pack/unpack Any values - in the form - - of utility functions or additional generated methods of the - Any type. - - - Example 1: Pack and unpack a message in C++. - - Foo foo = ...; - Any any; - any.PackFrom(foo); - ... - if (any.UnpackTo(&foo)) { - ... - } - - Example 2: Pack and unpack a message in Java. - - Foo foo = ...; - Any any = Any.pack(foo); - ... - if (any.is(Foo.class)) { - foo = any.unpack(Foo.class); - } - // or ... - if (any.isSameTypeAs(Foo.getDefaultInstance())) { - foo = any.unpack(Foo.getDefaultInstance()); - } - - Example 3: Pack and unpack a message in Python. - - foo = Foo(...) - any = Any() - any.Pack(foo) - ... - if any.Is(Foo.DESCRIPTOR): - any.Unpack(foo) - ... - - Example 4: Pack and unpack a message in Go - - foo := &pb.Foo{...} - any, err := anypb.New(foo) - if err != nil { - ... - } - ... - foo := &pb.Foo{} - if err := any.UnmarshalTo(foo); err != nil { - ... - } - - The pack methods provided by protobuf library will by - default use - - 'type.googleapis.com/full.type.name' as the type URL and the - unpack - - methods only use the fully qualified type name after the - last '/' - - in the type URL, for example "foo.bar.com/x/y.z" will yield - type - - name "y.z". - - - JSON - - ==== - - The JSON representation of an `Any` value uses the regular - - representation of the deserialized, embedded message, with - an - - additional field `@type` which contains the type URL. - Example: - - package google.profile; - message Person { - string first_name = 1; - string last_name = 2; - } - - { - "@type": "type.googleapis.com/google.profile.Person", - "firstName": , - "lastName": - } - - If the embedded message type is well-known and has a custom - JSON - - representation, that representation will be embedded adding - a field - - `value` which holds the custom JSON in addition to the - `@type` - - field. Example (for message [google.protobuf.Duration][]): - - { - "@type": "type.googleapis.com/google.protobuf.Duration", - "value": "1.212s" - } - parameters: - - name: body - description: >- - MsgRevoke revokes any authorization with the provided sdk.Msg type - on the - - granter's account with that has been granted to the grantee. - in: body - required: true - schema: - type: object - properties: - granter: - type: string - grantee: - type: string - msg_type_url: - type: string - description: >- - MsgRevoke revokes any authorization with the provided sdk.Msg type - on the - - granter's account with that has been granted to the grantee. - tags: - - Msg - /cosmos.bank.v1beta1.Msg/MultiSend: - post: - summary: >- - MultiSend defines a method for sending coins from some accounts to other - accounts. - operationId: CosmosBankV1Beta1Msg_MultiSend - responses: - '200': - description: A successful response. - schema: - type: object - description: MsgMultiSendResponse defines the Msg/MultiSend response type. - default: - description: An unexpected error response. - schema: - type: object - properties: - code: - type: integer - format: int32 - message: - type: string - details: - type: array - items: - type: object - properties: - '@type': - type: string - additionalProperties: {} - parameters: - - name: body - description: >- - MsgMultiSend represents an arbitrary multi-in, multi-out send - message. - in: body - required: true - schema: - type: object - properties: - inputs: - type: array - items: - type: object - properties: - address: - type: string - coins: - type: array - items: - type: object - properties: - denom: - type: string - amount: - type: string - description: >- - Coin defines a token with a denomination and an - amount. - - - NOTE: The amount field is an Int which implements the - custom method - - signatures required by gogoproto. - description: Input models transaction input. - description: >- - Inputs, despite being `repeated`, only allows one sender - input. This is - - checked in MsgMultiSend's ValidateBasic. - outputs: - type: array - items: - type: object - properties: - address: - type: string - coins: - type: array - items: - type: object - properties: - denom: - type: string - amount: - type: string - description: >- - Coin defines a token with a denomination and an - amount. - - - NOTE: The amount field is an Int which implements the - custom method - - signatures required by gogoproto. - description: Output models transaction outputs. - description: >- - MsgMultiSend represents an arbitrary multi-in, multi-out send - message. - tags: - - Msg - /cosmos.bank.v1beta1.Msg/Send: - post: - summary: >- - Send defines a method for sending coins from one account to another - account. - operationId: CosmosBankV1Beta1Msg_Send - responses: - '200': - description: A successful response. - schema: - type: object - description: MsgSendResponse defines the Msg/Send response type. - default: - description: An unexpected error response. - schema: - type: object - properties: - code: - type: integer - format: int32 - message: - type: string - details: - type: array - items: - type: object - properties: - '@type': - type: string - additionalProperties: {} - parameters: - - name: body - description: >- - MsgSend represents a message to send coins from one account to - another. - in: body - required: true - schema: - type: object - properties: - from_address: - type: string - to_address: - type: string - amount: - type: array - items: - type: object - properties: - denom: - type: string - amount: - type: string - description: >- - Coin defines a token with a denomination and an amount. - - - NOTE: The amount field is an Int which implements the custom - method - - signatures required by gogoproto. - description: >- - MsgSend represents a message to send coins from one account to - another. - tags: - - Msg - /cosmos.bank.v1beta1.Msg/SetSendEnabled: - post: - summary: >- - SetSendEnabled is a governance operation for setting the SendEnabled - flag - - on any number of Denoms. Only the entries to add or update should be - - included. Entries that already exist in the store, but that aren't - - included in this message, will be left unchanged. - description: 'Since: cosmos-sdk 0.47' - operationId: CosmosBankV1Beta1Msg_SetSendEnabled - responses: - '200': - description: A successful response. - schema: - type: object - description: >- - MsgSetSendEnabledResponse defines the Msg/SetSendEnabled response - type. - - - Since: cosmos-sdk 0.47 - default: - description: An unexpected error response. - schema: - type: object - properties: - code: - type: integer - format: int32 - message: - type: string - details: - type: array - items: - type: object - properties: - '@type': - type: string - additionalProperties: {} - parameters: - - name: body - description: |- - MsgSetSendEnabled is the Msg/SetSendEnabled request type. - - Only entries to add/update/delete need to be included. - Existing SendEnabled entries that are not included in this - message are left unchanged. - - Since: cosmos-sdk 0.47 - in: body - required: true - schema: - type: object - properties: - authority: - type: string - description: authority is the address that controls the module. - send_enabled: - type: array - items: - type: object - properties: - denom: - type: string - enabled: - type: boolean - description: >- - SendEnabled maps coin denom to a send_enabled status - (whether a denom is - - sendable). - description: send_enabled is the list of entries to add or update. - use_default_for: - type: array - items: - type: string - description: >- - use_default_for is a list of denoms that should use the - params.default_send_enabled value. - - Denoms listed here will have their SendEnabled entries - deleted. - - If a denom is included that doesn't have a SendEnabled entry, - - it will be ignored. - description: |- - MsgSetSendEnabled is the Msg/SetSendEnabled request type. - - Only entries to add/update/delete need to be included. - Existing SendEnabled entries that are not included in this - message are left unchanged. - - Since: cosmos-sdk 0.47 - tags: - - Msg - /cosmos.bank.v1beta1.Msg/UpdateParams: - post: - summary: >- - UpdateParams defines a governance operation for updating the x/bank - module parameters. - - The authority is defined in the keeper. - description: 'Since: cosmos-sdk 0.47' - operationId: CosmosBankV1Beta1Msg_UpdateParams - responses: - '200': - description: A successful response. - schema: - type: object - description: >- - MsgUpdateParamsResponse defines the response structure for - executing a - - MsgUpdateParams message. - - - Since: cosmos-sdk 0.47 - default: - description: An unexpected error response. - schema: - type: object - properties: - code: - type: integer - format: int32 - message: - type: string - details: - type: array - items: - type: object - properties: - '@type': - type: string - additionalProperties: {} - parameters: - - name: body - description: |- - MsgUpdateParams is the Msg/UpdateParams request type. - - Since: cosmos-sdk 0.47 - in: body - required: true - schema: - type: object - properties: - authority: - type: string - description: >- - authority is the address that controls the module (defaults to - x/gov unless overwritten). - params: - description: |- - params defines the x/bank parameters to update. - - NOTE: All parameters must be supplied. - type: object - properties: - send_enabled: - type: array - items: - type: object - properties: - denom: - type: string - enabled: - type: boolean - description: >- - SendEnabled maps coin denom to a send_enabled status - (whether a denom is - - sendable). - description: >- - Deprecated: Use of SendEnabled in params is deprecated. - - For genesis, use the newly added send_enabled field in the - genesis object. - - Storage, lookup, and manipulation of this information is - now in the keeper. - - - As of cosmos-sdk 0.47, this only exists for backwards - compatibility of genesis files. - default_send_enabled: - type: boolean - description: |- - MsgUpdateParams is the Msg/UpdateParams request type. - - Since: cosmos-sdk 0.47 - tags: - - Msg - /cosmos/base/node/v1beta1/config: - get: - summary: Config queries for the operator configuration. - operationId: CosmosBaseNodeV1Beta1Service_Config - responses: - '200': - description: A successful response. - schema: - type: object - properties: - minimum_gas_price: - type: string - pruning_keep_recent: - type: string - pruning_interval: - type: string - halt_height: - type: string - format: uint64 - description: >- - ConfigResponse defines the response structure for the Config gRPC - query. - default: - description: An unexpected error response. - schema: - type: object - properties: - code: - type: integer - format: int32 - message: - type: string - details: - type: array - items: - type: object - properties: - '@type': - type: string - additionalProperties: {} - tags: - - Service - /cosmos/base/node/v1beta1/status: - get: - summary: Status queries for the node status. - operationId: CosmosBaseNodeV1Beta1Service_Status - responses: - '200': - description: A successful response. - schema: - type: object - properties: - earliest_store_height: - type: string - format: uint64 - title: earliest block height available in the store - height: - type: string - format: uint64 - title: current block height - timestamp: - type: string - format: date-time - title: block height timestamp - app_hash: - type: string - format: byte - title: app hash of the current block - validator_hash: - type: string - format: byte - title: validator hash provided by the consensus header - description: >- - StateResponse defines the response structure for the status of a - node. - default: - description: An unexpected error response. - schema: - type: object - properties: - code: - type: integer - format: int32 - message: - type: string - details: - type: array - items: - type: object - properties: - '@type': - type: string - additionalProperties: {} - tags: - - Service - /cosmos.consensus.v1.Msg/UpdateParams: - post: - summary: >- - UpdateParams defines a governance operation for updating the x/consensus - module parameters. - - The authority is defined in the keeper. - description: 'Since: cosmos-sdk 0.47' - operationId: CosmosConsensusV1Msg_UpdateParams - responses: - '200': - description: A successful response. - schema: - type: object - description: >- - MsgUpdateParamsResponse defines the response structure for - executing a - - MsgUpdateParams message. - default: - description: An unexpected error response. - schema: - type: object - properties: - code: - type: integer - format: int32 - message: - type: string - details: - type: array - items: - type: object - properties: - '@type': - type: string - additionalProperties: {} - parameters: - - name: body - description: MsgUpdateParams is the Msg/UpdateParams request type. - in: body - required: true - schema: - type: object - properties: - authority: - type: string - description: >- - authority is the address that controls the module (defaults to - x/gov unless overwritten). - block: - description: >- - params defines the x/consensus parameters to update. - - VersionsParams is not included in this Msg because it is - tracked - - separarately in x/upgrade. - - - NOTE: All parameters must be supplied. - type: object - properties: - max_bytes: - type: string - format: int64 - title: |- - Max block size, in bytes. - Note: must be greater than 0 - max_gas: - type: string - format: int64 - title: |- - Max gas per block. - Note: must be greater or equal to -1 - evidence: - type: object - properties: - max_age_num_blocks: - type: string - format: int64 - description: >- - Max age of evidence, in blocks. - - - The basic formula for calculating this is: MaxAgeDuration - / {average block - - time}. - max_age_duration: - type: string - description: >- - Max age of evidence, in time. - - - It should correspond with an app's "unbonding period" or - other similar - - mechanism for handling [Nothing-At-Stake - - attacks](https://github.com/ethereum/wiki/wiki/Proof-of-Stake-FAQ#what-is-the-nothing-at-stake-problem-and-how-can-it-be-fixed). - max_bytes: - type: string - format: int64 - title: >- - This sets the maximum size of total evidence in bytes that - can be committed in a single block. - - and should fall comfortably under the max block bytes. - - Default is 1048576 or 1MB - description: >- - EvidenceParams determine how we handle evidence of - malfeasance. - validator: - type: object - properties: - pub_key_types: - type: array - items: - type: string - description: >- - ValidatorParams restrict the public key types validators can - use. - - NOTE: uses ABCI pubkey naming, not Amino names. - abci: - title: 'Since: cosmos-sdk 0.50' - type: object - properties: - vote_extensions_enable_height: - type: string - format: int64 - description: >- - vote_extensions_enable_height configures the first height - during which - - vote extensions will be enabled. During this specified - height, and for all - - subsequent heights, precommit messages that do not contain - valid extension data - - will be considered invalid. Prior to this height, vote - extensions will not - - be used or accepted by validators on the network. - - - Once enabled, vote extensions will be created by the - application in ExtendVote, - - passed to the application for validation in - VerifyVoteExtension and given - - to the application to use when proposing a block during - PrepareProposal. - description: >- - ABCIParams configure functionality specific to the Application - Blockchain Interface. - description: MsgUpdateParams is the Msg/UpdateParams request type. - tags: - - Msg - /cosmos.crisis.v1beta1.Msg/UpdateParams: - post: - summary: >- - UpdateParams defines a governance operation for updating the x/crisis - module - - parameters. The authority is defined in the keeper. - description: 'Since: cosmos-sdk 0.47' - operationId: CosmosCrisisV1Beta1Msg_UpdateParams - responses: - '200': - description: A successful response. - schema: - type: object - description: >- - MsgUpdateParamsResponse defines the response structure for - executing a - - MsgUpdateParams message. - - - Since: cosmos-sdk 0.47 - default: - description: An unexpected error response. - schema: - type: object - properties: - code: - type: integer - format: int32 - message: - type: string - details: - type: array - items: - type: object - properties: - '@type': - type: string - additionalProperties: {} - parameters: - - name: body - description: |- - MsgUpdateParams is the Msg/UpdateParams request type. - - Since: cosmos-sdk 0.47 - in: body - required: true - schema: - type: object - properties: - authority: - type: string - description: >- - authority is the address that controls the module (defaults to - x/gov unless overwritten). - constant_fee: - description: constant_fee defines the x/crisis parameter. - type: object - properties: - denom: - type: string - amount: - type: string - description: |- - MsgUpdateParams is the Msg/UpdateParams request type. - - Since: cosmos-sdk 0.47 - tags: - - Msg - /cosmos.crisis.v1beta1.Msg/VerifyInvariant: - post: - summary: VerifyInvariant defines a method to verify a particular invariant. - operationId: CosmosCrisisV1Beta1Msg_VerifyInvariant - responses: - '200': - description: A successful response. - schema: - type: object - description: >- - MsgVerifyInvariantResponse defines the Msg/VerifyInvariant - response type. - default: - description: An unexpected error response. - schema: - type: object - properties: - code: - type: integer - format: int32 - message: - type: string - details: - type: array - items: - type: object - properties: - '@type': - type: string - additionalProperties: {} - parameters: - - name: body - description: >- - MsgVerifyInvariant represents a message to verify a particular - invariance. - in: body - required: true - schema: - type: object - properties: - sender: - type: string - description: >- - sender is the account address of private key to send coins to - fee collector account. - invariant_module_name: - type: string - description: name of the invariant module. - invariant_route: - type: string - description: invariant_route is the msg's invariant route. - description: >- - MsgVerifyInvariant represents a message to verify a particular - invariance. - tags: - - Msg - /cosmos.distribution.v1beta1.Msg/CommunityPoolSpend: - post: - summary: >- - CommunityPoolSpend defines a governance operation for sending tokens - from - - the community pool in the x/distribution module to another account, - which - - could be the governance module itself. The authority is defined in the - - keeper. - description: 'Since: cosmos-sdk 0.47' - operationId: CosmosDistributionV1Beta1Msg_CommunityPoolSpend - responses: - '200': - description: A successful response. - schema: - type: object - description: |- - MsgCommunityPoolSpendResponse defines the response to executing a - MsgCommunityPoolSpend message. - - Since: cosmos-sdk 0.47 - default: - description: An unexpected error response. - schema: - type: object - properties: - code: - type: integer - format: int32 - message: - type: string - details: - type: array - items: - type: object - properties: - '@type': - type: string - additionalProperties: {} - parameters: - - name: body - description: >- - MsgCommunityPoolSpend defines a message for sending tokens from the - community - - pool to another account. This message is typically executed via a - governance - - proposal with the governance module being the executing authority. - - - Since: cosmos-sdk 0.47 - in: body - required: true - schema: - type: object - properties: - authority: - type: string - description: >- - authority is the address that controls the module (defaults to - x/gov unless overwritten). - recipient: - type: string - amount: - type: array - items: - type: object - properties: - denom: - type: string - amount: - type: string - description: >- - Coin defines a token with a denomination and an amount. - - - NOTE: The amount field is an Int which implements the custom - method - - signatures required by gogoproto. - description: >- - MsgCommunityPoolSpend defines a message for sending tokens from - the community - - pool to another account. This message is typically executed via a - governance - - proposal with the governance module being the executing authority. - - - Since: cosmos-sdk 0.47 - tags: - - Msg - /cosmos.distribution.v1beta1.Msg/DepositValidatorRewardsPool: - post: - summary: >- - DepositValidatorRewardsPool defines a method to provide additional - rewards - - to delegators to a specific validator. - description: 'Since: cosmos-sdk 0.50' - operationId: CosmosDistributionV1Beta1Msg_DepositValidatorRewardsPool - responses: - '200': - description: A successful response. - schema: - type: object - description: >- - MsgDepositValidatorRewardsPoolResponse defines the response to - executing a - - MsgDepositValidatorRewardsPool message. - - - Since: cosmos-sdk 0.50 - default: - description: An unexpected error response. - schema: - type: object - properties: - code: - type: integer - format: int32 - message: - type: string - details: - type: array - items: - type: object - properties: - '@type': - type: string - additionalProperties: {} - parameters: - - name: body - description: |- - DepositValidatorRewardsPool defines the request structure to provide - additional rewards to delegators from a specific validator. - - Since: cosmos-sdk 0.50 - in: body - required: true - schema: - type: object - properties: - depositor: - type: string - validator_address: - type: string - amount: - type: array - items: - type: object - properties: - denom: - type: string - amount: - type: string - description: >- - Coin defines a token with a denomination and an amount. - - - NOTE: The amount field is an Int which implements the custom - method - - signatures required by gogoproto. - description: >- - DepositValidatorRewardsPool defines the request structure to - provide - - additional rewards to delegators from a specific validator. - - - Since: cosmos-sdk 0.50 - tags: - - Msg - /cosmos.distribution.v1beta1.Msg/FundCommunityPool: - post: - summary: |- - FundCommunityPool defines a method to allow an account to directly - fund the community pool. - operationId: CosmosDistributionV1Beta1Msg_FundCommunityPool - responses: - '200': - description: A successful response. - schema: - type: object - description: >- - MsgFundCommunityPoolResponse defines the Msg/FundCommunityPool - response type. - default: - description: An unexpected error response. - schema: - type: object - properties: - code: - type: integer - format: int32 - message: - type: string - details: - type: array - items: - type: object - properties: - '@type': - type: string - additionalProperties: {} - parameters: - - name: body - description: |- - MsgFundCommunityPool allows an account to directly - fund the community pool. - in: body - required: true - schema: - type: object - properties: - amount: - type: array - items: - type: object - properties: - denom: - type: string - amount: - type: string - description: >- - Coin defines a token with a denomination and an amount. - - - NOTE: The amount field is an Int which implements the custom - method - - signatures required by gogoproto. - depositor: - type: string - description: |- - MsgFundCommunityPool allows an account to directly - fund the community pool. - tags: - - Msg - /cosmos.distribution.v1beta1.Msg/SetWithdrawAddress: - post: - summary: |- - SetWithdrawAddress defines a method to change the withdraw address - for a delegator (or validator self-delegation). - operationId: CosmosDistributionV1Beta1Msg_SetWithdrawAddress - responses: - '200': - description: A successful response. - schema: - type: object - description: >- - MsgSetWithdrawAddressResponse defines the Msg/SetWithdrawAddress - response - - type. - default: - description: An unexpected error response. - schema: - type: object - properties: - code: - type: integer - format: int32 - message: - type: string - details: - type: array - items: - type: object - properties: - '@type': - type: string - additionalProperties: {} - parameters: - - name: body - description: |- - MsgSetWithdrawAddress sets the withdraw address for - a delegator (or validator self-delegation). - in: body - required: true - schema: - type: object - properties: - delegator_address: - type: string - withdraw_address: - type: string - description: |- - MsgSetWithdrawAddress sets the withdraw address for - a delegator (or validator self-delegation). - tags: - - Msg - /cosmos.distribution.v1beta1.Msg/UpdateParams: - post: - summary: >- - UpdateParams defines a governance operation for updating the - x/distribution - - module parameters. The authority is defined in the keeper. - description: 'Since: cosmos-sdk 0.47' - operationId: CosmosDistributionV1Beta1Msg_UpdateParams - responses: - '200': - description: A successful response. - schema: - type: object - description: >- - MsgUpdateParamsResponse defines the response structure for - executing a - - MsgUpdateParams message. - - - Since: cosmos-sdk 0.47 - default: - description: An unexpected error response. - schema: - type: object - properties: - code: - type: integer - format: int32 - message: - type: string - details: - type: array - items: - type: object - properties: - '@type': - type: string - additionalProperties: {} - parameters: - - name: body - description: |- - MsgUpdateParams is the Msg/UpdateParams request type. - - Since: cosmos-sdk 0.47 - in: body - required: true - schema: - type: object - properties: - authority: - type: string - description: >- - authority is the address that controls the module (defaults to - x/gov unless overwritten). - params: - description: |- - params defines the x/distribution parameters to update. - - NOTE: All parameters must be supplied. - type: object - properties: - community_tax: - type: string - base_proposer_reward: - type: string - description: >- - Deprecated: The base_proposer_reward field is deprecated - and is no longer used - - in the x/distribution module's reward mechanism. - bonus_proposer_reward: - type: string - description: >- - Deprecated: The bonus_proposer_reward field is deprecated - and is no longer used - - in the x/distribution module's reward mechanism. - withdraw_addr_enabled: - type: boolean - description: |- - MsgUpdateParams is the Msg/UpdateParams request type. - - Since: cosmos-sdk 0.47 - tags: - - Msg - /cosmos.distribution.v1beta1.Msg/WithdrawDelegatorReward: - post: - summary: >- - WithdrawDelegatorReward defines a method to withdraw rewards of - delegator - - from a single validator. - operationId: CosmosDistributionV1Beta1Msg_WithdrawDelegatorReward - responses: - '200': - description: A successful response. - schema: - type: object - properties: - amount: - type: array - items: - type: object - properties: - denom: - type: string - amount: - type: string - description: >- - Coin defines a token with a denomination and an amount. - - - NOTE: The amount field is an Int which implements the custom - method - - signatures required by gogoproto. - title: 'Since: cosmos-sdk 0.46' - description: >- - MsgWithdrawDelegatorRewardResponse defines the - Msg/WithdrawDelegatorReward - - response type. - default: - description: An unexpected error response. - schema: - type: object - properties: - code: - type: integer - format: int32 - message: - type: string - details: - type: array - items: - type: object - properties: - '@type': - type: string - additionalProperties: {} - parameters: - - name: body - description: >- - MsgWithdrawDelegatorReward represents delegation withdrawal to a - delegator - - from a single validator. - in: body - required: true - schema: - type: object - properties: - delegator_address: - type: string - validator_address: - type: string - description: >- - MsgWithdrawDelegatorReward represents delegation withdrawal to a - delegator - - from a single validator. - tags: - - Msg - /cosmos.distribution.v1beta1.Msg/WithdrawValidatorCommission: - post: - summary: |- - WithdrawValidatorCommission defines a method to withdraw the - full commission to the validator address. - operationId: CosmosDistributionV1Beta1Msg_WithdrawValidatorCommission - responses: - '200': - description: A successful response. - schema: - type: object - properties: - amount: - type: array - items: - type: object - properties: - denom: - type: string - amount: - type: string - description: >- - Coin defines a token with a denomination and an amount. - - - NOTE: The amount field is an Int which implements the custom - method - - signatures required by gogoproto. - title: 'Since: cosmos-sdk 0.46' - description: |- - MsgWithdrawValidatorCommissionResponse defines the - Msg/WithdrawValidatorCommission response type. - default: - description: An unexpected error response. - schema: - type: object - properties: - code: - type: integer - format: int32 - message: - type: string - details: - type: array - items: - type: object - properties: - '@type': - type: string - additionalProperties: {} - parameters: - - name: body - description: >- - MsgWithdrawValidatorCommission withdraws the full commission to the - validator - - address. - in: body - required: true - schema: - type: object - properties: - validator_address: - type: string - description: >- - MsgWithdrawValidatorCommission withdraws the full commission to - the validator - - address. - tags: - - Msg - /cosmos.evidence.v1beta1.Msg/SubmitEvidence: - post: - summary: >- - SubmitEvidence submits an arbitrary Evidence of misbehavior such as - equivocation or - - counterfactual signing. - operationId: CosmosEvidenceV1Beta1Msg_SubmitEvidence - responses: - '200': - description: A successful response. - schema: - type: object - properties: - hash: - type: string - format: byte - description: hash defines the hash of the evidence. - description: >- - MsgSubmitEvidenceResponse defines the Msg/SubmitEvidence response - type. - default: - description: An unexpected error response. - schema: - type: object - properties: - code: - type: integer - format: int32 - message: - type: string - details: - type: array - items: - type: object - properties: - '@type': - type: string - description: >- - A URL/resource name that uniquely identifies the type of - the serialized - - protocol buffer message. This string must contain at - least - - one "/" character. The last segment of the URL's path - must represent - - the fully qualified name of the type (as in - - `path/google.protobuf.Duration`). The name should be in - a canonical form - - (e.g., leading "." is not accepted). - - - In practice, teams usually precompile into the binary - all types that they - - expect it to use in the context of Any. However, for - URLs which use the - - scheme `http`, `https`, or no scheme, one can optionally - set up a type - - server that maps type URLs to message definitions as - follows: - - - * If no scheme is provided, `https` is assumed. - - * An HTTP GET on the URL must yield a - [google.protobuf.Type][] - value in binary format, or produce an error. - * Applications are allowed to cache lookup results based - on the - URL, or have them precompiled into a binary to avoid any - lookup. Therefore, binary compatibility needs to be preserved - on changes to types. (Use versioned type names to manage - breaking changes.) - - Note: this functionality is not currently available in - the official - - protobuf release, and it is not used for type URLs - beginning with - - type.googleapis.com. As of May 2023, there are no widely - used type server - - implementations and no plans to implement one. - - - Schemes other than `http`, `https` (or the empty scheme) - might be - - used with implementation specific semantics. - additionalProperties: {} - description: >- - `Any` contains an arbitrary serialized protocol buffer - message along with a - - URL that describes the type of the serialized message. - - - Protobuf library provides support to pack/unpack Any values - in the form - - of utility functions or additional generated methods of the - Any type. - - - Example 1: Pack and unpack a message in C++. - - Foo foo = ...; - Any any; - any.PackFrom(foo); - ... - if (any.UnpackTo(&foo)) { - ... - } - - Example 2: Pack and unpack a message in Java. - - Foo foo = ...; - Any any = Any.pack(foo); - ... - if (any.is(Foo.class)) { - foo = any.unpack(Foo.class); - } - // or ... - if (any.isSameTypeAs(Foo.getDefaultInstance())) { - foo = any.unpack(Foo.getDefaultInstance()); - } - - Example 3: Pack and unpack a message in Python. - - foo = Foo(...) - any = Any() - any.Pack(foo) - ... - if any.Is(Foo.DESCRIPTOR): - any.Unpack(foo) - ... - - Example 4: Pack and unpack a message in Go - - foo := &pb.Foo{...} - any, err := anypb.New(foo) - if err != nil { - ... - } - ... - foo := &pb.Foo{} - if err := any.UnmarshalTo(foo); err != nil { - ... - } - - The pack methods provided by protobuf library will by - default use - - 'type.googleapis.com/full.type.name' as the type URL and the - unpack - - methods only use the fully qualified type name after the - last '/' - - in the type URL, for example "foo.bar.com/x/y.z" will yield - type - - name "y.z". - - - JSON - - ==== - - The JSON representation of an `Any` value uses the regular - - representation of the deserialized, embedded message, with - an - - additional field `@type` which contains the type URL. - Example: - - package google.profile; - message Person { - string first_name = 1; - string last_name = 2; - } - - { - "@type": "type.googleapis.com/google.profile.Person", - "firstName": , - "lastName": - } - - If the embedded message type is well-known and has a custom - JSON - - representation, that representation will be embedded adding - a field - - `value` which holds the custom JSON in addition to the - `@type` - - field. Example (for message [google.protobuf.Duration][]): - - { - "@type": "type.googleapis.com/google.protobuf.Duration", - "value": "1.212s" - } - parameters: - - name: body - description: >- - MsgSubmitEvidence represents a message that supports submitting - arbitrary - - Evidence of misbehavior such as equivocation or counterfactual - signing. - in: body - required: true - schema: - type: object - properties: - submitter: - type: string - description: submitter is the signer account address of evidence. - evidence: - description: evidence defines the evidence of misbehavior. - type: object - properties: - '@type': - type: string - description: >- - A URL/resource name that uniquely identifies the type of - the serialized - - protocol buffer message. This string must contain at least - - one "/" character. The last segment of the URL's path must - represent - - the fully qualified name of the type (as in - - `path/google.protobuf.Duration`). The name should be in a - canonical form - - (e.g., leading "." is not accepted). - - - In practice, teams usually precompile into the binary all - types that they - - expect it to use in the context of Any. However, for URLs - which use the - - scheme `http`, `https`, or no scheme, one can optionally - set up a type - - server that maps type URLs to message definitions as - follows: - - - * If no scheme is provided, `https` is assumed. - - * An HTTP GET on the URL must yield a - [google.protobuf.Type][] - value in binary format, or produce an error. - * Applications are allowed to cache lookup results based - on the - URL, or have them precompiled into a binary to avoid any - lookup. Therefore, binary compatibility needs to be preserved - on changes to types. (Use versioned type names to manage - breaking changes.) - - Note: this functionality is not currently available in the - official - - protobuf release, and it is not used for type URLs - beginning with - - type.googleapis.com. As of May 2023, there are no widely - used type server - - implementations and no plans to implement one. - - - Schemes other than `http`, `https` (or the empty scheme) - might be - - used with implementation specific semantics. - additionalProperties: {} - description: >- - MsgSubmitEvidence represents a message that supports submitting - arbitrary - - Evidence of misbehavior such as equivocation or counterfactual - signing. - tags: - - Msg - /cosmos.feegrant.v1beta1.Msg/GrantAllowance: - post: - summary: |- - GrantAllowance grants fee allowance to the grantee on the granter's - account with the provided expiration time. - operationId: CosmosFeegrantV1Beta1Msg_GrantAllowance - responses: - '200': - description: A successful response. - schema: - type: object - description: >- - MsgGrantAllowanceResponse defines the Msg/GrantAllowanceResponse - response type. - default: - description: An unexpected error response. - schema: - type: object - properties: - code: - type: integer - format: int32 - message: - type: string - details: - type: array - items: - type: object - properties: - '@type': - type: string - description: >- - A URL/resource name that uniquely identifies the type of - the serialized - - protocol buffer message. This string must contain at - least - - one "/" character. The last segment of the URL's path - must represent - - the fully qualified name of the type (as in - - `path/google.protobuf.Duration`). The name should be in - a canonical form - - (e.g., leading "." is not accepted). - - - In practice, teams usually precompile into the binary - all types that they - - expect it to use in the context of Any. However, for - URLs which use the - - scheme `http`, `https`, or no scheme, one can optionally - set up a type - - server that maps type URLs to message definitions as - follows: - - - * If no scheme is provided, `https` is assumed. - - * An HTTP GET on the URL must yield a - [google.protobuf.Type][] - value in binary format, or produce an error. - * Applications are allowed to cache lookup results based - on the - URL, or have them precompiled into a binary to avoid any - lookup. Therefore, binary compatibility needs to be preserved - on changes to types. (Use versioned type names to manage - breaking changes.) - - Note: this functionality is not currently available in - the official - - protobuf release, and it is not used for type URLs - beginning with - - type.googleapis.com. As of May 2023, there are no widely - used type server - - implementations and no plans to implement one. - - - Schemes other than `http`, `https` (or the empty scheme) - might be - - used with implementation specific semantics. - additionalProperties: {} - description: >- - `Any` contains an arbitrary serialized protocol buffer - message along with a - - URL that describes the type of the serialized message. - - - Protobuf library provides support to pack/unpack Any values - in the form - - of utility functions or additional generated methods of the - Any type. - - - Example 1: Pack and unpack a message in C++. - - Foo foo = ...; - Any any; - any.PackFrom(foo); - ... - if (any.UnpackTo(&foo)) { - ... - } - - Example 2: Pack and unpack a message in Java. - - Foo foo = ...; - Any any = Any.pack(foo); - ... - if (any.is(Foo.class)) { - foo = any.unpack(Foo.class); - } - // or ... - if (any.isSameTypeAs(Foo.getDefaultInstance())) { - foo = any.unpack(Foo.getDefaultInstance()); - } - - Example 3: Pack and unpack a message in Python. - - foo = Foo(...) - any = Any() - any.Pack(foo) - ... - if any.Is(Foo.DESCRIPTOR): - any.Unpack(foo) - ... - - Example 4: Pack and unpack a message in Go - - foo := &pb.Foo{...} - any, err := anypb.New(foo) - if err != nil { - ... - } - ... - foo := &pb.Foo{} - if err := any.UnmarshalTo(foo); err != nil { - ... - } - - The pack methods provided by protobuf library will by - default use - - 'type.googleapis.com/full.type.name' as the type URL and the - unpack - - methods only use the fully qualified type name after the - last '/' - - in the type URL, for example "foo.bar.com/x/y.z" will yield - type - - name "y.z". - - - JSON - - ==== - - The JSON representation of an `Any` value uses the regular - - representation of the deserialized, embedded message, with - an - - additional field `@type` which contains the type URL. - Example: - - package google.profile; - message Person { - string first_name = 1; - string last_name = 2; - } - - { - "@type": "type.googleapis.com/google.profile.Person", - "firstName": , - "lastName": - } - - If the embedded message type is well-known and has a custom - JSON - - representation, that representation will be embedded adding - a field - - `value` which holds the custom JSON in addition to the - `@type` - - field. Example (for message [google.protobuf.Duration][]): - - { - "@type": "type.googleapis.com/google.protobuf.Duration", - "value": "1.212s" - } - parameters: - - name: body - description: >- - MsgGrantAllowance adds permission for Grantee to spend up to - Allowance - - of fees from the account of Granter. - in: body - required: true - schema: - type: object - properties: - granter: - type: string - description: >- - granter is the address of the user granting an allowance of - their funds. - grantee: - type: string - description: >- - grantee is the address of the user being granted an allowance - of another user's funds. - allowance: - description: >- - allowance can be any of basic, periodic, allowed fee - allowance. - type: object - properties: - '@type': - type: string - description: >- - A URL/resource name that uniquely identifies the type of - the serialized - - protocol buffer message. This string must contain at least - - one "/" character. The last segment of the URL's path must - represent - - the fully qualified name of the type (as in - - `path/google.protobuf.Duration`). The name should be in a - canonical form - - (e.g., leading "." is not accepted). - - - In practice, teams usually precompile into the binary all - types that they - - expect it to use in the context of Any. However, for URLs - which use the - - scheme `http`, `https`, or no scheme, one can optionally - set up a type - - server that maps type URLs to message definitions as - follows: - - - * If no scheme is provided, `https` is assumed. - - * An HTTP GET on the URL must yield a - [google.protobuf.Type][] - value in binary format, or produce an error. - * Applications are allowed to cache lookup results based - on the - URL, or have them precompiled into a binary to avoid any - lookup. Therefore, binary compatibility needs to be preserved - on changes to types. (Use versioned type names to manage - breaking changes.) - - Note: this functionality is not currently available in the - official - - protobuf release, and it is not used for type URLs - beginning with - - type.googleapis.com. As of May 2023, there are no widely - used type server - - implementations and no plans to implement one. - - - Schemes other than `http`, `https` (or the empty scheme) - might be - - used with implementation specific semantics. - additionalProperties: {} - description: >- - MsgGrantAllowance adds permission for Grantee to spend up to - Allowance - - of fees from the account of Granter. - tags: - - Msg - /cosmos.feegrant.v1beta1.Msg/PruneAllowances: - post: - summary: >- - PruneAllowances prunes expired fee allowances, currently up to 75 at a - time. - description: Since cosmos-sdk 0.50 - operationId: CosmosFeegrantV1Beta1Msg_PruneAllowances - responses: - '200': - description: A successful response. - schema: - type: object - description: >- - MsgPruneAllowancesResponse defines the Msg/PruneAllowancesResponse - response type. - - - Since cosmos-sdk 0.50 - default: - description: An unexpected error response. - schema: - type: object - properties: - code: - type: integer - format: int32 - message: - type: string - details: - type: array - items: - type: object - properties: - '@type': - type: string - description: >- - A URL/resource name that uniquely identifies the type of - the serialized - - protocol buffer message. This string must contain at - least - - one "/" character. The last segment of the URL's path - must represent - - the fully qualified name of the type (as in - - `path/google.protobuf.Duration`). The name should be in - a canonical form - - (e.g., leading "." is not accepted). - - - In practice, teams usually precompile into the binary - all types that they - - expect it to use in the context of Any. However, for - URLs which use the - - scheme `http`, `https`, or no scheme, one can optionally - set up a type - - server that maps type URLs to message definitions as - follows: - - - * If no scheme is provided, `https` is assumed. - - * An HTTP GET on the URL must yield a - [google.protobuf.Type][] - value in binary format, or produce an error. - * Applications are allowed to cache lookup results based - on the - URL, or have them precompiled into a binary to avoid any - lookup. Therefore, binary compatibility needs to be preserved - on changes to types. (Use versioned type names to manage - breaking changes.) - - Note: this functionality is not currently available in - the official - - protobuf release, and it is not used for type URLs - beginning with - - type.googleapis.com. As of May 2023, there are no widely - used type server - - implementations and no plans to implement one. - - - Schemes other than `http`, `https` (or the empty scheme) - might be - - used with implementation specific semantics. - additionalProperties: {} - description: >- - `Any` contains an arbitrary serialized protocol buffer - message along with a - - URL that describes the type of the serialized message. - - - Protobuf library provides support to pack/unpack Any values - in the form - - of utility functions or additional generated methods of the - Any type. - - - Example 1: Pack and unpack a message in C++. - - Foo foo = ...; - Any any; - any.PackFrom(foo); - ... - if (any.UnpackTo(&foo)) { - ... - } - - Example 2: Pack and unpack a message in Java. - - Foo foo = ...; - Any any = Any.pack(foo); - ... - if (any.is(Foo.class)) { - foo = any.unpack(Foo.class); - } - // or ... - if (any.isSameTypeAs(Foo.getDefaultInstance())) { - foo = any.unpack(Foo.getDefaultInstance()); - } - - Example 3: Pack and unpack a message in Python. - - foo = Foo(...) - any = Any() - any.Pack(foo) - ... - if any.Is(Foo.DESCRIPTOR): - any.Unpack(foo) - ... - - Example 4: Pack and unpack a message in Go - - foo := &pb.Foo{...} - any, err := anypb.New(foo) - if err != nil { - ... - } - ... - foo := &pb.Foo{} - if err := any.UnmarshalTo(foo); err != nil { - ... - } - - The pack methods provided by protobuf library will by - default use - - 'type.googleapis.com/full.type.name' as the type URL and the - unpack - - methods only use the fully qualified type name after the - last '/' - - in the type URL, for example "foo.bar.com/x/y.z" will yield - type - - name "y.z". - - - JSON - - ==== - - The JSON representation of an `Any` value uses the regular - - representation of the deserialized, embedded message, with - an - - additional field `@type` which contains the type URL. - Example: - - package google.profile; - message Person { - string first_name = 1; - string last_name = 2; - } - - { - "@type": "type.googleapis.com/google.profile.Person", - "firstName": , - "lastName": - } - - If the embedded message type is well-known and has a custom - JSON - - representation, that representation will be embedded adding - a field - - `value` which holds the custom JSON in addition to the - `@type` - - field. Example (for message [google.protobuf.Duration][]): - - { - "@type": "type.googleapis.com/google.protobuf.Duration", - "value": "1.212s" - } - parameters: - - name: body - description: |- - MsgPruneAllowances prunes expired fee allowances. - - Since cosmos-sdk 0.50 - in: body - required: true - schema: - type: object - properties: - pruner: - type: string - description: pruner is the address of the user pruning expired allowances. - description: |- - MsgPruneAllowances prunes expired fee allowances. - - Since cosmos-sdk 0.50 - tags: - - Msg - /cosmos.feegrant.v1beta1.Msg/RevokeAllowance: - post: - summary: |- - RevokeAllowance revokes any fee allowance of granter's account that - has been granted to the grantee. - operationId: CosmosFeegrantV1Beta1Msg_RevokeAllowance - responses: - '200': - description: A successful response. - schema: - type: object - description: >- - MsgRevokeAllowanceResponse defines the Msg/RevokeAllowanceResponse - response type. - default: - description: An unexpected error response. - schema: - type: object - properties: - code: - type: integer - format: int32 - message: - type: string - details: - type: array - items: - type: object - properties: - '@type': - type: string - description: >- - A URL/resource name that uniquely identifies the type of - the serialized - - protocol buffer message. This string must contain at - least - - one "/" character. The last segment of the URL's path - must represent - - the fully qualified name of the type (as in - - `path/google.protobuf.Duration`). The name should be in - a canonical form - - (e.g., leading "." is not accepted). - - - In practice, teams usually precompile into the binary - all types that they - - expect it to use in the context of Any. However, for - URLs which use the - - scheme `http`, `https`, or no scheme, one can optionally - set up a type - - server that maps type URLs to message definitions as - follows: - - - * If no scheme is provided, `https` is assumed. - - * An HTTP GET on the URL must yield a - [google.protobuf.Type][] - value in binary format, or produce an error. - * Applications are allowed to cache lookup results based - on the - URL, or have them precompiled into a binary to avoid any - lookup. Therefore, binary compatibility needs to be preserved - on changes to types. (Use versioned type names to manage - breaking changes.) - - Note: this functionality is not currently available in - the official - - protobuf release, and it is not used for type URLs - beginning with - - type.googleapis.com. As of May 2023, there are no widely - used type server - - implementations and no plans to implement one. - - - Schemes other than `http`, `https` (or the empty scheme) - might be - - used with implementation specific semantics. - additionalProperties: {} - description: >- - `Any` contains an arbitrary serialized protocol buffer - message along with a - - URL that describes the type of the serialized message. - - - Protobuf library provides support to pack/unpack Any values - in the form - - of utility functions or additional generated methods of the - Any type. - - - Example 1: Pack and unpack a message in C++. - - Foo foo = ...; - Any any; - any.PackFrom(foo); - ... - if (any.UnpackTo(&foo)) { - ... - } - - Example 2: Pack and unpack a message in Java. - - Foo foo = ...; - Any any = Any.pack(foo); - ... - if (any.is(Foo.class)) { - foo = any.unpack(Foo.class); - } - // or ... - if (any.isSameTypeAs(Foo.getDefaultInstance())) { - foo = any.unpack(Foo.getDefaultInstance()); - } - - Example 3: Pack and unpack a message in Python. - - foo = Foo(...) - any = Any() - any.Pack(foo) - ... - if any.Is(Foo.DESCRIPTOR): - any.Unpack(foo) - ... - - Example 4: Pack and unpack a message in Go - - foo := &pb.Foo{...} - any, err := anypb.New(foo) - if err != nil { - ... - } - ... - foo := &pb.Foo{} - if err := any.UnmarshalTo(foo); err != nil { - ... - } - - The pack methods provided by protobuf library will by - default use - - 'type.googleapis.com/full.type.name' as the type URL and the - unpack - - methods only use the fully qualified type name after the - last '/' - - in the type URL, for example "foo.bar.com/x/y.z" will yield - type - - name "y.z". - - - JSON - - ==== - - The JSON representation of an `Any` value uses the regular - - representation of the deserialized, embedded message, with - an - - additional field `@type` which contains the type URL. - Example: - - package google.profile; - message Person { - string first_name = 1; - string last_name = 2; - } - - { - "@type": "type.googleapis.com/google.profile.Person", - "firstName": , - "lastName": - } - - If the embedded message type is well-known and has a custom - JSON - - representation, that representation will be embedded adding - a field - - `value` which holds the custom JSON in addition to the - `@type` - - field. Example (for message [google.protobuf.Duration][]): - - { - "@type": "type.googleapis.com/google.protobuf.Duration", - "value": "1.212s" - } - parameters: - - name: body - description: >- - MsgRevokeAllowance removes any existing Allowance from Granter to - Grantee. - in: body - required: true - schema: - type: object - properties: - granter: - type: string - description: >- - granter is the address of the user granting an allowance of - their funds. - grantee: - type: string - description: >- - grantee is the address of the user being granted an allowance - of another user's funds. - description: >- - MsgRevokeAllowance removes any existing Allowance from Granter to - Grantee. - tags: - - Msg - /cosmos/gov/v1/constitution: - get: - summary: Constitution queries the chain's constitution. - operationId: CosmosGovV1Query_Constitution - responses: - '200': - description: A successful response. - schema: - type: object - properties: - constitution: - type: string - title: >- - QueryConstitutionResponse is the response type for the - Query/Constitution RPC method - default: - description: An unexpected error response. - schema: - type: object - properties: - code: - type: integer - format: int32 - message: - type: string - details: - type: array - items: - type: object - properties: - '@type': - type: string - description: >- - A URL/resource name that uniquely identifies the type of - the serialized - - protocol buffer message. This string must contain at - least - - one "/" character. The last segment of the URL's path - must represent - - the fully qualified name of the type (as in - - `path/google.protobuf.Duration`). The name should be in - a canonical form - - (e.g., leading "." is not accepted). - - - In practice, teams usually precompile into the binary - all types that they - - expect it to use in the context of Any. However, for - URLs which use the - - scheme `http`, `https`, or no scheme, one can optionally - set up a type - - server that maps type URLs to message definitions as - follows: - - - * If no scheme is provided, `https` is assumed. - - * An HTTP GET on the URL must yield a - [google.protobuf.Type][] - value in binary format, or produce an error. - * Applications are allowed to cache lookup results based - on the - URL, or have them precompiled into a binary to avoid any - lookup. Therefore, binary compatibility needs to be preserved - on changes to types. (Use versioned type names to manage - breaking changes.) - - Note: this functionality is not currently available in - the official - - protobuf release, and it is not used for type URLs - beginning with - - type.googleapis.com. As of May 2023, there are no widely - used type server - - implementations and no plans to implement one. - - - Schemes other than `http`, `https` (or the empty scheme) - might be - - used with implementation specific semantics. - additionalProperties: {} - description: >- - `Any` contains an arbitrary serialized protocol buffer - message along with a - - URL that describes the type of the serialized message. - - - Protobuf library provides support to pack/unpack Any values - in the form - - of utility functions or additional generated methods of the - Any type. - - - Example 1: Pack and unpack a message in C++. - - Foo foo = ...; - Any any; - any.PackFrom(foo); - ... - if (any.UnpackTo(&foo)) { - ... - } - - Example 2: Pack and unpack a message in Java. - - Foo foo = ...; - Any any = Any.pack(foo); - ... - if (any.is(Foo.class)) { - foo = any.unpack(Foo.class); - } - // or ... - if (any.isSameTypeAs(Foo.getDefaultInstance())) { - foo = any.unpack(Foo.getDefaultInstance()); - } - - Example 3: Pack and unpack a message in Python. - - foo = Foo(...) - any = Any() - any.Pack(foo) - ... - if any.Is(Foo.DESCRIPTOR): - any.Unpack(foo) - ... - - Example 4: Pack and unpack a message in Go - - foo := &pb.Foo{...} - any, err := anypb.New(foo) - if err != nil { - ... - } - ... - foo := &pb.Foo{} - if err := any.UnmarshalTo(foo); err != nil { - ... - } - - The pack methods provided by protobuf library will by - default use - - 'type.googleapis.com/full.type.name' as the type URL and the - unpack - - methods only use the fully qualified type name after the - last '/' - - in the type URL, for example "foo.bar.com/x/y.z" will yield - type - - name "y.z". - - - JSON - - ==== - - The JSON representation of an `Any` value uses the regular - - representation of the deserialized, embedded message, with - an - - additional field `@type` which contains the type URL. - Example: - - package google.profile; - message Person { - string first_name = 1; - string last_name = 2; - } - - { - "@type": "type.googleapis.com/google.profile.Person", - "firstName": , - "lastName": - } - - If the embedded message type is well-known and has a custom - JSON - - representation, that representation will be embedded adding - a field - - `value` which holds the custom JSON in addition to the - `@type` - - field. Example (for message [google.protobuf.Duration][]): - - { - "@type": "type.googleapis.com/google.protobuf.Duration", - "value": "1.212s" - } - tags: - - Query - /cosmos/gov/v1/params/{params_type}: - get: - summary: Params queries all parameters of the gov module. - operationId: CosmosGovV1Query_Params - responses: - '200': - description: A successful response. - schema: - type: object - properties: - voting_params: - description: |- - Deprecated: Prefer to use `params` instead. - voting_params defines the parameters related to voting. - type: object - properties: - voting_period: - type: string - description: Duration of the voting period. - deposit_params: - description: |- - Deprecated: Prefer to use `params` instead. - deposit_params defines the parameters related to deposit. - type: object - properties: - min_deposit: - type: array - items: - type: object - properties: - denom: - type: string - amount: - type: string - description: >- - Coin defines a token with a denomination and an amount. - - - NOTE: The amount field is an Int which implements the - custom method - - signatures required by gogoproto. - description: Minimum deposit for a proposal to enter voting period. - max_deposit_period: - type: string - description: >- - Maximum period for Atom holders to deposit on a proposal. - Initial value: 2 - - months. - tally_params: - description: |- - Deprecated: Prefer to use `params` instead. - tally_params defines the parameters related to tally. - type: object - properties: - quorum: - type: string - description: >- - Minimum percentage of total stake needed to vote for a - result to be - - considered valid. - threshold: - type: string - description: >- - Minimum proportion of Yes votes for proposal to pass. - Default value: 0.5. - veto_threshold: - type: string - description: >- - Minimum value of Veto votes to Total votes ratio for - proposal to be - - vetoed. Default value: 1/3. - params: - description: |- - params defines all the paramaters of x/gov module. - - Since: cosmos-sdk 0.47 - type: object - properties: - min_deposit: - type: array - items: - type: object - properties: - denom: - type: string - amount: - type: string - description: >- - Coin defines a token with a denomination and an amount. - - - NOTE: The amount field is an Int which implements the - custom method - - signatures required by gogoproto. - description: Minimum deposit for a proposal to enter voting period. - max_deposit_period: - type: string - description: >- - Maximum period for Atom holders to deposit on a proposal. - Initial value: 2 - - months. - voting_period: - type: string - description: Duration of the voting period. - quorum: - type: string - description: >- - Minimum percentage of total stake needed to vote for a - result to be - considered valid. - threshold: - type: string - description: >- - Minimum proportion of Yes votes for proposal to pass. - Default value: 0.5. - veto_threshold: - type: string - description: >- - Minimum value of Veto votes to Total votes ratio for - proposal to be - vetoed. Default value: 1/3. - min_initial_deposit_ratio: - type: string - description: >- - The ratio representing the proportion of the deposit value - that must be paid at proposal submission. - proposal_cancel_ratio: - type: string - description: >- - The cancel ratio which will not be returned back to the - depositors when a proposal is cancelled. - - - Since: cosmos-sdk 0.50 - proposal_cancel_dest: - type: string - description: >- - The address which will receive (proposal_cancel_ratio * - deposit) proposal deposits. - - If empty, the (proposal_cancel_ratio * deposit) proposal - deposits will be burned. - - - Since: cosmos-sdk 0.50 - expedited_voting_period: - type: string - description: |- - Duration of the voting period of an expedited proposal. - - Since: cosmos-sdk 0.50 - expedited_threshold: - type: string - description: >- - Minimum proportion of Yes votes for proposal to pass. - Default value: 0.67. - - - Since: cosmos-sdk 0.50 - expedited_min_deposit: - type: array - items: - type: object - properties: - denom: - type: string - amount: - type: string - description: >- - Coin defines a token with a denomination and an amount. - - - NOTE: The amount field is an Int which implements the - custom method - - signatures required by gogoproto. - description: >- - Minimum expedited deposit for a proposal to enter voting - period. - burn_vote_quorum: - type: boolean - title: burn deposits if a proposal does not meet quorum - burn_proposal_deposit_prevote: - type: boolean - title: burn deposits if the proposal does not enter voting period - burn_vote_veto: - type: boolean - title: burn deposits if quorum with vote type no_veto is met - min_deposit_ratio: - type: string - description: >- - The ratio representing the proportion of the deposit value - minimum that must be met when making a deposit. - - Default value: 0.01. Meaning that for a chain with a - min_deposit of 100stake, a deposit of 1stake would be - - required. - - - Since: cosmos-sdk 0.50 - max_tally_period: - type: string - description: Duration of the voting period. - trusted_counter_parties: - type: array - items: - type: object - properties: - client_id: - type: string - connection_id: - type: string - channel_id: - type: string - channel_id: - type: string - is_source_chain: - type: boolean - description: >- - QueryParamsResponse is the response type for the Query/Params RPC - method. - default: - description: An unexpected error response. - schema: - type: object - properties: - code: - type: integer - format: int32 - message: - type: string - details: - type: array - items: - type: object - properties: - '@type': - type: string - description: >- - A URL/resource name that uniquely identifies the type of - the serialized - - protocol buffer message. This string must contain at - least - - one "/" character. The last segment of the URL's path - must represent - - the fully qualified name of the type (as in - - `path/google.protobuf.Duration`). The name should be in - a canonical form - - (e.g., leading "." is not accepted). - - - In practice, teams usually precompile into the binary - all types that they - - expect it to use in the context of Any. However, for - URLs which use the - - scheme `http`, `https`, or no scheme, one can optionally - set up a type - - server that maps type URLs to message definitions as - follows: - - - * If no scheme is provided, `https` is assumed. - - * An HTTP GET on the URL must yield a - [google.protobuf.Type][] - value in binary format, or produce an error. - * Applications are allowed to cache lookup results based - on the - URL, or have them precompiled into a binary to avoid any - lookup. Therefore, binary compatibility needs to be preserved - on changes to types. (Use versioned type names to manage - breaking changes.) - - Note: this functionality is not currently available in - the official - - protobuf release, and it is not used for type URLs - beginning with - - type.googleapis.com. As of May 2023, there are no widely - used type server - - implementations and no plans to implement one. - - - Schemes other than `http`, `https` (or the empty scheme) - might be - - used with implementation specific semantics. - additionalProperties: {} - description: >- - `Any` contains an arbitrary serialized protocol buffer - message along with a - - URL that describes the type of the serialized message. - - - Protobuf library provides support to pack/unpack Any values - in the form - - of utility functions or additional generated methods of the - Any type. - - - Example 1: Pack and unpack a message in C++. - - Foo foo = ...; - Any any; - any.PackFrom(foo); - ... - if (any.UnpackTo(&foo)) { - ... - } - - Example 2: Pack and unpack a message in Java. - - Foo foo = ...; - Any any = Any.pack(foo); - ... - if (any.is(Foo.class)) { - foo = any.unpack(Foo.class); - } - // or ... - if (any.isSameTypeAs(Foo.getDefaultInstance())) { - foo = any.unpack(Foo.getDefaultInstance()); - } - - Example 3: Pack and unpack a message in Python. - - foo = Foo(...) - any = Any() - any.Pack(foo) - ... - if any.Is(Foo.DESCRIPTOR): - any.Unpack(foo) - ... - - Example 4: Pack and unpack a message in Go - - foo := &pb.Foo{...} - any, err := anypb.New(foo) - if err != nil { - ... - } - ... - foo := &pb.Foo{} - if err := any.UnmarshalTo(foo); err != nil { - ... - } - - The pack methods provided by protobuf library will by - default use - - 'type.googleapis.com/full.type.name' as the type URL and the - unpack - - methods only use the fully qualified type name after the - last '/' - - in the type URL, for example "foo.bar.com/x/y.z" will yield - type - - name "y.z". - - - JSON - - ==== - - The JSON representation of an `Any` value uses the regular - - representation of the deserialized, embedded message, with - an - - additional field `@type` which contains the type URL. - Example: - - package google.profile; - message Person { - string first_name = 1; - string last_name = 2; - } - - { - "@type": "type.googleapis.com/google.profile.Person", - "firstName": , - "lastName": - } - - If the embedded message type is well-known and has a custom - JSON - - representation, that representation will be embedded adding - a field - - `value` which holds the custom JSON in addition to the - `@type` - - field. Example (for message [google.protobuf.Duration][]): - - { - "@type": "type.googleapis.com/google.protobuf.Duration", - "value": "1.212s" - } - parameters: - - name: params_type - description: >- - params_type defines which parameters to query for, can be one of - "voting", - - "tallying" or "deposit". - in: path - required: true - type: string - tags: - - Query - /cosmos/gov/v1/proposals: - get: - summary: Proposals queries all proposals based on given status. - operationId: CosmosGovV1Query_Proposals - responses: - '200': - description: A successful response. - schema: - type: object - properties: - proposals: - type: array - items: - type: object - properties: - id: - type: string - format: uint64 - description: id defines the unique id of the proposal. - messages: - type: array - items: - type: object - properties: - '@type': - type: string - description: >- - A URL/resource name that uniquely identifies the - type of the serialized - - protocol buffer message. This string must contain - at least - - one "/" character. The last segment of the URL's - path must represent - - the fully qualified name of the type (as in - - `path/google.protobuf.Duration`). The name should - be in a canonical form - - (e.g., leading "." is not accepted). - - - In practice, teams usually precompile into the - binary all types that they - - expect it to use in the context of Any. However, - for URLs which use the - - scheme `http`, `https`, or no scheme, one can - optionally set up a type - - server that maps type URLs to message definitions - as follows: - - - * If no scheme is provided, `https` is assumed. - - * An HTTP GET on the URL must yield a - [google.protobuf.Type][] - value in binary format, or produce an error. - * Applications are allowed to cache lookup results - based on the - URL, or have them precompiled into a binary to avoid any - lookup. Therefore, binary compatibility needs to be preserved - on changes to types. (Use versioned type names to manage - breaking changes.) - - Note: this functionality is not currently - available in the official - - protobuf release, and it is not used for type URLs - beginning with - - type.googleapis.com. As of May 2023, there are no - widely used type server - - implementations and no plans to implement one. - - - Schemes other than `http`, `https` (or the empty - scheme) might be - - used with implementation specific semantics. - additionalProperties: {} - description: >- - `Any` contains an arbitrary serialized protocol buffer - message along with a - - URL that describes the type of the serialized message. - - - Protobuf library provides support to pack/unpack Any - values in the form - - of utility functions or additional generated methods - of the Any type. - - - Example 1: Pack and unpack a message in C++. - - Foo foo = ...; - Any any; - any.PackFrom(foo); - ... - if (any.UnpackTo(&foo)) { - ... - } - - Example 2: Pack and unpack a message in Java. - - Foo foo = ...; - Any any = Any.pack(foo); - ... - if (any.is(Foo.class)) { - foo = any.unpack(Foo.class); - } - // or ... - if (any.isSameTypeAs(Foo.getDefaultInstance())) { - foo = any.unpack(Foo.getDefaultInstance()); - } - - Example 3: Pack and unpack a message in Python. - - foo = Foo(...) - any = Any() - any.Pack(foo) - ... - if any.Is(Foo.DESCRIPTOR): - any.Unpack(foo) - ... - - Example 4: Pack and unpack a message in Go - - foo := &pb.Foo{...} - any, err := anypb.New(foo) - if err != nil { - ... - } - ... - foo := &pb.Foo{} - if err := any.UnmarshalTo(foo); err != nil { - ... - } - - The pack methods provided by protobuf library will by - default use - - 'type.googleapis.com/full.type.name' as the type URL - and the unpack - - methods only use the fully qualified type name after - the last '/' - - in the type URL, for example "foo.bar.com/x/y.z" will - yield type - - name "y.z". - - - JSON - - ==== - - The JSON representation of an `Any` value uses the - regular - - representation of the deserialized, embedded message, - with an - - additional field `@type` which contains the type URL. - Example: - - package google.profile; - message Person { - string first_name = 1; - string last_name = 2; - } - - { - "@type": "type.googleapis.com/google.profile.Person", - "firstName": , - "lastName": - } - - If the embedded message type is well-known and has a - custom JSON - - representation, that representation will be embedded - adding a field - - `value` which holds the custom JSON in addition to the - `@type` - - field. Example (for message - [google.protobuf.Duration][]): - - { - "@type": "type.googleapis.com/google.protobuf.Duration", - "value": "1.212s" - } - description: >- - messages are the arbitrary messages to be executed if - the proposal passes. - status: - description: status defines the proposal status. - type: string - enum: - - PROPOSAL_STATUS_UNSPECIFIED - - PROPOSAL_STATUS_DEPOSIT_PERIOD - - PROPOSAL_STATUS_VOTING_PERIOD - - PROPOSAL_STATUS_PASSED - - PROPOSAL_STATUS_REJECTED - - PROPOSAL_STATUS_FAILED - - PROPOSAL_STATUS_TALLY_PERIOD - default: PROPOSAL_STATUS_UNSPECIFIED - final_tally_result: - description: >- - final_tally_result is the final tally result of the - proposal. When - - querying a proposal via gRPC, this field is not - populated until the - - proposal's voting period has ended. - type: object - properties: - yes_count: - type: string - description: yes_count is the number of yes votes on a proposal. - abstain_count: - type: string - description: >- - abstain_count is the number of abstain votes on a - proposal. - no_count: - type: string - description: no_count is the number of no votes on a proposal. - no_with_veto_count: - type: string - description: >- - no_with_veto_count is the number of no with veto - votes on a proposal. - encrypted_count: - type: string - description: >- - encrypted_count is the number of encrypted votes on - a proposal. - submit_time: - type: string - format: date-time - description: submit_time is the time of proposal submission. - deposit_end_time: - type: string - format: date-time - description: deposit_end_time is the end time for deposition. - total_deposit: - type: array - items: - type: object - properties: - denom: - type: string - amount: - type: string - description: >- - Coin defines a token with a denomination and an - amount. - - - NOTE: The amount field is an Int which implements the - custom method - - signatures required by gogoproto. - description: total_deposit is the total deposit on the proposal. - voting_start_time: - type: string - format: date-time - description: >- - voting_start_time is the starting time to vote on a - proposal. - voting_end_time: - type: string - format: date-time - description: voting_end_time is the end time of voting on a proposal. - metadata: - type: string - title: >- - metadata is any arbitrary metadata attached to the - proposal. - - the recommended format of the metadata is to be found - here: - - https://docs.cosmos.network/v0.47/modules/gov#proposal-3 - title: - type: string - description: 'Since: cosmos-sdk 0.47' - title: title is the title of the proposal - summary: - type: string - description: 'Since: cosmos-sdk 0.47' - title: summary is a short summary of the proposal - proposer: - type: string - description: 'Since: cosmos-sdk 0.47' - title: proposer is the address of the proposal sumbitter - expedited: - type: boolean - description: 'Since: cosmos-sdk 0.50' - title: expedited defines if the proposal is expedited - failed_reason: - type: string - description: 'Since: cosmos-sdk 0.50' - title: failed_reason defines the reason why the proposal failed - has_encrypted_votes: - type: boolean - title: >- - flag to check if proposal has at least one encrypted - vote - identity: - type: string - title: identity and pubkey are used to submit encrypted votes - pubkey: - type: string - aggr_keyshare: - type: string - title: >- - aggregated keyshare is used to decrypt the encrypted - votes during the tally phase - description: >- - Proposal defines the core field members of a governance - proposal. - description: proposals defines all the requested governance proposals. - pagination: - description: pagination defines the pagination in the response. - type: object - properties: - next_key: - type: string - format: byte - description: |- - next_key is the key to be passed to PageRequest.key to - query the next page most efficiently. It will be empty if - there are no more results. - total: - type: string - format: uint64 - title: >- - total is total number of results available if - PageRequest.count_total - - was set, its value is undefined otherwise - description: >- - QueryProposalsResponse is the response type for the - Query/Proposals RPC - - method. - default: - description: An unexpected error response. - schema: - type: object - properties: - code: - type: integer - format: int32 - message: - type: string - details: - type: array - items: - type: object - properties: - '@type': - type: string - description: >- - A URL/resource name that uniquely identifies the type of - the serialized - - protocol buffer message. This string must contain at - least - - one "/" character. The last segment of the URL's path - must represent - - the fully qualified name of the type (as in - - `path/google.protobuf.Duration`). The name should be in - a canonical form - - (e.g., leading "." is not accepted). - - - In practice, teams usually precompile into the binary - all types that they - - expect it to use in the context of Any. However, for - URLs which use the - - scheme `http`, `https`, or no scheme, one can optionally - set up a type - - server that maps type URLs to message definitions as - follows: - - - * If no scheme is provided, `https` is assumed. - - * An HTTP GET on the URL must yield a - [google.protobuf.Type][] - value in binary format, or produce an error. - * Applications are allowed to cache lookup results based - on the - URL, or have them precompiled into a binary to avoid any - lookup. Therefore, binary compatibility needs to be preserved - on changes to types. (Use versioned type names to manage - breaking changes.) - - Note: this functionality is not currently available in - the official - - protobuf release, and it is not used for type URLs - beginning with - - type.googleapis.com. As of May 2023, there are no widely - used type server - - implementations and no plans to implement one. - - - Schemes other than `http`, `https` (or the empty scheme) - might be - - used with implementation specific semantics. - additionalProperties: {} - description: >- - `Any` contains an arbitrary serialized protocol buffer - message along with a - - URL that describes the type of the serialized message. - - - Protobuf library provides support to pack/unpack Any values - in the form - - of utility functions or additional generated methods of the - Any type. - - - Example 1: Pack and unpack a message in C++. - - Foo foo = ...; - Any any; - any.PackFrom(foo); - ... - if (any.UnpackTo(&foo)) { - ... - } - - Example 2: Pack and unpack a message in Java. - - Foo foo = ...; - Any any = Any.pack(foo); - ... - if (any.is(Foo.class)) { - foo = any.unpack(Foo.class); - } - // or ... - if (any.isSameTypeAs(Foo.getDefaultInstance())) { - foo = any.unpack(Foo.getDefaultInstance()); - } - - Example 3: Pack and unpack a message in Python. - - foo = Foo(...) - any = Any() - any.Pack(foo) - ... - if any.Is(Foo.DESCRIPTOR): - any.Unpack(foo) - ... - - Example 4: Pack and unpack a message in Go - - foo := &pb.Foo{...} - any, err := anypb.New(foo) - if err != nil { - ... - } - ... - foo := &pb.Foo{} - if err := any.UnmarshalTo(foo); err != nil { - ... - } - - The pack methods provided by protobuf library will by - default use - - 'type.googleapis.com/full.type.name' as the type URL and the - unpack - - methods only use the fully qualified type name after the - last '/' - - in the type URL, for example "foo.bar.com/x/y.z" will yield - type - - name "y.z". - - - JSON - - ==== - - The JSON representation of an `Any` value uses the regular - - representation of the deserialized, embedded message, with - an - - additional field `@type` which contains the type URL. - Example: - - package google.profile; - message Person { - string first_name = 1; - string last_name = 2; - } - - { - "@type": "type.googleapis.com/google.profile.Person", - "firstName": , - "lastName": - } - - If the embedded message type is well-known and has a custom - JSON - - representation, that representation will be embedded adding - a field - - `value` which holds the custom JSON in addition to the - `@type` - - field. Example (for message [google.protobuf.Duration][]): - - { - "@type": "type.googleapis.com/google.protobuf.Duration", - "value": "1.212s" - } - parameters: - - name: proposal_status - description: |- - proposal_status defines the status of the proposals. - - - PROPOSAL_STATUS_UNSPECIFIED: PROPOSAL_STATUS_UNSPECIFIED defines the default proposal status. - - PROPOSAL_STATUS_DEPOSIT_PERIOD: PROPOSAL_STATUS_DEPOSIT_PERIOD defines a proposal status during the deposit - period. - - PROPOSAL_STATUS_VOTING_PERIOD: PROPOSAL_STATUS_VOTING_PERIOD defines a proposal status during the voting - period. - - PROPOSAL_STATUS_PASSED: PROPOSAL_STATUS_PASSED defines a proposal status of a proposal that has - passed. - - PROPOSAL_STATUS_REJECTED: PROPOSAL_STATUS_REJECTED defines a proposal status of a proposal that has - been rejected. - - PROPOSAL_STATUS_FAILED: PROPOSAL_STATUS_FAILED defines a proposal status of a proposal that has - failed. - - PROPOSAL_STATUS_TALLY_PERIOD: PROPOSAL_STATUS_TALLY_PERIOD defines a proposal status during the tally - period. - in: query - required: false - type: string - enum: - - PROPOSAL_STATUS_UNSPECIFIED - - PROPOSAL_STATUS_DEPOSIT_PERIOD - - PROPOSAL_STATUS_VOTING_PERIOD - - PROPOSAL_STATUS_PASSED - - PROPOSAL_STATUS_REJECTED - - PROPOSAL_STATUS_FAILED - - PROPOSAL_STATUS_TALLY_PERIOD - default: PROPOSAL_STATUS_UNSPECIFIED - - name: voter - description: voter defines the voter address for the proposals. - in: query - required: false - type: string - - name: depositor - description: depositor defines the deposit addresses from the proposals. - in: query - required: false - type: string - - name: pagination.key - description: |- - key is a value returned in PageResponse.next_key to begin - querying the next page most efficiently. Only one of offset or key - should be set. - in: query - required: false - type: string - format: byte - - name: pagination.offset - description: >- - offset is a numeric offset that can be used when key is unavailable. - - It is less efficient than using key. Only one of offset or key - should - - be set. - in: query - required: false - type: string - format: uint64 - - name: pagination.limit - description: >- - limit is the total number of results to be returned in the result - page. - - If left empty it will default to a value to be set by each app. - in: query - required: false - type: string - format: uint64 - - name: pagination.count_total - description: >- - count_total is set to true to indicate that the result set should - include - - a count of the total number of items available for pagination in - UIs. - - count_total is only respected when offset is used. It is ignored - when key - - is set. - in: query - required: false - type: boolean - - name: pagination.reverse - description: >- - reverse is set to true if results are to be returned in the - descending order. - - - Since: cosmos-sdk 0.43 - in: query - required: false - type: boolean - tags: - - Query - /cosmos/gov/v1/proposals/{proposal_id}: - get: - summary: Proposal queries proposal details based on ProposalID. - operationId: CosmosGovV1Query_Proposal - responses: - '200': - description: A successful response. - schema: - type: object - properties: - proposal: - description: proposal is the requested governance proposal. - type: object - properties: - id: - type: string - format: uint64 - description: id defines the unique id of the proposal. - messages: - type: array - items: - type: object - properties: - '@type': - type: string - description: >- - A URL/resource name that uniquely identifies the - type of the serialized - - protocol buffer message. This string must contain at - least - - one "/" character. The last segment of the URL's - path must represent - - the fully qualified name of the type (as in - - `path/google.protobuf.Duration`). The name should be - in a canonical form - - (e.g., leading "." is not accepted). - - - In practice, teams usually precompile into the - binary all types that they - - expect it to use in the context of Any. However, for - URLs which use the - - scheme `http`, `https`, or no scheme, one can - optionally set up a type - - server that maps type URLs to message definitions as - follows: - - - * If no scheme is provided, `https` is assumed. - - * An HTTP GET on the URL must yield a - [google.protobuf.Type][] - value in binary format, or produce an error. - * Applications are allowed to cache lookup results - based on the - URL, or have them precompiled into a binary to avoid any - lookup. Therefore, binary compatibility needs to be preserved - on changes to types. (Use versioned type names to manage - breaking changes.) - - Note: this functionality is not currently available - in the official - - protobuf release, and it is not used for type URLs - beginning with - - type.googleapis.com. As of May 2023, there are no - widely used type server - - implementations and no plans to implement one. - - - Schemes other than `http`, `https` (or the empty - scheme) might be - - used with implementation specific semantics. - additionalProperties: {} - description: >- - `Any` contains an arbitrary serialized protocol buffer - message along with a - - URL that describes the type of the serialized message. - - - Protobuf library provides support to pack/unpack Any - values in the form - - of utility functions or additional generated methods of - the Any type. - - - Example 1: Pack and unpack a message in C++. - - Foo foo = ...; - Any any; - any.PackFrom(foo); - ... - if (any.UnpackTo(&foo)) { - ... - } - - Example 2: Pack and unpack a message in Java. - - Foo foo = ...; - Any any = Any.pack(foo); - ... - if (any.is(Foo.class)) { - foo = any.unpack(Foo.class); - } - // or ... - if (any.isSameTypeAs(Foo.getDefaultInstance())) { - foo = any.unpack(Foo.getDefaultInstance()); - } - - Example 3: Pack and unpack a message in Python. - - foo = Foo(...) - any = Any() - any.Pack(foo) - ... - if any.Is(Foo.DESCRIPTOR): - any.Unpack(foo) - ... - - Example 4: Pack and unpack a message in Go - - foo := &pb.Foo{...} - any, err := anypb.New(foo) - if err != nil { - ... - } - ... - foo := &pb.Foo{} - if err := any.UnmarshalTo(foo); err != nil { - ... - } - - The pack methods provided by protobuf library will by - default use - - 'type.googleapis.com/full.type.name' as the type URL and - the unpack - - methods only use the fully qualified type name after the - last '/' - - in the type URL, for example "foo.bar.com/x/y.z" will - yield type - - name "y.z". - - - JSON - - ==== - - The JSON representation of an `Any` value uses the - regular - - representation of the deserialized, embedded message, - with an - - additional field `@type` which contains the type URL. - Example: - - package google.profile; - message Person { - string first_name = 1; - string last_name = 2; - } - - { - "@type": "type.googleapis.com/google.profile.Person", - "firstName": , - "lastName": - } - - If the embedded message type is well-known and has a - custom JSON - - representation, that representation will be embedded - adding a field - - `value` which holds the custom JSON in addition to the - `@type` - - field. Example (for message - [google.protobuf.Duration][]): - - { - "@type": "type.googleapis.com/google.protobuf.Duration", - "value": "1.212s" - } - description: >- - messages are the arbitrary messages to be executed if the - proposal passes. - status: - description: status defines the proposal status. - type: string - enum: - - PROPOSAL_STATUS_UNSPECIFIED - - PROPOSAL_STATUS_DEPOSIT_PERIOD - - PROPOSAL_STATUS_VOTING_PERIOD - - PROPOSAL_STATUS_PASSED - - PROPOSAL_STATUS_REJECTED - - PROPOSAL_STATUS_FAILED - - PROPOSAL_STATUS_TALLY_PERIOD - default: PROPOSAL_STATUS_UNSPECIFIED - final_tally_result: - description: >- - final_tally_result is the final tally result of the - proposal. When - - querying a proposal via gRPC, this field is not populated - until the - - proposal's voting period has ended. - type: object - properties: - yes_count: - type: string - description: yes_count is the number of yes votes on a proposal. - abstain_count: - type: string - description: >- - abstain_count is the number of abstain votes on a - proposal. - no_count: - type: string - description: no_count is the number of no votes on a proposal. - no_with_veto_count: - type: string - description: >- - no_with_veto_count is the number of no with veto votes - on a proposal. - encrypted_count: - type: string - description: >- - encrypted_count is the number of encrypted votes on a - proposal. - submit_time: - type: string - format: date-time - description: submit_time is the time of proposal submission. - deposit_end_time: - type: string - format: date-time - description: deposit_end_time is the end time for deposition. - total_deposit: - type: array - items: - type: object - properties: - denom: - type: string - amount: - type: string - description: >- - Coin defines a token with a denomination and an amount. - - - NOTE: The amount field is an Int which implements the - custom method - - signatures required by gogoproto. - description: total_deposit is the total deposit on the proposal. - voting_start_time: - type: string - format: date-time - description: >- - voting_start_time is the starting time to vote on a - proposal. - voting_end_time: - type: string - format: date-time - description: voting_end_time is the end time of voting on a proposal. - metadata: - type: string - title: >- - metadata is any arbitrary metadata attached to the - proposal. - - the recommended format of the metadata is to be found - here: - - https://docs.cosmos.network/v0.47/modules/gov#proposal-3 - title: - type: string - description: 'Since: cosmos-sdk 0.47' - title: title is the title of the proposal - summary: - type: string - description: 'Since: cosmos-sdk 0.47' - title: summary is a short summary of the proposal - proposer: - type: string - description: 'Since: cosmos-sdk 0.47' - title: proposer is the address of the proposal sumbitter - expedited: - type: boolean - description: 'Since: cosmos-sdk 0.50' - title: expedited defines if the proposal is expedited - failed_reason: - type: string - description: 'Since: cosmos-sdk 0.50' - title: failed_reason defines the reason why the proposal failed - has_encrypted_votes: - type: boolean - title: flag to check if proposal has at least one encrypted vote - identity: - type: string - title: identity and pubkey are used to submit encrypted votes - pubkey: - type: string - aggr_keyshare: - type: string - title: >- - aggregated keyshare is used to decrypt the encrypted votes - during the tally phase - description: >- - QueryProposalResponse is the response type for the Query/Proposal - RPC method. - default: - description: An unexpected error response. - schema: - type: object - properties: - code: - type: integer - format: int32 - message: - type: string - details: - type: array - items: - type: object - properties: - '@type': - type: string - description: >- - A URL/resource name that uniquely identifies the type of - the serialized - - protocol buffer message. This string must contain at - least - - one "/" character. The last segment of the URL's path - must represent - - the fully qualified name of the type (as in - - `path/google.protobuf.Duration`). The name should be in - a canonical form - - (e.g., leading "." is not accepted). - - - In practice, teams usually precompile into the binary - all types that they - - expect it to use in the context of Any. However, for - URLs which use the - - scheme `http`, `https`, or no scheme, one can optionally - set up a type - - server that maps type URLs to message definitions as - follows: - - - * If no scheme is provided, `https` is assumed. - - * An HTTP GET on the URL must yield a - [google.protobuf.Type][] - value in binary format, or produce an error. - * Applications are allowed to cache lookup results based - on the - URL, or have them precompiled into a binary to avoid any - lookup. Therefore, binary compatibility needs to be preserved - on changes to types. (Use versioned type names to manage - breaking changes.) - - Note: this functionality is not currently available in - the official - - protobuf release, and it is not used for type URLs - beginning with - - type.googleapis.com. As of May 2023, there are no widely - used type server - - implementations and no plans to implement one. - - - Schemes other than `http`, `https` (or the empty scheme) - might be - - used with implementation specific semantics. - additionalProperties: {} - description: >- - `Any` contains an arbitrary serialized protocol buffer - message along with a - - URL that describes the type of the serialized message. - - - Protobuf library provides support to pack/unpack Any values - in the form - - of utility functions or additional generated methods of the - Any type. - - - Example 1: Pack and unpack a message in C++. - - Foo foo = ...; - Any any; - any.PackFrom(foo); - ... - if (any.UnpackTo(&foo)) { - ... - } - - Example 2: Pack and unpack a message in Java. - - Foo foo = ...; - Any any = Any.pack(foo); - ... - if (any.is(Foo.class)) { - foo = any.unpack(Foo.class); - } - // or ... - if (any.isSameTypeAs(Foo.getDefaultInstance())) { - foo = any.unpack(Foo.getDefaultInstance()); - } - - Example 3: Pack and unpack a message in Python. - - foo = Foo(...) - any = Any() - any.Pack(foo) - ... - if any.Is(Foo.DESCRIPTOR): - any.Unpack(foo) - ... - - Example 4: Pack and unpack a message in Go - - foo := &pb.Foo{...} - any, err := anypb.New(foo) - if err != nil { - ... - } - ... - foo := &pb.Foo{} - if err := any.UnmarshalTo(foo); err != nil { - ... - } - - The pack methods provided by protobuf library will by - default use - - 'type.googleapis.com/full.type.name' as the type URL and the - unpack - - methods only use the fully qualified type name after the - last '/' - - in the type URL, for example "foo.bar.com/x/y.z" will yield - type - - name "y.z". - - - JSON - - ==== - - The JSON representation of an `Any` value uses the regular - - representation of the deserialized, embedded message, with - an - - additional field `@type` which contains the type URL. - Example: - - package google.profile; - message Person { - string first_name = 1; - string last_name = 2; - } - - { - "@type": "type.googleapis.com/google.profile.Person", - "firstName": , - "lastName": - } - - If the embedded message type is well-known and has a custom - JSON - - representation, that representation will be embedded adding - a field - - `value` which holds the custom JSON in addition to the - `@type` - - field. Example (for message [google.protobuf.Duration][]): - - { - "@type": "type.googleapis.com/google.protobuf.Duration", - "value": "1.212s" - } - parameters: - - name: proposal_id - description: proposal_id defines the unique id of the proposal. - in: path - required: true - type: string - format: uint64 - tags: - - Query - /cosmos/gov/v1/proposals/{proposal_id}/deposits: - get: - summary: Deposits queries all deposits of a single proposal. - operationId: CosmosGovV1Query_Deposits - responses: - '200': - description: A successful response. - schema: - type: object - properties: - deposits: - type: array - items: - type: object - properties: - proposal_id: - type: string - format: uint64 - description: proposal_id defines the unique id of the proposal. - depositor: - type: string - description: >- - depositor defines the deposit addresses from the - proposals. - amount: - type: array - items: - type: object - properties: - denom: - type: string - amount: - type: string - description: >- - Coin defines a token with a denomination and an - amount. - - - NOTE: The amount field is an Int which implements the - custom method - - signatures required by gogoproto. - description: amount to be deposited by depositor. - description: >- - Deposit defines an amount deposited by an account address to - an active - - proposal. - description: deposits defines the requested deposits. - pagination: - description: pagination defines the pagination in the response. - type: object - properties: - next_key: - type: string - format: byte - description: |- - next_key is the key to be passed to PageRequest.key to - query the next page most efficiently. It will be empty if - there are no more results. - total: - type: string - format: uint64 - title: >- - total is total number of results available if - PageRequest.count_total - - was set, its value is undefined otherwise - description: >- - QueryDepositsResponse is the response type for the Query/Deposits - RPC method. - default: - description: An unexpected error response. - schema: - type: object - properties: - code: - type: integer - format: int32 - message: - type: string - details: - type: array - items: - type: object - properties: - '@type': - type: string - description: >- - A URL/resource name that uniquely identifies the type of - the serialized - - protocol buffer message. This string must contain at - least - - one "/" character. The last segment of the URL's path - must represent - - the fully qualified name of the type (as in - - `path/google.protobuf.Duration`). The name should be in - a canonical form - - (e.g., leading "." is not accepted). - - - In practice, teams usually precompile into the binary - all types that they - - expect it to use in the context of Any. However, for - URLs which use the - - scheme `http`, `https`, or no scheme, one can optionally - set up a type - - server that maps type URLs to message definitions as - follows: - - - * If no scheme is provided, `https` is assumed. - - * An HTTP GET on the URL must yield a - [google.protobuf.Type][] - value in binary format, or produce an error. - * Applications are allowed to cache lookup results based - on the - URL, or have them precompiled into a binary to avoid any - lookup. Therefore, binary compatibility needs to be preserved - on changes to types. (Use versioned type names to manage - breaking changes.) - - Note: this functionality is not currently available in - the official - - protobuf release, and it is not used for type URLs - beginning with - - type.googleapis.com. As of May 2023, there are no widely - used type server - - implementations and no plans to implement one. - - - Schemes other than `http`, `https` (or the empty scheme) - might be - - used with implementation specific semantics. - additionalProperties: {} - description: >- - `Any` contains an arbitrary serialized protocol buffer - message along with a - - URL that describes the type of the serialized message. - - - Protobuf library provides support to pack/unpack Any values - in the form - - of utility functions or additional generated methods of the - Any type. - - - Example 1: Pack and unpack a message in C++. - - Foo foo = ...; - Any any; - any.PackFrom(foo); - ... - if (any.UnpackTo(&foo)) { - ... - } - - Example 2: Pack and unpack a message in Java. - - Foo foo = ...; - Any any = Any.pack(foo); - ... - if (any.is(Foo.class)) { - foo = any.unpack(Foo.class); - } - // or ... - if (any.isSameTypeAs(Foo.getDefaultInstance())) { - foo = any.unpack(Foo.getDefaultInstance()); - } - - Example 3: Pack and unpack a message in Python. - - foo = Foo(...) - any = Any() - any.Pack(foo) - ... - if any.Is(Foo.DESCRIPTOR): - any.Unpack(foo) - ... - - Example 4: Pack and unpack a message in Go - - foo := &pb.Foo{...} - any, err := anypb.New(foo) - if err != nil { - ... - } - ... - foo := &pb.Foo{} - if err := any.UnmarshalTo(foo); err != nil { - ... - } - - The pack methods provided by protobuf library will by - default use - - 'type.googleapis.com/full.type.name' as the type URL and the - unpack - - methods only use the fully qualified type name after the - last '/' - - in the type URL, for example "foo.bar.com/x/y.z" will yield - type - - name "y.z". - - - JSON - - ==== - - The JSON representation of an `Any` value uses the regular - - representation of the deserialized, embedded message, with - an - - additional field `@type` which contains the type URL. - Example: - - package google.profile; - message Person { - string first_name = 1; - string last_name = 2; - } - - { - "@type": "type.googleapis.com/google.profile.Person", - "firstName": , - "lastName": - } - - If the embedded message type is well-known and has a custom - JSON - - representation, that representation will be embedded adding - a field - - `value` which holds the custom JSON in addition to the - `@type` - - field. Example (for message [google.protobuf.Duration][]): - - { - "@type": "type.googleapis.com/google.protobuf.Duration", - "value": "1.212s" - } - parameters: - - name: proposal_id - description: proposal_id defines the unique id of the proposal. - in: path - required: true - type: string - format: uint64 - - name: pagination.key - description: |- - key is a value returned in PageResponse.next_key to begin - querying the next page most efficiently. Only one of offset or key - should be set. - in: query - required: false - type: string - format: byte - - name: pagination.offset - description: >- - offset is a numeric offset that can be used when key is unavailable. - - It is less efficient than using key. Only one of offset or key - should - - be set. - in: query - required: false - type: string - format: uint64 - - name: pagination.limit - description: >- - limit is the total number of results to be returned in the result - page. - - If left empty it will default to a value to be set by each app. - in: query - required: false - type: string - format: uint64 - - name: pagination.count_total - description: >- - count_total is set to true to indicate that the result set should - include - - a count of the total number of items available for pagination in - UIs. - - count_total is only respected when offset is used. It is ignored - when key - - is set. - in: query - required: false - type: boolean - - name: pagination.reverse - description: >- - reverse is set to true if results are to be returned in the - descending order. - - - Since: cosmos-sdk 0.43 - in: query - required: false - type: boolean - tags: - - Query - /cosmos/gov/v1/proposals/{proposal_id}/deposits/{depositor}: - get: - summary: >- - Deposit queries single deposit information based on proposalID, - depositAddr. - operationId: CosmosGovV1Query_Deposit - responses: - '200': - description: A successful response. - schema: - type: object - properties: - deposit: - description: deposit defines the requested deposit. - type: object - properties: - proposal_id: - type: string - format: uint64 - description: proposal_id defines the unique id of the proposal. - depositor: - type: string - description: >- - depositor defines the deposit addresses from the - proposals. - amount: - type: array - items: - type: object - properties: - denom: - type: string - amount: - type: string - description: >- - Coin defines a token with a denomination and an amount. - - - NOTE: The amount field is an Int which implements the - custom method - - signatures required by gogoproto. - description: amount to be deposited by depositor. - description: >- - QueryDepositResponse is the response type for the Query/Deposit - RPC method. - default: - description: An unexpected error response. - schema: - type: object - properties: - code: - type: integer - format: int32 - message: - type: string - details: - type: array - items: - type: object - properties: - '@type': - type: string - description: >- - A URL/resource name that uniquely identifies the type of - the serialized - - protocol buffer message. This string must contain at - least - - one "/" character. The last segment of the URL's path - must represent - - the fully qualified name of the type (as in - - `path/google.protobuf.Duration`). The name should be in - a canonical form - - (e.g., leading "." is not accepted). - - - In practice, teams usually precompile into the binary - all types that they - - expect it to use in the context of Any. However, for - URLs which use the - - scheme `http`, `https`, or no scheme, one can optionally - set up a type - - server that maps type URLs to message definitions as - follows: - - - * If no scheme is provided, `https` is assumed. - - * An HTTP GET on the URL must yield a - [google.protobuf.Type][] - value in binary format, or produce an error. - * Applications are allowed to cache lookup results based - on the - URL, or have them precompiled into a binary to avoid any - lookup. Therefore, binary compatibility needs to be preserved - on changes to types. (Use versioned type names to manage - breaking changes.) - - Note: this functionality is not currently available in - the official - - protobuf release, and it is not used for type URLs - beginning with - - type.googleapis.com. As of May 2023, there are no widely - used type server - - implementations and no plans to implement one. - - - Schemes other than `http`, `https` (or the empty scheme) - might be - - used with implementation specific semantics. - additionalProperties: {} - description: >- - `Any` contains an arbitrary serialized protocol buffer - message along with a - - URL that describes the type of the serialized message. - - - Protobuf library provides support to pack/unpack Any values - in the form - - of utility functions or additional generated methods of the - Any type. - - - Example 1: Pack and unpack a message in C++. - - Foo foo = ...; - Any any; - any.PackFrom(foo); - ... - if (any.UnpackTo(&foo)) { - ... - } - - Example 2: Pack and unpack a message in Java. - - Foo foo = ...; - Any any = Any.pack(foo); - ... - if (any.is(Foo.class)) { - foo = any.unpack(Foo.class); - } - // or ... - if (any.isSameTypeAs(Foo.getDefaultInstance())) { - foo = any.unpack(Foo.getDefaultInstance()); - } - - Example 3: Pack and unpack a message in Python. - - foo = Foo(...) - any = Any() - any.Pack(foo) - ... - if any.Is(Foo.DESCRIPTOR): - any.Unpack(foo) - ... - - Example 4: Pack and unpack a message in Go - - foo := &pb.Foo{...} - any, err := anypb.New(foo) - if err != nil { - ... - } - ... - foo := &pb.Foo{} - if err := any.UnmarshalTo(foo); err != nil { - ... - } - - The pack methods provided by protobuf library will by - default use - - 'type.googleapis.com/full.type.name' as the type URL and the - unpack - - methods only use the fully qualified type name after the - last '/' - - in the type URL, for example "foo.bar.com/x/y.z" will yield - type - - name "y.z". - - - JSON - - ==== - - The JSON representation of an `Any` value uses the regular - - representation of the deserialized, embedded message, with - an - - additional field `@type` which contains the type URL. - Example: - - package google.profile; - message Person { - string first_name = 1; - string last_name = 2; - } - - { - "@type": "type.googleapis.com/google.profile.Person", - "firstName": , - "lastName": - } - - If the embedded message type is well-known and has a custom - JSON - - representation, that representation will be embedded adding - a field - - `value` which holds the custom JSON in addition to the - `@type` - - field. Example (for message [google.protobuf.Duration][]): - - { - "@type": "type.googleapis.com/google.protobuf.Duration", - "value": "1.212s" - } - parameters: - - name: proposal_id - description: proposal_id defines the unique id of the proposal. - in: path - required: true - type: string - format: uint64 - - name: depositor - description: depositor defines the deposit addresses from the proposals. - in: path - required: true - type: string - tags: - - Query - /cosmos/gov/v1/proposals/{proposal_id}/tally: - get: - summary: TallyResult queries the tally of a proposal vote. - operationId: CosmosGovV1Query_TallyResult - responses: - '200': - description: A successful response. - schema: - type: object - properties: - tally: - description: tally defines the requested tally. - type: object - properties: - yes_count: - type: string - description: yes_count is the number of yes votes on a proposal. - abstain_count: - type: string - description: >- - abstain_count is the number of abstain votes on a - proposal. - no_count: - type: string - description: no_count is the number of no votes on a proposal. - no_with_veto_count: - type: string - description: >- - no_with_veto_count is the number of no with veto votes on - a proposal. - encrypted_count: - type: string - description: >- - encrypted_count is the number of encrypted votes on a - proposal. - description: >- - QueryTallyResultResponse is the response type for the Query/Tally - RPC method. - default: - description: An unexpected error response. - schema: - type: object - properties: - code: - type: integer - format: int32 - message: - type: string - details: - type: array - items: - type: object - properties: - '@type': - type: string - description: >- - A URL/resource name that uniquely identifies the type of - the serialized - - protocol buffer message. This string must contain at - least - - one "/" character. The last segment of the URL's path - must represent - - the fully qualified name of the type (as in - - `path/google.protobuf.Duration`). The name should be in - a canonical form - - (e.g., leading "." is not accepted). - - - In practice, teams usually precompile into the binary - all types that they - - expect it to use in the context of Any. However, for - URLs which use the - - scheme `http`, `https`, or no scheme, one can optionally - set up a type - - server that maps type URLs to message definitions as - follows: - - - * If no scheme is provided, `https` is assumed. - - * An HTTP GET on the URL must yield a - [google.protobuf.Type][] - value in binary format, or produce an error. - * Applications are allowed to cache lookup results based - on the - URL, or have them precompiled into a binary to avoid any - lookup. Therefore, binary compatibility needs to be preserved - on changes to types. (Use versioned type names to manage - breaking changes.) - - Note: this functionality is not currently available in - the official - - protobuf release, and it is not used for type URLs - beginning with - - type.googleapis.com. As of May 2023, there are no widely - used type server - - implementations and no plans to implement one. - - - Schemes other than `http`, `https` (or the empty scheme) - might be - - used with implementation specific semantics. - additionalProperties: {} - description: >- - `Any` contains an arbitrary serialized protocol buffer - message along with a - - URL that describes the type of the serialized message. - - - Protobuf library provides support to pack/unpack Any values - in the form - - of utility functions or additional generated methods of the - Any type. - - - Example 1: Pack and unpack a message in C++. - - Foo foo = ...; - Any any; - any.PackFrom(foo); - ... - if (any.UnpackTo(&foo)) { - ... - } - - Example 2: Pack and unpack a message in Java. - - Foo foo = ...; - Any any = Any.pack(foo); - ... - if (any.is(Foo.class)) { - foo = any.unpack(Foo.class); - } - // or ... - if (any.isSameTypeAs(Foo.getDefaultInstance())) { - foo = any.unpack(Foo.getDefaultInstance()); - } - - Example 3: Pack and unpack a message in Python. - - foo = Foo(...) - any = Any() - any.Pack(foo) - ... - if any.Is(Foo.DESCRIPTOR): - any.Unpack(foo) - ... - - Example 4: Pack and unpack a message in Go - - foo := &pb.Foo{...} - any, err := anypb.New(foo) - if err != nil { - ... - } - ... - foo := &pb.Foo{} - if err := any.UnmarshalTo(foo); err != nil { - ... - } - - The pack methods provided by protobuf library will by - default use - - 'type.googleapis.com/full.type.name' as the type URL and the - unpack - - methods only use the fully qualified type name after the - last '/' - - in the type URL, for example "foo.bar.com/x/y.z" will yield - type - - name "y.z". - - - JSON - - ==== - - The JSON representation of an `Any` value uses the regular - - representation of the deserialized, embedded message, with - an - - additional field `@type` which contains the type URL. - Example: - - package google.profile; - message Person { - string first_name = 1; - string last_name = 2; - } - - { - "@type": "type.googleapis.com/google.profile.Person", - "firstName": , - "lastName": - } - - If the embedded message type is well-known and has a custom - JSON - - representation, that representation will be embedded adding - a field - - `value` which holds the custom JSON in addition to the - `@type` - - field. Example (for message [google.protobuf.Duration][]): - - { - "@type": "type.googleapis.com/google.protobuf.Duration", - "value": "1.212s" - } - parameters: - - name: proposal_id - description: proposal_id defines the unique id of the proposal. - in: path - required: true - type: string - format: uint64 - tags: - - Query - /cosmos/gov/v1/proposals/{proposal_id}/votes: - get: - summary: Votes queries votes of a given proposal. - operationId: CosmosGovV1Query_Votes - responses: - '200': - description: A successful response. - schema: - type: object - properties: - votes: - type: array - items: - type: object - properties: - proposal_id: - type: string - format: uint64 - description: proposal_id defines the unique id of the proposal. - voter: - type: string - description: voter is the voter address of the proposal. - options: - type: array - items: - type: object - properties: - option: - description: >- - option defines the valid vote options, it must not - contain duplicate vote options. - type: string - enum: - - VOTE_OPTION_UNSPECIFIED - - VOTE_OPTION_YES - - VOTE_OPTION_ABSTAIN - - VOTE_OPTION_NO - - VOTE_OPTION_NO_WITH_VETO - - VOTE_OPTION_ENCRYPTED - default: VOTE_OPTION_UNSPECIFIED - weight: - type: string - description: >- - weight is the vote weight associated with the vote - option. - description: >- - WeightedVoteOption defines a unit of vote for vote - split. - description: options is the weighted vote options. - metadata: - type: string - title: >- - metadata is any arbitrary metadata attached to the vote. - - the recommended format of the metadata is to be found - here: - https://docs.cosmos.network/v0.47/modules/gov#vote-5 - encrypted_vote_data: - type: string - description: >- - Vote defines a vote on a governance proposal. - - A Vote consists of a proposal ID, the voter, and the vote - option. - description: votes defines the queried votes. - pagination: - description: pagination defines the pagination in the response. - type: object - properties: - next_key: - type: string - format: byte - description: |- - next_key is the key to be passed to PageRequest.key to - query the next page most efficiently. It will be empty if - there are no more results. - total: - type: string - format: uint64 - title: >- - total is total number of results available if - PageRequest.count_total - - was set, its value is undefined otherwise - description: >- - QueryVotesResponse is the response type for the Query/Votes RPC - method. - default: - description: An unexpected error response. - schema: - type: object - properties: - code: - type: integer - format: int32 - message: - type: string - details: - type: array - items: - type: object - properties: - '@type': - type: string - description: >- - A URL/resource name that uniquely identifies the type of - the serialized - - protocol buffer message. This string must contain at - least - - one "/" character. The last segment of the URL's path - must represent - - the fully qualified name of the type (as in - - `path/google.protobuf.Duration`). The name should be in - a canonical form - - (e.g., leading "." is not accepted). - - - In practice, teams usually precompile into the binary - all types that they - - expect it to use in the context of Any. However, for - URLs which use the - - scheme `http`, `https`, or no scheme, one can optionally - set up a type - - server that maps type URLs to message definitions as - follows: - - - * If no scheme is provided, `https` is assumed. - - * An HTTP GET on the URL must yield a - [google.protobuf.Type][] - value in binary format, or produce an error. - * Applications are allowed to cache lookup results based - on the - URL, or have them precompiled into a binary to avoid any - lookup. Therefore, binary compatibility needs to be preserved - on changes to types. (Use versioned type names to manage - breaking changes.) - - Note: this functionality is not currently available in - the official - - protobuf release, and it is not used for type URLs - beginning with - - type.googleapis.com. As of May 2023, there are no widely - used type server - - implementations and no plans to implement one. - - - Schemes other than `http`, `https` (or the empty scheme) - might be - - used with implementation specific semantics. - additionalProperties: {} - description: >- - `Any` contains an arbitrary serialized protocol buffer - message along with a - - URL that describes the type of the serialized message. - - - Protobuf library provides support to pack/unpack Any values - in the form - - of utility functions or additional generated methods of the - Any type. - - - Example 1: Pack and unpack a message in C++. - - Foo foo = ...; - Any any; - any.PackFrom(foo); - ... - if (any.UnpackTo(&foo)) { - ... - } - - Example 2: Pack and unpack a message in Java. - - Foo foo = ...; - Any any = Any.pack(foo); - ... - if (any.is(Foo.class)) { - foo = any.unpack(Foo.class); - } - // or ... - if (any.isSameTypeAs(Foo.getDefaultInstance())) { - foo = any.unpack(Foo.getDefaultInstance()); - } - - Example 3: Pack and unpack a message in Python. - - foo = Foo(...) - any = Any() - any.Pack(foo) - ... - if any.Is(Foo.DESCRIPTOR): - any.Unpack(foo) - ... - - Example 4: Pack and unpack a message in Go - - foo := &pb.Foo{...} - any, err := anypb.New(foo) - if err != nil { - ... - } - ... - foo := &pb.Foo{} - if err := any.UnmarshalTo(foo); err != nil { - ... - } - - The pack methods provided by protobuf library will by - default use - - 'type.googleapis.com/full.type.name' as the type URL and the - unpack - - methods only use the fully qualified type name after the - last '/' - - in the type URL, for example "foo.bar.com/x/y.z" will yield - type - - name "y.z". - - - JSON - - ==== - - The JSON representation of an `Any` value uses the regular - - representation of the deserialized, embedded message, with - an - - additional field `@type` which contains the type URL. - Example: - - package google.profile; - message Person { - string first_name = 1; - string last_name = 2; - } - - { - "@type": "type.googleapis.com/google.profile.Person", - "firstName": , - "lastName": - } - - If the embedded message type is well-known and has a custom - JSON - - representation, that representation will be embedded adding - a field - - `value` which holds the custom JSON in addition to the - `@type` - - field. Example (for message [google.protobuf.Duration][]): - - { - "@type": "type.googleapis.com/google.protobuf.Duration", - "value": "1.212s" - } - parameters: - - name: proposal_id - description: proposal_id defines the unique id of the proposal. - in: path - required: true - type: string - format: uint64 - - name: pagination.key - description: |- - key is a value returned in PageResponse.next_key to begin - querying the next page most efficiently. Only one of offset or key - should be set. - in: query - required: false - type: string - format: byte - - name: pagination.offset - description: >- - offset is a numeric offset that can be used when key is unavailable. - - It is less efficient than using key. Only one of offset or key - should - - be set. - in: query - required: false - type: string - format: uint64 - - name: pagination.limit - description: >- - limit is the total number of results to be returned in the result - page. - - If left empty it will default to a value to be set by each app. - in: query - required: false - type: string - format: uint64 - - name: pagination.count_total - description: >- - count_total is set to true to indicate that the result set should - include - - a count of the total number of items available for pagination in - UIs. - - count_total is only respected when offset is used. It is ignored - when key - - is set. - in: query - required: false - type: boolean - - name: pagination.reverse - description: >- - reverse is set to true if results are to be returned in the - descending order. - - - Since: cosmos-sdk 0.43 - in: query - required: false - type: boolean - tags: - - Query - /cosmos/gov/v1/proposals/{proposal_id}/votes/{voter}: - get: - summary: Vote queries voted information based on proposalID, voterAddr. - operationId: CosmosGovV1Query_Vote - responses: - '200': - description: A successful response. - schema: - type: object - properties: - vote: - description: vote defines the queried vote. - type: object - properties: - proposal_id: - type: string - format: uint64 - description: proposal_id defines the unique id of the proposal. - voter: - type: string - description: voter is the voter address of the proposal. - options: - type: array - items: - type: object - properties: - option: - description: >- - option defines the valid vote options, it must not - contain duplicate vote options. - type: string - enum: - - VOTE_OPTION_UNSPECIFIED - - VOTE_OPTION_YES - - VOTE_OPTION_ABSTAIN - - VOTE_OPTION_NO - - VOTE_OPTION_NO_WITH_VETO - - VOTE_OPTION_ENCRYPTED - default: VOTE_OPTION_UNSPECIFIED - weight: - type: string - description: >- - weight is the vote weight associated with the vote - option. - description: >- - WeightedVoteOption defines a unit of vote for vote - split. - description: options is the weighted vote options. - metadata: - type: string - title: >- - metadata is any arbitrary metadata attached to the vote. - - the recommended format of the metadata is to be found - here: https://docs.cosmos.network/v0.47/modules/gov#vote-5 - encrypted_vote_data: - type: string - description: >- - QueryVoteResponse is the response type for the Query/Vote RPC - method. - default: - description: An unexpected error response. - schema: - type: object - properties: - code: - type: integer - format: int32 - message: - type: string - details: - type: array - items: - type: object - properties: - '@type': - type: string - description: >- - A URL/resource name that uniquely identifies the type of - the serialized - - protocol buffer message. This string must contain at - least - - one "/" character. The last segment of the URL's path - must represent - - the fully qualified name of the type (as in - - `path/google.protobuf.Duration`). The name should be in - a canonical form - - (e.g., leading "." is not accepted). - - - In practice, teams usually precompile into the binary - all types that they - - expect it to use in the context of Any. However, for - URLs which use the - - scheme `http`, `https`, or no scheme, one can optionally - set up a type - - server that maps type URLs to message definitions as - follows: - - - * If no scheme is provided, `https` is assumed. - - * An HTTP GET on the URL must yield a - [google.protobuf.Type][] - value in binary format, or produce an error. - * Applications are allowed to cache lookup results based - on the - URL, or have them precompiled into a binary to avoid any - lookup. Therefore, binary compatibility needs to be preserved - on changes to types. (Use versioned type names to manage - breaking changes.) - - Note: this functionality is not currently available in - the official - - protobuf release, and it is not used for type URLs - beginning with - - type.googleapis.com. As of May 2023, there are no widely - used type server - - implementations and no plans to implement one. - - - Schemes other than `http`, `https` (or the empty scheme) - might be - - used with implementation specific semantics. - additionalProperties: {} - description: >- - `Any` contains an arbitrary serialized protocol buffer - message along with a - - URL that describes the type of the serialized message. - - - Protobuf library provides support to pack/unpack Any values - in the form - - of utility functions or additional generated methods of the - Any type. - - - Example 1: Pack and unpack a message in C++. - - Foo foo = ...; - Any any; - any.PackFrom(foo); - ... - if (any.UnpackTo(&foo)) { - ... - } - - Example 2: Pack and unpack a message in Java. - - Foo foo = ...; - Any any = Any.pack(foo); - ... - if (any.is(Foo.class)) { - foo = any.unpack(Foo.class); - } - // or ... - if (any.isSameTypeAs(Foo.getDefaultInstance())) { - foo = any.unpack(Foo.getDefaultInstance()); - } - - Example 3: Pack and unpack a message in Python. - - foo = Foo(...) - any = Any() - any.Pack(foo) - ... - if any.Is(Foo.DESCRIPTOR): - any.Unpack(foo) - ... - - Example 4: Pack and unpack a message in Go - - foo := &pb.Foo{...} - any, err := anypb.New(foo) - if err != nil { - ... - } - ... - foo := &pb.Foo{} - if err := any.UnmarshalTo(foo); err != nil { - ... - } - - The pack methods provided by protobuf library will by - default use - - 'type.googleapis.com/full.type.name' as the type URL and the - unpack - - methods only use the fully qualified type name after the - last '/' - - in the type URL, for example "foo.bar.com/x/y.z" will yield - type - - name "y.z". - - - JSON - - ==== - - The JSON representation of an `Any` value uses the regular - - representation of the deserialized, embedded message, with - an - - additional field `@type` which contains the type URL. - Example: - - package google.profile; - message Person { - string first_name = 1; - string last_name = 2; - } - - { - "@type": "type.googleapis.com/google.profile.Person", - "firstName": , - "lastName": - } - - If the embedded message type is well-known and has a custom - JSON - - representation, that representation will be embedded adding - a field - - `value` which holds the custom JSON in addition to the - `@type` - - field. Example (for message [google.protobuf.Duration][]): - - { - "@type": "type.googleapis.com/google.protobuf.Duration", - "value": "1.212s" - } - parameters: - - name: proposal_id - description: proposal_id defines the unique id of the proposal. - in: path - required: true - type: string - format: uint64 - - name: voter - description: voter defines the voter address for the proposals. - in: path - required: true - type: string - tags: - - Query - /cosmos.gov.v1.Msg/CancelProposal: - post: - summary: CancelProposal defines a method to cancel governance proposal - description: 'Since: cosmos-sdk 0.50' - operationId: CosmosGovV1Msg_CancelProposal - responses: - '200': - description: A successful response. - schema: - type: object - properties: - proposal_id: - type: string - format: uint64 - description: proposal_id defines the unique id of the proposal. - canceled_time: - type: string - format: date-time - description: canceled_time is the time when proposal is canceled. - canceled_height: - type: string - format: uint64 - description: >- - canceled_height defines the block height at which the proposal - is canceled. - description: >- - MsgCancelProposalResponse defines the response structure for - executing a - - MsgCancelProposal message. - - - Since: cosmos-sdk 0.50 - default: - description: An unexpected error response. - schema: - type: object - properties: - code: - type: integer - format: int32 - message: - type: string - details: - type: array - items: - type: object - properties: - '@type': - type: string - description: >- - A URL/resource name that uniquely identifies the type of - the serialized - - protocol buffer message. This string must contain at - least - - one "/" character. The last segment of the URL's path - must represent - - the fully qualified name of the type (as in - - `path/google.protobuf.Duration`). The name should be in - a canonical form - - (e.g., leading "." is not accepted). - - - In practice, teams usually precompile into the binary - all types that they - - expect it to use in the context of Any. However, for - URLs which use the - - scheme `http`, `https`, or no scheme, one can optionally - set up a type - - server that maps type URLs to message definitions as - follows: - - - * If no scheme is provided, `https` is assumed. - - * An HTTP GET on the URL must yield a - [google.protobuf.Type][] - value in binary format, or produce an error. - * Applications are allowed to cache lookup results based - on the - URL, or have them precompiled into a binary to avoid any - lookup. Therefore, binary compatibility needs to be preserved - on changes to types. (Use versioned type names to manage - breaking changes.) - - Note: this functionality is not currently available in - the official - - protobuf release, and it is not used for type URLs - beginning with - - type.googleapis.com. As of May 2023, there are no widely - used type server - - implementations and no plans to implement one. - - - Schemes other than `http`, `https` (or the empty scheme) - might be - - used with implementation specific semantics. - additionalProperties: {} - description: >- - `Any` contains an arbitrary serialized protocol buffer - message along with a - - URL that describes the type of the serialized message. - - - Protobuf library provides support to pack/unpack Any values - in the form - - of utility functions or additional generated methods of the - Any type. - - - Example 1: Pack and unpack a message in C++. - - Foo foo = ...; - Any any; - any.PackFrom(foo); - ... - if (any.UnpackTo(&foo)) { - ... - } - - Example 2: Pack and unpack a message in Java. - - Foo foo = ...; - Any any = Any.pack(foo); - ... - if (any.is(Foo.class)) { - foo = any.unpack(Foo.class); - } - // or ... - if (any.isSameTypeAs(Foo.getDefaultInstance())) { - foo = any.unpack(Foo.getDefaultInstance()); - } - - Example 3: Pack and unpack a message in Python. - - foo = Foo(...) - any = Any() - any.Pack(foo) - ... - if any.Is(Foo.DESCRIPTOR): - any.Unpack(foo) - ... - - Example 4: Pack and unpack a message in Go - - foo := &pb.Foo{...} - any, err := anypb.New(foo) - if err != nil { - ... - } - ... - foo := &pb.Foo{} - if err := any.UnmarshalTo(foo); err != nil { - ... - } - - The pack methods provided by protobuf library will by - default use - - 'type.googleapis.com/full.type.name' as the type URL and the - unpack - - methods only use the fully qualified type name after the - last '/' - - in the type URL, for example "foo.bar.com/x/y.z" will yield - type - - name "y.z". - - - JSON - - ==== - - The JSON representation of an `Any` value uses the regular - - representation of the deserialized, embedded message, with - an - - additional field `@type` which contains the type URL. - Example: - - package google.profile; - message Person { - string first_name = 1; - string last_name = 2; - } - - { - "@type": "type.googleapis.com/google.profile.Person", - "firstName": , - "lastName": - } - - If the embedded message type is well-known and has a custom - JSON - - representation, that representation will be embedded adding - a field - - `value` which holds the custom JSON in addition to the - `@type` - - field. Example (for message [google.protobuf.Duration][]): - - { - "@type": "type.googleapis.com/google.protobuf.Duration", - "value": "1.212s" - } - parameters: - - name: body - description: |- - MsgCancelProposal is the Msg/CancelProposal request type. - - Since: cosmos-sdk 0.50 - in: body - required: true - schema: - type: object - properties: - proposal_id: - type: string - format: uint64 - description: proposal_id defines the unique id of the proposal. - proposer: - type: string - description: proposer is the account address of the proposer. - description: |- - MsgCancelProposal is the Msg/CancelProposal request type. - - Since: cosmos-sdk 0.50 - tags: - - Msg - /cosmos.gov.v1.Msg/Deposit: - post: - summary: Deposit defines a method to add deposit on a specific proposal. - operationId: CosmosGovV1Msg_Deposit - responses: - '200': - description: A successful response. - schema: - type: object - description: MsgDepositResponse defines the Msg/Deposit response type. - default: - description: An unexpected error response. - schema: - type: object - properties: - code: - type: integer - format: int32 - message: - type: string - details: - type: array - items: - type: object - properties: - '@type': - type: string - description: >- - A URL/resource name that uniquely identifies the type of - the serialized - - protocol buffer message. This string must contain at - least - - one "/" character. The last segment of the URL's path - must represent - - the fully qualified name of the type (as in - - `path/google.protobuf.Duration`). The name should be in - a canonical form - - (e.g., leading "." is not accepted). - - - In practice, teams usually precompile into the binary - all types that they - - expect it to use in the context of Any. However, for - URLs which use the - - scheme `http`, `https`, or no scheme, one can optionally - set up a type - - server that maps type URLs to message definitions as - follows: - - - * If no scheme is provided, `https` is assumed. - - * An HTTP GET on the URL must yield a - [google.protobuf.Type][] - value in binary format, or produce an error. - * Applications are allowed to cache lookup results based - on the - URL, or have them precompiled into a binary to avoid any - lookup. Therefore, binary compatibility needs to be preserved - on changes to types. (Use versioned type names to manage - breaking changes.) - - Note: this functionality is not currently available in - the official - - protobuf release, and it is not used for type URLs - beginning with - - type.googleapis.com. As of May 2023, there are no widely - used type server - - implementations and no plans to implement one. - - - Schemes other than `http`, `https` (or the empty scheme) - might be - - used with implementation specific semantics. - additionalProperties: {} - description: >- - `Any` contains an arbitrary serialized protocol buffer - message along with a - - URL that describes the type of the serialized message. - - - Protobuf library provides support to pack/unpack Any values - in the form - - of utility functions or additional generated methods of the - Any type. - - - Example 1: Pack and unpack a message in C++. - - Foo foo = ...; - Any any; - any.PackFrom(foo); - ... - if (any.UnpackTo(&foo)) { - ... - } - - Example 2: Pack and unpack a message in Java. - - Foo foo = ...; - Any any = Any.pack(foo); - ... - if (any.is(Foo.class)) { - foo = any.unpack(Foo.class); - } - // or ... - if (any.isSameTypeAs(Foo.getDefaultInstance())) { - foo = any.unpack(Foo.getDefaultInstance()); - } - - Example 3: Pack and unpack a message in Python. - - foo = Foo(...) - any = Any() - any.Pack(foo) - ... - if any.Is(Foo.DESCRIPTOR): - any.Unpack(foo) - ... - - Example 4: Pack and unpack a message in Go - - foo := &pb.Foo{...} - any, err := anypb.New(foo) - if err != nil { - ... - } - ... - foo := &pb.Foo{} - if err := any.UnmarshalTo(foo); err != nil { - ... - } - - The pack methods provided by protobuf library will by - default use - - 'type.googleapis.com/full.type.name' as the type URL and the - unpack - - methods only use the fully qualified type name after the - last '/' - - in the type URL, for example "foo.bar.com/x/y.z" will yield - type - - name "y.z". - - - JSON - - ==== - - The JSON representation of an `Any` value uses the regular - - representation of the deserialized, embedded message, with - an - - additional field `@type` which contains the type URL. - Example: - - package google.profile; - message Person { - string first_name = 1; - string last_name = 2; - } - - { - "@type": "type.googleapis.com/google.profile.Person", - "firstName": , - "lastName": - } - - If the embedded message type is well-known and has a custom - JSON - - representation, that representation will be embedded adding - a field - - `value` which holds the custom JSON in addition to the - `@type` - - field. Example (for message [google.protobuf.Duration][]): - - { - "@type": "type.googleapis.com/google.protobuf.Duration", - "value": "1.212s" - } - parameters: - - name: body - description: >- - MsgDeposit defines a message to submit a deposit to an existing - proposal. - in: body - required: true - schema: - type: object - properties: - proposal_id: - type: string - format: uint64 - description: proposal_id defines the unique id of the proposal. - depositor: - type: string - description: depositor defines the deposit addresses from the proposals. - amount: - type: array - items: - type: object - properties: - denom: - type: string - amount: - type: string - description: >- - Coin defines a token with a denomination and an amount. - - - NOTE: The amount field is an Int which implements the custom - method - - signatures required by gogoproto. - description: amount to be deposited by depositor. - description: >- - MsgDeposit defines a message to submit a deposit to an existing - proposal. - tags: - - Msg - /cosmos.gov.v1.Msg/ExecLegacyContent: - post: - summary: |- - ExecLegacyContent defines a Msg to be in included in a MsgSubmitProposal - to execute a legacy content-based proposal. - operationId: CosmosGovV1Msg_ExecLegacyContent - responses: - '200': - description: A successful response. - schema: - type: object - description: >- - MsgExecLegacyContentResponse defines the Msg/ExecLegacyContent - response type. - default: - description: An unexpected error response. - schema: - type: object - properties: - code: - type: integer - format: int32 - message: - type: string - details: - type: array - items: - type: object - properties: - '@type': - type: string - description: >- - A URL/resource name that uniquely identifies the type of - the serialized - - protocol buffer message. This string must contain at - least - - one "/" character. The last segment of the URL's path - must represent - - the fully qualified name of the type (as in - - `path/google.protobuf.Duration`). The name should be in - a canonical form - - (e.g., leading "." is not accepted). - - - In practice, teams usually precompile into the binary - all types that they - - expect it to use in the context of Any. However, for - URLs which use the - - scheme `http`, `https`, or no scheme, one can optionally - set up a type - - server that maps type URLs to message definitions as - follows: - - - * If no scheme is provided, `https` is assumed. - - * An HTTP GET on the URL must yield a - [google.protobuf.Type][] - value in binary format, or produce an error. - * Applications are allowed to cache lookup results based - on the - URL, or have them precompiled into a binary to avoid any - lookup. Therefore, binary compatibility needs to be preserved - on changes to types. (Use versioned type names to manage - breaking changes.) - - Note: this functionality is not currently available in - the official - - protobuf release, and it is not used for type URLs - beginning with - - type.googleapis.com. As of May 2023, there are no widely - used type server - - implementations and no plans to implement one. - - - Schemes other than `http`, `https` (or the empty scheme) - might be - - used with implementation specific semantics. - additionalProperties: {} - description: >- - `Any` contains an arbitrary serialized protocol buffer - message along with a - - URL that describes the type of the serialized message. - - - Protobuf library provides support to pack/unpack Any values - in the form - - of utility functions or additional generated methods of the - Any type. - - - Example 1: Pack and unpack a message in C++. - - Foo foo = ...; - Any any; - any.PackFrom(foo); - ... - if (any.UnpackTo(&foo)) { - ... - } - - Example 2: Pack and unpack a message in Java. - - Foo foo = ...; - Any any = Any.pack(foo); - ... - if (any.is(Foo.class)) { - foo = any.unpack(Foo.class); - } - // or ... - if (any.isSameTypeAs(Foo.getDefaultInstance())) { - foo = any.unpack(Foo.getDefaultInstance()); - } - - Example 3: Pack and unpack a message in Python. - - foo = Foo(...) - any = Any() - any.Pack(foo) - ... - if any.Is(Foo.DESCRIPTOR): - any.Unpack(foo) - ... - - Example 4: Pack and unpack a message in Go - - foo := &pb.Foo{...} - any, err := anypb.New(foo) - if err != nil { - ... - } - ... - foo := &pb.Foo{} - if err := any.UnmarshalTo(foo); err != nil { - ... - } - - The pack methods provided by protobuf library will by - default use - - 'type.googleapis.com/full.type.name' as the type URL and the - unpack - - methods only use the fully qualified type name after the - last '/' - - in the type URL, for example "foo.bar.com/x/y.z" will yield - type - - name "y.z". - - - JSON - - ==== - - The JSON representation of an `Any` value uses the regular - - representation of the deserialized, embedded message, with - an - - additional field `@type` which contains the type URL. - Example: - - package google.profile; - message Person { - string first_name = 1; - string last_name = 2; - } - - { - "@type": "type.googleapis.com/google.profile.Person", - "firstName": , - "lastName": - } - - If the embedded message type is well-known and has a custom - JSON - - representation, that representation will be embedded adding - a field - - `value` which holds the custom JSON in addition to the - `@type` - - field. Example (for message [google.protobuf.Duration][]): - - { - "@type": "type.googleapis.com/google.protobuf.Duration", - "value": "1.212s" - } - parameters: - - name: body - description: >- - MsgExecLegacyContent is used to wrap the legacy content field into a - message. - - This ensures backwards compatibility with v1beta1.MsgSubmitProposal. - in: body - required: true - schema: - type: object - properties: - content: - description: content is the proposal's content. - type: object - properties: - '@type': - type: string - description: >- - A URL/resource name that uniquely identifies the type of - the serialized - - protocol buffer message. This string must contain at least - - one "/" character. The last segment of the URL's path must - represent - - the fully qualified name of the type (as in - - `path/google.protobuf.Duration`). The name should be in a - canonical form - - (e.g., leading "." is not accepted). - - - In practice, teams usually precompile into the binary all - types that they - - expect it to use in the context of Any. However, for URLs - which use the - - scheme `http`, `https`, or no scheme, one can optionally - set up a type - - server that maps type URLs to message definitions as - follows: - - - * If no scheme is provided, `https` is assumed. - - * An HTTP GET on the URL must yield a - [google.protobuf.Type][] - value in binary format, or produce an error. - * Applications are allowed to cache lookup results based - on the - URL, or have them precompiled into a binary to avoid any - lookup. Therefore, binary compatibility needs to be preserved - on changes to types. (Use versioned type names to manage - breaking changes.) - - Note: this functionality is not currently available in the - official - - protobuf release, and it is not used for type URLs - beginning with - - type.googleapis.com. As of May 2023, there are no widely - used type server - - implementations and no plans to implement one. - - - Schemes other than `http`, `https` (or the empty scheme) - might be - - used with implementation specific semantics. - additionalProperties: {} - authority: - type: string - description: authority must be the gov module address. - description: >- - MsgExecLegacyContent is used to wrap the legacy content field into - a message. - - This ensures backwards compatibility with - v1beta1.MsgSubmitProposal. - tags: - - Msg - /cosmos.gov.v1.Msg/SubmitProposal: - post: - summary: >- - SubmitProposal defines a method to create new proposal given the - messages. - operationId: CosmosGovV1Msg_SubmitProposal - responses: - '200': - description: A successful response. - schema: - type: object - properties: - proposal_id: - type: string - format: uint64 - description: proposal_id defines the unique id of the proposal. - description: >- - MsgSubmitProposalResponse defines the Msg/SubmitProposal response - type. - default: - description: An unexpected error response. - schema: - type: object - properties: - code: - type: integer - format: int32 - message: - type: string - details: - type: array - items: - type: object - properties: - '@type': - type: string - description: >- - A URL/resource name that uniquely identifies the type of - the serialized - - protocol buffer message. This string must contain at - least - - one "/" character. The last segment of the URL's path - must represent - - the fully qualified name of the type (as in - - `path/google.protobuf.Duration`). The name should be in - a canonical form - - (e.g., leading "." is not accepted). - - - In practice, teams usually precompile into the binary - all types that they - - expect it to use in the context of Any. However, for - URLs which use the - - scheme `http`, `https`, or no scheme, one can optionally - set up a type - - server that maps type URLs to message definitions as - follows: - - - * If no scheme is provided, `https` is assumed. - - * An HTTP GET on the URL must yield a - [google.protobuf.Type][] - value in binary format, or produce an error. - * Applications are allowed to cache lookup results based - on the - URL, or have them precompiled into a binary to avoid any - lookup. Therefore, binary compatibility needs to be preserved - on changes to types. (Use versioned type names to manage - breaking changes.) - - Note: this functionality is not currently available in - the official - - protobuf release, and it is not used for type URLs - beginning with - - type.googleapis.com. As of May 2023, there are no widely - used type server - - implementations and no plans to implement one. - - - Schemes other than `http`, `https` (or the empty scheme) - might be - - used with implementation specific semantics. - additionalProperties: {} - description: >- - `Any` contains an arbitrary serialized protocol buffer - message along with a - - URL that describes the type of the serialized message. - - - Protobuf library provides support to pack/unpack Any values - in the form - - of utility functions or additional generated methods of the - Any type. - - - Example 1: Pack and unpack a message in C++. - - Foo foo = ...; - Any any; - any.PackFrom(foo); - ... - if (any.UnpackTo(&foo)) { - ... - } - - Example 2: Pack and unpack a message in Java. - - Foo foo = ...; - Any any = Any.pack(foo); - ... - if (any.is(Foo.class)) { - foo = any.unpack(Foo.class); - } - // or ... - if (any.isSameTypeAs(Foo.getDefaultInstance())) { - foo = any.unpack(Foo.getDefaultInstance()); - } - - Example 3: Pack and unpack a message in Python. - - foo = Foo(...) - any = Any() - any.Pack(foo) - ... - if any.Is(Foo.DESCRIPTOR): - any.Unpack(foo) - ... - - Example 4: Pack and unpack a message in Go - - foo := &pb.Foo{...} - any, err := anypb.New(foo) - if err != nil { - ... - } - ... - foo := &pb.Foo{} - if err := any.UnmarshalTo(foo); err != nil { - ... - } - - The pack methods provided by protobuf library will by - default use - - 'type.googleapis.com/full.type.name' as the type URL and the - unpack - - methods only use the fully qualified type name after the - last '/' - - in the type URL, for example "foo.bar.com/x/y.z" will yield - type - - name "y.z". - - - JSON - - ==== - - The JSON representation of an `Any` value uses the regular - - representation of the deserialized, embedded message, with - an - - additional field `@type` which contains the type URL. - Example: - - package google.profile; - message Person { - string first_name = 1; - string last_name = 2; - } - - { - "@type": "type.googleapis.com/google.profile.Person", - "firstName": , - "lastName": - } - - If the embedded message type is well-known and has a custom - JSON - - representation, that representation will be embedded adding - a field - - `value` which holds the custom JSON in addition to the - `@type` - - field. Example (for message [google.protobuf.Duration][]): - - { - "@type": "type.googleapis.com/google.protobuf.Duration", - "value": "1.212s" - } - parameters: - - name: body - description: >- - MsgSubmitProposal defines an sdk.Msg type that supports submitting - arbitrary - - proposal Content. - in: body - required: true - schema: - type: object - properties: - messages: - type: array - items: - type: object - properties: - '@type': - type: string - description: >- - A URL/resource name that uniquely identifies the type of - the serialized - - protocol buffer message. This string must contain at - least - - one "/" character. The last segment of the URL's path - must represent - - the fully qualified name of the type (as in - - `path/google.protobuf.Duration`). The name should be in - a canonical form - - (e.g., leading "." is not accepted). - - - In practice, teams usually precompile into the binary - all types that they - - expect it to use in the context of Any. However, for - URLs which use the - - scheme `http`, `https`, or no scheme, one can optionally - set up a type - - server that maps type URLs to message definitions as - follows: - - - * If no scheme is provided, `https` is assumed. - - * An HTTP GET on the URL must yield a - [google.protobuf.Type][] - value in binary format, or produce an error. - * Applications are allowed to cache lookup results based - on the - URL, or have them precompiled into a binary to avoid any - lookup. Therefore, binary compatibility needs to be preserved - on changes to types. (Use versioned type names to manage - breaking changes.) - - Note: this functionality is not currently available in - the official - - protobuf release, and it is not used for type URLs - beginning with - - type.googleapis.com. As of May 2023, there are no widely - used type server - - implementations and no plans to implement one. - - - Schemes other than `http`, `https` (or the empty scheme) - might be - - used with implementation specific semantics. - additionalProperties: {} - description: >- - `Any` contains an arbitrary serialized protocol buffer - message along with a - - URL that describes the type of the serialized message. - - - Protobuf library provides support to pack/unpack Any values - in the form - - of utility functions or additional generated methods of the - Any type. - - - Example 1: Pack and unpack a message in C++. - - Foo foo = ...; - Any any; - any.PackFrom(foo); - ... - if (any.UnpackTo(&foo)) { - ... - } - - Example 2: Pack and unpack a message in Java. - - Foo foo = ...; - Any any = Any.pack(foo); - ... - if (any.is(Foo.class)) { - foo = any.unpack(Foo.class); - } - // or ... - if (any.isSameTypeAs(Foo.getDefaultInstance())) { - foo = any.unpack(Foo.getDefaultInstance()); - } - - Example 3: Pack and unpack a message in Python. - - foo = Foo(...) - any = Any() - any.Pack(foo) - ... - if any.Is(Foo.DESCRIPTOR): - any.Unpack(foo) - ... - - Example 4: Pack and unpack a message in Go - - foo := &pb.Foo{...} - any, err := anypb.New(foo) - if err != nil { - ... - } - ... - foo := &pb.Foo{} - if err := any.UnmarshalTo(foo); err != nil { - ... - } - - The pack methods provided by protobuf library will by - default use - - 'type.googleapis.com/full.type.name' as the type URL and the - unpack - - methods only use the fully qualified type name after the - last '/' - - in the type URL, for example "foo.bar.com/x/y.z" will yield - type - - name "y.z". - - - JSON - - ==== - - The JSON representation of an `Any` value uses the regular - - representation of the deserialized, embedded message, with - an - - additional field `@type` which contains the type URL. - Example: - - package google.profile; - message Person { - string first_name = 1; - string last_name = 2; - } - - { - "@type": "type.googleapis.com/google.profile.Person", - "firstName": , - "lastName": - } - - If the embedded message type is well-known and has a custom - JSON - - representation, that representation will be embedded adding - a field - - `value` which holds the custom JSON in addition to the - `@type` - - field. Example (for message [google.protobuf.Duration][]): - - { - "@type": "type.googleapis.com/google.protobuf.Duration", - "value": "1.212s" - } - description: >- - messages are the arbitrary messages to be executed if proposal - passes. - initial_deposit: - type: array - items: - type: object - properties: - denom: - type: string - amount: - type: string - description: >- - Coin defines a token with a denomination and an amount. - - - NOTE: The amount field is an Int which implements the custom - method - - signatures required by gogoproto. - description: >- - initial_deposit is the deposit value that must be paid at - proposal submission. - proposer: - type: string - description: proposer is the account address of the proposer. - metadata: - type: string - description: metadata is any arbitrary metadata attached to the proposal. - title: - type: string - description: |- - title is the title of the proposal. - - Since: cosmos-sdk 0.47 - summary: - type: string - description: 'Since: cosmos-sdk 0.47' - title: summary is the summary of the proposal - expedited: - type: boolean - description: 'Since: cosmos-sdk 0.50' - title: expedited defines if the proposal is expedited or not - description: >- - MsgSubmitProposal defines an sdk.Msg type that supports submitting - arbitrary - - proposal Content. - tags: - - Msg - /cosmos.gov.v1.Msg/UpdateParams: - post: - summary: >- - UpdateParams defines a governance operation for updating the x/gov - module - - parameters. The authority is defined in the keeper. - description: 'Since: cosmos-sdk 0.47' - operationId: CosmosGovV1Msg_UpdateParams - responses: - '200': - description: A successful response. - schema: - type: object - description: >- - MsgUpdateParamsResponse defines the response structure for - executing a - - MsgUpdateParams message. - - - Since: cosmos-sdk 0.47 - default: - description: An unexpected error response. - schema: - type: object - properties: - code: - type: integer - format: int32 - message: - type: string - details: - type: array - items: - type: object - properties: - '@type': - type: string - description: >- - A URL/resource name that uniquely identifies the type of - the serialized - - protocol buffer message. This string must contain at - least - - one "/" character. The last segment of the URL's path - must represent - - the fully qualified name of the type (as in - - `path/google.protobuf.Duration`). The name should be in - a canonical form - - (e.g., leading "." is not accepted). - - - In practice, teams usually precompile into the binary - all types that they - - expect it to use in the context of Any. However, for - URLs which use the - - scheme `http`, `https`, or no scheme, one can optionally - set up a type - - server that maps type URLs to message definitions as - follows: - - - * If no scheme is provided, `https` is assumed. - - * An HTTP GET on the URL must yield a - [google.protobuf.Type][] - value in binary format, or produce an error. - * Applications are allowed to cache lookup results based - on the - URL, or have them precompiled into a binary to avoid any - lookup. Therefore, binary compatibility needs to be preserved - on changes to types. (Use versioned type names to manage - breaking changes.) - - Note: this functionality is not currently available in - the official - - protobuf release, and it is not used for type URLs - beginning with - - type.googleapis.com. As of May 2023, there are no widely - used type server - - implementations and no plans to implement one. - - - Schemes other than `http`, `https` (or the empty scheme) - might be - - used with implementation specific semantics. - additionalProperties: {} - description: >- - `Any` contains an arbitrary serialized protocol buffer - message along with a - - URL that describes the type of the serialized message. - - - Protobuf library provides support to pack/unpack Any values - in the form - - of utility functions or additional generated methods of the - Any type. - - - Example 1: Pack and unpack a message in C++. - - Foo foo = ...; - Any any; - any.PackFrom(foo); - ... - if (any.UnpackTo(&foo)) { - ... - } - - Example 2: Pack and unpack a message in Java. - - Foo foo = ...; - Any any = Any.pack(foo); - ... - if (any.is(Foo.class)) { - foo = any.unpack(Foo.class); - } - // or ... - if (any.isSameTypeAs(Foo.getDefaultInstance())) { - foo = any.unpack(Foo.getDefaultInstance()); - } - - Example 3: Pack and unpack a message in Python. - - foo = Foo(...) - any = Any() - any.Pack(foo) - ... - if any.Is(Foo.DESCRIPTOR): - any.Unpack(foo) - ... - - Example 4: Pack and unpack a message in Go - - foo := &pb.Foo{...} - any, err := anypb.New(foo) - if err != nil { - ... - } - ... - foo := &pb.Foo{} - if err := any.UnmarshalTo(foo); err != nil { - ... - } - - The pack methods provided by protobuf library will by - default use - - 'type.googleapis.com/full.type.name' as the type URL and the - unpack - - methods only use the fully qualified type name after the - last '/' - - in the type URL, for example "foo.bar.com/x/y.z" will yield - type - - name "y.z". - - - JSON - - ==== - - The JSON representation of an `Any` value uses the regular - - representation of the deserialized, embedded message, with - an - - additional field `@type` which contains the type URL. - Example: - - package google.profile; - message Person { - string first_name = 1; - string last_name = 2; - } - - { - "@type": "type.googleapis.com/google.profile.Person", - "firstName": , - "lastName": - } - - If the embedded message type is well-known and has a custom - JSON - - representation, that representation will be embedded adding - a field - - `value` which holds the custom JSON in addition to the - `@type` - - field. Example (for message [google.protobuf.Duration][]): - - { - "@type": "type.googleapis.com/google.protobuf.Duration", - "value": "1.212s" - } - parameters: - - name: body - description: |- - MsgUpdateParams is the Msg/UpdateParams request type. - - Since: cosmos-sdk 0.47 - in: body - required: true - schema: - type: object - properties: - authority: - type: string - description: >- - authority is the address that controls the module (defaults to - x/gov unless overwritten). - params: - description: |- - params defines the x/gov parameters to update. - - NOTE: All parameters must be supplied. - type: object - properties: - min_deposit: - type: array - items: - type: object - properties: - denom: - type: string - amount: - type: string - description: >- - Coin defines a token with a denomination and an amount. - - - NOTE: The amount field is an Int which implements the - custom method - - signatures required by gogoproto. - description: Minimum deposit for a proposal to enter voting period. - max_deposit_period: - type: string - description: >- - Maximum period for Atom holders to deposit on a proposal. - Initial value: 2 - - months. - voting_period: - type: string - description: Duration of the voting period. - quorum: - type: string - description: >- - Minimum percentage of total stake needed to vote for a - result to be - considered valid. - threshold: - type: string - description: >- - Minimum proportion of Yes votes for proposal to pass. - Default value: 0.5. - veto_threshold: - type: string - description: >- - Minimum value of Veto votes to Total votes ratio for - proposal to be - vetoed. Default value: 1/3. - min_initial_deposit_ratio: - type: string - description: >- - The ratio representing the proportion of the deposit value - that must be paid at proposal submission. - proposal_cancel_ratio: - type: string - description: >- - The cancel ratio which will not be returned back to the - depositors when a proposal is cancelled. - - - Since: cosmos-sdk 0.50 - proposal_cancel_dest: - type: string - description: >- - The address which will receive (proposal_cancel_ratio * - deposit) proposal deposits. - - If empty, the (proposal_cancel_ratio * deposit) proposal - deposits will be burned. - - - Since: cosmos-sdk 0.50 - expedited_voting_period: - type: string - description: |- - Duration of the voting period of an expedited proposal. - - Since: cosmos-sdk 0.50 - expedited_threshold: - type: string - description: >- - Minimum proportion of Yes votes for proposal to pass. - Default value: 0.67. - - - Since: cosmos-sdk 0.50 - expedited_min_deposit: - type: array - items: - type: object - properties: - denom: - type: string - amount: - type: string - description: >- - Coin defines a token with a denomination and an amount. - - - NOTE: The amount field is an Int which implements the - custom method - - signatures required by gogoproto. - description: >- - Minimum expedited deposit for a proposal to enter voting - period. - burn_vote_quorum: - type: boolean - title: burn deposits if a proposal does not meet quorum - burn_proposal_deposit_prevote: - type: boolean - title: burn deposits if the proposal does not enter voting period - burn_vote_veto: - type: boolean - title: burn deposits if quorum with vote type no_veto is met - min_deposit_ratio: - type: string - description: >- - The ratio representing the proportion of the deposit value - minimum that must be met when making a deposit. - - Default value: 0.01. Meaning that for a chain with a - min_deposit of 100stake, a deposit of 1stake would be - - required. - - - Since: cosmos-sdk 0.50 - max_tally_period: - type: string - description: Duration of the voting period. - trusted_counter_parties: - type: array - items: - type: object - properties: - client_id: - type: string - connection_id: - type: string - channel_id: - type: string - channel_id: - type: string - is_source_chain: - type: boolean - description: |- - MsgUpdateParams is the Msg/UpdateParams request type. - - Since: cosmos-sdk 0.47 - tags: - - Msg - /cosmos.gov.v1.Msg/Vote: - post: - summary: Vote defines a method to add a vote on a specific proposal. - operationId: CosmosGovV1Msg_Vote - responses: - '200': - description: A successful response. - schema: - type: object - description: MsgVoteResponse defines the Msg/Vote response type. - default: - description: An unexpected error response. - schema: - type: object - properties: - code: - type: integer - format: int32 - message: - type: string - details: - type: array - items: - type: object - properties: - '@type': - type: string - description: >- - A URL/resource name that uniquely identifies the type of - the serialized - - protocol buffer message. This string must contain at - least - - one "/" character. The last segment of the URL's path - must represent - - the fully qualified name of the type (as in - - `path/google.protobuf.Duration`). The name should be in - a canonical form - - (e.g., leading "." is not accepted). - - - In practice, teams usually precompile into the binary - all types that they - - expect it to use in the context of Any. However, for - URLs which use the - - scheme `http`, `https`, or no scheme, one can optionally - set up a type - - server that maps type URLs to message definitions as - follows: - - - * If no scheme is provided, `https` is assumed. - - * An HTTP GET on the URL must yield a - [google.protobuf.Type][] - value in binary format, or produce an error. - * Applications are allowed to cache lookup results based - on the - URL, or have them precompiled into a binary to avoid any - lookup. Therefore, binary compatibility needs to be preserved - on changes to types. (Use versioned type names to manage - breaking changes.) - - Note: this functionality is not currently available in - the official - - protobuf release, and it is not used for type URLs - beginning with - - type.googleapis.com. As of May 2023, there are no widely - used type server - - implementations and no plans to implement one. - - - Schemes other than `http`, `https` (or the empty scheme) - might be - - used with implementation specific semantics. - additionalProperties: {} - description: >- - `Any` contains an arbitrary serialized protocol buffer - message along with a - - URL that describes the type of the serialized message. - - - Protobuf library provides support to pack/unpack Any values - in the form - - of utility functions or additional generated methods of the - Any type. - - - Example 1: Pack and unpack a message in C++. - - Foo foo = ...; - Any any; - any.PackFrom(foo); - ... - if (any.UnpackTo(&foo)) { - ... - } - - Example 2: Pack and unpack a message in Java. - - Foo foo = ...; - Any any = Any.pack(foo); - ... - if (any.is(Foo.class)) { - foo = any.unpack(Foo.class); - } - // or ... - if (any.isSameTypeAs(Foo.getDefaultInstance())) { - foo = any.unpack(Foo.getDefaultInstance()); - } - - Example 3: Pack and unpack a message in Python. - - foo = Foo(...) - any = Any() - any.Pack(foo) - ... - if any.Is(Foo.DESCRIPTOR): - any.Unpack(foo) - ... - - Example 4: Pack and unpack a message in Go - - foo := &pb.Foo{...} - any, err := anypb.New(foo) - if err != nil { - ... - } - ... - foo := &pb.Foo{} - if err := any.UnmarshalTo(foo); err != nil { - ... - } - - The pack methods provided by protobuf library will by - default use - - 'type.googleapis.com/full.type.name' as the type URL and the - unpack - - methods only use the fully qualified type name after the - last '/' - - in the type URL, for example "foo.bar.com/x/y.z" will yield - type - - name "y.z". - - - JSON - - ==== - - The JSON representation of an `Any` value uses the regular - - representation of the deserialized, embedded message, with - an - - additional field `@type` which contains the type URL. - Example: - - package google.profile; - message Person { - string first_name = 1; - string last_name = 2; - } - - { - "@type": "type.googleapis.com/google.profile.Person", - "firstName": , - "lastName": - } - - If the embedded message type is well-known and has a custom - JSON - - representation, that representation will be embedded adding - a field - - `value` which holds the custom JSON in addition to the - `@type` - - field. Example (for message [google.protobuf.Duration][]): - - { - "@type": "type.googleapis.com/google.protobuf.Duration", - "value": "1.212s" - } - parameters: - - name: body - description: MsgVote defines a message to cast a vote. - in: body - required: true - schema: - type: object - properties: - proposal_id: - type: string - format: uint64 - description: proposal_id defines the unique id of the proposal. - voter: - type: string - description: voter is the voter address for the proposal. - option: - description: option defines the vote option. - type: string - enum: - - VOTE_OPTION_UNSPECIFIED - - VOTE_OPTION_YES - - VOTE_OPTION_ABSTAIN - - VOTE_OPTION_NO - - VOTE_OPTION_NO_WITH_VETO - - VOTE_OPTION_ENCRYPTED - default: VOTE_OPTION_UNSPECIFIED - metadata: - type: string - description: metadata is any arbitrary metadata attached to the Vote. - description: MsgVote defines a message to cast a vote. - tags: - - Msg - /cosmos.gov.v1.Msg/VoteEncrypted: - post: - summary: >- - VoteEncrypted defines a method to add an encrypted vote on a specific - proposal. - operationId: CosmosGovV1Msg_VoteEncrypted - responses: - '200': - description: A successful response. - schema: - type: object - description: MsgVoteResponse defines the Msg/Vote response type. - default: - description: An unexpected error response. - schema: - type: object - properties: - code: - type: integer - format: int32 - message: - type: string - details: - type: array - items: - type: object - properties: - '@type': - type: string - description: >- - A URL/resource name that uniquely identifies the type of - the serialized - - protocol buffer message. This string must contain at - least - - one "/" character. The last segment of the URL's path - must represent - - the fully qualified name of the type (as in - - `path/google.protobuf.Duration`). The name should be in - a canonical form - - (e.g., leading "." is not accepted). - - - In practice, teams usually precompile into the binary - all types that they - - expect it to use in the context of Any. However, for - URLs which use the - - scheme `http`, `https`, or no scheme, one can optionally - set up a type - - server that maps type URLs to message definitions as - follows: - - - * If no scheme is provided, `https` is assumed. - - * An HTTP GET on the URL must yield a - [google.protobuf.Type][] - value in binary format, or produce an error. - * Applications are allowed to cache lookup results based - on the - URL, or have them precompiled into a binary to avoid any - lookup. Therefore, binary compatibility needs to be preserved - on changes to types. (Use versioned type names to manage - breaking changes.) - - Note: this functionality is not currently available in - the official - - protobuf release, and it is not used for type URLs - beginning with - - type.googleapis.com. As of May 2023, there are no widely - used type server - - implementations and no plans to implement one. - - - Schemes other than `http`, `https` (or the empty scheme) - might be - - used with implementation specific semantics. - additionalProperties: {} - description: >- - `Any` contains an arbitrary serialized protocol buffer - message along with a - - URL that describes the type of the serialized message. - - - Protobuf library provides support to pack/unpack Any values - in the form - - of utility functions or additional generated methods of the - Any type. - - - Example 1: Pack and unpack a message in C++. - - Foo foo = ...; - Any any; - any.PackFrom(foo); - ... - if (any.UnpackTo(&foo)) { - ... - } - - Example 2: Pack and unpack a message in Java. - - Foo foo = ...; - Any any = Any.pack(foo); - ... - if (any.is(Foo.class)) { - foo = any.unpack(Foo.class); - } - // or ... - if (any.isSameTypeAs(Foo.getDefaultInstance())) { - foo = any.unpack(Foo.getDefaultInstance()); - } - - Example 3: Pack and unpack a message in Python. - - foo = Foo(...) - any = Any() - any.Pack(foo) - ... - if any.Is(Foo.DESCRIPTOR): - any.Unpack(foo) - ... - - Example 4: Pack and unpack a message in Go - - foo := &pb.Foo{...} - any, err := anypb.New(foo) - if err != nil { - ... - } - ... - foo := &pb.Foo{} - if err := any.UnmarshalTo(foo); err != nil { - ... - } - - The pack methods provided by protobuf library will by - default use - - 'type.googleapis.com/full.type.name' as the type URL and the - unpack - - methods only use the fully qualified type name after the - last '/' - - in the type URL, for example "foo.bar.com/x/y.z" will yield - type - - name "y.z". - - - JSON - - ==== - - The JSON representation of an `Any` value uses the regular - - representation of the deserialized, embedded message, with - an - - additional field `@type` which contains the type URL. - Example: - - package google.profile; - message Person { - string first_name = 1; - string last_name = 2; - } - - { - "@type": "type.googleapis.com/google.profile.Person", - "firstName": , - "lastName": - } - - If the embedded message type is well-known and has a custom - JSON - - representation, that representation will be embedded adding - a field - - `value` which holds the custom JSON in addition to the - `@type` - - field. Example (for message [google.protobuf.Duration][]): - - { - "@type": "type.googleapis.com/google.protobuf.Duration", - "value": "1.212s" - } - parameters: - - name: body - description: MsgVoteEncrypted defines a message to cast an encrypted vote. - in: body - required: true - schema: - type: object - properties: - proposal_id: - type: string - format: uint64 - description: proposal_id defines the unique id of the proposal. - voter: - type: string - description: voter is the voter address for the proposal. - encrypted_data: - type: string - description: encrypted_data defines the encrypted vote option. - metadata: - type: string - description: metadata is any arbitrary metadata attached to the Vote. - description: MsgVoteEncrypted defines a message to cast an encrypted vote. - tags: - - Msg - /cosmos.gov.v1.Msg/VoteWeighted: - post: - summary: >- - VoteWeighted defines a method to add a weighted vote on a specific - proposal. - operationId: CosmosGovV1Msg_VoteWeighted - responses: - '200': - description: A successful response. - schema: - type: object - description: >- - MsgVoteWeightedResponse defines the Msg/VoteWeighted response - type. - default: - description: An unexpected error response. - schema: - type: object - properties: - code: - type: integer - format: int32 - message: - type: string - details: - type: array - items: - type: object - properties: - '@type': - type: string - description: >- - A URL/resource name that uniquely identifies the type of - the serialized - - protocol buffer message. This string must contain at - least - - one "/" character. The last segment of the URL's path - must represent - - the fully qualified name of the type (as in - - `path/google.protobuf.Duration`). The name should be in - a canonical form - - (e.g., leading "." is not accepted). - - - In practice, teams usually precompile into the binary - all types that they - - expect it to use in the context of Any. However, for - URLs which use the - - scheme `http`, `https`, or no scheme, one can optionally - set up a type - - server that maps type URLs to message definitions as - follows: - - - * If no scheme is provided, `https` is assumed. - - * An HTTP GET on the URL must yield a - [google.protobuf.Type][] - value in binary format, or produce an error. - * Applications are allowed to cache lookup results based - on the - URL, or have them precompiled into a binary to avoid any - lookup. Therefore, binary compatibility needs to be preserved - on changes to types. (Use versioned type names to manage - breaking changes.) - - Note: this functionality is not currently available in - the official - - protobuf release, and it is not used for type URLs - beginning with - - type.googleapis.com. As of May 2023, there are no widely - used type server - - implementations and no plans to implement one. - - - Schemes other than `http`, `https` (or the empty scheme) - might be - - used with implementation specific semantics. - additionalProperties: {} - description: >- - `Any` contains an arbitrary serialized protocol buffer - message along with a - - URL that describes the type of the serialized message. - - - Protobuf library provides support to pack/unpack Any values - in the form - - of utility functions or additional generated methods of the - Any type. - - - Example 1: Pack and unpack a message in C++. - - Foo foo = ...; - Any any; - any.PackFrom(foo); - ... - if (any.UnpackTo(&foo)) { - ... - } - - Example 2: Pack and unpack a message in Java. - - Foo foo = ...; - Any any = Any.pack(foo); - ... - if (any.is(Foo.class)) { - foo = any.unpack(Foo.class); - } - // or ... - if (any.isSameTypeAs(Foo.getDefaultInstance())) { - foo = any.unpack(Foo.getDefaultInstance()); - } - - Example 3: Pack and unpack a message in Python. - - foo = Foo(...) - any = Any() - any.Pack(foo) - ... - if any.Is(Foo.DESCRIPTOR): - any.Unpack(foo) - ... - - Example 4: Pack and unpack a message in Go - - foo := &pb.Foo{...} - any, err := anypb.New(foo) - if err != nil { - ... - } - ... - foo := &pb.Foo{} - if err := any.UnmarshalTo(foo); err != nil { - ... - } - - The pack methods provided by protobuf library will by - default use - - 'type.googleapis.com/full.type.name' as the type URL and the - unpack - - methods only use the fully qualified type name after the - last '/' - - in the type URL, for example "foo.bar.com/x/y.z" will yield - type - - name "y.z". - - - JSON - - ==== - - The JSON representation of an `Any` value uses the regular - - representation of the deserialized, embedded message, with - an - - additional field `@type` which contains the type URL. - Example: - - package google.profile; - message Person { - string first_name = 1; - string last_name = 2; - } - - { - "@type": "type.googleapis.com/google.profile.Person", - "firstName": , - "lastName": - } - - If the embedded message type is well-known and has a custom - JSON - - representation, that representation will be embedded adding - a field - - `value` which holds the custom JSON in addition to the - `@type` - - field. Example (for message [google.protobuf.Duration][]): - - { - "@type": "type.googleapis.com/google.protobuf.Duration", - "value": "1.212s" - } - parameters: - - name: body - description: MsgVoteWeighted defines a message to cast a vote. - in: body - required: true - schema: - type: object - properties: - proposal_id: - type: string - format: uint64 - description: proposal_id defines the unique id of the proposal. - voter: - type: string - description: voter is the voter address for the proposal. - options: - type: array - items: - type: object - properties: - option: - description: >- - option defines the valid vote options, it must not - contain duplicate vote options. - type: string - enum: - - VOTE_OPTION_UNSPECIFIED - - VOTE_OPTION_YES - - VOTE_OPTION_ABSTAIN - - VOTE_OPTION_NO - - VOTE_OPTION_NO_WITH_VETO - - VOTE_OPTION_ENCRYPTED - default: VOTE_OPTION_UNSPECIFIED - weight: - type: string - description: >- - weight is the vote weight associated with the vote - option. - description: WeightedVoteOption defines a unit of vote for vote split. - description: options defines the weighted vote options. - metadata: - type: string - description: >- - metadata is any arbitrary metadata attached to the - VoteWeighted. - description: MsgVoteWeighted defines a message to cast a vote. - tags: - - Msg - /cosmos/gov/v1beta1/params/{params_type}: - get: - summary: Params queries all parameters of the gov module. - operationId: CosmosGovV1Beta1Query_Params - responses: - '200': - description: A successful response. - schema: - type: object - properties: - voting_params: - description: voting_params defines the parameters related to voting. - type: object - properties: - voting_period: - type: string - description: Duration of the voting period. - deposit_params: - description: deposit_params defines the parameters related to deposit. - type: object - properties: - min_deposit: - type: array - items: - type: object - properties: - denom: - type: string - amount: - type: string - description: >- - Coin defines a token with a denomination and an amount. - - - NOTE: The amount field is an Int which implements the - custom method - - signatures required by gogoproto. - description: Minimum deposit for a proposal to enter voting period. - max_deposit_period: - type: string - description: >- - Maximum period for Atom holders to deposit on a proposal. - Initial value: 2 - - months. - tally_params: - description: tally_params defines the parameters related to tally. - type: object - properties: - quorum: - type: string - format: byte - description: >- - Minimum percentage of total stake needed to vote for a - result to be - - considered valid. - threshold: - type: string - format: byte - description: >- - Minimum proportion of Yes votes for proposal to pass. - Default value: 0.5. - veto_threshold: - type: string - format: byte - description: >- - Minimum value of Veto votes to Total votes ratio for - proposal to be - - vetoed. Default value: 1/3. - description: >- - QueryParamsResponse is the response type for the Query/Params RPC - method. - default: - description: An unexpected error response. - schema: - type: object - properties: - code: - type: integer - format: int32 - message: - type: string - details: - type: array - items: - type: object - properties: - '@type': - type: string - description: >- - A URL/resource name that uniquely identifies the type of - the serialized - - protocol buffer message. This string must contain at - least - - one "/" character. The last segment of the URL's path - must represent - - the fully qualified name of the type (as in - - `path/google.protobuf.Duration`). The name should be in - a canonical form - - (e.g., leading "." is not accepted). - - - In practice, teams usually precompile into the binary - all types that they - - expect it to use in the context of Any. However, for - URLs which use the - - scheme `http`, `https`, or no scheme, one can optionally - set up a type - - server that maps type URLs to message definitions as - follows: - - - * If no scheme is provided, `https` is assumed. - - * An HTTP GET on the URL must yield a - [google.protobuf.Type][] - value in binary format, or produce an error. - * Applications are allowed to cache lookup results based - on the - URL, or have them precompiled into a binary to avoid any - lookup. Therefore, binary compatibility needs to be preserved - on changes to types. (Use versioned type names to manage - breaking changes.) - - Note: this functionality is not currently available in - the official - - protobuf release, and it is not used for type URLs - beginning with - - type.googleapis.com. As of May 2023, there are no widely - used type server - - implementations and no plans to implement one. - - - Schemes other than `http`, `https` (or the empty scheme) - might be - - used with implementation specific semantics. - additionalProperties: {} - description: >- - `Any` contains an arbitrary serialized protocol buffer - message along with a - - URL that describes the type of the serialized message. - - - Protobuf library provides support to pack/unpack Any values - in the form - - of utility functions or additional generated methods of the - Any type. - - - Example 1: Pack and unpack a message in C++. - - Foo foo = ...; - Any any; - any.PackFrom(foo); - ... - if (any.UnpackTo(&foo)) { - ... - } - - Example 2: Pack and unpack a message in Java. - - Foo foo = ...; - Any any = Any.pack(foo); - ... - if (any.is(Foo.class)) { - foo = any.unpack(Foo.class); - } - // or ... - if (any.isSameTypeAs(Foo.getDefaultInstance())) { - foo = any.unpack(Foo.getDefaultInstance()); - } - - Example 3: Pack and unpack a message in Python. - - foo = Foo(...) - any = Any() - any.Pack(foo) - ... - if any.Is(Foo.DESCRIPTOR): - any.Unpack(foo) - ... - - Example 4: Pack and unpack a message in Go - - foo := &pb.Foo{...} - any, err := anypb.New(foo) - if err != nil { - ... - } - ... - foo := &pb.Foo{} - if err := any.UnmarshalTo(foo); err != nil { - ... - } - - The pack methods provided by protobuf library will by - default use - - 'type.googleapis.com/full.type.name' as the type URL and the - unpack - - methods only use the fully qualified type name after the - last '/' - - in the type URL, for example "foo.bar.com/x/y.z" will yield - type - - name "y.z". - - - JSON - - ==== - - The JSON representation of an `Any` value uses the regular - - representation of the deserialized, embedded message, with - an - - additional field `@type` which contains the type URL. - Example: - - package google.profile; - message Person { - string first_name = 1; - string last_name = 2; - } - - { - "@type": "type.googleapis.com/google.profile.Person", - "firstName": , - "lastName": - } - - If the embedded message type is well-known and has a custom - JSON - - representation, that representation will be embedded adding - a field - - `value` which holds the custom JSON in addition to the - `@type` - - field. Example (for message [google.protobuf.Duration][]): - - { - "@type": "type.googleapis.com/google.protobuf.Duration", - "value": "1.212s" - } - parameters: - - name: params_type - description: >- - params_type defines which parameters to query for, can be one of - "voting", - - "tallying" or "deposit". - in: path - required: true - type: string - tags: - - Query - /cosmos/gov/v1beta1/proposals: - get: - summary: Proposals queries all proposals based on given status. - operationId: CosmosGovV1Beta1Query_Proposals - responses: - '200': - description: A successful response. - schema: - type: object - properties: - proposals: - type: array - items: - type: object - properties: - proposal_id: - type: string - format: uint64 - description: proposal_id defines the unique id of the proposal. - content: - description: content is the proposal's content. - type: object - properties: - '@type': - type: string - description: >- - A URL/resource name that uniquely identifies the - type of the serialized - - protocol buffer message. This string must contain at - least - - one "/" character. The last segment of the URL's - path must represent - - the fully qualified name of the type (as in - - `path/google.protobuf.Duration`). The name should be - in a canonical form - - (e.g., leading "." is not accepted). - - - In practice, teams usually precompile into the - binary all types that they - - expect it to use in the context of Any. However, for - URLs which use the - - scheme `http`, `https`, or no scheme, one can - optionally set up a type - - server that maps type URLs to message definitions as - follows: - - - * If no scheme is provided, `https` is assumed. - - * An HTTP GET on the URL must yield a - [google.protobuf.Type][] - value in binary format, or produce an error. - * Applications are allowed to cache lookup results - based on the - URL, or have them precompiled into a binary to avoid any - lookup. Therefore, binary compatibility needs to be preserved - on changes to types. (Use versioned type names to manage - breaking changes.) - - Note: this functionality is not currently available - in the official - - protobuf release, and it is not used for type URLs - beginning with - - type.googleapis.com. As of May 2023, there are no - widely used type server - - implementations and no plans to implement one. - - - Schemes other than `http`, `https` (or the empty - scheme) might be - - used with implementation specific semantics. - additionalProperties: {} - status: - description: status defines the proposal status. - type: string - enum: - - PROPOSAL_STATUS_UNSPECIFIED - - PROPOSAL_STATUS_DEPOSIT_PERIOD - - PROPOSAL_STATUS_VOTING_PERIOD - - PROPOSAL_STATUS_PASSED - - PROPOSAL_STATUS_REJECTED - - PROPOSAL_STATUS_FAILED - default: PROPOSAL_STATUS_UNSPECIFIED - final_tally_result: - description: >- - final_tally_result is the final tally result of the - proposal. When - - querying a proposal via gRPC, this field is not - populated until the - - proposal's voting period has ended. - type: object - properties: - 'yes': - type: string - description: yes is the number of yes votes on a proposal. - abstain: - type: string - description: >- - abstain is the number of abstain votes on a - proposal. - 'no': - type: string - description: no is the number of no votes on a proposal. - no_with_veto: - type: string - description: >- - no_with_veto is the number of no with veto votes on - a proposal. - encrypted: - type: string - description: >- - encrypted is the number of encrypted votes on a - proposal. - submit_time: - type: string - format: date-time - description: submit_time is the time of proposal submission. - deposit_end_time: - type: string - format: date-time - description: deposit_end_time is the end time for deposition. - total_deposit: - type: array - items: - type: object - properties: - denom: - type: string - amount: - type: string - description: >- - Coin defines a token with a denomination and an - amount. - - - NOTE: The amount field is an Int which implements the - custom method - - signatures required by gogoproto. - description: total_deposit is the total deposit on the proposal. - voting_start_time: - type: string - format: date-time - description: >- - voting_start_time is the starting time to vote on a - proposal. - voting_end_time: - type: string - format: date-time - description: voting_end_time is the end time of voting on a proposal. - has_encrypted_votes: - type: boolean - title: >- - flag to check if proposal has at least one encrypted - vote - identity: - type: string - title: identity and pubkey are used to submit encrypted votes - pubkey: - type: string - aggr_keyshare: - type: string - title: >- - aggregated keyshare is used to decrypt the encrypted - votes during the tally phase - description: >- - Proposal defines the core field members of a governance - proposal. - description: proposals defines all the requested governance proposals. - pagination: - description: pagination defines the pagination in the response. - type: object - properties: - next_key: - type: string - format: byte - description: |- - next_key is the key to be passed to PageRequest.key to - query the next page most efficiently. It will be empty if - there are no more results. - total: - type: string - format: uint64 - title: >- - total is total number of results available if - PageRequest.count_total - - was set, its value is undefined otherwise - description: >- - QueryProposalsResponse is the response type for the - Query/Proposals RPC - - method. - default: - description: An unexpected error response. - schema: - type: object - properties: - code: - type: integer - format: int32 - message: - type: string - details: - type: array - items: - type: object - properties: - '@type': - type: string - description: >- - A URL/resource name that uniquely identifies the type of - the serialized - - protocol buffer message. This string must contain at - least - - one "/" character. The last segment of the URL's path - must represent - - the fully qualified name of the type (as in - - `path/google.protobuf.Duration`). The name should be in - a canonical form - - (e.g., leading "." is not accepted). - - - In practice, teams usually precompile into the binary - all types that they - - expect it to use in the context of Any. However, for - URLs which use the - - scheme `http`, `https`, or no scheme, one can optionally - set up a type - - server that maps type URLs to message definitions as - follows: - - - * If no scheme is provided, `https` is assumed. - - * An HTTP GET on the URL must yield a - [google.protobuf.Type][] - value in binary format, or produce an error. - * Applications are allowed to cache lookup results based - on the - URL, or have them precompiled into a binary to avoid any - lookup. Therefore, binary compatibility needs to be preserved - on changes to types. (Use versioned type names to manage - breaking changes.) - - Note: this functionality is not currently available in - the official - - protobuf release, and it is not used for type URLs - beginning with - - type.googleapis.com. As of May 2023, there are no widely - used type server - - implementations and no plans to implement one. - - - Schemes other than `http`, `https` (or the empty scheme) - might be - - used with implementation specific semantics. - additionalProperties: {} - description: >- - `Any` contains an arbitrary serialized protocol buffer - message along with a - - URL that describes the type of the serialized message. - - - Protobuf library provides support to pack/unpack Any values - in the form - - of utility functions or additional generated methods of the - Any type. - - - Example 1: Pack and unpack a message in C++. - - Foo foo = ...; - Any any; - any.PackFrom(foo); - ... - if (any.UnpackTo(&foo)) { - ... - } - - Example 2: Pack and unpack a message in Java. - - Foo foo = ...; - Any any = Any.pack(foo); - ... - if (any.is(Foo.class)) { - foo = any.unpack(Foo.class); - } - // or ... - if (any.isSameTypeAs(Foo.getDefaultInstance())) { - foo = any.unpack(Foo.getDefaultInstance()); - } - - Example 3: Pack and unpack a message in Python. - - foo = Foo(...) - any = Any() - any.Pack(foo) - ... - if any.Is(Foo.DESCRIPTOR): - any.Unpack(foo) - ... - - Example 4: Pack and unpack a message in Go - - foo := &pb.Foo{...} - any, err := anypb.New(foo) - if err != nil { - ... - } - ... - foo := &pb.Foo{} - if err := any.UnmarshalTo(foo); err != nil { - ... - } - - The pack methods provided by protobuf library will by - default use - - 'type.googleapis.com/full.type.name' as the type URL and the - unpack - - methods only use the fully qualified type name after the - last '/' - - in the type URL, for example "foo.bar.com/x/y.z" will yield - type - - name "y.z". - - - JSON - - ==== - - The JSON representation of an `Any` value uses the regular - - representation of the deserialized, embedded message, with - an - - additional field `@type` which contains the type URL. - Example: - - package google.profile; - message Person { - string first_name = 1; - string last_name = 2; - } - - { - "@type": "type.googleapis.com/google.profile.Person", - "firstName": , - "lastName": - } - - If the embedded message type is well-known and has a custom - JSON - - representation, that representation will be embedded adding - a field - - `value` which holds the custom JSON in addition to the - `@type` - - field. Example (for message [google.protobuf.Duration][]): - - { - "@type": "type.googleapis.com/google.protobuf.Duration", - "value": "1.212s" - } - parameters: - - name: proposal_status - description: |- - proposal_status defines the status of the proposals. - - - PROPOSAL_STATUS_UNSPECIFIED: PROPOSAL_STATUS_UNSPECIFIED defines the default proposal status. - - PROPOSAL_STATUS_DEPOSIT_PERIOD: PROPOSAL_STATUS_DEPOSIT_PERIOD defines a proposal status during the deposit - period. - - PROPOSAL_STATUS_VOTING_PERIOD: PROPOSAL_STATUS_VOTING_PERIOD defines a proposal status during the voting - period. - - PROPOSAL_STATUS_PASSED: PROPOSAL_STATUS_PASSED defines a proposal status of a proposal that has - passed. - - PROPOSAL_STATUS_REJECTED: PROPOSAL_STATUS_REJECTED defines a proposal status of a proposal that has - been rejected. - - PROPOSAL_STATUS_FAILED: PROPOSAL_STATUS_FAILED defines a proposal status of a proposal that has - failed. - in: query - required: false - type: string - enum: - - PROPOSAL_STATUS_UNSPECIFIED - - PROPOSAL_STATUS_DEPOSIT_PERIOD - - PROPOSAL_STATUS_VOTING_PERIOD - - PROPOSAL_STATUS_PASSED - - PROPOSAL_STATUS_REJECTED - - PROPOSAL_STATUS_FAILED - default: PROPOSAL_STATUS_UNSPECIFIED - - name: voter - description: voter defines the voter address for the proposals. - in: query - required: false - type: string - - name: depositor - description: depositor defines the deposit addresses from the proposals. - in: query - required: false - type: string - - name: pagination.key - description: |- - key is a value returned in PageResponse.next_key to begin - querying the next page most efficiently. Only one of offset or key - should be set. - in: query - required: false - type: string - format: byte - - name: pagination.offset - description: >- - offset is a numeric offset that can be used when key is unavailable. - - It is less efficient than using key. Only one of offset or key - should - - be set. - in: query - required: false - type: string - format: uint64 - - name: pagination.limit - description: >- - limit is the total number of results to be returned in the result - page. - - If left empty it will default to a value to be set by each app. - in: query - required: false - type: string - format: uint64 - - name: pagination.count_total - description: >- - count_total is set to true to indicate that the result set should - include - - a count of the total number of items available for pagination in - UIs. - - count_total is only respected when offset is used. It is ignored - when key - - is set. - in: query - required: false - type: boolean - - name: pagination.reverse - description: >- - reverse is set to true if results are to be returned in the - descending order. - - - Since: cosmos-sdk 0.43 - in: query - required: false - type: boolean - tags: - - Query - /cosmos/gov/v1beta1/proposals/{proposal_id}: - get: - summary: Proposal queries proposal details based on ProposalID. - operationId: CosmosGovV1Beta1Query_Proposal - responses: - '200': - description: A successful response. - schema: - type: object - properties: - proposal: - type: object - properties: - proposal_id: - type: string - format: uint64 - description: proposal_id defines the unique id of the proposal. - content: - description: content is the proposal's content. - type: object - properties: - '@type': - type: string - description: >- - A URL/resource name that uniquely identifies the type - of the serialized - - protocol buffer message. This string must contain at - least - - one "/" character. The last segment of the URL's path - must represent - - the fully qualified name of the type (as in - - `path/google.protobuf.Duration`). The name should be - in a canonical form - - (e.g., leading "." is not accepted). - - - In practice, teams usually precompile into the binary - all types that they - - expect it to use in the context of Any. However, for - URLs which use the - - scheme `http`, `https`, or no scheme, one can - optionally set up a type - - server that maps type URLs to message definitions as - follows: - - - * If no scheme is provided, `https` is assumed. - - * An HTTP GET on the URL must yield a - [google.protobuf.Type][] - value in binary format, or produce an error. - * Applications are allowed to cache lookup results - based on the - URL, or have them precompiled into a binary to avoid any - lookup. Therefore, binary compatibility needs to be preserved - on changes to types. (Use versioned type names to manage - breaking changes.) - - Note: this functionality is not currently available in - the official - - protobuf release, and it is not used for type URLs - beginning with - - type.googleapis.com. As of May 2023, there are no - widely used type server - - implementations and no plans to implement one. - - - Schemes other than `http`, `https` (or the empty - scheme) might be - - used with implementation specific semantics. - additionalProperties: {} - status: - description: status defines the proposal status. - type: string - enum: - - PROPOSAL_STATUS_UNSPECIFIED - - PROPOSAL_STATUS_DEPOSIT_PERIOD - - PROPOSAL_STATUS_VOTING_PERIOD - - PROPOSAL_STATUS_PASSED - - PROPOSAL_STATUS_REJECTED - - PROPOSAL_STATUS_FAILED - default: PROPOSAL_STATUS_UNSPECIFIED - final_tally_result: - description: >- - final_tally_result is the final tally result of the - proposal. When - - querying a proposal via gRPC, this field is not populated - until the - - proposal's voting period has ended. - type: object - properties: - 'yes': - type: string - description: yes is the number of yes votes on a proposal. - abstain: - type: string - description: abstain is the number of abstain votes on a proposal. - 'no': - type: string - description: no is the number of no votes on a proposal. - no_with_veto: - type: string - description: >- - no_with_veto is the number of no with veto votes on a - proposal. - encrypted: - type: string - description: >- - encrypted is the number of encrypted votes on a - proposal. - submit_time: - type: string - format: date-time - description: submit_time is the time of proposal submission. - deposit_end_time: - type: string - format: date-time - description: deposit_end_time is the end time for deposition. - total_deposit: - type: array - items: - type: object - properties: - denom: - type: string - amount: - type: string - description: >- - Coin defines a token with a denomination and an amount. - - - NOTE: The amount field is an Int which implements the - custom method - - signatures required by gogoproto. - description: total_deposit is the total deposit on the proposal. - voting_start_time: - type: string - format: date-time - description: >- - voting_start_time is the starting time to vote on a - proposal. - voting_end_time: - type: string - format: date-time - description: voting_end_time is the end time of voting on a proposal. - has_encrypted_votes: - type: boolean - title: flag to check if proposal has at least one encrypted vote - identity: - type: string - title: identity and pubkey are used to submit encrypted votes - pubkey: - type: string - aggr_keyshare: - type: string - title: >- - aggregated keyshare is used to decrypt the encrypted votes - during the tally phase - description: >- - Proposal defines the core field members of a governance - proposal. - description: >- - QueryProposalResponse is the response type for the Query/Proposal - RPC method. - default: - description: An unexpected error response. - schema: - type: object - properties: - code: - type: integer - format: int32 - message: - type: string - details: - type: array - items: - type: object - properties: - '@type': - type: string - description: >- - A URL/resource name that uniquely identifies the type of - the serialized - - protocol buffer message. This string must contain at - least - - one "/" character. The last segment of the URL's path - must represent - - the fully qualified name of the type (as in - - `path/google.protobuf.Duration`). The name should be in - a canonical form - - (e.g., leading "." is not accepted). - - - In practice, teams usually precompile into the binary - all types that they - - expect it to use in the context of Any. However, for - URLs which use the - - scheme `http`, `https`, or no scheme, one can optionally - set up a type - - server that maps type URLs to message definitions as - follows: - - - * If no scheme is provided, `https` is assumed. - - * An HTTP GET on the URL must yield a - [google.protobuf.Type][] - value in binary format, or produce an error. - * Applications are allowed to cache lookup results based - on the - URL, or have them precompiled into a binary to avoid any - lookup. Therefore, binary compatibility needs to be preserved - on changes to types. (Use versioned type names to manage - breaking changes.) - - Note: this functionality is not currently available in - the official - - protobuf release, and it is not used for type URLs - beginning with - - type.googleapis.com. As of May 2023, there are no widely - used type server - - implementations and no plans to implement one. - - - Schemes other than `http`, `https` (or the empty scheme) - might be - - used with implementation specific semantics. - additionalProperties: {} - description: >- - `Any` contains an arbitrary serialized protocol buffer - message along with a - - URL that describes the type of the serialized message. - - - Protobuf library provides support to pack/unpack Any values - in the form - - of utility functions or additional generated methods of the - Any type. - - - Example 1: Pack and unpack a message in C++. - - Foo foo = ...; - Any any; - any.PackFrom(foo); - ... - if (any.UnpackTo(&foo)) { - ... - } - - Example 2: Pack and unpack a message in Java. - - Foo foo = ...; - Any any = Any.pack(foo); - ... - if (any.is(Foo.class)) { - foo = any.unpack(Foo.class); - } - // or ... - if (any.isSameTypeAs(Foo.getDefaultInstance())) { - foo = any.unpack(Foo.getDefaultInstance()); - } - - Example 3: Pack and unpack a message in Python. - - foo = Foo(...) - any = Any() - any.Pack(foo) - ... - if any.Is(Foo.DESCRIPTOR): - any.Unpack(foo) - ... - - Example 4: Pack and unpack a message in Go - - foo := &pb.Foo{...} - any, err := anypb.New(foo) - if err != nil { - ... - } - ... - foo := &pb.Foo{} - if err := any.UnmarshalTo(foo); err != nil { - ... - } - - The pack methods provided by protobuf library will by - default use - - 'type.googleapis.com/full.type.name' as the type URL and the - unpack - - methods only use the fully qualified type name after the - last '/' - - in the type URL, for example "foo.bar.com/x/y.z" will yield - type - - name "y.z". - - - JSON - - ==== - - The JSON representation of an `Any` value uses the regular - - representation of the deserialized, embedded message, with - an - - additional field `@type` which contains the type URL. - Example: - - package google.profile; - message Person { - string first_name = 1; - string last_name = 2; - } - - { - "@type": "type.googleapis.com/google.profile.Person", - "firstName": , - "lastName": - } - - If the embedded message type is well-known and has a custom - JSON - - representation, that representation will be embedded adding - a field - - `value` which holds the custom JSON in addition to the - `@type` - - field. Example (for message [google.protobuf.Duration][]): - - { - "@type": "type.googleapis.com/google.protobuf.Duration", - "value": "1.212s" - } - parameters: - - name: proposal_id - description: proposal_id defines the unique id of the proposal. - in: path - required: true - type: string - format: uint64 - tags: - - Query - /cosmos/gov/v1beta1/proposals/{proposal_id}/deposits: - get: - summary: Deposits queries all deposits of a single proposal. - operationId: CosmosGovV1Beta1Query_Deposits - responses: - '200': - description: A successful response. - schema: - type: object - properties: - deposits: - type: array - items: - type: object - properties: - proposal_id: - type: string - format: uint64 - description: proposal_id defines the unique id of the proposal. - depositor: - type: string - description: >- - depositor defines the deposit addresses from the - proposals. - amount: - type: array - items: - type: object - properties: - denom: - type: string - amount: - type: string - description: >- - Coin defines a token with a denomination and an - amount. - - - NOTE: The amount field is an Int which implements the - custom method - - signatures required by gogoproto. - description: amount to be deposited by depositor. - description: >- - Deposit defines an amount deposited by an account address to - an active - - proposal. - description: deposits defines the requested deposits. - pagination: - description: pagination defines the pagination in the response. - type: object - properties: - next_key: - type: string - format: byte - description: |- - next_key is the key to be passed to PageRequest.key to - query the next page most efficiently. It will be empty if - there are no more results. - total: - type: string - format: uint64 - title: >- - total is total number of results available if - PageRequest.count_total - - was set, its value is undefined otherwise - description: >- - QueryDepositsResponse is the response type for the Query/Deposits - RPC method. - default: - description: An unexpected error response. - schema: - type: object - properties: - code: - type: integer - format: int32 - message: - type: string - details: - type: array - items: - type: object - properties: - '@type': - type: string - description: >- - A URL/resource name that uniquely identifies the type of - the serialized - - protocol buffer message. This string must contain at - least - - one "/" character. The last segment of the URL's path - must represent - - the fully qualified name of the type (as in - - `path/google.protobuf.Duration`). The name should be in - a canonical form - - (e.g., leading "." is not accepted). - - - In practice, teams usually precompile into the binary - all types that they - - expect it to use in the context of Any. However, for - URLs which use the - - scheme `http`, `https`, or no scheme, one can optionally - set up a type - - server that maps type URLs to message definitions as - follows: - - - * If no scheme is provided, `https` is assumed. - - * An HTTP GET on the URL must yield a - [google.protobuf.Type][] - value in binary format, or produce an error. - * Applications are allowed to cache lookup results based - on the - URL, or have them precompiled into a binary to avoid any - lookup. Therefore, binary compatibility needs to be preserved - on changes to types. (Use versioned type names to manage - breaking changes.) - - Note: this functionality is not currently available in - the official - - protobuf release, and it is not used for type URLs - beginning with - - type.googleapis.com. As of May 2023, there are no widely - used type server - - implementations and no plans to implement one. - - - Schemes other than `http`, `https` (or the empty scheme) - might be - - used with implementation specific semantics. - additionalProperties: {} - description: >- - `Any` contains an arbitrary serialized protocol buffer - message along with a - - URL that describes the type of the serialized message. - - - Protobuf library provides support to pack/unpack Any values - in the form - - of utility functions or additional generated methods of the - Any type. - - - Example 1: Pack and unpack a message in C++. - - Foo foo = ...; - Any any; - any.PackFrom(foo); - ... - if (any.UnpackTo(&foo)) { - ... - } - - Example 2: Pack and unpack a message in Java. - - Foo foo = ...; - Any any = Any.pack(foo); - ... - if (any.is(Foo.class)) { - foo = any.unpack(Foo.class); - } - // or ... - if (any.isSameTypeAs(Foo.getDefaultInstance())) { - foo = any.unpack(Foo.getDefaultInstance()); - } - - Example 3: Pack and unpack a message in Python. - - foo = Foo(...) - any = Any() - any.Pack(foo) - ... - if any.Is(Foo.DESCRIPTOR): - any.Unpack(foo) - ... - - Example 4: Pack and unpack a message in Go - - foo := &pb.Foo{...} - any, err := anypb.New(foo) - if err != nil { - ... - } - ... - foo := &pb.Foo{} - if err := any.UnmarshalTo(foo); err != nil { - ... - } - - The pack methods provided by protobuf library will by - default use - - 'type.googleapis.com/full.type.name' as the type URL and the - unpack - - methods only use the fully qualified type name after the - last '/' - - in the type URL, for example "foo.bar.com/x/y.z" will yield - type - - name "y.z". - - - JSON - - ==== - - The JSON representation of an `Any` value uses the regular - - representation of the deserialized, embedded message, with - an - - additional field `@type` which contains the type URL. - Example: - - package google.profile; - message Person { - string first_name = 1; - string last_name = 2; - } - - { - "@type": "type.googleapis.com/google.profile.Person", - "firstName": , - "lastName": - } - - If the embedded message type is well-known and has a custom - JSON - - representation, that representation will be embedded adding - a field - - `value` which holds the custom JSON in addition to the - `@type` - - field. Example (for message [google.protobuf.Duration][]): - - { - "@type": "type.googleapis.com/google.protobuf.Duration", - "value": "1.212s" - } - parameters: - - name: proposal_id - description: proposal_id defines the unique id of the proposal. - in: path - required: true - type: string - format: uint64 - - name: pagination.key - description: |- - key is a value returned in PageResponse.next_key to begin - querying the next page most efficiently. Only one of offset or key - should be set. - in: query - required: false - type: string - format: byte - - name: pagination.offset - description: >- - offset is a numeric offset that can be used when key is unavailable. - - It is less efficient than using key. Only one of offset or key - should - - be set. - in: query - required: false - type: string - format: uint64 - - name: pagination.limit - description: >- - limit is the total number of results to be returned in the result - page. - - If left empty it will default to a value to be set by each app. - in: query - required: false - type: string - format: uint64 - - name: pagination.count_total - description: >- - count_total is set to true to indicate that the result set should - include - - a count of the total number of items available for pagination in - UIs. - - count_total is only respected when offset is used. It is ignored - when key - - is set. - in: query - required: false - type: boolean - - name: pagination.reverse - description: >- - reverse is set to true if results are to be returned in the - descending order. - - - Since: cosmos-sdk 0.43 - in: query - required: false - type: boolean - tags: - - Query - /cosmos/gov/v1beta1/proposals/{proposal_id}/deposits/{depositor}: - get: - summary: >- - Deposit queries single deposit information based on proposalID, - depositor address. - operationId: CosmosGovV1Beta1Query_Deposit - responses: - '200': - description: A successful response. - schema: - type: object - properties: - deposit: - description: deposit defines the requested deposit. - type: object - properties: - proposal_id: - type: string - format: uint64 - description: proposal_id defines the unique id of the proposal. - depositor: - type: string - description: >- - depositor defines the deposit addresses from the - proposals. - amount: - type: array - items: - type: object - properties: - denom: - type: string - amount: - type: string - description: >- - Coin defines a token with a denomination and an amount. - - - NOTE: The amount field is an Int which implements the - custom method - - signatures required by gogoproto. - description: amount to be deposited by depositor. - description: >- - QueryDepositResponse is the response type for the Query/Deposit - RPC method. - default: - description: An unexpected error response. - schema: - type: object - properties: - code: - type: integer - format: int32 - message: - type: string - details: - type: array - items: - type: object - properties: - '@type': - type: string - description: >- - A URL/resource name that uniquely identifies the type of - the serialized - - protocol buffer message. This string must contain at - least - - one "/" character. The last segment of the URL's path - must represent - - the fully qualified name of the type (as in - - `path/google.protobuf.Duration`). The name should be in - a canonical form - - (e.g., leading "." is not accepted). - - - In practice, teams usually precompile into the binary - all types that they - - expect it to use in the context of Any. However, for - URLs which use the - - scheme `http`, `https`, or no scheme, one can optionally - set up a type - - server that maps type URLs to message definitions as - follows: - - - * If no scheme is provided, `https` is assumed. - - * An HTTP GET on the URL must yield a - [google.protobuf.Type][] - value in binary format, or produce an error. - * Applications are allowed to cache lookup results based - on the - URL, or have them precompiled into a binary to avoid any - lookup. Therefore, binary compatibility needs to be preserved - on changes to types. (Use versioned type names to manage - breaking changes.) - - Note: this functionality is not currently available in - the official - - protobuf release, and it is not used for type URLs - beginning with - - type.googleapis.com. As of May 2023, there are no widely - used type server - - implementations and no plans to implement one. - - - Schemes other than `http`, `https` (or the empty scheme) - might be - - used with implementation specific semantics. - additionalProperties: {} - description: >- - `Any` contains an arbitrary serialized protocol buffer - message along with a - - URL that describes the type of the serialized message. - - - Protobuf library provides support to pack/unpack Any values - in the form - - of utility functions or additional generated methods of the - Any type. - - - Example 1: Pack and unpack a message in C++. - - Foo foo = ...; - Any any; - any.PackFrom(foo); - ... - if (any.UnpackTo(&foo)) { - ... - } - - Example 2: Pack and unpack a message in Java. - - Foo foo = ...; - Any any = Any.pack(foo); - ... - if (any.is(Foo.class)) { - foo = any.unpack(Foo.class); - } - // or ... - if (any.isSameTypeAs(Foo.getDefaultInstance())) { - foo = any.unpack(Foo.getDefaultInstance()); - } - - Example 3: Pack and unpack a message in Python. - - foo = Foo(...) - any = Any() - any.Pack(foo) - ... - if any.Is(Foo.DESCRIPTOR): - any.Unpack(foo) - ... - - Example 4: Pack and unpack a message in Go - - foo := &pb.Foo{...} - any, err := anypb.New(foo) - if err != nil { - ... - } - ... - foo := &pb.Foo{} - if err := any.UnmarshalTo(foo); err != nil { - ... - } - - The pack methods provided by protobuf library will by - default use - - 'type.googleapis.com/full.type.name' as the type URL and the - unpack - - methods only use the fully qualified type name after the - last '/' - - in the type URL, for example "foo.bar.com/x/y.z" will yield - type - - name "y.z". - - - JSON - - ==== - - The JSON representation of an `Any` value uses the regular - - representation of the deserialized, embedded message, with - an - - additional field `@type` which contains the type URL. - Example: - - package google.profile; - message Person { - string first_name = 1; - string last_name = 2; - } - - { - "@type": "type.googleapis.com/google.profile.Person", - "firstName": , - "lastName": - } - - If the embedded message type is well-known and has a custom - JSON - - representation, that representation will be embedded adding - a field - - `value` which holds the custom JSON in addition to the - `@type` - - field. Example (for message [google.protobuf.Duration][]): - - { - "@type": "type.googleapis.com/google.protobuf.Duration", - "value": "1.212s" - } - parameters: - - name: proposal_id - description: proposal_id defines the unique id of the proposal. - in: path - required: true - type: string - format: uint64 - - name: depositor - description: depositor defines the deposit addresses from the proposals. - in: path - required: true - type: string - tags: - - Query - /cosmos/gov/v1beta1/proposals/{proposal_id}/tally: - get: - summary: TallyResult queries the tally of a proposal vote. - operationId: CosmosGovV1Beta1Query_TallyResult - responses: - '200': - description: A successful response. - schema: - type: object - properties: - tally: - description: tally defines the requested tally. - type: object - properties: - 'yes': - type: string - description: yes is the number of yes votes on a proposal. - abstain: - type: string - description: abstain is the number of abstain votes on a proposal. - 'no': - type: string - description: no is the number of no votes on a proposal. - no_with_veto: - type: string - description: >- - no_with_veto is the number of no with veto votes on a - proposal. - encrypted: - type: string - description: encrypted is the number of encrypted votes on a proposal. - description: >- - QueryTallyResultResponse is the response type for the Query/Tally - RPC method. - default: - description: An unexpected error response. - schema: - type: object - properties: - code: - type: integer - format: int32 - message: - type: string - details: - type: array - items: - type: object - properties: - '@type': - type: string - description: >- - A URL/resource name that uniquely identifies the type of - the serialized - - protocol buffer message. This string must contain at - least - - one "/" character. The last segment of the URL's path - must represent - - the fully qualified name of the type (as in - - `path/google.protobuf.Duration`). The name should be in - a canonical form - - (e.g., leading "." is not accepted). - - - In practice, teams usually precompile into the binary - all types that they - - expect it to use in the context of Any. However, for - URLs which use the - - scheme `http`, `https`, or no scheme, one can optionally - set up a type - - server that maps type URLs to message definitions as - follows: - - - * If no scheme is provided, `https` is assumed. - - * An HTTP GET on the URL must yield a - [google.protobuf.Type][] - value in binary format, or produce an error. - * Applications are allowed to cache lookup results based - on the - URL, or have them precompiled into a binary to avoid any - lookup. Therefore, binary compatibility needs to be preserved - on changes to types. (Use versioned type names to manage - breaking changes.) - - Note: this functionality is not currently available in - the official - - protobuf release, and it is not used for type URLs - beginning with - - type.googleapis.com. As of May 2023, there are no widely - used type server - - implementations and no plans to implement one. - - - Schemes other than `http`, `https` (or the empty scheme) - might be - - used with implementation specific semantics. - additionalProperties: {} - description: >- - `Any` contains an arbitrary serialized protocol buffer - message along with a - - URL that describes the type of the serialized message. - - - Protobuf library provides support to pack/unpack Any values - in the form - - of utility functions or additional generated methods of the - Any type. - - - Example 1: Pack and unpack a message in C++. - - Foo foo = ...; - Any any; - any.PackFrom(foo); - ... - if (any.UnpackTo(&foo)) { - ... - } - - Example 2: Pack and unpack a message in Java. - - Foo foo = ...; - Any any = Any.pack(foo); - ... - if (any.is(Foo.class)) { - foo = any.unpack(Foo.class); - } - // or ... - if (any.isSameTypeAs(Foo.getDefaultInstance())) { - foo = any.unpack(Foo.getDefaultInstance()); - } - - Example 3: Pack and unpack a message in Python. - - foo = Foo(...) - any = Any() - any.Pack(foo) - ... - if any.Is(Foo.DESCRIPTOR): - any.Unpack(foo) - ... - - Example 4: Pack and unpack a message in Go - - foo := &pb.Foo{...} - any, err := anypb.New(foo) - if err != nil { - ... - } - ... - foo := &pb.Foo{} - if err := any.UnmarshalTo(foo); err != nil { - ... - } - - The pack methods provided by protobuf library will by - default use - - 'type.googleapis.com/full.type.name' as the type URL and the - unpack - - methods only use the fully qualified type name after the - last '/' - - in the type URL, for example "foo.bar.com/x/y.z" will yield - type - - name "y.z". - - - JSON - - ==== - - The JSON representation of an `Any` value uses the regular - - representation of the deserialized, embedded message, with - an - - additional field `@type` which contains the type URL. - Example: - - package google.profile; - message Person { - string first_name = 1; - string last_name = 2; - } - - { - "@type": "type.googleapis.com/google.profile.Person", - "firstName": , - "lastName": - } - - If the embedded message type is well-known and has a custom - JSON - - representation, that representation will be embedded adding - a field - - `value` which holds the custom JSON in addition to the - `@type` - - field. Example (for message [google.protobuf.Duration][]): - - { - "@type": "type.googleapis.com/google.protobuf.Duration", - "value": "1.212s" - } - parameters: - - name: proposal_id - description: proposal_id defines the unique id of the proposal. - in: path - required: true - type: string - format: uint64 - tags: - - Query - /cosmos/gov/v1beta1/proposals/{proposal_id}/votes: - get: - summary: Votes queries votes of a given proposal. - operationId: CosmosGovV1Beta1Query_Votes - responses: - '200': - description: A successful response. - schema: - type: object - properties: - votes: - type: array - items: - type: object - properties: - proposal_id: - type: string - format: uint64 - description: proposal_id defines the unique id of the proposal. - voter: - type: string - description: voter is the voter address of the proposal. - option: - description: >- - Deprecated: Prefer to use `options` instead. This field - is set in queries - - if and only if `len(options) == 1` and that option has - weight 1. In all - - other cases, this field will default to - VOTE_OPTION_UNSPECIFIED. - type: string - enum: - - VOTE_OPTION_UNSPECIFIED - - VOTE_OPTION_YES - - VOTE_OPTION_ABSTAIN - - VOTE_OPTION_NO - - VOTE_OPTION_NO_WITH_VETO - - VOTE_OPTION_ENCRYPTED - default: VOTE_OPTION_UNSPECIFIED - options: - type: array - items: - type: object - properties: - option: - description: >- - option defines the valid vote options, it must not - contain duplicate vote options. - type: string - enum: - - VOTE_OPTION_UNSPECIFIED - - VOTE_OPTION_YES - - VOTE_OPTION_ABSTAIN - - VOTE_OPTION_NO - - VOTE_OPTION_NO_WITH_VETO - - VOTE_OPTION_ENCRYPTED - default: VOTE_OPTION_UNSPECIFIED - weight: - type: string - description: >- - weight is the vote weight associated with the vote - option. - description: >- - WeightedVoteOption defines a unit of vote for vote - split. - - - Since: cosmos-sdk 0.43 - description: |- - options is the weighted vote options. - - Since: cosmos-sdk 0.43 - encrypted_vote_data: - type: string - description: >- - Vote defines a vote on a governance proposal. - - A Vote consists of a proposal ID, the voter, and the vote - option. - description: votes defines the queried votes. - pagination: - description: pagination defines the pagination in the response. - type: object - properties: - next_key: - type: string - format: byte - description: |- - next_key is the key to be passed to PageRequest.key to - query the next page most efficiently. It will be empty if - there are no more results. - total: - type: string - format: uint64 - title: >- - total is total number of results available if - PageRequest.count_total - - was set, its value is undefined otherwise - description: >- - QueryVotesResponse is the response type for the Query/Votes RPC - method. - default: - description: An unexpected error response. - schema: - type: object - properties: - code: - type: integer - format: int32 - message: - type: string - details: - type: array - items: - type: object - properties: - '@type': - type: string - description: >- - A URL/resource name that uniquely identifies the type of - the serialized - - protocol buffer message. This string must contain at - least - - one "/" character. The last segment of the URL's path - must represent - - the fully qualified name of the type (as in - - `path/google.protobuf.Duration`). The name should be in - a canonical form - - (e.g., leading "." is not accepted). - - - In practice, teams usually precompile into the binary - all types that they - - expect it to use in the context of Any. However, for - URLs which use the - - scheme `http`, `https`, or no scheme, one can optionally - set up a type - - server that maps type URLs to message definitions as - follows: - - - * If no scheme is provided, `https` is assumed. - - * An HTTP GET on the URL must yield a - [google.protobuf.Type][] - value in binary format, or produce an error. - * Applications are allowed to cache lookup results based - on the - URL, or have them precompiled into a binary to avoid any - lookup. Therefore, binary compatibility needs to be preserved - on changes to types. (Use versioned type names to manage - breaking changes.) - - Note: this functionality is not currently available in - the official - - protobuf release, and it is not used for type URLs - beginning with - - type.googleapis.com. As of May 2023, there are no widely - used type server - - implementations and no plans to implement one. - - - Schemes other than `http`, `https` (or the empty scheme) - might be - - used with implementation specific semantics. - additionalProperties: {} - description: >- - `Any` contains an arbitrary serialized protocol buffer - message along with a - - URL that describes the type of the serialized message. - - - Protobuf library provides support to pack/unpack Any values - in the form - - of utility functions or additional generated methods of the - Any type. - - - Example 1: Pack and unpack a message in C++. - - Foo foo = ...; - Any any; - any.PackFrom(foo); - ... - if (any.UnpackTo(&foo)) { - ... - } - - Example 2: Pack and unpack a message in Java. - - Foo foo = ...; - Any any = Any.pack(foo); - ... - if (any.is(Foo.class)) { - foo = any.unpack(Foo.class); - } - // or ... - if (any.isSameTypeAs(Foo.getDefaultInstance())) { - foo = any.unpack(Foo.getDefaultInstance()); - } - - Example 3: Pack and unpack a message in Python. - - foo = Foo(...) - any = Any() - any.Pack(foo) - ... - if any.Is(Foo.DESCRIPTOR): - any.Unpack(foo) - ... - - Example 4: Pack and unpack a message in Go - - foo := &pb.Foo{...} - any, err := anypb.New(foo) - if err != nil { - ... - } - ... - foo := &pb.Foo{} - if err := any.UnmarshalTo(foo); err != nil { - ... - } - - The pack methods provided by protobuf library will by - default use - - 'type.googleapis.com/full.type.name' as the type URL and the - unpack - - methods only use the fully qualified type name after the - last '/' - - in the type URL, for example "foo.bar.com/x/y.z" will yield - type - - name "y.z". - - - JSON - - ==== - - The JSON representation of an `Any` value uses the regular - - representation of the deserialized, embedded message, with - an - - additional field `@type` which contains the type URL. - Example: - - package google.profile; - message Person { - string first_name = 1; - string last_name = 2; - } - - { - "@type": "type.googleapis.com/google.profile.Person", - "firstName": , - "lastName": - } - - If the embedded message type is well-known and has a custom - JSON - - representation, that representation will be embedded adding - a field - - `value` which holds the custom JSON in addition to the - `@type` - - field. Example (for message [google.protobuf.Duration][]): - - { - "@type": "type.googleapis.com/google.protobuf.Duration", - "value": "1.212s" - } - parameters: - - name: proposal_id - description: proposal_id defines the unique id of the proposal. - in: path - required: true - type: string - format: uint64 - - name: pagination.key - description: |- - key is a value returned in PageResponse.next_key to begin - querying the next page most efficiently. Only one of offset or key - should be set. - in: query - required: false - type: string - format: byte - - name: pagination.offset - description: >- - offset is a numeric offset that can be used when key is unavailable. - - It is less efficient than using key. Only one of offset or key - should - - be set. - in: query - required: false - type: string - format: uint64 - - name: pagination.limit - description: >- - limit is the total number of results to be returned in the result - page. - - If left empty it will default to a value to be set by each app. - in: query - required: false - type: string - format: uint64 - - name: pagination.count_total - description: >- - count_total is set to true to indicate that the result set should - include - - a count of the total number of items available for pagination in - UIs. - - count_total is only respected when offset is used. It is ignored - when key - - is set. - in: query - required: false - type: boolean - - name: pagination.reverse - description: >- - reverse is set to true if results are to be returned in the - descending order. - - - Since: cosmos-sdk 0.43 - in: query - required: false - type: boolean - tags: - - Query - /cosmos/gov/v1beta1/proposals/{proposal_id}/votes/{voter}: - get: - summary: Vote queries voted information based on proposalID, voterAddr. - operationId: CosmosGovV1Beta1Query_Vote - responses: - '200': - description: A successful response. - schema: - type: object - properties: - vote: - description: vote defines the queried vote. - type: object - properties: - proposal_id: - type: string - format: uint64 - description: proposal_id defines the unique id of the proposal. - voter: - type: string - description: voter is the voter address of the proposal. - option: - description: >- - Deprecated: Prefer to use `options` instead. This field is - set in queries - - if and only if `len(options) == 1` and that option has - weight 1. In all - - other cases, this field will default to - VOTE_OPTION_UNSPECIFIED. - type: string - enum: - - VOTE_OPTION_UNSPECIFIED - - VOTE_OPTION_YES - - VOTE_OPTION_ABSTAIN - - VOTE_OPTION_NO - - VOTE_OPTION_NO_WITH_VETO - - VOTE_OPTION_ENCRYPTED - default: VOTE_OPTION_UNSPECIFIED - options: - type: array - items: - type: object - properties: - option: - description: >- - option defines the valid vote options, it must not - contain duplicate vote options. - type: string - enum: - - VOTE_OPTION_UNSPECIFIED - - VOTE_OPTION_YES - - VOTE_OPTION_ABSTAIN - - VOTE_OPTION_NO - - VOTE_OPTION_NO_WITH_VETO - - VOTE_OPTION_ENCRYPTED - default: VOTE_OPTION_UNSPECIFIED - weight: - type: string - description: >- - weight is the vote weight associated with the vote - option. - description: >- - WeightedVoteOption defines a unit of vote for vote - split. - - - Since: cosmos-sdk 0.43 - description: |- - options is the weighted vote options. - - Since: cosmos-sdk 0.43 - encrypted_vote_data: - type: string - description: >- - QueryVoteResponse is the response type for the Query/Vote RPC - method. - default: - description: An unexpected error response. - schema: - type: object - properties: - code: - type: integer - format: int32 - message: - type: string - details: - type: array - items: - type: object - properties: - '@type': - type: string - description: >- - A URL/resource name that uniquely identifies the type of - the serialized - - protocol buffer message. This string must contain at - least - - one "/" character. The last segment of the URL's path - must represent - - the fully qualified name of the type (as in - - `path/google.protobuf.Duration`). The name should be in - a canonical form - - (e.g., leading "." is not accepted). - - - In practice, teams usually precompile into the binary - all types that they - - expect it to use in the context of Any. However, for - URLs which use the - - scheme `http`, `https`, or no scheme, one can optionally - set up a type - - server that maps type URLs to message definitions as - follows: - - - * If no scheme is provided, `https` is assumed. - - * An HTTP GET on the URL must yield a - [google.protobuf.Type][] - value in binary format, or produce an error. - * Applications are allowed to cache lookup results based - on the - URL, or have them precompiled into a binary to avoid any - lookup. Therefore, binary compatibility needs to be preserved - on changes to types. (Use versioned type names to manage - breaking changes.) - - Note: this functionality is not currently available in - the official - - protobuf release, and it is not used for type URLs - beginning with - - type.googleapis.com. As of May 2023, there are no widely - used type server - - implementations and no plans to implement one. - - - Schemes other than `http`, `https` (or the empty scheme) - might be - - used with implementation specific semantics. - additionalProperties: {} - description: >- - `Any` contains an arbitrary serialized protocol buffer - message along with a - - URL that describes the type of the serialized message. - - - Protobuf library provides support to pack/unpack Any values - in the form - - of utility functions or additional generated methods of the - Any type. - - - Example 1: Pack and unpack a message in C++. - - Foo foo = ...; - Any any; - any.PackFrom(foo); - ... - if (any.UnpackTo(&foo)) { - ... - } - - Example 2: Pack and unpack a message in Java. - - Foo foo = ...; - Any any = Any.pack(foo); - ... - if (any.is(Foo.class)) { - foo = any.unpack(Foo.class); - } - // or ... - if (any.isSameTypeAs(Foo.getDefaultInstance())) { - foo = any.unpack(Foo.getDefaultInstance()); - } - - Example 3: Pack and unpack a message in Python. - - foo = Foo(...) - any = Any() - any.Pack(foo) - ... - if any.Is(Foo.DESCRIPTOR): - any.Unpack(foo) - ... - - Example 4: Pack and unpack a message in Go - - foo := &pb.Foo{...} - any, err := anypb.New(foo) - if err != nil { - ... - } - ... - foo := &pb.Foo{} - if err := any.UnmarshalTo(foo); err != nil { - ... - } - - The pack methods provided by protobuf library will by - default use - - 'type.googleapis.com/full.type.name' as the type URL and the - unpack - - methods only use the fully qualified type name after the - last '/' - - in the type URL, for example "foo.bar.com/x/y.z" will yield - type - - name "y.z". - - - JSON - - ==== - - The JSON representation of an `Any` value uses the regular - - representation of the deserialized, embedded message, with - an - - additional field `@type` which contains the type URL. - Example: - - package google.profile; - message Person { - string first_name = 1; - string last_name = 2; - } - - { - "@type": "type.googleapis.com/google.profile.Person", - "firstName": , - "lastName": - } - - If the embedded message type is well-known and has a custom - JSON - - representation, that representation will be embedded adding - a field - - `value` which holds the custom JSON in addition to the - `@type` - - field. Example (for message [google.protobuf.Duration][]): - - { - "@type": "type.googleapis.com/google.protobuf.Duration", - "value": "1.212s" - } - parameters: - - name: proposal_id - description: proposal_id defines the unique id of the proposal. - in: path - required: true - type: string - format: uint64 - - name: voter - description: voter defines the voter address for the proposals. - in: path - required: true - type: string - tags: - - Query - /cosmos.gov.v1beta1.Msg/Deposit: - post: - summary: Deposit defines a method to add deposit on a specific proposal. - operationId: CosmosGovV1Beta1Msg_Deposit - responses: - '200': - description: A successful response. - schema: - type: object - description: MsgDepositResponse defines the Msg/Deposit response type. - default: - description: An unexpected error response. - schema: - type: object - properties: - code: - type: integer - format: int32 - message: - type: string - details: - type: array - items: - type: object - properties: - '@type': - type: string - description: >- - A URL/resource name that uniquely identifies the type of - the serialized - - protocol buffer message. This string must contain at - least - - one "/" character. The last segment of the URL's path - must represent - - the fully qualified name of the type (as in - - `path/google.protobuf.Duration`). The name should be in - a canonical form - - (e.g., leading "." is not accepted). - - - In practice, teams usually precompile into the binary - all types that they - - expect it to use in the context of Any. However, for - URLs which use the - - scheme `http`, `https`, or no scheme, one can optionally - set up a type - - server that maps type URLs to message definitions as - follows: - - - * If no scheme is provided, `https` is assumed. - - * An HTTP GET on the URL must yield a - [google.protobuf.Type][] - value in binary format, or produce an error. - * Applications are allowed to cache lookup results based - on the - URL, or have them precompiled into a binary to avoid any - lookup. Therefore, binary compatibility needs to be preserved - on changes to types. (Use versioned type names to manage - breaking changes.) - - Note: this functionality is not currently available in - the official - - protobuf release, and it is not used for type URLs - beginning with - - type.googleapis.com. As of May 2023, there are no widely - used type server - - implementations and no plans to implement one. - - - Schemes other than `http`, `https` (or the empty scheme) - might be - - used with implementation specific semantics. - additionalProperties: {} - description: >- - `Any` contains an arbitrary serialized protocol buffer - message along with a - - URL that describes the type of the serialized message. - - - Protobuf library provides support to pack/unpack Any values - in the form - - of utility functions or additional generated methods of the - Any type. - - - Example 1: Pack and unpack a message in C++. - - Foo foo = ...; - Any any; - any.PackFrom(foo); - ... - if (any.UnpackTo(&foo)) { - ... - } - - Example 2: Pack and unpack a message in Java. - - Foo foo = ...; - Any any = Any.pack(foo); - ... - if (any.is(Foo.class)) { - foo = any.unpack(Foo.class); - } - // or ... - if (any.isSameTypeAs(Foo.getDefaultInstance())) { - foo = any.unpack(Foo.getDefaultInstance()); - } - - Example 3: Pack and unpack a message in Python. - - foo = Foo(...) - any = Any() - any.Pack(foo) - ... - if any.Is(Foo.DESCRIPTOR): - any.Unpack(foo) - ... - - Example 4: Pack and unpack a message in Go - - foo := &pb.Foo{...} - any, err := anypb.New(foo) - if err != nil { - ... - } - ... - foo := &pb.Foo{} - if err := any.UnmarshalTo(foo); err != nil { - ... - } - - The pack methods provided by protobuf library will by - default use - - 'type.googleapis.com/full.type.name' as the type URL and the - unpack - - methods only use the fully qualified type name after the - last '/' - - in the type URL, for example "foo.bar.com/x/y.z" will yield - type - - name "y.z". - - - JSON - - ==== - - The JSON representation of an `Any` value uses the regular - - representation of the deserialized, embedded message, with - an - - additional field `@type` which contains the type URL. - Example: - - package google.profile; - message Person { - string first_name = 1; - string last_name = 2; - } - - { - "@type": "type.googleapis.com/google.profile.Person", - "firstName": , - "lastName": - } - - If the embedded message type is well-known and has a custom - JSON - - representation, that representation will be embedded adding - a field - - `value` which holds the custom JSON in addition to the - `@type` - - field. Example (for message [google.protobuf.Duration][]): - - { - "@type": "type.googleapis.com/google.protobuf.Duration", - "value": "1.212s" - } - parameters: - - name: body - description: >- - MsgDeposit defines a message to submit a deposit to an existing - proposal. - in: body - required: true - schema: - type: object - properties: - proposal_id: - type: string - format: uint64 - description: proposal_id defines the unique id of the proposal. - depositor: - type: string - description: depositor defines the deposit addresses from the proposals. - amount: - type: array - items: - type: object - properties: - denom: - type: string - amount: - type: string - description: >- - Coin defines a token with a denomination and an amount. - - - NOTE: The amount field is an Int which implements the custom - method - - signatures required by gogoproto. - description: amount to be deposited by depositor. - description: >- - MsgDeposit defines a message to submit a deposit to an existing - proposal. - tags: - - Msg - /cosmos.gov.v1beta1.Msg/SubmitProposal: - post: - summary: SubmitProposal defines a method to create new proposal given a content. - operationId: CosmosGovV1Beta1Msg_SubmitProposal - responses: - '200': - description: A successful response. - schema: - type: object - properties: - proposal_id: - type: string - format: uint64 - description: proposal_id defines the unique id of the proposal. - description: >- - MsgSubmitProposalResponse defines the Msg/SubmitProposal response - type. - default: - description: An unexpected error response. - schema: - type: object - properties: - code: - type: integer - format: int32 - message: - type: string - details: - type: array - items: - type: object - properties: - '@type': - type: string - description: >- - A URL/resource name that uniquely identifies the type of - the serialized - - protocol buffer message. This string must contain at - least - - one "/" character. The last segment of the URL's path - must represent - - the fully qualified name of the type (as in - - `path/google.protobuf.Duration`). The name should be in - a canonical form - - (e.g., leading "." is not accepted). - - - In practice, teams usually precompile into the binary - all types that they - - expect it to use in the context of Any. However, for - URLs which use the - - scheme `http`, `https`, or no scheme, one can optionally - set up a type - - server that maps type URLs to message definitions as - follows: - - - * If no scheme is provided, `https` is assumed. - - * An HTTP GET on the URL must yield a - [google.protobuf.Type][] - value in binary format, or produce an error. - * Applications are allowed to cache lookup results based - on the - URL, or have them precompiled into a binary to avoid any - lookup. Therefore, binary compatibility needs to be preserved - on changes to types. (Use versioned type names to manage - breaking changes.) - - Note: this functionality is not currently available in - the official - - protobuf release, and it is not used for type URLs - beginning with - - type.googleapis.com. As of May 2023, there are no widely - used type server - - implementations and no plans to implement one. - - - Schemes other than `http`, `https` (or the empty scheme) - might be - - used with implementation specific semantics. - additionalProperties: {} - description: >- - `Any` contains an arbitrary serialized protocol buffer - message along with a - - URL that describes the type of the serialized message. - - - Protobuf library provides support to pack/unpack Any values - in the form - - of utility functions or additional generated methods of the - Any type. - - - Example 1: Pack and unpack a message in C++. - - Foo foo = ...; - Any any; - any.PackFrom(foo); - ... - if (any.UnpackTo(&foo)) { - ... - } - - Example 2: Pack and unpack a message in Java. - - Foo foo = ...; - Any any = Any.pack(foo); - ... - if (any.is(Foo.class)) { - foo = any.unpack(Foo.class); - } - // or ... - if (any.isSameTypeAs(Foo.getDefaultInstance())) { - foo = any.unpack(Foo.getDefaultInstance()); - } - - Example 3: Pack and unpack a message in Python. - - foo = Foo(...) - any = Any() - any.Pack(foo) - ... - if any.Is(Foo.DESCRIPTOR): - any.Unpack(foo) - ... - - Example 4: Pack and unpack a message in Go - - foo := &pb.Foo{...} - any, err := anypb.New(foo) - if err != nil { - ... - } - ... - foo := &pb.Foo{} - if err := any.UnmarshalTo(foo); err != nil { - ... - } - - The pack methods provided by protobuf library will by - default use - - 'type.googleapis.com/full.type.name' as the type URL and the - unpack - - methods only use the fully qualified type name after the - last '/' - - in the type URL, for example "foo.bar.com/x/y.z" will yield - type - - name "y.z". - - - JSON - - ==== - - The JSON representation of an `Any` value uses the regular - - representation of the deserialized, embedded message, with - an - - additional field `@type` which contains the type URL. - Example: - - package google.profile; - message Person { - string first_name = 1; - string last_name = 2; - } - - { - "@type": "type.googleapis.com/google.profile.Person", - "firstName": , - "lastName": - } - - If the embedded message type is well-known and has a custom - JSON - - representation, that representation will be embedded adding - a field - - `value` which holds the custom JSON in addition to the - `@type` - - field. Example (for message [google.protobuf.Duration][]): - - { - "@type": "type.googleapis.com/google.protobuf.Duration", - "value": "1.212s" - } - parameters: - - name: body - description: >- - MsgSubmitProposal defines an sdk.Msg type that supports submitting - arbitrary - - proposal Content. - in: body - required: true - schema: - type: object - properties: - content: - description: content is the proposal's content. - type: object - properties: - '@type': - type: string - description: >- - A URL/resource name that uniquely identifies the type of - the serialized - - protocol buffer message. This string must contain at least - - one "/" character. The last segment of the URL's path must - represent - - the fully qualified name of the type (as in - - `path/google.protobuf.Duration`). The name should be in a - canonical form - - (e.g., leading "." is not accepted). - - - In practice, teams usually precompile into the binary all - types that they - - expect it to use in the context of Any. However, for URLs - which use the - - scheme `http`, `https`, or no scheme, one can optionally - set up a type - - server that maps type URLs to message definitions as - follows: - - - * If no scheme is provided, `https` is assumed. - - * An HTTP GET on the URL must yield a - [google.protobuf.Type][] - value in binary format, or produce an error. - * Applications are allowed to cache lookup results based - on the - URL, or have them precompiled into a binary to avoid any - lookup. Therefore, binary compatibility needs to be preserved - on changes to types. (Use versioned type names to manage - breaking changes.) - - Note: this functionality is not currently available in the - official - - protobuf release, and it is not used for type URLs - beginning with - - type.googleapis.com. As of May 2023, there are no widely - used type server - - implementations and no plans to implement one. - - - Schemes other than `http`, `https` (or the empty scheme) - might be - - used with implementation specific semantics. - additionalProperties: {} - initial_deposit: - type: array - items: - type: object - properties: - denom: - type: string - amount: - type: string - description: >- - Coin defines a token with a denomination and an amount. - - - NOTE: The amount field is an Int which implements the custom - method - - signatures required by gogoproto. - description: >- - initial_deposit is the deposit value that must be paid at - proposal submission. - proposer: - type: string - description: proposer is the account address of the proposer. - description: >- - MsgSubmitProposal defines an sdk.Msg type that supports submitting - arbitrary - - proposal Content. - tags: - - Msg - /cosmos.gov.v1beta1.Msg/Vote: - post: - summary: Vote defines a method to add a vote on a specific proposal. - operationId: CosmosGovV1Beta1Msg_Vote - responses: - '200': - description: A successful response. - schema: - type: object - description: MsgVoteResponse defines the Msg/Vote response type. - default: - description: An unexpected error response. - schema: - type: object - properties: - code: - type: integer - format: int32 - message: - type: string - details: - type: array - items: - type: object - properties: - '@type': - type: string - description: >- - A URL/resource name that uniquely identifies the type of - the serialized - - protocol buffer message. This string must contain at - least - - one "/" character. The last segment of the URL's path - must represent - - the fully qualified name of the type (as in - - `path/google.protobuf.Duration`). The name should be in - a canonical form - - (e.g., leading "." is not accepted). - - - In practice, teams usually precompile into the binary - all types that they - - expect it to use in the context of Any. However, for - URLs which use the - - scheme `http`, `https`, or no scheme, one can optionally - set up a type - - server that maps type URLs to message definitions as - follows: - - - * If no scheme is provided, `https` is assumed. - - * An HTTP GET on the URL must yield a - [google.protobuf.Type][] - value in binary format, or produce an error. - * Applications are allowed to cache lookup results based - on the - URL, or have them precompiled into a binary to avoid any - lookup. Therefore, binary compatibility needs to be preserved - on changes to types. (Use versioned type names to manage - breaking changes.) - - Note: this functionality is not currently available in - the official - - protobuf release, and it is not used for type URLs - beginning with - - type.googleapis.com. As of May 2023, there are no widely - used type server - - implementations and no plans to implement one. - - - Schemes other than `http`, `https` (or the empty scheme) - might be - - used with implementation specific semantics. - additionalProperties: {} - description: >- - `Any` contains an arbitrary serialized protocol buffer - message along with a - - URL that describes the type of the serialized message. - - - Protobuf library provides support to pack/unpack Any values - in the form - - of utility functions or additional generated methods of the - Any type. - - - Example 1: Pack and unpack a message in C++. - - Foo foo = ...; - Any any; - any.PackFrom(foo); - ... - if (any.UnpackTo(&foo)) { - ... - } - - Example 2: Pack and unpack a message in Java. - - Foo foo = ...; - Any any = Any.pack(foo); - ... - if (any.is(Foo.class)) { - foo = any.unpack(Foo.class); - } - // or ... - if (any.isSameTypeAs(Foo.getDefaultInstance())) { - foo = any.unpack(Foo.getDefaultInstance()); - } - - Example 3: Pack and unpack a message in Python. - - foo = Foo(...) - any = Any() - any.Pack(foo) - ... - if any.Is(Foo.DESCRIPTOR): - any.Unpack(foo) - ... - - Example 4: Pack and unpack a message in Go - - foo := &pb.Foo{...} - any, err := anypb.New(foo) - if err != nil { - ... - } - ... - foo := &pb.Foo{} - if err := any.UnmarshalTo(foo); err != nil { - ... - } - - The pack methods provided by protobuf library will by - default use - - 'type.googleapis.com/full.type.name' as the type URL and the - unpack - - methods only use the fully qualified type name after the - last '/' - - in the type URL, for example "foo.bar.com/x/y.z" will yield - type - - name "y.z". - - - JSON - - ==== - - The JSON representation of an `Any` value uses the regular - - representation of the deserialized, embedded message, with - an - - additional field `@type` which contains the type URL. - Example: - - package google.profile; - message Person { - string first_name = 1; - string last_name = 2; - } - - { - "@type": "type.googleapis.com/google.profile.Person", - "firstName": , - "lastName": - } - - If the embedded message type is well-known and has a custom - JSON - - representation, that representation will be embedded adding - a field - - `value` which holds the custom JSON in addition to the - `@type` - - field. Example (for message [google.protobuf.Duration][]): - - { - "@type": "type.googleapis.com/google.protobuf.Duration", - "value": "1.212s" - } - parameters: - - name: body - description: MsgVote defines a message to cast a vote. - in: body - required: true - schema: - type: object - properties: - proposal_id: - type: string - format: uint64 - description: proposal_id defines the unique id of the proposal. - voter: - type: string - description: voter is the voter address for the proposal. - option: - description: option defines the vote option. - type: string - enum: - - VOTE_OPTION_UNSPECIFIED - - VOTE_OPTION_YES - - VOTE_OPTION_ABSTAIN - - VOTE_OPTION_NO - - VOTE_OPTION_NO_WITH_VETO - - VOTE_OPTION_ENCRYPTED - default: VOTE_OPTION_UNSPECIFIED - description: MsgVote defines a message to cast a vote. - tags: - - Msg - /cosmos.gov.v1beta1.Msg/VoteEncrypted: - post: - summary: >- - VoteEncrypted defines a method to add an encrypted vote on a specific - proposal. - operationId: CosmosGovV1Beta1Msg_VoteEncrypted - responses: - '200': - description: A successful response. - schema: - type: object - description: MsgVoteResponse defines the Msg/Vote response type. - default: - description: An unexpected error response. - schema: - type: object - properties: - code: - type: integer - format: int32 - message: - type: string - details: - type: array - items: - type: object - properties: - '@type': - type: string - description: >- - A URL/resource name that uniquely identifies the type of - the serialized - - protocol buffer message. This string must contain at - least - - one "/" character. The last segment of the URL's path - must represent - - the fully qualified name of the type (as in - - `path/google.protobuf.Duration`). The name should be in - a canonical form - - (e.g., leading "." is not accepted). - - - In practice, teams usually precompile into the binary - all types that they - - expect it to use in the context of Any. However, for - URLs which use the - - scheme `http`, `https`, or no scheme, one can optionally - set up a type - - server that maps type URLs to message definitions as - follows: - - - * If no scheme is provided, `https` is assumed. - - * An HTTP GET on the URL must yield a - [google.protobuf.Type][] - value in binary format, or produce an error. - * Applications are allowed to cache lookup results based - on the - URL, or have them precompiled into a binary to avoid any - lookup. Therefore, binary compatibility needs to be preserved - on changes to types. (Use versioned type names to manage - breaking changes.) - - Note: this functionality is not currently available in - the official - - protobuf release, and it is not used for type URLs - beginning with - - type.googleapis.com. As of May 2023, there are no widely - used type server - - implementations and no plans to implement one. - - - Schemes other than `http`, `https` (or the empty scheme) - might be - - used with implementation specific semantics. - additionalProperties: {} - description: >- - `Any` contains an arbitrary serialized protocol buffer - message along with a - - URL that describes the type of the serialized message. - - - Protobuf library provides support to pack/unpack Any values - in the form - - of utility functions or additional generated methods of the - Any type. - - - Example 1: Pack and unpack a message in C++. - - Foo foo = ...; - Any any; - any.PackFrom(foo); - ... - if (any.UnpackTo(&foo)) { - ... - } - - Example 2: Pack and unpack a message in Java. - - Foo foo = ...; - Any any = Any.pack(foo); - ... - if (any.is(Foo.class)) { - foo = any.unpack(Foo.class); - } - // or ... - if (any.isSameTypeAs(Foo.getDefaultInstance())) { - foo = any.unpack(Foo.getDefaultInstance()); - } - - Example 3: Pack and unpack a message in Python. - - foo = Foo(...) - any = Any() - any.Pack(foo) - ... - if any.Is(Foo.DESCRIPTOR): - any.Unpack(foo) - ... - - Example 4: Pack and unpack a message in Go - - foo := &pb.Foo{...} - any, err := anypb.New(foo) - if err != nil { - ... - } - ... - foo := &pb.Foo{} - if err := any.UnmarshalTo(foo); err != nil { - ... - } - - The pack methods provided by protobuf library will by - default use - - 'type.googleapis.com/full.type.name' as the type URL and the - unpack - - methods only use the fully qualified type name after the - last '/' - - in the type URL, for example "foo.bar.com/x/y.z" will yield - type - - name "y.z". - - - JSON - - ==== - - The JSON representation of an `Any` value uses the regular - - representation of the deserialized, embedded message, with - an - - additional field `@type` which contains the type URL. - Example: - - package google.profile; - message Person { - string first_name = 1; - string last_name = 2; - } - - { - "@type": "type.googleapis.com/google.profile.Person", - "firstName": , - "lastName": - } - - If the embedded message type is well-known and has a custom - JSON - - representation, that representation will be embedded adding - a field - - `value` which holds the custom JSON in addition to the - `@type` - - field. Example (for message [google.protobuf.Duration][]): - - { - "@type": "type.googleapis.com/google.protobuf.Duration", - "value": "1.212s" - } - parameters: - - name: body - description: MsgVoteEncrypted defines a message to cast an encrypted vote. - in: body - required: true - schema: - type: object - properties: - proposal_id: - type: string - format: uint64 - description: proposal_id defines the unique id of the proposal. - voter: - type: string - description: voter is the voter address for the proposal. - encrypted_data: - type: string - description: encrypted_data defines the encrypted vote option. - description: MsgVoteEncrypted defines a message to cast an encrypted vote. - tags: - - Msg - /cosmos.gov.v1beta1.Msg/VoteWeighted: - post: - summary: >- - VoteWeighted defines a method to add a weighted vote on a specific - proposal. - description: 'Since: cosmos-sdk 0.43' - operationId: CosmosGovV1Beta1Msg_VoteWeighted - responses: - '200': - description: A successful response. - schema: - type: object - description: >- - MsgVoteWeightedResponse defines the Msg/VoteWeighted response - type. - - - Since: cosmos-sdk 0.43 - default: - description: An unexpected error response. - schema: - type: object - properties: - code: - type: integer - format: int32 - message: - type: string - details: - type: array - items: - type: object - properties: - '@type': - type: string - description: >- - A URL/resource name that uniquely identifies the type of - the serialized - - protocol buffer message. This string must contain at - least - - one "/" character. The last segment of the URL's path - must represent - - the fully qualified name of the type (as in - - `path/google.protobuf.Duration`). The name should be in - a canonical form - - (e.g., leading "." is not accepted). - - - In practice, teams usually precompile into the binary - all types that they - - expect it to use in the context of Any. However, for - URLs which use the - - scheme `http`, `https`, or no scheme, one can optionally - set up a type - - server that maps type URLs to message definitions as - follows: - - - * If no scheme is provided, `https` is assumed. - - * An HTTP GET on the URL must yield a - [google.protobuf.Type][] - value in binary format, or produce an error. - * Applications are allowed to cache lookup results based - on the - URL, or have them precompiled into a binary to avoid any - lookup. Therefore, binary compatibility needs to be preserved - on changes to types. (Use versioned type names to manage - breaking changes.) - - Note: this functionality is not currently available in - the official - - protobuf release, and it is not used for type URLs - beginning with - - type.googleapis.com. As of May 2023, there are no widely - used type server - - implementations and no plans to implement one. - - - Schemes other than `http`, `https` (or the empty scheme) - might be - - used with implementation specific semantics. - additionalProperties: {} - description: >- - `Any` contains an arbitrary serialized protocol buffer - message along with a - - URL that describes the type of the serialized message. - - - Protobuf library provides support to pack/unpack Any values - in the form - - of utility functions or additional generated methods of the - Any type. - - - Example 1: Pack and unpack a message in C++. - - Foo foo = ...; - Any any; - any.PackFrom(foo); - ... - if (any.UnpackTo(&foo)) { - ... - } - - Example 2: Pack and unpack a message in Java. - - Foo foo = ...; - Any any = Any.pack(foo); - ... - if (any.is(Foo.class)) { - foo = any.unpack(Foo.class); - } - // or ... - if (any.isSameTypeAs(Foo.getDefaultInstance())) { - foo = any.unpack(Foo.getDefaultInstance()); - } - - Example 3: Pack and unpack a message in Python. - - foo = Foo(...) - any = Any() - any.Pack(foo) - ... - if any.Is(Foo.DESCRIPTOR): - any.Unpack(foo) - ... - - Example 4: Pack and unpack a message in Go - - foo := &pb.Foo{...} - any, err := anypb.New(foo) - if err != nil { - ... - } - ... - foo := &pb.Foo{} - if err := any.UnmarshalTo(foo); err != nil { - ... - } - - The pack methods provided by protobuf library will by - default use - - 'type.googleapis.com/full.type.name' as the type URL and the - unpack - - methods only use the fully qualified type name after the - last '/' - - in the type URL, for example "foo.bar.com/x/y.z" will yield - type - - name "y.z". - - - JSON - - ==== - - The JSON representation of an `Any` value uses the regular - - representation of the deserialized, embedded message, with - an - - additional field `@type` which contains the type URL. - Example: - - package google.profile; - message Person { - string first_name = 1; - string last_name = 2; - } - - { - "@type": "type.googleapis.com/google.profile.Person", - "firstName": , - "lastName": - } - - If the embedded message type is well-known and has a custom - JSON - - representation, that representation will be embedded adding - a field - - `value` which holds the custom JSON in addition to the - `@type` - - field. Example (for message [google.protobuf.Duration][]): - - { - "@type": "type.googleapis.com/google.protobuf.Duration", - "value": "1.212s" - } - parameters: - - name: body - description: |- - MsgVoteWeighted defines a message to cast a vote. - - Since: cosmos-sdk 0.43 - in: body - required: true - schema: - type: object - properties: - proposal_id: - type: string - format: uint64 - description: proposal_id defines the unique id of the proposal. - voter: - type: string - description: voter is the voter address for the proposal. - options: - type: array - items: - type: object - properties: - option: - description: >- - option defines the valid vote options, it must not - contain duplicate vote options. - type: string - enum: - - VOTE_OPTION_UNSPECIFIED - - VOTE_OPTION_YES - - VOTE_OPTION_ABSTAIN - - VOTE_OPTION_NO - - VOTE_OPTION_NO_WITH_VETO - - VOTE_OPTION_ENCRYPTED - default: VOTE_OPTION_UNSPECIFIED - weight: - type: string - description: >- - weight is the vote weight associated with the vote - option. - description: |- - WeightedVoteOption defines a unit of vote for vote split. - - Since: cosmos-sdk 0.43 - description: options defines the weighted vote options. - description: |- - MsgVoteWeighted defines a message to cast a vote. - - Since: cosmos-sdk 0.43 - tags: - - Msg - /cosmos.mint.v1beta1.Msg/UpdateParams: - post: - summary: >- - UpdateParams defines a governance operation for updating the x/mint - module - - parameters. The authority is defaults to the x/gov module account. - description: 'Since: cosmos-sdk 0.47' - operationId: CosmosMintV1Beta1Msg_UpdateParams - responses: - '200': - description: A successful response. - schema: - type: object - description: >- - MsgUpdateParamsResponse defines the response structure for - executing a - - MsgUpdateParams message. - - - Since: cosmos-sdk 0.47 - default: - description: An unexpected error response. - schema: - type: object - properties: - code: - type: integer - format: int32 - message: - type: string - details: - type: array - items: - type: object - properties: - '@type': - type: string - additionalProperties: {} - parameters: - - name: body - description: |- - MsgUpdateParams is the Msg/UpdateParams request type. - - Since: cosmos-sdk 0.47 - in: body - required: true - schema: - type: object - properties: - authority: - type: string - description: >- - authority is the address that controls the module (defaults to - x/gov unless overwritten). - params: - description: |- - params defines the x/mint parameters to update. - - NOTE: All parameters must be supplied. - type: object - properties: - mint_denom: - type: string - title: type of coin to mint - inflation_rate_change: - type: string - title: maximum annual change in inflation rate - inflation_max: - type: string - title: maximum inflation rate - inflation_min: - type: string - title: minimum inflation rate - goal_bonded: - type: string - title: goal of percent bonded atoms - blocks_per_year: - type: string - format: uint64 - title: expected blocks per year - description: |- - MsgUpdateParams is the Msg/UpdateParams request type. - - Since: cosmos-sdk 0.47 - tags: - - Msg - /cosmos.nft.v1beta1.Msg/Send: - post: - summary: Send defines a method to send a nft from one account to another account. - operationId: CosmosNftV1Beta1Msg_Send - responses: - '200': - description: A successful response. - schema: - type: object - description: MsgSendResponse defines the Msg/Send response type. - default: - description: An unexpected error response. - schema: - type: object - properties: - code: - type: integer - format: int32 - message: - type: string - details: - type: array - items: - type: object - properties: - '@type': - type: string - additionalProperties: {} - parameters: - - name: body - description: >- - MsgSend represents a message to send a nft from one account to - another account. - in: body - required: true - schema: - type: object - properties: - class_id: - type: string - title: >- - class_id defines the unique identifier of the nft - classification, similar to the contract address of ERC721 - id: - type: string - title: id defines the unique identification of nft - sender: - type: string - title: sender is the address of the owner of nft - receiver: - type: string - title: receiver is the receiver address of nft - description: >- - MsgSend represents a message to send a nft from one account to - another account. - tags: - - Msg - /cosmos/params/v1beta1/params: - get: - summary: |- - Params queries a specific parameter of a module, given its subspace and - key. - operationId: CosmosParamsV1Beta1Query_Params - responses: - '200': - description: A successful response. - schema: - type: object - properties: - param: - description: param defines the queried parameter. - type: object - properties: - subspace: - type: string - key: - type: string - value: - type: string - description: >- - QueryParamsResponse is response type for the Query/Params RPC - method. - default: - description: An unexpected error response. - schema: - type: object - properties: - code: - type: integer - format: int32 - message: - type: string - details: - type: array - items: - type: object - properties: - '@type': - type: string - additionalProperties: {} - parameters: - - name: subspace - description: subspace defines the module to query the parameter for. - in: query - required: false - type: string - - name: key - description: key defines the key of the parameter in the subspace. - in: query - required: false - type: string - tags: - - Query - /cosmos/params/v1beta1/subspaces: - get: - summary: >- - Subspaces queries for all registered subspaces and all keys for a - subspace. - description: 'Since: cosmos-sdk 0.46' - operationId: CosmosParamsV1Beta1Query_Subspaces - responses: - '200': - description: A successful response. - schema: - type: object - properties: - subspaces: - type: array - items: - type: object - properties: - subspace: - type: string - keys: - type: array - items: - type: string - description: >- - Subspace defines a parameter subspace name and all the keys - that exist for - - the subspace. - - - Since: cosmos-sdk 0.46 - description: >- - QuerySubspacesResponse defines the response types for querying for - all - - registered subspaces and all keys for a subspace. - - - Since: cosmos-sdk 0.46 - default: - description: An unexpected error response. - schema: - type: object - properties: - code: - type: integer - format: int32 - message: - type: string - details: - type: array - items: - type: object - properties: - '@type': - type: string - additionalProperties: {} - tags: - - Query - /cosmos.slashing.v1beta1.Msg/Unjail: - post: - summary: >- - Unjail defines a method for unjailing a jailed validator, thus returning - - them into the bonded validator set, so they can begin receiving - provisions - - and rewards again. - operationId: CosmosSlashingV1Beta1Msg_Unjail - responses: - '200': - description: A successful response. - schema: - type: object - title: MsgUnjailResponse defines the Msg/Unjail response type - default: - description: An unexpected error response. - schema: - type: object - properties: - code: - type: integer - format: int32 - message: - type: string - details: - type: array - items: - type: object - properties: - '@type': - type: string - additionalProperties: {} - parameters: - - name: body - in: body - required: true - schema: - type: object - properties: - validator_addr: - type: string - title: MsgUnjail defines the Msg/Unjail request type - tags: - - Msg - /cosmos.slashing.v1beta1.Msg/UpdateParams: - post: - summary: >- - UpdateParams defines a governance operation for updating the x/slashing - module - - parameters. The authority defaults to the x/gov module account. - description: 'Since: cosmos-sdk 0.47' - operationId: CosmosSlashingV1Beta1Msg_UpdateParams - responses: - '200': - description: A successful response. - schema: - type: object - description: >- - MsgUpdateParamsResponse defines the response structure for - executing a - - MsgUpdateParams message. - - - Since: cosmos-sdk 0.47 - default: - description: An unexpected error response. - schema: - type: object - properties: - code: - type: integer - format: int32 - message: - type: string - details: - type: array - items: - type: object - properties: - '@type': - type: string - additionalProperties: {} - parameters: - - name: body - description: |- - MsgUpdateParams is the Msg/UpdateParams request type. - - Since: cosmos-sdk 0.47 - in: body - required: true - schema: - type: object - properties: - authority: - type: string - description: >- - authority is the address that controls the module (defaults to - x/gov unless overwritten). - params: - description: |- - params defines the x/slashing parameters to update. - - NOTE: All parameters must be supplied. - type: object - properties: - signed_blocks_window: - type: string - format: int64 - min_signed_per_window: - type: string - format: byte - downtime_jail_duration: - type: string - slash_fraction_double_sign: - type: string - format: byte - slash_fraction_downtime: - type: string - format: byte - description: |- - MsgUpdateParams is the Msg/UpdateParams request type. - - Since: cosmos-sdk 0.47 - tags: - - Msg - /cosmos.staking.v1beta1.Msg/BeginRedelegate: - post: - summary: >- - BeginRedelegate defines a method for performing a redelegation - - of coins from a delegator and source validator to a destination - validator. - operationId: CosmosStakingV1Beta1Msg_BeginRedelegate - responses: - '200': - description: A successful response. - schema: - type: object - properties: - completion_time: - type: string - format: date-time - description: >- - MsgBeginRedelegateResponse defines the Msg/BeginRedelegate - response type. - default: - description: An unexpected error response. - schema: - type: object - properties: - code: - type: integer - format: int32 - message: - type: string - details: - type: array - items: - type: object - properties: - '@type': - type: string - description: >- - A URL/resource name that uniquely identifies the type of - the serialized - - protocol buffer message. This string must contain at - least - - one "/" character. The last segment of the URL's path - must represent - - the fully qualified name of the type (as in - - `path/google.protobuf.Duration`). The name should be in - a canonical form - - (e.g., leading "." is not accepted). - - - In practice, teams usually precompile into the binary - all types that they - - expect it to use in the context of Any. However, for - URLs which use the - - scheme `http`, `https`, or no scheme, one can optionally - set up a type - - server that maps type URLs to message definitions as - follows: - - - * If no scheme is provided, `https` is assumed. - - * An HTTP GET on the URL must yield a - [google.protobuf.Type][] - value in binary format, or produce an error. - * Applications are allowed to cache lookup results based - on the - URL, or have them precompiled into a binary to avoid any - lookup. Therefore, binary compatibility needs to be preserved - on changes to types. (Use versioned type names to manage - breaking changes.) - - Note: this functionality is not currently available in - the official - - protobuf release, and it is not used for type URLs - beginning with - - type.googleapis.com. As of May 2023, there are no widely - used type server - - implementations and no plans to implement one. - - - Schemes other than `http`, `https` (or the empty scheme) - might be - - used with implementation specific semantics. - additionalProperties: {} - description: >- - `Any` contains an arbitrary serialized protocol buffer - message along with a - - URL that describes the type of the serialized message. - - - Protobuf library provides support to pack/unpack Any values - in the form - - of utility functions or additional generated methods of the - Any type. - - - Example 1: Pack and unpack a message in C++. - - Foo foo = ...; - Any any; - any.PackFrom(foo); - ... - if (any.UnpackTo(&foo)) { - ... - } - - Example 2: Pack and unpack a message in Java. - - Foo foo = ...; - Any any = Any.pack(foo); - ... - if (any.is(Foo.class)) { - foo = any.unpack(Foo.class); - } - // or ... - if (any.isSameTypeAs(Foo.getDefaultInstance())) { - foo = any.unpack(Foo.getDefaultInstance()); - } - - Example 3: Pack and unpack a message in Python. - - foo = Foo(...) - any = Any() - any.Pack(foo) - ... - if any.Is(Foo.DESCRIPTOR): - any.Unpack(foo) - ... - - Example 4: Pack and unpack a message in Go - - foo := &pb.Foo{...} - any, err := anypb.New(foo) - if err != nil { - ... - } - ... - foo := &pb.Foo{} - if err := any.UnmarshalTo(foo); err != nil { - ... - } - - The pack methods provided by protobuf library will by - default use - - 'type.googleapis.com/full.type.name' as the type URL and the - unpack - - methods only use the fully qualified type name after the - last '/' - - in the type URL, for example "foo.bar.com/x/y.z" will yield - type - - name "y.z". - - - JSON - - ==== - - The JSON representation of an `Any` value uses the regular - - representation of the deserialized, embedded message, with - an - - additional field `@type` which contains the type URL. - Example: - - package google.profile; - message Person { - string first_name = 1; - string last_name = 2; - } - - { - "@type": "type.googleapis.com/google.profile.Person", - "firstName": , - "lastName": - } - - If the embedded message type is well-known and has a custom - JSON - - representation, that representation will be embedded adding - a field - - `value` which holds the custom JSON in addition to the - `@type` - - field. Example (for message [google.protobuf.Duration][]): - - { - "@type": "type.googleapis.com/google.protobuf.Duration", - "value": "1.212s" - } - parameters: - - name: body - description: >- - MsgBeginRedelegate defines a SDK message for performing a - redelegation - - of coins from a delegator and source validator to a destination - validator. - in: body - required: true - schema: - type: object - properties: - delegator_address: - type: string - validator_src_address: - type: string - validator_dst_address: - type: string - amount: - type: object - properties: - denom: - type: string - amount: - type: string - description: >- - Coin defines a token with a denomination and an amount. - - - NOTE: The amount field is an Int which implements the custom - method - - signatures required by gogoproto. - description: >- - MsgBeginRedelegate defines a SDK message for performing a - redelegation - - of coins from a delegator and source validator to a destination - validator. - tags: - - Msg - /cosmos.staking.v1beta1.Msg/CancelUnbondingDelegation: - post: - summary: >- - CancelUnbondingDelegation defines a method for performing canceling the - unbonding delegation - - and delegate back to previous validator. - description: 'Since: cosmos-sdk 0.46' - operationId: CosmosStakingV1Beta1Msg_CancelUnbondingDelegation - responses: - '200': - description: A successful response. - schema: - type: object - description: 'Since: cosmos-sdk 0.46' - title: MsgCancelUnbondingDelegationResponse - default: - description: An unexpected error response. - schema: - type: object - properties: - code: - type: integer - format: int32 - message: - type: string - details: - type: array - items: - type: object - properties: - '@type': - type: string - description: >- - A URL/resource name that uniquely identifies the type of - the serialized - - protocol buffer message. This string must contain at - least - - one "/" character. The last segment of the URL's path - must represent - - the fully qualified name of the type (as in - - `path/google.protobuf.Duration`). The name should be in - a canonical form - - (e.g., leading "." is not accepted). - - - In practice, teams usually precompile into the binary - all types that they - - expect it to use in the context of Any. However, for - URLs which use the - - scheme `http`, `https`, or no scheme, one can optionally - set up a type - - server that maps type URLs to message definitions as - follows: - - - * If no scheme is provided, `https` is assumed. - - * An HTTP GET on the URL must yield a - [google.protobuf.Type][] - value in binary format, or produce an error. - * Applications are allowed to cache lookup results based - on the - URL, or have them precompiled into a binary to avoid any - lookup. Therefore, binary compatibility needs to be preserved - on changes to types. (Use versioned type names to manage - breaking changes.) - - Note: this functionality is not currently available in - the official - - protobuf release, and it is not used for type URLs - beginning with - - type.googleapis.com. As of May 2023, there are no widely - used type server - - implementations and no plans to implement one. - - - Schemes other than `http`, `https` (or the empty scheme) - might be - - used with implementation specific semantics. - additionalProperties: {} - description: >- - `Any` contains an arbitrary serialized protocol buffer - message along with a - - URL that describes the type of the serialized message. - - - Protobuf library provides support to pack/unpack Any values - in the form - - of utility functions or additional generated methods of the - Any type. - - - Example 1: Pack and unpack a message in C++. - - Foo foo = ...; - Any any; - any.PackFrom(foo); - ... - if (any.UnpackTo(&foo)) { - ... - } - - Example 2: Pack and unpack a message in Java. - - Foo foo = ...; - Any any = Any.pack(foo); - ... - if (any.is(Foo.class)) { - foo = any.unpack(Foo.class); - } - // or ... - if (any.isSameTypeAs(Foo.getDefaultInstance())) { - foo = any.unpack(Foo.getDefaultInstance()); - } - - Example 3: Pack and unpack a message in Python. - - foo = Foo(...) - any = Any() - any.Pack(foo) - ... - if any.Is(Foo.DESCRIPTOR): - any.Unpack(foo) - ... - - Example 4: Pack and unpack a message in Go - - foo := &pb.Foo{...} - any, err := anypb.New(foo) - if err != nil { - ... - } - ... - foo := &pb.Foo{} - if err := any.UnmarshalTo(foo); err != nil { - ... - } - - The pack methods provided by protobuf library will by - default use - - 'type.googleapis.com/full.type.name' as the type URL and the - unpack - - methods only use the fully qualified type name after the - last '/' - - in the type URL, for example "foo.bar.com/x/y.z" will yield - type - - name "y.z". - - - JSON - - ==== - - The JSON representation of an `Any` value uses the regular - - representation of the deserialized, embedded message, with - an - - additional field `@type` which contains the type URL. - Example: - - package google.profile; - message Person { - string first_name = 1; - string last_name = 2; - } - - { - "@type": "type.googleapis.com/google.profile.Person", - "firstName": , - "lastName": - } - - If the embedded message type is well-known and has a custom - JSON - - representation, that representation will be embedded adding - a field - - `value` which holds the custom JSON in addition to the - `@type` - - field. Example (for message [google.protobuf.Duration][]): - - { - "@type": "type.googleapis.com/google.protobuf.Duration", - "value": "1.212s" - } - parameters: - - name: body - description: 'Since: cosmos-sdk 0.46' - in: body - required: true - schema: - type: object - properties: - delegator_address: - type: string - validator_address: - type: string - amount: - type: object - properties: - denom: - type: string - amount: - type: string - description: >- - Coin defines a token with a denomination and an amount. - - - NOTE: The amount field is an Int which implements the custom - method - - signatures required by gogoproto. - title: >- - amount is always less than or equal to unbonding delegation - entry balance - creation_height: - type: string - format: int64 - description: creation_height is the height which the unbonding took place. - description: 'Since: cosmos-sdk 0.46' - title: >- - MsgCancelUnbondingDelegation defines the SDK message for - performing a cancel unbonding delegation for delegator - tags: - - Msg - /cosmos.staking.v1beta1.Msg/CreateValidator: - post: - summary: CreateValidator defines a method for creating a new validator. - operationId: CosmosStakingV1Beta1Msg_CreateValidator - responses: - '200': - description: A successful response. - schema: - type: object - description: >- - MsgCreateValidatorResponse defines the Msg/CreateValidator - response type. - default: - description: An unexpected error response. - schema: - type: object - properties: - code: - type: integer - format: int32 - message: - type: string - details: - type: array - items: - type: object - properties: - '@type': - type: string - description: >- - A URL/resource name that uniquely identifies the type of - the serialized - - protocol buffer message. This string must contain at - least - - one "/" character. The last segment of the URL's path - must represent - - the fully qualified name of the type (as in - - `path/google.protobuf.Duration`). The name should be in - a canonical form - - (e.g., leading "." is not accepted). - - - In practice, teams usually precompile into the binary - all types that they - - expect it to use in the context of Any. However, for - URLs which use the - - scheme `http`, `https`, or no scheme, one can optionally - set up a type - - server that maps type URLs to message definitions as - follows: - - - * If no scheme is provided, `https` is assumed. - - * An HTTP GET on the URL must yield a - [google.protobuf.Type][] - value in binary format, or produce an error. - * Applications are allowed to cache lookup results based - on the - URL, or have them precompiled into a binary to avoid any - lookup. Therefore, binary compatibility needs to be preserved - on changes to types. (Use versioned type names to manage - breaking changes.) - - Note: this functionality is not currently available in - the official - - protobuf release, and it is not used for type URLs - beginning with - - type.googleapis.com. As of May 2023, there are no widely - used type server - - implementations and no plans to implement one. - - - Schemes other than `http`, `https` (or the empty scheme) - might be - - used with implementation specific semantics. - additionalProperties: {} - description: >- - `Any` contains an arbitrary serialized protocol buffer - message along with a - - URL that describes the type of the serialized message. - - - Protobuf library provides support to pack/unpack Any values - in the form - - of utility functions or additional generated methods of the - Any type. - - - Example 1: Pack and unpack a message in C++. - - Foo foo = ...; - Any any; - any.PackFrom(foo); - ... - if (any.UnpackTo(&foo)) { - ... - } - - Example 2: Pack and unpack a message in Java. - - Foo foo = ...; - Any any = Any.pack(foo); - ... - if (any.is(Foo.class)) { - foo = any.unpack(Foo.class); - } - // or ... - if (any.isSameTypeAs(Foo.getDefaultInstance())) { - foo = any.unpack(Foo.getDefaultInstance()); - } - - Example 3: Pack and unpack a message in Python. - - foo = Foo(...) - any = Any() - any.Pack(foo) - ... - if any.Is(Foo.DESCRIPTOR): - any.Unpack(foo) - ... - - Example 4: Pack and unpack a message in Go - - foo := &pb.Foo{...} - any, err := anypb.New(foo) - if err != nil { - ... - } - ... - foo := &pb.Foo{} - if err := any.UnmarshalTo(foo); err != nil { - ... - } - - The pack methods provided by protobuf library will by - default use - - 'type.googleapis.com/full.type.name' as the type URL and the - unpack - - methods only use the fully qualified type name after the - last '/' - - in the type URL, for example "foo.bar.com/x/y.z" will yield - type - - name "y.z". - - - JSON - - ==== - - The JSON representation of an `Any` value uses the regular - - representation of the deserialized, embedded message, with - an - - additional field `@type` which contains the type URL. - Example: - - package google.profile; - message Person { - string first_name = 1; - string last_name = 2; - } - - { - "@type": "type.googleapis.com/google.profile.Person", - "firstName": , - "lastName": - } - - If the embedded message type is well-known and has a custom - JSON - - representation, that representation will be embedded adding - a field - - `value` which holds the custom JSON in addition to the - `@type` - - field. Example (for message [google.protobuf.Duration][]): - - { - "@type": "type.googleapis.com/google.protobuf.Duration", - "value": "1.212s" - } - parameters: - - name: body - description: >- - MsgCreateValidator defines a SDK message for creating a new - validator. - in: body - required: true - schema: - type: object - properties: - description: - type: object - properties: - moniker: - type: string - description: moniker defines a human-readable name for the validator. - identity: - type: string - description: >- - identity defines an optional identity signature (ex. UPort - or Keybase). - website: - type: string - description: website defines an optional website link. - security_contact: - type: string - description: >- - security_contact defines an optional email for security - contact. - details: - type: string - description: details define other optional details. - description: Description defines a validator description. - commission: - type: object - properties: - rate: - type: string - description: >- - rate is the commission rate charged to delegators, as a - fraction. - max_rate: - type: string - description: >- - max_rate defines the maximum commission rate which - validator can ever charge, as a fraction. - max_change_rate: - type: string - description: >- - max_change_rate defines the maximum daily increase of the - validator commission, as a fraction. - description: >- - CommissionRates defines the initial commission rates to be - used for creating - - a validator. - min_self_delegation: - type: string - delegator_address: - type: string - description: >- - Deprecated: Use of Delegator Address in MsgCreateValidator is - deprecated. - - The validator address bytes and delegator address bytes refer - to the same account while creating validator (defer - - only in bech32 notation). - validator_address: - type: string - pubkey: - type: object - properties: - '@type': - type: string - description: >- - A URL/resource name that uniquely identifies the type of - the serialized - - protocol buffer message. This string must contain at least - - one "/" character. The last segment of the URL's path must - represent - - the fully qualified name of the type (as in - - `path/google.protobuf.Duration`). The name should be in a - canonical form - - (e.g., leading "." is not accepted). - - - In practice, teams usually precompile into the binary all - types that they - - expect it to use in the context of Any. However, for URLs - which use the - - scheme `http`, `https`, or no scheme, one can optionally - set up a type - - server that maps type URLs to message definitions as - follows: - - - * If no scheme is provided, `https` is assumed. - - * An HTTP GET on the URL must yield a - [google.protobuf.Type][] - value in binary format, or produce an error. - * Applications are allowed to cache lookup results based - on the - URL, or have them precompiled into a binary to avoid any - lookup. Therefore, binary compatibility needs to be preserved - on changes to types. (Use versioned type names to manage - breaking changes.) - - Note: this functionality is not currently available in the - official - - protobuf release, and it is not used for type URLs - beginning with - - type.googleapis.com. As of May 2023, there are no widely - used type server - - implementations and no plans to implement one. - - - Schemes other than `http`, `https` (or the empty scheme) - might be - - used with implementation specific semantics. - additionalProperties: {} - description: >- - `Any` contains an arbitrary serialized protocol buffer message - along with a - - URL that describes the type of the serialized message. - - - Protobuf library provides support to pack/unpack Any values in - the form - - of utility functions or additional generated methods of the - Any type. - - - Example 1: Pack and unpack a message in C++. - - Foo foo = ...; - Any any; - any.PackFrom(foo); - ... - if (any.UnpackTo(&foo)) { - ... - } - - Example 2: Pack and unpack a message in Java. - - Foo foo = ...; - Any any = Any.pack(foo); - ... - if (any.is(Foo.class)) { - foo = any.unpack(Foo.class); - } - // or ... - if (any.isSameTypeAs(Foo.getDefaultInstance())) { - foo = any.unpack(Foo.getDefaultInstance()); - } - - Example 3: Pack and unpack a message in Python. - - foo = Foo(...) - any = Any() - any.Pack(foo) - ... - if any.Is(Foo.DESCRIPTOR): - any.Unpack(foo) - ... - - Example 4: Pack and unpack a message in Go - - foo := &pb.Foo{...} - any, err := anypb.New(foo) - if err != nil { - ... - } - ... - foo := &pb.Foo{} - if err := any.UnmarshalTo(foo); err != nil { - ... - } - - The pack methods provided by protobuf library will by default - use - - 'type.googleapis.com/full.type.name' as the type URL and the - unpack - - methods only use the fully qualified type name after the last - '/' - - in the type URL, for example "foo.bar.com/x/y.z" will yield - type - - name "y.z". - - - JSON - - ==== - - The JSON representation of an `Any` value uses the regular - - representation of the deserialized, embedded message, with an - - additional field `@type` which contains the type URL. Example: - - package google.profile; - message Person { - string first_name = 1; - string last_name = 2; - } - - { - "@type": "type.googleapis.com/google.profile.Person", - "firstName": , - "lastName": - } - - If the embedded message type is well-known and has a custom - JSON - - representation, that representation will be embedded adding a - field - - `value` which holds the custom JSON in addition to the `@type` - - field. Example (for message [google.protobuf.Duration][]): - - { - "@type": "type.googleapis.com/google.protobuf.Duration", - "value": "1.212s" - } - value: - type: object - properties: - denom: - type: string - amount: - type: string - description: >- - Coin defines a token with a denomination and an amount. - - - NOTE: The amount field is an Int which implements the custom - method - - signatures required by gogoproto. - description: >- - MsgCreateValidator defines a SDK message for creating a new - validator. - tags: - - Msg - /cosmos.staking.v1beta1.Msg/Delegate: - post: - summary: |- - Delegate defines a method for performing a delegation of coins - from a delegator to a validator. - operationId: CosmosStakingV1Beta1Msg_Delegate - responses: - '200': - description: A successful response. - schema: - type: object - description: MsgDelegateResponse defines the Msg/Delegate response type. - default: - description: An unexpected error response. - schema: - type: object - properties: - code: - type: integer - format: int32 - message: - type: string - details: - type: array - items: - type: object - properties: - '@type': - type: string - description: >- - A URL/resource name that uniquely identifies the type of - the serialized - - protocol buffer message. This string must contain at - least - - one "/" character. The last segment of the URL's path - must represent - - the fully qualified name of the type (as in - - `path/google.protobuf.Duration`). The name should be in - a canonical form - - (e.g., leading "." is not accepted). - - - In practice, teams usually precompile into the binary - all types that they - - expect it to use in the context of Any. However, for - URLs which use the - - scheme `http`, `https`, or no scheme, one can optionally - set up a type - - server that maps type URLs to message definitions as - follows: - - - * If no scheme is provided, `https` is assumed. - - * An HTTP GET on the URL must yield a - [google.protobuf.Type][] - value in binary format, or produce an error. - * Applications are allowed to cache lookup results based - on the - URL, or have them precompiled into a binary to avoid any - lookup. Therefore, binary compatibility needs to be preserved - on changes to types. (Use versioned type names to manage - breaking changes.) - - Note: this functionality is not currently available in - the official - - protobuf release, and it is not used for type URLs - beginning with - - type.googleapis.com. As of May 2023, there are no widely - used type server - - implementations and no plans to implement one. - - - Schemes other than `http`, `https` (or the empty scheme) - might be - - used with implementation specific semantics. - additionalProperties: {} - description: >- - `Any` contains an arbitrary serialized protocol buffer - message along with a - - URL that describes the type of the serialized message. - - - Protobuf library provides support to pack/unpack Any values - in the form - - of utility functions or additional generated methods of the - Any type. - - - Example 1: Pack and unpack a message in C++. - - Foo foo = ...; - Any any; - any.PackFrom(foo); - ... - if (any.UnpackTo(&foo)) { - ... - } - - Example 2: Pack and unpack a message in Java. - - Foo foo = ...; - Any any = Any.pack(foo); - ... - if (any.is(Foo.class)) { - foo = any.unpack(Foo.class); - } - // or ... - if (any.isSameTypeAs(Foo.getDefaultInstance())) { - foo = any.unpack(Foo.getDefaultInstance()); - } - - Example 3: Pack and unpack a message in Python. - - foo = Foo(...) - any = Any() - any.Pack(foo) - ... - if any.Is(Foo.DESCRIPTOR): - any.Unpack(foo) - ... - - Example 4: Pack and unpack a message in Go - - foo := &pb.Foo{...} - any, err := anypb.New(foo) - if err != nil { - ... - } - ... - foo := &pb.Foo{} - if err := any.UnmarshalTo(foo); err != nil { - ... - } - - The pack methods provided by protobuf library will by - default use - - 'type.googleapis.com/full.type.name' as the type URL and the - unpack - - methods only use the fully qualified type name after the - last '/' - - in the type URL, for example "foo.bar.com/x/y.z" will yield - type - - name "y.z". - - - JSON - - ==== - - The JSON representation of an `Any` value uses the regular - - representation of the deserialized, embedded message, with - an - - additional field `@type` which contains the type URL. - Example: - - package google.profile; - message Person { - string first_name = 1; - string last_name = 2; - } - - { - "@type": "type.googleapis.com/google.profile.Person", - "firstName": , - "lastName": - } - - If the embedded message type is well-known and has a custom - JSON - - representation, that representation will be embedded adding - a field - - `value` which holds the custom JSON in addition to the - `@type` - - field. Example (for message [google.protobuf.Duration][]): - - { - "@type": "type.googleapis.com/google.protobuf.Duration", - "value": "1.212s" - } - parameters: - - name: body - description: >- - MsgDelegate defines a SDK message for performing a delegation of - coins - - from a delegator to a validator. - in: body - required: true - schema: - type: object - properties: - delegator_address: - type: string - validator_address: - type: string - amount: - type: object - properties: - denom: - type: string - amount: - type: string - description: >- - Coin defines a token with a denomination and an amount. - - - NOTE: The amount field is an Int which implements the custom - method - - signatures required by gogoproto. - description: >- - MsgDelegate defines a SDK message for performing a delegation of - coins - - from a delegator to a validator. - tags: - - Msg - /cosmos.staking.v1beta1.Msg/EditValidator: - post: - summary: EditValidator defines a method for editing an existing validator. - operationId: CosmosStakingV1Beta1Msg_EditValidator - responses: - '200': - description: A successful response. - schema: - type: object - description: >- - MsgEditValidatorResponse defines the Msg/EditValidator response - type. - default: - description: An unexpected error response. - schema: - type: object - properties: - code: - type: integer - format: int32 - message: - type: string - details: - type: array - items: - type: object - properties: - '@type': - type: string - description: >- - A URL/resource name that uniquely identifies the type of - the serialized - - protocol buffer message. This string must contain at - least - - one "/" character. The last segment of the URL's path - must represent - - the fully qualified name of the type (as in - - `path/google.protobuf.Duration`). The name should be in - a canonical form - - (e.g., leading "." is not accepted). - - - In practice, teams usually precompile into the binary - all types that they - - expect it to use in the context of Any. However, for - URLs which use the - - scheme `http`, `https`, or no scheme, one can optionally - set up a type - - server that maps type URLs to message definitions as - follows: - - - * If no scheme is provided, `https` is assumed. - - * An HTTP GET on the URL must yield a - [google.protobuf.Type][] - value in binary format, or produce an error. - * Applications are allowed to cache lookup results based - on the - URL, or have them precompiled into a binary to avoid any - lookup. Therefore, binary compatibility needs to be preserved - on changes to types. (Use versioned type names to manage - breaking changes.) - - Note: this functionality is not currently available in - the official - - protobuf release, and it is not used for type URLs - beginning with - - type.googleapis.com. As of May 2023, there are no widely - used type server - - implementations and no plans to implement one. - - - Schemes other than `http`, `https` (or the empty scheme) - might be - - used with implementation specific semantics. - additionalProperties: {} - description: >- - `Any` contains an arbitrary serialized protocol buffer - message along with a - - URL that describes the type of the serialized message. - - - Protobuf library provides support to pack/unpack Any values - in the form - - of utility functions or additional generated methods of the - Any type. - - - Example 1: Pack and unpack a message in C++. - - Foo foo = ...; - Any any; - any.PackFrom(foo); - ... - if (any.UnpackTo(&foo)) { - ... - } - - Example 2: Pack and unpack a message in Java. - - Foo foo = ...; - Any any = Any.pack(foo); - ... - if (any.is(Foo.class)) { - foo = any.unpack(Foo.class); - } - // or ... - if (any.isSameTypeAs(Foo.getDefaultInstance())) { - foo = any.unpack(Foo.getDefaultInstance()); - } - - Example 3: Pack and unpack a message in Python. - - foo = Foo(...) - any = Any() - any.Pack(foo) - ... - if any.Is(Foo.DESCRIPTOR): - any.Unpack(foo) - ... - - Example 4: Pack and unpack a message in Go - - foo := &pb.Foo{...} - any, err := anypb.New(foo) - if err != nil { - ... - } - ... - foo := &pb.Foo{} - if err := any.UnmarshalTo(foo); err != nil { - ... - } - - The pack methods provided by protobuf library will by - default use - - 'type.googleapis.com/full.type.name' as the type URL and the - unpack - - methods only use the fully qualified type name after the - last '/' - - in the type URL, for example "foo.bar.com/x/y.z" will yield - type - - name "y.z". - - - JSON - - ==== - - The JSON representation of an `Any` value uses the regular - - representation of the deserialized, embedded message, with - an - - additional field `@type` which contains the type URL. - Example: - - package google.profile; - message Person { - string first_name = 1; - string last_name = 2; - } - - { - "@type": "type.googleapis.com/google.profile.Person", - "firstName": , - "lastName": - } - - If the embedded message type is well-known and has a custom - JSON - - representation, that representation will be embedded adding - a field - - `value` which holds the custom JSON in addition to the - `@type` - - field. Example (for message [google.protobuf.Duration][]): - - { - "@type": "type.googleapis.com/google.protobuf.Duration", - "value": "1.212s" - } - parameters: - - name: body - description: >- - MsgEditValidator defines a SDK message for editing an existing - validator. - in: body - required: true - schema: - type: object - properties: - description: - type: object - properties: - moniker: - type: string - description: moniker defines a human-readable name for the validator. - identity: - type: string - description: >- - identity defines an optional identity signature (ex. UPort - or Keybase). - website: - type: string - description: website defines an optional website link. - security_contact: - type: string - description: >- - security_contact defines an optional email for security - contact. - details: - type: string - description: details define other optional details. - description: Description defines a validator description. - validator_address: - type: string - commission_rate: - type: string - title: >- - We pass a reference to the new commission rate and min self - delegation as - - it's not mandatory to update. If not updated, the deserialized - rate will be - - zero with no way to distinguish if an update was intended. - - REF: #2373 - min_self_delegation: - type: string - description: >- - MsgEditValidator defines a SDK message for editing an existing - validator. - tags: - - Msg - /cosmos.staking.v1beta1.Msg/Undelegate: - post: - summary: |- - Undelegate defines a method for performing an undelegation from a - delegate and a validator. - operationId: CosmosStakingV1Beta1Msg_Undelegate - responses: - '200': - description: A successful response. - schema: - type: object - properties: - completion_time: - type: string - format: date-time - amount: - type: object - properties: - denom: - type: string - amount: - type: string - description: >- - Coin defines a token with a denomination and an amount. - - - NOTE: The amount field is an Int which implements the custom - method - - signatures required by gogoproto. - title: amount returns the amount of undelegated coins - description: MsgUndelegateResponse defines the Msg/Undelegate response type. - default: - description: An unexpected error response. - schema: - type: object - properties: - code: - type: integer - format: int32 - message: - type: string - details: - type: array - items: - type: object - properties: - '@type': - type: string - description: >- - A URL/resource name that uniquely identifies the type of - the serialized - - protocol buffer message. This string must contain at - least - - one "/" character. The last segment of the URL's path - must represent - - the fully qualified name of the type (as in - - `path/google.protobuf.Duration`). The name should be in - a canonical form - - (e.g., leading "." is not accepted). - - - In practice, teams usually precompile into the binary - all types that they - - expect it to use in the context of Any. However, for - URLs which use the - - scheme `http`, `https`, or no scheme, one can optionally - set up a type - - server that maps type URLs to message definitions as - follows: - - - * If no scheme is provided, `https` is assumed. - - * An HTTP GET on the URL must yield a - [google.protobuf.Type][] - value in binary format, or produce an error. - * Applications are allowed to cache lookup results based - on the - URL, or have them precompiled into a binary to avoid any - lookup. Therefore, binary compatibility needs to be preserved - on changes to types. (Use versioned type names to manage - breaking changes.) - - Note: this functionality is not currently available in - the official - - protobuf release, and it is not used for type URLs - beginning with - - type.googleapis.com. As of May 2023, there are no widely - used type server - - implementations and no plans to implement one. - - - Schemes other than `http`, `https` (or the empty scheme) - might be - - used with implementation specific semantics. - additionalProperties: {} - description: >- - `Any` contains an arbitrary serialized protocol buffer - message along with a - - URL that describes the type of the serialized message. - - - Protobuf library provides support to pack/unpack Any values - in the form - - of utility functions or additional generated methods of the - Any type. - - - Example 1: Pack and unpack a message in C++. - - Foo foo = ...; - Any any; - any.PackFrom(foo); - ... - if (any.UnpackTo(&foo)) { - ... - } - - Example 2: Pack and unpack a message in Java. - - Foo foo = ...; - Any any = Any.pack(foo); - ... - if (any.is(Foo.class)) { - foo = any.unpack(Foo.class); - } - // or ... - if (any.isSameTypeAs(Foo.getDefaultInstance())) { - foo = any.unpack(Foo.getDefaultInstance()); - } - - Example 3: Pack and unpack a message in Python. - - foo = Foo(...) - any = Any() - any.Pack(foo) - ... - if any.Is(Foo.DESCRIPTOR): - any.Unpack(foo) - ... - - Example 4: Pack and unpack a message in Go - - foo := &pb.Foo{...} - any, err := anypb.New(foo) - if err != nil { - ... - } - ... - foo := &pb.Foo{} - if err := any.UnmarshalTo(foo); err != nil { - ... - } - - The pack methods provided by protobuf library will by - default use - - 'type.googleapis.com/full.type.name' as the type URL and the - unpack - - methods only use the fully qualified type name after the - last '/' - - in the type URL, for example "foo.bar.com/x/y.z" will yield - type - - name "y.z". - - - JSON - - ==== - - The JSON representation of an `Any` value uses the regular - - representation of the deserialized, embedded message, with - an - - additional field `@type` which contains the type URL. - Example: - - package google.profile; - message Person { - string first_name = 1; - string last_name = 2; - } - - { - "@type": "type.googleapis.com/google.profile.Person", - "firstName": , - "lastName": - } - - If the embedded message type is well-known and has a custom - JSON - - representation, that representation will be embedded adding - a field - - `value` which holds the custom JSON in addition to the - `@type` - - field. Example (for message [google.protobuf.Duration][]): - - { - "@type": "type.googleapis.com/google.protobuf.Duration", - "value": "1.212s" - } - parameters: - - name: body - description: >- - MsgUndelegate defines a SDK message for performing an undelegation - from a - - delegate and a validator. - in: body - required: true - schema: - type: object - properties: - delegator_address: - type: string - validator_address: - type: string - amount: - type: object - properties: - denom: - type: string - amount: - type: string - description: >- - Coin defines a token with a denomination and an amount. - - - NOTE: The amount field is an Int which implements the custom - method - - signatures required by gogoproto. - description: >- - MsgUndelegate defines a SDK message for performing an undelegation - from a - - delegate and a validator. - tags: - - Msg - /cosmos.staking.v1beta1.Msg/UpdateParams: - post: - summary: |- - UpdateParams defines an operation for updating the x/staking module - parameters. - Since: cosmos-sdk 0.47 - operationId: CosmosStakingV1Beta1Msg_UpdateParams - responses: - '200': - description: A successful response. - schema: - type: object - description: >- - MsgUpdateParamsResponse defines the response structure for - executing a - - MsgUpdateParams message. - - - Since: cosmos-sdk 0.47 - default: - description: An unexpected error response. - schema: - type: object - properties: - code: - type: integer - format: int32 - message: - type: string - details: - type: array - items: - type: object - properties: - '@type': - type: string - description: >- - A URL/resource name that uniquely identifies the type of - the serialized - - protocol buffer message. This string must contain at - least - - one "/" character. The last segment of the URL's path - must represent - - the fully qualified name of the type (as in - - `path/google.protobuf.Duration`). The name should be in - a canonical form - - (e.g., leading "." is not accepted). - - - In practice, teams usually precompile into the binary - all types that they - - expect it to use in the context of Any. However, for - URLs which use the - - scheme `http`, `https`, or no scheme, one can optionally - set up a type - - server that maps type URLs to message definitions as - follows: - - - * If no scheme is provided, `https` is assumed. - - * An HTTP GET on the URL must yield a - [google.protobuf.Type][] - value in binary format, or produce an error. - * Applications are allowed to cache lookup results based - on the - URL, or have them precompiled into a binary to avoid any - lookup. Therefore, binary compatibility needs to be preserved - on changes to types. (Use versioned type names to manage - breaking changes.) - - Note: this functionality is not currently available in - the official - - protobuf release, and it is not used for type URLs - beginning with - - type.googleapis.com. As of May 2023, there are no widely - used type server - - implementations and no plans to implement one. - - - Schemes other than `http`, `https` (or the empty scheme) - might be - - used with implementation specific semantics. - additionalProperties: {} - description: >- - `Any` contains an arbitrary serialized protocol buffer - message along with a - - URL that describes the type of the serialized message. - - - Protobuf library provides support to pack/unpack Any values - in the form - - of utility functions or additional generated methods of the - Any type. - - - Example 1: Pack and unpack a message in C++. - - Foo foo = ...; - Any any; - any.PackFrom(foo); - ... - if (any.UnpackTo(&foo)) { - ... - } - - Example 2: Pack and unpack a message in Java. - - Foo foo = ...; - Any any = Any.pack(foo); - ... - if (any.is(Foo.class)) { - foo = any.unpack(Foo.class); - } - // or ... - if (any.isSameTypeAs(Foo.getDefaultInstance())) { - foo = any.unpack(Foo.getDefaultInstance()); - } - - Example 3: Pack and unpack a message in Python. - - foo = Foo(...) - any = Any() - any.Pack(foo) - ... - if any.Is(Foo.DESCRIPTOR): - any.Unpack(foo) - ... - - Example 4: Pack and unpack a message in Go - - foo := &pb.Foo{...} - any, err := anypb.New(foo) - if err != nil { - ... - } - ... - foo := &pb.Foo{} - if err := any.UnmarshalTo(foo); err != nil { - ... - } - - The pack methods provided by protobuf library will by - default use - - 'type.googleapis.com/full.type.name' as the type URL and the - unpack - - methods only use the fully qualified type name after the - last '/' - - in the type URL, for example "foo.bar.com/x/y.z" will yield - type - - name "y.z". - - - JSON - - ==== - - The JSON representation of an `Any` value uses the regular - - representation of the deserialized, embedded message, with - an - - additional field `@type` which contains the type URL. - Example: - - package google.profile; - message Person { - string first_name = 1; - string last_name = 2; - } - - { - "@type": "type.googleapis.com/google.profile.Person", - "firstName": , - "lastName": - } - - If the embedded message type is well-known and has a custom - JSON - - representation, that representation will be embedded adding - a field - - `value` which holds the custom JSON in addition to the - `@type` - - field. Example (for message [google.protobuf.Duration][]): - - { - "@type": "type.googleapis.com/google.protobuf.Duration", - "value": "1.212s" - } - parameters: - - name: body - description: |- - MsgUpdateParams is the Msg/UpdateParams request type. - - Since: cosmos-sdk 0.47 - in: body - required: true - schema: - type: object - properties: - authority: - type: string - description: >- - authority is the address that controls the module (defaults to - x/gov unless overwritten). - params: - description: |- - params defines the x/staking parameters to update. - - NOTE: All parameters must be supplied. - type: object - properties: - unbonding_time: - type: string - description: unbonding_time is the time duration of unbonding. - max_validators: - type: integer - format: int64 - description: max_validators is the maximum number of validators. - max_entries: - type: integer - format: int64 - description: >- - max_entries is the max entries for either unbonding - delegation or redelegation (per pair/trio). - historical_entries: - type: integer - format: int64 - description: >- - historical_entries is the number of historical entries to - persist. - bond_denom: - type: string - description: bond_denom defines the bondable coin denomination. - min_commission_rate: - type: string - title: >- - min_commission_rate is the chain-wide minimum commission - rate that a validator can charge their delegators - description: |- - MsgUpdateParams is the Msg/UpdateParams request type. - - Since: cosmos-sdk 0.47 - tags: - - Msg - /fairyring.pep.Msg/CreateAggregatedKeyShare: - post: - summary: 'this line is used by starport scaffolding # proto/tx/rpc' - operationId: FairyringPepMsg_CreateAggregatedKeyShare - responses: - '200': - description: A successful response. - schema: - type: object - default: - description: An unexpected error response. - schema: - type: object - properties: - code: - type: integer - format: int32 - message: - type: string - details: - type: array - items: - type: object - properties: - '@type': - type: string - additionalProperties: {} - parameters: - - name: body - in: body - required: true - schema: - type: object - properties: - creator: - type: string - height: - type: string - format: uint64 - data: - type: string - title: 'this line is used by starport scaffolding # proto/tx/message' - tags: - - Msg - /fairyring.pep.Msg/GetGeneralKeyshare: - post: - operationId: FairyringPepMsg_GetGeneralKeyshare - responses: - '200': - description: A successful response. - schema: - type: object - default: - description: An unexpected error response. - schema: - type: object - properties: - code: - type: integer - format: int32 - message: - type: string - details: - type: array - items: - type: object - properties: - '@type': - type: string - additionalProperties: {} - parameters: - - name: body - in: body - required: true - schema: - type: object - properties: - creator: - type: string - req_id: - type: string - tags: - - Msg - /fairyring.pep.Msg/RequestGeneralKeyshare: - post: - operationId: FairyringPepMsg_RequestGeneralKeyshare - responses: - '200': - description: A successful response. - schema: - type: object - properties: - req_id: - type: string - default: - description: An unexpected error response. - schema: - type: object - properties: - code: - type: integer - format: int32 - message: - type: string - details: - type: array - items: - type: object - properties: - '@type': - type: string - additionalProperties: {} - parameters: - - name: body - in: body - required: true - schema: - type: object - properties: - creator: - type: string - estimated_delay: - type: string - req_id: - type: string - tags: - - Msg - /fairyring.pep.Msg/SubmitEncryptedTx: - post: - operationId: FairyringPepMsg_SubmitEncryptedTx - responses: - '200': - description: A successful response. - schema: - type: object - default: - description: An unexpected error response. - schema: - type: object - properties: - code: - type: integer - format: int32 - message: - type: string - details: - type: array - items: - type: object - properties: - '@type': - type: string - additionalProperties: {} - parameters: - - name: body - in: body - required: true - schema: - type: object - properties: - creator: - type: string - data: - type: string - targetBlockHeight: - type: string - format: uint64 - tags: - - Msg - /fairyring.pep.Msg/SubmitGeneralEncryptedTx: - post: - operationId: FairyringPepMsg_SubmitGeneralEncryptedTx - responses: - '200': - description: A successful response. - schema: - type: object - default: - description: An unexpected error response. - schema: - type: object - properties: - code: - type: integer - format: int32 - message: - type: string - details: - type: array - items: - type: object - properties: - '@type': - type: string - additionalProperties: {} - parameters: - - name: body - in: body - required: true - schema: - type: object - properties: - creator: - type: string - data: - type: string - req_id: - type: string - tags: - - Msg - /fairyring.pep.Msg/UpdateParams: - post: - summary: |- - UpdateParams defines a (governance) operation for updating the module - parameters. The authority defaults to the x/gov module account. - operationId: FairyringPepMsg_UpdateParams - responses: - '200': - description: A successful response. - schema: - type: object - description: >- - MsgUpdateParamsResponse defines the response structure for - executing a - - MsgUpdateParams message. - default: - description: An unexpected error response. - schema: - type: object - properties: - code: - type: integer - format: int32 - message: - type: string - details: - type: array - items: - type: object - properties: - '@type': - type: string - additionalProperties: {} - parameters: - - name: body - description: MsgUpdateParams is the Msg/UpdateParams request type. - in: body - required: true - schema: - type: object - properties: - authority: - type: string - description: >- - authority is the address that controls the module (defaults to - x/gov unless overwritten). - params: - description: 'NOTE: All parameters must be supplied.' - type: object - properties: - keyshare_channel_id: - type: string - is_source_chain: - type: boolean - trusted_counter_parties: - type: array - items: - type: object - properties: - client_id: - type: string - connection_id: - type: string - channel_id: - type: string - trusted_addresses: - type: array - items: - type: string - min_gas_price: - type: object - properties: - denom: - type: string - amount: - type: string - description: >- - Coin defines a token with a denomination and an amount. - - - NOTE: The amount field is an Int which implements the - custom method - - signatures required by gogoproto. - description: MsgUpdateParams is the Msg/UpdateParams request type. - tags: - - Msg - /fairyring/pep/encrypted_tx: - get: - summary: Queries a list of EncryptedTx items. - operationId: FairyringPepQuery_EncryptedTxAll - responses: - '200': - description: A successful response. - schema: - type: object - properties: - encryptedTxArray: - type: array - items: - type: object - properties: - encryptedTx: - type: array - items: - type: object - properties: - targetHeight: - type: string - format: uint64 - index: - type: string - format: uint64 - data: - type: string - creator: - type: string - chargedGas: - type: object - properties: - denom: - type: string - amount: - type: string - description: >- - Coin defines a token with a denomination and an - amount. - - - NOTE: The amount field is an Int which implements - the custom method - - signatures required by gogoproto. - processedAtChainHeight: - type: string - format: uint64 - expired: - type: boolean - pagination: - type: object - properties: - next_key: - type: string - format: byte - description: |- - next_key is the key to be passed to PageRequest.key to - query the next page most efficiently. It will be empty if - there are no more results. - total: - type: string - format: uint64 - title: >- - total is total number of results available if - PageRequest.count_total - - was set, its value is undefined otherwise - description: >- - PageResponse is to be embedded in gRPC response messages where - the - - corresponding request message has used PageRequest. - - message SomeResponse { - repeated Bar results = 1; - PageResponse page = 2; - } - default: - description: An unexpected error response. - schema: - type: object - properties: - code: - type: integer - format: int32 - message: - type: string - details: - type: array - items: - type: object - properties: - '@type': - type: string - additionalProperties: {} - parameters: - - name: pagination.key - description: |- - key is a value returned in PageResponse.next_key to begin - querying the next page most efficiently. Only one of offset or key - should be set. - in: query - required: false - type: string - format: byte - - name: pagination.offset - description: >- - offset is a numeric offset that can be used when key is unavailable. - - It is less efficient than using key. Only one of offset or key - should - - be set. - in: query - required: false - type: string - format: uint64 - - name: pagination.limit - description: >- - limit is the total number of results to be returned in the result - page. - - If left empty it will default to a value to be set by each app. - in: query - required: false - type: string - format: uint64 - - name: pagination.count_total - description: >- - count_total is set to true to indicate that the result set should - include - - a count of the total number of items available for pagination in - UIs. - - count_total is only respected when offset is used. It is ignored - when key - - is set. - in: query - required: false - type: boolean - - name: pagination.reverse - description: >- - reverse is set to true if results are to be returned in the - descending order. - - - Since: cosmos-sdk 0.43 - in: query - required: false - type: boolean - tags: - - Query - /fairyring/pep/encrypted_tx/{targetHeight}: - get: - summary: Queries a list of EncryptedTx items. - operationId: FairyringPepQuery_EncryptedTxAllFromHeight - responses: - '200': - description: A successful response. - schema: - type: object - properties: - encryptedTxArray: - type: object - properties: - encryptedTx: - type: array - items: - type: object - properties: - targetHeight: - type: string - format: uint64 - index: - type: string - format: uint64 - data: - type: string - creator: - type: string - chargedGas: - type: object - properties: - denom: - type: string - amount: - type: string - description: >- - Coin defines a token with a denomination and an - amount. - - - NOTE: The amount field is an Int which implements - the custom method - - signatures required by gogoproto. - processedAtChainHeight: - type: string - format: uint64 - expired: - type: boolean - default: - description: An unexpected error response. - schema: - type: object - properties: - code: - type: integer - format: int32 - message: - type: string - details: - type: array - items: - type: object - properties: - '@type': - type: string - additionalProperties: {} - parameters: - - name: targetHeight - in: path - required: true - type: string - format: uint64 - tags: - - Query - /fairyring/pep/encrypted_tx/{targetHeight}/{index}: - get: - summary: Queries a EncryptedTx by index. - operationId: FairyringPepQuery_EncryptedTx - responses: - '200': - description: A successful response. - schema: - type: object - properties: - encryptedTx: - type: object - properties: - targetHeight: - type: string - format: uint64 - index: - type: string - format: uint64 - data: - type: string - creator: - type: string - chargedGas: - type: object - properties: - denom: - type: string - amount: - type: string - description: >- - Coin defines a token with a denomination and an amount. - - - NOTE: The amount field is an Int which implements the - custom method - - signatures required by gogoproto. - processedAtChainHeight: - type: string - format: uint64 - expired: - type: boolean - default: - description: An unexpected error response. - schema: - type: object - properties: - code: - type: integer - format: int32 - message: - type: string - details: - type: array - items: - type: object - properties: - '@type': - type: string - additionalProperties: {} - parameters: - - name: targetHeight - in: path - required: true - type: string - format: uint64 - - name: index - in: path - required: true - type: string - format: uint64 - tags: - - Query - /fairyring/pep/keyshare: - get: - operationId: FairyringPepQuery_KeyshareReqAll - responses: - '200': - description: A successful response. - schema: - type: object - properties: - keyshares: - type: array - items: - type: object - properties: - creator: - type: string - request_id: - type: string - identity: - type: string - pubkey: - type: string - tx_list: - type: object - properties: - encryptedTx: - type: array - items: - type: object - properties: - identity: - type: string - index: - type: string - format: uint64 - data: - type: string - creator: - type: string - chargedGas: - type: object - properties: - denom: - type: string - amount: - type: string - description: >- - Coin defines a token with a denomination and - an amount. - - - NOTE: The amount field is an Int which - implements the custom method - - signatures required by gogoproto. - aggr_keyshare: - type: string - pagination: - type: object - properties: - next_key: - type: string - format: byte - description: |- - next_key is the key to be passed to PageRequest.key to - query the next page most efficiently. It will be empty if - there are no more results. - total: - type: string - format: uint64 - title: >- - total is total number of results available if - PageRequest.count_total - - was set, its value is undefined otherwise - description: >- - PageResponse is to be embedded in gRPC response messages where - the - - corresponding request message has used PageRequest. - - message SomeResponse { - repeated Bar results = 1; - PageResponse page = 2; - } - default: - description: An unexpected error response. - schema: - type: object - properties: - code: - type: integer - format: int32 - message: - type: string - details: - type: array - items: - type: object - properties: - '@type': - type: string - additionalProperties: {} - parameters: - - name: pagination.key - description: |- - key is a value returned in PageResponse.next_key to begin - querying the next page most efficiently. Only one of offset or key - should be set. - in: query - required: false - type: string - format: byte - - name: pagination.offset - description: >- - offset is a numeric offset that can be used when key is unavailable. - - It is less efficient than using key. Only one of offset or key - should - - be set. - in: query - required: false - type: string - format: uint64 - - name: pagination.limit - description: >- - limit is the total number of results to be returned in the result - page. - - If left empty it will default to a value to be set by each app. - in: query - required: false - type: string - format: uint64 - - name: pagination.count_total - description: >- - count_total is set to true to indicate that the result set should - include - - a count of the total number of items available for pagination in - UIs. - - count_total is only respected when offset is used. It is ignored - when key - - is set. - in: query - required: false - type: boolean - - name: pagination.reverse - description: >- - reverse is set to true if results are to be returned in the - descending order. - - - Since: cosmos-sdk 0.43 - in: query - required: false - type: boolean - tags: - - Query - /fairyring/pep/keyshare/{req_id}: - get: - operationId: FairyringPepQuery_KeyshareReq - responses: - '200': - description: A successful response. - schema: - type: object - properties: - keyshare: - type: object - properties: - creator: - type: string - request_id: - type: string - identity: - type: string - pubkey: - type: string - tx_list: - type: object - properties: - encryptedTx: - type: array - items: - type: object - properties: - identity: - type: string - index: - type: string - format: uint64 - data: - type: string - creator: - type: string - chargedGas: - type: object - properties: - denom: - type: string - amount: - type: string - description: >- - Coin defines a token with a denomination and an - amount. - - - NOTE: The amount field is an Int which - implements the custom method - - signatures required by gogoproto. - aggr_keyshare: - type: string - default: - description: An unexpected error response. - schema: - type: object - properties: - code: - type: integer - format: int32 - message: - type: string - details: - type: array - items: - type: object - properties: - '@type': - type: string - additionalProperties: {} - parameters: - - name: req_id - in: path - required: true - type: string - tags: - - Query - /fairyring/pep/latest_height: - get: - summary: Queries a list of LatestHeight items. - operationId: FairyringPepQuery_LatestHeight - responses: - '200': - description: A successful response. - schema: - type: object - properties: - height: - type: string - format: uint64 - default: - description: An unexpected error response. - schema: - type: object - properties: - code: - type: integer - format: int32 - message: - type: string - details: - type: array - items: - type: object - properties: - '@type': - type: string - additionalProperties: {} - tags: - - Query - /fairyring/pep/params: - get: - summary: Parameters queries the parameters of the module. - operationId: FairyringPepQuery_Params - responses: - '200': - description: A successful response. - schema: - type: object - properties: - params: - description: params holds all the parameters of this module. - type: object - properties: - keyshare_channel_id: - type: string - is_source_chain: - type: boolean - trusted_counter_parties: - type: array - items: - type: object - properties: - client_id: - type: string - connection_id: - type: string - channel_id: - type: string - trusted_addresses: - type: array - items: - type: string - min_gas_price: - type: object - properties: - denom: - type: string - amount: - type: string - description: >- - Coin defines a token with a denomination and an amount. - - - NOTE: The amount field is an Int which implements the - custom method - - signatures required by gogoproto. - description: >- - QueryParamsResponse is response type for the Query/Params RPC - method. - default: - description: An unexpected error response. - schema: - type: object - properties: - code: - type: integer - format: int32 - message: - type: string - details: - type: array - items: - type: object - properties: - '@type': - type: string - additionalProperties: {} - tags: - - Query - /fairyring/pep/pep_nonce: - get: - summary: Queries a list of PepNonce items. - operationId: FairyringPepQuery_PepNonceAll - responses: - '200': - description: A successful response. - schema: - type: object - properties: - pepNonce: - type: array - items: - type: object - properties: - address: - type: string - nonce: - type: string - format: uint64 - pagination: - type: object - properties: - next_key: - type: string - format: byte - description: |- - next_key is the key to be passed to PageRequest.key to - query the next page most efficiently. It will be empty if - there are no more results. - total: - type: string - format: uint64 - title: >- - total is total number of results available if - PageRequest.count_total - - was set, its value is undefined otherwise - description: >- - PageResponse is to be embedded in gRPC response messages where - the - - corresponding request message has used PageRequest. - - message SomeResponse { - repeated Bar results = 1; - PageResponse page = 2; - } - default: - description: An unexpected error response. - schema: - type: object - properties: - code: - type: integer - format: int32 - message: - type: string - details: - type: array - items: - type: object - properties: - '@type': - type: string - additionalProperties: {} - parameters: - - name: pagination.key - description: |- - key is a value returned in PageResponse.next_key to begin - querying the next page most efficiently. Only one of offset or key - should be set. - in: query - required: false - type: string - format: byte - - name: pagination.offset - description: >- - offset is a numeric offset that can be used when key is unavailable. - - It is less efficient than using key. Only one of offset or key - should - - be set. - in: query - required: false - type: string - format: uint64 - - name: pagination.limit - description: >- - limit is the total number of results to be returned in the result - page. - - If left empty it will default to a value to be set by each app. - in: query - required: false - type: string - format: uint64 - - name: pagination.count_total - description: >- - count_total is set to true to indicate that the result set should - include - - a count of the total number of items available for pagination in - UIs. - - count_total is only respected when offset is used. It is ignored - when key - - is set. - in: query - required: false - type: boolean - - name: pagination.reverse - description: >- - reverse is set to true if results are to be returned in the - descending order. - - - Since: cosmos-sdk 0.43 - in: query - required: false - type: boolean - tags: - - Query - /fairyring/pep/pep_nonce/{address}: - get: - summary: Queries a PepNonce by index. - operationId: FairyringPepQuery_PepNonce - responses: - '200': - description: A successful response. - schema: - type: object - properties: - pepNonce: - type: object - properties: - address: - type: string - nonce: - type: string - format: uint64 - default: - description: An unexpected error response. - schema: - type: object - properties: - code: - type: integer - format: int32 - message: - type: string - details: - type: array - items: - type: object - properties: - '@type': - type: string - additionalProperties: {} - parameters: - - name: address - in: path - required: true - type: string - tags: - - Query - /fairyring/pep/pub_key: - get: - summary: Queries the public keys - operationId: FairyringPepQuery_PubKey - responses: - '200': - description: A successful response. - schema: - type: object - properties: - activePubKey: - type: object - properties: - publicKey: - type: string - creator: - type: string - expiry: - type: string - format: uint64 - queuedPubKey: - type: object - properties: - publicKey: - type: string - creator: - type: string - expiry: - type: string - format: uint64 - default: - description: An unexpected error response. - schema: - type: object - properties: - code: - type: integer - format: int32 - message: - type: string - details: - type: array - items: - type: object - properties: - '@type': - type: string - additionalProperties: {} - tags: - - Query - /ibc.applications.fee.v1.Msg/PayPacketFee: - post: - summary: >- - PayPacketFee defines a rpc handler method for MsgPayPacketFee - - PayPacketFee is an open callback that may be called by any module/user - that wishes to escrow funds in order to - - incentivize the relaying of the packet at the next sequence - - NOTE: This method is intended to be used within a multi msg transaction, - where the subsequent msg that follows - - initiates the lifecycle of the incentivized packet - operationId: IbcApplicationsFeeV1Msg_PayPacketFee - responses: - '200': - description: A successful response. - schema: - type: object - title: >- - MsgPayPacketFeeResponse defines the response type for the - PayPacketFee rpc - default: - description: An unexpected error response. - schema: - type: object - properties: - code: - type: integer - format: int32 - message: - type: string - details: - type: array - items: - type: object - properties: - '@type': - type: string - description: >- - A URL/resource name that uniquely identifies the type of - the serialized - - protocol buffer message. This string must contain at - least - - one "/" character. The last segment of the URL's path - must represent - - the fully qualified name of the type (as in - - `path/google.protobuf.Duration`). The name should be in - a canonical form - - (e.g., leading "." is not accepted). - - - In practice, teams usually precompile into the binary - all types that they - - expect it to use in the context of Any. However, for - URLs which use the - - scheme `http`, `https`, or no scheme, one can optionally - set up a type - - server that maps type URLs to message definitions as - follows: - - - * If no scheme is provided, `https` is assumed. - - * An HTTP GET on the URL must yield a - [google.protobuf.Type][] - value in binary format, or produce an error. - * Applications are allowed to cache lookup results based - on the - URL, or have them precompiled into a binary to avoid any - lookup. Therefore, binary compatibility needs to be preserved - on changes to types. (Use versioned type names to manage - breaking changes.) - - Note: this functionality is not currently available in - the official - - protobuf release, and it is not used for type URLs - beginning with - - type.googleapis.com. As of May 2023, there are no widely - used type server - - implementations and no plans to implement one. - - - Schemes other than `http`, `https` (or the empty scheme) - might be - - used with implementation specific semantics. - additionalProperties: {} - description: >- - `Any` contains an arbitrary serialized protocol buffer - message along with a - - URL that describes the type of the serialized message. - - - Protobuf library provides support to pack/unpack Any values - in the form - - of utility functions or additional generated methods of the - Any type. - - - Example 1: Pack and unpack a message in C++. - - Foo foo = ...; - Any any; - any.PackFrom(foo); - ... - if (any.UnpackTo(&foo)) { - ... - } - - Example 2: Pack and unpack a message in Java. - - Foo foo = ...; - Any any = Any.pack(foo); - ... - if (any.is(Foo.class)) { - foo = any.unpack(Foo.class); - } - // or ... - if (any.isSameTypeAs(Foo.getDefaultInstance())) { - foo = any.unpack(Foo.getDefaultInstance()); - } - - Example 3: Pack and unpack a message in Python. - - foo = Foo(...) - any = Any() - any.Pack(foo) - ... - if any.Is(Foo.DESCRIPTOR): - any.Unpack(foo) - ... - - Example 4: Pack and unpack a message in Go - - foo := &pb.Foo{...} - any, err := anypb.New(foo) - if err != nil { - ... - } - ... - foo := &pb.Foo{} - if err := any.UnmarshalTo(foo); err != nil { - ... - } - - The pack methods provided by protobuf library will by - default use - - 'type.googleapis.com/full.type.name' as the type URL and the - unpack - - methods only use the fully qualified type name after the - last '/' - - in the type URL, for example "foo.bar.com/x/y.z" will yield - type - - name "y.z". - - - JSON - - ==== - - The JSON representation of an `Any` value uses the regular - - representation of the deserialized, embedded message, with - an - - additional field `@type` which contains the type URL. - Example: - - package google.profile; - message Person { - string first_name = 1; - string last_name = 2; - } - - { - "@type": "type.googleapis.com/google.profile.Person", - "firstName": , - "lastName": - } - - If the embedded message type is well-known and has a custom - JSON - - representation, that representation will be embedded adding - a field - - `value` which holds the custom JSON in addition to the - `@type` - - field. Example (for message [google.protobuf.Duration][]): - - { - "@type": "type.googleapis.com/google.protobuf.Duration", - "value": "1.212s" - } - parameters: - - name: body - in: body - required: true - schema: - type: object - properties: - fee: - title: >- - fee encapsulates the recv, ack and timeout fees associated - with an IBC packet - type: object - properties: - recv_fee: - type: array - items: - type: object - properties: - denom: - type: string - amount: - type: string - description: >- - Coin defines a token with a denomination and an amount. - - - NOTE: The amount field is an Int which implements the - custom method - - signatures required by gogoproto. - title: the packet receive fee - ack_fee: - type: array - items: - type: object - properties: - denom: - type: string - amount: - type: string - description: >- - Coin defines a token with a denomination and an amount. - - - NOTE: The amount field is an Int which implements the - custom method - - signatures required by gogoproto. - title: the packet acknowledgement fee - timeout_fee: - type: array - items: - type: object - properties: - denom: - type: string - amount: - type: string - description: >- - Coin defines a token with a denomination and an amount. - - - NOTE: The amount field is an Int which implements the - custom method - - signatures required by gogoproto. - title: the packet timeout fee - source_port_id: - type: string - title: the source port unique identifier - source_channel_id: - type: string - title: the source channel unique identifer - signer: - type: string - title: account address to refund fee if necessary - relayers: - type: array - items: - type: string - title: optional list of relayers permitted to the receive packet fees - title: >- - MsgPayPacketFee defines the request type for the PayPacketFee rpc - - This Msg can be used to pay for a packet at the next sequence send - & should be combined with the Msg that will be - - paid for - tags: - - Msg - /ibc.applications.fee.v1.Msg/PayPacketFeeAsync: - post: - summary: >- - PayPacketFeeAsync defines a rpc handler method for MsgPayPacketFeeAsync - - PayPacketFeeAsync is an open callback that may be called by any - module/user that wishes to escrow funds in order to - - incentivize the relaying of a known packet (i.e. at a particular - sequence) - operationId: IbcApplicationsFeeV1Msg_PayPacketFeeAsync - responses: - '200': - description: A successful response. - schema: - type: object - title: >- - MsgPayPacketFeeAsyncResponse defines the response type for the - PayPacketFeeAsync rpc - default: - description: An unexpected error response. - schema: - type: object - properties: - code: - type: integer - format: int32 - message: - type: string - details: - type: array - items: - type: object - properties: - '@type': - type: string - description: >- - A URL/resource name that uniquely identifies the type of - the serialized - - protocol buffer message. This string must contain at - least - - one "/" character. The last segment of the URL's path - must represent - - the fully qualified name of the type (as in - - `path/google.protobuf.Duration`). The name should be in - a canonical form - - (e.g., leading "." is not accepted). - - - In practice, teams usually precompile into the binary - all types that they - - expect it to use in the context of Any. However, for - URLs which use the - - scheme `http`, `https`, or no scheme, one can optionally - set up a type - - server that maps type URLs to message definitions as - follows: - - - * If no scheme is provided, `https` is assumed. - - * An HTTP GET on the URL must yield a - [google.protobuf.Type][] - value in binary format, or produce an error. - * Applications are allowed to cache lookup results based - on the - URL, or have them precompiled into a binary to avoid any - lookup. Therefore, binary compatibility needs to be preserved - on changes to types. (Use versioned type names to manage - breaking changes.) - - Note: this functionality is not currently available in - the official - - protobuf release, and it is not used for type URLs - beginning with - - type.googleapis.com. As of May 2023, there are no widely - used type server - - implementations and no plans to implement one. - - - Schemes other than `http`, `https` (or the empty scheme) - might be - - used with implementation specific semantics. - additionalProperties: {} - description: >- - `Any` contains an arbitrary serialized protocol buffer - message along with a - - URL that describes the type of the serialized message. - - - Protobuf library provides support to pack/unpack Any values - in the form - - of utility functions or additional generated methods of the - Any type. - - - Example 1: Pack and unpack a message in C++. - - Foo foo = ...; - Any any; - any.PackFrom(foo); - ... - if (any.UnpackTo(&foo)) { - ... - } - - Example 2: Pack and unpack a message in Java. - - Foo foo = ...; - Any any = Any.pack(foo); - ... - if (any.is(Foo.class)) { - foo = any.unpack(Foo.class); - } - // or ... - if (any.isSameTypeAs(Foo.getDefaultInstance())) { - foo = any.unpack(Foo.getDefaultInstance()); - } - - Example 3: Pack and unpack a message in Python. - - foo = Foo(...) - any = Any() - any.Pack(foo) - ... - if any.Is(Foo.DESCRIPTOR): - any.Unpack(foo) - ... - - Example 4: Pack and unpack a message in Go - - foo := &pb.Foo{...} - any, err := anypb.New(foo) - if err != nil { - ... - } - ... - foo := &pb.Foo{} - if err := any.UnmarshalTo(foo); err != nil { - ... - } - - The pack methods provided by protobuf library will by - default use - - 'type.googleapis.com/full.type.name' as the type URL and the - unpack - - methods only use the fully qualified type name after the - last '/' - - in the type URL, for example "foo.bar.com/x/y.z" will yield - type - - name "y.z". - - - JSON - - ==== - - The JSON representation of an `Any` value uses the regular - - representation of the deserialized, embedded message, with - an - - additional field `@type` which contains the type URL. - Example: - - package google.profile; - message Person { - string first_name = 1; - string last_name = 2; - } - - { - "@type": "type.googleapis.com/google.profile.Person", - "firstName": , - "lastName": - } - - If the embedded message type is well-known and has a custom - JSON - - representation, that representation will be embedded adding - a field - - `value` which holds the custom JSON in addition to the - `@type` - - field. Example (for message [google.protobuf.Duration][]): - - { - "@type": "type.googleapis.com/google.protobuf.Duration", - "value": "1.212s" - } - parameters: - - name: body - in: body - required: true - schema: - type: object - properties: - packet_id: - title: >- - unique packet identifier comprised of the channel ID, port ID - and sequence - type: object - properties: - port_id: - type: string - title: channel port identifier - channel_id: - type: string - title: channel unique identifier - sequence: - type: string - format: uint64 - title: packet sequence - packet_fee: - title: the packet fee associated with a particular IBC packet - type: object - properties: - fee: - title: >- - fee encapsulates the recv, ack and timeout fees associated - with an IBC packet - type: object - properties: - recv_fee: - type: array - items: - type: object - properties: - denom: - type: string - amount: - type: string - description: >- - Coin defines a token with a denomination and an - amount. - - - NOTE: The amount field is an Int which implements - the custom method - - signatures required by gogoproto. - title: the packet receive fee - ack_fee: - type: array - items: - type: object - properties: - denom: - type: string - amount: - type: string - description: >- - Coin defines a token with a denomination and an - amount. - - - NOTE: The amount field is an Int which implements - the custom method - - signatures required by gogoproto. - title: the packet acknowledgement fee - timeout_fee: - type: array - items: - type: object - properties: - denom: - type: string - amount: - type: string - description: >- - Coin defines a token with a denomination and an - amount. - - - NOTE: The amount field is an Int which implements - the custom method - - signatures required by gogoproto. - title: the packet timeout fee - refund_address: - type: string - title: the refund address for unspent fees - relayers: - type: array - items: - type: string - title: optional list of relayers permitted to receive fees - title: >- - MsgPayPacketFeeAsync defines the request type for the - PayPacketFeeAsync rpc - - This Msg can be used to pay for a packet at a specified sequence - (instead of the next sequence send) - tags: - - Msg - /ibc.applications.fee.v1.Msg/RegisterCounterpartyPayee: - post: - summary: >- - RegisterCounterpartyPayee defines a rpc handler method for - MsgRegisterCounterpartyPayee - - RegisterCounterpartyPayee is called by the relayer on each channelEnd - and allows them to specify the counterparty - - payee address before relaying. This ensures they will be properly - compensated for forward relaying since - - the destination chain must include the registered counterparty payee - address in the acknowledgement. This function - - may be called more than once by a relayer, in which case, the latest - counterparty payee address is always used. - operationId: IbcApplicationsFeeV1Msg_RegisterCounterpartyPayee - responses: - '200': - description: A successful response. - schema: - type: object - title: >- - MsgRegisterCounterpartyPayeeResponse defines the response type for - the RegisterCounterpartyPayee rpc - default: - description: An unexpected error response. - schema: - type: object - properties: - code: - type: integer - format: int32 - message: - type: string - details: - type: array - items: - type: object - properties: - '@type': - type: string - description: >- - A URL/resource name that uniquely identifies the type of - the serialized - - protocol buffer message. This string must contain at - least - - one "/" character. The last segment of the URL's path - must represent - - the fully qualified name of the type (as in - - `path/google.protobuf.Duration`). The name should be in - a canonical form - - (e.g., leading "." is not accepted). - - - In practice, teams usually precompile into the binary - all types that they - - expect it to use in the context of Any. However, for - URLs which use the - - scheme `http`, `https`, or no scheme, one can optionally - set up a type - - server that maps type URLs to message definitions as - follows: - - - * If no scheme is provided, `https` is assumed. - - * An HTTP GET on the URL must yield a - [google.protobuf.Type][] - value in binary format, or produce an error. - * Applications are allowed to cache lookup results based - on the - URL, or have them precompiled into a binary to avoid any - lookup. Therefore, binary compatibility needs to be preserved - on changes to types. (Use versioned type names to manage - breaking changes.) - - Note: this functionality is not currently available in - the official - - protobuf release, and it is not used for type URLs - beginning with - - type.googleapis.com. As of May 2023, there are no widely - used type server - - implementations and no plans to implement one. - - - Schemes other than `http`, `https` (or the empty scheme) - might be - - used with implementation specific semantics. - additionalProperties: {} - description: >- - `Any` contains an arbitrary serialized protocol buffer - message along with a - - URL that describes the type of the serialized message. - - - Protobuf library provides support to pack/unpack Any values - in the form - - of utility functions or additional generated methods of the - Any type. - - - Example 1: Pack and unpack a message in C++. - - Foo foo = ...; - Any any; - any.PackFrom(foo); - ... - if (any.UnpackTo(&foo)) { - ... - } - - Example 2: Pack and unpack a message in Java. - - Foo foo = ...; - Any any = Any.pack(foo); - ... - if (any.is(Foo.class)) { - foo = any.unpack(Foo.class); - } - // or ... - if (any.isSameTypeAs(Foo.getDefaultInstance())) { - foo = any.unpack(Foo.getDefaultInstance()); - } - - Example 3: Pack and unpack a message in Python. - - foo = Foo(...) - any = Any() - any.Pack(foo) - ... - if any.Is(Foo.DESCRIPTOR): - any.Unpack(foo) - ... - - Example 4: Pack and unpack a message in Go - - foo := &pb.Foo{...} - any, err := anypb.New(foo) - if err != nil { - ... - } - ... - foo := &pb.Foo{} - if err := any.UnmarshalTo(foo); err != nil { - ... - } - - The pack methods provided by protobuf library will by - default use - - 'type.googleapis.com/full.type.name' as the type URL and the - unpack - - methods only use the fully qualified type name after the - last '/' - - in the type URL, for example "foo.bar.com/x/y.z" will yield - type - - name "y.z". - - - JSON - - ==== - - The JSON representation of an `Any` value uses the regular - - representation of the deserialized, embedded message, with - an - - additional field `@type` which contains the type URL. - Example: - - package google.profile; - message Person { - string first_name = 1; - string last_name = 2; - } - - { - "@type": "type.googleapis.com/google.profile.Person", - "firstName": , - "lastName": - } - - If the embedded message type is well-known and has a custom - JSON - - representation, that representation will be embedded adding - a field - - `value` which holds the custom JSON in addition to the - `@type` - - field. Example (for message [google.protobuf.Duration][]): - - { - "@type": "type.googleapis.com/google.protobuf.Duration", - "value": "1.212s" - } - parameters: - - name: body - in: body - required: true - schema: - type: object - properties: - port_id: - type: string - title: unique port identifier - channel_id: - type: string - title: unique channel identifier - relayer: - type: string - title: the relayer address - counterparty_payee: - type: string - title: the counterparty payee address - title: >- - MsgRegisterCounterpartyPayee defines the request type for the - RegisterCounterpartyPayee rpc - tags: - - Msg - /ibc.applications.fee.v1.Msg/RegisterPayee: - post: - summary: >- - RegisterPayee defines a rpc handler method for MsgRegisterPayee - - RegisterPayee is called by the relayer on each channelEnd and allows - them to set an optional - - payee to which reverse and timeout relayer packet fees will be paid out. - The payee should be registered on - - the source chain from which packets originate as this is where fee - distribution takes place. This function may be - - called more than once by a relayer, in which case, the latest payee is - always used. - operationId: IbcApplicationsFeeV1Msg_RegisterPayee - responses: - '200': - description: A successful response. - schema: - type: object - title: >- - MsgRegisterPayeeResponse defines the response type for the - RegisterPayee rpc - default: - description: An unexpected error response. - schema: - type: object - properties: - code: - type: integer - format: int32 - message: - type: string - details: - type: array - items: - type: object - properties: - '@type': - type: string - description: >- - A URL/resource name that uniquely identifies the type of - the serialized - - protocol buffer message. This string must contain at - least - - one "/" character. The last segment of the URL's path - must represent - - the fully qualified name of the type (as in - - `path/google.protobuf.Duration`). The name should be in - a canonical form - - (e.g., leading "." is not accepted). - - - In practice, teams usually precompile into the binary - all types that they - - expect it to use in the context of Any. However, for - URLs which use the - - scheme `http`, `https`, or no scheme, one can optionally - set up a type - - server that maps type URLs to message definitions as - follows: - - - * If no scheme is provided, `https` is assumed. - - * An HTTP GET on the URL must yield a - [google.protobuf.Type][] - value in binary format, or produce an error. - * Applications are allowed to cache lookup results based - on the - URL, or have them precompiled into a binary to avoid any - lookup. Therefore, binary compatibility needs to be preserved - on changes to types. (Use versioned type names to manage - breaking changes.) - - Note: this functionality is not currently available in - the official - - protobuf release, and it is not used for type URLs - beginning with - - type.googleapis.com. As of May 2023, there are no widely - used type server - - implementations and no plans to implement one. - - - Schemes other than `http`, `https` (or the empty scheme) - might be - - used with implementation specific semantics. - additionalProperties: {} - description: >- - `Any` contains an arbitrary serialized protocol buffer - message along with a - - URL that describes the type of the serialized message. - - - Protobuf library provides support to pack/unpack Any values - in the form - - of utility functions or additional generated methods of the - Any type. - - - Example 1: Pack and unpack a message in C++. - - Foo foo = ...; - Any any; - any.PackFrom(foo); - ... - if (any.UnpackTo(&foo)) { - ... - } - - Example 2: Pack and unpack a message in Java. - - Foo foo = ...; - Any any = Any.pack(foo); - ... - if (any.is(Foo.class)) { - foo = any.unpack(Foo.class); - } - // or ... - if (any.isSameTypeAs(Foo.getDefaultInstance())) { - foo = any.unpack(Foo.getDefaultInstance()); - } - - Example 3: Pack and unpack a message in Python. - - foo = Foo(...) - any = Any() - any.Pack(foo) - ... - if any.Is(Foo.DESCRIPTOR): - any.Unpack(foo) - ... - - Example 4: Pack and unpack a message in Go - - foo := &pb.Foo{...} - any, err := anypb.New(foo) - if err != nil { - ... - } - ... - foo := &pb.Foo{} - if err := any.UnmarshalTo(foo); err != nil { - ... - } - - The pack methods provided by protobuf library will by - default use - - 'type.googleapis.com/full.type.name' as the type URL and the - unpack - - methods only use the fully qualified type name after the - last '/' - - in the type URL, for example "foo.bar.com/x/y.z" will yield - type - - name "y.z". - - - JSON - - ==== - - The JSON representation of an `Any` value uses the regular - - representation of the deserialized, embedded message, with - an - - additional field `@type` which contains the type URL. - Example: - - package google.profile; - message Person { - string first_name = 1; - string last_name = 2; - } - - { - "@type": "type.googleapis.com/google.profile.Person", - "firstName": , - "lastName": - } - - If the embedded message type is well-known and has a custom - JSON - - representation, that representation will be embedded adding - a field - - `value` which holds the custom JSON in addition to the - `@type` - - field. Example (for message [google.protobuf.Duration][]): - - { - "@type": "type.googleapis.com/google.protobuf.Duration", - "value": "1.212s" - } - parameters: - - name: body - in: body - required: true - schema: - type: object - properties: - port_id: - type: string - title: unique port identifier - channel_id: - type: string - title: unique channel identifier - relayer: - type: string - title: the relayer address - payee: - type: string - title: the payee address - title: >- - MsgRegisterPayee defines the request type for the RegisterPayee - rpc - tags: - - Msg - /ibc.applications.interchain_accounts.controller.v1.Msg/RegisterInterchainAccount: - post: - summary: >- - RegisterInterchainAccount defines a rpc handler for - MsgRegisterInterchainAccount. - operationId: >- - IbcApplicationsInterchainAccountsControllerV1Msg_RegisterInterchainAccount - responses: - '200': - description: A successful response. - schema: - type: object - properties: - channel_id: - type: string - port_id: - type: string - title: >- - MsgRegisterInterchainAccountResponse defines the response for - Msg/RegisterAccount - default: - description: An unexpected error response. - schema: - type: object - properties: - code: - type: integer - format: int32 - message: - type: string - details: - type: array - items: - type: object - properties: - '@type': - type: string - description: >- - A URL/resource name that uniquely identifies the type of - the serialized - - protocol buffer message. This string must contain at - least - - one "/" character. The last segment of the URL's path - must represent - - the fully qualified name of the type (as in - - `path/google.protobuf.Duration`). The name should be in - a canonical form - - (e.g., leading "." is not accepted). - - - In practice, teams usually precompile into the binary - all types that they - - expect it to use in the context of Any. However, for - URLs which use the - - scheme `http`, `https`, or no scheme, one can optionally - set up a type - - server that maps type URLs to message definitions as - follows: - - - * If no scheme is provided, `https` is assumed. - - * An HTTP GET on the URL must yield a - [google.protobuf.Type][] - value in binary format, or produce an error. - * Applications are allowed to cache lookup results based - on the - URL, or have them precompiled into a binary to avoid any - lookup. Therefore, binary compatibility needs to be preserved - on changes to types. (Use versioned type names to manage - breaking changes.) - - Note: this functionality is not currently available in - the official - - protobuf release, and it is not used for type URLs - beginning with - - type.googleapis.com. As of May 2023, there are no widely - used type server - - implementations and no plans to implement one. - - - Schemes other than `http`, `https` (or the empty scheme) - might be - - used with implementation specific semantics. - additionalProperties: {} - description: >- - `Any` contains an arbitrary serialized protocol buffer - message along with a - - URL that describes the type of the serialized message. - - - Protobuf library provides support to pack/unpack Any values - in the form - - of utility functions or additional generated methods of the - Any type. - - - Example 1: Pack and unpack a message in C++. - - Foo foo = ...; - Any any; - any.PackFrom(foo); - ... - if (any.UnpackTo(&foo)) { - ... - } - - Example 2: Pack and unpack a message in Java. - - Foo foo = ...; - Any any = Any.pack(foo); - ... - if (any.is(Foo.class)) { - foo = any.unpack(Foo.class); - } - // or ... - if (any.isSameTypeAs(Foo.getDefaultInstance())) { - foo = any.unpack(Foo.getDefaultInstance()); - } - - Example 3: Pack and unpack a message in Python. - - foo = Foo(...) - any = Any() - any.Pack(foo) - ... - if any.Is(Foo.DESCRIPTOR): - any.Unpack(foo) - ... - - Example 4: Pack and unpack a message in Go - - foo := &pb.Foo{...} - any, err := anypb.New(foo) - if err != nil { - ... - } - ... - foo := &pb.Foo{} - if err := any.UnmarshalTo(foo); err != nil { - ... - } - - The pack methods provided by protobuf library will by - default use - - 'type.googleapis.com/full.type.name' as the type URL and the - unpack - - methods only use the fully qualified type name after the - last '/' - - in the type URL, for example "foo.bar.com/x/y.z" will yield - type - - name "y.z". - - - JSON - - ==== - - The JSON representation of an `Any` value uses the regular - - representation of the deserialized, embedded message, with - an - - additional field `@type` which contains the type URL. - Example: - - package google.profile; - message Person { - string first_name = 1; - string last_name = 2; - } - - { - "@type": "type.googleapis.com/google.profile.Person", - "firstName": , - "lastName": - } - - If the embedded message type is well-known and has a custom - JSON - - representation, that representation will be embedded adding - a field - - `value` which holds the custom JSON in addition to the - `@type` - - field. Example (for message [google.protobuf.Duration][]): - - { - "@type": "type.googleapis.com/google.protobuf.Duration", - "value": "1.212s" - } - parameters: - - name: body - in: body - required: true - schema: - type: object - properties: - owner: - type: string - connection_id: - type: string - version: - type: string - ordering: - type: string - enum: - - ORDER_NONE_UNSPECIFIED - - ORDER_UNORDERED - - ORDER_ORDERED - default: ORDER_NONE_UNSPECIFIED - description: |- - - ORDER_NONE_UNSPECIFIED: zero-value for channel ordering - - ORDER_UNORDERED: packets can be delivered in any order, which may differ from the order in - which they were sent. - - ORDER_ORDERED: packets are delivered exactly in the order which they were sent - title: Order defines if a channel is ORDERED or UNORDERED - title: >- - MsgRegisterInterchainAccount defines the payload for - Msg/RegisterAccount - tags: - - Msg - /ibc.applications.interchain_accounts.controller.v1.Msg/SendTx: - post: - summary: SendTx defines a rpc handler for MsgSendTx. - operationId: IbcApplicationsInterchainAccountsControllerV1Msg_SendTx - responses: - '200': - description: A successful response. - schema: - type: object - properties: - sequence: - type: string - format: uint64 - title: MsgSendTxResponse defines the response for MsgSendTx - default: - description: An unexpected error response. - schema: - type: object - properties: - code: - type: integer - format: int32 - message: - type: string - details: - type: array - items: - type: object - properties: - '@type': - type: string - description: >- - A URL/resource name that uniquely identifies the type of - the serialized - - protocol buffer message. This string must contain at - least - - one "/" character. The last segment of the URL's path - must represent - - the fully qualified name of the type (as in - - `path/google.protobuf.Duration`). The name should be in - a canonical form - - (e.g., leading "." is not accepted). - - - In practice, teams usually precompile into the binary - all types that they - - expect it to use in the context of Any. However, for - URLs which use the - - scheme `http`, `https`, or no scheme, one can optionally - set up a type - - server that maps type URLs to message definitions as - follows: - - - * If no scheme is provided, `https` is assumed. - - * An HTTP GET on the URL must yield a - [google.protobuf.Type][] - value in binary format, or produce an error. - * Applications are allowed to cache lookup results based - on the - URL, or have them precompiled into a binary to avoid any - lookup. Therefore, binary compatibility needs to be preserved - on changes to types. (Use versioned type names to manage - breaking changes.) - - Note: this functionality is not currently available in - the official - - protobuf release, and it is not used for type URLs - beginning with - - type.googleapis.com. As of May 2023, there are no widely - used type server - - implementations and no plans to implement one. - - - Schemes other than `http`, `https` (or the empty scheme) - might be - - used with implementation specific semantics. - additionalProperties: {} - description: >- - `Any` contains an arbitrary serialized protocol buffer - message along with a - - URL that describes the type of the serialized message. - - - Protobuf library provides support to pack/unpack Any values - in the form - - of utility functions or additional generated methods of the - Any type. - - - Example 1: Pack and unpack a message in C++. - - Foo foo = ...; - Any any; - any.PackFrom(foo); - ... - if (any.UnpackTo(&foo)) { - ... - } - - Example 2: Pack and unpack a message in Java. - - Foo foo = ...; - Any any = Any.pack(foo); - ... - if (any.is(Foo.class)) { - foo = any.unpack(Foo.class); - } - // or ... - if (any.isSameTypeAs(Foo.getDefaultInstance())) { - foo = any.unpack(Foo.getDefaultInstance()); - } - - Example 3: Pack and unpack a message in Python. - - foo = Foo(...) - any = Any() - any.Pack(foo) - ... - if any.Is(Foo.DESCRIPTOR): - any.Unpack(foo) - ... - - Example 4: Pack and unpack a message in Go - - foo := &pb.Foo{...} - any, err := anypb.New(foo) - if err != nil { - ... - } - ... - foo := &pb.Foo{} - if err := any.UnmarshalTo(foo); err != nil { - ... - } - - The pack methods provided by protobuf library will by - default use - - 'type.googleapis.com/full.type.name' as the type URL and the - unpack - - methods only use the fully qualified type name after the - last '/' - - in the type URL, for example "foo.bar.com/x/y.z" will yield - type - - name "y.z". - - - JSON - - ==== - - The JSON representation of an `Any` value uses the regular - - representation of the deserialized, embedded message, with - an - - additional field `@type` which contains the type URL. - Example: - - package google.profile; - message Person { - string first_name = 1; - string last_name = 2; - } - - { - "@type": "type.googleapis.com/google.profile.Person", - "firstName": , - "lastName": - } - - If the embedded message type is well-known and has a custom - JSON - - representation, that representation will be embedded adding - a field - - `value` which holds the custom JSON in addition to the - `@type` - - field. Example (for message [google.protobuf.Duration][]): - - { - "@type": "type.googleapis.com/google.protobuf.Duration", - "value": "1.212s" - } - parameters: - - name: body - in: body - required: true - schema: - type: object - properties: - owner: - type: string - connection_id: - type: string - packet_data: - type: object - properties: - type: - type: string - enum: - - TYPE_UNSPECIFIED - - TYPE_EXECUTE_TX - default: TYPE_UNSPECIFIED - description: |- - - TYPE_UNSPECIFIED: Default zero value enumeration - - TYPE_EXECUTE_TX: Execute a transaction on an interchain accounts host chain - title: >- - Type defines a classification of message issued from a - controller chain to its associated interchain accounts - - host - data: - type: string - format: byte - memo: - type: string - description: >- - InterchainAccountPacketData is comprised of a raw transaction, - type of transaction and optional memo field. - relative_timeout: - type: string - format: uint64 - description: >- - Relative timeout timestamp provided will be added to the - current block time during transaction execution. - - The timeout timestamp must be non-zero. - title: MsgSendTx defines the payload for Msg/SendTx - tags: - - Msg - /ibc.applications.interchain_accounts.controller.v1.Msg/UpdateParams: - post: - summary: UpdateParams defines a rpc handler for MsgUpdateParams. - operationId: IbcApplicationsInterchainAccountsControllerV1Msg_UpdateParams - responses: - '200': - description: A successful response. - schema: - type: object - title: MsgUpdateParamsResponse defines the response for Msg/UpdateParams - default: - description: An unexpected error response. - schema: - type: object - properties: - code: - type: integer - format: int32 - message: - type: string - details: - type: array - items: - type: object - properties: - '@type': - type: string - description: >- - A URL/resource name that uniquely identifies the type of - the serialized - - protocol buffer message. This string must contain at - least - - one "/" character. The last segment of the URL's path - must represent - - the fully qualified name of the type (as in - - `path/google.protobuf.Duration`). The name should be in - a canonical form - - (e.g., leading "." is not accepted). - - - In practice, teams usually precompile into the binary - all types that they - - expect it to use in the context of Any. However, for - URLs which use the - - scheme `http`, `https`, or no scheme, one can optionally - set up a type - - server that maps type URLs to message definitions as - follows: - - - * If no scheme is provided, `https` is assumed. - - * An HTTP GET on the URL must yield a - [google.protobuf.Type][] - value in binary format, or produce an error. - * Applications are allowed to cache lookup results based - on the - URL, or have them precompiled into a binary to avoid any - lookup. Therefore, binary compatibility needs to be preserved - on changes to types. (Use versioned type names to manage - breaking changes.) - - Note: this functionality is not currently available in - the official - - protobuf release, and it is not used for type URLs - beginning with - - type.googleapis.com. As of May 2023, there are no widely - used type server - - implementations and no plans to implement one. - - - Schemes other than `http`, `https` (or the empty scheme) - might be - - used with implementation specific semantics. - additionalProperties: {} - description: >- - `Any` contains an arbitrary serialized protocol buffer - message along with a - - URL that describes the type of the serialized message. - - - Protobuf library provides support to pack/unpack Any values - in the form - - of utility functions or additional generated methods of the - Any type. - - - Example 1: Pack and unpack a message in C++. - - Foo foo = ...; - Any any; - any.PackFrom(foo); - ... - if (any.UnpackTo(&foo)) { - ... - } - - Example 2: Pack and unpack a message in Java. - - Foo foo = ...; - Any any = Any.pack(foo); - ... - if (any.is(Foo.class)) { - foo = any.unpack(Foo.class); - } - // or ... - if (any.isSameTypeAs(Foo.getDefaultInstance())) { - foo = any.unpack(Foo.getDefaultInstance()); - } - - Example 3: Pack and unpack a message in Python. - - foo = Foo(...) - any = Any() - any.Pack(foo) - ... - if any.Is(Foo.DESCRIPTOR): - any.Unpack(foo) - ... - - Example 4: Pack and unpack a message in Go - - foo := &pb.Foo{...} - any, err := anypb.New(foo) - if err != nil { - ... - } - ... - foo := &pb.Foo{} - if err := any.UnmarshalTo(foo); err != nil { - ... - } - - The pack methods provided by protobuf library will by - default use - - 'type.googleapis.com/full.type.name' as the type URL and the - unpack - - methods only use the fully qualified type name after the - last '/' - - in the type URL, for example "foo.bar.com/x/y.z" will yield - type - - name "y.z". - - - JSON - - ==== - - The JSON representation of an `Any` value uses the regular - - representation of the deserialized, embedded message, with - an - - additional field `@type` which contains the type URL. - Example: - - package google.profile; - message Person { - string first_name = 1; - string last_name = 2; - } - - { - "@type": "type.googleapis.com/google.profile.Person", - "firstName": , - "lastName": - } - - If the embedded message type is well-known and has a custom - JSON - - representation, that representation will be embedded adding - a field - - `value` which holds the custom JSON in addition to the - `@type` - - field. Example (for message [google.protobuf.Duration][]): - - { - "@type": "type.googleapis.com/google.protobuf.Duration", - "value": "1.212s" - } - parameters: - - name: body - in: body - required: true - schema: - type: object - properties: - signer: - type: string - title: signer address - params: - description: >- - params defines the 27-interchain-accounts/controller - parameters to update. - - - NOTE: All parameters must be supplied. - type: object - properties: - controller_enabled: - type: boolean - description: >- - controller_enabled enables or disables the controller - submodule. - title: MsgUpdateParams defines the payload for Msg/UpdateParams - tags: - - Msg - /ibc.applications.interchain_accounts.host.v1.Msg/UpdateParams: - post: - summary: UpdateParams defines a rpc handler for MsgUpdateParams. - operationId: IbcApplicationsInterchainAccountsHostV1Msg_UpdateParams - responses: - '200': - description: A successful response. - schema: - type: object - title: MsgUpdateParamsResponse defines the response for Msg/UpdateParams - default: - description: An unexpected error response. - schema: - type: object - properties: - code: - type: integer - format: int32 - message: - type: string - details: - type: array - items: - type: object - properties: - '@type': - type: string - additionalProperties: {} - parameters: - - name: body - in: body - required: true - schema: - type: object - properties: - signer: - type: string - title: signer address - params: - description: >- - params defines the 27-interchain-accounts/host parameters to - update. - - - NOTE: All parameters must be supplied. - type: object - properties: - host_enabled: - type: boolean - description: host_enabled enables or disables the host submodule. - allow_messages: - type: array - items: - type: string - description: >- - allow_messages defines a list of sdk message typeURLs - allowed to be executed on a host chain. - title: MsgUpdateParams defines the payload for Msg/UpdateParams - tags: - - Msg - /ibc.applications.transfer.v1.Msg/Transfer: - post: - summary: Transfer defines a rpc handler method for MsgTransfer. - operationId: IbcApplicationsTransferV1Msg_Transfer - responses: - '200': - description: A successful response. - schema: - type: object - properties: - sequence: - type: string - format: uint64 - title: sequence number of the transfer packet sent - description: MsgTransferResponse defines the Msg/Transfer response type. - default: - description: An unexpected error response. - schema: - type: object - properties: - code: - type: integer - format: int32 - message: - type: string - details: - type: array - items: - type: object - properties: - '@type': - type: string - description: >- - A URL/resource name that uniquely identifies the type of - the serialized - - protocol buffer message. This string must contain at - least - - one "/" character. The last segment of the URL's path - must represent - - the fully qualified name of the type (as in - - `path/google.protobuf.Duration`). The name should be in - a canonical form - - (e.g., leading "." is not accepted). - - - In practice, teams usually precompile into the binary - all types that they - - expect it to use in the context of Any. However, for - URLs which use the - - scheme `http`, `https`, or no scheme, one can optionally - set up a type - - server that maps type URLs to message definitions as - follows: - - - * If no scheme is provided, `https` is assumed. - - * An HTTP GET on the URL must yield a - [google.protobuf.Type][] - value in binary format, or produce an error. - * Applications are allowed to cache lookup results based - on the - URL, or have them precompiled into a binary to avoid any - lookup. Therefore, binary compatibility needs to be preserved - on changes to types. (Use versioned type names to manage - breaking changes.) - - Note: this functionality is not currently available in - the official - - protobuf release, and it is not used for type URLs - beginning with - - type.googleapis.com. As of May 2023, there are no widely - used type server - - implementations and no plans to implement one. - - - Schemes other than `http`, `https` (or the empty scheme) - might be - - used with implementation specific semantics. - additionalProperties: {} - description: >- - `Any` contains an arbitrary serialized protocol buffer - message along with a - - URL that describes the type of the serialized message. - - - Protobuf library provides support to pack/unpack Any values - in the form - - of utility functions or additional generated methods of the - Any type. - - - Example 1: Pack and unpack a message in C++. - - Foo foo = ...; - Any any; - any.PackFrom(foo); - ... - if (any.UnpackTo(&foo)) { - ... - } - - Example 2: Pack and unpack a message in Java. - - Foo foo = ...; - Any any = Any.pack(foo); - ... - if (any.is(Foo.class)) { - foo = any.unpack(Foo.class); - } - // or ... - if (any.isSameTypeAs(Foo.getDefaultInstance())) { - foo = any.unpack(Foo.getDefaultInstance()); - } - - Example 3: Pack and unpack a message in Python. - - foo = Foo(...) - any = Any() - any.Pack(foo) - ... - if any.Is(Foo.DESCRIPTOR): - any.Unpack(foo) - ... - - Example 4: Pack and unpack a message in Go - - foo := &pb.Foo{...} - any, err := anypb.New(foo) - if err != nil { - ... - } - ... - foo := &pb.Foo{} - if err := any.UnmarshalTo(foo); err != nil { - ... - } - - The pack methods provided by protobuf library will by - default use - - 'type.googleapis.com/full.type.name' as the type URL and the - unpack - - methods only use the fully qualified type name after the - last '/' - - in the type URL, for example "foo.bar.com/x/y.z" will yield - type - - name "y.z". - - - JSON - - ==== - - The JSON representation of an `Any` value uses the regular - - representation of the deserialized, embedded message, with - an - - additional field `@type` which contains the type URL. - Example: - - package google.profile; - message Person { - string first_name = 1; - string last_name = 2; - } - - { - "@type": "type.googleapis.com/google.profile.Person", - "firstName": , - "lastName": - } - - If the embedded message type is well-known and has a custom - JSON - - representation, that representation will be embedded adding - a field - - `value` which holds the custom JSON in addition to the - `@type` - - field. Example (for message [google.protobuf.Duration][]): - - { - "@type": "type.googleapis.com/google.protobuf.Duration", - "value": "1.212s" - } - parameters: - - name: body - in: body - required: true - schema: - type: object - properties: - source_port: - type: string - title: the port on which the packet will be sent - source_channel: - type: string - title: the channel by which the packet will be sent - token: - title: the tokens to be transferred - type: object - properties: - denom: - type: string - amount: - type: string - description: >- - Coin defines a token with a denomination and an amount. - - - NOTE: The amount field is an Int which implements the custom - method - - signatures required by gogoproto. - sender: - type: string - title: the sender address - receiver: - type: string - title: the recipient address on the destination chain - timeout_height: - description: |- - Timeout height relative to the current block height. - The timeout is disabled when set to 0. - type: object - properties: - revision_number: - type: string - format: uint64 - title: the revision that the client is currently on - revision_height: - type: string - format: uint64 - title: the height within the given revision - title: >- - Height is a monotonically increasing data type - - that can be compared against another Height for the purposes - of updating and - - freezing clients - timeout_timestamp: - type: string - format: uint64 - description: |- - Timeout timestamp in absolute nanoseconds since unix epoch. - The timeout is disabled when set to 0. - memo: - type: string - title: optional memo - title: >- - MsgTransfer defines a msg to transfer fungible tokens (i.e Coins) - between - - ICS20 enabled chains. See ICS Spec here: - - https://github.com/cosmos/ibc/tree/master/spec/app/ics-020-fungible-token-transfer#data-structures - tags: - - Msg - /ibc.applications.transfer.v1.Msg/UpdateParams: - post: - summary: UpdateParams defines a rpc handler for MsgUpdateParams. - operationId: IbcApplicationsTransferV1Msg_UpdateParams - responses: - '200': - description: A successful response. - schema: - type: object - description: >- - MsgUpdateParamsResponse defines the response structure for - executing a - - MsgUpdateParams message. - default: - description: An unexpected error response. - schema: - type: object - properties: - code: - type: integer - format: int32 - message: - type: string - details: - type: array - items: - type: object - properties: - '@type': - type: string - description: >- - A URL/resource name that uniquely identifies the type of - the serialized - - protocol buffer message. This string must contain at - least - - one "/" character. The last segment of the URL's path - must represent - - the fully qualified name of the type (as in - - `path/google.protobuf.Duration`). The name should be in - a canonical form - - (e.g., leading "." is not accepted). - - - In practice, teams usually precompile into the binary - all types that they - - expect it to use in the context of Any. However, for - URLs which use the - - scheme `http`, `https`, or no scheme, one can optionally - set up a type - - server that maps type URLs to message definitions as - follows: - - - * If no scheme is provided, `https` is assumed. - - * An HTTP GET on the URL must yield a - [google.protobuf.Type][] - value in binary format, or produce an error. - * Applications are allowed to cache lookup results based - on the - URL, or have them precompiled into a binary to avoid any - lookup. Therefore, binary compatibility needs to be preserved - on changes to types. (Use versioned type names to manage - breaking changes.) - - Note: this functionality is not currently available in - the official - - protobuf release, and it is not used for type URLs - beginning with - - type.googleapis.com. As of May 2023, there are no widely - used type server - - implementations and no plans to implement one. - - - Schemes other than `http`, `https` (or the empty scheme) - might be - - used with implementation specific semantics. - additionalProperties: {} - description: >- - `Any` contains an arbitrary serialized protocol buffer - message along with a - - URL that describes the type of the serialized message. - - - Protobuf library provides support to pack/unpack Any values - in the form - - of utility functions or additional generated methods of the - Any type. - - - Example 1: Pack and unpack a message in C++. - - Foo foo = ...; - Any any; - any.PackFrom(foo); - ... - if (any.UnpackTo(&foo)) { - ... - } - - Example 2: Pack and unpack a message in Java. - - Foo foo = ...; - Any any = Any.pack(foo); - ... - if (any.is(Foo.class)) { - foo = any.unpack(Foo.class); - } - // or ... - if (any.isSameTypeAs(Foo.getDefaultInstance())) { - foo = any.unpack(Foo.getDefaultInstance()); - } - - Example 3: Pack and unpack a message in Python. - - foo = Foo(...) - any = Any() - any.Pack(foo) - ... - if any.Is(Foo.DESCRIPTOR): - any.Unpack(foo) - ... - - Example 4: Pack and unpack a message in Go - - foo := &pb.Foo{...} - any, err := anypb.New(foo) - if err != nil { - ... - } - ... - foo := &pb.Foo{} - if err := any.UnmarshalTo(foo); err != nil { - ... - } - - The pack methods provided by protobuf library will by - default use - - 'type.googleapis.com/full.type.name' as the type URL and the - unpack - - methods only use the fully qualified type name after the - last '/' - - in the type URL, for example "foo.bar.com/x/y.z" will yield - type - - name "y.z". - - - JSON - - ==== - - The JSON representation of an `Any` value uses the regular - - representation of the deserialized, embedded message, with - an - - additional field `@type` which contains the type URL. - Example: - - package google.profile; - message Person { - string first_name = 1; - string last_name = 2; - } - - { - "@type": "type.googleapis.com/google.profile.Person", - "firstName": , - "lastName": - } - - If the embedded message type is well-known and has a custom - JSON - - representation, that representation will be embedded adding - a field - - `value` which holds the custom JSON in addition to the - `@type` - - field. Example (for message [google.protobuf.Duration][]): - - { - "@type": "type.googleapis.com/google.protobuf.Duration", - "value": "1.212s" - } - parameters: - - name: body - description: MsgUpdateParams is the Msg/UpdateParams request type. - in: body - required: true - schema: - type: object - properties: - signer: - type: string - title: signer address - params: - description: |- - params defines the transfer parameters to update. - - NOTE: All parameters must be supplied. - type: object - properties: - send_enabled: - type: boolean - description: >- - send_enabled enables or disables all cross-chain token - transfers from this - - chain. - receive_enabled: - type: boolean - description: >- - receive_enabled enables or disables all cross-chain token - transfers to this - - chain. - description: MsgUpdateParams is the Msg/UpdateParams request type. - tags: - - Msg - /ibc.core.client.v1.Msg/CreateClient: - post: - summary: CreateClient defines a rpc handler method for MsgCreateClient. - operationId: IbcCoreClientV1Msg_CreateClient - responses: - '200': - description: A successful response. - schema: - type: object - description: >- - MsgCreateClientResponse defines the Msg/CreateClient response - type. - default: - description: An unexpected error response. - schema: - type: object - properties: - code: - type: integer - format: int32 - message: - type: string - details: - type: array - items: - type: object - properties: - '@type': - type: string - description: >- - A URL/resource name that uniquely identifies the type of - the serialized - - protocol buffer message. This string must contain at - least - - one "/" character. The last segment of the URL's path - must represent - - the fully qualified name of the type (as in - - `path/google.protobuf.Duration`). The name should be in - a canonical form - - (e.g., leading "." is not accepted). - - - In practice, teams usually precompile into the binary - all types that they - - expect it to use in the context of Any. However, for - URLs which use the - - scheme `http`, `https`, or no scheme, one can optionally - set up a type - - server that maps type URLs to message definitions as - follows: - - - * If no scheme is provided, `https` is assumed. - - * An HTTP GET on the URL must yield a - [google.protobuf.Type][] - value in binary format, or produce an error. - * Applications are allowed to cache lookup results based - on the - URL, or have them precompiled into a binary to avoid any - lookup. Therefore, binary compatibility needs to be preserved - on changes to types. (Use versioned type names to manage - breaking changes.) - - Note: this functionality is not currently available in - the official - - protobuf release, and it is not used for type URLs - beginning with - - type.googleapis.com. As of May 2023, there are no widely - used type server - - implementations and no plans to implement one. - - - Schemes other than `http`, `https` (or the empty scheme) - might be - - used with implementation specific semantics. - additionalProperties: {} - description: >- - `Any` contains an arbitrary serialized protocol buffer - message along with a - - URL that describes the type of the serialized message. - - - Protobuf library provides support to pack/unpack Any values - in the form - - of utility functions or additional generated methods of the - Any type. - - - Example 1: Pack and unpack a message in C++. - - Foo foo = ...; - Any any; - any.PackFrom(foo); - ... - if (any.UnpackTo(&foo)) { - ... - } - - Example 2: Pack and unpack a message in Java. - - Foo foo = ...; - Any any = Any.pack(foo); - ... - if (any.is(Foo.class)) { - foo = any.unpack(Foo.class); - } - // or ... - if (any.isSameTypeAs(Foo.getDefaultInstance())) { - foo = any.unpack(Foo.getDefaultInstance()); - } - - Example 3: Pack and unpack a message in Python. - - foo = Foo(...) - any = Any() - any.Pack(foo) - ... - if any.Is(Foo.DESCRIPTOR): - any.Unpack(foo) - ... - - Example 4: Pack and unpack a message in Go - - foo := &pb.Foo{...} - any, err := anypb.New(foo) - if err != nil { - ... - } - ... - foo := &pb.Foo{} - if err := any.UnmarshalTo(foo); err != nil { - ... - } - - The pack methods provided by protobuf library will by - default use - - 'type.googleapis.com/full.type.name' as the type URL and the - unpack - - methods only use the fully qualified type name after the - last '/' - - in the type URL, for example "foo.bar.com/x/y.z" will yield - type - - name "y.z". - - - JSON - - ==== - - The JSON representation of an `Any` value uses the regular - - representation of the deserialized, embedded message, with - an - - additional field `@type` which contains the type URL. - Example: - - package google.profile; - message Person { - string first_name = 1; - string last_name = 2; - } - - { - "@type": "type.googleapis.com/google.profile.Person", - "firstName": , - "lastName": - } - - If the embedded message type is well-known and has a custom - JSON - - representation, that representation will be embedded adding - a field - - `value` which holds the custom JSON in addition to the - `@type` - - field. Example (for message [google.protobuf.Duration][]): - - { - "@type": "type.googleapis.com/google.protobuf.Duration", - "value": "1.212s" - } - parameters: - - name: body - in: body - required: true - schema: - type: object - properties: - client_state: - title: light client state - type: object - properties: - '@type': - type: string - description: >- - A URL/resource name that uniquely identifies the type of - the serialized - - protocol buffer message. This string must contain at least - - one "/" character. The last segment of the URL's path must - represent - - the fully qualified name of the type (as in - - `path/google.protobuf.Duration`). The name should be in a - canonical form - - (e.g., leading "." is not accepted). - - - In practice, teams usually precompile into the binary all - types that they - - expect it to use in the context of Any. However, for URLs - which use the - - scheme `http`, `https`, or no scheme, one can optionally - set up a type - - server that maps type URLs to message definitions as - follows: - - - * If no scheme is provided, `https` is assumed. - - * An HTTP GET on the URL must yield a - [google.protobuf.Type][] - value in binary format, or produce an error. - * Applications are allowed to cache lookup results based - on the - URL, or have them precompiled into a binary to avoid any - lookup. Therefore, binary compatibility needs to be preserved - on changes to types. (Use versioned type names to manage - breaking changes.) - - Note: this functionality is not currently available in the - official - - protobuf release, and it is not used for type URLs - beginning with - - type.googleapis.com. As of May 2023, there are no widely - used type server - - implementations and no plans to implement one. - - - Schemes other than `http`, `https` (or the empty scheme) - might be - - used with implementation specific semantics. - additionalProperties: {} - description: >- - `Any` contains an arbitrary serialized protocol buffer message - along with a - - URL that describes the type of the serialized message. - - - Protobuf library provides support to pack/unpack Any values in - the form - - of utility functions or additional generated methods of the - Any type. - - - Example 1: Pack and unpack a message in C++. - - Foo foo = ...; - Any any; - any.PackFrom(foo); - ... - if (any.UnpackTo(&foo)) { - ... - } - - Example 2: Pack and unpack a message in Java. - - Foo foo = ...; - Any any = Any.pack(foo); - ... - if (any.is(Foo.class)) { - foo = any.unpack(Foo.class); - } - // or ... - if (any.isSameTypeAs(Foo.getDefaultInstance())) { - foo = any.unpack(Foo.getDefaultInstance()); - } - - Example 3: Pack and unpack a message in Python. - - foo = Foo(...) - any = Any() - any.Pack(foo) - ... - if any.Is(Foo.DESCRIPTOR): - any.Unpack(foo) - ... - - Example 4: Pack and unpack a message in Go - - foo := &pb.Foo{...} - any, err := anypb.New(foo) - if err != nil { - ... - } - ... - foo := &pb.Foo{} - if err := any.UnmarshalTo(foo); err != nil { - ... - } - - The pack methods provided by protobuf library will by default - use - - 'type.googleapis.com/full.type.name' as the type URL and the - unpack - - methods only use the fully qualified type name after the last - '/' - - in the type URL, for example "foo.bar.com/x/y.z" will yield - type - - name "y.z". - - - JSON - - ==== - - The JSON representation of an `Any` value uses the regular - - representation of the deserialized, embedded message, with an - - additional field `@type` which contains the type URL. Example: - - package google.profile; - message Person { - string first_name = 1; - string last_name = 2; - } - - { - "@type": "type.googleapis.com/google.profile.Person", - "firstName": , - "lastName": - } - - If the embedded message type is well-known and has a custom - JSON - - representation, that representation will be embedded adding a - field - - `value` which holds the custom JSON in addition to the `@type` - - field. Example (for message [google.protobuf.Duration][]): - - { - "@type": "type.googleapis.com/google.protobuf.Duration", - "value": "1.212s" - } - consensus_state: - description: >- - consensus state associated with the client that corresponds to - a given - - height. - type: object - properties: - '@type': - type: string - description: >- - A URL/resource name that uniquely identifies the type of - the serialized - - protocol buffer message. This string must contain at least - - one "/" character. The last segment of the URL's path must - represent - - the fully qualified name of the type (as in - - `path/google.protobuf.Duration`). The name should be in a - canonical form - - (e.g., leading "." is not accepted). - - - In practice, teams usually precompile into the binary all - types that they - - expect it to use in the context of Any. However, for URLs - which use the - - scheme `http`, `https`, or no scheme, one can optionally - set up a type - - server that maps type URLs to message definitions as - follows: - - - * If no scheme is provided, `https` is assumed. - - * An HTTP GET on the URL must yield a - [google.protobuf.Type][] - value in binary format, or produce an error. - * Applications are allowed to cache lookup results based - on the - URL, or have them precompiled into a binary to avoid any - lookup. Therefore, binary compatibility needs to be preserved - on changes to types. (Use versioned type names to manage - breaking changes.) - - Note: this functionality is not currently available in the - official - - protobuf release, and it is not used for type URLs - beginning with - - type.googleapis.com. As of May 2023, there are no widely - used type server - - implementations and no plans to implement one. - - - Schemes other than `http`, `https` (or the empty scheme) - might be - - used with implementation specific semantics. - additionalProperties: {} - signer: - type: string - title: signer address - title: MsgCreateClient defines a message to create an IBC client - tags: - - Msg - /ibc.core.client.v1.Msg/IBCSoftwareUpgrade: - post: - summary: >- - IBCSoftwareUpgrade defines a rpc handler method for - MsgIBCSoftwareUpgrade. - operationId: IbcCoreClientV1Msg_IBCSoftwareUpgrade - responses: - '200': - description: A successful response. - schema: - type: object - description: >- - MsgIBCSoftwareUpgradeResponse defines the Msg/IBCSoftwareUpgrade - response type. - default: - description: An unexpected error response. - schema: - type: object - properties: - code: - type: integer - format: int32 - message: - type: string - details: - type: array - items: - type: object - properties: - '@type': - type: string - description: >- - A URL/resource name that uniquely identifies the type of - the serialized - - protocol buffer message. This string must contain at - least - - one "/" character. The last segment of the URL's path - must represent - - the fully qualified name of the type (as in - - `path/google.protobuf.Duration`). The name should be in - a canonical form - - (e.g., leading "." is not accepted). - - - In practice, teams usually precompile into the binary - all types that they - - expect it to use in the context of Any. However, for - URLs which use the - - scheme `http`, `https`, or no scheme, one can optionally - set up a type - - server that maps type URLs to message definitions as - follows: - - - * If no scheme is provided, `https` is assumed. - - * An HTTP GET on the URL must yield a - [google.protobuf.Type][] - value in binary format, or produce an error. - * Applications are allowed to cache lookup results based - on the - URL, or have them precompiled into a binary to avoid any - lookup. Therefore, binary compatibility needs to be preserved - on changes to types. (Use versioned type names to manage - breaking changes.) - - Note: this functionality is not currently available in - the official - - protobuf release, and it is not used for type URLs - beginning with - - type.googleapis.com. As of May 2023, there are no widely - used type server - - implementations and no plans to implement one. - - - Schemes other than `http`, `https` (or the empty scheme) - might be - - used with implementation specific semantics. - additionalProperties: {} - description: >- - `Any` contains an arbitrary serialized protocol buffer - message along with a - - URL that describes the type of the serialized message. - - - Protobuf library provides support to pack/unpack Any values - in the form - - of utility functions or additional generated methods of the - Any type. - - - Example 1: Pack and unpack a message in C++. - - Foo foo = ...; - Any any; - any.PackFrom(foo); - ... - if (any.UnpackTo(&foo)) { - ... - } - - Example 2: Pack and unpack a message in Java. - - Foo foo = ...; - Any any = Any.pack(foo); - ... - if (any.is(Foo.class)) { - foo = any.unpack(Foo.class); - } - // or ... - if (any.isSameTypeAs(Foo.getDefaultInstance())) { - foo = any.unpack(Foo.getDefaultInstance()); - } - - Example 3: Pack and unpack a message in Python. - - foo = Foo(...) - any = Any() - any.Pack(foo) - ... - if any.Is(Foo.DESCRIPTOR): - any.Unpack(foo) - ... - - Example 4: Pack and unpack a message in Go - - foo := &pb.Foo{...} - any, err := anypb.New(foo) - if err != nil { - ... - } - ... - foo := &pb.Foo{} - if err := any.UnmarshalTo(foo); err != nil { - ... - } - - The pack methods provided by protobuf library will by - default use - - 'type.googleapis.com/full.type.name' as the type URL and the - unpack - - methods only use the fully qualified type name after the - last '/' - - in the type URL, for example "foo.bar.com/x/y.z" will yield - type - - name "y.z". - - - JSON - - ==== - - The JSON representation of an `Any` value uses the regular - - representation of the deserialized, embedded message, with - an - - additional field `@type` which contains the type URL. - Example: - - package google.profile; - message Person { - string first_name = 1; - string last_name = 2; - } - - { - "@type": "type.googleapis.com/google.profile.Person", - "firstName": , - "lastName": - } - - If the embedded message type is well-known and has a custom - JSON - - representation, that representation will be embedded adding - a field - - `value` which holds the custom JSON in addition to the - `@type` - - field. Example (for message [google.protobuf.Duration][]): - - { - "@type": "type.googleapis.com/google.protobuf.Duration", - "value": "1.212s" - } - parameters: - - name: body - in: body - required: true - schema: - type: object - properties: - plan: - type: object - properties: - name: - type: string - description: >- - Sets the name for the upgrade. This name will be used by - the upgraded - - version of the software to apply any special "on-upgrade" - commands during - - the first BeginBlock method after the upgrade is applied. - It is also used - - to detect whether a software version can handle a given - upgrade. If no - - upgrade handler with this name has been set in the - software, it will be - - assumed that the software is out-of-date when the upgrade - Time or Height is - - reached and the software will exit. - time: - type: string - format: date-time - description: >- - Deprecated: Time based upgrades have been deprecated. Time - based upgrade logic - - has been removed from the SDK. - - If this field is not empty, an error will be thrown. - height: - type: string - format: int64 - description: The height at which the upgrade must be performed. - info: - type: string - title: >- - Any application specific upgrade info to be included - on-chain - - such as a git commit that validators could automatically - upgrade to - upgraded_client_state: - description: >- - Deprecated: UpgradedClientState field has been deprecated. - IBC upgrade logic has been - - moved to the IBC module in the sub module 02-client. - - If this field is not empty, an error will be thrown. - type: object - properties: - '@type': - type: string - description: >- - A URL/resource name that uniquely identifies the type - of the serialized - - protocol buffer message. This string must contain at - least - - one "/" character. The last segment of the URL's path - must represent - - the fully qualified name of the type (as in - - `path/google.protobuf.Duration`). The name should be - in a canonical form - - (e.g., leading "." is not accepted). - - - In practice, teams usually precompile into the binary - all types that they - - expect it to use in the context of Any. However, for - URLs which use the - - scheme `http`, `https`, or no scheme, one can - optionally set up a type - - server that maps type URLs to message definitions as - follows: - - - * If no scheme is provided, `https` is assumed. - - * An HTTP GET on the URL must yield a - [google.protobuf.Type][] - value in binary format, or produce an error. - * Applications are allowed to cache lookup results - based on the - URL, or have them precompiled into a binary to avoid any - lookup. Therefore, binary compatibility needs to be preserved - on changes to types. (Use versioned type names to manage - breaking changes.) - - Note: this functionality is not currently available in - the official - - protobuf release, and it is not used for type URLs - beginning with - - type.googleapis.com. As of May 2023, there are no - widely used type server - - implementations and no plans to implement one. - - - Schemes other than `http`, `https` (or the empty - scheme) might be - - used with implementation specific semantics. - additionalProperties: {} - description: >- - Plan specifies information about a planned upgrade and when it - should occur. - upgraded_client_state: - description: >- - An UpgradedClientState must be provided to perform an IBC - breaking upgrade. - - This will make the chain commit to the correct upgraded (self) - client state - - before the upgrade occurs, so that connecting chains can - verify that the - - new upgraded client is valid by verifying a proof on the - previous version - - of the chain. This will allow IBC connections to persist - smoothly across - - planned chain upgrades. Correspondingly, the - UpgradedClientState field has been - - deprecated in the Cosmos SDK to allow for this logic to exist - solely in - - the 02-client module. - type: object - properties: - '@type': - type: string - description: >- - A URL/resource name that uniquely identifies the type of - the serialized - - protocol buffer message. This string must contain at least - - one "/" character. The last segment of the URL's path must - represent - - the fully qualified name of the type (as in - - `path/google.protobuf.Duration`). The name should be in a - canonical form - - (e.g., leading "." is not accepted). - - - In practice, teams usually precompile into the binary all - types that they - - expect it to use in the context of Any. However, for URLs - which use the - - scheme `http`, `https`, or no scheme, one can optionally - set up a type - - server that maps type URLs to message definitions as - follows: - - - * If no scheme is provided, `https` is assumed. - - * An HTTP GET on the URL must yield a - [google.protobuf.Type][] - value in binary format, or produce an error. - * Applications are allowed to cache lookup results based - on the - URL, or have them precompiled into a binary to avoid any - lookup. Therefore, binary compatibility needs to be preserved - on changes to types. (Use versioned type names to manage - breaking changes.) - - Note: this functionality is not currently available in the - official - - protobuf release, and it is not used for type URLs - beginning with - - type.googleapis.com. As of May 2023, there are no widely - used type server - - implementations and no plans to implement one. - - - Schemes other than `http`, `https` (or the empty scheme) - might be - - used with implementation specific semantics. - additionalProperties: {} - signer: - type: string - title: signer address - title: >- - MsgIBCSoftwareUpgrade defines the message used to schedule an - upgrade of an IBC client using a v1 governance proposal - tags: - - Msg - /ibc.core.client.v1.Msg/RecoverClient: - post: - summary: RecoverClient defines a rpc handler method for MsgRecoverClient. - operationId: IbcCoreClientV1Msg_RecoverClient - responses: - '200': - description: A successful response. - schema: - type: object - description: >- - MsgRecoverClientResponse defines the Msg/RecoverClient response - type. - default: - description: An unexpected error response. - schema: - type: object - properties: - code: - type: integer - format: int32 - message: - type: string - details: - type: array - items: - type: object - properties: - '@type': - type: string - description: >- - A URL/resource name that uniquely identifies the type of - the serialized - - protocol buffer message. This string must contain at - least - - one "/" character. The last segment of the URL's path - must represent - - the fully qualified name of the type (as in - - `path/google.protobuf.Duration`). The name should be in - a canonical form - - (e.g., leading "." is not accepted). - - - In practice, teams usually precompile into the binary - all types that they - - expect it to use in the context of Any. However, for - URLs which use the - - scheme `http`, `https`, or no scheme, one can optionally - set up a type - - server that maps type URLs to message definitions as - follows: - - - * If no scheme is provided, `https` is assumed. - - * An HTTP GET on the URL must yield a - [google.protobuf.Type][] - value in binary format, or produce an error. - * Applications are allowed to cache lookup results based - on the - URL, or have them precompiled into a binary to avoid any - lookup. Therefore, binary compatibility needs to be preserved - on changes to types. (Use versioned type names to manage - breaking changes.) - - Note: this functionality is not currently available in - the official - - protobuf release, and it is not used for type URLs - beginning with - - type.googleapis.com. As of May 2023, there are no widely - used type server - - implementations and no plans to implement one. - - - Schemes other than `http`, `https` (or the empty scheme) - might be - - used with implementation specific semantics. - additionalProperties: {} - description: >- - `Any` contains an arbitrary serialized protocol buffer - message along with a - - URL that describes the type of the serialized message. - - - Protobuf library provides support to pack/unpack Any values - in the form - - of utility functions or additional generated methods of the - Any type. - - - Example 1: Pack and unpack a message in C++. - - Foo foo = ...; - Any any; - any.PackFrom(foo); - ... - if (any.UnpackTo(&foo)) { - ... - } - - Example 2: Pack and unpack a message in Java. - - Foo foo = ...; - Any any = Any.pack(foo); - ... - if (any.is(Foo.class)) { - foo = any.unpack(Foo.class); - } - // or ... - if (any.isSameTypeAs(Foo.getDefaultInstance())) { - foo = any.unpack(Foo.getDefaultInstance()); - } - - Example 3: Pack and unpack a message in Python. - - foo = Foo(...) - any = Any() - any.Pack(foo) - ... - if any.Is(Foo.DESCRIPTOR): - any.Unpack(foo) - ... - - Example 4: Pack and unpack a message in Go - - foo := &pb.Foo{...} - any, err := anypb.New(foo) - if err != nil { - ... - } - ... - foo := &pb.Foo{} - if err := any.UnmarshalTo(foo); err != nil { - ... - } - - The pack methods provided by protobuf library will by - default use - - 'type.googleapis.com/full.type.name' as the type URL and the - unpack - - methods only use the fully qualified type name after the - last '/' - - in the type URL, for example "foo.bar.com/x/y.z" will yield - type - - name "y.z". - - - JSON - - ==== - - The JSON representation of an `Any` value uses the regular - - representation of the deserialized, embedded message, with - an - - additional field `@type` which contains the type URL. - Example: - - package google.profile; - message Person { - string first_name = 1; - string last_name = 2; - } - - { - "@type": "type.googleapis.com/google.profile.Person", - "firstName": , - "lastName": - } - - If the embedded message type is well-known and has a custom - JSON - - representation, that representation will be embedded adding - a field - - `value` which holds the custom JSON in addition to the - `@type` - - field. Example (for message [google.protobuf.Duration][]): - - { - "@type": "type.googleapis.com/google.protobuf.Duration", - "value": "1.212s" - } - parameters: - - name: body - description: >- - MsgRecoverClient defines the message used to recover a frozen or - expired client. - in: body - required: true - schema: - type: object - properties: - subject_client_id: - type: string - title: >- - the client identifier for the client to be updated if the - proposal passes - substitute_client_id: - type: string - title: >- - the substitute client identifier for the client which will - replace the subject - - client - signer: - type: string - title: signer address - description: >- - MsgRecoverClient defines the message used to recover a frozen or - expired client. - tags: - - Msg - /ibc.core.client.v1.Msg/SubmitMisbehaviour: - post: - summary: >- - SubmitMisbehaviour defines a rpc handler method for - MsgSubmitMisbehaviour. - operationId: IbcCoreClientV1Msg_SubmitMisbehaviour - responses: - '200': - description: A successful response. - schema: - type: object - description: >- - MsgSubmitMisbehaviourResponse defines the Msg/SubmitMisbehaviour - response - - type. - default: - description: An unexpected error response. - schema: - type: object - properties: - code: - type: integer - format: int32 - message: - type: string - details: - type: array - items: - type: object - properties: - '@type': - type: string - description: >- - A URL/resource name that uniquely identifies the type of - the serialized - - protocol buffer message. This string must contain at - least - - one "/" character. The last segment of the URL's path - must represent - - the fully qualified name of the type (as in - - `path/google.protobuf.Duration`). The name should be in - a canonical form - - (e.g., leading "." is not accepted). - - - In practice, teams usually precompile into the binary - all types that they - - expect it to use in the context of Any. However, for - URLs which use the - - scheme `http`, `https`, or no scheme, one can optionally - set up a type - - server that maps type URLs to message definitions as - follows: - - - * If no scheme is provided, `https` is assumed. - - * An HTTP GET on the URL must yield a - [google.protobuf.Type][] - value in binary format, or produce an error. - * Applications are allowed to cache lookup results based - on the - URL, or have them precompiled into a binary to avoid any - lookup. Therefore, binary compatibility needs to be preserved - on changes to types. (Use versioned type names to manage - breaking changes.) - - Note: this functionality is not currently available in - the official - - protobuf release, and it is not used for type URLs - beginning with - - type.googleapis.com. As of May 2023, there are no widely - used type server - - implementations and no plans to implement one. - - - Schemes other than `http`, `https` (or the empty scheme) - might be - - used with implementation specific semantics. - additionalProperties: {} - description: >- - `Any` contains an arbitrary serialized protocol buffer - message along with a - - URL that describes the type of the serialized message. - - - Protobuf library provides support to pack/unpack Any values - in the form - - of utility functions or additional generated methods of the - Any type. - - - Example 1: Pack and unpack a message in C++. - - Foo foo = ...; - Any any; - any.PackFrom(foo); - ... - if (any.UnpackTo(&foo)) { - ... - } - - Example 2: Pack and unpack a message in Java. - - Foo foo = ...; - Any any = Any.pack(foo); - ... - if (any.is(Foo.class)) { - foo = any.unpack(Foo.class); - } - // or ... - if (any.isSameTypeAs(Foo.getDefaultInstance())) { - foo = any.unpack(Foo.getDefaultInstance()); - } - - Example 3: Pack and unpack a message in Python. - - foo = Foo(...) - any = Any() - any.Pack(foo) - ... - if any.Is(Foo.DESCRIPTOR): - any.Unpack(foo) - ... - - Example 4: Pack and unpack a message in Go - - foo := &pb.Foo{...} - any, err := anypb.New(foo) - if err != nil { - ... - } - ... - foo := &pb.Foo{} - if err := any.UnmarshalTo(foo); err != nil { - ... - } - - The pack methods provided by protobuf library will by - default use - - 'type.googleapis.com/full.type.name' as the type URL and the - unpack - - methods only use the fully qualified type name after the - last '/' - - in the type URL, for example "foo.bar.com/x/y.z" will yield - type - - name "y.z". - - - JSON - - ==== - - The JSON representation of an `Any` value uses the regular - - representation of the deserialized, embedded message, with - an - - additional field `@type` which contains the type URL. - Example: - - package google.profile; - message Person { - string first_name = 1; - string last_name = 2; - } - - { - "@type": "type.googleapis.com/google.profile.Person", - "firstName": , - "lastName": - } - - If the embedded message type is well-known and has a custom - JSON - - representation, that representation will be embedded adding - a field - - `value` which holds the custom JSON in addition to the - `@type` - - field. Example (for message [google.protobuf.Duration][]): - - { - "@type": "type.googleapis.com/google.protobuf.Duration", - "value": "1.212s" - } - parameters: - - name: body - description: >- - MsgSubmitMisbehaviour defines an sdk.Msg type that submits Evidence - for - - light client misbehaviour. - - This message has been deprecated. Use MsgUpdateClient instead. - in: body - required: true - schema: - type: object - properties: - client_id: - type: string - title: client unique identifier - misbehaviour: - title: misbehaviour used for freezing the light client - type: object - properties: - '@type': - type: string - description: >- - A URL/resource name that uniquely identifies the type of - the serialized - - protocol buffer message. This string must contain at least - - one "/" character. The last segment of the URL's path must - represent - - the fully qualified name of the type (as in - - `path/google.protobuf.Duration`). The name should be in a - canonical form - - (e.g., leading "." is not accepted). - - - In practice, teams usually precompile into the binary all - types that they - - expect it to use in the context of Any. However, for URLs - which use the - - scheme `http`, `https`, or no scheme, one can optionally - set up a type - - server that maps type URLs to message definitions as - follows: - - - * If no scheme is provided, `https` is assumed. - - * An HTTP GET on the URL must yield a - [google.protobuf.Type][] - value in binary format, or produce an error. - * Applications are allowed to cache lookup results based - on the - URL, or have them precompiled into a binary to avoid any - lookup. Therefore, binary compatibility needs to be preserved - on changes to types. (Use versioned type names to manage - breaking changes.) - - Note: this functionality is not currently available in the - official - - protobuf release, and it is not used for type URLs - beginning with - - type.googleapis.com. As of May 2023, there are no widely - used type server - - implementations and no plans to implement one. - - - Schemes other than `http`, `https` (or the empty scheme) - might be - - used with implementation specific semantics. - additionalProperties: {} - description: >- - `Any` contains an arbitrary serialized protocol buffer message - along with a - - URL that describes the type of the serialized message. - - - Protobuf library provides support to pack/unpack Any values in - the form - - of utility functions or additional generated methods of the - Any type. - - - Example 1: Pack and unpack a message in C++. - - Foo foo = ...; - Any any; - any.PackFrom(foo); - ... - if (any.UnpackTo(&foo)) { - ... - } - - Example 2: Pack and unpack a message in Java. - - Foo foo = ...; - Any any = Any.pack(foo); - ... - if (any.is(Foo.class)) { - foo = any.unpack(Foo.class); - } - // or ... - if (any.isSameTypeAs(Foo.getDefaultInstance())) { - foo = any.unpack(Foo.getDefaultInstance()); - } - - Example 3: Pack and unpack a message in Python. - - foo = Foo(...) - any = Any() - any.Pack(foo) - ... - if any.Is(Foo.DESCRIPTOR): - any.Unpack(foo) - ... - - Example 4: Pack and unpack a message in Go - - foo := &pb.Foo{...} - any, err := anypb.New(foo) - if err != nil { - ... - } - ... - foo := &pb.Foo{} - if err := any.UnmarshalTo(foo); err != nil { - ... - } - - The pack methods provided by protobuf library will by default - use - - 'type.googleapis.com/full.type.name' as the type URL and the - unpack - - methods only use the fully qualified type name after the last - '/' - - in the type URL, for example "foo.bar.com/x/y.z" will yield - type - - name "y.z". - - - JSON - - ==== - - The JSON representation of an `Any` value uses the regular - - representation of the deserialized, embedded message, with an - - additional field `@type` which contains the type URL. Example: - - package google.profile; - message Person { - string first_name = 1; - string last_name = 2; - } - - { - "@type": "type.googleapis.com/google.profile.Person", - "firstName": , - "lastName": - } - - If the embedded message type is well-known and has a custom - JSON - - representation, that representation will be embedded adding a - field - - `value` which holds the custom JSON in addition to the `@type` - - field. Example (for message [google.protobuf.Duration][]): - - { - "@type": "type.googleapis.com/google.protobuf.Duration", - "value": "1.212s" - } - signer: - type: string - title: signer address - description: >- - MsgSubmitMisbehaviour defines an sdk.Msg type that submits - Evidence for - - light client misbehaviour. - - This message has been deprecated. Use MsgUpdateClient instead. - tags: - - Msg - /ibc.core.client.v1.Msg/UpdateClient: - post: - summary: UpdateClient defines a rpc handler method for MsgUpdateClient. - operationId: IbcCoreClientV1Msg_UpdateClient - responses: - '200': - description: A successful response. - schema: - type: object - description: >- - MsgUpdateClientResponse defines the Msg/UpdateClient response - type. - default: - description: An unexpected error response. - schema: - type: object - properties: - code: - type: integer - format: int32 - message: - type: string - details: - type: array - items: - type: object - properties: - '@type': - type: string - description: >- - A URL/resource name that uniquely identifies the type of - the serialized - - protocol buffer message. This string must contain at - least - - one "/" character. The last segment of the URL's path - must represent - - the fully qualified name of the type (as in - - `path/google.protobuf.Duration`). The name should be in - a canonical form - - (e.g., leading "." is not accepted). - - - In practice, teams usually precompile into the binary - all types that they - - expect it to use in the context of Any. However, for - URLs which use the - - scheme `http`, `https`, or no scheme, one can optionally - set up a type - - server that maps type URLs to message definitions as - follows: - - - * If no scheme is provided, `https` is assumed. - - * An HTTP GET on the URL must yield a - [google.protobuf.Type][] - value in binary format, or produce an error. - * Applications are allowed to cache lookup results based - on the - URL, or have them precompiled into a binary to avoid any - lookup. Therefore, binary compatibility needs to be preserved - on changes to types. (Use versioned type names to manage - breaking changes.) - - Note: this functionality is not currently available in - the official - - protobuf release, and it is not used for type URLs - beginning with - - type.googleapis.com. As of May 2023, there are no widely - used type server - - implementations and no plans to implement one. - - - Schemes other than `http`, `https` (or the empty scheme) - might be - - used with implementation specific semantics. - additionalProperties: {} - description: >- - `Any` contains an arbitrary serialized protocol buffer - message along with a - - URL that describes the type of the serialized message. - - - Protobuf library provides support to pack/unpack Any values - in the form - - of utility functions or additional generated methods of the - Any type. - - - Example 1: Pack and unpack a message in C++. - - Foo foo = ...; - Any any; - any.PackFrom(foo); - ... - if (any.UnpackTo(&foo)) { - ... - } - - Example 2: Pack and unpack a message in Java. - - Foo foo = ...; - Any any = Any.pack(foo); - ... - if (any.is(Foo.class)) { - foo = any.unpack(Foo.class); - } - // or ... - if (any.isSameTypeAs(Foo.getDefaultInstance())) { - foo = any.unpack(Foo.getDefaultInstance()); - } - - Example 3: Pack and unpack a message in Python. - - foo = Foo(...) - any = Any() - any.Pack(foo) - ... - if any.Is(Foo.DESCRIPTOR): - any.Unpack(foo) - ... - - Example 4: Pack and unpack a message in Go - - foo := &pb.Foo{...} - any, err := anypb.New(foo) - if err != nil { - ... - } - ... - foo := &pb.Foo{} - if err := any.UnmarshalTo(foo); err != nil { - ... - } - - The pack methods provided by protobuf library will by - default use - - 'type.googleapis.com/full.type.name' as the type URL and the - unpack - - methods only use the fully qualified type name after the - last '/' - - in the type URL, for example "foo.bar.com/x/y.z" will yield - type - - name "y.z". - - - JSON - - ==== - - The JSON representation of an `Any` value uses the regular - - representation of the deserialized, embedded message, with - an - - additional field `@type` which contains the type URL. - Example: - - package google.profile; - message Person { - string first_name = 1; - string last_name = 2; - } - - { - "@type": "type.googleapis.com/google.profile.Person", - "firstName": , - "lastName": - } - - If the embedded message type is well-known and has a custom - JSON - - representation, that representation will be embedded adding - a field - - `value` which holds the custom JSON in addition to the - `@type` - - field. Example (for message [google.protobuf.Duration][]): - - { - "@type": "type.googleapis.com/google.protobuf.Duration", - "value": "1.212s" - } - parameters: - - name: body - description: >- - MsgUpdateClient defines an sdk.Msg to update a IBC client state - using - - the given client message. - in: body - required: true - schema: - type: object - properties: - client_id: - type: string - title: client unique identifier - client_message: - title: client message to update the light client - type: object - properties: - '@type': - type: string - description: >- - A URL/resource name that uniquely identifies the type of - the serialized - - protocol buffer message. This string must contain at least - - one "/" character. The last segment of the URL's path must - represent - - the fully qualified name of the type (as in - - `path/google.protobuf.Duration`). The name should be in a - canonical form - - (e.g., leading "." is not accepted). - - - In practice, teams usually precompile into the binary all - types that they - - expect it to use in the context of Any. However, for URLs - which use the - - scheme `http`, `https`, or no scheme, one can optionally - set up a type - - server that maps type URLs to message definitions as - follows: - - - * If no scheme is provided, `https` is assumed. - - * An HTTP GET on the URL must yield a - [google.protobuf.Type][] - value in binary format, or produce an error. - * Applications are allowed to cache lookup results based - on the - URL, or have them precompiled into a binary to avoid any - lookup. Therefore, binary compatibility needs to be preserved - on changes to types. (Use versioned type names to manage - breaking changes.) - - Note: this functionality is not currently available in the - official - - protobuf release, and it is not used for type URLs - beginning with - - type.googleapis.com. As of May 2023, there are no widely - used type server - - implementations and no plans to implement one. - - - Schemes other than `http`, `https` (or the empty scheme) - might be - - used with implementation specific semantics. - additionalProperties: {} - description: >- - `Any` contains an arbitrary serialized protocol buffer message - along with a - - URL that describes the type of the serialized message. - - - Protobuf library provides support to pack/unpack Any values in - the form - - of utility functions or additional generated methods of the - Any type. - - - Example 1: Pack and unpack a message in C++. - - Foo foo = ...; - Any any; - any.PackFrom(foo); - ... - if (any.UnpackTo(&foo)) { - ... - } - - Example 2: Pack and unpack a message in Java. - - Foo foo = ...; - Any any = Any.pack(foo); - ... - if (any.is(Foo.class)) { - foo = any.unpack(Foo.class); - } - // or ... - if (any.isSameTypeAs(Foo.getDefaultInstance())) { - foo = any.unpack(Foo.getDefaultInstance()); - } - - Example 3: Pack and unpack a message in Python. - - foo = Foo(...) - any = Any() - any.Pack(foo) - ... - if any.Is(Foo.DESCRIPTOR): - any.Unpack(foo) - ... - - Example 4: Pack and unpack a message in Go - - foo := &pb.Foo{...} - any, err := anypb.New(foo) - if err != nil { - ... - } - ... - foo := &pb.Foo{} - if err := any.UnmarshalTo(foo); err != nil { - ... - } - - The pack methods provided by protobuf library will by default - use - - 'type.googleapis.com/full.type.name' as the type URL and the - unpack - - methods only use the fully qualified type name after the last - '/' - - in the type URL, for example "foo.bar.com/x/y.z" will yield - type - - name "y.z". - - - JSON - - ==== - - The JSON representation of an `Any` value uses the regular - - representation of the deserialized, embedded message, with an - - additional field `@type` which contains the type URL. Example: - - package google.profile; - message Person { - string first_name = 1; - string last_name = 2; - } - - { - "@type": "type.googleapis.com/google.profile.Person", - "firstName": , - "lastName": - } - - If the embedded message type is well-known and has a custom - JSON - - representation, that representation will be embedded adding a - field - - `value` which holds the custom JSON in addition to the `@type` - - field. Example (for message [google.protobuf.Duration][]): - - { - "@type": "type.googleapis.com/google.protobuf.Duration", - "value": "1.212s" - } - signer: - type: string - title: signer address - description: >- - MsgUpdateClient defines an sdk.Msg to update a IBC client state - using - - the given client message. - tags: - - Msg - /ibc.core.client.v1.Msg/UpdateClientParams: - post: - summary: UpdateClientParams defines a rpc handler method for MsgUpdateParams. - operationId: IbcCoreClientV1Msg_UpdateClientParams - responses: - '200': - description: A successful response. - schema: - type: object - description: MsgUpdateParamsResponse defines the MsgUpdateParams response type. - default: - description: An unexpected error response. - schema: - type: object - properties: - code: - type: integer - format: int32 - message: - type: string - details: - type: array - items: - type: object - properties: - '@type': - type: string - description: >- - A URL/resource name that uniquely identifies the type of - the serialized - - protocol buffer message. This string must contain at - least - - one "/" character. The last segment of the URL's path - must represent - - the fully qualified name of the type (as in - - `path/google.protobuf.Duration`). The name should be in - a canonical form - - (e.g., leading "." is not accepted). - - - In practice, teams usually precompile into the binary - all types that they - - expect it to use in the context of Any. However, for - URLs which use the - - scheme `http`, `https`, or no scheme, one can optionally - set up a type - - server that maps type URLs to message definitions as - follows: - - - * If no scheme is provided, `https` is assumed. - - * An HTTP GET on the URL must yield a - [google.protobuf.Type][] - value in binary format, or produce an error. - * Applications are allowed to cache lookup results based - on the - URL, or have them precompiled into a binary to avoid any - lookup. Therefore, binary compatibility needs to be preserved - on changes to types. (Use versioned type names to manage - breaking changes.) - - Note: this functionality is not currently available in - the official - - protobuf release, and it is not used for type URLs - beginning with - - type.googleapis.com. As of May 2023, there are no widely - used type server - - implementations and no plans to implement one. - - - Schemes other than `http`, `https` (or the empty scheme) - might be - - used with implementation specific semantics. - additionalProperties: {} - description: >- - `Any` contains an arbitrary serialized protocol buffer - message along with a - - URL that describes the type of the serialized message. - - - Protobuf library provides support to pack/unpack Any values - in the form - - of utility functions or additional generated methods of the - Any type. - - - Example 1: Pack and unpack a message in C++. - - Foo foo = ...; - Any any; - any.PackFrom(foo); - ... - if (any.UnpackTo(&foo)) { - ... - } - - Example 2: Pack and unpack a message in Java. - - Foo foo = ...; - Any any = Any.pack(foo); - ... - if (any.is(Foo.class)) { - foo = any.unpack(Foo.class); - } - // or ... - if (any.isSameTypeAs(Foo.getDefaultInstance())) { - foo = any.unpack(Foo.getDefaultInstance()); - } - - Example 3: Pack and unpack a message in Python. - - foo = Foo(...) - any = Any() - any.Pack(foo) - ... - if any.Is(Foo.DESCRIPTOR): - any.Unpack(foo) - ... - - Example 4: Pack and unpack a message in Go - - foo := &pb.Foo{...} - any, err := anypb.New(foo) - if err != nil { - ... - } - ... - foo := &pb.Foo{} - if err := any.UnmarshalTo(foo); err != nil { - ... - } - - The pack methods provided by protobuf library will by - default use - - 'type.googleapis.com/full.type.name' as the type URL and the - unpack - - methods only use the fully qualified type name after the - last '/' - - in the type URL, for example "foo.bar.com/x/y.z" will yield - type - - name "y.z". - - - JSON - - ==== - - The JSON representation of an `Any` value uses the regular - - representation of the deserialized, embedded message, with - an - - additional field `@type` which contains the type URL. - Example: - - package google.profile; - message Person { - string first_name = 1; - string last_name = 2; - } - - { - "@type": "type.googleapis.com/google.profile.Person", - "firstName": , - "lastName": - } - - If the embedded message type is well-known and has a custom - JSON - - representation, that representation will be embedded adding - a field - - `value` which holds the custom JSON in addition to the - `@type` - - field. Example (for message [google.protobuf.Duration][]): - - { - "@type": "type.googleapis.com/google.protobuf.Duration", - "value": "1.212s" - } - parameters: - - name: body - description: >- - MsgUpdateParams defines the sdk.Msg type to update the client - parameters. - in: body - required: true - schema: - type: object - properties: - signer: - type: string - title: signer address - params: - description: |- - params defines the client parameters to update. - - NOTE: All parameters must be supplied. - type: object - properties: - allowed_clients: - type: array - items: - type: string - description: >- - allowed_clients defines the list of allowed client state - types which can be created - - and interacted with. If a client type is removed from the - allowed clients list, usage - - of this client will be disabled until it is added again to - the list. - description: >- - MsgUpdateParams defines the sdk.Msg type to update the client - parameters. - tags: - - Msg - /ibc.core.client.v1.Msg/UpgradeClient: - post: - summary: UpgradeClient defines a rpc handler method for MsgUpgradeClient. - operationId: IbcCoreClientV1Msg_UpgradeClient - responses: - '200': - description: A successful response. - schema: - type: object - description: >- - MsgUpgradeClientResponse defines the Msg/UpgradeClient response - type. - default: - description: An unexpected error response. - schema: - type: object - properties: - code: - type: integer - format: int32 - message: - type: string - details: - type: array - items: - type: object - properties: - '@type': - type: string - description: >- - A URL/resource name that uniquely identifies the type of - the serialized - - protocol buffer message. This string must contain at - least - - one "/" character. The last segment of the URL's path - must represent - - the fully qualified name of the type (as in - - `path/google.protobuf.Duration`). The name should be in - a canonical form - - (e.g., leading "." is not accepted). - - - In practice, teams usually precompile into the binary - all types that they - - expect it to use in the context of Any. However, for - URLs which use the - - scheme `http`, `https`, or no scheme, one can optionally - set up a type - - server that maps type URLs to message definitions as - follows: - - - * If no scheme is provided, `https` is assumed. - - * An HTTP GET on the URL must yield a - [google.protobuf.Type][] - value in binary format, or produce an error. - * Applications are allowed to cache lookup results based - on the - URL, or have them precompiled into a binary to avoid any - lookup. Therefore, binary compatibility needs to be preserved - on changes to types. (Use versioned type names to manage - breaking changes.) - - Note: this functionality is not currently available in - the official - - protobuf release, and it is not used for type URLs - beginning with - - type.googleapis.com. As of May 2023, there are no widely - used type server - - implementations and no plans to implement one. - - - Schemes other than `http`, `https` (or the empty scheme) - might be - - used with implementation specific semantics. - additionalProperties: {} - description: >- - `Any` contains an arbitrary serialized protocol buffer - message along with a - - URL that describes the type of the serialized message. - - - Protobuf library provides support to pack/unpack Any values - in the form - - of utility functions or additional generated methods of the - Any type. - - - Example 1: Pack and unpack a message in C++. - - Foo foo = ...; - Any any; - any.PackFrom(foo); - ... - if (any.UnpackTo(&foo)) { - ... - } - - Example 2: Pack and unpack a message in Java. - - Foo foo = ...; - Any any = Any.pack(foo); - ... - if (any.is(Foo.class)) { - foo = any.unpack(Foo.class); - } - // or ... - if (any.isSameTypeAs(Foo.getDefaultInstance())) { - foo = any.unpack(Foo.getDefaultInstance()); - } - - Example 3: Pack and unpack a message in Python. - - foo = Foo(...) - any = Any() - any.Pack(foo) - ... - if any.Is(Foo.DESCRIPTOR): - any.Unpack(foo) - ... - - Example 4: Pack and unpack a message in Go - - foo := &pb.Foo{...} - any, err := anypb.New(foo) - if err != nil { - ... - } - ... - foo := &pb.Foo{} - if err := any.UnmarshalTo(foo); err != nil { - ... - } - - The pack methods provided by protobuf library will by - default use - - 'type.googleapis.com/full.type.name' as the type URL and the - unpack - - methods only use the fully qualified type name after the - last '/' - - in the type URL, for example "foo.bar.com/x/y.z" will yield - type - - name "y.z". - - - JSON - - ==== - - The JSON representation of an `Any` value uses the regular - - representation of the deserialized, embedded message, with - an - - additional field `@type` which contains the type URL. - Example: - - package google.profile; - message Person { - string first_name = 1; - string last_name = 2; - } - - { - "@type": "type.googleapis.com/google.profile.Person", - "firstName": , - "lastName": - } - - If the embedded message type is well-known and has a custom - JSON - - representation, that representation will be embedded adding - a field - - `value` which holds the custom JSON in addition to the - `@type` - - field. Example (for message [google.protobuf.Duration][]): - - { - "@type": "type.googleapis.com/google.protobuf.Duration", - "value": "1.212s" - } - parameters: - - name: body - in: body - required: true - schema: - type: object - properties: - client_id: - type: string - title: client unique identifier - client_state: - title: upgraded client state - type: object - properties: - '@type': - type: string - description: >- - A URL/resource name that uniquely identifies the type of - the serialized - - protocol buffer message. This string must contain at least - - one "/" character. The last segment of the URL's path must - represent - - the fully qualified name of the type (as in - - `path/google.protobuf.Duration`). The name should be in a - canonical form - - (e.g., leading "." is not accepted). - - - In practice, teams usually precompile into the binary all - types that they - - expect it to use in the context of Any. However, for URLs - which use the - - scheme `http`, `https`, or no scheme, one can optionally - set up a type - - server that maps type URLs to message definitions as - follows: - - - * If no scheme is provided, `https` is assumed. - - * An HTTP GET on the URL must yield a - [google.protobuf.Type][] - value in binary format, or produce an error. - * Applications are allowed to cache lookup results based - on the - URL, or have them precompiled into a binary to avoid any - lookup. Therefore, binary compatibility needs to be preserved - on changes to types. (Use versioned type names to manage - breaking changes.) - - Note: this functionality is not currently available in the - official - - protobuf release, and it is not used for type URLs - beginning with - - type.googleapis.com. As of May 2023, there are no widely - used type server - - implementations and no plans to implement one. - - - Schemes other than `http`, `https` (or the empty scheme) - might be - - used with implementation specific semantics. - additionalProperties: {} - description: >- - `Any` contains an arbitrary serialized protocol buffer message - along with a - - URL that describes the type of the serialized message. - - - Protobuf library provides support to pack/unpack Any values in - the form - - of utility functions or additional generated methods of the - Any type. - - - Example 1: Pack and unpack a message in C++. - - Foo foo = ...; - Any any; - any.PackFrom(foo); - ... - if (any.UnpackTo(&foo)) { - ... - } - - Example 2: Pack and unpack a message in Java. - - Foo foo = ...; - Any any = Any.pack(foo); - ... - if (any.is(Foo.class)) { - foo = any.unpack(Foo.class); - } - // or ... - if (any.isSameTypeAs(Foo.getDefaultInstance())) { - foo = any.unpack(Foo.getDefaultInstance()); - } - - Example 3: Pack and unpack a message in Python. - - foo = Foo(...) - any = Any() - any.Pack(foo) - ... - if any.Is(Foo.DESCRIPTOR): - any.Unpack(foo) - ... - - Example 4: Pack and unpack a message in Go - - foo := &pb.Foo{...} - any, err := anypb.New(foo) - if err != nil { - ... - } - ... - foo := &pb.Foo{} - if err := any.UnmarshalTo(foo); err != nil { - ... - } - - The pack methods provided by protobuf library will by default - use - - 'type.googleapis.com/full.type.name' as the type URL and the - unpack - - methods only use the fully qualified type name after the last - '/' - - in the type URL, for example "foo.bar.com/x/y.z" will yield - type - - name "y.z". - - - JSON - - ==== - - The JSON representation of an `Any` value uses the regular - - representation of the deserialized, embedded message, with an - - additional field `@type` which contains the type URL. Example: - - package google.profile; - message Person { - string first_name = 1; - string last_name = 2; - } - - { - "@type": "type.googleapis.com/google.profile.Person", - "firstName": , - "lastName": - } - - If the embedded message type is well-known and has a custom - JSON - - representation, that representation will be embedded adding a - field - - `value` which holds the custom JSON in addition to the `@type` - - field. Example (for message [google.protobuf.Duration][]): - - { - "@type": "type.googleapis.com/google.protobuf.Duration", - "value": "1.212s" - } - consensus_state: - title: >- - upgraded consensus state, only contains enough information to - serve as a - - basis of trust in update logic - type: object - properties: - '@type': - type: string - description: >- - A URL/resource name that uniquely identifies the type of - the serialized - - protocol buffer message. This string must contain at least - - one "/" character. The last segment of the URL's path must - represent - - the fully qualified name of the type (as in - - `path/google.protobuf.Duration`). The name should be in a - canonical form - - (e.g., leading "." is not accepted). - - - In practice, teams usually precompile into the binary all - types that they - - expect it to use in the context of Any. However, for URLs - which use the - - scheme `http`, `https`, or no scheme, one can optionally - set up a type - - server that maps type URLs to message definitions as - follows: - - - * If no scheme is provided, `https` is assumed. - - * An HTTP GET on the URL must yield a - [google.protobuf.Type][] - value in binary format, or produce an error. - * Applications are allowed to cache lookup results based - on the - URL, or have them precompiled into a binary to avoid any - lookup. Therefore, binary compatibility needs to be preserved - on changes to types. (Use versioned type names to manage - breaking changes.) - - Note: this functionality is not currently available in the - official - - protobuf release, and it is not used for type URLs - beginning with - - type.googleapis.com. As of May 2023, there are no widely - used type server - - implementations and no plans to implement one. - - - Schemes other than `http`, `https` (or the empty scheme) - might be - - used with implementation specific semantics. - additionalProperties: {} - description: >- - `Any` contains an arbitrary serialized protocol buffer message - along with a - - URL that describes the type of the serialized message. - - - Protobuf library provides support to pack/unpack Any values in - the form - - of utility functions or additional generated methods of the - Any type. - - - Example 1: Pack and unpack a message in C++. - - Foo foo = ...; - Any any; - any.PackFrom(foo); - ... - if (any.UnpackTo(&foo)) { - ... - } - - Example 2: Pack and unpack a message in Java. - - Foo foo = ...; - Any any = Any.pack(foo); - ... - if (any.is(Foo.class)) { - foo = any.unpack(Foo.class); - } - // or ... - if (any.isSameTypeAs(Foo.getDefaultInstance())) { - foo = any.unpack(Foo.getDefaultInstance()); - } - - Example 3: Pack and unpack a message in Python. - - foo = Foo(...) - any = Any() - any.Pack(foo) - ... - if any.Is(Foo.DESCRIPTOR): - any.Unpack(foo) - ... - - Example 4: Pack and unpack a message in Go - - foo := &pb.Foo{...} - any, err := anypb.New(foo) - if err != nil { - ... - } - ... - foo := &pb.Foo{} - if err := any.UnmarshalTo(foo); err != nil { - ... - } - - The pack methods provided by protobuf library will by default - use - - 'type.googleapis.com/full.type.name' as the type URL and the - unpack - - methods only use the fully qualified type name after the last - '/' - - in the type URL, for example "foo.bar.com/x/y.z" will yield - type - - name "y.z". - - - JSON - - ==== - - The JSON representation of an `Any` value uses the regular - - representation of the deserialized, embedded message, with an - - additional field `@type` which contains the type URL. Example: - - package google.profile; - message Person { - string first_name = 1; - string last_name = 2; - } - - { - "@type": "type.googleapis.com/google.profile.Person", - "firstName": , - "lastName": - } - - If the embedded message type is well-known and has a custom - JSON - - representation, that representation will be embedded adding a - field - - `value` which holds the custom JSON in addition to the `@type` - - field. Example (for message [google.protobuf.Duration][]): - - { - "@type": "type.googleapis.com/google.protobuf.Duration", - "value": "1.212s" - } - proof_upgrade_client: - type: string - format: byte - title: proof that old chain committed to new client - proof_upgrade_consensus_state: - type: string - format: byte - title: proof that old chain committed to new consensus state - signer: - type: string - title: signer address - title: >- - MsgUpgradeClient defines an sdk.Msg to upgrade an IBC client to a - new client - - state - tags: - - Msg - /ibc.core.connection.v1.Msg/ConnectionOpenAck: - post: - summary: ConnectionOpenAck defines a rpc handler method for MsgConnectionOpenAck. - operationId: IbcCoreConnectionV1Msg_ConnectionOpenAck - responses: - '200': - description: A successful response. - schema: - type: object - description: >- - MsgConnectionOpenAckResponse defines the Msg/ConnectionOpenAck - response type. - default: - description: An unexpected error response. - schema: - type: object - properties: - code: - type: integer - format: int32 - message: - type: string - details: - type: array - items: - type: object - properties: - '@type': - type: string - description: >- - A URL/resource name that uniquely identifies the type of - the serialized - - protocol buffer message. This string must contain at - least - - one "/" character. The last segment of the URL's path - must represent - - the fully qualified name of the type (as in - - `path/google.protobuf.Duration`). The name should be in - a canonical form - - (e.g., leading "." is not accepted). - - - In practice, teams usually precompile into the binary - all types that they - - expect it to use in the context of Any. However, for - URLs which use the - - scheme `http`, `https`, or no scheme, one can optionally - set up a type - - server that maps type URLs to message definitions as - follows: - - - * If no scheme is provided, `https` is assumed. - - * An HTTP GET on the URL must yield a - [google.protobuf.Type][] - value in binary format, or produce an error. - * Applications are allowed to cache lookup results based - on the - URL, or have them precompiled into a binary to avoid any - lookup. Therefore, binary compatibility needs to be preserved - on changes to types. (Use versioned type names to manage - breaking changes.) - - Note: this functionality is not currently available in - the official - - protobuf release, and it is not used for type URLs - beginning with - - type.googleapis.com. As of May 2023, there are no widely - used type server - - implementations and no plans to implement one. - - - Schemes other than `http`, `https` (or the empty scheme) - might be - - used with implementation specific semantics. - additionalProperties: {} - description: >- - `Any` contains an arbitrary serialized protocol buffer - message along with a - - URL that describes the type of the serialized message. - - - Protobuf library provides support to pack/unpack Any values - in the form - - of utility functions or additional generated methods of the - Any type. - - - Example 1: Pack and unpack a message in C++. - - Foo foo = ...; - Any any; - any.PackFrom(foo); - ... - if (any.UnpackTo(&foo)) { - ... - } - - Example 2: Pack and unpack a message in Java. - - Foo foo = ...; - Any any = Any.pack(foo); - ... - if (any.is(Foo.class)) { - foo = any.unpack(Foo.class); - } - // or ... - if (any.isSameTypeAs(Foo.getDefaultInstance())) { - foo = any.unpack(Foo.getDefaultInstance()); - } - - Example 3: Pack and unpack a message in Python. - - foo = Foo(...) - any = Any() - any.Pack(foo) - ... - if any.Is(Foo.DESCRIPTOR): - any.Unpack(foo) - ... - - Example 4: Pack and unpack a message in Go - - foo := &pb.Foo{...} - any, err := anypb.New(foo) - if err != nil { - ... - } - ... - foo := &pb.Foo{} - if err := any.UnmarshalTo(foo); err != nil { - ... - } - - The pack methods provided by protobuf library will by - default use - - 'type.googleapis.com/full.type.name' as the type URL and the - unpack - - methods only use the fully qualified type name after the - last '/' - - in the type URL, for example "foo.bar.com/x/y.z" will yield - type - - name "y.z". - - - JSON - - ==== - - The JSON representation of an `Any` value uses the regular - - representation of the deserialized, embedded message, with - an - - additional field `@type` which contains the type URL. - Example: - - package google.profile; - message Person { - string first_name = 1; - string last_name = 2; - } - - { - "@type": "type.googleapis.com/google.profile.Person", - "firstName": , - "lastName": - } - - If the embedded message type is well-known and has a custom - JSON - - representation, that representation will be embedded adding - a field - - `value` which holds the custom JSON in addition to the - `@type` - - field. Example (for message [google.protobuf.Duration][]): - - { - "@type": "type.googleapis.com/google.protobuf.Duration", - "value": "1.212s" - } - parameters: - - name: body - description: |- - MsgConnectionOpenAck defines a msg sent by a Relayer to Chain A to - acknowledge the change of connection state to TRYOPEN on Chain B. - in: body - required: true - schema: - type: object - properties: - connection_id: - type: string - counterparty_connection_id: - type: string - version: - type: object - properties: - identifier: - type: string - title: unique version identifier - features: - type: array - items: - type: string - title: list of features compatible with the specified identifier - description: >- - Version defines the versioning scheme used to negotiate the - IBC verison in - - the connection handshake. - client_state: - type: object - properties: - '@type': - type: string - description: >- - A URL/resource name that uniquely identifies the type of - the serialized - - protocol buffer message. This string must contain at least - - one "/" character. The last segment of the URL's path must - represent - - the fully qualified name of the type (as in - - `path/google.protobuf.Duration`). The name should be in a - canonical form - - (e.g., leading "." is not accepted). - - - In practice, teams usually precompile into the binary all - types that they - - expect it to use in the context of Any. However, for URLs - which use the - - scheme `http`, `https`, or no scheme, one can optionally - set up a type - - server that maps type URLs to message definitions as - follows: - - - * If no scheme is provided, `https` is assumed. - - * An HTTP GET on the URL must yield a - [google.protobuf.Type][] - value in binary format, or produce an error. - * Applications are allowed to cache lookup results based - on the - URL, or have them precompiled into a binary to avoid any - lookup. Therefore, binary compatibility needs to be preserved - on changes to types. (Use versioned type names to manage - breaking changes.) - - Note: this functionality is not currently available in the - official - - protobuf release, and it is not used for type URLs - beginning with - - type.googleapis.com. As of May 2023, there are no widely - used type server - - implementations and no plans to implement one. - - - Schemes other than `http`, `https` (or the empty scheme) - might be - - used with implementation specific semantics. - additionalProperties: {} - description: >- - `Any` contains an arbitrary serialized protocol buffer message - along with a - - URL that describes the type of the serialized message. - - - Protobuf library provides support to pack/unpack Any values in - the form - - of utility functions or additional generated methods of the - Any type. - - - Example 1: Pack and unpack a message in C++. - - Foo foo = ...; - Any any; - any.PackFrom(foo); - ... - if (any.UnpackTo(&foo)) { - ... - } - - Example 2: Pack and unpack a message in Java. - - Foo foo = ...; - Any any = Any.pack(foo); - ... - if (any.is(Foo.class)) { - foo = any.unpack(Foo.class); - } - // or ... - if (any.isSameTypeAs(Foo.getDefaultInstance())) { - foo = any.unpack(Foo.getDefaultInstance()); - } - - Example 3: Pack and unpack a message in Python. - - foo = Foo(...) - any = Any() - any.Pack(foo) - ... - if any.Is(Foo.DESCRIPTOR): - any.Unpack(foo) - ... - - Example 4: Pack and unpack a message in Go - - foo := &pb.Foo{...} - any, err := anypb.New(foo) - if err != nil { - ... - } - ... - foo := &pb.Foo{} - if err := any.UnmarshalTo(foo); err != nil { - ... - } - - The pack methods provided by protobuf library will by default - use - - 'type.googleapis.com/full.type.name' as the type URL and the - unpack - - methods only use the fully qualified type name after the last - '/' - - in the type URL, for example "foo.bar.com/x/y.z" will yield - type - - name "y.z". - - - JSON - - ==== - - The JSON representation of an `Any` value uses the regular - - representation of the deserialized, embedded message, with an - - additional field `@type` which contains the type URL. Example: - - package google.profile; - message Person { - string first_name = 1; - string last_name = 2; - } - - { - "@type": "type.googleapis.com/google.profile.Person", - "firstName": , - "lastName": - } - - If the embedded message type is well-known and has a custom - JSON - - representation, that representation will be embedded adding a - field - - `value` which holds the custom JSON in addition to the `@type` - - field. Example (for message [google.protobuf.Duration][]): - - { - "@type": "type.googleapis.com/google.protobuf.Duration", - "value": "1.212s" - } - proof_height: - type: object - properties: - revision_number: - type: string - format: uint64 - title: the revision that the client is currently on - revision_height: - type: string - format: uint64 - title: the height within the given revision - description: >- - Normally the RevisionHeight is incremented at each height - while keeping - - RevisionNumber the same. However some consensus algorithms may - choose to - - reset the height in certain conditions e.g. hard forks, - state-machine - - breaking changes In these cases, the RevisionNumber is - incremented so that - - height continues to be monitonically increasing even as the - RevisionHeight - - gets reset - title: >- - Height is a monotonically increasing data type - - that can be compared against another Height for the purposes - of updating and - - freezing clients - proof_try: - type: string - format: byte - title: >- - proof of the initialization the connection on Chain B: - `UNITIALIZED -> - - TRYOPEN` - proof_client: - type: string - format: byte - title: proof of client state included in message - proof_consensus: - type: string - format: byte - title: proof of client consensus state - consensus_height: - type: object - properties: - revision_number: - type: string - format: uint64 - title: the revision that the client is currently on - revision_height: - type: string - format: uint64 - title: the height within the given revision - description: >- - Normally the RevisionHeight is incremented at each height - while keeping - - RevisionNumber the same. However some consensus algorithms may - choose to - - reset the height in certain conditions e.g. hard forks, - state-machine - - breaking changes In these cases, the RevisionNumber is - incremented so that - - height continues to be monitonically increasing even as the - RevisionHeight - - gets reset - title: >- - Height is a monotonically increasing data type - - that can be compared against another Height for the purposes - of updating and - - freezing clients - signer: - type: string - host_consensus_state_proof: - type: string - format: byte - title: >- - optional proof data for host state machines that are unable to - introspect their own consensus state - description: |- - MsgConnectionOpenAck defines a msg sent by a Relayer to Chain A to - acknowledge the change of connection state to TRYOPEN on Chain B. - tags: - - Msg - /ibc.core.connection.v1.Msg/ConnectionOpenConfirm: - post: - summary: |- - ConnectionOpenConfirm defines a rpc handler method for - MsgConnectionOpenConfirm. - operationId: IbcCoreConnectionV1Msg_ConnectionOpenConfirm - responses: - '200': - description: A successful response. - schema: - type: object - description: >- - MsgConnectionOpenConfirmResponse defines the - Msg/ConnectionOpenConfirm - - response type. - default: - description: An unexpected error response. - schema: - type: object - properties: - code: - type: integer - format: int32 - message: - type: string - details: - type: array - items: - type: object - properties: - '@type': - type: string - description: >- - A URL/resource name that uniquely identifies the type of - the serialized - - protocol buffer message. This string must contain at - least - - one "/" character. The last segment of the URL's path - must represent - - the fully qualified name of the type (as in - - `path/google.protobuf.Duration`). The name should be in - a canonical form - - (e.g., leading "." is not accepted). - - - In practice, teams usually precompile into the binary - all types that they - - expect it to use in the context of Any. However, for - URLs which use the - - scheme `http`, `https`, or no scheme, one can optionally - set up a type - - server that maps type URLs to message definitions as - follows: - - - * If no scheme is provided, `https` is assumed. - - * An HTTP GET on the URL must yield a - [google.protobuf.Type][] - value in binary format, or produce an error. - * Applications are allowed to cache lookup results based - on the - URL, or have them precompiled into a binary to avoid any - lookup. Therefore, binary compatibility needs to be preserved - on changes to types. (Use versioned type names to manage - breaking changes.) - - Note: this functionality is not currently available in - the official - - protobuf release, and it is not used for type URLs - beginning with - - type.googleapis.com. As of May 2023, there are no widely - used type server - - implementations and no plans to implement one. - - - Schemes other than `http`, `https` (or the empty scheme) - might be - - used with implementation specific semantics. - additionalProperties: {} - description: >- - `Any` contains an arbitrary serialized protocol buffer - message along with a - - URL that describes the type of the serialized message. - - - Protobuf library provides support to pack/unpack Any values - in the form - - of utility functions or additional generated methods of the - Any type. - - - Example 1: Pack and unpack a message in C++. - - Foo foo = ...; - Any any; - any.PackFrom(foo); - ... - if (any.UnpackTo(&foo)) { - ... - } - - Example 2: Pack and unpack a message in Java. - - Foo foo = ...; - Any any = Any.pack(foo); - ... - if (any.is(Foo.class)) { - foo = any.unpack(Foo.class); - } - // or ... - if (any.isSameTypeAs(Foo.getDefaultInstance())) { - foo = any.unpack(Foo.getDefaultInstance()); - } - - Example 3: Pack and unpack a message in Python. - - foo = Foo(...) - any = Any() - any.Pack(foo) - ... - if any.Is(Foo.DESCRIPTOR): - any.Unpack(foo) - ... - - Example 4: Pack and unpack a message in Go - - foo := &pb.Foo{...} - any, err := anypb.New(foo) - if err != nil { - ... - } - ... - foo := &pb.Foo{} - if err := any.UnmarshalTo(foo); err != nil { - ... - } - - The pack methods provided by protobuf library will by - default use - - 'type.googleapis.com/full.type.name' as the type URL and the - unpack - - methods only use the fully qualified type name after the - last '/' - - in the type URL, for example "foo.bar.com/x/y.z" will yield - type - - name "y.z". - - - JSON - - ==== - - The JSON representation of an `Any` value uses the regular - - representation of the deserialized, embedded message, with - an - - additional field `@type` which contains the type URL. - Example: - - package google.profile; - message Person { - string first_name = 1; - string last_name = 2; - } - - { - "@type": "type.googleapis.com/google.profile.Person", - "firstName": , - "lastName": - } - - If the embedded message type is well-known and has a custom - JSON - - representation, that representation will be embedded adding - a field - - `value` which holds the custom JSON in addition to the - `@type` - - field. Example (for message [google.protobuf.Duration][]): - - { - "@type": "type.googleapis.com/google.protobuf.Duration", - "value": "1.212s" - } - parameters: - - name: body - description: >- - MsgConnectionOpenConfirm defines a msg sent by a Relayer to Chain B - to - - acknowledge the change of connection state to OPEN on Chain A. - in: body - required: true - schema: - type: object - properties: - connection_id: - type: string - proof_ack: - type: string - format: byte - title: >- - proof for the change of the connection state on Chain A: `INIT - -> OPEN` - proof_height: - type: object - properties: - revision_number: - type: string - format: uint64 - title: the revision that the client is currently on - revision_height: - type: string - format: uint64 - title: the height within the given revision - description: >- - Normally the RevisionHeight is incremented at each height - while keeping - - RevisionNumber the same. However some consensus algorithms may - choose to - - reset the height in certain conditions e.g. hard forks, - state-machine - - breaking changes In these cases, the RevisionNumber is - incremented so that - - height continues to be monitonically increasing even as the - RevisionHeight - - gets reset - title: >- - Height is a monotonically increasing data type - - that can be compared against another Height for the purposes - of updating and - - freezing clients - signer: - type: string - description: >- - MsgConnectionOpenConfirm defines a msg sent by a Relayer to Chain - B to - - acknowledge the change of connection state to OPEN on Chain A. - tags: - - Msg - /ibc.core.connection.v1.Msg/ConnectionOpenInit: - post: - summary: >- - ConnectionOpenInit defines a rpc handler method for - MsgConnectionOpenInit. - operationId: IbcCoreConnectionV1Msg_ConnectionOpenInit - responses: - '200': - description: A successful response. - schema: - type: object - description: >- - MsgConnectionOpenInitResponse defines the Msg/ConnectionOpenInit - response - - type. - default: - description: An unexpected error response. - schema: - type: object - properties: - code: - type: integer - format: int32 - message: - type: string - details: - type: array - items: - type: object - properties: - '@type': - type: string - description: >- - A URL/resource name that uniquely identifies the type of - the serialized - - protocol buffer message. This string must contain at - least - - one "/" character. The last segment of the URL's path - must represent - - the fully qualified name of the type (as in - - `path/google.protobuf.Duration`). The name should be in - a canonical form - - (e.g., leading "." is not accepted). - - - In practice, teams usually precompile into the binary - all types that they - - expect it to use in the context of Any. However, for - URLs which use the - - scheme `http`, `https`, or no scheme, one can optionally - set up a type - - server that maps type URLs to message definitions as - follows: - - - * If no scheme is provided, `https` is assumed. - - * An HTTP GET on the URL must yield a - [google.protobuf.Type][] - value in binary format, or produce an error. - * Applications are allowed to cache lookup results based - on the - URL, or have them precompiled into a binary to avoid any - lookup. Therefore, binary compatibility needs to be preserved - on changes to types. (Use versioned type names to manage - breaking changes.) - - Note: this functionality is not currently available in - the official - - protobuf release, and it is not used for type URLs - beginning with - - type.googleapis.com. As of May 2023, there are no widely - used type server - - implementations and no plans to implement one. - - - Schemes other than `http`, `https` (or the empty scheme) - might be - - used with implementation specific semantics. - additionalProperties: {} - description: >- - `Any` contains an arbitrary serialized protocol buffer - message along with a - - URL that describes the type of the serialized message. - - - Protobuf library provides support to pack/unpack Any values - in the form - - of utility functions or additional generated methods of the - Any type. - - - Example 1: Pack and unpack a message in C++. - - Foo foo = ...; - Any any; - any.PackFrom(foo); - ... - if (any.UnpackTo(&foo)) { - ... - } - - Example 2: Pack and unpack a message in Java. - - Foo foo = ...; - Any any = Any.pack(foo); - ... - if (any.is(Foo.class)) { - foo = any.unpack(Foo.class); - } - // or ... - if (any.isSameTypeAs(Foo.getDefaultInstance())) { - foo = any.unpack(Foo.getDefaultInstance()); - } - - Example 3: Pack and unpack a message in Python. - - foo = Foo(...) - any = Any() - any.Pack(foo) - ... - if any.Is(Foo.DESCRIPTOR): - any.Unpack(foo) - ... - - Example 4: Pack and unpack a message in Go - - foo := &pb.Foo{...} - any, err := anypb.New(foo) - if err != nil { - ... - } - ... - foo := &pb.Foo{} - if err := any.UnmarshalTo(foo); err != nil { - ... - } - - The pack methods provided by protobuf library will by - default use - - 'type.googleapis.com/full.type.name' as the type URL and the - unpack - - methods only use the fully qualified type name after the - last '/' - - in the type URL, for example "foo.bar.com/x/y.z" will yield - type - - name "y.z". - - - JSON - - ==== - - The JSON representation of an `Any` value uses the regular - - representation of the deserialized, embedded message, with - an - - additional field `@type` which contains the type URL. - Example: - - package google.profile; - message Person { - string first_name = 1; - string last_name = 2; - } - - { - "@type": "type.googleapis.com/google.profile.Person", - "firstName": , - "lastName": - } - - If the embedded message type is well-known and has a custom - JSON - - representation, that representation will be embedded adding - a field - - `value` which holds the custom JSON in addition to the - `@type` - - field. Example (for message [google.protobuf.Duration][]): - - { - "@type": "type.googleapis.com/google.protobuf.Duration", - "value": "1.212s" - } - parameters: - - name: body - description: >- - MsgConnectionOpenInit defines the msg sent by an account on Chain A - to - - initialize a connection with Chain B. - in: body - required: true - schema: - type: object - properties: - client_id: - type: string - counterparty: - type: object - properties: - client_id: - type: string - description: >- - identifies the client on the counterparty chain associated - with a given - - connection. - connection_id: - type: string - description: >- - identifies the connection end on the counterparty chain - associated with a - - given connection. - prefix: - description: commitment merkle prefix of the counterparty chain. - type: object - properties: - key_prefix: - type: string - format: byte - title: >- - MerklePrefix is merkle path prefixed to the key. - - The constructed key from the Path and the key will be - append(Path.KeyPath, - - append(Path.KeyPrefix, key...)) - description: >- - Counterparty defines the counterparty chain associated with a - connection end. - version: - type: object - properties: - identifier: - type: string - title: unique version identifier - features: - type: array - items: - type: string - title: list of features compatible with the specified identifier - description: >- - Version defines the versioning scheme used to negotiate the - IBC verison in - - the connection handshake. - delay_period: - type: string - format: uint64 - signer: - type: string - description: >- - MsgConnectionOpenInit defines the msg sent by an account on Chain - A to - - initialize a connection with Chain B. - tags: - - Msg - /ibc.core.connection.v1.Msg/ConnectionOpenTry: - post: - summary: ConnectionOpenTry defines a rpc handler method for MsgConnectionOpenTry. - operationId: IbcCoreConnectionV1Msg_ConnectionOpenTry - responses: - '200': - description: A successful response. - schema: - type: object - description: >- - MsgConnectionOpenTryResponse defines the Msg/ConnectionOpenTry - response type. - default: - description: An unexpected error response. - schema: - type: object - properties: - code: - type: integer - format: int32 - message: - type: string - details: - type: array - items: - type: object - properties: - '@type': - type: string - description: >- - A URL/resource name that uniquely identifies the type of - the serialized - - protocol buffer message. This string must contain at - least - - one "/" character. The last segment of the URL's path - must represent - - the fully qualified name of the type (as in - - `path/google.protobuf.Duration`). The name should be in - a canonical form - - (e.g., leading "." is not accepted). - - - In practice, teams usually precompile into the binary - all types that they - - expect it to use in the context of Any. However, for - URLs which use the - - scheme `http`, `https`, or no scheme, one can optionally - set up a type - - server that maps type URLs to message definitions as - follows: - - - * If no scheme is provided, `https` is assumed. - - * An HTTP GET on the URL must yield a - [google.protobuf.Type][] - value in binary format, or produce an error. - * Applications are allowed to cache lookup results based - on the - URL, or have them precompiled into a binary to avoid any - lookup. Therefore, binary compatibility needs to be preserved - on changes to types. (Use versioned type names to manage - breaking changes.) - - Note: this functionality is not currently available in - the official - - protobuf release, and it is not used for type URLs - beginning with - - type.googleapis.com. As of May 2023, there are no widely - used type server - - implementations and no plans to implement one. - - - Schemes other than `http`, `https` (or the empty scheme) - might be - - used with implementation specific semantics. - additionalProperties: {} - description: >- - `Any` contains an arbitrary serialized protocol buffer - message along with a - - URL that describes the type of the serialized message. - - - Protobuf library provides support to pack/unpack Any values - in the form - - of utility functions or additional generated methods of the - Any type. - - - Example 1: Pack and unpack a message in C++. - - Foo foo = ...; - Any any; - any.PackFrom(foo); - ... - if (any.UnpackTo(&foo)) { - ... - } - - Example 2: Pack and unpack a message in Java. - - Foo foo = ...; - Any any = Any.pack(foo); - ... - if (any.is(Foo.class)) { - foo = any.unpack(Foo.class); - } - // or ... - if (any.isSameTypeAs(Foo.getDefaultInstance())) { - foo = any.unpack(Foo.getDefaultInstance()); - } - - Example 3: Pack and unpack a message in Python. - - foo = Foo(...) - any = Any() - any.Pack(foo) - ... - if any.Is(Foo.DESCRIPTOR): - any.Unpack(foo) - ... - - Example 4: Pack and unpack a message in Go - - foo := &pb.Foo{...} - any, err := anypb.New(foo) - if err != nil { - ... - } - ... - foo := &pb.Foo{} - if err := any.UnmarshalTo(foo); err != nil { - ... - } - - The pack methods provided by protobuf library will by - default use - - 'type.googleapis.com/full.type.name' as the type URL and the - unpack - - methods only use the fully qualified type name after the - last '/' - - in the type URL, for example "foo.bar.com/x/y.z" will yield - type - - name "y.z". - - - JSON - - ==== - - The JSON representation of an `Any` value uses the regular - - representation of the deserialized, embedded message, with - an - - additional field `@type` which contains the type URL. - Example: - - package google.profile; - message Person { - string first_name = 1; - string last_name = 2; - } - - { - "@type": "type.googleapis.com/google.profile.Person", - "firstName": , - "lastName": - } - - If the embedded message type is well-known and has a custom - JSON - - representation, that representation will be embedded adding - a field - - `value` which holds the custom JSON in addition to the - `@type` - - field. Example (for message [google.protobuf.Duration][]): - - { - "@type": "type.googleapis.com/google.protobuf.Duration", - "value": "1.212s" - } - parameters: - - name: body - description: >- - MsgConnectionOpenTry defines a msg sent by a Relayer to try to open - a - - connection on Chain B. - in: body - required: true - schema: - type: object - properties: - client_id: - type: string - previous_connection_id: - type: string - description: >- - Deprecated: this field is unused. Crossing hellos are no - longer supported in core IBC. - client_state: - type: object - properties: - '@type': - type: string - description: >- - A URL/resource name that uniquely identifies the type of - the serialized - - protocol buffer message. This string must contain at least - - one "/" character. The last segment of the URL's path must - represent - - the fully qualified name of the type (as in - - `path/google.protobuf.Duration`). The name should be in a - canonical form - - (e.g., leading "." is not accepted). - - - In practice, teams usually precompile into the binary all - types that they - - expect it to use in the context of Any. However, for URLs - which use the - - scheme `http`, `https`, or no scheme, one can optionally - set up a type - - server that maps type URLs to message definitions as - follows: - - - * If no scheme is provided, `https` is assumed. - - * An HTTP GET on the URL must yield a - [google.protobuf.Type][] - value in binary format, or produce an error. - * Applications are allowed to cache lookup results based - on the - URL, or have them precompiled into a binary to avoid any - lookup. Therefore, binary compatibility needs to be preserved - on changes to types. (Use versioned type names to manage - breaking changes.) - - Note: this functionality is not currently available in the - official - - protobuf release, and it is not used for type URLs - beginning with - - type.googleapis.com. As of May 2023, there are no widely - used type server - - implementations and no plans to implement one. - - - Schemes other than `http`, `https` (or the empty scheme) - might be - - used with implementation specific semantics. - additionalProperties: {} - description: >- - `Any` contains an arbitrary serialized protocol buffer message - along with a - - URL that describes the type of the serialized message. - - - Protobuf library provides support to pack/unpack Any values in - the form - - of utility functions or additional generated methods of the - Any type. - - - Example 1: Pack and unpack a message in C++. - - Foo foo = ...; - Any any; - any.PackFrom(foo); - ... - if (any.UnpackTo(&foo)) { - ... - } - - Example 2: Pack and unpack a message in Java. - - Foo foo = ...; - Any any = Any.pack(foo); - ... - if (any.is(Foo.class)) { - foo = any.unpack(Foo.class); - } - // or ... - if (any.isSameTypeAs(Foo.getDefaultInstance())) { - foo = any.unpack(Foo.getDefaultInstance()); - } - - Example 3: Pack and unpack a message in Python. - - foo = Foo(...) - any = Any() - any.Pack(foo) - ... - if any.Is(Foo.DESCRIPTOR): - any.Unpack(foo) - ... - - Example 4: Pack and unpack a message in Go - - foo := &pb.Foo{...} - any, err := anypb.New(foo) - if err != nil { - ... - } - ... - foo := &pb.Foo{} - if err := any.UnmarshalTo(foo); err != nil { - ... - } - - The pack methods provided by protobuf library will by default - use - - 'type.googleapis.com/full.type.name' as the type URL and the - unpack - - methods only use the fully qualified type name after the last - '/' - - in the type URL, for example "foo.bar.com/x/y.z" will yield - type - - name "y.z". - - - JSON - - ==== - - The JSON representation of an `Any` value uses the regular - - representation of the deserialized, embedded message, with an - - additional field `@type` which contains the type URL. Example: - - package google.profile; - message Person { - string first_name = 1; - string last_name = 2; - } - - { - "@type": "type.googleapis.com/google.profile.Person", - "firstName": , - "lastName": - } - - If the embedded message type is well-known and has a custom - JSON - - representation, that representation will be embedded adding a - field - - `value` which holds the custom JSON in addition to the `@type` - - field. Example (for message [google.protobuf.Duration][]): - - { - "@type": "type.googleapis.com/google.protobuf.Duration", - "value": "1.212s" - } - counterparty: - type: object - properties: - client_id: - type: string - description: >- - identifies the client on the counterparty chain associated - with a given - - connection. - connection_id: - type: string - description: >- - identifies the connection end on the counterparty chain - associated with a - - given connection. - prefix: - description: commitment merkle prefix of the counterparty chain. - type: object - properties: - key_prefix: - type: string - format: byte - title: >- - MerklePrefix is merkle path prefixed to the key. - - The constructed key from the Path and the key will be - append(Path.KeyPath, - - append(Path.KeyPrefix, key...)) - description: >- - Counterparty defines the counterparty chain associated with a - connection end. - delay_period: - type: string - format: uint64 - counterparty_versions: - type: array - items: - type: object - properties: - identifier: - type: string - title: unique version identifier - features: - type: array - items: - type: string - title: >- - list of features compatible with the specified - identifier - description: >- - Version defines the versioning scheme used to negotiate the - IBC verison in - - the connection handshake. - proof_height: - type: object - properties: - revision_number: - type: string - format: uint64 - title: the revision that the client is currently on - revision_height: - type: string - format: uint64 - title: the height within the given revision - description: >- - Normally the RevisionHeight is incremented at each height - while keeping - - RevisionNumber the same. However some consensus algorithms may - choose to - - reset the height in certain conditions e.g. hard forks, - state-machine - - breaking changes In these cases, the RevisionNumber is - incremented so that - - height continues to be monitonically increasing even as the - RevisionHeight - - gets reset - title: >- - Height is a monotonically increasing data type - - that can be compared against another Height for the purposes - of updating and - - freezing clients - proof_init: - type: string - format: byte - title: >- - proof of the initialization the connection on Chain A: - `UNITIALIZED -> - - INIT` - proof_client: - type: string - format: byte - title: proof of client state included in message - proof_consensus: - type: string - format: byte - title: proof of client consensus state - consensus_height: - type: object - properties: - revision_number: - type: string - format: uint64 - title: the revision that the client is currently on - revision_height: - type: string - format: uint64 - title: the height within the given revision - description: >- - Normally the RevisionHeight is incremented at each height - while keeping - - RevisionNumber the same. However some consensus algorithms may - choose to - - reset the height in certain conditions e.g. hard forks, - state-machine - - breaking changes In these cases, the RevisionNumber is - incremented so that - - height continues to be monitonically increasing even as the - RevisionHeight - - gets reset - title: >- - Height is a monotonically increasing data type - - that can be compared against another Height for the purposes - of updating and - - freezing clients - signer: - type: string - host_consensus_state_proof: - type: string - format: byte - title: >- - optional proof data for host state machines that are unable to - introspect their own consensus state - description: >- - MsgConnectionOpenTry defines a msg sent by a Relayer to try to - open a - - connection on Chain B. - tags: - - Msg - /ibc.core.connection.v1.Msg/UpdateConnectionParams: - post: - summary: |- - UpdateConnectionParams defines a rpc handler method for - MsgUpdateParams. - operationId: IbcCoreConnectionV1Msg_UpdateConnectionParams - responses: - '200': - description: A successful response. - schema: - type: object - description: MsgUpdateParamsResponse defines the MsgUpdateParams response type. - default: - description: An unexpected error response. - schema: - type: object - properties: - code: - type: integer - format: int32 - message: - type: string - details: - type: array - items: - type: object - properties: - '@type': - type: string - description: >- - A URL/resource name that uniquely identifies the type of - the serialized - - protocol buffer message. This string must contain at - least - - one "/" character. The last segment of the URL's path - must represent - - the fully qualified name of the type (as in - - `path/google.protobuf.Duration`). The name should be in - a canonical form - - (e.g., leading "." is not accepted). - - - In practice, teams usually precompile into the binary - all types that they - - expect it to use in the context of Any. However, for - URLs which use the - - scheme `http`, `https`, or no scheme, one can optionally - set up a type - - server that maps type URLs to message definitions as - follows: - - - * If no scheme is provided, `https` is assumed. - - * An HTTP GET on the URL must yield a - [google.protobuf.Type][] - value in binary format, or produce an error. - * Applications are allowed to cache lookup results based - on the - URL, or have them precompiled into a binary to avoid any - lookup. Therefore, binary compatibility needs to be preserved - on changes to types. (Use versioned type names to manage - breaking changes.) - - Note: this functionality is not currently available in - the official - - protobuf release, and it is not used for type URLs - beginning with - - type.googleapis.com. As of May 2023, there are no widely - used type server - - implementations and no plans to implement one. - - - Schemes other than `http`, `https` (or the empty scheme) - might be - - used with implementation specific semantics. - additionalProperties: {} - description: >- - `Any` contains an arbitrary serialized protocol buffer - message along with a - - URL that describes the type of the serialized message. - - - Protobuf library provides support to pack/unpack Any values - in the form - - of utility functions or additional generated methods of the - Any type. - - - Example 1: Pack and unpack a message in C++. - - Foo foo = ...; - Any any; - any.PackFrom(foo); - ... - if (any.UnpackTo(&foo)) { - ... - } - - Example 2: Pack and unpack a message in Java. - - Foo foo = ...; - Any any = Any.pack(foo); - ... - if (any.is(Foo.class)) { - foo = any.unpack(Foo.class); - } - // or ... - if (any.isSameTypeAs(Foo.getDefaultInstance())) { - foo = any.unpack(Foo.getDefaultInstance()); - } - - Example 3: Pack and unpack a message in Python. - - foo = Foo(...) - any = Any() - any.Pack(foo) - ... - if any.Is(Foo.DESCRIPTOR): - any.Unpack(foo) - ... - - Example 4: Pack and unpack a message in Go - - foo := &pb.Foo{...} - any, err := anypb.New(foo) - if err != nil { - ... - } - ... - foo := &pb.Foo{} - if err := any.UnmarshalTo(foo); err != nil { - ... - } - - The pack methods provided by protobuf library will by - default use - - 'type.googleapis.com/full.type.name' as the type URL and the - unpack - - methods only use the fully qualified type name after the - last '/' - - in the type URL, for example "foo.bar.com/x/y.z" will yield - type - - name "y.z". - - - JSON - - ==== - - The JSON representation of an `Any` value uses the regular - - representation of the deserialized, embedded message, with - an - - additional field `@type` which contains the type URL. - Example: - - package google.profile; - message Person { - string first_name = 1; - string last_name = 2; - } - - { - "@type": "type.googleapis.com/google.profile.Person", - "firstName": , - "lastName": - } - - If the embedded message type is well-known and has a custom - JSON - - representation, that representation will be embedded adding - a field - - `value` which holds the custom JSON in addition to the - `@type` - - field. Example (for message [google.protobuf.Duration][]): - - { - "@type": "type.googleapis.com/google.protobuf.Duration", - "value": "1.212s" - } - parameters: - - name: body - description: >- - MsgUpdateParams defines the sdk.Msg type to update the connection - parameters. - in: body - required: true - schema: - type: object - properties: - signer: - type: string - title: signer address - params: - description: |- - params defines the connection parameters to update. - - NOTE: All parameters must be supplied. - type: object - properties: - max_expected_time_per_block: - type: string - format: uint64 - description: >- - maximum expected time per block (in nanoseconds), used to - enforce block delay. This parameter should reflect the - - largest amount of time that the chain might reasonably - take to produce the next block under normal operating - - conditions. A safe choice is 3-5x the expected time per - block. - description: >- - MsgUpdateParams defines the sdk.Msg type to update the connection - parameters. - tags: - - Msg -definitions: - cosmos.auth.v1beta1.MsgUpdateParams: - type: object - properties: - authority: - type: string - description: >- - authority is the address that controls the module (defaults to x/gov - unless overwritten). - params: - description: |- - params defines the x/auth parameters to update. - - NOTE: All parameters must be supplied. - type: object - properties: - max_memo_characters: - type: string - format: uint64 - tx_sig_limit: - type: string - format: uint64 - tx_size_cost_per_byte: - type: string - format: uint64 - sig_verify_cost_ed25519: - type: string - format: uint64 - sig_verify_cost_secp256k1: - type: string - format: uint64 - description: |- - MsgUpdateParams is the Msg/UpdateParams request type. - - Since: cosmos-sdk 0.47 - cosmos.auth.v1beta1.MsgUpdateParamsResponse: - type: object - description: |- - MsgUpdateParamsResponse defines the response structure for executing a - MsgUpdateParams message. - - Since: cosmos-sdk 0.47 - cosmos.auth.v1beta1.Params: - type: object - properties: - max_memo_characters: - type: string - format: uint64 - tx_sig_limit: - type: string - format: uint64 - tx_size_cost_per_byte: - type: string - format: uint64 - sig_verify_cost_ed25519: - type: string - format: uint64 - sig_verify_cost_secp256k1: - type: string - format: uint64 - description: Params defines the parameters for the auth module. - google.protobuf.Any: - type: object - properties: - '@type': - type: string - description: >- - A URL/resource name that uniquely identifies the type of the - serialized - - protocol buffer message. This string must contain at least - - one "/" character. The last segment of the URL's path must represent - - the fully qualified name of the type (as in - - `path/google.protobuf.Duration`). The name should be in a canonical - form - - (e.g., leading "." is not accepted). - - - In practice, teams usually precompile into the binary all types that - they - - expect it to use in the context of Any. However, for URLs which use - the - - scheme `http`, `https`, or no scheme, one can optionally set up a type - - server that maps type URLs to message definitions as follows: - - - * If no scheme is provided, `https` is assumed. - - * An HTTP GET on the URL must yield a [google.protobuf.Type][] - value in binary format, or produce an error. - * Applications are allowed to cache lookup results based on the - URL, or have them precompiled into a binary to avoid any - lookup. Therefore, binary compatibility needs to be preserved - on changes to types. (Use versioned type names to manage - breaking changes.) - - Note: this functionality is not currently available in the official - - protobuf release, and it is not used for type URLs beginning with - - type.googleapis.com. As of May 2023, there are no widely used type - server - - implementations and no plans to implement one. - - - Schemes other than `http`, `https` (or the empty scheme) might be - - used with implementation specific semantics. - additionalProperties: {} - description: >- - `Any` contains an arbitrary serialized protocol buffer message along with - a - - URL that describes the type of the serialized message. - - - Protobuf library provides support to pack/unpack Any values in the form - - of utility functions or additional generated methods of the Any type. - - - Example 1: Pack and unpack a message in C++. - - Foo foo = ...; - Any any; - any.PackFrom(foo); - ... - if (any.UnpackTo(&foo)) { - ... - } - - Example 2: Pack and unpack a message in Java. - - Foo foo = ...; - Any any = Any.pack(foo); - ... - if (any.is(Foo.class)) { - foo = any.unpack(Foo.class); - } - // or ... - if (any.isSameTypeAs(Foo.getDefaultInstance())) { - foo = any.unpack(Foo.getDefaultInstance()); - } - - Example 3: Pack and unpack a message in Python. - - foo = Foo(...) - any = Any() - any.Pack(foo) - ... - if any.Is(Foo.DESCRIPTOR): - any.Unpack(foo) - ... - - Example 4: Pack and unpack a message in Go - - foo := &pb.Foo{...} - any, err := anypb.New(foo) - if err != nil { - ... - } - ... - foo := &pb.Foo{} - if err := any.UnmarshalTo(foo); err != nil { - ... - } - - The pack methods provided by protobuf library will by default use - - 'type.googleapis.com/full.type.name' as the type URL and the unpack - - methods only use the fully qualified type name after the last '/' - - in the type URL, for example "foo.bar.com/x/y.z" will yield type - - name "y.z". - - - JSON - - ==== - - The JSON representation of an `Any` value uses the regular - - representation of the deserialized, embedded message, with an - - additional field `@type` which contains the type URL. Example: - - package google.profile; - message Person { - string first_name = 1; - string last_name = 2; - } - - { - "@type": "type.googleapis.com/google.profile.Person", - "firstName": , - "lastName": - } - - If the embedded message type is well-known and has a custom JSON - - representation, that representation will be embedded adding a field - - `value` which holds the custom JSON in addition to the `@type` - - field. Example (for message [google.protobuf.Duration][]): - - { - "@type": "type.googleapis.com/google.protobuf.Duration", - "value": "1.212s" - } - google.rpc.Status: - type: object - properties: - code: - type: integer - format: int32 - message: - type: string - details: - type: array - items: - type: object - properties: - '@type': - type: string - description: >- - A URL/resource name that uniquely identifies the type of the - serialized - - protocol buffer message. This string must contain at least - - one "/" character. The last segment of the URL's path must - represent - - the fully qualified name of the type (as in - - `path/google.protobuf.Duration`). The name should be in a - canonical form - - (e.g., leading "." is not accepted). - - - In practice, teams usually precompile into the binary all types - that they - - expect it to use in the context of Any. However, for URLs which - use the - - scheme `http`, `https`, or no scheme, one can optionally set up - a type - - server that maps type URLs to message definitions as follows: - - - * If no scheme is provided, `https` is assumed. - - * An HTTP GET on the URL must yield a [google.protobuf.Type][] - value in binary format, or produce an error. - * Applications are allowed to cache lookup results based on the - URL, or have them precompiled into a binary to avoid any - lookup. Therefore, binary compatibility needs to be preserved - on changes to types. (Use versioned type names to manage - breaking changes.) - - Note: this functionality is not currently available in the - official - - protobuf release, and it is not used for type URLs beginning - with - - type.googleapis.com. As of May 2023, there are no widely used - type server - - implementations and no plans to implement one. - - - Schemes other than `http`, `https` (or the empty scheme) might - be - - used with implementation specific semantics. - additionalProperties: {} - description: >- - `Any` contains an arbitrary serialized protocol buffer message along - with a - - URL that describes the type of the serialized message. - - - Protobuf library provides support to pack/unpack Any values in the - form - - of utility functions or additional generated methods of the Any - type. - - - Example 1: Pack and unpack a message in C++. - - Foo foo = ...; - Any any; - any.PackFrom(foo); - ... - if (any.UnpackTo(&foo)) { - ... - } - - Example 2: Pack and unpack a message in Java. - - Foo foo = ...; - Any any = Any.pack(foo); - ... - if (any.is(Foo.class)) { - foo = any.unpack(Foo.class); - } - // or ... - if (any.isSameTypeAs(Foo.getDefaultInstance())) { - foo = any.unpack(Foo.getDefaultInstance()); - } - - Example 3: Pack and unpack a message in Python. - - foo = Foo(...) - any = Any() - any.Pack(foo) - ... - if any.Is(Foo.DESCRIPTOR): - any.Unpack(foo) - ... - - Example 4: Pack and unpack a message in Go - - foo := &pb.Foo{...} - any, err := anypb.New(foo) - if err != nil { - ... - } - ... - foo := &pb.Foo{} - if err := any.UnmarshalTo(foo); err != nil { - ... - } - - The pack methods provided by protobuf library will by default use - - 'type.googleapis.com/full.type.name' as the type URL and the unpack - - methods only use the fully qualified type name after the last '/' - - in the type URL, for example "foo.bar.com/x/y.z" will yield type - - name "y.z". - - - JSON - - ==== - - The JSON representation of an `Any` value uses the regular - - representation of the deserialized, embedded message, with an - - additional field `@type` which contains the type URL. Example: - - package google.profile; - message Person { - string first_name = 1; - string last_name = 2; - } - - { - "@type": "type.googleapis.com/google.profile.Person", - "firstName": , - "lastName": - } - - If the embedded message type is well-known and has a custom JSON - - representation, that representation will be embedded adding a field - - `value` which holds the custom JSON in addition to the `@type` - - field. Example (for message [google.protobuf.Duration][]): - - { - "@type": "type.googleapis.com/google.protobuf.Duration", - "value": "1.212s" - } - cosmos.authz.v1beta1.Grant: - type: object - properties: - authorization: - type: object - properties: - '@type': - type: string - description: >- - A URL/resource name that uniquely identifies the type of the - serialized - - protocol buffer message. This string must contain at least - - one "/" character. The last segment of the URL's path must - represent - - the fully qualified name of the type (as in - - `path/google.protobuf.Duration`). The name should be in a - canonical form - - (e.g., leading "." is not accepted). - - - In practice, teams usually precompile into the binary all types - that they - - expect it to use in the context of Any. However, for URLs which - use the - - scheme `http`, `https`, or no scheme, one can optionally set up a - type - - server that maps type URLs to message definitions as follows: - - - * If no scheme is provided, `https` is assumed. - - * An HTTP GET on the URL must yield a [google.protobuf.Type][] - value in binary format, or produce an error. - * Applications are allowed to cache lookup results based on the - URL, or have them precompiled into a binary to avoid any - lookup. Therefore, binary compatibility needs to be preserved - on changes to types. (Use versioned type names to manage - breaking changes.) - - Note: this functionality is not currently available in the - official - - protobuf release, and it is not used for type URLs beginning with - - type.googleapis.com. As of May 2023, there are no widely used type - server - - implementations and no plans to implement one. - - - Schemes other than `http`, `https` (or the empty scheme) might be - - used with implementation specific semantics. - additionalProperties: {} - description: >- - `Any` contains an arbitrary serialized protocol buffer message along - with a - - URL that describes the type of the serialized message. - - - Protobuf library provides support to pack/unpack Any values in the - form - - of utility functions or additional generated methods of the Any type. - - - Example 1: Pack and unpack a message in C++. - - Foo foo = ...; - Any any; - any.PackFrom(foo); - ... - if (any.UnpackTo(&foo)) { - ... - } - - Example 2: Pack and unpack a message in Java. - - Foo foo = ...; - Any any = Any.pack(foo); - ... - if (any.is(Foo.class)) { - foo = any.unpack(Foo.class); - } - // or ... - if (any.isSameTypeAs(Foo.getDefaultInstance())) { - foo = any.unpack(Foo.getDefaultInstance()); - } - - Example 3: Pack and unpack a message in Python. - - foo = Foo(...) - any = Any() - any.Pack(foo) - ... - if any.Is(Foo.DESCRIPTOR): - any.Unpack(foo) - ... - - Example 4: Pack and unpack a message in Go - - foo := &pb.Foo{...} - any, err := anypb.New(foo) - if err != nil { - ... - } - ... - foo := &pb.Foo{} - if err := any.UnmarshalTo(foo); err != nil { - ... - } - - The pack methods provided by protobuf library will by default use - - 'type.googleapis.com/full.type.name' as the type URL and the unpack - - methods only use the fully qualified type name after the last '/' - - in the type URL, for example "foo.bar.com/x/y.z" will yield type - - name "y.z". - - - JSON - - ==== - - The JSON representation of an `Any` value uses the regular - - representation of the deserialized, embedded message, with an - - additional field `@type` which contains the type URL. Example: - - package google.profile; - message Person { - string first_name = 1; - string last_name = 2; - } - - { - "@type": "type.googleapis.com/google.profile.Person", - "firstName": , - "lastName": - } - - If the embedded message type is well-known and has a custom JSON - - representation, that representation will be embedded adding a field - - `value` which holds the custom JSON in addition to the `@type` - - field. Example (for message [google.protobuf.Duration][]): - - { - "@type": "type.googleapis.com/google.protobuf.Duration", - "value": "1.212s" - } - expiration: - type: string - format: date-time - title: >- - time when the grant will expire and will be pruned. If null, then the - grant - - doesn't have a time expiration (other conditions in `authorization` - - may apply to invalidate the grant) - description: |- - Grant gives permissions to execute - the provide method with expiration time. - cosmos.authz.v1beta1.MsgExec: - type: object - properties: - grantee: - type: string - msgs: - type: array - items: - type: object - properties: - '@type': - type: string - description: >- - A URL/resource name that uniquely identifies the type of the - serialized - - protocol buffer message. This string must contain at least - - one "/" character. The last segment of the URL's path must - represent - - the fully qualified name of the type (as in - - `path/google.protobuf.Duration`). The name should be in a - canonical form - - (e.g., leading "." is not accepted). - - - In practice, teams usually precompile into the binary all types - that they - - expect it to use in the context of Any. However, for URLs which - use the - - scheme `http`, `https`, or no scheme, one can optionally set up - a type - - server that maps type URLs to message definitions as follows: - - - * If no scheme is provided, `https` is assumed. - - * An HTTP GET on the URL must yield a [google.protobuf.Type][] - value in binary format, or produce an error. - * Applications are allowed to cache lookup results based on the - URL, or have them precompiled into a binary to avoid any - lookup. Therefore, binary compatibility needs to be preserved - on changes to types. (Use versioned type names to manage - breaking changes.) - - Note: this functionality is not currently available in the - official - - protobuf release, and it is not used for type URLs beginning - with - - type.googleapis.com. As of May 2023, there are no widely used - type server - - implementations and no plans to implement one. - - - Schemes other than `http`, `https` (or the empty scheme) might - be - - used with implementation specific semantics. - additionalProperties: {} - description: >- - `Any` contains an arbitrary serialized protocol buffer message along - with a - - URL that describes the type of the serialized message. - - - Protobuf library provides support to pack/unpack Any values in the - form - - of utility functions or additional generated methods of the Any - type. - - - Example 1: Pack and unpack a message in C++. - - Foo foo = ...; - Any any; - any.PackFrom(foo); - ... - if (any.UnpackTo(&foo)) { - ... - } - - Example 2: Pack and unpack a message in Java. - - Foo foo = ...; - Any any = Any.pack(foo); - ... - if (any.is(Foo.class)) { - foo = any.unpack(Foo.class); - } - // or ... - if (any.isSameTypeAs(Foo.getDefaultInstance())) { - foo = any.unpack(Foo.getDefaultInstance()); - } - - Example 3: Pack and unpack a message in Python. - - foo = Foo(...) - any = Any() - any.Pack(foo) - ... - if any.Is(Foo.DESCRIPTOR): - any.Unpack(foo) - ... - - Example 4: Pack and unpack a message in Go - - foo := &pb.Foo{...} - any, err := anypb.New(foo) - if err != nil { - ... - } - ... - foo := &pb.Foo{} - if err := any.UnmarshalTo(foo); err != nil { - ... - } - - The pack methods provided by protobuf library will by default use - - 'type.googleapis.com/full.type.name' as the type URL and the unpack - - methods only use the fully qualified type name after the last '/' - - in the type URL, for example "foo.bar.com/x/y.z" will yield type - - name "y.z". - - - JSON - - ==== - - The JSON representation of an `Any` value uses the regular - - representation of the deserialized, embedded message, with an - - additional field `@type` which contains the type URL. Example: - - package google.profile; - message Person { - string first_name = 1; - string last_name = 2; - } - - { - "@type": "type.googleapis.com/google.profile.Person", - "firstName": , - "lastName": - } - - If the embedded message type is well-known and has a custom JSON - - representation, that representation will be embedded adding a field - - `value` which holds the custom JSON in addition to the `@type` - - field. Example (for message [google.protobuf.Duration][]): - - { - "@type": "type.googleapis.com/google.protobuf.Duration", - "value": "1.212s" - } - description: >- - Execute Msg. - - The x/authz will try to find a grant matching (msg.signers[0], - grantee, MsgTypeURL(msg)) - - triple and validate it. - description: |- - MsgExec attempts to execute the provided messages using - authorizations granted to the grantee. Each message should have only - one signer corresponding to the granter of the authorization. - cosmos.authz.v1beta1.MsgExecResponse: - type: object - properties: - results: - type: array - items: - type: string - format: byte - description: MsgExecResponse defines the Msg/MsgExecResponse response type. - cosmos.authz.v1beta1.MsgGrant: - type: object - properties: - granter: - type: string - grantee: - type: string - grant: - type: object - properties: - authorization: - type: object - properties: - '@type': - type: string - description: >- - A URL/resource name that uniquely identifies the type of the - serialized - - protocol buffer message. This string must contain at least - - one "/" character. The last segment of the URL's path must - represent - - the fully qualified name of the type (as in - - `path/google.protobuf.Duration`). The name should be in a - canonical form - - (e.g., leading "." is not accepted). - - - In practice, teams usually precompile into the binary all - types that they - - expect it to use in the context of Any. However, for URLs - which use the - - scheme `http`, `https`, or no scheme, one can optionally set - up a type - - server that maps type URLs to message definitions as follows: - - - * If no scheme is provided, `https` is assumed. - - * An HTTP GET on the URL must yield a [google.protobuf.Type][] - value in binary format, or produce an error. - * Applications are allowed to cache lookup results based on - the - URL, or have them precompiled into a binary to avoid any - lookup. Therefore, binary compatibility needs to be preserved - on changes to types. (Use versioned type names to manage - breaking changes.) - - Note: this functionality is not currently available in the - official - - protobuf release, and it is not used for type URLs beginning - with - - type.googleapis.com. As of May 2023, there are no widely used - type server - - implementations and no plans to implement one. - - - Schemes other than `http`, `https` (or the empty scheme) might - be - - used with implementation specific semantics. - additionalProperties: {} - description: >- - `Any` contains an arbitrary serialized protocol buffer message - along with a - - URL that describes the type of the serialized message. - - - Protobuf library provides support to pack/unpack Any values in the - form - - of utility functions or additional generated methods of the Any - type. - - - Example 1: Pack and unpack a message in C++. - - Foo foo = ...; - Any any; - any.PackFrom(foo); - ... - if (any.UnpackTo(&foo)) { - ... - } - - Example 2: Pack and unpack a message in Java. - - Foo foo = ...; - Any any = Any.pack(foo); - ... - if (any.is(Foo.class)) { - foo = any.unpack(Foo.class); - } - // or ... - if (any.isSameTypeAs(Foo.getDefaultInstance())) { - foo = any.unpack(Foo.getDefaultInstance()); - } - - Example 3: Pack and unpack a message in Python. - - foo = Foo(...) - any = Any() - any.Pack(foo) - ... - if any.Is(Foo.DESCRIPTOR): - any.Unpack(foo) - ... - - Example 4: Pack and unpack a message in Go - - foo := &pb.Foo{...} - any, err := anypb.New(foo) - if err != nil { - ... - } - ... - foo := &pb.Foo{} - if err := any.UnmarshalTo(foo); err != nil { - ... - } - - The pack methods provided by protobuf library will by default use - - 'type.googleapis.com/full.type.name' as the type URL and the - unpack - - methods only use the fully qualified type name after the last '/' - - in the type URL, for example "foo.bar.com/x/y.z" will yield type - - name "y.z". - - - JSON - - ==== - - The JSON representation of an `Any` value uses the regular - - representation of the deserialized, embedded message, with an - - additional field `@type` which contains the type URL. Example: - - package google.profile; - message Person { - string first_name = 1; - string last_name = 2; - } - - { - "@type": "type.googleapis.com/google.profile.Person", - "firstName": , - "lastName": - } - - If the embedded message type is well-known and has a custom JSON - - representation, that representation will be embedded adding a - field - - `value` which holds the custom JSON in addition to the `@type` - - field. Example (for message [google.protobuf.Duration][]): - - { - "@type": "type.googleapis.com/google.protobuf.Duration", - "value": "1.212s" - } - expiration: - type: string - format: date-time - title: >- - time when the grant will expire and will be pruned. If null, then - the grant - - doesn't have a time expiration (other conditions in - `authorization` - - may apply to invalidate the grant) - description: |- - Grant gives permissions to execute - the provide method with expiration time. - description: >- - MsgGrant is a request type for Grant method. It declares authorization to - the grantee - - on behalf of the granter with the provided expiration time. - cosmos.authz.v1beta1.MsgGrantResponse: - type: object - description: MsgGrantResponse defines the Msg/MsgGrant response type. - cosmos.authz.v1beta1.MsgRevoke: - type: object - properties: - granter: - type: string - grantee: - type: string - msg_type_url: - type: string - description: |- - MsgRevoke revokes any authorization with the provided sdk.Msg type on the - granter's account with that has been granted to the grantee. - cosmos.authz.v1beta1.MsgRevokeResponse: - type: object - description: MsgRevokeResponse defines the Msg/MsgRevokeResponse response type. - cosmos.bank.v1beta1.Input: - type: object - properties: - address: - type: string - coins: - type: array - items: - type: object - properties: - denom: - type: string - amount: - type: string - description: |- - Coin defines a token with a denomination and an amount. - - NOTE: The amount field is an Int which implements the custom method - signatures required by gogoproto. - description: Input models transaction input. - cosmos.bank.v1beta1.MsgMultiSend: - type: object - properties: - inputs: - type: array - items: - type: object - properties: - address: - type: string - coins: - type: array - items: - type: object - properties: - denom: - type: string - amount: - type: string - description: >- - Coin defines a token with a denomination and an amount. - - - NOTE: The amount field is an Int which implements the custom - method - - signatures required by gogoproto. - description: Input models transaction input. - description: >- - Inputs, despite being `repeated`, only allows one sender input. This - is - - checked in MsgMultiSend's ValidateBasic. - outputs: - type: array - items: - type: object - properties: - address: - type: string - coins: - type: array - items: - type: object - properties: - denom: - type: string - amount: - type: string - description: >- - Coin defines a token with a denomination and an amount. - - - NOTE: The amount field is an Int which implements the custom - method - - signatures required by gogoproto. - description: Output models transaction outputs. - description: MsgMultiSend represents an arbitrary multi-in, multi-out send message. - cosmos.bank.v1beta1.MsgMultiSendResponse: - type: object - description: MsgMultiSendResponse defines the Msg/MultiSend response type. - cosmos.bank.v1beta1.MsgSend: - type: object - properties: - from_address: - type: string - to_address: - type: string - amount: - type: array - items: - type: object - properties: - denom: - type: string - amount: - type: string - description: |- - Coin defines a token with a denomination and an amount. - - NOTE: The amount field is an Int which implements the custom method - signatures required by gogoproto. - description: MsgSend represents a message to send coins from one account to another. - cosmos.bank.v1beta1.MsgSendResponse: - type: object - description: MsgSendResponse defines the Msg/Send response type. - cosmos.bank.v1beta1.MsgSetSendEnabled: - type: object - properties: - authority: - type: string - description: authority is the address that controls the module. - send_enabled: - type: array - items: - type: object - properties: - denom: - type: string - enabled: - type: boolean - description: >- - SendEnabled maps coin denom to a send_enabled status (whether a - denom is - - sendable). - description: send_enabled is the list of entries to add or update. - use_default_for: - type: array - items: - type: string - description: >- - use_default_for is a list of denoms that should use the - params.default_send_enabled value. - - Denoms listed here will have their SendEnabled entries deleted. - - If a denom is included that doesn't have a SendEnabled entry, - - it will be ignored. - description: |- - MsgSetSendEnabled is the Msg/SetSendEnabled request type. - - Only entries to add/update/delete need to be included. - Existing SendEnabled entries that are not included in this - message are left unchanged. - - Since: cosmos-sdk 0.47 - cosmos.bank.v1beta1.MsgSetSendEnabledResponse: - type: object - description: |- - MsgSetSendEnabledResponse defines the Msg/SetSendEnabled response type. - - Since: cosmos-sdk 0.47 - cosmos.bank.v1beta1.MsgUpdateParams: - type: object - properties: - authority: - type: string - description: >- - authority is the address that controls the module (defaults to x/gov - unless overwritten). - params: - description: |- - params defines the x/bank parameters to update. - - NOTE: All parameters must be supplied. - type: object - properties: - send_enabled: - type: array - items: - type: object - properties: - denom: - type: string - enabled: - type: boolean - description: >- - SendEnabled maps coin denom to a send_enabled status (whether a - denom is - - sendable). - description: >- - Deprecated: Use of SendEnabled in params is deprecated. - - For genesis, use the newly added send_enabled field in the genesis - object. - - Storage, lookup, and manipulation of this information is now in - the keeper. - - - As of cosmos-sdk 0.47, this only exists for backwards - compatibility of genesis files. - default_send_enabled: - type: boolean - description: |- - MsgUpdateParams is the Msg/UpdateParams request type. - - Since: cosmos-sdk 0.47 - cosmos.bank.v1beta1.MsgUpdateParamsResponse: - type: object - description: |- - MsgUpdateParamsResponse defines the response structure for executing a - MsgUpdateParams message. - - Since: cosmos-sdk 0.47 - cosmos.bank.v1beta1.Output: - type: object - properties: - address: - type: string - coins: - type: array - items: - type: object - properties: - denom: - type: string - amount: - type: string - description: |- - Coin defines a token with a denomination and an amount. - - NOTE: The amount field is an Int which implements the custom method - signatures required by gogoproto. - description: Output models transaction outputs. - cosmos.bank.v1beta1.Params: - type: object - properties: - send_enabled: - type: array - items: - type: object - properties: - denom: - type: string - enabled: - type: boolean - description: >- - SendEnabled maps coin denom to a send_enabled status (whether a - denom is - - sendable). - description: >- - Deprecated: Use of SendEnabled in params is deprecated. - - For genesis, use the newly added send_enabled field in the genesis - object. - - Storage, lookup, and manipulation of this information is now in the - keeper. - - - As of cosmos-sdk 0.47, this only exists for backwards compatibility of - genesis files. - default_send_enabled: - type: boolean - description: Params defines the parameters for the bank module. - cosmos.bank.v1beta1.SendEnabled: - type: object - properties: - denom: - type: string - enabled: - type: boolean - description: |- - SendEnabled maps coin denom to a send_enabled status (whether a denom is - sendable). - cosmos.base.v1beta1.Coin: - type: object - properties: - denom: - type: string - amount: - type: string - description: |- - Coin defines a token with a denomination and an amount. - - NOTE: The amount field is an Int which implements the custom method - signatures required by gogoproto. - cosmos.base.node.v1beta1.ConfigResponse: - type: object - properties: - minimum_gas_price: - type: string - pruning_keep_recent: - type: string - pruning_interval: - type: string - halt_height: - type: string - format: uint64 - description: ConfigResponse defines the response structure for the Config gRPC query. - cosmos.base.node.v1beta1.StatusResponse: - type: object - properties: - earliest_store_height: - type: string - format: uint64 - title: earliest block height available in the store - height: - type: string - format: uint64 - title: current block height - timestamp: - type: string - format: date-time - title: block height timestamp - app_hash: - type: string - format: byte - title: app hash of the current block - validator_hash: - type: string - format: byte - title: validator hash provided by the consensus header - description: StateResponse defines the response structure for the status of a node. - cosmos.consensus.v1.MsgUpdateParams: - type: object - properties: - authority: - type: string - description: >- - authority is the address that controls the module (defaults to x/gov - unless overwritten). - block: - description: |- - params defines the x/consensus parameters to update. - VersionsParams is not included in this Msg because it is tracked - separarately in x/upgrade. - - NOTE: All parameters must be supplied. - type: object - properties: - max_bytes: - type: string - format: int64 - title: |- - Max block size, in bytes. - Note: must be greater than 0 - max_gas: - type: string - format: int64 - title: |- - Max gas per block. - Note: must be greater or equal to -1 - evidence: - type: object - properties: - max_age_num_blocks: - type: string - format: int64 - description: >- - Max age of evidence, in blocks. - - - The basic formula for calculating this is: MaxAgeDuration / - {average block - - time}. - max_age_duration: - type: string - description: >- - Max age of evidence, in time. - - - It should correspond with an app's "unbonding period" or other - similar - - mechanism for handling [Nothing-At-Stake - - attacks](https://github.com/ethereum/wiki/wiki/Proof-of-Stake-FAQ#what-is-the-nothing-at-stake-problem-and-how-can-it-be-fixed). - max_bytes: - type: string - format: int64 - title: >- - This sets the maximum size of total evidence in bytes that can be - committed in a single block. - - and should fall comfortably under the max block bytes. - - Default is 1048576 or 1MB - description: EvidenceParams determine how we handle evidence of malfeasance. - validator: - type: object - properties: - pub_key_types: - type: array - items: - type: string - description: |- - ValidatorParams restrict the public key types validators can use. - NOTE: uses ABCI pubkey naming, not Amino names. - abci: - title: 'Since: cosmos-sdk 0.50' - type: object - properties: - vote_extensions_enable_height: - type: string - format: int64 - description: >- - vote_extensions_enable_height configures the first height during - which - - vote extensions will be enabled. During this specified height, and - for all - - subsequent heights, precommit messages that do not contain valid - extension data - - will be considered invalid. Prior to this height, vote extensions - will not - - be used or accepted by validators on the network. - - - Once enabled, vote extensions will be created by the application - in ExtendVote, - - passed to the application for validation in VerifyVoteExtension - and given - - to the application to use when proposing a block during - PrepareProposal. - description: >- - ABCIParams configure functionality specific to the Application - Blockchain Interface. - description: MsgUpdateParams is the Msg/UpdateParams request type. - cosmos.consensus.v1.MsgUpdateParamsResponse: - type: object - description: |- - MsgUpdateParamsResponse defines the response structure for executing a - MsgUpdateParams message. - tendermint.types.ABCIParams: - type: object - properties: - vote_extensions_enable_height: - type: string - format: int64 - description: >- - vote_extensions_enable_height configures the first height during which - - vote extensions will be enabled. During this specified height, and for - all - - subsequent heights, precommit messages that do not contain valid - extension data - - will be considered invalid. Prior to this height, vote extensions will - not - - be used or accepted by validators on the network. - - - Once enabled, vote extensions will be created by the application in - ExtendVote, - - passed to the application for validation in VerifyVoteExtension and - given - - to the application to use when proposing a block during - PrepareProposal. - description: >- - ABCIParams configure functionality specific to the Application Blockchain - Interface. - tendermint.types.BlockParams: - type: object - properties: - max_bytes: - type: string - format: int64 - title: |- - Max block size, in bytes. - Note: must be greater than 0 - max_gas: - type: string - format: int64 - title: |- - Max gas per block. - Note: must be greater or equal to -1 - description: BlockParams contains limits on the block size. - tendermint.types.EvidenceParams: - type: object - properties: - max_age_num_blocks: - type: string - format: int64 - description: >- - Max age of evidence, in blocks. - - - The basic formula for calculating this is: MaxAgeDuration / {average - block - - time}. - max_age_duration: - type: string - description: >- - Max age of evidence, in time. - - - It should correspond with an app's "unbonding period" or other similar - - mechanism for handling [Nothing-At-Stake - - attacks](https://github.com/ethereum/wiki/wiki/Proof-of-Stake-FAQ#what-is-the-nothing-at-stake-problem-and-how-can-it-be-fixed). - max_bytes: - type: string - format: int64 - title: >- - This sets the maximum size of total evidence in bytes that can be - committed in a single block. - - and should fall comfortably under the max block bytes. - - Default is 1048576 or 1MB - description: EvidenceParams determine how we handle evidence of malfeasance. - tendermint.types.ValidatorParams: - type: object - properties: - pub_key_types: - type: array - items: - type: string - description: |- - ValidatorParams restrict the public key types validators can use. - NOTE: uses ABCI pubkey naming, not Amino names. - cosmos.crisis.v1beta1.MsgUpdateParams: - type: object - properties: - authority: - type: string - description: >- - authority is the address that controls the module (defaults to x/gov - unless overwritten). - constant_fee: - description: constant_fee defines the x/crisis parameter. - type: object - properties: - denom: - type: string - amount: - type: string - description: |- - MsgUpdateParams is the Msg/UpdateParams request type. - - Since: cosmos-sdk 0.47 - cosmos.crisis.v1beta1.MsgUpdateParamsResponse: - type: object - description: |- - MsgUpdateParamsResponse defines the response structure for executing a - MsgUpdateParams message. - - Since: cosmos-sdk 0.47 - cosmos.crisis.v1beta1.MsgVerifyInvariant: - type: object - properties: - sender: - type: string - description: >- - sender is the account address of private key to send coins to fee - collector account. - invariant_module_name: - type: string - description: name of the invariant module. - invariant_route: - type: string - description: invariant_route is the msg's invariant route. - description: MsgVerifyInvariant represents a message to verify a particular invariance. - cosmos.crisis.v1beta1.MsgVerifyInvariantResponse: - type: object - description: MsgVerifyInvariantResponse defines the Msg/VerifyInvariant response type. - cosmos.distribution.v1beta1.MsgCommunityPoolSpend: - type: object - properties: - authority: - type: string - description: >- - authority is the address that controls the module (defaults to x/gov - unless overwritten). - recipient: - type: string - amount: - type: array - items: - type: object - properties: - denom: - type: string - amount: - type: string - description: |- - Coin defines a token with a denomination and an amount. - - NOTE: The amount field is an Int which implements the custom method - signatures required by gogoproto. - description: >- - MsgCommunityPoolSpend defines a message for sending tokens from the - community - - pool to another account. This message is typically executed via a - governance - - proposal with the governance module being the executing authority. - - - Since: cosmos-sdk 0.47 - cosmos.distribution.v1beta1.MsgCommunityPoolSpendResponse: - type: object - description: |- - MsgCommunityPoolSpendResponse defines the response to executing a - MsgCommunityPoolSpend message. - - Since: cosmos-sdk 0.47 - cosmos.distribution.v1beta1.MsgDepositValidatorRewardsPool: - type: object - properties: - depositor: - type: string - validator_address: - type: string - amount: - type: array - items: - type: object - properties: - denom: - type: string - amount: - type: string - description: |- - Coin defines a token with a denomination and an amount. - - NOTE: The amount field is an Int which implements the custom method - signatures required by gogoproto. - description: |- - DepositValidatorRewardsPool defines the request structure to provide - additional rewards to delegators from a specific validator. - - Since: cosmos-sdk 0.50 - cosmos.distribution.v1beta1.MsgDepositValidatorRewardsPoolResponse: - type: object - description: |- - MsgDepositValidatorRewardsPoolResponse defines the response to executing a - MsgDepositValidatorRewardsPool message. - - Since: cosmos-sdk 0.50 - cosmos.distribution.v1beta1.MsgFundCommunityPool: - type: object - properties: - amount: - type: array - items: - type: object - properties: - denom: - type: string - amount: - type: string - description: |- - Coin defines a token with a denomination and an amount. - - NOTE: The amount field is an Int which implements the custom method - signatures required by gogoproto. - depositor: - type: string - description: |- - MsgFundCommunityPool allows an account to directly - fund the community pool. - cosmos.distribution.v1beta1.MsgFundCommunityPoolResponse: - type: object - description: >- - MsgFundCommunityPoolResponse defines the Msg/FundCommunityPool response - type. - cosmos.distribution.v1beta1.MsgSetWithdrawAddress: - type: object - properties: - delegator_address: - type: string - withdraw_address: - type: string - description: |- - MsgSetWithdrawAddress sets the withdraw address for - a delegator (or validator self-delegation). - cosmos.distribution.v1beta1.MsgSetWithdrawAddressResponse: - type: object - description: |- - MsgSetWithdrawAddressResponse defines the Msg/SetWithdrawAddress response - type. - cosmos.distribution.v1beta1.MsgUpdateParams: - type: object - properties: - authority: - type: string - description: >- - authority is the address that controls the module (defaults to x/gov - unless overwritten). - params: - description: |- - params defines the x/distribution parameters to update. - - NOTE: All parameters must be supplied. - type: object - properties: - community_tax: - type: string - base_proposer_reward: - type: string - description: >- - Deprecated: The base_proposer_reward field is deprecated and is no - longer used - - in the x/distribution module's reward mechanism. - bonus_proposer_reward: - type: string - description: >- - Deprecated: The bonus_proposer_reward field is deprecated and is - no longer used - - in the x/distribution module's reward mechanism. - withdraw_addr_enabled: - type: boolean - description: |- - MsgUpdateParams is the Msg/UpdateParams request type. - - Since: cosmos-sdk 0.47 - cosmos.distribution.v1beta1.MsgUpdateParamsResponse: - type: object - description: |- - MsgUpdateParamsResponse defines the response structure for executing a - MsgUpdateParams message. - - Since: cosmos-sdk 0.47 - cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward: - type: object - properties: - delegator_address: - type: string - validator_address: - type: string - description: |- - MsgWithdrawDelegatorReward represents delegation withdrawal to a delegator - from a single validator. - cosmos.distribution.v1beta1.MsgWithdrawDelegatorRewardResponse: - type: object - properties: - amount: - type: array - items: - type: object - properties: - denom: - type: string - amount: - type: string - description: |- - Coin defines a token with a denomination and an amount. - - NOTE: The amount field is an Int which implements the custom method - signatures required by gogoproto. - title: 'Since: cosmos-sdk 0.46' - description: |- - MsgWithdrawDelegatorRewardResponse defines the Msg/WithdrawDelegatorReward - response type. - cosmos.distribution.v1beta1.MsgWithdrawValidatorCommission: - type: object - properties: - validator_address: - type: string - description: >- - MsgWithdrawValidatorCommission withdraws the full commission to the - validator - - address. - cosmos.distribution.v1beta1.MsgWithdrawValidatorCommissionResponse: - type: object - properties: - amount: - type: array - items: - type: object - properties: - denom: - type: string - amount: - type: string - description: |- - Coin defines a token with a denomination and an amount. - - NOTE: The amount field is an Int which implements the custom method - signatures required by gogoproto. - title: 'Since: cosmos-sdk 0.46' - description: |- - MsgWithdrawValidatorCommissionResponse defines the - Msg/WithdrawValidatorCommission response type. - cosmos.distribution.v1beta1.Params: - type: object - properties: - community_tax: - type: string - base_proposer_reward: - type: string - description: >- - Deprecated: The base_proposer_reward field is deprecated and is no - longer used - - in the x/distribution module's reward mechanism. - bonus_proposer_reward: - type: string - description: >- - Deprecated: The bonus_proposer_reward field is deprecated and is no - longer used - - in the x/distribution module's reward mechanism. - withdraw_addr_enabled: - type: boolean - description: Params defines the set of params for the distribution module. - cosmos.evidence.v1beta1.MsgSubmitEvidence: - type: object - properties: - submitter: - type: string - description: submitter is the signer account address of evidence. - evidence: - description: evidence defines the evidence of misbehavior. - type: object - properties: - '@type': - type: string - description: >- - A URL/resource name that uniquely identifies the type of the - serialized - - protocol buffer message. This string must contain at least - - one "/" character. The last segment of the URL's path must - represent - - the fully qualified name of the type (as in - - `path/google.protobuf.Duration`). The name should be in a - canonical form - - (e.g., leading "." is not accepted). - - - In practice, teams usually precompile into the binary all types - that they - - expect it to use in the context of Any. However, for URLs which - use the - - scheme `http`, `https`, or no scheme, one can optionally set up a - type - - server that maps type URLs to message definitions as follows: - - - * If no scheme is provided, `https` is assumed. - - * An HTTP GET on the URL must yield a [google.protobuf.Type][] - value in binary format, or produce an error. - * Applications are allowed to cache lookup results based on the - URL, or have them precompiled into a binary to avoid any - lookup. Therefore, binary compatibility needs to be preserved - on changes to types. (Use versioned type names to manage - breaking changes.) - - Note: this functionality is not currently available in the - official - - protobuf release, and it is not used for type URLs beginning with - - type.googleapis.com. As of May 2023, there are no widely used type - server - - implementations and no plans to implement one. - - - Schemes other than `http`, `https` (or the empty scheme) might be - - used with implementation specific semantics. - additionalProperties: {} - description: |- - MsgSubmitEvidence represents a message that supports submitting arbitrary - Evidence of misbehavior such as equivocation or counterfactual signing. - cosmos.evidence.v1beta1.MsgSubmitEvidenceResponse: - type: object - properties: - hash: - type: string - format: byte - description: hash defines the hash of the evidence. - description: MsgSubmitEvidenceResponse defines the Msg/SubmitEvidence response type. - cosmos.feegrant.v1beta1.MsgGrantAllowance: - type: object - properties: - granter: - type: string - description: >- - granter is the address of the user granting an allowance of their - funds. - grantee: - type: string - description: >- - grantee is the address of the user being granted an allowance of - another user's funds. - allowance: - description: allowance can be any of basic, periodic, allowed fee allowance. - type: object - properties: - '@type': - type: string - description: >- - A URL/resource name that uniquely identifies the type of the - serialized - - protocol buffer message. This string must contain at least - - one "/" character. The last segment of the URL's path must - represent - - the fully qualified name of the type (as in - - `path/google.protobuf.Duration`). The name should be in a - canonical form - - (e.g., leading "." is not accepted). - - - In practice, teams usually precompile into the binary all types - that they - - expect it to use in the context of Any. However, for URLs which - use the - - scheme `http`, `https`, or no scheme, one can optionally set up a - type - - server that maps type URLs to message definitions as follows: - - - * If no scheme is provided, `https` is assumed. - - * An HTTP GET on the URL must yield a [google.protobuf.Type][] - value in binary format, or produce an error. - * Applications are allowed to cache lookup results based on the - URL, or have them precompiled into a binary to avoid any - lookup. Therefore, binary compatibility needs to be preserved - on changes to types. (Use versioned type names to manage - breaking changes.) - - Note: this functionality is not currently available in the - official - - protobuf release, and it is not used for type URLs beginning with - - type.googleapis.com. As of May 2023, there are no widely used type - server - - implementations and no plans to implement one. - - - Schemes other than `http`, `https` (or the empty scheme) might be - - used with implementation specific semantics. - additionalProperties: {} - description: |- - MsgGrantAllowance adds permission for Grantee to spend up to Allowance - of fees from the account of Granter. - cosmos.feegrant.v1beta1.MsgGrantAllowanceResponse: - type: object - description: >- - MsgGrantAllowanceResponse defines the Msg/GrantAllowanceResponse response - type. - cosmos.feegrant.v1beta1.MsgPruneAllowances: - type: object - properties: - pruner: - type: string - description: pruner is the address of the user pruning expired allowances. - description: |- - MsgPruneAllowances prunes expired fee allowances. - - Since cosmos-sdk 0.50 - cosmos.feegrant.v1beta1.MsgPruneAllowancesResponse: - type: object - description: >- - MsgPruneAllowancesResponse defines the Msg/PruneAllowancesResponse - response type. - - - Since cosmos-sdk 0.50 - cosmos.feegrant.v1beta1.MsgRevokeAllowance: - type: object - properties: - granter: - type: string - description: >- - granter is the address of the user granting an allowance of their - funds. - grantee: - type: string - description: >- - grantee is the address of the user being granted an allowance of - another user's funds. - description: MsgRevokeAllowance removes any existing Allowance from Granter to Grantee. - cosmos.feegrant.v1beta1.MsgRevokeAllowanceResponse: - type: object - description: >- - MsgRevokeAllowanceResponse defines the Msg/RevokeAllowanceResponse - response type. - cosmos.base.query.v1beta1.PageRequest: - type: object - properties: - key: - type: string - format: byte - description: |- - key is a value returned in PageResponse.next_key to begin - querying the next page most efficiently. Only one of offset or key - should be set. - offset: - type: string - format: uint64 - description: |- - offset is a numeric offset that can be used when key is unavailable. - It is less efficient than using key. Only one of offset or key should - be set. - limit: - type: string - format: uint64 - description: >- - limit is the total number of results to be returned in the result - page. - - If left empty it will default to a value to be set by each app. - count_total: - type: boolean - description: >- - count_total is set to true to indicate that the result set should - include - - a count of the total number of items available for pagination in UIs. - - count_total is only respected when offset is used. It is ignored when - key - - is set. - reverse: - type: boolean - description: >- - reverse is set to true if results are to be returned in the descending - order. - - - Since: cosmos-sdk 0.43 - description: |- - message SomeRequest { - Foo some_parameter = 1; - PageRequest pagination = 2; - } - title: |- - PageRequest is to be embedded in gRPC request messages for efficient - pagination. Ex: - cosmos.base.query.v1beta1.PageResponse: - type: object - properties: - next_key: - type: string - format: byte - description: |- - next_key is the key to be passed to PageRequest.key to - query the next page most efficiently. It will be empty if - there are no more results. - total: - type: string - format: uint64 - title: |- - total is total number of results available if PageRequest.count_total - was set, its value is undefined otherwise - description: |- - PageResponse is to be embedded in gRPC response messages where the - corresponding request message has used PageRequest. - - message SomeResponse { - repeated Bar results = 1; - PageResponse page = 2; - } - cosmos.gov.v1.Deposit: - type: object - properties: - proposal_id: - type: string - format: uint64 - description: proposal_id defines the unique id of the proposal. - depositor: - type: string - description: depositor defines the deposit addresses from the proposals. - amount: - type: array - items: - type: object - properties: - denom: - type: string - amount: - type: string - description: |- - Coin defines a token with a denomination and an amount. - - NOTE: The amount field is an Int which implements the custom method - signatures required by gogoproto. - description: amount to be deposited by depositor. - description: |- - Deposit defines an amount deposited by an account address to an active - proposal. - cosmos.gov.v1.DepositParams: - type: object - properties: - min_deposit: - type: array - items: - type: object - properties: - denom: - type: string - amount: - type: string - description: |- - Coin defines a token with a denomination and an amount. - - NOTE: The amount field is an Int which implements the custom method - signatures required by gogoproto. - description: Minimum deposit for a proposal to enter voting period. - max_deposit_period: - type: string - description: >- - Maximum period for Atom holders to deposit on a proposal. Initial - value: 2 - - months. - description: DepositParams defines the params for deposits on governance proposals. - cosmos.gov.v1.Params: - type: object - properties: - min_deposit: - type: array - items: - type: object - properties: - denom: - type: string - amount: - type: string - description: |- - Coin defines a token with a denomination and an amount. - - NOTE: The amount field is an Int which implements the custom method - signatures required by gogoproto. - description: Minimum deposit for a proposal to enter voting period. - max_deposit_period: - type: string - description: >- - Maximum period for Atom holders to deposit on a proposal. Initial - value: 2 - - months. - voting_period: - type: string - description: Duration of the voting period. - quorum: - type: string - description: |- - Minimum percentage of total stake needed to vote for a result to be - considered valid. - threshold: - type: string - description: >- - Minimum proportion of Yes votes for proposal to pass. Default value: - 0.5. - veto_threshold: - type: string - description: |- - Minimum value of Veto votes to Total votes ratio for proposal to be - vetoed. Default value: 1/3. - min_initial_deposit_ratio: - type: string - description: >- - The ratio representing the proportion of the deposit value that must - be paid at proposal submission. - proposal_cancel_ratio: - type: string - description: >- - The cancel ratio which will not be returned back to the depositors - when a proposal is cancelled. - - - Since: cosmos-sdk 0.50 - proposal_cancel_dest: - type: string - description: >- - The address which will receive (proposal_cancel_ratio * deposit) - proposal deposits. - - If empty, the (proposal_cancel_ratio * deposit) proposal deposits will - be burned. - - - Since: cosmos-sdk 0.50 - expedited_voting_period: - type: string - description: |- - Duration of the voting period of an expedited proposal. - - Since: cosmos-sdk 0.50 - expedited_threshold: - type: string - description: >- - Minimum proportion of Yes votes for proposal to pass. Default value: - 0.67. - - - Since: cosmos-sdk 0.50 - expedited_min_deposit: - type: array - items: - type: object - properties: - denom: - type: string - amount: - type: string - description: |- - Coin defines a token with a denomination and an amount. - - NOTE: The amount field is an Int which implements the custom method - signatures required by gogoproto. - description: Minimum expedited deposit for a proposal to enter voting period. - burn_vote_quorum: - type: boolean - title: burn deposits if a proposal does not meet quorum - burn_proposal_deposit_prevote: - type: boolean - title: burn deposits if the proposal does not enter voting period - burn_vote_veto: - type: boolean - title: burn deposits if quorum with vote type no_veto is met - min_deposit_ratio: - type: string - description: >- - The ratio representing the proportion of the deposit value minimum - that must be met when making a deposit. - - Default value: 0.01. Meaning that for a chain with a min_deposit of - 100stake, a deposit of 1stake would be - - required. - - - Since: cosmos-sdk 0.50 - max_tally_period: - type: string - description: Duration of the voting period. - trusted_counter_parties: - type: array - items: - type: object - properties: - client_id: - type: string - connection_id: - type: string - channel_id: - type: string - channel_id: - type: string - is_source_chain: - type: boolean - description: |- - Params defines the parameters for the x/gov module. - - Since: cosmos-sdk 0.47 - cosmos.gov.v1.Proposal: - type: object - properties: - id: - type: string - format: uint64 - description: id defines the unique id of the proposal. - messages: - type: array - items: - type: object - properties: - '@type': - type: string - description: >- - A URL/resource name that uniquely identifies the type of the - serialized - - protocol buffer message. This string must contain at least - - one "/" character. The last segment of the URL's path must - represent - - the fully qualified name of the type (as in - - `path/google.protobuf.Duration`). The name should be in a - canonical form - - (e.g., leading "." is not accepted). - - - In practice, teams usually precompile into the binary all types - that they - - expect it to use in the context of Any. However, for URLs which - use the - - scheme `http`, `https`, or no scheme, one can optionally set up - a type - - server that maps type URLs to message definitions as follows: - - - * If no scheme is provided, `https` is assumed. - - * An HTTP GET on the URL must yield a [google.protobuf.Type][] - value in binary format, or produce an error. - * Applications are allowed to cache lookup results based on the - URL, or have them precompiled into a binary to avoid any - lookup. Therefore, binary compatibility needs to be preserved - on changes to types. (Use versioned type names to manage - breaking changes.) - - Note: this functionality is not currently available in the - official - - protobuf release, and it is not used for type URLs beginning - with - - type.googleapis.com. As of May 2023, there are no widely used - type server - - implementations and no plans to implement one. - - - Schemes other than `http`, `https` (or the empty scheme) might - be - - used with implementation specific semantics. - additionalProperties: {} - description: >- - `Any` contains an arbitrary serialized protocol buffer message along - with a - - URL that describes the type of the serialized message. - - - Protobuf library provides support to pack/unpack Any values in the - form - - of utility functions or additional generated methods of the Any - type. - - - Example 1: Pack and unpack a message in C++. - - Foo foo = ...; - Any any; - any.PackFrom(foo); - ... - if (any.UnpackTo(&foo)) { - ... - } - - Example 2: Pack and unpack a message in Java. - - Foo foo = ...; - Any any = Any.pack(foo); - ... - if (any.is(Foo.class)) { - foo = any.unpack(Foo.class); - } - // or ... - if (any.isSameTypeAs(Foo.getDefaultInstance())) { - foo = any.unpack(Foo.getDefaultInstance()); - } - - Example 3: Pack and unpack a message in Python. - - foo = Foo(...) - any = Any() - any.Pack(foo) - ... - if any.Is(Foo.DESCRIPTOR): - any.Unpack(foo) - ... - - Example 4: Pack and unpack a message in Go - - foo := &pb.Foo{...} - any, err := anypb.New(foo) - if err != nil { - ... - } - ... - foo := &pb.Foo{} - if err := any.UnmarshalTo(foo); err != nil { - ... - } - - The pack methods provided by protobuf library will by default use - - 'type.googleapis.com/full.type.name' as the type URL and the unpack - - methods only use the fully qualified type name after the last '/' - - in the type URL, for example "foo.bar.com/x/y.z" will yield type - - name "y.z". - - - JSON - - ==== - - The JSON representation of an `Any` value uses the regular - - representation of the deserialized, embedded message, with an - - additional field `@type` which contains the type URL. Example: - - package google.profile; - message Person { - string first_name = 1; - string last_name = 2; - } - - { - "@type": "type.googleapis.com/google.profile.Person", - "firstName": , - "lastName": - } - - If the embedded message type is well-known and has a custom JSON - - representation, that representation will be embedded adding a field - - `value` which holds the custom JSON in addition to the `@type` - - field. Example (for message [google.protobuf.Duration][]): - - { - "@type": "type.googleapis.com/google.protobuf.Duration", - "value": "1.212s" - } - description: >- - messages are the arbitrary messages to be executed if the proposal - passes. - status: - description: status defines the proposal status. - type: string - enum: - - PROPOSAL_STATUS_UNSPECIFIED - - PROPOSAL_STATUS_DEPOSIT_PERIOD - - PROPOSAL_STATUS_VOTING_PERIOD - - PROPOSAL_STATUS_PASSED - - PROPOSAL_STATUS_REJECTED - - PROPOSAL_STATUS_FAILED - - PROPOSAL_STATUS_TALLY_PERIOD - default: PROPOSAL_STATUS_UNSPECIFIED - final_tally_result: - description: |- - final_tally_result is the final tally result of the proposal. When - querying a proposal via gRPC, this field is not populated until the - proposal's voting period has ended. - type: object - properties: - yes_count: - type: string - description: yes_count is the number of yes votes on a proposal. - abstain_count: - type: string - description: abstain_count is the number of abstain votes on a proposal. - no_count: - type: string - description: no_count is the number of no votes on a proposal. - no_with_veto_count: - type: string - description: >- - no_with_veto_count is the number of no with veto votes on a - proposal. - encrypted_count: - type: string - description: encrypted_count is the number of encrypted votes on a proposal. - submit_time: - type: string - format: date-time - description: submit_time is the time of proposal submission. - deposit_end_time: - type: string - format: date-time - description: deposit_end_time is the end time for deposition. - total_deposit: - type: array - items: - type: object - properties: - denom: - type: string - amount: - type: string - description: |- - Coin defines a token with a denomination and an amount. - - NOTE: The amount field is an Int which implements the custom method - signatures required by gogoproto. - description: total_deposit is the total deposit on the proposal. - voting_start_time: - type: string - format: date-time - description: voting_start_time is the starting time to vote on a proposal. - voting_end_time: - type: string - format: date-time - description: voting_end_time is the end time of voting on a proposal. - metadata: - type: string - title: |- - metadata is any arbitrary metadata attached to the proposal. - the recommended format of the metadata is to be found here: - https://docs.cosmos.network/v0.47/modules/gov#proposal-3 - title: - type: string - description: 'Since: cosmos-sdk 0.47' - title: title is the title of the proposal - summary: - type: string - description: 'Since: cosmos-sdk 0.47' - title: summary is a short summary of the proposal - proposer: - type: string - description: 'Since: cosmos-sdk 0.47' - title: proposer is the address of the proposal sumbitter - expedited: - type: boolean - description: 'Since: cosmos-sdk 0.50' - title: expedited defines if the proposal is expedited - failed_reason: - type: string - description: 'Since: cosmos-sdk 0.50' - title: failed_reason defines the reason why the proposal failed - has_encrypted_votes: - type: boolean - title: flag to check if proposal has at least one encrypted vote - identity: - type: string - title: identity and pubkey are used to submit encrypted votes - pubkey: - type: string - aggr_keyshare: - type: string - title: >- - aggregated keyshare is used to decrypt the encrypted votes during the - tally phase - description: Proposal defines the core field members of a governance proposal. - cosmos.gov.v1.ProposalStatus: - type: string - enum: - - PROPOSAL_STATUS_UNSPECIFIED - - PROPOSAL_STATUS_DEPOSIT_PERIOD - - PROPOSAL_STATUS_VOTING_PERIOD - - PROPOSAL_STATUS_PASSED - - PROPOSAL_STATUS_REJECTED - - PROPOSAL_STATUS_FAILED - - PROPOSAL_STATUS_TALLY_PERIOD - default: PROPOSAL_STATUS_UNSPECIFIED - description: |- - ProposalStatus enumerates the valid statuses of a proposal. - - - PROPOSAL_STATUS_UNSPECIFIED: PROPOSAL_STATUS_UNSPECIFIED defines the default proposal status. - - PROPOSAL_STATUS_DEPOSIT_PERIOD: PROPOSAL_STATUS_DEPOSIT_PERIOD defines a proposal status during the deposit - period. - - PROPOSAL_STATUS_VOTING_PERIOD: PROPOSAL_STATUS_VOTING_PERIOD defines a proposal status during the voting - period. - - PROPOSAL_STATUS_PASSED: PROPOSAL_STATUS_PASSED defines a proposal status of a proposal that has - passed. - - PROPOSAL_STATUS_REJECTED: PROPOSAL_STATUS_REJECTED defines a proposal status of a proposal that has - been rejected. - - PROPOSAL_STATUS_FAILED: PROPOSAL_STATUS_FAILED defines a proposal status of a proposal that has - failed. - - PROPOSAL_STATUS_TALLY_PERIOD: PROPOSAL_STATUS_TALLY_PERIOD defines a proposal status during the tally - period. - cosmos.gov.v1.QueryConstitutionResponse: - type: object - properties: - constitution: - type: string - title: >- - QueryConstitutionResponse is the response type for the Query/Constitution - RPC method - cosmos.gov.v1.QueryDepositResponse: - type: object - properties: - deposit: - description: deposit defines the requested deposit. - type: object - properties: - proposal_id: - type: string - format: uint64 - description: proposal_id defines the unique id of the proposal. - depositor: - type: string - description: depositor defines the deposit addresses from the proposals. - amount: - type: array - items: - type: object - properties: - denom: - type: string - amount: - type: string - description: >- - Coin defines a token with a denomination and an amount. - - - NOTE: The amount field is an Int which implements the custom - method - - signatures required by gogoproto. - description: amount to be deposited by depositor. - description: >- - QueryDepositResponse is the response type for the Query/Deposit RPC - method. - cosmos.gov.v1.QueryDepositsResponse: - type: object - properties: - deposits: - type: array - items: - type: object - properties: - proposal_id: - type: string - format: uint64 - description: proposal_id defines the unique id of the proposal. - depositor: - type: string - description: depositor defines the deposit addresses from the proposals. - amount: - type: array - items: - type: object - properties: - denom: - type: string - amount: - type: string - description: >- - Coin defines a token with a denomination and an amount. - - - NOTE: The amount field is an Int which implements the custom - method - - signatures required by gogoproto. - description: amount to be deposited by depositor. - description: >- - Deposit defines an amount deposited by an account address to an - active - - proposal. - description: deposits defines the requested deposits. - pagination: - description: pagination defines the pagination in the response. - type: object - properties: - next_key: - type: string - format: byte - description: |- - next_key is the key to be passed to PageRequest.key to - query the next page most efficiently. It will be empty if - there are no more results. - total: - type: string - format: uint64 - title: >- - total is total number of results available if - PageRequest.count_total - - was set, its value is undefined otherwise - description: >- - QueryDepositsResponse is the response type for the Query/Deposits RPC - method. - cosmos.gov.v1.QueryParamsResponse: - type: object - properties: - voting_params: - description: |- - Deprecated: Prefer to use `params` instead. - voting_params defines the parameters related to voting. - type: object - properties: - voting_period: - type: string - description: Duration of the voting period. - deposit_params: - description: |- - Deprecated: Prefer to use `params` instead. - deposit_params defines the parameters related to deposit. - type: object - properties: - min_deposit: - type: array - items: - type: object - properties: - denom: - type: string - amount: - type: string - description: >- - Coin defines a token with a denomination and an amount. - - - NOTE: The amount field is an Int which implements the custom - method - - signatures required by gogoproto. - description: Minimum deposit for a proposal to enter voting period. - max_deposit_period: - type: string - description: >- - Maximum period for Atom holders to deposit on a proposal. Initial - value: 2 - - months. - tally_params: - description: |- - Deprecated: Prefer to use `params` instead. - tally_params defines the parameters related to tally. - type: object - properties: - quorum: - type: string - description: >- - Minimum percentage of total stake needed to vote for a result to - be - - considered valid. - threshold: - type: string - description: >- - Minimum proportion of Yes votes for proposal to pass. Default - value: 0.5. - veto_threshold: - type: string - description: >- - Minimum value of Veto votes to Total votes ratio for proposal to - be - - vetoed. Default value: 1/3. - params: - description: |- - params defines all the paramaters of x/gov module. - - Since: cosmos-sdk 0.47 - type: object - properties: - min_deposit: - type: array - items: - type: object - properties: - denom: - type: string - amount: - type: string - description: >- - Coin defines a token with a denomination and an amount. - - - NOTE: The amount field is an Int which implements the custom - method - - signatures required by gogoproto. - description: Minimum deposit for a proposal to enter voting period. - max_deposit_period: - type: string - description: >- - Maximum period for Atom holders to deposit on a proposal. Initial - value: 2 - - months. - voting_period: - type: string - description: Duration of the voting period. - quorum: - type: string - description: >- - Minimum percentage of total stake needed to vote for a result to - be - considered valid. - threshold: - type: string - description: >- - Minimum proportion of Yes votes for proposal to pass. Default - value: 0.5. - veto_threshold: - type: string - description: >- - Minimum value of Veto votes to Total votes ratio for proposal to - be - vetoed. Default value: 1/3. - min_initial_deposit_ratio: - type: string - description: >- - The ratio representing the proportion of the deposit value that - must be paid at proposal submission. - proposal_cancel_ratio: - type: string - description: >- - The cancel ratio which will not be returned back to the depositors - when a proposal is cancelled. - - - Since: cosmos-sdk 0.50 - proposal_cancel_dest: - type: string - description: >- - The address which will receive (proposal_cancel_ratio * deposit) - proposal deposits. - - If empty, the (proposal_cancel_ratio * deposit) proposal deposits - will be burned. - - - Since: cosmos-sdk 0.50 - expedited_voting_period: - type: string - description: |- - Duration of the voting period of an expedited proposal. - - Since: cosmos-sdk 0.50 - expedited_threshold: - type: string - description: >- - Minimum proportion of Yes votes for proposal to pass. Default - value: 0.67. - - - Since: cosmos-sdk 0.50 - expedited_min_deposit: - type: array - items: - type: object - properties: - denom: - type: string - amount: - type: string - description: >- - Coin defines a token with a denomination and an amount. - - - NOTE: The amount field is an Int which implements the custom - method - - signatures required by gogoproto. - description: Minimum expedited deposit for a proposal to enter voting period. - burn_vote_quorum: - type: boolean - title: burn deposits if a proposal does not meet quorum - burn_proposal_deposit_prevote: - type: boolean - title: burn deposits if the proposal does not enter voting period - burn_vote_veto: - type: boolean - title: burn deposits if quorum with vote type no_veto is met - min_deposit_ratio: - type: string - description: >- - The ratio representing the proportion of the deposit value minimum - that must be met when making a deposit. - - Default value: 0.01. Meaning that for a chain with a min_deposit - of 100stake, a deposit of 1stake would be - - required. - - - Since: cosmos-sdk 0.50 - max_tally_period: - type: string - description: Duration of the voting period. - trusted_counter_parties: - type: array - items: - type: object - properties: - client_id: - type: string - connection_id: - type: string - channel_id: - type: string - channel_id: - type: string - is_source_chain: - type: boolean - description: QueryParamsResponse is the response type for the Query/Params RPC method. - cosmos.gov.v1.QueryProposalResponse: - type: object - properties: - proposal: - description: proposal is the requested governance proposal. - type: object - properties: - id: - type: string - format: uint64 - description: id defines the unique id of the proposal. - messages: - type: array - items: - type: object - properties: - '@type': - type: string - description: >- - A URL/resource name that uniquely identifies the type of the - serialized - - protocol buffer message. This string must contain at least - - one "/" character. The last segment of the URL's path must - represent - - the fully qualified name of the type (as in - - `path/google.protobuf.Duration`). The name should be in a - canonical form - - (e.g., leading "." is not accepted). - - - In practice, teams usually precompile into the binary all - types that they - - expect it to use in the context of Any. However, for URLs - which use the - - scheme `http`, `https`, or no scheme, one can optionally set - up a type - - server that maps type URLs to message definitions as - follows: - - - * If no scheme is provided, `https` is assumed. - - * An HTTP GET on the URL must yield a - [google.protobuf.Type][] - value in binary format, or produce an error. - * Applications are allowed to cache lookup results based on - the - URL, or have them precompiled into a binary to avoid any - lookup. Therefore, binary compatibility needs to be preserved - on changes to types. (Use versioned type names to manage - breaking changes.) - - Note: this functionality is not currently available in the - official - - protobuf release, and it is not used for type URLs beginning - with - - type.googleapis.com. As of May 2023, there are no widely - used type server - - implementations and no plans to implement one. - - - Schemes other than `http`, `https` (or the empty scheme) - might be - - used with implementation specific semantics. - additionalProperties: {} - description: >- - `Any` contains an arbitrary serialized protocol buffer message - along with a - - URL that describes the type of the serialized message. - - - Protobuf library provides support to pack/unpack Any values in - the form - - of utility functions or additional generated methods of the Any - type. - - - Example 1: Pack and unpack a message in C++. - - Foo foo = ...; - Any any; - any.PackFrom(foo); - ... - if (any.UnpackTo(&foo)) { - ... - } - - Example 2: Pack and unpack a message in Java. - - Foo foo = ...; - Any any = Any.pack(foo); - ... - if (any.is(Foo.class)) { - foo = any.unpack(Foo.class); - } - // or ... - if (any.isSameTypeAs(Foo.getDefaultInstance())) { - foo = any.unpack(Foo.getDefaultInstance()); - } - - Example 3: Pack and unpack a message in Python. - - foo = Foo(...) - any = Any() - any.Pack(foo) - ... - if any.Is(Foo.DESCRIPTOR): - any.Unpack(foo) - ... - - Example 4: Pack and unpack a message in Go - - foo := &pb.Foo{...} - any, err := anypb.New(foo) - if err != nil { - ... - } - ... - foo := &pb.Foo{} - if err := any.UnmarshalTo(foo); err != nil { - ... - } - - The pack methods provided by protobuf library will by default - use - - 'type.googleapis.com/full.type.name' as the type URL and the - unpack - - methods only use the fully qualified type name after the last - '/' - - in the type URL, for example "foo.bar.com/x/y.z" will yield type - - name "y.z". - - - JSON - - ==== - - The JSON representation of an `Any` value uses the regular - - representation of the deserialized, embedded message, with an - - additional field `@type` which contains the type URL. Example: - - package google.profile; - message Person { - string first_name = 1; - string last_name = 2; - } - - { - "@type": "type.googleapis.com/google.profile.Person", - "firstName": , - "lastName": - } - - If the embedded message type is well-known and has a custom JSON - - representation, that representation will be embedded adding a - field - - `value` which holds the custom JSON in addition to the `@type` - - field. Example (for message [google.protobuf.Duration][]): - - { - "@type": "type.googleapis.com/google.protobuf.Duration", - "value": "1.212s" - } - description: >- - messages are the arbitrary messages to be executed if the proposal - passes. - status: - description: status defines the proposal status. - type: string - enum: - - PROPOSAL_STATUS_UNSPECIFIED - - PROPOSAL_STATUS_DEPOSIT_PERIOD - - PROPOSAL_STATUS_VOTING_PERIOD - - PROPOSAL_STATUS_PASSED - - PROPOSAL_STATUS_REJECTED - - PROPOSAL_STATUS_FAILED - - PROPOSAL_STATUS_TALLY_PERIOD - default: PROPOSAL_STATUS_UNSPECIFIED - final_tally_result: - description: >- - final_tally_result is the final tally result of the proposal. When - - querying a proposal via gRPC, this field is not populated until - the - - proposal's voting period has ended. - type: object - properties: - yes_count: - type: string - description: yes_count is the number of yes votes on a proposal. - abstain_count: - type: string - description: abstain_count is the number of abstain votes on a proposal. - no_count: - type: string - description: no_count is the number of no votes on a proposal. - no_with_veto_count: - type: string - description: >- - no_with_veto_count is the number of no with veto votes on a - proposal. - encrypted_count: - type: string - description: >- - encrypted_count is the number of encrypted votes on a - proposal. - submit_time: - type: string - format: date-time - description: submit_time is the time of proposal submission. - deposit_end_time: - type: string - format: date-time - description: deposit_end_time is the end time for deposition. - total_deposit: - type: array - items: - type: object - properties: - denom: - type: string - amount: - type: string - description: >- - Coin defines a token with a denomination and an amount. - - - NOTE: The amount field is an Int which implements the custom - method - - signatures required by gogoproto. - description: total_deposit is the total deposit on the proposal. - voting_start_time: - type: string - format: date-time - description: voting_start_time is the starting time to vote on a proposal. - voting_end_time: - type: string - format: date-time - description: voting_end_time is the end time of voting on a proposal. - metadata: - type: string - title: |- - metadata is any arbitrary metadata attached to the proposal. - the recommended format of the metadata is to be found here: - https://docs.cosmos.network/v0.47/modules/gov#proposal-3 - title: - type: string - description: 'Since: cosmos-sdk 0.47' - title: title is the title of the proposal - summary: - type: string - description: 'Since: cosmos-sdk 0.47' - title: summary is a short summary of the proposal - proposer: - type: string - description: 'Since: cosmos-sdk 0.47' - title: proposer is the address of the proposal sumbitter - expedited: - type: boolean - description: 'Since: cosmos-sdk 0.50' - title: expedited defines if the proposal is expedited - failed_reason: - type: string - description: 'Since: cosmos-sdk 0.50' - title: failed_reason defines the reason why the proposal failed - has_encrypted_votes: - type: boolean - title: flag to check if proposal has at least one encrypted vote - identity: - type: string - title: identity and pubkey are used to submit encrypted votes - pubkey: - type: string - aggr_keyshare: - type: string - title: >- - aggregated keyshare is used to decrypt the encrypted votes during - the tally phase - description: >- - QueryProposalResponse is the response type for the Query/Proposal RPC - method. - cosmos.gov.v1.QueryProposalsResponse: - type: object - properties: - proposals: - type: array - items: - type: object - properties: - id: - type: string - format: uint64 - description: id defines the unique id of the proposal. - messages: - type: array - items: - type: object - properties: - '@type': - type: string - description: >- - A URL/resource name that uniquely identifies the type of - the serialized - - protocol buffer message. This string must contain at least - - one "/" character. The last segment of the URL's path must - represent - - the fully qualified name of the type (as in - - `path/google.protobuf.Duration`). The name should be in a - canonical form - - (e.g., leading "." is not accepted). - - - In practice, teams usually precompile into the binary all - types that they - - expect it to use in the context of Any. However, for URLs - which use the - - scheme `http`, `https`, or no scheme, one can optionally - set up a type - - server that maps type URLs to message definitions as - follows: - - - * If no scheme is provided, `https` is assumed. - - * An HTTP GET on the URL must yield a - [google.protobuf.Type][] - value in binary format, or produce an error. - * Applications are allowed to cache lookup results based - on the - URL, or have them precompiled into a binary to avoid any - lookup. Therefore, binary compatibility needs to be preserved - on changes to types. (Use versioned type names to manage - breaking changes.) - - Note: this functionality is not currently available in the - official - - protobuf release, and it is not used for type URLs - beginning with - - type.googleapis.com. As of May 2023, there are no widely - used type server - - implementations and no plans to implement one. - - - Schemes other than `http`, `https` (or the empty scheme) - might be - - used with implementation specific semantics. - additionalProperties: {} - description: >- - `Any` contains an arbitrary serialized protocol buffer message - along with a - - URL that describes the type of the serialized message. - - - Protobuf library provides support to pack/unpack Any values in - the form - - of utility functions or additional generated methods of the - Any type. - - - Example 1: Pack and unpack a message in C++. - - Foo foo = ...; - Any any; - any.PackFrom(foo); - ... - if (any.UnpackTo(&foo)) { - ... - } - - Example 2: Pack and unpack a message in Java. - - Foo foo = ...; - Any any = Any.pack(foo); - ... - if (any.is(Foo.class)) { - foo = any.unpack(Foo.class); - } - // or ... - if (any.isSameTypeAs(Foo.getDefaultInstance())) { - foo = any.unpack(Foo.getDefaultInstance()); - } - - Example 3: Pack and unpack a message in Python. - - foo = Foo(...) - any = Any() - any.Pack(foo) - ... - if any.Is(Foo.DESCRIPTOR): - any.Unpack(foo) - ... - - Example 4: Pack and unpack a message in Go - - foo := &pb.Foo{...} - any, err := anypb.New(foo) - if err != nil { - ... - } - ... - foo := &pb.Foo{} - if err := any.UnmarshalTo(foo); err != nil { - ... - } - - The pack methods provided by protobuf library will by default - use - - 'type.googleapis.com/full.type.name' as the type URL and the - unpack - - methods only use the fully qualified type name after the last - '/' - - in the type URL, for example "foo.bar.com/x/y.z" will yield - type - - name "y.z". - - - JSON - - ==== - - The JSON representation of an `Any` value uses the regular - - representation of the deserialized, embedded message, with an - - additional field `@type` which contains the type URL. Example: - - package google.profile; - message Person { - string first_name = 1; - string last_name = 2; - } - - { - "@type": "type.googleapis.com/google.profile.Person", - "firstName": , - "lastName": - } - - If the embedded message type is well-known and has a custom - JSON - - representation, that representation will be embedded adding a - field - - `value` which holds the custom JSON in addition to the `@type` - - field. Example (for message [google.protobuf.Duration][]): - - { - "@type": "type.googleapis.com/google.protobuf.Duration", - "value": "1.212s" - } - description: >- - messages are the arbitrary messages to be executed if the - proposal passes. - status: - description: status defines the proposal status. - type: string - enum: - - PROPOSAL_STATUS_UNSPECIFIED - - PROPOSAL_STATUS_DEPOSIT_PERIOD - - PROPOSAL_STATUS_VOTING_PERIOD - - PROPOSAL_STATUS_PASSED - - PROPOSAL_STATUS_REJECTED - - PROPOSAL_STATUS_FAILED - - PROPOSAL_STATUS_TALLY_PERIOD - default: PROPOSAL_STATUS_UNSPECIFIED - final_tally_result: - description: >- - final_tally_result is the final tally result of the proposal. - When - - querying a proposal via gRPC, this field is not populated until - the - - proposal's voting period has ended. - type: object - properties: - yes_count: - type: string - description: yes_count is the number of yes votes on a proposal. - abstain_count: - type: string - description: abstain_count is the number of abstain votes on a proposal. - no_count: - type: string - description: no_count is the number of no votes on a proposal. - no_with_veto_count: - type: string - description: >- - no_with_veto_count is the number of no with veto votes on a - proposal. - encrypted_count: - type: string - description: >- - encrypted_count is the number of encrypted votes on a - proposal. - submit_time: - type: string - format: date-time - description: submit_time is the time of proposal submission. - deposit_end_time: - type: string - format: date-time - description: deposit_end_time is the end time for deposition. - total_deposit: - type: array - items: - type: object - properties: - denom: - type: string - amount: - type: string - description: >- - Coin defines a token with a denomination and an amount. - - - NOTE: The amount field is an Int which implements the custom - method - - signatures required by gogoproto. - description: total_deposit is the total deposit on the proposal. - voting_start_time: - type: string - format: date-time - description: voting_start_time is the starting time to vote on a proposal. - voting_end_time: - type: string - format: date-time - description: voting_end_time is the end time of voting on a proposal. - metadata: - type: string - title: |- - metadata is any arbitrary metadata attached to the proposal. - the recommended format of the metadata is to be found here: - https://docs.cosmos.network/v0.47/modules/gov#proposal-3 - title: - type: string - description: 'Since: cosmos-sdk 0.47' - title: title is the title of the proposal - summary: - type: string - description: 'Since: cosmos-sdk 0.47' - title: summary is a short summary of the proposal - proposer: - type: string - description: 'Since: cosmos-sdk 0.47' - title: proposer is the address of the proposal sumbitter - expedited: - type: boolean - description: 'Since: cosmos-sdk 0.50' - title: expedited defines if the proposal is expedited - failed_reason: - type: string - description: 'Since: cosmos-sdk 0.50' - title: failed_reason defines the reason why the proposal failed - has_encrypted_votes: - type: boolean - title: flag to check if proposal has at least one encrypted vote - identity: - type: string - title: identity and pubkey are used to submit encrypted votes - pubkey: - type: string - aggr_keyshare: - type: string - title: >- - aggregated keyshare is used to decrypt the encrypted votes - during the tally phase - description: Proposal defines the core field members of a governance proposal. - description: proposals defines all the requested governance proposals. - pagination: - description: pagination defines the pagination in the response. - type: object - properties: - next_key: - type: string - format: byte - description: |- - next_key is the key to be passed to PageRequest.key to - query the next page most efficiently. It will be empty if - there are no more results. - total: - type: string - format: uint64 - title: >- - total is total number of results available if - PageRequest.count_total - - was set, its value is undefined otherwise - description: |- - QueryProposalsResponse is the response type for the Query/Proposals RPC - method. - cosmos.gov.v1.QueryTallyResultResponse: - type: object - properties: - tally: - description: tally defines the requested tally. - type: object - properties: - yes_count: - type: string - description: yes_count is the number of yes votes on a proposal. - abstain_count: - type: string - description: abstain_count is the number of abstain votes on a proposal. - no_count: - type: string - description: no_count is the number of no votes on a proposal. - no_with_veto_count: - type: string - description: >- - no_with_veto_count is the number of no with veto votes on a - proposal. - encrypted_count: - type: string - description: encrypted_count is the number of encrypted votes on a proposal. - description: >- - QueryTallyResultResponse is the response type for the Query/Tally RPC - method. - cosmos.gov.v1.QueryVoteResponse: - type: object - properties: - vote: - description: vote defines the queried vote. - type: object - properties: - proposal_id: - type: string - format: uint64 - description: proposal_id defines the unique id of the proposal. - voter: - type: string - description: voter is the voter address of the proposal. - options: - type: array - items: - type: object - properties: - option: - description: >- - option defines the valid vote options, it must not contain - duplicate vote options. - type: string - enum: - - VOTE_OPTION_UNSPECIFIED - - VOTE_OPTION_YES - - VOTE_OPTION_ABSTAIN - - VOTE_OPTION_NO - - VOTE_OPTION_NO_WITH_VETO - - VOTE_OPTION_ENCRYPTED - default: VOTE_OPTION_UNSPECIFIED - weight: - type: string - description: weight is the vote weight associated with the vote option. - description: WeightedVoteOption defines a unit of vote for vote split. - description: options is the weighted vote options. - metadata: - type: string - title: >- - metadata is any arbitrary metadata attached to the vote. - - the recommended format of the metadata is to be found here: - https://docs.cosmos.network/v0.47/modules/gov#vote-5 - encrypted_vote_data: - type: string - description: QueryVoteResponse is the response type for the Query/Vote RPC method. - cosmos.gov.v1.QueryVotesResponse: - type: object - properties: - votes: - type: array - items: - type: object - properties: - proposal_id: - type: string - format: uint64 - description: proposal_id defines the unique id of the proposal. - voter: - type: string - description: voter is the voter address of the proposal. - options: - type: array - items: - type: object - properties: - option: - description: >- - option defines the valid vote options, it must not contain - duplicate vote options. - type: string - enum: - - VOTE_OPTION_UNSPECIFIED - - VOTE_OPTION_YES - - VOTE_OPTION_ABSTAIN - - VOTE_OPTION_NO - - VOTE_OPTION_NO_WITH_VETO - - VOTE_OPTION_ENCRYPTED - default: VOTE_OPTION_UNSPECIFIED - weight: - type: string - description: weight is the vote weight associated with the vote option. - description: WeightedVoteOption defines a unit of vote for vote split. - description: options is the weighted vote options. - metadata: - type: string - title: >- - metadata is any arbitrary metadata attached to the vote. - - the recommended format of the metadata is to be found here: - https://docs.cosmos.network/v0.47/modules/gov#vote-5 - encrypted_vote_data: - type: string - description: |- - Vote defines a vote on a governance proposal. - A Vote consists of a proposal ID, the voter, and the vote option. - description: votes defines the queried votes. - pagination: - description: pagination defines the pagination in the response. - type: object - properties: - next_key: - type: string - format: byte - description: |- - next_key is the key to be passed to PageRequest.key to - query the next page most efficiently. It will be empty if - there are no more results. - total: - type: string - format: uint64 - title: >- - total is total number of results available if - PageRequest.count_total - - was set, its value is undefined otherwise - description: QueryVotesResponse is the response type for the Query/Votes RPC method. - cosmos.gov.v1.TallyParams: - type: object - properties: - quorum: - type: string - description: |- - Minimum percentage of total stake needed to vote for a result to be - considered valid. - threshold: - type: string - description: >- - Minimum proportion of Yes votes for proposal to pass. Default value: - 0.5. - veto_threshold: - type: string - description: |- - Minimum value of Veto votes to Total votes ratio for proposal to be - vetoed. Default value: 1/3. - description: TallyParams defines the params for tallying votes on governance proposals. - cosmos.gov.v1.TallyResult: - type: object - properties: - yes_count: - type: string - description: yes_count is the number of yes votes on a proposal. - abstain_count: - type: string - description: abstain_count is the number of abstain votes on a proposal. - no_count: - type: string - description: no_count is the number of no votes on a proposal. - no_with_veto_count: - type: string - description: no_with_veto_count is the number of no with veto votes on a proposal. - encrypted_count: - type: string - description: encrypted_count is the number of encrypted votes on a proposal. - description: TallyResult defines a standard tally for a governance proposal. - cosmos.gov.v1.TrustedCounterParty: - type: object - properties: - client_id: - type: string - connection_id: - type: string - channel_id: - type: string - cosmos.gov.v1.Vote: - type: object - properties: - proposal_id: - type: string - format: uint64 - description: proposal_id defines the unique id of the proposal. - voter: - type: string - description: voter is the voter address of the proposal. - options: - type: array - items: - type: object - properties: - option: - description: >- - option defines the valid vote options, it must not contain - duplicate vote options. - type: string - enum: - - VOTE_OPTION_UNSPECIFIED - - VOTE_OPTION_YES - - VOTE_OPTION_ABSTAIN - - VOTE_OPTION_NO - - VOTE_OPTION_NO_WITH_VETO - - VOTE_OPTION_ENCRYPTED - default: VOTE_OPTION_UNSPECIFIED - weight: - type: string - description: weight is the vote weight associated with the vote option. - description: WeightedVoteOption defines a unit of vote for vote split. - description: options is the weighted vote options. - metadata: - type: string - title: >- - metadata is any arbitrary metadata attached to the vote. - - the recommended format of the metadata is to be found here: - https://docs.cosmos.network/v0.47/modules/gov#vote-5 - encrypted_vote_data: - type: string - description: |- - Vote defines a vote on a governance proposal. - A Vote consists of a proposal ID, the voter, and the vote option. - cosmos.gov.v1.VoteOption: - type: string - enum: - - VOTE_OPTION_UNSPECIFIED - - VOTE_OPTION_YES - - VOTE_OPTION_ABSTAIN - - VOTE_OPTION_NO - - VOTE_OPTION_NO_WITH_VETO - - VOTE_OPTION_ENCRYPTED - default: VOTE_OPTION_UNSPECIFIED - description: >- - VoteOption enumerates the valid vote options for a given governance - proposal. - - - VOTE_OPTION_UNSPECIFIED: VOTE_OPTION_UNSPECIFIED defines a no-op vote option. - - VOTE_OPTION_YES: VOTE_OPTION_YES defines a yes vote option. - - VOTE_OPTION_ABSTAIN: VOTE_OPTION_ABSTAIN defines an abstain vote option. - - VOTE_OPTION_NO: VOTE_OPTION_NO defines a no vote option. - - VOTE_OPTION_NO_WITH_VETO: VOTE_OPTION_NO_WITH_VETO defines a no with veto vote option. - - VOTE_OPTION_ENCRYPTED: VOTE_OPTION_ENCRYPTED defines an encrypted vote - cosmos.gov.v1.VotingParams: - type: object - properties: - voting_period: - type: string - description: Duration of the voting period. - description: VotingParams defines the params for voting on governance proposals. - cosmos.gov.v1.WeightedVoteOption: - type: object - properties: - option: - description: >- - option defines the valid vote options, it must not contain duplicate - vote options. - type: string - enum: - - VOTE_OPTION_UNSPECIFIED - - VOTE_OPTION_YES - - VOTE_OPTION_ABSTAIN - - VOTE_OPTION_NO - - VOTE_OPTION_NO_WITH_VETO - - VOTE_OPTION_ENCRYPTED - default: VOTE_OPTION_UNSPECIFIED - weight: - type: string - description: weight is the vote weight associated with the vote option. - description: WeightedVoteOption defines a unit of vote for vote split. - cosmos.gov.v1.MsgCancelProposal: - type: object - properties: - proposal_id: - type: string - format: uint64 - description: proposal_id defines the unique id of the proposal. - proposer: - type: string - description: proposer is the account address of the proposer. - description: |- - MsgCancelProposal is the Msg/CancelProposal request type. - - Since: cosmos-sdk 0.50 - cosmos.gov.v1.MsgCancelProposalResponse: - type: object - properties: - proposal_id: - type: string - format: uint64 - description: proposal_id defines the unique id of the proposal. - canceled_time: - type: string - format: date-time - description: canceled_time is the time when proposal is canceled. - canceled_height: - type: string - format: uint64 - description: >- - canceled_height defines the block height at which the proposal is - canceled. - description: |- - MsgCancelProposalResponse defines the response structure for executing a - MsgCancelProposal message. - - Since: cosmos-sdk 0.50 - cosmos.gov.v1.MsgDeposit: - type: object - properties: - proposal_id: - type: string - format: uint64 - description: proposal_id defines the unique id of the proposal. - depositor: - type: string - description: depositor defines the deposit addresses from the proposals. - amount: - type: array - items: - type: object - properties: - denom: - type: string - amount: - type: string - description: |- - Coin defines a token with a denomination and an amount. - - NOTE: The amount field is an Int which implements the custom method - signatures required by gogoproto. - description: amount to be deposited by depositor. - description: MsgDeposit defines a message to submit a deposit to an existing proposal. - cosmos.gov.v1.MsgDepositResponse: - type: object - description: MsgDepositResponse defines the Msg/Deposit response type. - cosmos.gov.v1.MsgExecLegacyContent: - type: object - properties: - content: - description: content is the proposal's content. - type: object - properties: - '@type': - type: string - description: >- - A URL/resource name that uniquely identifies the type of the - serialized - - protocol buffer message. This string must contain at least - - one "/" character. The last segment of the URL's path must - represent - - the fully qualified name of the type (as in - - `path/google.protobuf.Duration`). The name should be in a - canonical form - - (e.g., leading "." is not accepted). - - - In practice, teams usually precompile into the binary all types - that they - - expect it to use in the context of Any. However, for URLs which - use the - - scheme `http`, `https`, or no scheme, one can optionally set up a - type - - server that maps type URLs to message definitions as follows: - - - * If no scheme is provided, `https` is assumed. - - * An HTTP GET on the URL must yield a [google.protobuf.Type][] - value in binary format, or produce an error. - * Applications are allowed to cache lookup results based on the - URL, or have them precompiled into a binary to avoid any - lookup. Therefore, binary compatibility needs to be preserved - on changes to types. (Use versioned type names to manage - breaking changes.) - - Note: this functionality is not currently available in the - official - - protobuf release, and it is not used for type URLs beginning with - - type.googleapis.com. As of May 2023, there are no widely used type - server - - implementations and no plans to implement one. - - - Schemes other than `http`, `https` (or the empty scheme) might be - - used with implementation specific semantics. - additionalProperties: {} - authority: - type: string - description: authority must be the gov module address. - description: >- - MsgExecLegacyContent is used to wrap the legacy content field into a - message. - - This ensures backwards compatibility with v1beta1.MsgSubmitProposal. - cosmos.gov.v1.MsgExecLegacyContentResponse: - type: object - description: >- - MsgExecLegacyContentResponse defines the Msg/ExecLegacyContent response - type. - cosmos.gov.v1.MsgSubmitProposal: - type: object - properties: - messages: - type: array - items: - type: object - properties: - '@type': - type: string - description: >- - A URL/resource name that uniquely identifies the type of the - serialized - - protocol buffer message. This string must contain at least - - one "/" character. The last segment of the URL's path must - represent - - the fully qualified name of the type (as in - - `path/google.protobuf.Duration`). The name should be in a - canonical form - - (e.g., leading "." is not accepted). - - - In practice, teams usually precompile into the binary all types - that they - - expect it to use in the context of Any. However, for URLs which - use the - - scheme `http`, `https`, or no scheme, one can optionally set up - a type - - server that maps type URLs to message definitions as follows: - - - * If no scheme is provided, `https` is assumed. - - * An HTTP GET on the URL must yield a [google.protobuf.Type][] - value in binary format, or produce an error. - * Applications are allowed to cache lookup results based on the - URL, or have them precompiled into a binary to avoid any - lookup. Therefore, binary compatibility needs to be preserved - on changes to types. (Use versioned type names to manage - breaking changes.) - - Note: this functionality is not currently available in the - official - - protobuf release, and it is not used for type URLs beginning - with - - type.googleapis.com. As of May 2023, there are no widely used - type server - - implementations and no plans to implement one. - - - Schemes other than `http`, `https` (or the empty scheme) might - be - - used with implementation specific semantics. - additionalProperties: {} - description: >- - `Any` contains an arbitrary serialized protocol buffer message along - with a - - URL that describes the type of the serialized message. - - - Protobuf library provides support to pack/unpack Any values in the - form - - of utility functions or additional generated methods of the Any - type. - - - Example 1: Pack and unpack a message in C++. - - Foo foo = ...; - Any any; - any.PackFrom(foo); - ... - if (any.UnpackTo(&foo)) { - ... - } - - Example 2: Pack and unpack a message in Java. - - Foo foo = ...; - Any any = Any.pack(foo); - ... - if (any.is(Foo.class)) { - foo = any.unpack(Foo.class); - } - // or ... - if (any.isSameTypeAs(Foo.getDefaultInstance())) { - foo = any.unpack(Foo.getDefaultInstance()); - } - - Example 3: Pack and unpack a message in Python. - - foo = Foo(...) - any = Any() - any.Pack(foo) - ... - if any.Is(Foo.DESCRIPTOR): - any.Unpack(foo) - ... - - Example 4: Pack and unpack a message in Go - - foo := &pb.Foo{...} - any, err := anypb.New(foo) - if err != nil { - ... - } - ... - foo := &pb.Foo{} - if err := any.UnmarshalTo(foo); err != nil { - ... - } - - The pack methods provided by protobuf library will by default use - - 'type.googleapis.com/full.type.name' as the type URL and the unpack - - methods only use the fully qualified type name after the last '/' - - in the type URL, for example "foo.bar.com/x/y.z" will yield type - - name "y.z". - - - JSON - - ==== - - The JSON representation of an `Any` value uses the regular - - representation of the deserialized, embedded message, with an - - additional field `@type` which contains the type URL. Example: - - package google.profile; - message Person { - string first_name = 1; - string last_name = 2; - } - - { - "@type": "type.googleapis.com/google.profile.Person", - "firstName": , - "lastName": - } - - If the embedded message type is well-known and has a custom JSON - - representation, that representation will be embedded adding a field - - `value` which holds the custom JSON in addition to the `@type` - - field. Example (for message [google.protobuf.Duration][]): - - { - "@type": "type.googleapis.com/google.protobuf.Duration", - "value": "1.212s" - } - description: messages are the arbitrary messages to be executed if proposal passes. - initial_deposit: - type: array - items: - type: object - properties: - denom: - type: string - amount: - type: string - description: |- - Coin defines a token with a denomination and an amount. - - NOTE: The amount field is an Int which implements the custom method - signatures required by gogoproto. - description: >- - initial_deposit is the deposit value that must be paid at proposal - submission. - proposer: - type: string - description: proposer is the account address of the proposer. - metadata: - type: string - description: metadata is any arbitrary metadata attached to the proposal. - title: - type: string - description: |- - title is the title of the proposal. - - Since: cosmos-sdk 0.47 - summary: - type: string - description: 'Since: cosmos-sdk 0.47' - title: summary is the summary of the proposal - expedited: - type: boolean - description: 'Since: cosmos-sdk 0.50' - title: expedited defines if the proposal is expedited or not - description: >- - MsgSubmitProposal defines an sdk.Msg type that supports submitting - arbitrary - - proposal Content. - cosmos.gov.v1.MsgSubmitProposalResponse: - type: object - properties: - proposal_id: - type: string - format: uint64 - description: proposal_id defines the unique id of the proposal. - description: MsgSubmitProposalResponse defines the Msg/SubmitProposal response type. - cosmos.gov.v1.MsgUpdateParams: - type: object - properties: - authority: - type: string - description: >- - authority is the address that controls the module (defaults to x/gov - unless overwritten). - params: - description: |- - params defines the x/gov parameters to update. - - NOTE: All parameters must be supplied. - type: object - properties: - min_deposit: - type: array - items: - type: object - properties: - denom: - type: string - amount: - type: string - description: >- - Coin defines a token with a denomination and an amount. - - - NOTE: The amount field is an Int which implements the custom - method - - signatures required by gogoproto. - description: Minimum deposit for a proposal to enter voting period. - max_deposit_period: - type: string - description: >- - Maximum period for Atom holders to deposit on a proposal. Initial - value: 2 - - months. - voting_period: - type: string - description: Duration of the voting period. - quorum: - type: string - description: >- - Minimum percentage of total stake needed to vote for a result to - be - considered valid. - threshold: - type: string - description: >- - Minimum proportion of Yes votes for proposal to pass. Default - value: 0.5. - veto_threshold: - type: string - description: >- - Minimum value of Veto votes to Total votes ratio for proposal to - be - vetoed. Default value: 1/3. - min_initial_deposit_ratio: - type: string - description: >- - The ratio representing the proportion of the deposit value that - must be paid at proposal submission. - proposal_cancel_ratio: - type: string - description: >- - The cancel ratio which will not be returned back to the depositors - when a proposal is cancelled. - - - Since: cosmos-sdk 0.50 - proposal_cancel_dest: - type: string - description: >- - The address which will receive (proposal_cancel_ratio * deposit) - proposal deposits. - - If empty, the (proposal_cancel_ratio * deposit) proposal deposits - will be burned. - - - Since: cosmos-sdk 0.50 - expedited_voting_period: - type: string - description: |- - Duration of the voting period of an expedited proposal. - - Since: cosmos-sdk 0.50 - expedited_threshold: - type: string - description: >- - Minimum proportion of Yes votes for proposal to pass. Default - value: 0.67. - - - Since: cosmos-sdk 0.50 - expedited_min_deposit: - type: array - items: - type: object - properties: - denom: - type: string - amount: - type: string - description: >- - Coin defines a token with a denomination and an amount. - - - NOTE: The amount field is an Int which implements the custom - method - - signatures required by gogoproto. - description: Minimum expedited deposit for a proposal to enter voting period. - burn_vote_quorum: - type: boolean - title: burn deposits if a proposal does not meet quorum - burn_proposal_deposit_prevote: - type: boolean - title: burn deposits if the proposal does not enter voting period - burn_vote_veto: - type: boolean - title: burn deposits if quorum with vote type no_veto is met - min_deposit_ratio: - type: string - description: >- - The ratio representing the proportion of the deposit value minimum - that must be met when making a deposit. - - Default value: 0.01. Meaning that for a chain with a min_deposit - of 100stake, a deposit of 1stake would be - - required. - - - Since: cosmos-sdk 0.50 - max_tally_period: - type: string - description: Duration of the voting period. - trusted_counter_parties: - type: array - items: - type: object - properties: - client_id: - type: string - connection_id: - type: string - channel_id: - type: string - channel_id: - type: string - is_source_chain: - type: boolean - description: |- - MsgUpdateParams is the Msg/UpdateParams request type. - - Since: cosmos-sdk 0.47 - cosmos.gov.v1.MsgUpdateParamsResponse: - type: object - description: |- - MsgUpdateParamsResponse defines the response structure for executing a - MsgUpdateParams message. - - Since: cosmos-sdk 0.47 - cosmos.gov.v1.MsgVote: - type: object - properties: - proposal_id: - type: string - format: uint64 - description: proposal_id defines the unique id of the proposal. - voter: - type: string - description: voter is the voter address for the proposal. - option: - description: option defines the vote option. - type: string - enum: - - VOTE_OPTION_UNSPECIFIED - - VOTE_OPTION_YES - - VOTE_OPTION_ABSTAIN - - VOTE_OPTION_NO - - VOTE_OPTION_NO_WITH_VETO - - VOTE_OPTION_ENCRYPTED - default: VOTE_OPTION_UNSPECIFIED - metadata: - type: string - description: metadata is any arbitrary metadata attached to the Vote. - description: MsgVote defines a message to cast a vote. - cosmos.gov.v1.MsgVoteEncrypted: - type: object - properties: - proposal_id: - type: string - format: uint64 - description: proposal_id defines the unique id of the proposal. - voter: - type: string - description: voter is the voter address for the proposal. - encrypted_data: - type: string - description: encrypted_data defines the encrypted vote option. - metadata: - type: string - description: metadata is any arbitrary metadata attached to the Vote. - description: MsgVoteEncrypted defines a message to cast an encrypted vote. - cosmos.gov.v1.MsgVoteEncryptedResponse: - type: object - description: MsgVoteResponse defines the Msg/Vote response type. - cosmos.gov.v1.MsgVoteResponse: - type: object - description: MsgVoteResponse defines the Msg/Vote response type. - cosmos.gov.v1.MsgVoteWeighted: - type: object - properties: - proposal_id: - type: string - format: uint64 - description: proposal_id defines the unique id of the proposal. - voter: - type: string - description: voter is the voter address for the proposal. - options: - type: array - items: - type: object - properties: - option: - description: >- - option defines the valid vote options, it must not contain - duplicate vote options. - type: string - enum: - - VOTE_OPTION_UNSPECIFIED - - VOTE_OPTION_YES - - VOTE_OPTION_ABSTAIN - - VOTE_OPTION_NO - - VOTE_OPTION_NO_WITH_VETO - - VOTE_OPTION_ENCRYPTED - default: VOTE_OPTION_UNSPECIFIED - weight: - type: string - description: weight is the vote weight associated with the vote option. - description: WeightedVoteOption defines a unit of vote for vote split. - description: options defines the weighted vote options. - metadata: - type: string - description: metadata is any arbitrary metadata attached to the VoteWeighted. - description: MsgVoteWeighted defines a message to cast a vote. - cosmos.gov.v1.MsgVoteWeightedResponse: - type: object - description: MsgVoteWeightedResponse defines the Msg/VoteWeighted response type. - cosmos.gov.v1beta1.Deposit: - type: object - properties: - proposal_id: - type: string - format: uint64 - description: proposal_id defines the unique id of the proposal. - depositor: - type: string - description: depositor defines the deposit addresses from the proposals. - amount: - type: array - items: - type: object - properties: - denom: - type: string - amount: - type: string - description: |- - Coin defines a token with a denomination and an amount. - - NOTE: The amount field is an Int which implements the custom method - signatures required by gogoproto. - description: amount to be deposited by depositor. - description: |- - Deposit defines an amount deposited by an account address to an active - proposal. - cosmos.gov.v1beta1.DepositParams: - type: object - properties: - min_deposit: - type: array - items: - type: object - properties: - denom: - type: string - amount: - type: string - description: |- - Coin defines a token with a denomination and an amount. - - NOTE: The amount field is an Int which implements the custom method - signatures required by gogoproto. - description: Minimum deposit for a proposal to enter voting period. - max_deposit_period: - type: string - description: >- - Maximum period for Atom holders to deposit on a proposal. Initial - value: 2 - - months. - description: DepositParams defines the params for deposits on governance proposals. - cosmos.gov.v1beta1.Proposal: - type: object - properties: - proposal_id: - type: string - format: uint64 - description: proposal_id defines the unique id of the proposal. - content: - description: content is the proposal's content. - type: object - properties: - '@type': - type: string - description: >- - A URL/resource name that uniquely identifies the type of the - serialized - - protocol buffer message. This string must contain at least - - one "/" character. The last segment of the URL's path must - represent - - the fully qualified name of the type (as in - - `path/google.protobuf.Duration`). The name should be in a - canonical form - - (e.g., leading "." is not accepted). - - - In practice, teams usually precompile into the binary all types - that they - - expect it to use in the context of Any. However, for URLs which - use the - - scheme `http`, `https`, or no scheme, one can optionally set up a - type - - server that maps type URLs to message definitions as follows: - - - * If no scheme is provided, `https` is assumed. - - * An HTTP GET on the URL must yield a [google.protobuf.Type][] - value in binary format, or produce an error. - * Applications are allowed to cache lookup results based on the - URL, or have them precompiled into a binary to avoid any - lookup. Therefore, binary compatibility needs to be preserved - on changes to types. (Use versioned type names to manage - breaking changes.) - - Note: this functionality is not currently available in the - official - - protobuf release, and it is not used for type URLs beginning with - - type.googleapis.com. As of May 2023, there are no widely used type - server - - implementations and no plans to implement one. - - - Schemes other than `http`, `https` (or the empty scheme) might be - - used with implementation specific semantics. - additionalProperties: {} - status: - description: status defines the proposal status. - type: string - enum: - - PROPOSAL_STATUS_UNSPECIFIED - - PROPOSAL_STATUS_DEPOSIT_PERIOD - - PROPOSAL_STATUS_VOTING_PERIOD - - PROPOSAL_STATUS_PASSED - - PROPOSAL_STATUS_REJECTED - - PROPOSAL_STATUS_FAILED - default: PROPOSAL_STATUS_UNSPECIFIED - final_tally_result: - description: |- - final_tally_result is the final tally result of the proposal. When - querying a proposal via gRPC, this field is not populated until the - proposal's voting period has ended. - type: object - properties: - 'yes': - type: string - description: yes is the number of yes votes on a proposal. - abstain: - type: string - description: abstain is the number of abstain votes on a proposal. - 'no': - type: string - description: no is the number of no votes on a proposal. - no_with_veto: - type: string - description: no_with_veto is the number of no with veto votes on a proposal. - encrypted: - type: string - description: encrypted is the number of encrypted votes on a proposal. - submit_time: - type: string - format: date-time - description: submit_time is the time of proposal submission. - deposit_end_time: - type: string - format: date-time - description: deposit_end_time is the end time for deposition. - total_deposit: - type: array - items: - type: object - properties: - denom: - type: string - amount: - type: string - description: |- - Coin defines a token with a denomination and an amount. - - NOTE: The amount field is an Int which implements the custom method - signatures required by gogoproto. - description: total_deposit is the total deposit on the proposal. - voting_start_time: - type: string - format: date-time - description: voting_start_time is the starting time to vote on a proposal. - voting_end_time: - type: string - format: date-time - description: voting_end_time is the end time of voting on a proposal. - has_encrypted_votes: - type: boolean - title: flag to check if proposal has at least one encrypted vote - identity: - type: string - title: identity and pubkey are used to submit encrypted votes - pubkey: - type: string - aggr_keyshare: - type: string - title: >- - aggregated keyshare is used to decrypt the encrypted votes during the - tally phase - description: Proposal defines the core field members of a governance proposal. - cosmos.gov.v1beta1.ProposalStatus: - type: string - enum: - - PROPOSAL_STATUS_UNSPECIFIED - - PROPOSAL_STATUS_DEPOSIT_PERIOD - - PROPOSAL_STATUS_VOTING_PERIOD - - PROPOSAL_STATUS_PASSED - - PROPOSAL_STATUS_REJECTED - - PROPOSAL_STATUS_FAILED - default: PROPOSAL_STATUS_UNSPECIFIED - description: |- - ProposalStatus enumerates the valid statuses of a proposal. - - - PROPOSAL_STATUS_UNSPECIFIED: PROPOSAL_STATUS_UNSPECIFIED defines the default proposal status. - - PROPOSAL_STATUS_DEPOSIT_PERIOD: PROPOSAL_STATUS_DEPOSIT_PERIOD defines a proposal status during the deposit - period. - - PROPOSAL_STATUS_VOTING_PERIOD: PROPOSAL_STATUS_VOTING_PERIOD defines a proposal status during the voting - period. - - PROPOSAL_STATUS_PASSED: PROPOSAL_STATUS_PASSED defines a proposal status of a proposal that has - passed. - - PROPOSAL_STATUS_REJECTED: PROPOSAL_STATUS_REJECTED defines a proposal status of a proposal that has - been rejected. - - PROPOSAL_STATUS_FAILED: PROPOSAL_STATUS_FAILED defines a proposal status of a proposal that has - failed. - cosmos.gov.v1beta1.QueryDepositResponse: - type: object - properties: - deposit: - description: deposit defines the requested deposit. - type: object - properties: - proposal_id: - type: string - format: uint64 - description: proposal_id defines the unique id of the proposal. - depositor: - type: string - description: depositor defines the deposit addresses from the proposals. - amount: - type: array - items: - type: object - properties: - denom: - type: string - amount: - type: string - description: >- - Coin defines a token with a denomination and an amount. - - - NOTE: The amount field is an Int which implements the custom - method - - signatures required by gogoproto. - description: amount to be deposited by depositor. - description: >- - QueryDepositResponse is the response type for the Query/Deposit RPC - method. - cosmos.gov.v1beta1.QueryDepositsResponse: - type: object - properties: - deposits: - type: array - items: - type: object - properties: - proposal_id: - type: string - format: uint64 - description: proposal_id defines the unique id of the proposal. - depositor: - type: string - description: depositor defines the deposit addresses from the proposals. - amount: - type: array - items: - type: object - properties: - denom: - type: string - amount: - type: string - description: >- - Coin defines a token with a denomination and an amount. - - - NOTE: The amount field is an Int which implements the custom - method - - signatures required by gogoproto. - description: amount to be deposited by depositor. - description: >- - Deposit defines an amount deposited by an account address to an - active - - proposal. - description: deposits defines the requested deposits. - pagination: - description: pagination defines the pagination in the response. - type: object - properties: - next_key: - type: string - format: byte - description: |- - next_key is the key to be passed to PageRequest.key to - query the next page most efficiently. It will be empty if - there are no more results. - total: - type: string - format: uint64 - title: >- - total is total number of results available if - PageRequest.count_total - - was set, its value is undefined otherwise - description: >- - QueryDepositsResponse is the response type for the Query/Deposits RPC - method. - cosmos.gov.v1beta1.QueryParamsResponse: - type: object - properties: - voting_params: - description: voting_params defines the parameters related to voting. - type: object - properties: - voting_period: - type: string - description: Duration of the voting period. - deposit_params: - description: deposit_params defines the parameters related to deposit. - type: object - properties: - min_deposit: - type: array - items: - type: object - properties: - denom: - type: string - amount: - type: string - description: >- - Coin defines a token with a denomination and an amount. - - - NOTE: The amount field is an Int which implements the custom - method - - signatures required by gogoproto. - description: Minimum deposit for a proposal to enter voting period. - max_deposit_period: - type: string - description: >- - Maximum period for Atom holders to deposit on a proposal. Initial - value: 2 - - months. - tally_params: - description: tally_params defines the parameters related to tally. - type: object - properties: - quorum: - type: string - format: byte - description: >- - Minimum percentage of total stake needed to vote for a result to - be - - considered valid. - threshold: - type: string - format: byte - description: >- - Minimum proportion of Yes votes for proposal to pass. Default - value: 0.5. - veto_threshold: - type: string - format: byte - description: >- - Minimum value of Veto votes to Total votes ratio for proposal to - be - - vetoed. Default value: 1/3. - description: QueryParamsResponse is the response type for the Query/Params RPC method. - cosmos.gov.v1beta1.QueryProposalResponse: - type: object - properties: - proposal: - type: object - properties: - proposal_id: - type: string - format: uint64 - description: proposal_id defines the unique id of the proposal. - content: - description: content is the proposal's content. - type: object - properties: - '@type': - type: string - description: >- - A URL/resource name that uniquely identifies the type of the - serialized - - protocol buffer message. This string must contain at least - - one "/" character. The last segment of the URL's path must - represent - - the fully qualified name of the type (as in - - `path/google.protobuf.Duration`). The name should be in a - canonical form - - (e.g., leading "." is not accepted). - - - In practice, teams usually precompile into the binary all - types that they - - expect it to use in the context of Any. However, for URLs - which use the - - scheme `http`, `https`, or no scheme, one can optionally set - up a type - - server that maps type URLs to message definitions as follows: - - - * If no scheme is provided, `https` is assumed. - - * An HTTP GET on the URL must yield a [google.protobuf.Type][] - value in binary format, or produce an error. - * Applications are allowed to cache lookup results based on - the - URL, or have them precompiled into a binary to avoid any - lookup. Therefore, binary compatibility needs to be preserved - on changes to types. (Use versioned type names to manage - breaking changes.) - - Note: this functionality is not currently available in the - official - - protobuf release, and it is not used for type URLs beginning - with - - type.googleapis.com. As of May 2023, there are no widely used - type server - - implementations and no plans to implement one. - - - Schemes other than `http`, `https` (or the empty scheme) might - be - - used with implementation specific semantics. - additionalProperties: {} - status: - description: status defines the proposal status. - type: string - enum: - - PROPOSAL_STATUS_UNSPECIFIED - - PROPOSAL_STATUS_DEPOSIT_PERIOD - - PROPOSAL_STATUS_VOTING_PERIOD - - PROPOSAL_STATUS_PASSED - - PROPOSAL_STATUS_REJECTED - - PROPOSAL_STATUS_FAILED - default: PROPOSAL_STATUS_UNSPECIFIED - final_tally_result: - description: >- - final_tally_result is the final tally result of the proposal. When - - querying a proposal via gRPC, this field is not populated until - the - - proposal's voting period has ended. - type: object - properties: - 'yes': - type: string - description: yes is the number of yes votes on a proposal. - abstain: - type: string - description: abstain is the number of abstain votes on a proposal. - 'no': - type: string - description: no is the number of no votes on a proposal. - no_with_veto: - type: string - description: >- - no_with_veto is the number of no with veto votes on a - proposal. - encrypted: - type: string - description: encrypted is the number of encrypted votes on a proposal. - submit_time: - type: string - format: date-time - description: submit_time is the time of proposal submission. - deposit_end_time: - type: string - format: date-time - description: deposit_end_time is the end time for deposition. - total_deposit: - type: array - items: - type: object - properties: - denom: - type: string - amount: - type: string - description: >- - Coin defines a token with a denomination and an amount. - - - NOTE: The amount field is an Int which implements the custom - method - - signatures required by gogoproto. - description: total_deposit is the total deposit on the proposal. - voting_start_time: - type: string - format: date-time - description: voting_start_time is the starting time to vote on a proposal. - voting_end_time: - type: string - format: date-time - description: voting_end_time is the end time of voting on a proposal. - has_encrypted_votes: - type: boolean - title: flag to check if proposal has at least one encrypted vote - identity: - type: string - title: identity and pubkey are used to submit encrypted votes - pubkey: - type: string - aggr_keyshare: - type: string - title: >- - aggregated keyshare is used to decrypt the encrypted votes during - the tally phase - description: Proposal defines the core field members of a governance proposal. - description: >- - QueryProposalResponse is the response type for the Query/Proposal RPC - method. - cosmos.gov.v1beta1.QueryProposalsResponse: - type: object - properties: - proposals: - type: array - items: - type: object - properties: - proposal_id: - type: string - format: uint64 - description: proposal_id defines the unique id of the proposal. - content: - description: content is the proposal's content. - type: object - properties: - '@type': - type: string - description: >- - A URL/resource name that uniquely identifies the type of the - serialized - - protocol buffer message. This string must contain at least - - one "/" character. The last segment of the URL's path must - represent - - the fully qualified name of the type (as in - - `path/google.protobuf.Duration`). The name should be in a - canonical form - - (e.g., leading "." is not accepted). - - - In practice, teams usually precompile into the binary all - types that they - - expect it to use in the context of Any. However, for URLs - which use the - - scheme `http`, `https`, or no scheme, one can optionally set - up a type - - server that maps type URLs to message definitions as - follows: - - - * If no scheme is provided, `https` is assumed. - - * An HTTP GET on the URL must yield a - [google.protobuf.Type][] - value in binary format, or produce an error. - * Applications are allowed to cache lookup results based on - the - URL, or have them precompiled into a binary to avoid any - lookup. Therefore, binary compatibility needs to be preserved - on changes to types. (Use versioned type names to manage - breaking changes.) - - Note: this functionality is not currently available in the - official - - protobuf release, and it is not used for type URLs beginning - with - - type.googleapis.com. As of May 2023, there are no widely - used type server - - implementations and no plans to implement one. - - - Schemes other than `http`, `https` (or the empty scheme) - might be - - used with implementation specific semantics. - additionalProperties: {} - status: - description: status defines the proposal status. - type: string - enum: - - PROPOSAL_STATUS_UNSPECIFIED - - PROPOSAL_STATUS_DEPOSIT_PERIOD - - PROPOSAL_STATUS_VOTING_PERIOD - - PROPOSAL_STATUS_PASSED - - PROPOSAL_STATUS_REJECTED - - PROPOSAL_STATUS_FAILED - default: PROPOSAL_STATUS_UNSPECIFIED - final_tally_result: - description: >- - final_tally_result is the final tally result of the proposal. - When - - querying a proposal via gRPC, this field is not populated until - the - - proposal's voting period has ended. - type: object - properties: - 'yes': - type: string - description: yes is the number of yes votes on a proposal. - abstain: - type: string - description: abstain is the number of abstain votes on a proposal. - 'no': - type: string - description: no is the number of no votes on a proposal. - no_with_veto: - type: string - description: >- - no_with_veto is the number of no with veto votes on a - proposal. - encrypted: - type: string - description: encrypted is the number of encrypted votes on a proposal. - submit_time: - type: string - format: date-time - description: submit_time is the time of proposal submission. - deposit_end_time: - type: string - format: date-time - description: deposit_end_time is the end time for deposition. - total_deposit: - type: array - items: - type: object - properties: - denom: - type: string - amount: - type: string - description: >- - Coin defines a token with a denomination and an amount. - - - NOTE: The amount field is an Int which implements the custom - method - - signatures required by gogoproto. - description: total_deposit is the total deposit on the proposal. - voting_start_time: - type: string - format: date-time - description: voting_start_time is the starting time to vote on a proposal. - voting_end_time: - type: string - format: date-time - description: voting_end_time is the end time of voting on a proposal. - has_encrypted_votes: - type: boolean - title: flag to check if proposal has at least one encrypted vote - identity: - type: string - title: identity and pubkey are used to submit encrypted votes - pubkey: - type: string - aggr_keyshare: - type: string - title: >- - aggregated keyshare is used to decrypt the encrypted votes - during the tally phase - description: Proposal defines the core field members of a governance proposal. - description: proposals defines all the requested governance proposals. - pagination: - description: pagination defines the pagination in the response. - type: object - properties: - next_key: - type: string - format: byte - description: |- - next_key is the key to be passed to PageRequest.key to - query the next page most efficiently. It will be empty if - there are no more results. - total: - type: string - format: uint64 - title: >- - total is total number of results available if - PageRequest.count_total - - was set, its value is undefined otherwise - description: |- - QueryProposalsResponse is the response type for the Query/Proposals RPC - method. - cosmos.gov.v1beta1.QueryTallyResultResponse: - type: object - properties: - tally: - description: tally defines the requested tally. - type: object - properties: - 'yes': - type: string - description: yes is the number of yes votes on a proposal. - abstain: - type: string - description: abstain is the number of abstain votes on a proposal. - 'no': - type: string - description: no is the number of no votes on a proposal. - no_with_veto: - type: string - description: no_with_veto is the number of no with veto votes on a proposal. - encrypted: - type: string - description: encrypted is the number of encrypted votes on a proposal. - description: >- - QueryTallyResultResponse is the response type for the Query/Tally RPC - method. - cosmos.gov.v1beta1.QueryVoteResponse: - type: object - properties: - vote: - description: vote defines the queried vote. - type: object - properties: - proposal_id: - type: string - format: uint64 - description: proposal_id defines the unique id of the proposal. - voter: - type: string - description: voter is the voter address of the proposal. - option: - description: >- - Deprecated: Prefer to use `options` instead. This field is set in - queries - - if and only if `len(options) == 1` and that option has weight 1. - In all - - other cases, this field will default to VOTE_OPTION_UNSPECIFIED. - type: string - enum: - - VOTE_OPTION_UNSPECIFIED - - VOTE_OPTION_YES - - VOTE_OPTION_ABSTAIN - - VOTE_OPTION_NO - - VOTE_OPTION_NO_WITH_VETO - - VOTE_OPTION_ENCRYPTED - default: VOTE_OPTION_UNSPECIFIED - options: - type: array - items: - type: object - properties: - option: - description: >- - option defines the valid vote options, it must not contain - duplicate vote options. - type: string - enum: - - VOTE_OPTION_UNSPECIFIED - - VOTE_OPTION_YES - - VOTE_OPTION_ABSTAIN - - VOTE_OPTION_NO - - VOTE_OPTION_NO_WITH_VETO - - VOTE_OPTION_ENCRYPTED - default: VOTE_OPTION_UNSPECIFIED - weight: - type: string - description: weight is the vote weight associated with the vote option. - description: |- - WeightedVoteOption defines a unit of vote for vote split. - - Since: cosmos-sdk 0.43 - description: |- - options is the weighted vote options. - - Since: cosmos-sdk 0.43 - encrypted_vote_data: - type: string - description: QueryVoteResponse is the response type for the Query/Vote RPC method. - cosmos.gov.v1beta1.QueryVotesResponse: - type: object - properties: - votes: - type: array - items: - type: object - properties: - proposal_id: - type: string - format: uint64 - description: proposal_id defines the unique id of the proposal. - voter: - type: string - description: voter is the voter address of the proposal. - option: - description: >- - Deprecated: Prefer to use `options` instead. This field is set - in queries - - if and only if `len(options) == 1` and that option has weight 1. - In all - - other cases, this field will default to VOTE_OPTION_UNSPECIFIED. - type: string - enum: - - VOTE_OPTION_UNSPECIFIED - - VOTE_OPTION_YES - - VOTE_OPTION_ABSTAIN - - VOTE_OPTION_NO - - VOTE_OPTION_NO_WITH_VETO - - VOTE_OPTION_ENCRYPTED - default: VOTE_OPTION_UNSPECIFIED - options: - type: array - items: - type: object - properties: - option: - description: >- - option defines the valid vote options, it must not contain - duplicate vote options. - type: string - enum: - - VOTE_OPTION_UNSPECIFIED - - VOTE_OPTION_YES - - VOTE_OPTION_ABSTAIN - - VOTE_OPTION_NO - - VOTE_OPTION_NO_WITH_VETO - - VOTE_OPTION_ENCRYPTED - default: VOTE_OPTION_UNSPECIFIED - weight: - type: string - description: weight is the vote weight associated with the vote option. - description: |- - WeightedVoteOption defines a unit of vote for vote split. - - Since: cosmos-sdk 0.43 - description: |- - options is the weighted vote options. - - Since: cosmos-sdk 0.43 - encrypted_vote_data: - type: string - description: |- - Vote defines a vote on a governance proposal. - A Vote consists of a proposal ID, the voter, and the vote option. - description: votes defines the queried votes. - pagination: - description: pagination defines the pagination in the response. - type: object - properties: - next_key: - type: string - format: byte - description: |- - next_key is the key to be passed to PageRequest.key to - query the next page most efficiently. It will be empty if - there are no more results. - total: - type: string - format: uint64 - title: >- - total is total number of results available if - PageRequest.count_total - - was set, its value is undefined otherwise - description: QueryVotesResponse is the response type for the Query/Votes RPC method. - cosmos.gov.v1beta1.TallyParams: - type: object - properties: - quorum: - type: string - format: byte - description: |- - Minimum percentage of total stake needed to vote for a result to be - considered valid. - threshold: - type: string - format: byte - description: >- - Minimum proportion of Yes votes for proposal to pass. Default value: - 0.5. - veto_threshold: - type: string - format: byte - description: |- - Minimum value of Veto votes to Total votes ratio for proposal to be - vetoed. Default value: 1/3. - description: TallyParams defines the params for tallying votes on governance proposals. - cosmos.gov.v1beta1.TallyResult: - type: object - properties: - 'yes': - type: string - description: yes is the number of yes votes on a proposal. - abstain: - type: string - description: abstain is the number of abstain votes on a proposal. - 'no': - type: string - description: no is the number of no votes on a proposal. - no_with_veto: - type: string - description: no_with_veto is the number of no with veto votes on a proposal. - encrypted: - type: string - description: encrypted is the number of encrypted votes on a proposal. - description: TallyResult defines a standard tally for a governance proposal. - cosmos.gov.v1beta1.Vote: - type: object - properties: - proposal_id: - type: string - format: uint64 - description: proposal_id defines the unique id of the proposal. - voter: - type: string - description: voter is the voter address of the proposal. - option: - description: >- - Deprecated: Prefer to use `options` instead. This field is set in - queries - - if and only if `len(options) == 1` and that option has weight 1. In - all - - other cases, this field will default to VOTE_OPTION_UNSPECIFIED. - type: string - enum: - - VOTE_OPTION_UNSPECIFIED - - VOTE_OPTION_YES - - VOTE_OPTION_ABSTAIN - - VOTE_OPTION_NO - - VOTE_OPTION_NO_WITH_VETO - - VOTE_OPTION_ENCRYPTED - default: VOTE_OPTION_UNSPECIFIED - options: - type: array - items: - type: object - properties: - option: - description: >- - option defines the valid vote options, it must not contain - duplicate vote options. - type: string - enum: - - VOTE_OPTION_UNSPECIFIED - - VOTE_OPTION_YES - - VOTE_OPTION_ABSTAIN - - VOTE_OPTION_NO - - VOTE_OPTION_NO_WITH_VETO - - VOTE_OPTION_ENCRYPTED - default: VOTE_OPTION_UNSPECIFIED - weight: - type: string - description: weight is the vote weight associated with the vote option. - description: |- - WeightedVoteOption defines a unit of vote for vote split. - - Since: cosmos-sdk 0.43 - description: |- - options is the weighted vote options. - - Since: cosmos-sdk 0.43 - encrypted_vote_data: - type: string - description: |- - Vote defines a vote on a governance proposal. - A Vote consists of a proposal ID, the voter, and the vote option. - cosmos.gov.v1beta1.VoteOption: - type: string - enum: - - VOTE_OPTION_UNSPECIFIED - - VOTE_OPTION_YES - - VOTE_OPTION_ABSTAIN - - VOTE_OPTION_NO - - VOTE_OPTION_NO_WITH_VETO - - VOTE_OPTION_ENCRYPTED - default: VOTE_OPTION_UNSPECIFIED - description: >- - VoteOption enumerates the valid vote options for a given governance - proposal. - - - VOTE_OPTION_UNSPECIFIED: VOTE_OPTION_UNSPECIFIED defines a no-op vote option. - - VOTE_OPTION_YES: VOTE_OPTION_YES defines a yes vote option. - - VOTE_OPTION_ABSTAIN: VOTE_OPTION_ABSTAIN defines an abstain vote option. - - VOTE_OPTION_NO: VOTE_OPTION_NO defines a no vote option. - - VOTE_OPTION_NO_WITH_VETO: VOTE_OPTION_NO_WITH_VETO defines a no with veto vote option. - - VOTE_OPTION_ENCRYPTED: VOTE_OPTION_ENCRYPTED defines a encrypted vote - cosmos.gov.v1beta1.VotingParams: - type: object - properties: - voting_period: - type: string - description: Duration of the voting period. - description: VotingParams defines the params for voting on governance proposals. - cosmos.gov.v1beta1.WeightedVoteOption: - type: object - properties: - option: - description: >- - option defines the valid vote options, it must not contain duplicate - vote options. - type: string - enum: - - VOTE_OPTION_UNSPECIFIED - - VOTE_OPTION_YES - - VOTE_OPTION_ABSTAIN - - VOTE_OPTION_NO - - VOTE_OPTION_NO_WITH_VETO - - VOTE_OPTION_ENCRYPTED - default: VOTE_OPTION_UNSPECIFIED - weight: - type: string - description: weight is the vote weight associated with the vote option. - description: |- - WeightedVoteOption defines a unit of vote for vote split. - - Since: cosmos-sdk 0.43 - cosmos.gov.v1beta1.MsgDeposit: - type: object - properties: - proposal_id: - type: string - format: uint64 - description: proposal_id defines the unique id of the proposal. - depositor: - type: string - description: depositor defines the deposit addresses from the proposals. - amount: - type: array - items: - type: object - properties: - denom: - type: string - amount: - type: string - description: |- - Coin defines a token with a denomination and an amount. - - NOTE: The amount field is an Int which implements the custom method - signatures required by gogoproto. - description: amount to be deposited by depositor. - description: MsgDeposit defines a message to submit a deposit to an existing proposal. - cosmos.gov.v1beta1.MsgDepositResponse: - type: object - description: MsgDepositResponse defines the Msg/Deposit response type. - cosmos.gov.v1beta1.MsgSubmitProposal: - type: object - properties: - content: - description: content is the proposal's content. - type: object - properties: - '@type': - type: string - description: >- - A URL/resource name that uniquely identifies the type of the - serialized - - protocol buffer message. This string must contain at least - - one "/" character. The last segment of the URL's path must - represent - - the fully qualified name of the type (as in - - `path/google.protobuf.Duration`). The name should be in a - canonical form - - (e.g., leading "." is not accepted). - - - In practice, teams usually precompile into the binary all types - that they - - expect it to use in the context of Any. However, for URLs which - use the - - scheme `http`, `https`, or no scheme, one can optionally set up a - type - - server that maps type URLs to message definitions as follows: - - - * If no scheme is provided, `https` is assumed. - - * An HTTP GET on the URL must yield a [google.protobuf.Type][] - value in binary format, or produce an error. - * Applications are allowed to cache lookup results based on the - URL, or have them precompiled into a binary to avoid any - lookup. Therefore, binary compatibility needs to be preserved - on changes to types. (Use versioned type names to manage - breaking changes.) - - Note: this functionality is not currently available in the - official - - protobuf release, and it is not used for type URLs beginning with - - type.googleapis.com. As of May 2023, there are no widely used type - server - - implementations and no plans to implement one. - - - Schemes other than `http`, `https` (or the empty scheme) might be - - used with implementation specific semantics. - additionalProperties: {} - initial_deposit: - type: array - items: - type: object - properties: - denom: - type: string - amount: - type: string - description: |- - Coin defines a token with a denomination and an amount. - - NOTE: The amount field is an Int which implements the custom method - signatures required by gogoproto. - description: >- - initial_deposit is the deposit value that must be paid at proposal - submission. - proposer: - type: string - description: proposer is the account address of the proposer. - description: >- - MsgSubmitProposal defines an sdk.Msg type that supports submitting - arbitrary - - proposal Content. - cosmos.gov.v1beta1.MsgSubmitProposalResponse: - type: object - properties: - proposal_id: - type: string - format: uint64 - description: proposal_id defines the unique id of the proposal. - description: MsgSubmitProposalResponse defines the Msg/SubmitProposal response type. - cosmos.gov.v1beta1.MsgVote: - type: object - properties: - proposal_id: - type: string - format: uint64 - description: proposal_id defines the unique id of the proposal. - voter: - type: string - description: voter is the voter address for the proposal. - option: - description: option defines the vote option. - type: string - enum: - - VOTE_OPTION_UNSPECIFIED - - VOTE_OPTION_YES - - VOTE_OPTION_ABSTAIN - - VOTE_OPTION_NO - - VOTE_OPTION_NO_WITH_VETO - - VOTE_OPTION_ENCRYPTED - default: VOTE_OPTION_UNSPECIFIED - description: MsgVote defines a message to cast a vote. - cosmos.gov.v1beta1.MsgVoteEncrypted: - type: object - properties: - proposal_id: - type: string - format: uint64 - description: proposal_id defines the unique id of the proposal. - voter: - type: string - description: voter is the voter address for the proposal. - encrypted_data: - type: string - description: encrypted_data defines the encrypted vote option. - description: MsgVoteEncrypted defines a message to cast an encrypted vote. - cosmos.gov.v1beta1.MsgVoteEncryptedResponse: - type: object - description: MsgVoteResponse defines the Msg/Vote response type. - cosmos.gov.v1beta1.MsgVoteResponse: - type: object - description: MsgVoteResponse defines the Msg/Vote response type. - cosmos.gov.v1beta1.MsgVoteWeighted: - type: object - properties: - proposal_id: - type: string - format: uint64 - description: proposal_id defines the unique id of the proposal. - voter: - type: string - description: voter is the voter address for the proposal. - options: - type: array - items: - type: object - properties: - option: - description: >- - option defines the valid vote options, it must not contain - duplicate vote options. - type: string - enum: - - VOTE_OPTION_UNSPECIFIED - - VOTE_OPTION_YES - - VOTE_OPTION_ABSTAIN - - VOTE_OPTION_NO - - VOTE_OPTION_NO_WITH_VETO - - VOTE_OPTION_ENCRYPTED - default: VOTE_OPTION_UNSPECIFIED - weight: - type: string - description: weight is the vote weight associated with the vote option. - description: |- - WeightedVoteOption defines a unit of vote for vote split. - - Since: cosmos-sdk 0.43 - description: options defines the weighted vote options. - description: |- - MsgVoteWeighted defines a message to cast a vote. - - Since: cosmos-sdk 0.43 - cosmos.gov.v1beta1.MsgVoteWeightedResponse: - type: object - description: |- - MsgVoteWeightedResponse defines the Msg/VoteWeighted response type. - - Since: cosmos-sdk 0.43 - cosmos.mint.v1beta1.MsgUpdateParams: - type: object - properties: - authority: - type: string - description: >- - authority is the address that controls the module (defaults to x/gov - unless overwritten). - params: - description: |- - params defines the x/mint parameters to update. - - NOTE: All parameters must be supplied. - type: object - properties: - mint_denom: - type: string - title: type of coin to mint - inflation_rate_change: - type: string - title: maximum annual change in inflation rate - inflation_max: - type: string - title: maximum inflation rate - inflation_min: - type: string - title: minimum inflation rate - goal_bonded: - type: string - title: goal of percent bonded atoms - blocks_per_year: - type: string - format: uint64 - title: expected blocks per year - description: |- - MsgUpdateParams is the Msg/UpdateParams request type. - - Since: cosmos-sdk 0.47 - cosmos.mint.v1beta1.MsgUpdateParamsResponse: - type: object - description: |- - MsgUpdateParamsResponse defines the response structure for executing a - MsgUpdateParams message. - - Since: cosmos-sdk 0.47 - cosmos.mint.v1beta1.Params: - type: object - properties: - mint_denom: - type: string - title: type of coin to mint - inflation_rate_change: - type: string - title: maximum annual change in inflation rate - inflation_max: - type: string - title: maximum inflation rate - inflation_min: - type: string - title: minimum inflation rate - goal_bonded: - type: string - title: goal of percent bonded atoms - blocks_per_year: - type: string - format: uint64 - title: expected blocks per year - description: Params defines the parameters for the x/mint module. - cosmos.nft.v1beta1.MsgSend: - type: object - properties: - class_id: - type: string - title: >- - class_id defines the unique identifier of the nft classification, - similar to the contract address of ERC721 - id: - type: string - title: id defines the unique identification of nft - sender: - type: string - title: sender is the address of the owner of nft - receiver: - type: string - title: receiver is the receiver address of nft - description: >- - MsgSend represents a message to send a nft from one account to another - account. - cosmos.nft.v1beta1.MsgSendResponse: - type: object - description: MsgSendResponse defines the Msg/Send response type. - cosmos.params.v1beta1.ParamChange: - type: object - properties: - subspace: - type: string - key: - type: string - value: - type: string - description: |- - ParamChange defines an individual parameter change, for use in - ParameterChangeProposal. - cosmos.params.v1beta1.QueryParamsResponse: - type: object - properties: - param: - description: param defines the queried parameter. - type: object - properties: - subspace: - type: string - key: - type: string - value: - type: string - description: QueryParamsResponse is response type for the Query/Params RPC method. - cosmos.params.v1beta1.QuerySubspacesResponse: - type: object - properties: - subspaces: - type: array - items: - type: object - properties: - subspace: - type: string - keys: - type: array - items: - type: string - description: >- - Subspace defines a parameter subspace name and all the keys that - exist for - - the subspace. - - - Since: cosmos-sdk 0.46 - description: |- - QuerySubspacesResponse defines the response types for querying for all - registered subspaces and all keys for a subspace. - - Since: cosmos-sdk 0.46 - cosmos.params.v1beta1.Subspace: - type: object - properties: - subspace: - type: string - keys: - type: array - items: - type: string - description: |- - Subspace defines a parameter subspace name and all the keys that exist for - the subspace. - - Since: cosmos-sdk 0.46 - cosmos.slashing.v1beta1.MsgUnjail: - type: object - properties: - validator_addr: - type: string - title: MsgUnjail defines the Msg/Unjail request type - cosmos.slashing.v1beta1.MsgUnjailResponse: - type: object - title: MsgUnjailResponse defines the Msg/Unjail response type - cosmos.slashing.v1beta1.MsgUpdateParams: - type: object - properties: - authority: - type: string - description: >- - authority is the address that controls the module (defaults to x/gov - unless overwritten). - params: - description: |- - params defines the x/slashing parameters to update. - - NOTE: All parameters must be supplied. - type: object - properties: - signed_blocks_window: - type: string - format: int64 - min_signed_per_window: - type: string - format: byte - downtime_jail_duration: - type: string - slash_fraction_double_sign: - type: string - format: byte - slash_fraction_downtime: - type: string - format: byte - description: |- - MsgUpdateParams is the Msg/UpdateParams request type. - - Since: cosmos-sdk 0.47 - cosmos.slashing.v1beta1.MsgUpdateParamsResponse: - type: object - description: |- - MsgUpdateParamsResponse defines the response structure for executing a - MsgUpdateParams message. - - Since: cosmos-sdk 0.47 - cosmos.slashing.v1beta1.Params: - type: object - properties: - signed_blocks_window: - type: string - format: int64 - min_signed_per_window: - type: string - format: byte - downtime_jail_duration: - type: string - slash_fraction_double_sign: - type: string - format: byte - slash_fraction_downtime: - type: string - format: byte - description: Params represents the parameters used for by the slashing module. - cosmos.staking.v1beta1.CommissionRates: - type: object - properties: - rate: - type: string - description: rate is the commission rate charged to delegators, as a fraction. - max_rate: - type: string - description: >- - max_rate defines the maximum commission rate which validator can ever - charge, as a fraction. - max_change_rate: - type: string - description: >- - max_change_rate defines the maximum daily increase of the validator - commission, as a fraction. - description: >- - CommissionRates defines the initial commission rates to be used for - creating - - a validator. - cosmos.staking.v1beta1.Description: - type: object - properties: - moniker: - type: string - description: moniker defines a human-readable name for the validator. - identity: - type: string - description: >- - identity defines an optional identity signature (ex. UPort or - Keybase). - website: - type: string - description: website defines an optional website link. - security_contact: - type: string - description: security_contact defines an optional email for security contact. - details: - type: string - description: details define other optional details. - description: Description defines a validator description. - cosmos.staking.v1beta1.MsgBeginRedelegate: - type: object - properties: - delegator_address: - type: string - validator_src_address: - type: string - validator_dst_address: - type: string - amount: - type: object - properties: - denom: - type: string - amount: - type: string - description: |- - Coin defines a token with a denomination and an amount. - - NOTE: The amount field is an Int which implements the custom method - signatures required by gogoproto. - description: |- - MsgBeginRedelegate defines a SDK message for performing a redelegation - of coins from a delegator and source validator to a destination validator. - cosmos.staking.v1beta1.MsgBeginRedelegateResponse: - type: object - properties: - completion_time: - type: string - format: date-time - description: MsgBeginRedelegateResponse defines the Msg/BeginRedelegate response type. - cosmos.staking.v1beta1.MsgCancelUnbondingDelegation: - type: object - properties: - delegator_address: - type: string - validator_address: - type: string - amount: - type: object - properties: - denom: - type: string - amount: - type: string - description: |- - Coin defines a token with a denomination and an amount. - - NOTE: The amount field is an Int which implements the custom method - signatures required by gogoproto. - title: >- - amount is always less than or equal to unbonding delegation entry - balance - creation_height: - type: string - format: int64 - description: creation_height is the height which the unbonding took place. - description: 'Since: cosmos-sdk 0.46' - title: >- - MsgCancelUnbondingDelegation defines the SDK message for performing a - cancel unbonding delegation for delegator - cosmos.staking.v1beta1.MsgCancelUnbondingDelegationResponse: - type: object - description: 'Since: cosmos-sdk 0.46' - title: MsgCancelUnbondingDelegationResponse - cosmos.staking.v1beta1.MsgCreateValidator: - type: object - properties: - description: - type: object - properties: - moniker: - type: string - description: moniker defines a human-readable name for the validator. - identity: - type: string - description: >- - identity defines an optional identity signature (ex. UPort or - Keybase). - website: - type: string - description: website defines an optional website link. - security_contact: - type: string - description: security_contact defines an optional email for security contact. - details: - type: string - description: details define other optional details. - description: Description defines a validator description. - commission: - type: object - properties: - rate: - type: string - description: rate is the commission rate charged to delegators, as a fraction. - max_rate: - type: string - description: >- - max_rate defines the maximum commission rate which validator can - ever charge, as a fraction. - max_change_rate: - type: string - description: >- - max_change_rate defines the maximum daily increase of the - validator commission, as a fraction. - description: >- - CommissionRates defines the initial commission rates to be used for - creating - - a validator. - min_self_delegation: - type: string - delegator_address: - type: string - description: >- - Deprecated: Use of Delegator Address in MsgCreateValidator is - deprecated. - - The validator address bytes and delegator address bytes refer to the - same account while creating validator (defer - - only in bech32 notation). - validator_address: - type: string - pubkey: - type: object - properties: - '@type': - type: string - description: >- - A URL/resource name that uniquely identifies the type of the - serialized - - protocol buffer message. This string must contain at least - - one "/" character. The last segment of the URL's path must - represent - - the fully qualified name of the type (as in - - `path/google.protobuf.Duration`). The name should be in a - canonical form - - (e.g., leading "." is not accepted). - - - In practice, teams usually precompile into the binary all types - that they - - expect it to use in the context of Any. However, for URLs which - use the - - scheme `http`, `https`, or no scheme, one can optionally set up a - type - - server that maps type URLs to message definitions as follows: - - - * If no scheme is provided, `https` is assumed. - - * An HTTP GET on the URL must yield a [google.protobuf.Type][] - value in binary format, or produce an error. - * Applications are allowed to cache lookup results based on the - URL, or have them precompiled into a binary to avoid any - lookup. Therefore, binary compatibility needs to be preserved - on changes to types. (Use versioned type names to manage - breaking changes.) - - Note: this functionality is not currently available in the - official - - protobuf release, and it is not used for type URLs beginning with - - type.googleapis.com. As of May 2023, there are no widely used type - server - - implementations and no plans to implement one. - - - Schemes other than `http`, `https` (or the empty scheme) might be - - used with implementation specific semantics. - additionalProperties: {} - description: >- - `Any` contains an arbitrary serialized protocol buffer message along - with a - - URL that describes the type of the serialized message. - - - Protobuf library provides support to pack/unpack Any values in the - form - - of utility functions or additional generated methods of the Any type. - - - Example 1: Pack and unpack a message in C++. - - Foo foo = ...; - Any any; - any.PackFrom(foo); - ... - if (any.UnpackTo(&foo)) { - ... - } - - Example 2: Pack and unpack a message in Java. - - Foo foo = ...; - Any any = Any.pack(foo); - ... - if (any.is(Foo.class)) { - foo = any.unpack(Foo.class); - } - // or ... - if (any.isSameTypeAs(Foo.getDefaultInstance())) { - foo = any.unpack(Foo.getDefaultInstance()); - } - - Example 3: Pack and unpack a message in Python. - - foo = Foo(...) - any = Any() - any.Pack(foo) - ... - if any.Is(Foo.DESCRIPTOR): - any.Unpack(foo) - ... - - Example 4: Pack and unpack a message in Go - - foo := &pb.Foo{...} - any, err := anypb.New(foo) - if err != nil { - ... - } - ... - foo := &pb.Foo{} - if err := any.UnmarshalTo(foo); err != nil { - ... - } - - The pack methods provided by protobuf library will by default use - - 'type.googleapis.com/full.type.name' as the type URL and the unpack - - methods only use the fully qualified type name after the last '/' - - in the type URL, for example "foo.bar.com/x/y.z" will yield type - - name "y.z". - - - JSON - - ==== - - The JSON representation of an `Any` value uses the regular - - representation of the deserialized, embedded message, with an - - additional field `@type` which contains the type URL. Example: - - package google.profile; - message Person { - string first_name = 1; - string last_name = 2; - } - - { - "@type": "type.googleapis.com/google.profile.Person", - "firstName": , - "lastName": - } - - If the embedded message type is well-known and has a custom JSON - - representation, that representation will be embedded adding a field - - `value` which holds the custom JSON in addition to the `@type` - - field. Example (for message [google.protobuf.Duration][]): - - { - "@type": "type.googleapis.com/google.protobuf.Duration", - "value": "1.212s" - } - value: - type: object - properties: - denom: - type: string - amount: - type: string - description: |- - Coin defines a token with a denomination and an amount. - - NOTE: The amount field is an Int which implements the custom method - signatures required by gogoproto. - description: MsgCreateValidator defines a SDK message for creating a new validator. - cosmos.staking.v1beta1.MsgCreateValidatorResponse: - type: object - description: MsgCreateValidatorResponse defines the Msg/CreateValidator response type. - cosmos.staking.v1beta1.MsgDelegate: - type: object - properties: - delegator_address: - type: string - validator_address: - type: string - amount: - type: object - properties: - denom: - type: string - amount: - type: string - description: |- - Coin defines a token with a denomination and an amount. - - NOTE: The amount field is an Int which implements the custom method - signatures required by gogoproto. - description: |- - MsgDelegate defines a SDK message for performing a delegation of coins - from a delegator to a validator. - cosmos.staking.v1beta1.MsgDelegateResponse: - type: object - description: MsgDelegateResponse defines the Msg/Delegate response type. - cosmos.staking.v1beta1.MsgEditValidator: - type: object - properties: - description: - type: object - properties: - moniker: - type: string - description: moniker defines a human-readable name for the validator. - identity: - type: string - description: >- - identity defines an optional identity signature (ex. UPort or - Keybase). - website: - type: string - description: website defines an optional website link. - security_contact: - type: string - description: security_contact defines an optional email for security contact. - details: - type: string - description: details define other optional details. - description: Description defines a validator description. - validator_address: - type: string - commission_rate: - type: string - title: >- - We pass a reference to the new commission rate and min self delegation - as - - it's not mandatory to update. If not updated, the deserialized rate - will be - - zero with no way to distinguish if an update was intended. - - REF: #2373 - min_self_delegation: - type: string - description: MsgEditValidator defines a SDK message for editing an existing validator. - cosmos.staking.v1beta1.MsgEditValidatorResponse: - type: object - description: MsgEditValidatorResponse defines the Msg/EditValidator response type. - cosmos.staking.v1beta1.MsgUndelegate: - type: object - properties: - delegator_address: - type: string - validator_address: - type: string - amount: - type: object - properties: - denom: - type: string - amount: - type: string - description: |- - Coin defines a token with a denomination and an amount. - - NOTE: The amount field is an Int which implements the custom method - signatures required by gogoproto. - description: |- - MsgUndelegate defines a SDK message for performing an undelegation from a - delegate and a validator. - cosmos.staking.v1beta1.MsgUndelegateResponse: - type: object - properties: - completion_time: - type: string - format: date-time - amount: - type: object - properties: - denom: - type: string - amount: - type: string - description: |- - Coin defines a token with a denomination and an amount. - - NOTE: The amount field is an Int which implements the custom method - signatures required by gogoproto. - title: amount returns the amount of undelegated coins - description: MsgUndelegateResponse defines the Msg/Undelegate response type. - cosmos.staking.v1beta1.MsgUpdateParams: - type: object - properties: - authority: - type: string - description: >- - authority is the address that controls the module (defaults to x/gov - unless overwritten). - params: - description: |- - params defines the x/staking parameters to update. - - NOTE: All parameters must be supplied. - type: object - properties: - unbonding_time: - type: string - description: unbonding_time is the time duration of unbonding. - max_validators: - type: integer - format: int64 - description: max_validators is the maximum number of validators. - max_entries: - type: integer - format: int64 - description: >- - max_entries is the max entries for either unbonding delegation or - redelegation (per pair/trio). - historical_entries: - type: integer - format: int64 - description: historical_entries is the number of historical entries to persist. - bond_denom: - type: string - description: bond_denom defines the bondable coin denomination. - min_commission_rate: - type: string - title: >- - min_commission_rate is the chain-wide minimum commission rate that - a validator can charge their delegators - description: |- - MsgUpdateParams is the Msg/UpdateParams request type. - - Since: cosmos-sdk 0.47 - cosmos.staking.v1beta1.MsgUpdateParamsResponse: - type: object - description: |- - MsgUpdateParamsResponse defines the response structure for executing a - MsgUpdateParams message. - - Since: cosmos-sdk 0.47 - cosmos.staking.v1beta1.Params: - type: object - properties: - unbonding_time: - type: string - description: unbonding_time is the time duration of unbonding. - max_validators: - type: integer - format: int64 - description: max_validators is the maximum number of validators. - max_entries: - type: integer - format: int64 - description: >- - max_entries is the max entries for either unbonding delegation or - redelegation (per pair/trio). - historical_entries: - type: integer - format: int64 - description: historical_entries is the number of historical entries to persist. - bond_denom: - type: string - description: bond_denom defines the bondable coin denomination. - min_commission_rate: - type: string - title: >- - min_commission_rate is the chain-wide minimum commission rate that a - validator can charge their delegators - description: Params defines the parameters for the x/staking module. - fairyring.pep.MsgCreateAggregatedKeyShare: - type: object - properties: - creator: - type: string - height: - type: string - format: uint64 - data: - type: string - title: 'this line is used by starport scaffolding # proto/tx/message' - fairyring.pep.MsgCreateAggregatedKeyShareResponse: - type: object - fairyring.pep.MsgGetGeneralKeyshare: - type: object - properties: - creator: - type: string - req_id: - type: string - fairyring.pep.MsgGetGeneralKeyshareResponse: - type: object - fairyring.pep.MsgRequestGeneralKeyshare: - type: object - properties: - creator: - type: string - estimated_delay: - type: string - req_id: - type: string - fairyring.pep.MsgRequestGeneralKeyshareResponse: - type: object - properties: - req_id: - type: string - fairyring.pep.MsgSubmitEncryptedTx: - type: object - properties: - creator: - type: string - data: - type: string - targetBlockHeight: - type: string - format: uint64 - fairyring.pep.MsgSubmitEncryptedTxResponse: - type: object - fairyring.pep.MsgSubmitGeneralEncryptedTx: - type: object - properties: - creator: - type: string - data: - type: string - req_id: - type: string - fairyring.pep.MsgUpdateParams: - type: object - properties: - authority: - type: string - description: >- - authority is the address that controls the module (defaults to x/gov - unless overwritten). - params: - description: 'NOTE: All parameters must be supplied.' - type: object - properties: - keyshare_channel_id: - type: string - is_source_chain: - type: boolean - trusted_counter_parties: - type: array - items: - type: object - properties: - client_id: - type: string - connection_id: - type: string - channel_id: - type: string - trusted_addresses: - type: array - items: - type: string - min_gas_price: - type: object - properties: - denom: - type: string - amount: - type: string - description: >- - Coin defines a token with a denomination and an amount. - - - NOTE: The amount field is an Int which implements the custom - method - - signatures required by gogoproto. - description: MsgUpdateParams is the Msg/UpdateParams request type. - fairyring.pep.MsgUpdateParamsResponse: - type: object - description: |- - MsgUpdateParamsResponse defines the response structure for executing a - MsgUpdateParams message. - fairyring.pep.Params: - type: object - properties: - keyshare_channel_id: - type: string - is_source_chain: - type: boolean - trusted_counter_parties: - type: array - items: - type: object - properties: - client_id: - type: string - connection_id: - type: string - channel_id: - type: string - trusted_addresses: - type: array - items: - type: string - min_gas_price: - type: object - properties: - denom: - type: string - amount: - type: string - description: |- - Coin defines a token with a denomination and an amount. - - NOTE: The amount field is an Int which implements the custom method - signatures required by gogoproto. - description: Params defines the parameters for the module. - fairyring.pep.TrustedCounterParty: - type: object - properties: - client_id: - type: string - connection_id: - type: string - channel_id: - type: string - fairyring.common.ActivePublicKey: - type: object - properties: - publicKey: - type: string - creator: - type: string - expiry: - type: string - format: uint64 - fairyring.common.QueuedPublicKey: - type: object - properties: - publicKey: - type: string - creator: - type: string - expiry: - type: string - format: uint64 - fairyring.pep.EncryptedTx: - type: object - properties: - targetHeight: - type: string - format: uint64 - index: - type: string - format: uint64 - data: - type: string - creator: - type: string - chargedGas: - type: object - properties: - denom: - type: string - amount: - type: string - description: |- - Coin defines a token with a denomination and an amount. - - NOTE: The amount field is an Int which implements the custom method - signatures required by gogoproto. - processedAtChainHeight: - type: string - format: uint64 - expired: - type: boolean - fairyring.pep.EncryptedTxArray: - type: object - properties: - encryptedTx: - type: array - items: - type: object - properties: - targetHeight: - type: string - format: uint64 - index: - type: string - format: uint64 - data: - type: string - creator: - type: string - chargedGas: - type: object - properties: - denom: - type: string - amount: - type: string - description: >- - Coin defines a token with a denomination and an amount. - - - NOTE: The amount field is an Int which implements the custom - method - - signatures required by gogoproto. - processedAtChainHeight: - type: string - format: uint64 - expired: - type: boolean - fairyring.pep.GenEncTxExecutionQueue: - type: object - properties: - creator: - type: string - request_id: - type: string - identity: - type: string - pubkey: - type: string - tx_list: - type: object - properties: - encryptedTx: - type: array - items: - type: object - properties: - identity: - type: string - index: - type: string - format: uint64 - data: - type: string - creator: - type: string - chargedGas: - type: object - properties: - denom: - type: string - amount: - type: string - description: >- - Coin defines a token with a denomination and an amount. - - - NOTE: The amount field is an Int which implements the custom - method - - signatures required by gogoproto. - aggr_keyshare: - type: string - fairyring.pep.GeneralEncryptedTx: - type: object - properties: - identity: - type: string - index: - type: string - format: uint64 - data: - type: string - creator: - type: string - chargedGas: - type: object - properties: - denom: - type: string - amount: - type: string - description: |- - Coin defines a token with a denomination and an amount. - - NOTE: The amount field is an Int which implements the custom method - signatures required by gogoproto. - fairyring.pep.GeneralEncryptedTxArray: - type: object - properties: - encryptedTx: - type: array - items: - type: object - properties: - identity: - type: string - index: - type: string - format: uint64 - data: - type: string - creator: - type: string - chargedGas: - type: object - properties: - denom: - type: string - amount: - type: string - description: >- - Coin defines a token with a denomination and an amount. - - - NOTE: The amount field is an Int which implements the custom - method - - signatures required by gogoproto. - fairyring.pep.PepNonce: - type: object - properties: - address: - type: string - nonce: - type: string - format: uint64 - fairyring.pep.QueryAllEncryptedTxFromHeightResponse: - type: object - properties: - encryptedTxArray: - type: object - properties: - encryptedTx: - type: array - items: - type: object - properties: - targetHeight: - type: string - format: uint64 - index: - type: string - format: uint64 - data: - type: string - creator: - type: string - chargedGas: - type: object - properties: - denom: - type: string - amount: - type: string - description: >- - Coin defines a token with a denomination and an amount. - - - NOTE: The amount field is an Int which implements the custom - method - - signatures required by gogoproto. - processedAtChainHeight: - type: string - format: uint64 - expired: - type: boolean - fairyring.pep.QueryAllEncryptedTxResponse: - type: object - properties: - encryptedTxArray: - type: array - items: - type: object - properties: - encryptedTx: - type: array - items: - type: object - properties: - targetHeight: - type: string - format: uint64 - index: - type: string - format: uint64 - data: - type: string - creator: - type: string - chargedGas: - type: object - properties: - denom: - type: string - amount: - type: string - description: >- - Coin defines a token with a denomination and an amount. - - - NOTE: The amount field is an Int which implements the - custom method - - signatures required by gogoproto. - processedAtChainHeight: - type: string - format: uint64 - expired: - type: boolean - pagination: - type: object - properties: - next_key: - type: string - format: byte - description: |- - next_key is the key to be passed to PageRequest.key to - query the next page most efficiently. It will be empty if - there are no more results. - total: - type: string - format: uint64 - title: >- - total is total number of results available if - PageRequest.count_total - - was set, its value is undefined otherwise - description: |- - PageResponse is to be embedded in gRPC response messages where the - corresponding request message has used PageRequest. - - message SomeResponse { - repeated Bar results = 1; - PageResponse page = 2; - } - fairyring.pep.QueryAllKeyshareResponse: - type: object - properties: - keyshares: - type: array - items: - type: object - properties: - creator: - type: string - request_id: - type: string - identity: - type: string - pubkey: - type: string - tx_list: - type: object - properties: - encryptedTx: - type: array - items: - type: object - properties: - identity: - type: string - index: - type: string - format: uint64 - data: - type: string - creator: - type: string - chargedGas: - type: object - properties: - denom: - type: string - amount: - type: string - description: >- - Coin defines a token with a denomination and an - amount. - - - NOTE: The amount field is an Int which implements the - custom method - - signatures required by gogoproto. - aggr_keyshare: - type: string - pagination: - type: object - properties: - next_key: - type: string - format: byte - description: |- - next_key is the key to be passed to PageRequest.key to - query the next page most efficiently. It will be empty if - there are no more results. - total: - type: string - format: uint64 - title: >- - total is total number of results available if - PageRequest.count_total - - was set, its value is undefined otherwise - description: |- - PageResponse is to be embedded in gRPC response messages where the - corresponding request message has used PageRequest. - - message SomeResponse { - repeated Bar results = 1; - PageResponse page = 2; - } - fairyring.pep.QueryAllPepNonceResponse: - type: object - properties: - pepNonce: - type: array - items: - type: object - properties: - address: - type: string - nonce: - type: string - format: uint64 - pagination: - type: object - properties: - next_key: - type: string - format: byte - description: |- - next_key is the key to be passed to PageRequest.key to - query the next page most efficiently. It will be empty if - there are no more results. - total: - type: string - format: uint64 - title: >- - total is total number of results available if - PageRequest.count_total - - was set, its value is undefined otherwise - description: |- - PageResponse is to be embedded in gRPC response messages where the - corresponding request message has used PageRequest. - - message SomeResponse { - repeated Bar results = 1; - PageResponse page = 2; - } - fairyring.pep.QueryGetEncryptedTxResponse: - type: object - properties: - encryptedTx: - type: object - properties: - targetHeight: - type: string - format: uint64 - index: - type: string - format: uint64 - data: - type: string - creator: - type: string - chargedGas: - type: object - properties: - denom: - type: string - amount: - type: string - description: >- - Coin defines a token with a denomination and an amount. - - - NOTE: The amount field is an Int which implements the custom - method - - signatures required by gogoproto. - processedAtChainHeight: - type: string - format: uint64 - expired: - type: boolean - fairyring.pep.QueryGetPepNonceResponse: - type: object - properties: - pepNonce: - type: object - properties: - address: - type: string - nonce: - type: string - format: uint64 - fairyring.pep.QueryKeyshareResponse: - type: object - properties: - keyshare: - type: object - properties: - creator: - type: string - request_id: - type: string - identity: - type: string - pubkey: - type: string - tx_list: - type: object - properties: - encryptedTx: - type: array - items: - type: object - properties: - identity: - type: string - index: - type: string - format: uint64 - data: - type: string - creator: - type: string - chargedGas: - type: object - properties: - denom: - type: string - amount: - type: string - description: >- - Coin defines a token with a denomination and an amount. - - - NOTE: The amount field is an Int which implements the - custom method - - signatures required by gogoproto. - aggr_keyshare: - type: string - fairyring.pep.QueryLatestHeightResponse: - type: object - properties: - height: - type: string - format: uint64 - fairyring.pep.QueryParamsResponse: - type: object - properties: - params: - description: params holds all the parameters of this module. - type: object - properties: - keyshare_channel_id: - type: string - is_source_chain: - type: boolean - trusted_counter_parties: - type: array - items: - type: object - properties: - client_id: - type: string - connection_id: - type: string - channel_id: - type: string - trusted_addresses: - type: array - items: - type: string - min_gas_price: - type: object - properties: - denom: - type: string - amount: - type: string - description: >- - Coin defines a token with a denomination and an amount. - - - NOTE: The amount field is an Int which implements the custom - method - - signatures required by gogoproto. - description: QueryParamsResponse is response type for the Query/Params RPC method. - fairyring.pep.QueryPubKeyResponse: - type: object - properties: - activePubKey: - type: object - properties: - publicKey: - type: string - creator: - type: string - expiry: - type: string - format: uint64 - queuedPubKey: - type: object - properties: - publicKey: - type: string - creator: - type: string - expiry: - type: string - format: uint64 - ibc.applications.fee.v1.Fee: - type: object - properties: - recv_fee: - type: array - items: - type: object - properties: - denom: - type: string - amount: - type: string - description: |- - Coin defines a token with a denomination and an amount. - - NOTE: The amount field is an Int which implements the custom method - signatures required by gogoproto. - title: the packet receive fee - ack_fee: - type: array - items: - type: object - properties: - denom: - type: string - amount: - type: string - description: |- - Coin defines a token with a denomination and an amount. - - NOTE: The amount field is an Int which implements the custom method - signatures required by gogoproto. - title: the packet acknowledgement fee - timeout_fee: - type: array - items: - type: object - properties: - denom: - type: string - amount: - type: string - description: |- - Coin defines a token with a denomination and an amount. - - NOTE: The amount field is an Int which implements the custom method - signatures required by gogoproto. - title: the packet timeout fee - title: Fee defines the ICS29 receive, acknowledgement and timeout fees - ibc.applications.fee.v1.MsgPayPacketFee: - type: object - properties: - fee: - title: >- - fee encapsulates the recv, ack and timeout fees associated with an IBC - packet - type: object - properties: - recv_fee: - type: array - items: - type: object - properties: - denom: - type: string - amount: - type: string - description: >- - Coin defines a token with a denomination and an amount. - - - NOTE: The amount field is an Int which implements the custom - method - - signatures required by gogoproto. - title: the packet receive fee - ack_fee: - type: array - items: - type: object - properties: - denom: - type: string - amount: - type: string - description: >- - Coin defines a token with a denomination and an amount. - - - NOTE: The amount field is an Int which implements the custom - method - - signatures required by gogoproto. - title: the packet acknowledgement fee - timeout_fee: - type: array - items: - type: object - properties: - denom: - type: string - amount: - type: string - description: >- - Coin defines a token with a denomination and an amount. - - - NOTE: The amount field is an Int which implements the custom - method - - signatures required by gogoproto. - title: the packet timeout fee - source_port_id: - type: string - title: the source port unique identifier - source_channel_id: - type: string - title: the source channel unique identifer - signer: - type: string - title: account address to refund fee if necessary - relayers: - type: array - items: - type: string - title: optional list of relayers permitted to the receive packet fees - title: >- - MsgPayPacketFee defines the request type for the PayPacketFee rpc - - This Msg can be used to pay for a packet at the next sequence send & - should be combined with the Msg that will be - - paid for - ibc.applications.fee.v1.MsgPayPacketFeeAsync: - type: object - properties: - packet_id: - title: >- - unique packet identifier comprised of the channel ID, port ID and - sequence - type: object - properties: - port_id: - type: string - title: channel port identifier - channel_id: - type: string - title: channel unique identifier - sequence: - type: string - format: uint64 - title: packet sequence - packet_fee: - title: the packet fee associated with a particular IBC packet - type: object - properties: - fee: - title: >- - fee encapsulates the recv, ack and timeout fees associated with an - IBC packet - type: object - properties: - recv_fee: - type: array - items: - type: object - properties: - denom: - type: string - amount: - type: string - description: >- - Coin defines a token with a denomination and an amount. - - - NOTE: The amount field is an Int which implements the custom - method - - signatures required by gogoproto. - title: the packet receive fee - ack_fee: - type: array - items: - type: object - properties: - denom: - type: string - amount: - type: string - description: >- - Coin defines a token with a denomination and an amount. - - - NOTE: The amount field is an Int which implements the custom - method - - signatures required by gogoproto. - title: the packet acknowledgement fee - timeout_fee: - type: array - items: - type: object - properties: - denom: - type: string - amount: - type: string - description: >- - Coin defines a token with a denomination and an amount. - - - NOTE: The amount field is an Int which implements the custom - method - - signatures required by gogoproto. - title: the packet timeout fee - refund_address: - type: string - title: the refund address for unspent fees - relayers: - type: array - items: - type: string - title: optional list of relayers permitted to receive fees - title: >- - MsgPayPacketFeeAsync defines the request type for the PayPacketFeeAsync - rpc - - This Msg can be used to pay for a packet at a specified sequence (instead - of the next sequence send) - ibc.applications.fee.v1.MsgPayPacketFeeAsyncResponse: - type: object - title: >- - MsgPayPacketFeeAsyncResponse defines the response type for the - PayPacketFeeAsync rpc - ibc.applications.fee.v1.MsgPayPacketFeeResponse: - type: object - title: MsgPayPacketFeeResponse defines the response type for the PayPacketFee rpc - ibc.applications.fee.v1.MsgRegisterCounterpartyPayee: - type: object - properties: - port_id: - type: string - title: unique port identifier - channel_id: - type: string - title: unique channel identifier - relayer: - type: string - title: the relayer address - counterparty_payee: - type: string - title: the counterparty payee address - title: >- - MsgRegisterCounterpartyPayee defines the request type for the - RegisterCounterpartyPayee rpc - ibc.applications.fee.v1.MsgRegisterCounterpartyPayeeResponse: - type: object - title: >- - MsgRegisterCounterpartyPayeeResponse defines the response type for the - RegisterCounterpartyPayee rpc - ibc.applications.fee.v1.MsgRegisterPayee: - type: object - properties: - port_id: - type: string - title: unique port identifier - channel_id: - type: string - title: unique channel identifier - relayer: - type: string - title: the relayer address - payee: - type: string - title: the payee address - title: MsgRegisterPayee defines the request type for the RegisterPayee rpc - ibc.applications.fee.v1.MsgRegisterPayeeResponse: - type: object - title: >- - MsgRegisterPayeeResponse defines the response type for the RegisterPayee - rpc - ibc.applications.fee.v1.PacketFee: - type: object - properties: - fee: - title: >- - fee encapsulates the recv, ack and timeout fees associated with an IBC - packet - type: object - properties: - recv_fee: - type: array - items: - type: object - properties: - denom: - type: string - amount: - type: string - description: >- - Coin defines a token with a denomination and an amount. - - - NOTE: The amount field is an Int which implements the custom - method - - signatures required by gogoproto. - title: the packet receive fee - ack_fee: - type: array - items: - type: object - properties: - denom: - type: string - amount: - type: string - description: >- - Coin defines a token with a denomination and an amount. - - - NOTE: The amount field is an Int which implements the custom - method - - signatures required by gogoproto. - title: the packet acknowledgement fee - timeout_fee: - type: array - items: - type: object - properties: - denom: - type: string - amount: - type: string - description: >- - Coin defines a token with a denomination and an amount. - - - NOTE: The amount field is an Int which implements the custom - method - - signatures required by gogoproto. - title: the packet timeout fee - refund_address: - type: string - title: the refund address for unspent fees - relayers: - type: array - items: - type: string - title: optional list of relayers permitted to receive fees - title: >- - PacketFee contains ICS29 relayer fees, refund address and optional list of - permitted relayers - ibc.core.channel.v1.PacketId: - type: object - properties: - port_id: - type: string - title: channel port identifier - channel_id: - type: string - title: channel unique identifier - sequence: - type: string - format: uint64 - title: packet sequence - title: |- - PacketId is an identifer for a unique Packet - Source chains refer to packets by source port/channel - Destination chains refer to packets by destination port/channel - ibc.applications.interchain_accounts.controller.v1.MsgRegisterInterchainAccount: - type: object - properties: - owner: - type: string - connection_id: - type: string - version: - type: string - ordering: - type: string - enum: - - ORDER_NONE_UNSPECIFIED - - ORDER_UNORDERED - - ORDER_ORDERED - default: ORDER_NONE_UNSPECIFIED - description: |- - - ORDER_NONE_UNSPECIFIED: zero-value for channel ordering - - ORDER_UNORDERED: packets can be delivered in any order, which may differ from the order in - which they were sent. - - ORDER_ORDERED: packets are delivered exactly in the order which they were sent - title: Order defines if a channel is ORDERED or UNORDERED - title: MsgRegisterInterchainAccount defines the payload for Msg/RegisterAccount - ibc.applications.interchain_accounts.controller.v1.MsgRegisterInterchainAccountResponse: - type: object - properties: - channel_id: - type: string - port_id: - type: string - title: >- - MsgRegisterInterchainAccountResponse defines the response for - Msg/RegisterAccount - ibc.applications.interchain_accounts.controller.v1.MsgSendTx: - type: object - properties: - owner: - type: string - connection_id: - type: string - packet_data: - type: object - properties: - type: - type: string - enum: - - TYPE_UNSPECIFIED - - TYPE_EXECUTE_TX - default: TYPE_UNSPECIFIED - description: |- - - TYPE_UNSPECIFIED: Default zero value enumeration - - TYPE_EXECUTE_TX: Execute a transaction on an interchain accounts host chain - title: >- - Type defines a classification of message issued from a controller - chain to its associated interchain accounts - - host - data: - type: string - format: byte - memo: - type: string - description: >- - InterchainAccountPacketData is comprised of a raw transaction, type of - transaction and optional memo field. - relative_timeout: - type: string - format: uint64 - description: >- - Relative timeout timestamp provided will be added to the current block - time during transaction execution. - - The timeout timestamp must be non-zero. - title: MsgSendTx defines the payload for Msg/SendTx - ibc.applications.interchain_accounts.controller.v1.MsgSendTxResponse: - type: object - properties: - sequence: - type: string - format: uint64 - title: MsgSendTxResponse defines the response for MsgSendTx - ibc.applications.interchain_accounts.controller.v1.MsgUpdateParams: - type: object - properties: - signer: - type: string - title: signer address - params: - description: >- - params defines the 27-interchain-accounts/controller parameters to - update. - - - NOTE: All parameters must be supplied. - type: object - properties: - controller_enabled: - type: boolean - description: controller_enabled enables or disables the controller submodule. - title: MsgUpdateParams defines the payload for Msg/UpdateParams - ibc.applications.interchain_accounts.controller.v1.MsgUpdateParamsResponse: - type: object - title: MsgUpdateParamsResponse defines the response for Msg/UpdateParams - ibc.applications.interchain_accounts.controller.v1.Params: - type: object - properties: - controller_enabled: - type: boolean - description: controller_enabled enables or disables the controller submodule. - description: |- - Params defines the set of on-chain interchain accounts parameters. - The following parameters may be used to disable the controller submodule. - ibc.applications.interchain_accounts.v1.InterchainAccountPacketData: - type: object - properties: - type: - type: string - enum: - - TYPE_UNSPECIFIED - - TYPE_EXECUTE_TX - default: TYPE_UNSPECIFIED - description: |- - - TYPE_UNSPECIFIED: Default zero value enumeration - - TYPE_EXECUTE_TX: Execute a transaction on an interchain accounts host chain - title: >- - Type defines a classification of message issued from a controller - chain to its associated interchain accounts - - host - data: - type: string - format: byte - memo: - type: string - description: >- - InterchainAccountPacketData is comprised of a raw transaction, type of - transaction and optional memo field. - ibc.applications.interchain_accounts.v1.Type: - type: string - enum: - - TYPE_UNSPECIFIED - - TYPE_EXECUTE_TX - default: TYPE_UNSPECIFIED - description: |- - - TYPE_UNSPECIFIED: Default zero value enumeration - - TYPE_EXECUTE_TX: Execute a transaction on an interchain accounts host chain - title: >- - Type defines a classification of message issued from a controller chain to - its associated interchain accounts - - host - ibc.core.channel.v1.Order: - type: string - enum: - - ORDER_NONE_UNSPECIFIED - - ORDER_UNORDERED - - ORDER_ORDERED - default: ORDER_NONE_UNSPECIFIED - description: |- - - ORDER_NONE_UNSPECIFIED: zero-value for channel ordering - - ORDER_UNORDERED: packets can be delivered in any order, which may differ from the order in - which they were sent. - - ORDER_ORDERED: packets are delivered exactly in the order which they were sent - title: Order defines if a channel is ORDERED or UNORDERED - ibc.applications.interchain_accounts.host.v1.MsgUpdateParams: - type: object - properties: - signer: - type: string - title: signer address - params: - description: |- - params defines the 27-interchain-accounts/host parameters to update. - - NOTE: All parameters must be supplied. - type: object - properties: - host_enabled: - type: boolean - description: host_enabled enables or disables the host submodule. - allow_messages: - type: array - items: - type: string - description: >- - allow_messages defines a list of sdk message typeURLs allowed to - be executed on a host chain. - title: MsgUpdateParams defines the payload for Msg/UpdateParams - ibc.applications.interchain_accounts.host.v1.MsgUpdateParamsResponse: - type: object - title: MsgUpdateParamsResponse defines the response for Msg/UpdateParams - ibc.applications.interchain_accounts.host.v1.Params: - type: object - properties: - host_enabled: - type: boolean - description: host_enabled enables or disables the host submodule. - allow_messages: - type: array - items: - type: string - description: >- - allow_messages defines a list of sdk message typeURLs allowed to be - executed on a host chain. - description: |- - Params defines the set of on-chain interchain accounts parameters. - The following parameters may be used to disable the host submodule. - ibc.applications.transfer.v1.MsgTransfer: - type: object - properties: - source_port: - type: string - title: the port on which the packet will be sent - source_channel: - type: string - title: the channel by which the packet will be sent - token: - title: the tokens to be transferred - type: object - properties: - denom: - type: string - amount: - type: string - description: |- - Coin defines a token with a denomination and an amount. - - NOTE: The amount field is an Int which implements the custom method - signatures required by gogoproto. - sender: - type: string - title: the sender address - receiver: - type: string - title: the recipient address on the destination chain - timeout_height: - description: |- - Timeout height relative to the current block height. - The timeout is disabled when set to 0. - type: object - properties: - revision_number: - type: string - format: uint64 - title: the revision that the client is currently on - revision_height: - type: string - format: uint64 - title: the height within the given revision - title: >- - Height is a monotonically increasing data type - - that can be compared against another Height for the purposes of - updating and - - freezing clients - timeout_timestamp: - type: string - format: uint64 - description: |- - Timeout timestamp in absolute nanoseconds since unix epoch. - The timeout is disabled when set to 0. - memo: - type: string - title: optional memo - title: >- - MsgTransfer defines a msg to transfer fungible tokens (i.e Coins) between - - ICS20 enabled chains. See ICS Spec here: - - https://github.com/cosmos/ibc/tree/master/spec/app/ics-020-fungible-token-transfer#data-structures - ibc.applications.transfer.v1.MsgTransferResponse: - type: object - properties: - sequence: - type: string - format: uint64 - title: sequence number of the transfer packet sent - description: MsgTransferResponse defines the Msg/Transfer response type. - ibc.applications.transfer.v1.MsgUpdateParams: - type: object - properties: - signer: - type: string - title: signer address - params: - description: |- - params defines the transfer parameters to update. - - NOTE: All parameters must be supplied. - type: object - properties: - send_enabled: - type: boolean - description: >- - send_enabled enables or disables all cross-chain token transfers - from this - - chain. - receive_enabled: - type: boolean - description: >- - receive_enabled enables or disables all cross-chain token - transfers to this - - chain. - description: MsgUpdateParams is the Msg/UpdateParams request type. - ibc.applications.transfer.v1.MsgUpdateParamsResponse: - type: object - description: |- - MsgUpdateParamsResponse defines the response structure for executing a - MsgUpdateParams message. - ibc.applications.transfer.v1.Params: - type: object - properties: - send_enabled: - type: boolean - description: >- - send_enabled enables or disables all cross-chain token transfers from - this - - chain. - receive_enabled: - type: boolean - description: >- - receive_enabled enables or disables all cross-chain token transfers to - this - - chain. - description: >- - Params defines the set of IBC transfer parameters. - - NOTE: To prevent a single token from being transferred, set the - - TransfersEnabled parameter to true and then set the bank module's - SendEnabled - - parameter for the denomination to false. - ibc.core.client.v1.Height: - type: object - properties: - revision_number: - type: string - format: uint64 - title: the revision that the client is currently on - revision_height: - type: string - format: uint64 - title: the height within the given revision - description: |- - Normally the RevisionHeight is incremented at each height while keeping - RevisionNumber the same. However some consensus algorithms may choose to - reset the height in certain conditions e.g. hard forks, state-machine - breaking changes In these cases, the RevisionNumber is incremented so that - height continues to be monitonically increasing even as the RevisionHeight - gets reset - title: >- - Height is a monotonically increasing data type - - that can be compared against another Height for the purposes of updating - and - - freezing clients - cosmos.upgrade.v1beta1.Plan: - type: object - properties: - name: - type: string - description: >- - Sets the name for the upgrade. This name will be used by the upgraded - - version of the software to apply any special "on-upgrade" commands - during - - the first BeginBlock method after the upgrade is applied. It is also - used - - to detect whether a software version can handle a given upgrade. If no - - upgrade handler with this name has been set in the software, it will - be - - assumed that the software is out-of-date when the upgrade Time or - Height is - - reached and the software will exit. - time: - type: string - format: date-time - description: >- - Deprecated: Time based upgrades have been deprecated. Time based - upgrade logic - - has been removed from the SDK. - - If this field is not empty, an error will be thrown. - height: - type: string - format: int64 - description: The height at which the upgrade must be performed. - info: - type: string - title: |- - Any application specific upgrade info to be included on-chain - such as a git commit that validators could automatically upgrade to - upgraded_client_state: - description: >- - Deprecated: UpgradedClientState field has been deprecated. IBC upgrade - logic has been - - moved to the IBC module in the sub module 02-client. - - If this field is not empty, an error will be thrown. - type: object - properties: - '@type': - type: string - description: >- - A URL/resource name that uniquely identifies the type of the - serialized - - protocol buffer message. This string must contain at least - - one "/" character. The last segment of the URL's path must - represent - - the fully qualified name of the type (as in - - `path/google.protobuf.Duration`). The name should be in a - canonical form - - (e.g., leading "." is not accepted). - - - In practice, teams usually precompile into the binary all types - that they - - expect it to use in the context of Any. However, for URLs which - use the - - scheme `http`, `https`, or no scheme, one can optionally set up a - type - - server that maps type URLs to message definitions as follows: - - - * If no scheme is provided, `https` is assumed. - - * An HTTP GET on the URL must yield a [google.protobuf.Type][] - value in binary format, or produce an error. - * Applications are allowed to cache lookup results based on the - URL, or have them precompiled into a binary to avoid any - lookup. Therefore, binary compatibility needs to be preserved - on changes to types. (Use versioned type names to manage - breaking changes.) - - Note: this functionality is not currently available in the - official - - protobuf release, and it is not used for type URLs beginning with - - type.googleapis.com. As of May 2023, there are no widely used type - server - - implementations and no plans to implement one. - - - Schemes other than `http`, `https` (or the empty scheme) might be - - used with implementation specific semantics. - additionalProperties: {} - description: >- - Plan specifies information about a planned upgrade and when it should - occur. - ibc.core.client.v1.MsgCreateClient: - type: object - properties: - client_state: - title: light client state - type: object - properties: - '@type': - type: string - description: >- - A URL/resource name that uniquely identifies the type of the - serialized - - protocol buffer message. This string must contain at least - - one "/" character. The last segment of the URL's path must - represent - - the fully qualified name of the type (as in - - `path/google.protobuf.Duration`). The name should be in a - canonical form - - (e.g., leading "." is not accepted). - - - In practice, teams usually precompile into the binary all types - that they - - expect it to use in the context of Any. However, for URLs which - use the - - scheme `http`, `https`, or no scheme, one can optionally set up a - type - - server that maps type URLs to message definitions as follows: - - - * If no scheme is provided, `https` is assumed. - - * An HTTP GET on the URL must yield a [google.protobuf.Type][] - value in binary format, or produce an error. - * Applications are allowed to cache lookup results based on the - URL, or have them precompiled into a binary to avoid any - lookup. Therefore, binary compatibility needs to be preserved - on changes to types. (Use versioned type names to manage - breaking changes.) - - Note: this functionality is not currently available in the - official - - protobuf release, and it is not used for type URLs beginning with - - type.googleapis.com. As of May 2023, there are no widely used type - server - - implementations and no plans to implement one. - - - Schemes other than `http`, `https` (or the empty scheme) might be - - used with implementation specific semantics. - additionalProperties: {} - description: >- - `Any` contains an arbitrary serialized protocol buffer message along - with a - - URL that describes the type of the serialized message. - - - Protobuf library provides support to pack/unpack Any values in the - form - - of utility functions or additional generated methods of the Any type. - - - Example 1: Pack and unpack a message in C++. - - Foo foo = ...; - Any any; - any.PackFrom(foo); - ... - if (any.UnpackTo(&foo)) { - ... - } - - Example 2: Pack and unpack a message in Java. - - Foo foo = ...; - Any any = Any.pack(foo); - ... - if (any.is(Foo.class)) { - foo = any.unpack(Foo.class); - } - // or ... - if (any.isSameTypeAs(Foo.getDefaultInstance())) { - foo = any.unpack(Foo.getDefaultInstance()); - } - - Example 3: Pack and unpack a message in Python. - - foo = Foo(...) - any = Any() - any.Pack(foo) - ... - if any.Is(Foo.DESCRIPTOR): - any.Unpack(foo) - ... - - Example 4: Pack and unpack a message in Go - - foo := &pb.Foo{...} - any, err := anypb.New(foo) - if err != nil { - ... - } - ... - foo := &pb.Foo{} - if err := any.UnmarshalTo(foo); err != nil { - ... - } - - The pack methods provided by protobuf library will by default use - - 'type.googleapis.com/full.type.name' as the type URL and the unpack - - methods only use the fully qualified type name after the last '/' - - in the type URL, for example "foo.bar.com/x/y.z" will yield type - - name "y.z". - - - JSON - - ==== - - The JSON representation of an `Any` value uses the regular - - representation of the deserialized, embedded message, with an - - additional field `@type` which contains the type URL. Example: - - package google.profile; - message Person { - string first_name = 1; - string last_name = 2; - } - - { - "@type": "type.googleapis.com/google.profile.Person", - "firstName": , - "lastName": - } - - If the embedded message type is well-known and has a custom JSON - - representation, that representation will be embedded adding a field - - `value` which holds the custom JSON in addition to the `@type` - - field. Example (for message [google.protobuf.Duration][]): - - { - "@type": "type.googleapis.com/google.protobuf.Duration", - "value": "1.212s" - } - consensus_state: - description: |- - consensus state associated with the client that corresponds to a given - height. - type: object - properties: - '@type': - type: string - description: >- - A URL/resource name that uniquely identifies the type of the - serialized - - protocol buffer message. This string must contain at least - - one "/" character. The last segment of the URL's path must - represent - - the fully qualified name of the type (as in - - `path/google.protobuf.Duration`). The name should be in a - canonical form - - (e.g., leading "." is not accepted). - - - In practice, teams usually precompile into the binary all types - that they - - expect it to use in the context of Any. However, for URLs which - use the - - scheme `http`, `https`, or no scheme, one can optionally set up a - type - - server that maps type URLs to message definitions as follows: - - - * If no scheme is provided, `https` is assumed. - - * An HTTP GET on the URL must yield a [google.protobuf.Type][] - value in binary format, or produce an error. - * Applications are allowed to cache lookup results based on the - URL, or have them precompiled into a binary to avoid any - lookup. Therefore, binary compatibility needs to be preserved - on changes to types. (Use versioned type names to manage - breaking changes.) - - Note: this functionality is not currently available in the - official - - protobuf release, and it is not used for type URLs beginning with - - type.googleapis.com. As of May 2023, there are no widely used type - server - - implementations and no plans to implement one. - - - Schemes other than `http`, `https` (or the empty scheme) might be - - used with implementation specific semantics. - additionalProperties: {} - signer: - type: string - title: signer address - title: MsgCreateClient defines a message to create an IBC client - ibc.core.client.v1.MsgCreateClientResponse: - type: object - description: MsgCreateClientResponse defines the Msg/CreateClient response type. - ibc.core.client.v1.MsgIBCSoftwareUpgrade: - type: object - properties: - plan: - type: object - properties: - name: - type: string - description: >- - Sets the name for the upgrade. This name will be used by the - upgraded - - version of the software to apply any special "on-upgrade" commands - during - - the first BeginBlock method after the upgrade is applied. It is - also used - - to detect whether a software version can handle a given upgrade. - If no - - upgrade handler with this name has been set in the software, it - will be - - assumed that the software is out-of-date when the upgrade Time or - Height is - - reached and the software will exit. - time: - type: string - format: date-time - description: >- - Deprecated: Time based upgrades have been deprecated. Time based - upgrade logic - - has been removed from the SDK. - - If this field is not empty, an error will be thrown. - height: - type: string - format: int64 - description: The height at which the upgrade must be performed. - info: - type: string - title: >- - Any application specific upgrade info to be included on-chain - - such as a git commit that validators could automatically upgrade - to - upgraded_client_state: - description: >- - Deprecated: UpgradedClientState field has been deprecated. IBC - upgrade logic has been - - moved to the IBC module in the sub module 02-client. - - If this field is not empty, an error will be thrown. - type: object - properties: - '@type': - type: string - description: >- - A URL/resource name that uniquely identifies the type of the - serialized - - protocol buffer message. This string must contain at least - - one "/" character. The last segment of the URL's path must - represent - - the fully qualified name of the type (as in - - `path/google.protobuf.Duration`). The name should be in a - canonical form - - (e.g., leading "." is not accepted). - - - In practice, teams usually precompile into the binary all - types that they - - expect it to use in the context of Any. However, for URLs - which use the - - scheme `http`, `https`, or no scheme, one can optionally set - up a type - - server that maps type URLs to message definitions as follows: - - - * If no scheme is provided, `https` is assumed. - - * An HTTP GET on the URL must yield a [google.protobuf.Type][] - value in binary format, or produce an error. - * Applications are allowed to cache lookup results based on - the - URL, or have them precompiled into a binary to avoid any - lookup. Therefore, binary compatibility needs to be preserved - on changes to types. (Use versioned type names to manage - breaking changes.) - - Note: this functionality is not currently available in the - official - - protobuf release, and it is not used for type URLs beginning - with - - type.googleapis.com. As of May 2023, there are no widely used - type server - - implementations and no plans to implement one. - - - Schemes other than `http`, `https` (or the empty scheme) might - be - - used with implementation specific semantics. - additionalProperties: {} - description: >- - Plan specifies information about a planned upgrade and when it should - occur. - upgraded_client_state: - description: >- - An UpgradedClientState must be provided to perform an IBC breaking - upgrade. - - This will make the chain commit to the correct upgraded (self) client - state - - before the upgrade occurs, so that connecting chains can verify that - the - - new upgraded client is valid by verifying a proof on the previous - version - - of the chain. This will allow IBC connections to persist smoothly - across - - planned chain upgrades. Correspondingly, the UpgradedClientState field - has been - - deprecated in the Cosmos SDK to allow for this logic to exist solely - in - - the 02-client module. - type: object - properties: - '@type': - type: string - description: >- - A URL/resource name that uniquely identifies the type of the - serialized - - protocol buffer message. This string must contain at least - - one "/" character. The last segment of the URL's path must - represent - - the fully qualified name of the type (as in - - `path/google.protobuf.Duration`). The name should be in a - canonical form - - (e.g., leading "." is not accepted). - - - In practice, teams usually precompile into the binary all types - that they - - expect it to use in the context of Any. However, for URLs which - use the - - scheme `http`, `https`, or no scheme, one can optionally set up a - type - - server that maps type URLs to message definitions as follows: - - - * If no scheme is provided, `https` is assumed. - - * An HTTP GET on the URL must yield a [google.protobuf.Type][] - value in binary format, or produce an error. - * Applications are allowed to cache lookup results based on the - URL, or have them precompiled into a binary to avoid any - lookup. Therefore, binary compatibility needs to be preserved - on changes to types. (Use versioned type names to manage - breaking changes.) - - Note: this functionality is not currently available in the - official - - protobuf release, and it is not used for type URLs beginning with - - type.googleapis.com. As of May 2023, there are no widely used type - server - - implementations and no plans to implement one. - - - Schemes other than `http`, `https` (or the empty scheme) might be - - used with implementation specific semantics. - additionalProperties: {} - signer: - type: string - title: signer address - title: >- - MsgIBCSoftwareUpgrade defines the message used to schedule an upgrade of - an IBC client using a v1 governance proposal - ibc.core.client.v1.MsgIBCSoftwareUpgradeResponse: - type: object - description: >- - MsgIBCSoftwareUpgradeResponse defines the Msg/IBCSoftwareUpgrade response - type. - ibc.core.client.v1.MsgRecoverClient: - type: object - properties: - subject_client_id: - type: string - title: >- - the client identifier for the client to be updated if the proposal - passes - substitute_client_id: - type: string - title: >- - the substitute client identifier for the client which will replace the - subject - - client - signer: - type: string - title: signer address - description: >- - MsgRecoverClient defines the message used to recover a frozen or expired - client. - ibc.core.client.v1.MsgRecoverClientResponse: - type: object - description: MsgRecoverClientResponse defines the Msg/RecoverClient response type. - ibc.core.client.v1.MsgSubmitMisbehaviour: - type: object - properties: - client_id: - type: string - title: client unique identifier - misbehaviour: - title: misbehaviour used for freezing the light client - type: object - properties: - '@type': - type: string - description: >- - A URL/resource name that uniquely identifies the type of the - serialized - - protocol buffer message. This string must contain at least - - one "/" character. The last segment of the URL's path must - represent - - the fully qualified name of the type (as in - - `path/google.protobuf.Duration`). The name should be in a - canonical form - - (e.g., leading "." is not accepted). - - - In practice, teams usually precompile into the binary all types - that they - - expect it to use in the context of Any. However, for URLs which - use the - - scheme `http`, `https`, or no scheme, one can optionally set up a - type - - server that maps type URLs to message definitions as follows: - - - * If no scheme is provided, `https` is assumed. - - * An HTTP GET on the URL must yield a [google.protobuf.Type][] - value in binary format, or produce an error. - * Applications are allowed to cache lookup results based on the - URL, or have them precompiled into a binary to avoid any - lookup. Therefore, binary compatibility needs to be preserved - on changes to types. (Use versioned type names to manage - breaking changes.) - - Note: this functionality is not currently available in the - official - - protobuf release, and it is not used for type URLs beginning with - - type.googleapis.com. As of May 2023, there are no widely used type - server - - implementations and no plans to implement one. - - - Schemes other than `http`, `https` (or the empty scheme) might be - - used with implementation specific semantics. - additionalProperties: {} - description: >- - `Any` contains an arbitrary serialized protocol buffer message along - with a - - URL that describes the type of the serialized message. - - - Protobuf library provides support to pack/unpack Any values in the - form - - of utility functions or additional generated methods of the Any type. - - - Example 1: Pack and unpack a message in C++. - - Foo foo = ...; - Any any; - any.PackFrom(foo); - ... - if (any.UnpackTo(&foo)) { - ... - } - - Example 2: Pack and unpack a message in Java. - - Foo foo = ...; - Any any = Any.pack(foo); - ... - if (any.is(Foo.class)) { - foo = any.unpack(Foo.class); - } - // or ... - if (any.isSameTypeAs(Foo.getDefaultInstance())) { - foo = any.unpack(Foo.getDefaultInstance()); - } - - Example 3: Pack and unpack a message in Python. - - foo = Foo(...) - any = Any() - any.Pack(foo) - ... - if any.Is(Foo.DESCRIPTOR): - any.Unpack(foo) - ... - - Example 4: Pack and unpack a message in Go - - foo := &pb.Foo{...} - any, err := anypb.New(foo) - if err != nil { - ... - } - ... - foo := &pb.Foo{} - if err := any.UnmarshalTo(foo); err != nil { - ... - } - - The pack methods provided by protobuf library will by default use - - 'type.googleapis.com/full.type.name' as the type URL and the unpack - - methods only use the fully qualified type name after the last '/' - - in the type URL, for example "foo.bar.com/x/y.z" will yield type - - name "y.z". - - - JSON - - ==== - - The JSON representation of an `Any` value uses the regular - - representation of the deserialized, embedded message, with an - - additional field `@type` which contains the type URL. Example: - - package google.profile; - message Person { - string first_name = 1; - string last_name = 2; - } - - { - "@type": "type.googleapis.com/google.profile.Person", - "firstName": , - "lastName": - } - - If the embedded message type is well-known and has a custom JSON - - representation, that representation will be embedded adding a field - - `value` which holds the custom JSON in addition to the `@type` - - field. Example (for message [google.protobuf.Duration][]): - - { - "@type": "type.googleapis.com/google.protobuf.Duration", - "value": "1.212s" - } - signer: - type: string - title: signer address - description: |- - MsgSubmitMisbehaviour defines an sdk.Msg type that submits Evidence for - light client misbehaviour. - This message has been deprecated. Use MsgUpdateClient instead. - ibc.core.client.v1.MsgSubmitMisbehaviourResponse: - type: object - description: |- - MsgSubmitMisbehaviourResponse defines the Msg/SubmitMisbehaviour response - type. - ibc.core.client.v1.MsgUpdateClient: - type: object - properties: - client_id: - type: string - title: client unique identifier - client_message: - title: client message to update the light client - type: object - properties: - '@type': - type: string - description: >- - A URL/resource name that uniquely identifies the type of the - serialized - - protocol buffer message. This string must contain at least - - one "/" character. The last segment of the URL's path must - represent - - the fully qualified name of the type (as in - - `path/google.protobuf.Duration`). The name should be in a - canonical form - - (e.g., leading "." is not accepted). - - - In practice, teams usually precompile into the binary all types - that they - - expect it to use in the context of Any. However, for URLs which - use the - - scheme `http`, `https`, or no scheme, one can optionally set up a - type - - server that maps type URLs to message definitions as follows: - - - * If no scheme is provided, `https` is assumed. - - * An HTTP GET on the URL must yield a [google.protobuf.Type][] - value in binary format, or produce an error. - * Applications are allowed to cache lookup results based on the - URL, or have them precompiled into a binary to avoid any - lookup. Therefore, binary compatibility needs to be preserved - on changes to types. (Use versioned type names to manage - breaking changes.) - - Note: this functionality is not currently available in the - official - - protobuf release, and it is not used for type URLs beginning with - - type.googleapis.com. As of May 2023, there are no widely used type - server - - implementations and no plans to implement one. - - - Schemes other than `http`, `https` (or the empty scheme) might be - - used with implementation specific semantics. - additionalProperties: {} - description: >- - `Any` contains an arbitrary serialized protocol buffer message along - with a - - URL that describes the type of the serialized message. - - - Protobuf library provides support to pack/unpack Any values in the - form - - of utility functions or additional generated methods of the Any type. - - - Example 1: Pack and unpack a message in C++. - - Foo foo = ...; - Any any; - any.PackFrom(foo); - ... - if (any.UnpackTo(&foo)) { - ... - } - - Example 2: Pack and unpack a message in Java. - - Foo foo = ...; - Any any = Any.pack(foo); - ... - if (any.is(Foo.class)) { - foo = any.unpack(Foo.class); - } - // or ... - if (any.isSameTypeAs(Foo.getDefaultInstance())) { - foo = any.unpack(Foo.getDefaultInstance()); - } - - Example 3: Pack and unpack a message in Python. - - foo = Foo(...) - any = Any() - any.Pack(foo) - ... - if any.Is(Foo.DESCRIPTOR): - any.Unpack(foo) - ... - - Example 4: Pack and unpack a message in Go - - foo := &pb.Foo{...} - any, err := anypb.New(foo) - if err != nil { - ... - } - ... - foo := &pb.Foo{} - if err := any.UnmarshalTo(foo); err != nil { - ... - } - - The pack methods provided by protobuf library will by default use - - 'type.googleapis.com/full.type.name' as the type URL and the unpack - - methods only use the fully qualified type name after the last '/' - - in the type URL, for example "foo.bar.com/x/y.z" will yield type - - name "y.z". - - - JSON - - ==== - - The JSON representation of an `Any` value uses the regular - - representation of the deserialized, embedded message, with an - - additional field `@type` which contains the type URL. Example: - - package google.profile; - message Person { - string first_name = 1; - string last_name = 2; - } - - { - "@type": "type.googleapis.com/google.profile.Person", - "firstName": , - "lastName": - } - - If the embedded message type is well-known and has a custom JSON - - representation, that representation will be embedded adding a field - - `value` which holds the custom JSON in addition to the `@type` - - field. Example (for message [google.protobuf.Duration][]): - - { - "@type": "type.googleapis.com/google.protobuf.Duration", - "value": "1.212s" - } - signer: - type: string - title: signer address - description: |- - MsgUpdateClient defines an sdk.Msg to update a IBC client state using - the given client message. - ibc.core.client.v1.MsgUpdateClientResponse: - type: object - description: MsgUpdateClientResponse defines the Msg/UpdateClient response type. - ibc.core.client.v1.MsgUpdateParams: - type: object - properties: - signer: - type: string - title: signer address - params: - description: |- - params defines the client parameters to update. - - NOTE: All parameters must be supplied. - type: object - properties: - allowed_clients: - type: array - items: - type: string - description: >- - allowed_clients defines the list of allowed client state types - which can be created - - and interacted with. If a client type is removed from the allowed - clients list, usage - - of this client will be disabled until it is added again to the - list. - description: MsgUpdateParams defines the sdk.Msg type to update the client parameters. - ibc.core.client.v1.MsgUpdateParamsResponse: - type: object - description: MsgUpdateParamsResponse defines the MsgUpdateParams response type. - ibc.core.client.v1.MsgUpgradeClient: - type: object - properties: - client_id: - type: string - title: client unique identifier - client_state: - title: upgraded client state - type: object - properties: - '@type': - type: string - description: >- - A URL/resource name that uniquely identifies the type of the - serialized - - protocol buffer message. This string must contain at least - - one "/" character. The last segment of the URL's path must - represent - - the fully qualified name of the type (as in - - `path/google.protobuf.Duration`). The name should be in a - canonical form - - (e.g., leading "." is not accepted). - - - In practice, teams usually precompile into the binary all types - that they - - expect it to use in the context of Any. However, for URLs which - use the - - scheme `http`, `https`, or no scheme, one can optionally set up a - type - - server that maps type URLs to message definitions as follows: - - - * If no scheme is provided, `https` is assumed. - - * An HTTP GET on the URL must yield a [google.protobuf.Type][] - value in binary format, or produce an error. - * Applications are allowed to cache lookup results based on the - URL, or have them precompiled into a binary to avoid any - lookup. Therefore, binary compatibility needs to be preserved - on changes to types. (Use versioned type names to manage - breaking changes.) - - Note: this functionality is not currently available in the - official - - protobuf release, and it is not used for type URLs beginning with - - type.googleapis.com. As of May 2023, there are no widely used type - server - - implementations and no plans to implement one. - - - Schemes other than `http`, `https` (or the empty scheme) might be - - used with implementation specific semantics. - additionalProperties: {} - description: >- - `Any` contains an arbitrary serialized protocol buffer message along - with a - - URL that describes the type of the serialized message. - - - Protobuf library provides support to pack/unpack Any values in the - form - - of utility functions or additional generated methods of the Any type. - - - Example 1: Pack and unpack a message in C++. - - Foo foo = ...; - Any any; - any.PackFrom(foo); - ... - if (any.UnpackTo(&foo)) { - ... - } - - Example 2: Pack and unpack a message in Java. - - Foo foo = ...; - Any any = Any.pack(foo); - ... - if (any.is(Foo.class)) { - foo = any.unpack(Foo.class); - } - // or ... - if (any.isSameTypeAs(Foo.getDefaultInstance())) { - foo = any.unpack(Foo.getDefaultInstance()); - } - - Example 3: Pack and unpack a message in Python. - - foo = Foo(...) - any = Any() - any.Pack(foo) - ... - if any.Is(Foo.DESCRIPTOR): - any.Unpack(foo) - ... - - Example 4: Pack and unpack a message in Go - - foo := &pb.Foo{...} - any, err := anypb.New(foo) - if err != nil { - ... - } - ... - foo := &pb.Foo{} - if err := any.UnmarshalTo(foo); err != nil { - ... - } - - The pack methods provided by protobuf library will by default use - - 'type.googleapis.com/full.type.name' as the type URL and the unpack - - methods only use the fully qualified type name after the last '/' - - in the type URL, for example "foo.bar.com/x/y.z" will yield type - - name "y.z". - - - JSON - - ==== - - The JSON representation of an `Any` value uses the regular - - representation of the deserialized, embedded message, with an - - additional field `@type` which contains the type URL. Example: - - package google.profile; - message Person { - string first_name = 1; - string last_name = 2; - } - - { - "@type": "type.googleapis.com/google.profile.Person", - "firstName": , - "lastName": - } - - If the embedded message type is well-known and has a custom JSON - - representation, that representation will be embedded adding a field - - `value` which holds the custom JSON in addition to the `@type` - - field. Example (for message [google.protobuf.Duration][]): - - { - "@type": "type.googleapis.com/google.protobuf.Duration", - "value": "1.212s" - } - consensus_state: - title: >- - upgraded consensus state, only contains enough information to serve as - a - - basis of trust in update logic - type: object - properties: - '@type': - type: string - description: >- - A URL/resource name that uniquely identifies the type of the - serialized - - protocol buffer message. This string must contain at least - - one "/" character. The last segment of the URL's path must - represent - - the fully qualified name of the type (as in - - `path/google.protobuf.Duration`). The name should be in a - canonical form - - (e.g., leading "." is not accepted). - - - In practice, teams usually precompile into the binary all types - that they - - expect it to use in the context of Any. However, for URLs which - use the - - scheme `http`, `https`, or no scheme, one can optionally set up a - type - - server that maps type URLs to message definitions as follows: - - - * If no scheme is provided, `https` is assumed. - - * An HTTP GET on the URL must yield a [google.protobuf.Type][] - value in binary format, or produce an error. - * Applications are allowed to cache lookup results based on the - URL, or have them precompiled into a binary to avoid any - lookup. Therefore, binary compatibility needs to be preserved - on changes to types. (Use versioned type names to manage - breaking changes.) - - Note: this functionality is not currently available in the - official - - protobuf release, and it is not used for type URLs beginning with - - type.googleapis.com. As of May 2023, there are no widely used type - server - - implementations and no plans to implement one. - - - Schemes other than `http`, `https` (or the empty scheme) might be - - used with implementation specific semantics. - additionalProperties: {} - description: >- - `Any` contains an arbitrary serialized protocol buffer message along - with a - - URL that describes the type of the serialized message. - - - Protobuf library provides support to pack/unpack Any values in the - form - - of utility functions or additional generated methods of the Any type. - - - Example 1: Pack and unpack a message in C++. - - Foo foo = ...; - Any any; - any.PackFrom(foo); - ... - if (any.UnpackTo(&foo)) { - ... - } - - Example 2: Pack and unpack a message in Java. - - Foo foo = ...; - Any any = Any.pack(foo); - ... - if (any.is(Foo.class)) { - foo = any.unpack(Foo.class); - } - // or ... - if (any.isSameTypeAs(Foo.getDefaultInstance())) { - foo = any.unpack(Foo.getDefaultInstance()); - } - - Example 3: Pack and unpack a message in Python. - - foo = Foo(...) - any = Any() - any.Pack(foo) - ... - if any.Is(Foo.DESCRIPTOR): - any.Unpack(foo) - ... - - Example 4: Pack and unpack a message in Go - - foo := &pb.Foo{...} - any, err := anypb.New(foo) - if err != nil { - ... - } - ... - foo := &pb.Foo{} - if err := any.UnmarshalTo(foo); err != nil { - ... - } - - The pack methods provided by protobuf library will by default use - - 'type.googleapis.com/full.type.name' as the type URL and the unpack - - methods only use the fully qualified type name after the last '/' - - in the type URL, for example "foo.bar.com/x/y.z" will yield type - - name "y.z". - - - JSON - - ==== - - The JSON representation of an `Any` value uses the regular - - representation of the deserialized, embedded message, with an - - additional field `@type` which contains the type URL. Example: - - package google.profile; - message Person { - string first_name = 1; - string last_name = 2; - } - - { - "@type": "type.googleapis.com/google.profile.Person", - "firstName": , - "lastName": - } - - If the embedded message type is well-known and has a custom JSON - - representation, that representation will be embedded adding a field - - `value` which holds the custom JSON in addition to the `@type` - - field. Example (for message [google.protobuf.Duration][]): - - { - "@type": "type.googleapis.com/google.protobuf.Duration", - "value": "1.212s" - } - proof_upgrade_client: - type: string - format: byte - title: proof that old chain committed to new client - proof_upgrade_consensus_state: - type: string - format: byte - title: proof that old chain committed to new consensus state - signer: - type: string - title: signer address - title: >- - MsgUpgradeClient defines an sdk.Msg to upgrade an IBC client to a new - client - - state - ibc.core.client.v1.MsgUpgradeClientResponse: - type: object - description: MsgUpgradeClientResponse defines the Msg/UpgradeClient response type. - ibc.core.client.v1.Params: - type: object - properties: - allowed_clients: - type: array - items: - type: string - description: >- - allowed_clients defines the list of allowed client state types which - can be created - - and interacted with. If a client type is removed from the allowed - clients list, usage - - of this client will be disabled until it is added again to the list. - description: Params defines the set of IBC light client parameters. - ibc.core.commitment.v1.MerklePrefix: - type: object - properties: - key_prefix: - type: string - format: byte - title: |- - MerklePrefix is merkle path prefixed to the key. - The constructed key from the Path and the key will be append(Path.KeyPath, - append(Path.KeyPrefix, key...)) - ibc.core.connection.v1.Counterparty: - type: object - properties: - client_id: - type: string - description: >- - identifies the client on the counterparty chain associated with a - given - - connection. - connection_id: - type: string - description: >- - identifies the connection end on the counterparty chain associated - with a - - given connection. - prefix: - description: commitment merkle prefix of the counterparty chain. - type: object - properties: - key_prefix: - type: string - format: byte - title: >- - MerklePrefix is merkle path prefixed to the key. - - The constructed key from the Path and the key will be - append(Path.KeyPath, - - append(Path.KeyPrefix, key...)) - description: >- - Counterparty defines the counterparty chain associated with a connection - end. - ibc.core.connection.v1.MsgConnectionOpenAck: - type: object - properties: - connection_id: - type: string - counterparty_connection_id: - type: string - version: - type: object - properties: - identifier: - type: string - title: unique version identifier - features: - type: array - items: - type: string - title: list of features compatible with the specified identifier - description: >- - Version defines the versioning scheme used to negotiate the IBC - verison in - - the connection handshake. - client_state: - type: object - properties: - '@type': - type: string - description: >- - A URL/resource name that uniquely identifies the type of the - serialized - - protocol buffer message. This string must contain at least - - one "/" character. The last segment of the URL's path must - represent - - the fully qualified name of the type (as in - - `path/google.protobuf.Duration`). The name should be in a - canonical form - - (e.g., leading "." is not accepted). - - - In practice, teams usually precompile into the binary all types - that they - - expect it to use in the context of Any. However, for URLs which - use the - - scheme `http`, `https`, or no scheme, one can optionally set up a - type - - server that maps type URLs to message definitions as follows: - - - * If no scheme is provided, `https` is assumed. - - * An HTTP GET on the URL must yield a [google.protobuf.Type][] - value in binary format, or produce an error. - * Applications are allowed to cache lookup results based on the - URL, or have them precompiled into a binary to avoid any - lookup. Therefore, binary compatibility needs to be preserved - on changes to types. (Use versioned type names to manage - breaking changes.) - - Note: this functionality is not currently available in the - official - - protobuf release, and it is not used for type URLs beginning with - - type.googleapis.com. As of May 2023, there are no widely used type - server - - implementations and no plans to implement one. - - - Schemes other than `http`, `https` (or the empty scheme) might be - - used with implementation specific semantics. - additionalProperties: {} - description: >- - `Any` contains an arbitrary serialized protocol buffer message along - with a - - URL that describes the type of the serialized message. - - - Protobuf library provides support to pack/unpack Any values in the - form - - of utility functions or additional generated methods of the Any type. - - - Example 1: Pack and unpack a message in C++. - - Foo foo = ...; - Any any; - any.PackFrom(foo); - ... - if (any.UnpackTo(&foo)) { - ... - } - - Example 2: Pack and unpack a message in Java. - - Foo foo = ...; - Any any = Any.pack(foo); - ... - if (any.is(Foo.class)) { - foo = any.unpack(Foo.class); - } - // or ... - if (any.isSameTypeAs(Foo.getDefaultInstance())) { - foo = any.unpack(Foo.getDefaultInstance()); - } - - Example 3: Pack and unpack a message in Python. - - foo = Foo(...) - any = Any() - any.Pack(foo) - ... - if any.Is(Foo.DESCRIPTOR): - any.Unpack(foo) - ... - - Example 4: Pack and unpack a message in Go - - foo := &pb.Foo{...} - any, err := anypb.New(foo) - if err != nil { - ... - } - ... - foo := &pb.Foo{} - if err := any.UnmarshalTo(foo); err != nil { - ... - } - - The pack methods provided by protobuf library will by default use - - 'type.googleapis.com/full.type.name' as the type URL and the unpack - - methods only use the fully qualified type name after the last '/' - - in the type URL, for example "foo.bar.com/x/y.z" will yield type - - name "y.z". - - - JSON - - ==== - - The JSON representation of an `Any` value uses the regular - - representation of the deserialized, embedded message, with an - - additional field `@type` which contains the type URL. Example: - - package google.profile; - message Person { - string first_name = 1; - string last_name = 2; - } - - { - "@type": "type.googleapis.com/google.profile.Person", - "firstName": , - "lastName": - } - - If the embedded message type is well-known and has a custom JSON - - representation, that representation will be embedded adding a field - - `value` which holds the custom JSON in addition to the `@type` - - field. Example (for message [google.protobuf.Duration][]): - - { - "@type": "type.googleapis.com/google.protobuf.Duration", - "value": "1.212s" - } - proof_height: - type: object - properties: - revision_number: - type: string - format: uint64 - title: the revision that the client is currently on - revision_height: - type: string - format: uint64 - title: the height within the given revision - description: >- - Normally the RevisionHeight is incremented at each height while - keeping - - RevisionNumber the same. However some consensus algorithms may choose - to - - reset the height in certain conditions e.g. hard forks, state-machine - - breaking changes In these cases, the RevisionNumber is incremented so - that - - height continues to be monitonically increasing even as the - RevisionHeight - - gets reset - title: >- - Height is a monotonically increasing data type - - that can be compared against another Height for the purposes of - updating and - - freezing clients - proof_try: - type: string - format: byte - title: |- - proof of the initialization the connection on Chain B: `UNITIALIZED -> - TRYOPEN` - proof_client: - type: string - format: byte - title: proof of client state included in message - proof_consensus: - type: string - format: byte - title: proof of client consensus state - consensus_height: - type: object - properties: - revision_number: - type: string - format: uint64 - title: the revision that the client is currently on - revision_height: - type: string - format: uint64 - title: the height within the given revision - description: >- - Normally the RevisionHeight is incremented at each height while - keeping - - RevisionNumber the same. However some consensus algorithms may choose - to - - reset the height in certain conditions e.g. hard forks, state-machine - - breaking changes In these cases, the RevisionNumber is incremented so - that - - height continues to be monitonically increasing even as the - RevisionHeight - - gets reset - title: >- - Height is a monotonically increasing data type - - that can be compared against another Height for the purposes of - updating and - - freezing clients - signer: - type: string - host_consensus_state_proof: - type: string - format: byte - title: >- - optional proof data for host state machines that are unable to - introspect their own consensus state - description: |- - MsgConnectionOpenAck defines a msg sent by a Relayer to Chain A to - acknowledge the change of connection state to TRYOPEN on Chain B. - ibc.core.connection.v1.MsgConnectionOpenAckResponse: - type: object - description: >- - MsgConnectionOpenAckResponse defines the Msg/ConnectionOpenAck response - type. - ibc.core.connection.v1.MsgConnectionOpenConfirm: - type: object - properties: - connection_id: - type: string - proof_ack: - type: string - format: byte - title: >- - proof for the change of the connection state on Chain A: `INIT -> - OPEN` - proof_height: - type: object - properties: - revision_number: - type: string - format: uint64 - title: the revision that the client is currently on - revision_height: - type: string - format: uint64 - title: the height within the given revision - description: >- - Normally the RevisionHeight is incremented at each height while - keeping - - RevisionNumber the same. However some consensus algorithms may choose - to - - reset the height in certain conditions e.g. hard forks, state-machine - - breaking changes In these cases, the RevisionNumber is incremented so - that - - height continues to be monitonically increasing even as the - RevisionHeight - - gets reset - title: >- - Height is a monotonically increasing data type - - that can be compared against another Height for the purposes of - updating and - - freezing clients - signer: - type: string - description: |- - MsgConnectionOpenConfirm defines a msg sent by a Relayer to Chain B to - acknowledge the change of connection state to OPEN on Chain A. - ibc.core.connection.v1.MsgConnectionOpenConfirmResponse: - type: object - description: |- - MsgConnectionOpenConfirmResponse defines the Msg/ConnectionOpenConfirm - response type. - ibc.core.connection.v1.MsgConnectionOpenInit: - type: object - properties: - client_id: - type: string - counterparty: - type: object - properties: - client_id: - type: string - description: >- - identifies the client on the counterparty chain associated with a - given - - connection. - connection_id: - type: string - description: >- - identifies the connection end on the counterparty chain associated - with a - - given connection. - prefix: - description: commitment merkle prefix of the counterparty chain. - type: object - properties: - key_prefix: - type: string - format: byte - title: >- - MerklePrefix is merkle path prefixed to the key. - - The constructed key from the Path and the key will be - append(Path.KeyPath, - - append(Path.KeyPrefix, key...)) - description: >- - Counterparty defines the counterparty chain associated with a - connection end. - version: - type: object - properties: - identifier: - type: string - title: unique version identifier - features: - type: array - items: - type: string - title: list of features compatible with the specified identifier - description: >- - Version defines the versioning scheme used to negotiate the IBC - verison in - - the connection handshake. - delay_period: - type: string - format: uint64 - signer: - type: string - description: |- - MsgConnectionOpenInit defines the msg sent by an account on Chain A to - initialize a connection with Chain B. - ibc.core.connection.v1.MsgConnectionOpenInitResponse: - type: object - description: |- - MsgConnectionOpenInitResponse defines the Msg/ConnectionOpenInit response - type. - ibc.core.connection.v1.MsgConnectionOpenTry: - type: object - properties: - client_id: - type: string - previous_connection_id: - type: string - description: >- - Deprecated: this field is unused. Crossing hellos are no longer - supported in core IBC. - client_state: - type: object - properties: - '@type': - type: string - description: >- - A URL/resource name that uniquely identifies the type of the - serialized - - protocol buffer message. This string must contain at least - - one "/" character. The last segment of the URL's path must - represent - - the fully qualified name of the type (as in - - `path/google.protobuf.Duration`). The name should be in a - canonical form - - (e.g., leading "." is not accepted). - - - In practice, teams usually precompile into the binary all types - that they - - expect it to use in the context of Any. However, for URLs which - use the - - scheme `http`, `https`, or no scheme, one can optionally set up a - type - - server that maps type URLs to message definitions as follows: - - - * If no scheme is provided, `https` is assumed. - - * An HTTP GET on the URL must yield a [google.protobuf.Type][] - value in binary format, or produce an error. - * Applications are allowed to cache lookup results based on the - URL, or have them precompiled into a binary to avoid any - lookup. Therefore, binary compatibility needs to be preserved - on changes to types. (Use versioned type names to manage - breaking changes.) - - Note: this functionality is not currently available in the - official - - protobuf release, and it is not used for type URLs beginning with - - type.googleapis.com. As of May 2023, there are no widely used type - server - - implementations and no plans to implement one. - - - Schemes other than `http`, `https` (or the empty scheme) might be - - used with implementation specific semantics. - additionalProperties: {} - description: >- - `Any` contains an arbitrary serialized protocol buffer message along - with a - - URL that describes the type of the serialized message. - - - Protobuf library provides support to pack/unpack Any values in the - form - - of utility functions or additional generated methods of the Any type. - - - Example 1: Pack and unpack a message in C++. - - Foo foo = ...; - Any any; - any.PackFrom(foo); - ... - if (any.UnpackTo(&foo)) { - ... - } - - Example 2: Pack and unpack a message in Java. - - Foo foo = ...; - Any any = Any.pack(foo); - ... - if (any.is(Foo.class)) { - foo = any.unpack(Foo.class); - } - // or ... - if (any.isSameTypeAs(Foo.getDefaultInstance())) { - foo = any.unpack(Foo.getDefaultInstance()); - } - - Example 3: Pack and unpack a message in Python. - - foo = Foo(...) - any = Any() - any.Pack(foo) - ... - if any.Is(Foo.DESCRIPTOR): - any.Unpack(foo) - ... - - Example 4: Pack and unpack a message in Go - - foo := &pb.Foo{...} - any, err := anypb.New(foo) - if err != nil { - ... - } - ... - foo := &pb.Foo{} - if err := any.UnmarshalTo(foo); err != nil { - ... - } - - The pack methods provided by protobuf library will by default use - - 'type.googleapis.com/full.type.name' as the type URL and the unpack - - methods only use the fully qualified type name after the last '/' - - in the type URL, for example "foo.bar.com/x/y.z" will yield type - - name "y.z". - - - JSON - - ==== - - The JSON representation of an `Any` value uses the regular - - representation of the deserialized, embedded message, with an - - additional field `@type` which contains the type URL. Example: - - package google.profile; - message Person { - string first_name = 1; - string last_name = 2; - } - - { - "@type": "type.googleapis.com/google.profile.Person", - "firstName": , - "lastName": - } - - If the embedded message type is well-known and has a custom JSON - - representation, that representation will be embedded adding a field - - `value` which holds the custom JSON in addition to the `@type` - - field. Example (for message [google.protobuf.Duration][]): - - { - "@type": "type.googleapis.com/google.protobuf.Duration", - "value": "1.212s" - } - counterparty: - type: object - properties: - client_id: - type: string - description: >- - identifies the client on the counterparty chain associated with a - given - - connection. - connection_id: - type: string - description: >- - identifies the connection end on the counterparty chain associated - with a - - given connection. - prefix: - description: commitment merkle prefix of the counterparty chain. - type: object - properties: - key_prefix: - type: string - format: byte - title: >- - MerklePrefix is merkle path prefixed to the key. - - The constructed key from the Path and the key will be - append(Path.KeyPath, - - append(Path.KeyPrefix, key...)) - description: >- - Counterparty defines the counterparty chain associated with a - connection end. - delay_period: - type: string - format: uint64 - counterparty_versions: - type: array - items: - type: object - properties: - identifier: - type: string - title: unique version identifier - features: - type: array - items: - type: string - title: list of features compatible with the specified identifier - description: >- - Version defines the versioning scheme used to negotiate the IBC - verison in - - the connection handshake. - proof_height: - type: object - properties: - revision_number: - type: string - format: uint64 - title: the revision that the client is currently on - revision_height: - type: string - format: uint64 - title: the height within the given revision - description: >- - Normally the RevisionHeight is incremented at each height while - keeping - - RevisionNumber the same. However some consensus algorithms may choose - to - - reset the height in certain conditions e.g. hard forks, state-machine - - breaking changes In these cases, the RevisionNumber is incremented so - that - - height continues to be monitonically increasing even as the - RevisionHeight - - gets reset - title: >- - Height is a monotonically increasing data type - - that can be compared against another Height for the purposes of - updating and - - freezing clients - proof_init: - type: string - format: byte - title: |- - proof of the initialization the connection on Chain A: `UNITIALIZED -> - INIT` - proof_client: - type: string - format: byte - title: proof of client state included in message - proof_consensus: - type: string - format: byte - title: proof of client consensus state - consensus_height: - type: object - properties: - revision_number: - type: string - format: uint64 - title: the revision that the client is currently on - revision_height: - type: string - format: uint64 - title: the height within the given revision - description: >- - Normally the RevisionHeight is incremented at each height while - keeping - - RevisionNumber the same. However some consensus algorithms may choose - to - - reset the height in certain conditions e.g. hard forks, state-machine - - breaking changes In these cases, the RevisionNumber is incremented so - that - - height continues to be monitonically increasing even as the - RevisionHeight - - gets reset - title: >- - Height is a monotonically increasing data type - - that can be compared against another Height for the purposes of - updating and - - freezing clients - signer: - type: string - host_consensus_state_proof: - type: string - format: byte - title: >- - optional proof data for host state machines that are unable to - introspect their own consensus state - description: |- - MsgConnectionOpenTry defines a msg sent by a Relayer to try to open a - connection on Chain B. - ibc.core.connection.v1.MsgConnectionOpenTryResponse: - type: object - description: >- - MsgConnectionOpenTryResponse defines the Msg/ConnectionOpenTry response - type. - ibc.core.connection.v1.MsgUpdateParams: - type: object - properties: - signer: - type: string - title: signer address - params: - description: |- - params defines the connection parameters to update. - - NOTE: All parameters must be supplied. - type: object - properties: - max_expected_time_per_block: - type: string - format: uint64 - description: >- - maximum expected time per block (in nanoseconds), used to enforce - block delay. This parameter should reflect the - - largest amount of time that the chain might reasonably take to - produce the next block under normal operating - - conditions. A safe choice is 3-5x the expected time per block. - description: >- - MsgUpdateParams defines the sdk.Msg type to update the connection - parameters. - ibc.core.connection.v1.MsgUpdateParamsResponse: - type: object - description: MsgUpdateParamsResponse defines the MsgUpdateParams response type. - ibc.core.connection.v1.Params: - type: object - properties: - max_expected_time_per_block: - type: string - format: uint64 - description: >- - maximum expected time per block (in nanoseconds), used to enforce - block delay. This parameter should reflect the - - largest amount of time that the chain might reasonably take to produce - the next block under normal operating - - conditions. A safe choice is 3-5x the expected time per block. - description: Params defines the set of Connection parameters. - ibc.core.connection.v1.Version: - type: object - properties: - identifier: - type: string - title: unique version identifier - features: - type: array - items: - type: string - title: list of features compatible with the specified identifier - description: |- - Version defines the versioning scheme used to negotiate the IBC verison in - the connection handshake. +{"id":"github.com/Fairblock/fairyring","consumes":["application/json"],"produces":["application/json"],"swagger":"2.0","info":{"description":"Chain github.com/Fairblock/fairyring REST API","title":"HTTP API Console","contact":{"name":"github.com/Fairblock/fairyring"},"version":"version not set"},"paths":{"/Fairblock/fairyring/pep/decrypt_data/{aggrKeyshare}/{encryptedData}":{"get":{"tags":["Query"],"summary":"Queries a list of DecryptData items.","operationId":"GithubComFairblockfairyringQuery_DecryptData","parameters":[{"type":"string","name":"aggrKeyshare","in":"path","required":true},{"type":"string","name":"encryptedData","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/fairyring.pep.QueryDecryptDataResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/Fairblock/fairyring/pep/show_private_keyshare_req/{reqId}":{"get":{"tags":["Query"],"summary":"Queries a list of ShowPrivateKeyshareReq items.","operationId":"GithubComFairblockfairyringQuery_ShowPrivateKeyshareReq","parameters":[{"type":"string","name":"reqId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/fairyring.pep.QueryShowPrivateKeyshareReqResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/fairyring.keyshare.Msg/CreateAuthorizedAddress":{"post":{"tags":["Msg"],"operationId":"GithubComFairblockfairyringMsg_CreateAuthorizedAddress","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/fairyring.keyshare.MsgCreateAuthorizedAddress"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/fairyring.keyshare.MsgCreateAuthorizedAddressResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/fairyring.keyshare.Msg/CreateGeneralKeyShare":{"post":{"tags":["Msg"],"operationId":"GithubComFairblockfairyringMsg_CreateGeneralKeyShare","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/fairyring.keyshare.MsgCreateGeneralKeyShare"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/fairyring.keyshare.MsgCreateGeneralKeyShareResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/fairyring.keyshare.Msg/CreateLatestPubKey":{"post":{"tags":["Msg"],"summary":"this line is used by starport scaffolding # proto/tx/rpc","operationId":"GithubComFairblockfairyringMsg_CreateLatestPubKey","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/fairyring.keyshare.MsgCreateLatestPubKey"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/fairyring.keyshare.MsgCreateLatestPubKeyResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/fairyring.keyshare.Msg/DeRegisterValidator":{"post":{"tags":["Msg"],"operationId":"GithubComFairblockfairyringMsg_DeRegisterValidator","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/fairyring.keyshare.MsgDeRegisterValidator"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/fairyring.keyshare.MsgDeRegisterValidatorResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/fairyring.keyshare.Msg/DeleteAuthorizedAddress":{"post":{"tags":["Msg"],"operationId":"GithubComFairblockfairyringMsg_DeleteAuthorizedAddress","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/fairyring.keyshare.MsgDeleteAuthorizedAddress"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/fairyring.keyshare.MsgDeleteAuthorizedAddressResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/fairyring.keyshare.Msg/OverrideLatestPubKey":{"post":{"tags":["Msg"],"operationId":"GithubComFairblockfairyringMsg_OverrideLatestPubKey","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/fairyring.keyshare.MsgOverrideLatestPubKey"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/fairyring.keyshare.MsgOverrideLatestPubKeyResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/fairyring.keyshare.Msg/RegisterValidator":{"post":{"tags":["Msg"],"operationId":"GithubComFairblockfairyringMsg_RegisterValidator","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/fairyring.keyshare.MsgRegisterValidator"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/fairyring.keyshare.MsgRegisterValidatorResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/fairyring.keyshare.Msg/SendKeyshare":{"post":{"tags":["Msg"],"operationId":"GithubComFairblockfairyringMsg_SendKeyshare","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/fairyring.keyshare.MsgSendKeyshare"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/fairyring.keyshare.MsgSendKeyshareResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/fairyring.keyshare.Msg/SubmitEncryptedKeyshare":{"post":{"tags":["Msg"],"operationId":"GithubComFairblockfairyringMsg_SubmitEncryptedKeyshare","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/fairyring.keyshare.MsgSubmitEncryptedKeyshare"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/fairyring.keyshare.MsgSubmitEncryptedKeyshareResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/fairyring.keyshare.Msg/UpdateAuthorizedAddress":{"post":{"tags":["Msg"],"operationId":"GithubComFairblockfairyringMsg_UpdateAuthorizedAddress","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/fairyring.keyshare.MsgUpdateAuthorizedAddress"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/fairyring.keyshare.MsgUpdateAuthorizedAddressResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/fairyring.keyshare.Msg/UpdateParams":{"post":{"tags":["Msg"],"summary":"UpdateParams defines a (governance) operation for updating the module\nparameters. The authority defaults to the x/gov module account.","operationId":"GithubComFairblockfairyringMsg_UpdateParams","parameters":[{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/fairyring.keyshare.MsgUpdateParams"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/fairyring.keyshare.MsgUpdateParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/fairyring.pep.Msg/CreateAggregatedKeyShare":{"post":{"tags":["Msg"],"summary":"this line is used by starport scaffolding # proto/tx/rpc","operationId":"GithubComFairblockfairyringMsg_CreateAggregatedKeyShare","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/fairyring.pep.MsgCreateAggregatedKeyShare"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/fairyring.pep.MsgCreateAggregatedKeyShareResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/fairyring.pep.Msg/GetGeneralKeyshare":{"post":{"tags":["Msg"],"operationId":"GithubComFairblockfairyringMsg_GetGeneralKeyshare","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/fairyring.pep.MsgGetGeneralKeyshare"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/fairyring.pep.MsgGetGeneralKeyshareResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/fairyring.pep.Msg/GetPrivateKeyshares":{"post":{"tags":["Msg"],"operationId":"GithubComFairblockfairyringMsg_GetPrivateKeyshares","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/fairyring.pep.MsgGetPrivateKeyshares"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/fairyring.pep.MsgGetPrivateKeysharesResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/fairyring.pep.Msg/RequestGeneralKeyshare":{"post":{"tags":["Msg"],"operationId":"GithubComFairblockfairyringMsg_RequestGeneralKeyshare","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/fairyring.pep.MsgRequestGeneralKeyshare"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/fairyring.pep.MsgRequestGeneralKeyshareResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/fairyring.pep.Msg/RequestPrivateIdentity":{"post":{"tags":["Msg"],"operationId":"GithubComFairblockfairyringMsg_RequestPrivateIdentity","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/fairyring.pep.MsgRequestPrivateIdentity"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/fairyring.pep.MsgRequestPrivateIdentityResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/fairyring.pep.Msg/SubmitEncryptedTx":{"post":{"tags":["Msg"],"operationId":"GithubComFairblockfairyringMsg_SubmitEncryptedTx","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/fairyring.pep.MsgSubmitEncryptedTx"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/fairyring.pep.MsgSubmitEncryptedTxResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/fairyring.pep.Msg/SubmitGeneralEncryptedTx":{"post":{"tags":["Msg"],"operationId":"GithubComFairblockfairyringMsg_SubmitGeneralEncryptedTx","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/fairyring.pep.MsgSubmitGeneralEncryptedTx"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/fairyring.pep.MsgSubmitEncryptedTxResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/fairyring.pep.Msg/UpdateParams":{"post":{"tags":["Msg"],"summary":"UpdateParams defines a (governance) operation for updating the module\nparameters. The authority defaults to the x/gov module account.","operationId":"GithubComFairblockfairyringMsg_UpdateParamsMixin21","parameters":[{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/fairyring.pep.MsgUpdateParams"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/fairyring.pep.MsgUpdateParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/fairyring/keyshare/aggregated_key_share":{"get":{"tags":["Query"],"operationId":"GithubComFairblockfairyringQuery_AggregatedKeyShareAll","parameters":[{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/fairyring.keyshare.QueryAllAggregatedKeyShareResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/fairyring/keyshare/aggregated_key_share/{height}":{"get":{"tags":["Query"],"summary":"Queries a list of AggregatedKeyShare items.","operationId":"GithubComFairblockfairyringQuery_AggregatedKeyShare","parameters":[{"type":"string","format":"uint64","name":"height","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/fairyring.keyshare.QueryGetAggregatedKeyShareResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/fairyring/keyshare/authorized_address":{"get":{"tags":["Query"],"operationId":"GithubComFairblockfairyringQuery_AuthorizedAddressAll","parameters":[{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/fairyring.keyshare.QueryAllAuthorizedAddressResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/fairyring/keyshare/authorized_address/{target}":{"get":{"tags":["Query"],"summary":"Queries a list of AuthorizedAddress items.","operationId":"GithubComFairblockfairyringQuery_AuthorizedAddress","parameters":[{"type":"string","name":"target","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/fairyring.keyshare.QueryGetAuthorizedAddressResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/fairyring/keyshare/commitments":{"get":{"tags":["Query"],"operationId":"GithubComFairblockfairyringQuery_Commitments","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/fairyring.keyshare.QueryCommitmentsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/fairyring/keyshare/general_key_share":{"get":{"tags":["Query"],"operationId":"GithubComFairblockfairyringQuery_GeneralKeyShareAll","parameters":[{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/fairyring.keyshare.QueryAllGeneralKeyShareResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/fairyring/keyshare/general_key_share/{validator}/{idType}/{idValue}":{"get":{"tags":["Query"],"summary":"Queries a list of GeneralKeyShare items.","operationId":"GithubComFairblockfairyringQuery_GeneralKeyShare","parameters":[{"type":"string","name":"validator","in":"path","required":true},{"type":"string","name":"idType","in":"path","required":true},{"type":"string","name":"idValue","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/fairyring.keyshare.QueryGetGeneralKeyShareResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/fairyring/keyshare/key_share":{"get":{"tags":["Query"],"summary":"Queries a list of KeyShare items.","operationId":"GithubComFairblockfairyringQuery_KeyShareAll","parameters":[{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/fairyring.keyshare.QueryAllKeyShareResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/fairyring/keyshare/key_share/{validator}/{blockHeight}":{"get":{"tags":["Query"],"summary":"Queries a KeyShare by index.","operationId":"GithubComFairblockfairyringQuery_KeyShare","parameters":[{"type":"string","name":"validator","in":"path","required":true},{"type":"string","format":"uint64","name":"blockHeight","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/fairyring.keyshare.QueryGetKeyShareResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/fairyring/keyshare/params":{"get":{"tags":["Query"],"summary":"Parameters queries the parameters of the module.","operationId":"GithubComFairblockfairyringQuery_Params","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/fairyring.keyshare.QueryParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/fairyring/keyshare/pub_key":{"get":{"tags":["Query"],"summary":"Queries the public keys","operationId":"GithubComFairblockfairyringQuery_PubKey","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/fairyring.keyshare.QueryPubKeyResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/fairyring/keyshare/validator_set":{"get":{"tags":["Query"],"summary":"Queries a list of ValidatorSet items.","operationId":"GithubComFairblockfairyringQuery_ValidatorSetAll","parameters":[{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/fairyring.keyshare.QueryAllValidatorSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/fairyring/keyshare/validator_set/{index}":{"get":{"tags":["Query"],"summary":"Queries a ValidatorSet by index.","operationId":"GithubComFairblockfairyringQuery_ValidatorSet","parameters":[{"type":"string","name":"index","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/fairyring.keyshare.QueryGetValidatorSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/fairyring/keyshare/verifiable_randomness":{"get":{"tags":["Query"],"operationId":"GithubComFairblockfairyringQuery_VerifiableRandomness","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/fairyring.keyshare.QueryVerifiableRandomnessResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/fairyring/pep/encrypted_tx":{"get":{"tags":["Query"],"summary":"Queries a list of EncryptedTx items.","operationId":"GithubComFairblockfairyringQuery_EncryptedTxAll","parameters":[{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/fairyring.pep.QueryAllEncryptedTxResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/fairyring/pep/encrypted_tx/{targetHeight}":{"get":{"tags":["Query"],"summary":"Queries a list of EncryptedTx items.","operationId":"GithubComFairblockfairyringQuery_EncryptedTxAllFromHeight","parameters":[{"type":"string","format":"uint64","name":"targetHeight","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/fairyring.pep.QueryAllEncryptedTxFromHeightResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/fairyring/pep/encrypted_tx/{targetHeight}/{index}":{"get":{"tags":["Query"],"summary":"Queries a EncryptedTx by index.","operationId":"GithubComFairblockfairyringQuery_EncryptedTx","parameters":[{"type":"string","format":"uint64","name":"targetHeight","in":"path","required":true},{"type":"string","format":"uint64","name":"index","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/fairyring.pep.QueryGetEncryptedTxResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/fairyring/pep/keyshare":{"get":{"tags":["Query"],"operationId":"GithubComFairblockfairyringQuery_KeyshareReqAll","parameters":[{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/fairyring.pep.QueryAllKeyshareResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/fairyring/pep/keyshare/{req_id}":{"get":{"tags":["Query"],"operationId":"GithubComFairblockfairyringQuery_KeyshareReq","parameters":[{"type":"string","name":"req_id","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/fairyring.pep.QueryKeyshareResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/fairyring/pep/latest_height":{"get":{"tags":["Query"],"summary":"Queries a list of LatestHeight items.","operationId":"GithubComFairblockfairyringQuery_LatestHeight","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/fairyring.pep.QueryLatestHeightResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/fairyring/pep/params":{"get":{"tags":["Query"],"summary":"Parameters queries the parameters of the module.","operationId":"GithubComFairblockfairyringQuery_ParamsMixin19","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/fairyring.pep.QueryParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/fairyring/pep/pep_nonce":{"get":{"tags":["Query"],"summary":"Queries a list of PepNonce items.","operationId":"GithubComFairblockfairyringQuery_PepNonceAll","parameters":[{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/fairyring.pep.QueryAllPepNonceResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/fairyring/pep/pep_nonce/{address}":{"get":{"tags":["Query"],"summary":"Queries a PepNonce by index.","operationId":"GithubComFairblockfairyringQuery_PepNonce","parameters":[{"type":"string","name":"address","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/fairyring.pep.QueryGetPepNonceResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/fairyring/pep/pub_key":{"get":{"tags":["Query"],"summary":"Queries the public keys","operationId":"GithubComFairblockfairyringQuery_PubKeyMixin19","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/fairyring.pep.QueryPubKeyResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}}},"definitions":{"cosmos.base.query.v1beta1.PageRequest":{"description":"message SomeRequest {\n Foo some_parameter = 1;\n PageRequest pagination = 2;\n }","type":"object","title":"PageRequest is to be embedded in gRPC request messages for efficient\npagination. Ex:","properties":{"count_total":{"description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","type":"boolean"},"key":{"description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","type":"string","format":"byte"},"limit":{"description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","type":"string","format":"uint64"},"offset":{"description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","type":"string","format":"uint64"},"reverse":{"description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","type":"boolean"}}},"cosmos.base.query.v1beta1.PageResponse":{"description":"PageResponse is to be embedded in gRPC response messages where the\ncorresponding request message has used PageRequest.\n\n message SomeResponse {\n repeated Bar results = 1;\n PageResponse page = 2;\n }","type":"object","properties":{"next_key":{"description":"next_key is the key to be passed to PageRequest.key to\nquery the next page most efficiently. It will be empty if\nthere are no more results.","type":"string","format":"byte"},"total":{"type":"string","format":"uint64","title":"total is total number of results available if PageRequest.count_total\nwas set, its value is undefined otherwise"}}},"cosmos.base.v1beta1.Coin":{"description":"Coin defines a token with a denomination and an amount.\n\nNOTE: The amount field is an Int which implements the custom method\nsignatures required by gogoproto.","type":"object","properties":{"amount":{"type":"string"},"denom":{"type":"string"}}},"fairyring.common.ActivePublicKey":{"type":"object","properties":{"creator":{"type":"string"},"expiry":{"type":"string","format":"uint64"},"publicKey":{"type":"string"}}},"fairyring.common.EncryptedKeyshare":{"type":"object","properties":{"private_keyshares":{"type":"array","items":{"type":"string"}},"requester":{"type":"string"}}},"fairyring.common.QueuedPublicKey":{"type":"object","properties":{"creator":{"type":"string"},"expiry":{"type":"string","format":"uint64"},"publicKey":{"type":"string"}}},"fairyring.keyshare.ActivePubKey":{"type":"object","properties":{"creator":{"type":"string"},"encryptedKeyShares":{"type":"array","items":{"type":"object","$ref":"#/definitions/fairyring.keyshare.EncryptedKeyShare"}},"expiry":{"type":"string","format":"uint64"},"numberOfValidators":{"type":"string","format":"uint64"},"publicKey":{"type":"string"}}},"fairyring.keyshare.AggregatedKeyShare":{"type":"object","properties":{"data":{"type":"string"},"height":{"type":"string","format":"uint64"}}},"fairyring.keyshare.AuthorizedAddress":{"type":"object","properties":{"authorizedBy":{"type":"string"},"isAuthorized":{"type":"boolean"},"target":{"type":"string"}}},"fairyring.keyshare.Commitments":{"type":"object","properties":{"commitments":{"type":"array","items":{"type":"string"}}}},"fairyring.keyshare.EncryptedKeyShare":{"type":"object","properties":{"data":{"type":"string"},"validator":{"type":"string"}}},"fairyring.keyshare.GeneralKeyShare":{"type":"object","properties":{"idType":{"type":"string"},"idValue":{"type":"string"},"keyShare":{"type":"string"},"keyShareIndex":{"type":"string","format":"uint64"},"receivedBlockHeight":{"type":"string","format":"uint64"},"receivedTimestamp":{"type":"string","format":"uint64"},"validator":{"type":"string"}}},"fairyring.keyshare.KeyShare":{"type":"object","properties":{"blockHeight":{"type":"string","format":"uint64"},"keyShare":{"type":"string"},"keyShareIndex":{"type":"string","format":"uint64"},"receivedBlockHeight":{"type":"string","format":"uint64"},"receivedTimestamp":{"type":"string","format":"uint64"},"validator":{"type":"string"}}},"fairyring.keyshare.MsgCreateAuthorizedAddress":{"type":"object","properties":{"creator":{"type":"string"},"target":{"type":"string"}}},"fairyring.keyshare.MsgCreateAuthorizedAddressResponse":{"type":"object"},"fairyring.keyshare.MsgCreateGeneralKeyShare":{"type":"object","properties":{"creator":{"type":"string"},"idType":{"type":"string"},"idValue":{"type":"string"},"keyShare":{"type":"string"},"keyShareIndex":{"type":"string","format":"uint64"},"receivedBlockHeight":{"type":"string","format":"uint64"},"receivedTimestamp":{"type":"string","format":"uint64"}}},"fairyring.keyshare.MsgCreateGeneralKeyShareResponse":{"type":"object","properties":{"creator":{"type":"string"},"errorMessage":{"type":"string"},"idType":{"type":"string"},"idValue":{"type":"string"},"keyShare":{"type":"string"},"keyShareIndex":{"type":"string","format":"uint64"},"receivedBlockHeight":{"type":"string","format":"uint64"},"success":{"type":"boolean"}}},"fairyring.keyshare.MsgCreateLatestPubKey":{"type":"object","title":"this line is used by starport scaffolding # proto/tx/message","properties":{"commitments":{"type":"array","items":{"type":"string"}},"creator":{"type":"string"},"encryptedKeyShares":{"type":"array","items":{"type":"object","$ref":"#/definitions/fairyring.keyshare.EncryptedKeyShare"}},"numberOfValidators":{"type":"string","format":"uint64"},"publicKey":{"type":"string"}}},"fairyring.keyshare.MsgCreateLatestPubKeyResponse":{"type":"object"},"fairyring.keyshare.MsgDeRegisterValidator":{"type":"object","properties":{"creator":{"type":"string"}}},"fairyring.keyshare.MsgDeRegisterValidatorResponse":{"type":"object","properties":{"creator":{"type":"string"}}},"fairyring.keyshare.MsgDeleteAuthorizedAddress":{"type":"object","properties":{"creator":{"type":"string"},"target":{"type":"string"}}},"fairyring.keyshare.MsgDeleteAuthorizedAddressResponse":{"type":"object"},"fairyring.keyshare.MsgOverrideLatestPubKey":{"type":"object","properties":{"commitments":{"type":"array","items":{"type":"string"}},"creator":{"type":"string"},"encryptedKeyShares":{"type":"array","items":{"type":"object","$ref":"#/definitions/fairyring.keyshare.EncryptedKeyShare"}},"numberOfValidators":{"type":"string","format":"uint64"},"publicKey":{"type":"string"}}},"fairyring.keyshare.MsgOverrideLatestPubKeyResponse":{"type":"object"},"fairyring.keyshare.MsgRegisterValidator":{"type":"object","properties":{"creator":{"type":"string"}}},"fairyring.keyshare.MsgRegisterValidatorResponse":{"type":"object","properties":{"creator":{"type":"string"}}},"fairyring.keyshare.MsgSendKeyshare":{"type":"object","properties":{"blockHeight":{"type":"string","format":"uint64"},"creator":{"type":"string"},"keyShareIndex":{"type":"string","format":"uint64"},"message":{"type":"string"}}},"fairyring.keyshare.MsgSendKeyshareResponse":{"type":"object","properties":{"blockHeight":{"type":"string","format":"uint64"},"creator":{"type":"string"},"errorMessage":{"type":"string"},"keyshare":{"type":"string"},"keyshareIndex":{"type":"string","format":"uint64"},"receivedBlockHeight":{"type":"string","format":"uint64"},"success":{"type":"boolean"}}},"fairyring.keyshare.MsgSubmitEncryptedKeyshare":{"type":"object","properties":{"creator":{"type":"string"},"encryptedKeyshare":{"type":"string"},"identity":{"type":"string"},"keyShareIndex":{"type":"string","format":"uint64"},"receivedBlockHeight":{"type":"string","format":"uint64"},"receivedTimestamp":{"type":"string","format":"uint64"},"requester":{"type":"string"}}},"fairyring.keyshare.MsgSubmitEncryptedKeyshareResponse":{"type":"object"},"fairyring.keyshare.MsgUpdateAuthorizedAddress":{"type":"object","properties":{"creator":{"type":"string"},"isAuthorized":{"type":"boolean"},"target":{"type":"string"}}},"fairyring.keyshare.MsgUpdateAuthorizedAddressResponse":{"type":"object"},"fairyring.keyshare.MsgUpdateParams":{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","type":"object","properties":{"authority":{"description":"authority is the address that controls the module (defaults to x/gov unless overwritten).","type":"string"},"params":{"description":"NOTE: All parameters must be supplied.","$ref":"#/definitions/fairyring.keyshare.Params"}}},"fairyring.keyshare.MsgUpdateParamsResponse":{"description":"MsgUpdateParamsResponse defines the response structure for executing a\nMsgUpdateParams message.","type":"object"},"fairyring.keyshare.Params":{"description":"Params defines the parameters for the module.","type":"object","properties":{"key_expiry":{"type":"string","format":"uint64"},"max_idled_block":{"type":"string","format":"uint64"},"minimum_bonded":{"type":"string","format":"uint64"},"slash_fraction_no_keyshare":{"type":"string","format":"byte"},"slash_fraction_wrong_keyshare":{"type":"string","format":"byte"},"trusted_addresses":{"type":"array","items":{"type":"string"}}}},"fairyring.keyshare.QueryAllAggregatedKeyShareResponse":{"type":"object","properties":{"aggregatedKeyShare":{"type":"array","items":{"type":"object","$ref":"#/definitions/fairyring.keyshare.AggregatedKeyShare"}},"pagination":{"$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"}}},"fairyring.keyshare.QueryAllAuthorizedAddressResponse":{"type":"object","properties":{"authorizedAddress":{"type":"array","items":{"type":"object","$ref":"#/definitions/fairyring.keyshare.AuthorizedAddress"}},"pagination":{"$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"}}},"fairyring.keyshare.QueryAllGeneralKeyShareResponse":{"type":"object","properties":{"generalKeyShare":{"type":"array","items":{"type":"object","$ref":"#/definitions/fairyring.keyshare.GeneralKeyShare"}},"pagination":{"$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"}}},"fairyring.keyshare.QueryAllKeyShareResponse":{"type":"object","properties":{"keyShare":{"type":"array","items":{"type":"object","$ref":"#/definitions/fairyring.keyshare.KeyShare"}},"pagination":{"$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"}}},"fairyring.keyshare.QueryAllValidatorSetResponse":{"type":"object","properties":{"pagination":{"$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"},"validatorSet":{"type":"array","items":{"type":"object","$ref":"#/definitions/fairyring.keyshare.ValidatorSet"}}}},"fairyring.keyshare.QueryCommitmentsResponse":{"type":"object","properties":{"activeCommitments":{"$ref":"#/definitions/fairyring.keyshare.Commitments"},"queuedCommitments":{"$ref":"#/definitions/fairyring.keyshare.Commitments"}}},"fairyring.keyshare.QueryGetAggregatedKeyShareResponse":{"type":"object","properties":{"aggregatedKeyShare":{"$ref":"#/definitions/fairyring.keyshare.AggregatedKeyShare"}}},"fairyring.keyshare.QueryGetAuthorizedAddressResponse":{"type":"object","properties":{"authorizedAddress":{"$ref":"#/definitions/fairyring.keyshare.AuthorizedAddress"}}},"fairyring.keyshare.QueryGetGeneralKeyShareResponse":{"type":"object","properties":{"generalKeyShare":{"$ref":"#/definitions/fairyring.keyshare.GeneralKeyShare"}}},"fairyring.keyshare.QueryGetKeyShareResponse":{"type":"object","properties":{"keyShare":{"$ref":"#/definitions/fairyring.keyshare.KeyShare"}}},"fairyring.keyshare.QueryGetValidatorSetResponse":{"type":"object","properties":{"validatorSet":{"$ref":"#/definitions/fairyring.keyshare.ValidatorSet"}}},"fairyring.keyshare.QueryParamsResponse":{"description":"QueryParamsResponse is response type for the Query/Params RPC method.","type":"object","properties":{"params":{"description":"params holds all the parameters of this module.","$ref":"#/definitions/fairyring.keyshare.Params"}}},"fairyring.keyshare.QueryPubKeyResponse":{"type":"object","properties":{"activePubKey":{"$ref":"#/definitions/fairyring.keyshare.ActivePubKey"},"queuedPubKey":{"$ref":"#/definitions/fairyring.keyshare.QueuedPubKey"}}},"fairyring.keyshare.QueryVerifiableRandomnessResponse":{"type":"object","properties":{"randomness":{"type":"string"},"round":{"type":"string","format":"uint64"}}},"fairyring.keyshare.QueuedPubKey":{"type":"object","properties":{"creator":{"type":"string"},"encryptedKeyShares":{"type":"array","items":{"type":"object","$ref":"#/definitions/fairyring.keyshare.EncryptedKeyShare"}},"expiry":{"type":"string","format":"uint64"},"numberOfValidators":{"type":"string","format":"uint64"},"publicKey":{"type":"string"}}},"fairyring.keyshare.ValidatorSet":{"type":"object","properties":{"consAddr":{"type":"string"},"index":{"type":"string"},"isActive":{"type":"boolean"},"validator":{"type":"string"}}},"fairyring.pep.EncryptedTx":{"type":"object","properties":{"chargedGas":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"creator":{"type":"string"},"data":{"type":"string"},"expired":{"type":"boolean"},"index":{"type":"string","format":"uint64"},"processedAtChainHeight":{"type":"string","format":"uint64"},"targetHeight":{"type":"string","format":"uint64"}}},"fairyring.pep.EncryptedTxArray":{"type":"object","properties":{"encryptedTx":{"type":"array","items":{"type":"object","$ref":"#/definitions/fairyring.pep.EncryptedTx"}}}},"fairyring.pep.GenEncTxExecutionQueue":{"type":"object","properties":{"aggr_keyshare":{"type":"string"},"creator":{"type":"string"},"identity":{"type":"string"},"pubkey":{"type":"string"},"request_id":{"type":"string"},"tx_list":{"$ref":"#/definitions/fairyring.pep.GeneralEncryptedTxArray"}}},"fairyring.pep.GeneralEncryptedTx":{"type":"object","properties":{"chargedGas":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"creator":{"type":"string"},"data":{"type":"string"},"identity":{"type":"string"},"index":{"type":"string","format":"uint64"}}},"fairyring.pep.GeneralEncryptedTxArray":{"type":"object","properties":{"encryptedTx":{"type":"array","items":{"type":"object","$ref":"#/definitions/fairyring.pep.GeneralEncryptedTx"}}}},"fairyring.pep.MsgCreateAggregatedKeyShare":{"type":"object","title":"this line is used by starport scaffolding # proto/tx/message","properties":{"creator":{"type":"string"},"data":{"type":"string"},"height":{"type":"string","format":"uint64"}}},"fairyring.pep.MsgCreateAggregatedKeyShareResponse":{"type":"object"},"fairyring.pep.MsgGetGeneralKeyshare":{"type":"object","properties":{"creator":{"type":"string"},"req_id":{"type":"string"}}},"fairyring.pep.MsgGetGeneralKeyshareResponse":{"type":"object"},"fairyring.pep.MsgGetPrivateKeyshares":{"type":"object","properties":{"creator":{"type":"string"},"reqId":{"type":"string"},"rsa_64_pubkey":{"type":"string"}}},"fairyring.pep.MsgGetPrivateKeysharesResponse":{"type":"object"},"fairyring.pep.MsgRequestGeneralKeyshare":{"type":"object","properties":{"creator":{"type":"string"},"estimated_delay":{"type":"string"},"req_id":{"type":"string"}}},"fairyring.pep.MsgRequestGeneralKeyshareResponse":{"type":"object","properties":{"req_id":{"type":"string"}}},"fairyring.pep.MsgRequestPrivateIdentity":{"type":"object","properties":{"amount":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"creator":{"type":"string"},"reqId":{"type":"string"}}},"fairyring.pep.MsgRequestPrivateIdentityResponse":{"type":"object","properties":{"req_id":{"type":"string"}}},"fairyring.pep.MsgSubmitEncryptedTx":{"type":"object","properties":{"creator":{"type":"string"},"data":{"type":"string"},"targetBlockHeight":{"type":"string","format":"uint64"}}},"fairyring.pep.MsgSubmitEncryptedTxResponse":{"type":"object"},"fairyring.pep.MsgSubmitGeneralEncryptedTx":{"type":"object","properties":{"creator":{"type":"string"},"data":{"type":"string"},"req_id":{"type":"string"}}},"fairyring.pep.MsgUpdateParams":{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","type":"object","properties":{"authority":{"description":"authority is the address that controls the module (defaults to x/gov unless overwritten).","type":"string"},"params":{"description":"NOTE: All parameters must be supplied.","$ref":"#/definitions/fairyring.pep.Params"}}},"fairyring.pep.MsgUpdateParamsResponse":{"description":"MsgUpdateParamsResponse defines the response structure for executing a\nMsgUpdateParams message.","type":"object"},"fairyring.pep.Params":{"description":"Params defines the parameters for the module.","type":"object","properties":{"is_source_chain":{"type":"boolean"},"keyshare_channel_id":{"type":"string"},"min_gas_price":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"trusted_addresses":{"type":"array","items":{"type":"string"}},"trusted_counter_parties":{"type":"array","items":{"type":"object","$ref":"#/definitions/fairyring.pep.TrustedCounterParty"}}}},"fairyring.pep.PepNonce":{"type":"object","properties":{"address":{"type":"string"},"nonce":{"type":"string","format":"uint64"}}},"fairyring.pep.QueryAllEncryptedTxFromHeightResponse":{"type":"object","properties":{"encryptedTxArray":{"$ref":"#/definitions/fairyring.pep.EncryptedTxArray"}}},"fairyring.pep.QueryAllEncryptedTxResponse":{"type":"object","properties":{"encryptedTxArray":{"type":"array","items":{"type":"object","$ref":"#/definitions/fairyring.pep.EncryptedTxArray"}},"pagination":{"$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"}}},"fairyring.pep.QueryAllKeyshareResponse":{"type":"object","properties":{"keyshares":{"type":"array","items":{"type":"object","$ref":"#/definitions/fairyring.pep.GenEncTxExecutionQueue"}},"pagination":{"$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"}}},"fairyring.pep.QueryAllPepNonceResponse":{"type":"object","properties":{"pagination":{"$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"},"pepNonce":{"type":"array","items":{"type":"object","$ref":"#/definitions/fairyring.pep.PepNonce"}}}},"fairyring.pep.QueryDecryptDataResponse":{"type":"object"},"fairyring.pep.QueryGetEncryptedTxResponse":{"type":"object","properties":{"encryptedTx":{"$ref":"#/definitions/fairyring.pep.EncryptedTx"}}},"fairyring.pep.QueryGetPepNonceResponse":{"type":"object","properties":{"pepNonce":{"$ref":"#/definitions/fairyring.pep.PepNonce"}}},"fairyring.pep.QueryKeyshareResponse":{"type":"object","properties":{"keyshare":{"$ref":"#/definitions/fairyring.pep.GenEncTxExecutionQueue"}}},"fairyring.pep.QueryLatestHeightResponse":{"type":"object","properties":{"height":{"type":"string","format":"uint64"}}},"fairyring.pep.QueryParamsResponse":{"description":"QueryParamsResponse is response type for the Query/Params RPC method.","type":"object","properties":{"params":{"description":"params holds all the parameters of this module.","$ref":"#/definitions/fairyring.pep.Params"}}},"fairyring.pep.QueryPubKeyResponse":{"type":"object","properties":{"activePubKey":{"$ref":"#/definitions/fairyring.common.ActivePublicKey"},"queuedPubKey":{"$ref":"#/definitions/fairyring.common.QueuedPublicKey"}}},"fairyring.pep.QueryShowPrivateKeyshareReqResponse":{"type":"object","properties":{"amount":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"creator":{"type":"string"},"encrypted_keyshares":{"type":"array","items":{"type":"object","$ref":"#/definitions/fairyring.common.EncryptedKeyshare"}},"pubkey":{"type":"string"},"req_id":{"type":"string"}}},"fairyring.pep.TrustedCounterParty":{"type":"object","properties":{"channel_id":{"type":"string"},"client_id":{"type":"string"},"connection_id":{"type":"string"}}},"google.protobuf.Any":{"type":"object","properties":{"@type":{"type":"string"}},"additionalProperties":{}},"google.rpc.Status":{"type":"object","properties":{"code":{"type":"integer","format":"int32"},"details":{"type":"array","items":{"type":"object","$ref":"#/definitions/google.protobuf.Any"}},"message":{"type":"string"}}}},"tags":[{"name":"Query"},{"name":"Msg"}]} \ No newline at end of file diff --git a/go.mod b/go.mod index 24477033..67819d40 100644 --- a/go.mod +++ b/go.mod @@ -31,6 +31,7 @@ require ( cosmossdk.io/x/upgrade v0.1.2 github.com/CosmWasm/wasmd v0.0.0-00010101000000-000000000000 github.com/FairBlock/DistributedIBE v0.0.0-20231211202607-d457df6869db + github.com/btcsuite/btcd v0.22.3 github.com/bufbuild/buf v1.30.0 github.com/cometbft/cometbft v0.38.9 github.com/cosmos/cosmos-db v1.0.2 @@ -84,7 +85,7 @@ require ( github.com/bgentry/go-netrc v0.0.0-20140422174119-9fd32a8b3d3d // indirect github.com/bgentry/speakeasy v0.1.1-0.20220910012023-760eaf8b6816 // indirect github.com/bits-and-blooms/bitset v1.8.0 // indirect - github.com/btcsuite/btcd/btcec/v2 v2.3.2 // indirect + github.com/btcsuite/btcd/btcec/v2 v2.3.2 github.com/bufbuild/protocompile v0.9.0 // indirect github.com/bufbuild/protovalidate-go v0.6.0 // indirect github.com/bufbuild/protoyaml-go v0.1.8 // indirect @@ -225,7 +226,6 @@ require ( github.com/sourcegraph/conc v0.3.0 // indirect github.com/spf13/afero v1.11.0 // indirect github.com/stoewer/go-strcase v1.3.0 // indirect - github.com/stretchr/objx v0.5.2 // indirect github.com/subosito/gotenv v1.6.0 // indirect github.com/syndtr/goleveldb v1.0.1-0.20220721030215-126854af5e6d // indirect github.com/tendermint/go-amino v0.16.0 // indirect diff --git a/go.sum b/go.sum index adcb708d..94de3d02 100644 --- a/go.sum +++ b/go.sum @@ -292,6 +292,8 @@ github.com/bgentry/speakeasy v0.1.1-0.20220910012023-760eaf8b6816 h1:41iFGWnSlI2 github.com/bgentry/speakeasy v0.1.1-0.20220910012023-760eaf8b6816/go.mod h1:+zsyZBPWlz7T6j88CTgSN5bM796AkVf0kBD4zp0CCIs= github.com/bits-and-blooms/bitset v1.8.0 h1:FD+XqgOZDUxxZ8hzoBFuV9+cGWY9CslN6d5MS5JVb4c= github.com/bits-and-blooms/bitset v1.8.0/go.mod h1:7hO7Gc7Pp1vODcmWvKMRA9BNmbv6a/7QIWpPxHddWR8= +github.com/btcsuite/btcd v0.22.3 h1:kYNaWFvOw6xvqP0vR20RP1Zq1DVMBxEO8QN5d1/EfNg= +github.com/btcsuite/btcd v0.22.3/go.mod h1:wqgTSL29+50LRkmOVknEdmt8ZojIzhuWvgu/iptuN7Y= github.com/btcsuite/btcd/btcec/v2 v2.3.2 h1:5n0X6hX0Zk+6omWcihdYvdAlGf2DfasC0GMf7DClJ3U= github.com/btcsuite/btcd/btcec/v2 v2.3.2/go.mod h1:zYzJ8etWJQIv1Ogk7OzpWjowwOdXY1W/17j2MW85J04= github.com/btcsuite/btcd/btcutil v1.1.3 h1:xfbtw8lwpp0G6NwSHb+UE67ryTFHJAiNuipusjXSohQ= diff --git a/hermes_config.toml b/hermes_config.toml index 40a20278..0aaf88f1 100644 --- a/hermes_config.toml +++ b/hermes_config.toml @@ -40,7 +40,7 @@ account_prefix = 'fairy' key_name = 'ak' store_prefix = 'ibc' default_gas = 100000 -max_gas = 400000 +max_gas = 900000 gas_multiplier = 1.1 max_msg_num = 30 max_tx_size = 2097152 @@ -73,7 +73,7 @@ account_prefix = 'fairy' key_name = 'fk' store_prefix = 'ibc' default_gas = 100000 -max_gas = 400000 +max_gas = 900000 gas_multiplier = 1.1 max_msg_num = 30 max_tx_size = 2097152 diff --git a/proto/buf.lock b/proto/buf.lock index 735c1eca..2880f4ec 100644 --- a/proto/buf.lock +++ b/proto/buf.lock @@ -4,40 +4,50 @@ deps: - remote: buf.build owner: cosmos repository: cosmos-proto - commit: 1935555c206d4afb9e94615dfd0fad31 - digest: shake256:c74d91a3ac7ae07d579e90eee33abf9b29664047ac8816500cf22c081fec0d72d62c89ce0bebafc1f6fec7aa5315be72606717740ca95007248425102c365377 + commit: 04467658e59e44bbb22fe568206e1f70 + digest: shake256:73a640bd60e0c523b0f8237ff34eab67c45a38b64bbbde1d80224819d272dbf316ac183526bd245f994af6608b025f5130483d0133c5edd385531326b5990466 - remote: buf.build owner: cosmos repository: cosmos-sdk - commit: aa25660f4ff746388669ce36b3778442 - digest: shake256:a20eb29eb7284d9d0b76e94324a6e24e3665d13682bed0d5beac647d7109b7b2f22080301276779a91f394c97dab334da36dfc01d4252d9f869b090bfc8248aa + commit: 05419252bcc241ea8023acf1ed4cadc5 + digest: shake256:1e54a48c19a8b59d35e0a7efa76402939f515f2d8005df099856f24c37c20a52800308f025abb8cffcd014d437b49707388aaca4865d9d063d8f25d5d4eb77d5 - remote: buf.build owner: cosmos repository: gogo-proto - commit: 34d970b699f84aa382f3c29773a60836 - digest: shake256:3d3bee5229ba579e7d19ffe6e140986a228b48a8c7fe74348f308537ab95e9135210e81812489d42cd8941d33ff71f11583174ccc5972e86e6112924b6ce9f04 + commit: 88ef6483f90f478fb938c37dde52ece3 + digest: shake256:89c45df2aa11e0cff97b0d695436713db3d993d76792e9f8dc1ae90e6ab9a9bec55503d48ceedd6b86069ab07d3041b32001b2bfe0227fa725dd515ff381e5ba - remote: buf.build owner: cosmos repository: ibc - commit: 442292b00c1649c1b2e0881f942d3b53 - digest: shake256:279bccf5ca7c2e3c5789a97f166bd96beede9989c4d1c1e162c5aecd83445b8745e9ede99278cc811af9d6a82335791a1cf988f60201db9a98e2dc567fabfd79 + commit: 41fbc441e4d645119d275150719c5441 + digest: shake256:a61d3e152909abddc91dcc1aec8ac997007bebd48a7921bc243681c708e6c9068f6484aa7ed4e6ff60101d3422c98744a4a5294bbda6aacdba07f1dfa4291020 - remote: buf.build owner: cosmos repository: ics23 - commit: 3c44d8daa8b44059ac744cd17d4a49d7 - digest: shake256:fed75bde09a652f2cbe6085d5e1afa8292f166a0f6314369fb60b71c189d34e893ee1bffde527373abd371c110bdc80e8ed1d534eaaf5da6bc62634903a6ec44 + commit: d2ad30d1af0e4e978fa1f5c143acf63b + digest: shake256:000ea62514f7d507c96905d70ef11d16b8f8f32fda5a75def40d4130058af0174142ed3cd6c4a89c5fdb3cbf138277d771d86eeb6992f054d13a82556a2ff079 - remote: buf.build owner: cosmos repository: interchain-security - commit: 95b0d0573e7443b0b1693a2b339a208e - digest: shake256:ac18bde3e32f5f049a17ca046ed6e222ffd75bd248b2849c627d84717a0f417c6f39fe1f3caf84b27c9349a5eb491b9d21f8c50101d8c40764ed373fe79da06f + commit: 8fc5152665434255aab6555c3cb0a3a8 + digest: shake256:e59aa9a929160b104dff9e79907e3b17322609161f93c89b7ffefc77befdd3bd727aaae0d77d6c2d089cf8734e07ab8d136de4dad39c484c7bf957636176760e + - remote: buf.build + owner: cosmwasm + repository: wasmd + commit: 5af8ba5098c74f67b7e900e1c6c3dcdf + digest: shake256:e270738e4950538ca149674972f8f0a8243bb795c7c5d2b5807348fec5aae42ddb646827ef08dd200ed65a4be0ab450162d48f1f5d0dae9446696ccb286b90db - remote: buf.build owner: googleapis repository: googleapis - commit: 5ae7f88519b04fe1965da0f8a375a088 - digest: shake256:27d9fcdc0e3eb957449dc3d17e2d24c7ce59c3c483ecf128818183c336dfd28595ecd13771fb3172247775caf7707c4076dd8e70c5ac2cbcac170df35e4d0028 + commit: e7f8d366f5264595bcc4cd4139af9973 + digest: shake256:e5e5f1c12f82e028ea696faa43b4f9dc6258a6d1226282962a8c8b282e10946281d815884f574bd279ebd9cd7588629beb3db17b892af6c33b56f92f8f67f509 - remote: buf.build owner: protocolbuffers repository: wellknowntypes - commit: 44e83bc050a4497fa7b36b34d95ca156 - digest: shake256:bcdc007a8baabe27bdc06f3c8973bed7bea9faca4b486903a8f65c0492985864143888eb570a956ce4127d6afdaea346cf0393405a8144a1c5d026318c4c254c + commit: d59b7d45e69d4e129a1b797e2766f067 + digest: shake256:e4bb315f5a90aace88fe39709c831eda8eb0ce66b4cf947065888100b9867c2eb9a0f61f6b8d73c51b1fcccdfe8611090f55ce5db1aee6901ec9b4e6d8fa8e52 + - remote: buf.build + owner: tendermint + repository: tendermint + commit: 33ed361a90514289beabf3189e1d7665 + digest: shake256:038267e06294714fd883610626554b04a127b576b4e253befb4206cb72d5d3c1eeccacd4b9ec8e3fb891f7c14e1cb0f770c077d2989638995b0a61c85afedb1d diff --git a/proto/buf.yaml b/proto/buf.yaml index f4e8ee6a..98b607a0 100644 --- a/proto/buf.yaml +++ b/proto/buf.yaml @@ -10,6 +10,7 @@ deps: - buf.build/cosmos/ics23 - buf.build/cosmos/interchain-security - buf.build/cosmos/ibc +- buf.build/cosmwasm/wasmd lint: except: - UNARY_RPC diff --git a/proto/fairyring/common/shared_types.proto b/proto/fairyring/common/shared_types.proto index 1791513d..5e7a799b 100644 --- a/proto/fairyring/common/shared_types.proto +++ b/proto/fairyring/common/shared_types.proto @@ -32,6 +32,18 @@ message GetAggrKeyshare { message GetAggrKeyshareResponse {} +// GetPrivateKeyshare defines a struct for the data payload +message GetPrivateKeyshare { + string request_id = 1; + string identity = 2; + string requester = 3; + string secp_pubkey = 4; +} + +message GetPrivateKeyshareResponse { + string pubkey = 1; +} + message ActivePublicKey { string publicKey = 1; string creator = 2; @@ -43,3 +55,18 @@ message QueuedPublicKey { string creator = 2; uint64 expiry = 3; } + +message RequestPrivateKeyshare { + string creator = 1; + string request_id = 2; +} + +message EncryptedKeyshare { + string requester = 1; + repeated IndexedEncryptedKeyshare private_keyshares = 2; +} + +message IndexedEncryptedKeyshare { + string encrypted_keyshare_value = 1; + uint64 encrypted_keyshare_index = 2; +} \ No newline at end of file diff --git a/proto/fairyring/keyshare/general_key_share.proto b/proto/fairyring/keyshare/general_key_share.proto index d475d9da..9f80c014 100644 --- a/proto/fairyring/keyshare/general_key_share.proto +++ b/proto/fairyring/keyshare/general_key_share.proto @@ -13,3 +13,12 @@ message GeneralKeyShare { uint64 receivedBlockHeight = 7; } +message ValidatorEncryptedKeyShare { + string validator = 1; + string requester = 2; + string keyShare = 3; + uint64 keyShareIndex = 4; + uint64 receivedTimestamp = 5; + uint64 receivedBlockHeight = 6; + string identity = 7; +} \ No newline at end of file diff --git a/proto/fairyring/keyshare/packet.proto b/proto/fairyring/keyshare/packet.proto index 089ee1e5..fb235e00 100644 --- a/proto/fairyring/keyshare/packet.proto +++ b/proto/fairyring/keyshare/packet.proto @@ -13,7 +13,10 @@ message KeysharePacketData { RequestAggrKeysharePacketData requestAggrKeysharePacket = 2; GetAggrKeysharePacketData getAggrKeysharePacket = 3; AggrKeyshareDataPacketData aggrKeyshareDataPacket = 4; - CurrentKeysPacketData currentKeysPacket = 5; + EncryptedKeysharesPacketData encryptedKeysharesPacketData = 5; + CurrentKeysPacketData currentKeysPacket = 6; + RequestPrivateKeysharePacketData request_priv_keyshare_packet = 7; + GetPrivateKeysharePacketData getPrivateKeysharePacket = 8; } } @@ -31,6 +34,16 @@ message RequestAggrKeysharePacketData { google.protobuf.Duration estimated_delay = 4 [(gogoproto.stdduration) = true]; } +message RequestPrivateKeysharePacketData { + string requester = 1; + string request_id = 2; +} + +message RequestPrivateKeysharePacketAck { + string identity = 1; + string pubkey = 2; +} + // RequestAggrKeysharePacketAck defines a struct for the packet acknowledgment message RequestAggrKeysharePacketAck { string identity = 1; @@ -45,6 +58,16 @@ message GetAggrKeysharePacketData { // GetAggrKeysharePacketAck defines a struct for the packet acknowledgment message GetAggrKeysharePacketAck {} +// GetPrivateKeysharePacketData defines a struct for the packet payload +message GetPrivateKeysharePacketData { + string identity = 1; + string requester = 2; + string secp_pubkey = 3; +} + +// GetPrivateKeysharePacketAck defines a struct for the packet acknowledgment +message GetPrivateKeysharePacketAck {} + // AggrKeyshareDataPacketData defines a struct for the packet payload message AggrKeyshareDataPacketData { string identity = 1; @@ -59,6 +82,16 @@ message AggrKeyshareDataPacketData { // AggrKeyshareDataPacketAck defines a struct for the packet acknowledgment message AggrKeyshareDataPacketAck {} + +message EncryptedKeysharesPacketData { + string identity = 1; + string pubkey = 2; + string request_id = 3; + repeated fairyring.common.EncryptedKeyshare encrypted_keyshares = 4; +} + +message EncryptedKeysharesPacketAck{} + // CurrentKeysPacketData defines a struct for the packet payload message CurrentKeysPacketData { } diff --git a/proto/fairyring/keyshare/requested_keyshare.proto b/proto/fairyring/keyshare/requested_keyshare.proto index 169da207..4f35145c 100644 --- a/proto/fairyring/keyshare/requested_keyshare.proto +++ b/proto/fairyring/keyshare/requested_keyshare.proto @@ -1,6 +1,8 @@ syntax = "proto3"; package fairyring.keyshare; +import "fairyring/common/shared_types.proto"; + option go_package = "github.com/Fairblock/fairyring/x/keyshare/types"; message KeyShareRequest { @@ -27,3 +29,13 @@ message CounterPartyIBCInfo { string ChannelID = 3; string PortID = 4; } + +message PrivateKeyshareRequest { + string identity = 1; + string pubkey = 2; + IBCInfo ibc_info = 3; // Used only when the request is made via IBC + CounterPartyIBCInfo counterparty = 4; // Used only when the request is made via IBC + repeated fairyring.common.EncryptedKeyshare encrypted_keyshares = 5; + string request_id = 6; + bool sent = 7; +} diff --git a/proto/fairyring/keyshare/tx.proto b/proto/fairyring/keyshare/tx.proto index 74880a6c..6daddd09 100644 --- a/proto/fairyring/keyshare/tx.proto +++ b/proto/fairyring/keyshare/tx.proto @@ -18,11 +18,11 @@ service Msg { // UpdateParams defines a (governance) operation for updating the module // parameters. The authority defaults to the x/gov module account. - rpc UpdateParams (MsgUpdateParams ) returns (MsgUpdateParamsResponse ); - rpc RegisterValidator (MsgRegisterValidator) returns (MsgRegisterValidatorResponse); + rpc UpdateParams (MsgUpdateParams ) returns (MsgUpdateParamsResponse ); + rpc RegisterValidator (MsgRegisterValidator ) returns (MsgRegisterValidatorResponse ); rpc DeRegisterValidator (MsgDeRegisterValidator) returns (MsgDeRegisterValidatorResponse); - rpc SendKeyshare (MsgSendKeyshare ) returns (MsgSendKeyshareResponse ); - + rpc SendKeyshare (MsgSendKeyshare ) returns (MsgSendKeyshareResponse ); + // this line is used by starport scaffolding # proto/tx/rpc rpc CreateLatestPubKey (MsgCreateLatestPubKey ) returns (MsgCreateLatestPubKeyResponse ); rpc OverrideLatestPubKey (MsgOverrideLatestPubKey ) returns (MsgOverrideLatestPubKeyResponse ); @@ -30,6 +30,7 @@ service Msg { rpc UpdateAuthorizedAddress (MsgUpdateAuthorizedAddress) returns (MsgUpdateAuthorizedAddressResponse); rpc DeleteAuthorizedAddress (MsgDeleteAuthorizedAddress) returns (MsgDeleteAuthorizedAddressResponse); rpc CreateGeneralKeyShare (MsgCreateGeneralKeyShare ) returns (MsgCreateGeneralKeyShareResponse ); + rpc SubmitEncryptedKeyshare (MsgSubmitEncryptedKeyshare) returns (MsgSubmitEncryptedKeyshareResponse); } // MsgUpdateParams is the Msg/UpdateParams request type. message MsgUpdateParams { @@ -38,7 +39,7 @@ message MsgUpdateParams { // authority is the address that controls the module (defaults to x/gov unless overwritten). string authority = 1 [(cosmos_proto.scalar) = "cosmos.AddressString"]; - + // params defines the module parameters to update. // NOTE: All parameters must be supplied. @@ -88,10 +89,10 @@ message MsgSendKeyshareResponse { // this line is used by starport scaffolding # proto/tx/message message MsgCreateLatestPubKey { option (cosmos.msg.v1.signer) = "creator"; - string creator = 1; - string publicKey = 2; - repeated string commitments = 3; - uint64 numberOfValidators = 4; + string creator = 1; + string publicKey = 2; + repeated string commitments = 3; + uint64 numberOfValidators = 4; repeated EncryptedKeyShare encryptedKeyShares = 5; } @@ -99,10 +100,10 @@ message MsgCreateLatestPubKeyResponse {} message MsgOverrideLatestPubKey { option (cosmos.msg.v1.signer) = "creator"; - string creator = 1; - string publicKey = 2; - repeated string commitments = 3; - uint64 numberOfValidators = 4; + string creator = 1; + string publicKey = 2; + repeated string commitments = 3; + uint64 numberOfValidators = 4; repeated EncryptedKeyShare encryptedKeyShares = 5; } @@ -154,3 +155,17 @@ message MsgCreateGeneralKeyShareResponse { bool success = 7; string errorMessage = 8; } + +message MsgSubmitEncryptedKeyshare { + option (cosmos.msg.v1.signer) = "creator"; + string creator = 1; + string identity = 2; + string encryptedKeyshare = 3; + uint64 keyShareIndex = 4; + uint64 receivedTimestamp = 5; + uint64 receivedBlockHeight = 6; + string requester = 7; +} + +message MsgSubmitEncryptedKeyshareResponse {} + diff --git a/proto/fairyring/pep/params.proto b/proto/fairyring/pep/params.proto index a5db25ab..dd931c6e 100644 --- a/proto/fairyring/pep/params.proto +++ b/proto/fairyring/pep/params.proto @@ -18,6 +18,7 @@ message Params { repeated TrustedCounterParty trusted_counter_parties = 3; repeated string trusted_addresses = 4 [(gogoproto.moretags) = "yaml:\"trusted_addresses\""]; cosmos.base.v1beta1.Coin min_gas_price = 5 [(gogoproto.moretags) = "yaml:\"min_gas_price\""]; + cosmos.base.v1beta1.Coin private_keyshare_price = 6 [(gogoproto.moretags) = "yaml:\"private_keyshare_price\""]; } message TrustedCounterParty { diff --git a/proto/fairyring/pep/query.proto b/proto/fairyring/pep/query.proto index c819865a..e5278674 100644 --- a/proto/fairyring/pep/query.proto +++ b/proto/fairyring/pep/query.proto @@ -11,6 +11,7 @@ import "fairyring/pep/encrypted_tx.proto"; import "fairyring/pep/pep_nonce.proto"; import "fairyring/pep/aggregated_key_share.proto"; import "fairyring/common/shared_types.proto"; +import "cosmos/base/v1beta1/coin.proto"; option go_package = "github.com/Fairblock/fairyring/x/pep/types"; @@ -72,6 +73,18 @@ service Query { option (google.api.http).get = "/fairyring/pep/keyshare"; } + + // Queries a list of ShowPrivateKeyshareReq items. + rpc ShowPrivateKeyshareReq (QueryShowPrivateKeyshareReqRequest) returns (QueryShowPrivateKeyshareReqResponse) { + option (google.api.http).get = "/Fairblock/fairyring/pep/show_private_keyshare_req/{reqId}"; + + } + + // Queries a list of DecryptData items. + rpc DecryptData (QueryDecryptDataRequest) returns (QueryDecryptDataResponse) { + option (google.api.http).get = "/Fairblock/fairyring/pep/decrypt_data/{aggrKeyshare}/{encryptedData}"; + + } } // QueryParamsRequest is request type for the Query/Params RPC method. message QueryParamsRequest {} @@ -154,4 +167,26 @@ message QueryPubKeyRequest {} message QueryPubKeyResponse { fairyring.common.ActivePublicKey activePubKey = 1 [(gogoproto.nullable) = false]; fairyring.common.QueuedPublicKey queuedPubKey = 2 [(gogoproto.nullable) = false]; -} \ No newline at end of file +} + +message QueryShowPrivateKeyshareReqRequest { + string reqId = 1; +} + +message QueryShowPrivateKeyshareReqResponse { + string creator = 1; + string req_id = 2; + string pubkey = 3; + repeated fairyring.common.EncryptedKeyshare encrypted_keyshares = 5; +} + +message QueryDecryptDataRequest { + string pubkey = 1; + string aggrKeyshare = 2; + string encryptedData = 3; +} + +message QueryDecryptDataResponse { + string decrypted_data = 1; +} + diff --git a/proto/fairyring/pep/request_id.proto b/proto/fairyring/pep/request_id.proto index 8dba03b5..9ffd4542 100644 --- a/proto/fairyring/pep/request_id.proto +++ b/proto/fairyring/pep/request_id.proto @@ -1,6 +1,9 @@ syntax = "proto3"; package fairyring.pep; +import "gogoproto/gogo.proto"; +import "fairyring/common/shared_types.proto"; + option go_package = "github.com/Fairblock/fairyring/x/pep/types"; message RequestId { @@ -8,3 +11,9 @@ message RequestId { string reqId = 2; } +message PrivateRequest { + string creator = 1; + string req_id = 2; + string pubkey = 3; + repeated fairyring.common.EncryptedKeyshare encrypted_keyshares = 5; +} diff --git a/proto/fairyring/pep/tx.proto b/proto/fairyring/pep/tx.proto index c92b43c6..2edb8ae6 100644 --- a/proto/fairyring/pep/tx.proto +++ b/proto/fairyring/pep/tx.proto @@ -11,6 +11,7 @@ import "google/protobuf/duration.proto"; import "gogoproto/gogo.proto"; import "fairyring/pep/params.proto"; import "fairyring/pep/aggregated_key_share.proto"; +import "cosmos/base/v1beta1/coin.proto"; option go_package = "github.com/Fairblock/fairyring/x/pep/types"; @@ -28,6 +29,8 @@ service Msg { rpc CreateAggregatedKeyShare (MsgCreateAggregatedKeyShare) returns (MsgCreateAggregatedKeyShareResponse); rpc RequestGeneralKeyshare (MsgRequestGeneralKeyshare ) returns (MsgRequestGeneralKeyshareResponse ); rpc GetGeneralKeyshare (MsgGetGeneralKeyshare ) returns (MsgGetGeneralKeyshareResponse ); + rpc RequestPrivateIdentity (MsgRequestPrivateIdentity ) returns (MsgRequestPrivateIdentityResponse ); + rpc GetPrivateKeyshares (MsgGetPrivateKeyshares ) returns (MsgGetPrivateKeysharesResponse ); } // MsgUpdateParams is the Msg/UpdateParams request type. message MsgUpdateParams { @@ -36,7 +39,7 @@ message MsgUpdateParams { // authority is the address that controls the module (defaults to x/gov unless overwritten). string authority = 1 [(cosmos_proto.scalar) = "cosmos.AddressString"]; - + // params defines the module parameters to update. // NOTE: All parameters must be supplied. @@ -90,4 +93,24 @@ message MsgGetGeneralKeyshare { string req_id = 2; } -message MsgGetGeneralKeyshareResponse {} \ No newline at end of file +message MsgGetGeneralKeyshareResponse {} + +message MsgRequestPrivateIdentity { + option (cosmos.msg.v1.signer) = "creator"; + string creator = 1; + string reqId = 2; +} + +message MsgRequestPrivateIdentityResponse { + string req_id = 1; +} + +message MsgGetPrivateKeyshares { + option (cosmos.msg.v1.signer) = "creator"; + string creator = 1; + string reqId = 2; + string secp_pubkey = 3; +} + +message MsgGetPrivateKeysharesResponse {} + diff --git a/scripts/private_key.pem b/scripts/private_key.pem new file mode 100644 index 00000000..df38e2e7 --- /dev/null +++ b/scripts/private_key.pem @@ -0,0 +1,28 @@ +-----BEGIN PRIVATE KEY----- +MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQCpfl56QrzRg9Aa +/zTeEg8ddTK6+SDgS4jYYPZrRb9EIWwPvRvJ+qBf4XXSp5j0iKEvbyw6IAjD2ZOi +w9HHPxDMf3gtTok4zA4y1iGzWRUelonhBSth5LtrBeqWq5GVx+IoY2d9udPCgYzE +HqstsgWJ7H6BdHcZI/j5Xd5uM7HbXyuoAGRg3jggWp1idWJD5b19YMpXXHIjImmk +xFKYQlMgOAS7KwN/nUvkYPZbJFccta5ZagGbVo5Q66dqPSftpIKmuIFvadKbAHLL +VVDEcFhn60T+qiPCggulgK/rV5njo12/hq80NnnSsEyvgdXng9mp0UO9RmO9BOqZ +C/v/ug7dAgMBAAECggEANSjwYvJJnID2JXGD2F7bpMacaa43lIG8YvlOcGjIy4qc +BPewHpJf+JKTTMXKIHA19dWtjnF7rkmwl21Jf2+VSj50p+ko+sptbZ5hpYm8KQLY +Ld5cM/D0o2WQpT8cg1jU4wwCapl9BFVznBNuZv+d4xtsthecPyNcNIIvgGrwTrgx +EfUs0z5o2h05Qdd28fq9aQHVL1VmXHfQvqaUStjn88t2/WuEIq3rmj7nsAYkw4id +0M26vWypIsY4/8VV7gdrsSoI+7TOR8/jJCSnDuA27IVcCwJYCzbpaPV5eFs4VSX3 +3xBVGx/61ZO+VB+IWUZa61pHpNQEGOs0LlgVUAKSFQKBgQDXJ8X8XiTc4h5Z3c9/ +DBDnNW05FXjf9B7k3LBIvz71mlFW9fOGS9mfxyv7Ff46JPRgzFDIs9xeV2ybB1sz +FYFqkEqRUfJfTQ0aq0w5CG5fj2z7/BGOMMxugEacUcqkFU1GsbTIxEYrHxPvDiyc +183B0f5nshVNqB8SaY0Lha/qIwKBgQDJq4EM4Gv2sTnRbDQYLluGw08kZDfqfKb3 +quGS8LlNMvZMnXfvAgu0ezs1pQy/B0GNzFKa99mOX5r5VMSEmcxqPfAr8v/wMH5s +SdXEAmiyx9NnaB6RY9cof8vv4foNU+fn44jj8NDPj2xxQo6FCRoJhi7CspufPh48 +mTSXRvcy/wKBgQCmsTr0PqBCvbGUIIS9QsTpzPvVSSyAHmu9FrpBcmI9+JRiUmWd +O7Dc2HvbqXtw4uavBDzmcmsecI9FQRrIZjYBMM+E7T9h1Jl9ew+v9DdHNCDUzcNw +LaCFUD7kp33fSF25kr6k+WP/zrEr+ghYb94K9z4qas+Ufdes9TgAoE/djwKBgQCN +DvjlGNRraOsYIKcPgt1iFZp1yeOSkD35Xf0J2nbCGLNOQ5ZwBu5I/ykbDKctttWT +aSceXd4+R4EOhMwwM6NXbJthIkcCqejDtaFfyI+S/VJRMfKvnzYPjdQHpfhQ+i9r +cyt8xCRKCffAAN3PD962arSqWmOfrsNXf5HZfjnJ4QKBgGoVwFjlRa1fG32z1+Q4 +jqsZgs3H+6PeMzT6mIOcONeQmHjrKpQCXvYWe1ZouURu681pHBQcxE4P3gXNnI2b +3upAZlmynOQ8nQfDSVveou5MgJUSxjfmaXAjWn1pyYp/jH9U2MuwLwkZ5CSoArnD +xvr+eBkcr3iqInp7GBBG94LN +-----END PRIVATE KEY----- diff --git a/scripts/public_key.pem b/scripts/public_key.pem new file mode 100644 index 00000000..98dd2ee2 --- /dev/null +++ b/scripts/public_key.pem @@ -0,0 +1,9 @@ +-----BEGIN PUBLIC KEY----- +MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAqX5eekK80YPQGv803hIP +HXUyuvkg4EuI2GD2a0W/RCFsD70byfqgX+F10qeY9IihL28sOiAIw9mTosPRxz8Q +zH94LU6JOMwOMtYhs1kVHpaJ4QUrYeS7awXqlquRlcfiKGNnfbnTwoGMxB6rLbIF +iex+gXR3GSP4+V3ebjOx218rqABkYN44IFqdYnViQ+W9fWDKV1xyIyJppMRSmEJT +IDgEuysDf51L5GD2WyRXHLWuWWoBm1aOUOunaj0n7aSCpriBb2nSmwByy1VQxHBY +Z+tE/qojwoILpYCv61eZ46Ndv4avNDZ50rBMr4HV54PZqdFDvUZjvQTqmQv7/7oO +3QIDAQAB +-----END PUBLIC KEY----- diff --git a/scripts/tests/pep.sh b/scripts/tests/pep.sh index 550dec30..2dfed876 100755 --- a/scripts/tests/pep.sh +++ b/scripts/tests/pep.sh @@ -82,7 +82,7 @@ echo "Pub Key expires at: $PUB_KEY_EXPIRY" echo "Submit encrypted tx with invalid block height to pep module on chain fairyring_test_2" CURRENT_BLOCK=$($BINARY query consensus comet block-latest --home $CHAIN_DIR/$CHAINID_1 --node tcp://localhost:16657 -o json | jq -r '.block.header.height') -RESULT=$($BINARY tx pep submit-encrypted-tx 0000 $((CURRENT_BLOCK - 1)) --from $VALIDATOR_2 --gas-prices 1ufairy --gas 300000 --home $CHAIN_DIR/$CHAINID_2 --chain-id $CHAINID_2 --node $CHAIN2_NODE --broadcast-mode sync --keyring-backend test -o json -y) +RESULT=$($BINARY tx pep submit-encrypted-tx 0000 $((CURRENT_BLOCK - 1)) --from $VALIDATOR_2 --gas-prices 1ufairy --gas 900000 --home $CHAIN_DIR/$CHAINID_2 --chain-id $CHAINID_2 --node $CHAIN2_NODE --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') @@ -94,7 +94,7 @@ fi echo "Submit encrypted tx with block height much higher than queued public key to pep module on chain fairyring_test_2" -RESULT=$($BINARY tx pep submit-encrypted-tx 0000 500000 --from $VALIDATOR_2 --gas-prices 1ufairy --gas 300000 --home $CHAIN_DIR/$CHAINID_2 --chain-id $CHAINID_2 --node $CHAIN2_NODE --broadcast-mode sync --keyring-backend test -o json -y) +RESULT=$($BINARY tx pep submit-encrypted-tx 0000 500000 --from $VALIDATOR_2 --gas-prices 1ufairy --gas 900000 --home $CHAIN_DIR/$CHAINID_2 --chain-id $CHAINID_2 --node $CHAIN2_NODE --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') @@ -106,7 +106,7 @@ fi echo "Submit encrypted tx with block height 1 block higher than the pub key expiry height to pep module on chain fairyring_test_2" -RESULT=$($BINARY tx pep submit-encrypted-tx 0000 $((PUB_KEY_EXPIRY + 1)) --from $VALIDATOR_2 --gas-prices 1ufairy --gas 300000 --home $CHAIN_DIR/$CHAINID_2 --chain-id $CHAINID_2 --node $CHAIN2_NODE --broadcast-mode sync --keyring-backend test -o json -y) +RESULT=$($BINARY tx pep submit-encrypted-tx 0000 $((PUB_KEY_EXPIRY + 1)) --from $VALIDATOR_2 --gas-prices 1ufairy --gas 900000 --home $CHAIN_DIR/$CHAINID_2 --chain-id $CHAINID_2 --node $CHAIN2_NODE --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') @@ -185,10 +185,10 @@ fi echo "Encrypting signed tx with Pub key: '$PUB_KEY'" -CIPHER=$($BINARY encrypt $AGG_KEY_HEIGHT $SIGNED_DATA --node $CHAIN1_NODE) +CIPHER=$($BINARY encrypt $AGG_KEY_HEIGHT "" $SIGNED_DATA --node $CHAIN1_NODE) echo "Encrypting 2nd signed tx with Pub key: '$PUB_KEY'" -CIPHER_2=$($BINARY encrypt $AGG_KEY_HEIGHT $SIGNED_DATA_2 --node $CHAIN1_NODE) +CIPHER_2=$($BINARY encrypt $AGG_KEY_HEIGHT "" $SIGNED_DATA_2 --node $CHAIN1_NODE) rm -r unsigned.json &> /dev/null @@ -202,7 +202,7 @@ echo "Balance before submitting encrypted tx: $BAL_AMT$BAL_DENOM" echo "Submit encrypted tx to pep module on chain fairyring_test_2" -RESULT=$($BINARY tx pep submit-encrypted-tx $CIPHER $AGG_KEY_HEIGHT --from $VALIDATOR_2 --gas-prices 1ufairy --gas 300000 --home $CHAIN_DIR/$CHAINID_2 --chain-id $CHAINID_2 --node $CHAIN2_NODE --broadcast-mode sync --keyring-backend test -o json -y) +RESULT=$($BINARY tx pep submit-encrypted-tx $CIPHER $AGG_KEY_HEIGHT --from $VALIDATOR_2 --gas-prices 1ufairy --gas 900000 --home $CHAIN_DIR/$CHAINID_2 --chain-id $CHAINID_2 --node $CHAIN2_NODE --broadcast-mode sync --keyring-backend test -o json -y) check_tx_code $RESULT RESULT=$(wait_for_tx $RESULT) TARGET_HEIGHT=$(echo "$RESULT" | jq '.events' | jq 'map(select(any(.type; contains("new-encrypted-tx-submitted"))))[]' | jq '.attributes' | jq 'map(select(any(.key; contains("height"))))[]' | jq -r '.value') @@ -222,7 +222,7 @@ echo "Balance after submitting first encrypted tx: $BAL_AMT$BAL_DENOM" echo "Submit 2nd encrypted tx (without gas fee) to pep module on chain fairyring_test_2" -RESULT=$($BINARY tx pep submit-encrypted-tx $CIPHER_2 $AGG_KEY_HEIGHT --from $VALIDATOR_2 --gas-prices 1ufairy --gas 300000 --home $CHAIN_DIR/$CHAINID_2 --chain-id $CHAINID_2 --node $CHAIN2_NODE --broadcast-mode sync --keyring-backend test -o json -y) +RESULT=$($BINARY tx pep submit-encrypted-tx $CIPHER_2 $AGG_KEY_HEIGHT --from $VALIDATOR_2 --gas-prices 1ufairy --gas 900000 --home $CHAIN_DIR/$CHAINID_2 --chain-id $CHAINID_2 --node $CHAIN2_NODE --broadcast-mode sync --keyring-backend test -o json -y) check_tx_code $RESULT RESULT=$(wait_for_tx $RESULT) TARGET_HEIGHT=$(echo "$RESULT" | jq '.events' | jq 'map(select(any(.type; contains("new-encrypted-tx-submitted"))))[]' | jq '.attributes' | jq 'map(select(any(.key; contains("height"))))[]' | jq -r '.value') @@ -340,6 +340,10 @@ if [[ "$SECOND_EVENT" != *"coin_received"* ]]; then fi echo "Second Encrypted TX succeeded with Events: $(echo $SECOND_EVENT | jq) as expected." +echo "#############################################" +echo "Testing general keyshare on source chain" +echo "#############################################" + echo "Creating new General Enc Request in pep module on chain fairyring_test_1" RESULT=$($BINARY tx pep request-general-keyshare 30s testing123 --from $WALLET_1 --gas-prices 1ufairy --home $CHAIN_DIR/$CHAINID_1 --chain-id $CHAINID_1 --node $CHAIN1_NODE --broadcast-mode sync --keyring-backend test -o json -y) check_tx_code $RESULT @@ -375,8 +379,8 @@ $BINARY tx bank send $WALLET_1 $VALIDATOR_1 1$TARGET_BAL_DENOM --from $WALLET_1 SIGNED_DATA_2=$($BINARY tx sign unsigned2.json --from $WALLET_1 --offline --account-number 1 --sequence $PEP_NONCE_2ND --gas-prices 1ufairy --home $CHAIN_DIR/$CHAINID_1 --chain-id $CHAINID_1 --node $CHAIN1_NODE --keyring-backend test -y) echo "Encrypting signed tx with Pub key: '$PUB_KEY'" -CIPHER=$($BINARY encrypt $IDENTITY $SIGNED_DATA --node $CHAIN1_NODE) -CIPHER2=$($BINARY encrypt $IDENTITY $SIGNED_DATA_2 --node $CHAIN1_NODE) +CIPHER=$($BINARY encrypt $IDENTITY "" $SIGNED_DATA --node $CHAIN1_NODE) +CIPHER2=$($BINARY encrypt $IDENTITY "" $SIGNED_DATA_2 --node $CHAIN1_NODE) rm -r unsigned.json &> /dev/null rm -r unsigned2.json &> /dev/null @@ -384,7 +388,7 @@ rm -r unsigned2.json &> /dev/null sleep 10 echo "Submit general encrypted tx to pep module on chain fairyring_test_1" -RESULT=$($BINARY tx pep submit-general-encrypted-tx $CIPHER $REQ_ID --from $WALLET_1 --gas-prices 1ufairy --gas 300000 --home $CHAIN_DIR/$CHAINID_1 --chain-id $CHAINID_1 --node $CHAIN1_NODE --broadcast-mode sync --keyring-backend test -o json -y) +RESULT=$($BINARY tx pep submit-general-encrypted-tx $CIPHER $REQ_ID --from $WALLET_1 --gas-prices 1ufairy --gas 900000 --home $CHAIN_DIR/$CHAINID_1 --chain-id $CHAINID_1 --node $CHAIN1_NODE --broadcast-mode sync --keyring-backend test -o json -y) echo "$RESULT" check_tx_code $RESULT @@ -398,14 +402,14 @@ if [ "$TX" != "$CIPHER" ]; then fi echo "Submit 2nd general encrypted tx to pep module on chain fairyring_test_1" -RESULT=$($BINARY tx pep submit-general-encrypted-tx $CIPHER2 $REQ_ID --from $WALLET_1 --gas-prices 1ufairy --gas 300000 --home $CHAIN_DIR/$CHAINID_1 --chain-id $CHAINID_1 --node $CHAIN1_NODE --broadcast-mode sync --keyring-backend test -o json -y) +RESULT=$($BINARY tx pep submit-general-encrypted-tx $CIPHER2 $REQ_ID --from $WALLET_1 --gas-prices 1ufairy --gas 900000 --home $CHAIN_DIR/$CHAINID_1 --chain-id $CHAINID_1 --node $CHAIN1_NODE --broadcast-mode sync --keyring-backend test -o json -y) echo "$RESULT" check_tx_code $RESULT sleep 6 echo "Request Generation of Aggr keyshare" -RESULT=$($BINARY tx pep get-general-keyshare $REQ_ID --from $WALLET_1 --gas-prices 1ufairy --gas 300000 --home $CHAIN_DIR/$CHAINID_1 --chain-id $CHAINID_1 --node $CHAIN1_NODE --broadcast-mode sync --keyring-backend test -o json -y) +RESULT=$($BINARY tx pep get-general-keyshare $REQ_ID --from $WALLET_1 --gas-prices 1ufairy --gas 900000 --home $CHAIN_DIR/$CHAINID_1 --chain-id $CHAINID_1 --node $CHAIN1_NODE --broadcast-mode sync --keyring-backend test -o json -y) echo "$RESULT" check_tx_code $RESULT @@ -417,7 +421,7 @@ EXTRACTED_SHARE=$(echo "$EXTRACTED_RESULT" | jq -r '.KeyShare') while true; do echo "Submitting General Key Share" - RESULT=$($BINARY tx keyshare create-general-key-share "private-gov-identity" $IDENTITY $EXTRACTED_SHARE 1 --from $VALIDATOR_1 --gas-prices 1ufairy --gas 300000 --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-general-key-share "private-gov-identity" $IDENTITY $EXTRACTED_SHARE 1 --from $VALIDATOR_1 --gas-prices 1ufairy --gas 900000 --home $CHAIN_DIR/$CHAINID_1 --chain-id $CHAINID_1 --node tcp://localhost:16657 --broadcast-mode sync --keyring-backend test -o json -y) echo "$RESULT" check_tx_err $RESULT if [ $? -eq 0 ]; then @@ -476,20 +480,20 @@ echo "Target account has: $TARGET_BAL $TARGET_BAL_DENOM before encrypted bank se echo "Signing bank send tx with pep nonce: '$PEP_NONCE_BEFORE'" echo "Sending 1 $TARGET_BAL_DENOM to target address" -$BINARY tx bank send $WALLET_2 $VALIDATOR_2 5$TARGET_BAL_DENOM --from $WALLET_2 --gas-prices 1ufairy --gas 300000 --home $CHAIN_DIR/$CHAINID_2 --chain-id $CHAINID_2 --node $CHAIN2_NODE --keyring-backend test --generate-only -o json -y > unsigned.json +$BINARY tx bank send $WALLET_2 $VALIDATOR_2 5$TARGET_BAL_DENOM --from $WALLET_2 --gas-prices 1ufairy --gas 900000 --home $CHAIN_DIR/$CHAINID_2 --chain-id $CHAINID_2 --node $CHAIN2_NODE --keyring-backend test --generate-only -o json -y > unsigned.json SIGNED_DATA=$($BINARY tx sign unsigned.json --from $WALLET_2 --offline --account-number 1 --sequence $PEP_NONCE_BEFORE --gas-prices 1ufairy --home $CHAIN_DIR/$CHAINID_2 --chain-id $CHAINID_2 --node $CHAIN2_NODE --keyring-backend test -y) PEP_NONCE_2ND=$(($PEP_NONCE_BEFORE+1)) echo "Signing second bank send tx with pep nonce: '$PEP_NONCE_2ND'" echo "Sending 1 $TARGET_BAL_DENOM to target address" -$BINARY tx bank send $WALLET_2 $VALIDATOR_2 5$TARGET_BAL_DENOM --from $WALLET_2 --gas-prices 1ufairy --gas 300000 --home $CHAIN_DIR/$CHAINID_2 --chain-id $CHAINID_2 --node $CHAIN2_NODE --keyring-backend test --generate-only -o json -y > unsigned2.json +$BINARY tx bank send $WALLET_2 $VALIDATOR_2 5$TARGET_BAL_DENOM --from $WALLET_2 --gas-prices 1ufairy --gas 900000 --home $CHAIN_DIR/$CHAINID_2 --chain-id $CHAINID_2 --node $CHAIN2_NODE --keyring-backend test --generate-only -o json -y > unsigned2.json SIGNED_DATA_2=$($BINARY tx sign unsigned2.json --from $WALLET_2 --offline --account-number 1 --sequence $PEP_NONCE_2ND --gas-prices 1ufairy --home $CHAIN_DIR/$CHAINID_2 --chain-id $CHAINID_2 --node $CHAIN2_NODE --keyring-backend test -y) echo "Encrypting signed tx with Pub key: '$PUB_KEY'" echo $IDENTITY $SIGNED_DATA echo $IDENTITY $SIGNED_DATA_2 -CIPHER=$($BINARY encrypt "$IDENTITY" "$SIGNED_DATA" --node $CHAIN2_NODE) -CIPHER2=$($BINARY encrypt "$IDENTITY" "$SIGNED_DATA_2" --node $CHAIN2_NODE) +CIPHER=$($BINARY encrypt "$IDENTITY" "" "$SIGNED_DATA" --node $CHAIN2_NODE) +CIPHER2=$($BINARY encrypt "$IDENTITY" "" "$SIGNED_DATA_2" --node $CHAIN2_NODE) rm -r unsigned.json &> /dev/null rm -r unsigned2.json &> /dev/null @@ -497,7 +501,7 @@ rm -r unsigned2.json &> /dev/null sleep 10 echo "Submit general encrypted tx to pep module on chain $CHAINID_2" -RESULT=$($BINARY tx pep submit-general-encrypted-tx $CIPHER $REQ_ID --from $WALLET_2 --gas-prices 1ufairy --gas 300000 --home $CHAIN_DIR/$CHAINID_2 --chain-id $CHAINID_2 --node $CHAIN2_NODE --broadcast-mode sync --keyring-backend test -o json -y) +RESULT=$($BINARY tx pep submit-general-encrypted-tx $CIPHER $REQ_ID --from $WALLET_2 --gas-prices 1ufairy --gas 900000 --home $CHAIN_DIR/$CHAINID_2 --chain-id $CHAINID_2 --node $CHAIN2_NODE --broadcast-mode sync --keyring-backend test -o json -y) echo "$RESULT" check_tx_code $RESULT @@ -511,14 +515,14 @@ if [ "$TX" != "$CIPHER" ]; then fi echo "Submit 2nd general encrypted tx to pep module on chain $CHAINID_2" -RESULT=$($BINARY tx pep submit-general-encrypted-tx $CIPHER2 $REQ_ID --from $WALLET_2 --gas-prices 1ufairy --gas 300000 --home $CHAIN_DIR/$CHAINID_2 --chain-id $CHAINID_2 --node $CHAIN2_NODE --broadcast-mode sync --keyring-backend test -o json -y) +RESULT=$($BINARY tx pep submit-general-encrypted-tx $CIPHER2 $REQ_ID --from $WALLET_2 --gas-prices 1ufairy --gas 900000 --home $CHAIN_DIR/$CHAINID_2 --chain-id $CHAINID_2 --node $CHAIN2_NODE --broadcast-mode sync --keyring-backend test -o json -y) echo "$RESULT" check_tx_code $RESULT sleep 6 echo "Request Generation of Aggr keyshare" -RESULT=$($BINARY tx pep get-general-keyshare $REQ_ID --from $WALLET_2 --gas-prices 1ufairy --gas 300000 --home $CHAIN_DIR/$CHAINID_2 --chain-id $CHAINID_2 --node $CHAIN2_NODE --broadcast-mode sync --keyring-backend test -o json -y) +RESULT=$($BINARY tx pep get-general-keyshare $REQ_ID --from $WALLET_2 --gas-prices 1ufairy --gas 900000 --home $CHAIN_DIR/$CHAINID_2 --chain-id $CHAINID_2 --node $CHAIN2_NODE --broadcast-mode sync --keyring-backend test -o json -y) echo "$RESULT" check_tx_code $RESULT @@ -530,7 +534,7 @@ EXTRACTED_SHARE=$(echo "$EXTRACTED_RESULT" | jq -r '.KeyShare') while true; do echo "Submitting General Key Share" - RESULT=$($BINARY tx keyshare create-general-key-share "private-gov-identity" $IDENTITY $EXTRACTED_SHARE 1 --from $VALIDATOR_1 --gas-prices 1ufairy --gas 300000 --home $CHAIN_DIR/$CHAINID_1 --chain-id $CHAINID_1 --node $CHAIN1_NODE --broadcast-mode sync --keyring-backend test -o json -y) + RESULT=$($BINARY tx keyshare create-general-key-share "private-gov-identity" $IDENTITY $EXTRACTED_SHARE 1 --from $VALIDATOR_1 --gas-prices 1ufairy --gas 900000 --home $CHAIN_DIR/$CHAINID_1 --chain-id $CHAINID_1 --node $CHAIN1_NODE --broadcast-mode sync --keyring-backend test -o json -y) echo "$RESULT" check_tx_err $RESULT if [ $? -eq 0 ]; then @@ -552,6 +556,257 @@ if [ "$TARGET_BAL_AFTER" == "$TARGET_BAL" ]; then exit 1 fi +echo "#############################################" +echo "Testing private keyshare on source chain" +echo "#############################################" + +# RSA_KEY=$(cat ./scripts/public_key.pem) +SCEP_PUBKEY1="A/MdHVpitzHNSdD1Zw3kY+L5PEIPyd9l6sD5i4aIfXp9" +SCEP_PUBKEY2="Ak9iJuH5l5/XdmS6U+ojbutXnGzBnQf++HVOfKanVEc+" + +SCEP_PRIV_KEY1="a267fb03b3e6dc381550ea0257ace31433698f16248ba111dfb75550364d31fe" +SCEP_PRIV_KEY2="ef1450bdc18396f2254f52d8c525c0d933a8f146ec2a681eaf319f5899f2f60d" + +# echo "$SCEP_PUBKEY" + +echo "Creating new Private Request in pep module on chain fairyring_test_1" +RESULT=$($BINARY tx pep request-private-keyshare test_req_1 --from $WALLET_1 --gas-prices 1ufairy --home $CHAIN_DIR/$CHAINID_1 --chain-id $CHAINID_1 --node $CHAIN1_NODE --broadcast-mode sync --keyring-backend test -o json -y) +check_tx_code $RESULT + +sleep 10 + +echo "Query private keyshare request on chain fairyring_test_1" +SHOW_PRIVATE_REQ=$($BINARY query pep show-private-keyshare-req $WALLET_1/test_req_1 --node $CHAIN1_NODE -o json) +echo $SHOW_PRIVATE_REQ +REQ_ID=$(echo $SHOW_PRIVATE_REQ | jq -r '.req_id') +echo "Identity for private keyshare request 1 is: $REQ_ID" + +sleep 10 + +echo "Requesting for private keyshares on Source chain" +RESULT=$($BINARY tx pep get-private-keyshare $REQ_ID $SCEP_PUBKEY1 --from $WALLET_1 --gas-prices 1ufairy --home $CHAIN_DIR/$CHAINID_1 --chain-id $CHAINID_1 --node $CHAIN1_NODE --broadcast-mode sync --keyring-backend test -o json -y) +check_tx_code $RESULT + +sleep 10 + +EXTRACTED_RESULT=$($BINARY share-generation derive $GENERATED_SHARE 1 $REQ_ID) +EXTRACTED_SHARE=$(echo "$EXTRACTED_RESULT" | jq -r '.KeyShare') + +ENC_KS=$($BINARY secp-encrypter -p "$SCEP_PUBKEY1" -k "$EXTRACTED_SHARE") + +# echo $ENC_KS + +while true; do + echo "Submitting Private Key Share" + + RESULT=$($BINARY tx keyshare submit-encrypted-keyshare $REQ_ID $WALLET_1 $ENC_KS 1 --from $VALIDATOR_1 --gas-prices 1ufairy --gas 900000 --home $CHAIN_DIR/$CHAINID_1 --chain-id $CHAINID_1 --node $CHAIN1_NODE --broadcast-mode sync --keyring-backend test -o json -y) + echo "$RESULT" + check_tx_err $RESULT + if [ $? -eq 0 ]; then + break + fi +done + +sleep 10 + +echo "Query private keyshare request on chain fairyring_test_1" +SHOW_PRIVATE_REQ=$($BINARY query pep show-private-keyshare-req $WALLET_1/test_req_1 --node $CHAIN1_NODE -o json) +ENC_KEYSHARES=$(echo "$SHOW_PRIVATE_REQ" | jq -r '.encrypted_keyshares') + +if [ "$ENC_KEYSHARES" = "[]" ]; then + echo "encrypted_keyshares is empty." + exit 1 +fi + +echo $SHOW_PRIVATE_REQ + +echo "Sending get private keyshare request without previous entry" +REQ_ID="test_req_dummy_1" +RESULT=$($BINARY tx pep get-private-keyshare $REQ_ID $SCEP_PUBKEY1 --from $WALLET_1 --gas-prices 1ufairy --home $CHAIN_DIR/$CHAINID_1 --chain-id $CHAINID_1 --node $CHAIN1_NODE --broadcast-mode sync --keyring-backend test -o json -y) +check_tx_code $RESULT + +sleep 10 + +echo "Query private keyshare request on chain fairyring_test_1" +SHOW_PRIVATE_REQ=$($BINARY query pep show-private-keyshare-req $REQ_ID --node $CHAIN1_NODE -o json) +echo $SHOW_PRIVATE_REQ + +EXTRACTED_RESULT=$($BINARY share-generation derive $GENERATED_SHARE 1 $REQ_ID) +EXTRACTED_SHARE=$(echo "$EXTRACTED_RESULT" | jq -r '.KeyShare') + +ENC_KS=$($BINARY secp-encrypter -p "$SCEP_PUBKEY1" -k "$EXTRACTED_SHARE") + +# echo $ENC_KS + +while true; do + echo "Submitting Private Key Share" + + RESULT=$($BINARY tx keyshare submit-encrypted-keyshare $REQ_ID $WALLET_1 $ENC_KS 1 --from $VALIDATOR_1 --gas-prices 1ufairy --gas 900000 --home $CHAIN_DIR/$CHAINID_1 --chain-id $CHAINID_1 --node $CHAIN1_NODE --broadcast-mode sync --keyring-backend test -o json -y) + echo "$RESULT" + check_tx_err $RESULT + if [ $? -eq 0 ]; then + break + fi +done + +sleep 10 + +echo "Query private keyshare request on chain fairyring_test_1" +SHOW_PRIVATE_REQ=$($BINARY query pep show-private-keyshare-req $REQ_ID --node $CHAIN1_NODE -o json) +ENC_KEYSHARES=$(echo "$SHOW_PRIVATE_REQ" | jq -r '.encrypted_keyshares') + +if [ "$ENC_KEYSHARES" = "[]" ]; then + echo "encrypted_keyshares is empty." + exit 1 +fi + +echo $SHOW_PRIVATE_REQ + +echo "#############################################" +echo "Testing private keyshare on destination chain" +echo "#############################################" + +echo "Creating new Private Request in pep module on chain fairyring_test_2" +RESULT=$($BINARY tx pep request-private-keyshare test_req_2 --from $WALLET_2 --gas-prices 1ufairy --home $CHAIN_DIR/$CHAINID_2 --chain-id $CHAINID_2 --node $CHAIN2_NODE --broadcast-mode sync --keyring-backend test -o json -y) +check_tx_code $RESULT + +sleep 20 + +echo "Query private keyshare request on chain fairyring_test_2" +SHOW_PRIVATE_REQ=$($BINARY query pep show-private-keyshare-req $WALLET_2/test_req_2 --node $CHAIN2_NODE -o json) +echo $SHOW_PRIVATE_REQ +REQ_ID=$(echo $SHOW_PRIVATE_REQ | jq -r '.req_id') +echo "Identity for private keyshare request 2 is: $REQ_ID" + +echo "Requesting for private keyshares on destination chain" +RESULT=$($BINARY tx pep get-private-keyshare $REQ_ID $SCEP_PUBKEY2 --from $WALLET_2 --gas-prices 1ufairy --home $CHAIN_DIR/$CHAINID_2 --chain-id $CHAINID_2 --node $CHAIN2_NODE --broadcast-mode sync --keyring-backend test -o json -y) +check_tx_code $RESULT + +sleep 20 + +EXTRACTED_RESULT=$($BINARY share-generation derive $GENERATED_SHARE 1 $REQ_ID) +EXTRACTED_SHARE=$(echo "$EXTRACTED_RESULT" | jq -r '.KeyShare') + +ENC_KS=$($BINARY secp-encrypter -p "$SCEP_PUBKEY2" -k "$EXTRACTED_SHARE") +# echo $ENC_KS + +while true; do + echo "Submitting Private Key Share" + + RESULT=$($BINARY tx keyshare submit-encrypted-keyshare $REQ_ID $WALLET_1 $ENC_KS 1 --from $VALIDATOR_1 --gas-prices 1ufairy --gas 900000 --home $CHAIN_DIR/$CHAINID_1 --chain-id $CHAINID_1 --node $CHAIN1_NODE --broadcast-mode sync --keyring-backend test -o json -y) + echo "$RESULT" + check_tx_err $RESULT + if [ $? -eq 0 ]; then + break + fi +done + +sleep 20 + +echo "Query private keyshare request on chain fairyring_test_2" +SHOW_PRIVATE_REQ=$($BINARY query pep show-private-keyshare-req $REQ_ID --node $CHAIN2_NODE -o json) +ENC_KEYSHARES=$(echo "$SHOW_PRIVATE_REQ" | jq -r '.encrypted_keyshares') + +if [ "$ENC_KEYSHARES" = "[]" ]; then + echo "encrypted_keyshares is empty." + exit 1 +fi + +echo $SHOW_PRIVATE_REQ + +echo "Sending get private keyshare request without previous entry" +REQ_ID="test_req_dummy_2" +RESULT=$($BINARY tx pep get-private-keyshare $REQ_ID $SCEP_PUBKEY2 --from $WALLET_2 --gas-prices 1ufairy --home $CHAIN_DIR/$CHAINID_2 --chain-id $CHAINID_2 --node $CHAIN2_NODE --broadcast-mode sync --keyring-backend test -o json -y) +check_tx_code $RESULT + +sleep 10 + +echo "Query private keyshare request on chain fairyring_test_2" +SHOW_PRIVATE_REQ=$($BINARY query pep show-private-keyshare-req $REQ_ID --node $CHAIN2_NODE -o json) +echo $SHOW_PRIVATE_REQ + +EXTRACTED_RESULT=$($BINARY share-generation derive $GENERATED_SHARE 1 $REQ_ID) +EXTRACTED_SHARE=$(echo "$EXTRACTED_RESULT" | jq -r '.KeyShare') + +ENC_KS=$($BINARY secp-encrypter -p "$SCEP_PUBKEY2" -k "$EXTRACTED_SHARE") +# echo $ENC_KS + +while true; do + echo "Submitting Private Key Share" + + RESULT=$($BINARY tx keyshare submit-encrypted-keyshare $REQ_ID $WALLET_1 $ENC_KS 1 --from $VALIDATOR_1 --gas-prices 1ufairy --gas 900000 --home $CHAIN_DIR/$CHAINID_1 --chain-id $CHAINID_1 --node $CHAIN1_NODE --broadcast-mode sync --keyring-backend test -o json -y) + echo "$RESULT" + check_tx_err $RESULT + if [ $? -eq 0 ]; then + break + fi +done + +sleep 20 + +echo "Query private keyshare request on chain fairyring_test_2" +SHOW_PRIVATE_REQ=$($BINARY query pep show-private-keyshare-req $REQ_ID --node $CHAIN2_NODE -o json) +ENC_KEYSHARES=$(echo "$SHOW_PRIVATE_REQ" | jq -r '.encrypted_keyshares') + +if [ "$ENC_KEYSHARES" = "[]" ]; then + echo "encrypted_keyshares is empty." + exit 1 +fi + +echo $SHOW_PRIVATE_REQ + +echo "#############################################" +echo "Testing decryption query on source chain " +echo "#############################################" + +echo "Query general keyshare request on chain fairyring_test_1" +LIST_KEYSHARE_REQ=$($BINARY query pep list-keyshare-req --node $CHAIN1_NODE -o json) +IDENTITY=$(echo $LIST_KEYSHARE_REQ | jq -r '.keyshares[0].identity') +AGGR_KEYSHARE=$(echo $LIST_KEYSHARE_REQ | jq -r '.keyshares[0].aggr_keyshare') +echo "Identity for keyshare request is: $IDENTITY" +echo "Aggregated keyshare for request is: $AGGR_KEYSHARE" + +echo "Encrypting data with Pub key: '$PUB_KEY'" +TEST_DATA="test_data_1" +CIPHER=$($BINARY encrypt $IDENTITY $PUB_KEY $TEST_DATA --node $CHAIN1_NODE) + +echo "Encrypted Data: '$CIPHER'" + +echo "Attempting decryption of data via pep query" +RSP=$($BINARY query pep decrypt-data $PUB_KEY $AGGR_KEYSHARE $CIPHER --node $CHAIN1_NODE -o json) +DECRYPTED_DATA=$(echo $RSP | jq -r '.decrypted_data') + +if [ "$TEST_DATA" = "$DECRYPTED_DATA" ]; then + echo "Data successfully decrypted" +else + echo "Data decryption unsuccessful. Expected: '$TEST_DATA' ; found: '$DECRYPTED_DATA'" + echo "Response from decryption query: '$RSP'" + exit 1 +fi + +echo "#############################################" +echo "# Testing aggregation on source chain #" +echo "#############################################" + +TEST_DATA="test_data_2" +RSP=$($BINARY aggregate-keyshares "" $WALLET_1/test_req_1 $WALLET_1 $SCEP_PRIV_KEY1 --node $CHAIN1_NODE) +echo $RSP +CIPHER=$($BINARY encrypt $WALLET_1/test_req_1 $PUB_KEY $TEST_DATA --node $CHAIN1_NODE) +# LOCAL_AGGR_KEYSHARE=a237057f3eef909c8bcd799597046bfd02ca0020fa29153042f73df77eebdd96de0a7bf8541ca5b4bab8ad277735aa9af135ce6a0020a98b0c3e90caca5170368ad991c810be88b46134e3d070d29bcd24599d2d915d377e62b5932e44ea53e584a8a50d296b5740440b0400b083b55e69551626ef18c03d6b843b6c44099ad102ea3ef7000e98609fb0c55df7b144d85e6e082178af8d92146adaec18554c1d4cd32df88842d0f0087ce0051fb30ba4c9dbc259cc3ea9c6d7d19a6451afc3176b02de06f723ece83ce3daf0a8badf5436f909213c94dc8262b01bd310545b43fe9962223afd835687b74003d6d75f3e135e7f93abfc2b5977a42f31c1985108e8a5b2e2ab0ebb5c25a11402f50f2207029d1e38cfa67b1c3efacf6d06d0347327c0174f20a6010cdeb9114e1785b4a78535987bc8eee8e17b0c5dd96a332619bf8a2f0444ae +RSP=$($BINARY query pep decrypt-data $PUB_KEY $RSP $CIPHER --node $CHAIN1_NODE -o json) + +DECRYPTED_DATA=$(echo $RSP | jq -r '.decrypted_data') + +if [ "$TEST_DATA" = "$DECRYPTED_DATA" ]; then + echo "Data successfully decrypted" +else + echo "Data decryption unsuccessful. Expected: '$TEST_DATA' ; found: '$DECRYPTED_DATA'" + echo "Response from decryption query: '$RSP'" + exit 1 +fi + +echo $RSP + echo "" echo "###########################################################" echo "# SUCCESSFULLY TESTED #" diff --git a/scripts/tests/start.sh b/scripts/tests/start.sh index 7ccb17aa..3370a3d6 100755 --- a/scripts/tests/start.sh +++ b/scripts/tests/start.sh @@ -153,11 +153,11 @@ echo "$modifiedJson2" | jq '.' > "$CHAIN_DIR/$CHAINID_2/config/genesis.json" echo "Starting $CHAINID_1 in $CHAIN_DIR..." echo "Creating log file at $CHAIN_DIR/$CHAINID_1.log" -$BINARY start --log_level info --log_format json --home $CHAIN_DIR/$CHAINID_1 --pruning=nothing --grpc.address="0.0.0.0:$GRPCPORT_1" > $CHAIN_DIR/$CHAINID_1.log 2>&1 & +$BINARY start --log_level info --home $CHAIN_DIR/$CHAINID_1 --pruning=nothing --grpc.address="0.0.0.0:$GRPCPORT_1" > $CHAIN_DIR/$CHAINID_1.log 2>&1 & echo "Starting $CHAINID_2 in $CHAIN_DIR..." echo "Creating log file at $CHAIN_DIR/$CHAINID_2.log" -$BINARY start --log_level info --log_format json --home $CHAIN_DIR/$CHAINID_2 --pruning=nothing --grpc.address="0.0.0.0:$GRPCPORT_2" > $CHAIN_DIR/$CHAINID_2.log 2>&1 & +$BINARY start --log_level info --home $CHAIN_DIR/$CHAINID_2 --pruning=nothing --grpc.address="0.0.0.0:$GRPCPORT_2" > $CHAIN_DIR/$CHAINID_2.log 2>&1 & echo "Checking if there is an existing keys for Hermes Relayer..." HKEY_1=$(hermes --config hermes_config.toml keys list --chain fairyring_test_1 | sed -n '/SUCCESS/d; s/.*(\([^)]*\)).*/\1/p') diff --git a/x/common/types/shared_types.pb.go b/x/common/types/shared_types.pb.go index cd67b653..e39cb011 100644 --- a/x/common/types/shared_types.pb.go +++ b/x/common/types/shared_types.pb.go @@ -313,6 +313,119 @@ func (m *GetAggrKeyshareResponse) XXX_DiscardUnknown() { var xxx_messageInfo_GetAggrKeyshareResponse proto.InternalMessageInfo +// GetPrivateKeyshare defines a struct for the data payload +type GetPrivateKeyshare struct { + RequestId string `protobuf:"bytes,1,opt,name=request_id,json=requestId,proto3" json:"request_id,omitempty"` + Identity string `protobuf:"bytes,2,opt,name=identity,proto3" json:"identity,omitempty"` + Requester string `protobuf:"bytes,3,opt,name=requester,proto3" json:"requester,omitempty"` + SecpPubkey string `protobuf:"bytes,4,opt,name=secp_pubkey,json=secpPubkey,proto3" json:"secp_pubkey,omitempty"` +} + +func (m *GetPrivateKeyshare) Reset() { *m = GetPrivateKeyshare{} } +func (m *GetPrivateKeyshare) String() string { return proto.CompactTextString(m) } +func (*GetPrivateKeyshare) ProtoMessage() {} +func (*GetPrivateKeyshare) Descriptor() ([]byte, []int) { + return fileDescriptor_b708507d1b3951ff, []int{4} +} +func (m *GetPrivateKeyshare) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *GetPrivateKeyshare) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_GetPrivateKeyshare.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *GetPrivateKeyshare) XXX_Merge(src proto.Message) { + xxx_messageInfo_GetPrivateKeyshare.Merge(m, src) +} +func (m *GetPrivateKeyshare) XXX_Size() int { + return m.Size() +} +func (m *GetPrivateKeyshare) XXX_DiscardUnknown() { + xxx_messageInfo_GetPrivateKeyshare.DiscardUnknown(m) +} + +var xxx_messageInfo_GetPrivateKeyshare proto.InternalMessageInfo + +func (m *GetPrivateKeyshare) GetRequestId() string { + if m != nil { + return m.RequestId + } + return "" +} + +func (m *GetPrivateKeyshare) GetIdentity() string { + if m != nil { + return m.Identity + } + return "" +} + +func (m *GetPrivateKeyshare) GetRequester() string { + if m != nil { + return m.Requester + } + return "" +} + +func (m *GetPrivateKeyshare) GetSecpPubkey() string { + if m != nil { + return m.SecpPubkey + } + return "" +} + +type GetPrivateKeyshareResponse struct { + Pubkey string `protobuf:"bytes,1,opt,name=pubkey,proto3" json:"pubkey,omitempty"` +} + +func (m *GetPrivateKeyshareResponse) Reset() { *m = GetPrivateKeyshareResponse{} } +func (m *GetPrivateKeyshareResponse) String() string { return proto.CompactTextString(m) } +func (*GetPrivateKeyshareResponse) ProtoMessage() {} +func (*GetPrivateKeyshareResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_b708507d1b3951ff, []int{5} +} +func (m *GetPrivateKeyshareResponse) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *GetPrivateKeyshareResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_GetPrivateKeyshareResponse.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *GetPrivateKeyshareResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_GetPrivateKeyshareResponse.Merge(m, src) +} +func (m *GetPrivateKeyshareResponse) XXX_Size() int { + return m.Size() +} +func (m *GetPrivateKeyshareResponse) XXX_DiscardUnknown() { + xxx_messageInfo_GetPrivateKeyshareResponse.DiscardUnknown(m) +} + +var xxx_messageInfo_GetPrivateKeyshareResponse proto.InternalMessageInfo + +func (m *GetPrivateKeyshareResponse) GetPubkey() string { + if m != nil { + return m.Pubkey + } + return "" +} + type ActivePublicKey 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"` @@ -323,7 +436,7 @@ func (m *ActivePublicKey) Reset() { *m = ActivePublicKey{} } func (m *ActivePublicKey) String() string { return proto.CompactTextString(m) } func (*ActivePublicKey) ProtoMessage() {} func (*ActivePublicKey) Descriptor() ([]byte, []int) { - return fileDescriptor_b708507d1b3951ff, []int{4} + return fileDescriptor_b708507d1b3951ff, []int{6} } func (m *ActivePublicKey) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -383,7 +496,7 @@ func (m *QueuedPublicKey) Reset() { *m = QueuedPublicKey{} } func (m *QueuedPublicKey) String() string { return proto.CompactTextString(m) } func (*QueuedPublicKey) ProtoMessage() {} func (*QueuedPublicKey) Descriptor() ([]byte, []int) { - return fileDescriptor_b708507d1b3951ff, []int{5} + return fileDescriptor_b708507d1b3951ff, []int{7} } func (m *QueuedPublicKey) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -433,13 +546,174 @@ func (m *QueuedPublicKey) GetExpiry() uint64 { return 0 } +type RequestPrivateKeyshare struct { + Creator string `protobuf:"bytes,1,opt,name=creator,proto3" json:"creator,omitempty"` + RequestId string `protobuf:"bytes,2,opt,name=request_id,json=requestId,proto3" json:"request_id,omitempty"` +} + +func (m *RequestPrivateKeyshare) Reset() { *m = RequestPrivateKeyshare{} } +func (m *RequestPrivateKeyshare) String() string { return proto.CompactTextString(m) } +func (*RequestPrivateKeyshare) ProtoMessage() {} +func (*RequestPrivateKeyshare) Descriptor() ([]byte, []int) { + return fileDescriptor_b708507d1b3951ff, []int{8} +} +func (m *RequestPrivateKeyshare) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *RequestPrivateKeyshare) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_RequestPrivateKeyshare.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *RequestPrivateKeyshare) XXX_Merge(src proto.Message) { + xxx_messageInfo_RequestPrivateKeyshare.Merge(m, src) +} +func (m *RequestPrivateKeyshare) XXX_Size() int { + return m.Size() +} +func (m *RequestPrivateKeyshare) XXX_DiscardUnknown() { + xxx_messageInfo_RequestPrivateKeyshare.DiscardUnknown(m) +} + +var xxx_messageInfo_RequestPrivateKeyshare proto.InternalMessageInfo + +func (m *RequestPrivateKeyshare) GetCreator() string { + if m != nil { + return m.Creator + } + return "" +} + +func (m *RequestPrivateKeyshare) GetRequestId() string { + if m != nil { + return m.RequestId + } + return "" +} + +type EncryptedKeyshare struct { + Requester string `protobuf:"bytes,1,opt,name=requester,proto3" json:"requester,omitempty"` + PrivateKeyshares []*IndexedEncryptedKeyshare `protobuf:"bytes,2,rep,name=private_keyshares,json=privateKeyshares,proto3" json:"private_keyshares,omitempty"` +} + +func (m *EncryptedKeyshare) Reset() { *m = EncryptedKeyshare{} } +func (m *EncryptedKeyshare) String() string { return proto.CompactTextString(m) } +func (*EncryptedKeyshare) ProtoMessage() {} +func (*EncryptedKeyshare) Descriptor() ([]byte, []int) { + return fileDescriptor_b708507d1b3951ff, []int{9} +} +func (m *EncryptedKeyshare) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *EncryptedKeyshare) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_EncryptedKeyshare.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *EncryptedKeyshare) XXX_Merge(src proto.Message) { + xxx_messageInfo_EncryptedKeyshare.Merge(m, src) +} +func (m *EncryptedKeyshare) XXX_Size() int { + return m.Size() +} +func (m *EncryptedKeyshare) XXX_DiscardUnknown() { + xxx_messageInfo_EncryptedKeyshare.DiscardUnknown(m) +} + +var xxx_messageInfo_EncryptedKeyshare proto.InternalMessageInfo + +func (m *EncryptedKeyshare) GetRequester() string { + if m != nil { + return m.Requester + } + return "" +} + +func (m *EncryptedKeyshare) GetPrivateKeyshares() []*IndexedEncryptedKeyshare { + if m != nil { + return m.PrivateKeyshares + } + return nil +} + +type IndexedEncryptedKeyshare struct { + EncryptedKeyshareValue string `protobuf:"bytes,1,opt,name=encrypted_keyshare_value,json=encryptedKeyshareValue,proto3" json:"encrypted_keyshare_value,omitempty"` + EncryptedKeyshareIndex uint64 `protobuf:"varint,2,opt,name=encrypted_keyshare_index,json=encryptedKeyshareIndex,proto3" json:"encrypted_keyshare_index,omitempty"` +} + +func (m *IndexedEncryptedKeyshare) Reset() { *m = IndexedEncryptedKeyshare{} } +func (m *IndexedEncryptedKeyshare) String() string { return proto.CompactTextString(m) } +func (*IndexedEncryptedKeyshare) ProtoMessage() {} +func (*IndexedEncryptedKeyshare) Descriptor() ([]byte, []int) { + return fileDescriptor_b708507d1b3951ff, []int{10} +} +func (m *IndexedEncryptedKeyshare) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *IndexedEncryptedKeyshare) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_IndexedEncryptedKeyshare.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *IndexedEncryptedKeyshare) XXX_Merge(src proto.Message) { + xxx_messageInfo_IndexedEncryptedKeyshare.Merge(m, src) +} +func (m *IndexedEncryptedKeyshare) XXX_Size() int { + return m.Size() +} +func (m *IndexedEncryptedKeyshare) XXX_DiscardUnknown() { + xxx_messageInfo_IndexedEncryptedKeyshare.DiscardUnknown(m) +} + +var xxx_messageInfo_IndexedEncryptedKeyshare proto.InternalMessageInfo + +func (m *IndexedEncryptedKeyshare) GetEncryptedKeyshareValue() string { + if m != nil { + return m.EncryptedKeyshareValue + } + return "" +} + +func (m *IndexedEncryptedKeyshare) GetEncryptedKeyshareIndex() uint64 { + if m != nil { + return m.EncryptedKeyshareIndex + } + return 0 +} + func init() { proto.RegisterType((*RequestAggrKeyshare)(nil), "fairyring.common.RequestAggrKeyshare") proto.RegisterType((*RequestAggrKeyshareResponse)(nil), "fairyring.common.RequestAggrKeyshareResponse") proto.RegisterType((*GetAggrKeyshare)(nil), "fairyring.common.GetAggrKeyshare") proto.RegisterType((*GetAggrKeyshareResponse)(nil), "fairyring.common.GetAggrKeyshareResponse") + proto.RegisterType((*GetPrivateKeyshare)(nil), "fairyring.common.GetPrivateKeyshare") + proto.RegisterType((*GetPrivateKeyshareResponse)(nil), "fairyring.common.GetPrivateKeyshareResponse") proto.RegisterType((*ActivePublicKey)(nil), "fairyring.common.ActivePublicKey") proto.RegisterType((*QueuedPublicKey)(nil), "fairyring.common.QueuedPublicKey") + proto.RegisterType((*RequestPrivateKeyshare)(nil), "fairyring.common.RequestPrivateKeyshare") + proto.RegisterType((*EncryptedKeyshare)(nil), "fairyring.common.EncryptedKeyshare") + proto.RegisterType((*IndexedEncryptedKeyshare)(nil), "fairyring.common.IndexedEncryptedKeyshare") } func init() { @@ -447,34 +721,45 @@ func init() { } var fileDescriptor_b708507d1b3951ff = []byte{ - // 430 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xb4, 0x93, 0x41, 0x6f, 0xd3, 0x30, - 0x14, 0xc7, 0xeb, 0xae, 0x2a, 0xf4, 0x4d, 0xa2, 0xc8, 0xa0, 0xd1, 0x15, 0x94, 0x8d, 0x70, 0xd9, - 0x85, 0x44, 0x82, 0x4f, 0xb0, 0x6a, 0x62, 0x9b, 0x76, 0x61, 0x39, 0x72, 0xa9, 0x9c, 0xf8, 0xcd, - 0xb3, 0x96, 0xc6, 0xc6, 0xb1, 0x61, 0xf9, 0x16, 0x1c, 0xf9, 0x3e, 0x5c, 0x38, 0xee, 0xc8, 0x0d, - 0xd4, 0x7e, 0x11, 0x94, 0xc4, 0xe9, 0xd6, 0x81, 0xc4, 0x89, 0x9b, 0xff, 0xcf, 0xef, 0xe5, 0xff, - 0x7e, 0xf1, 0x7b, 0xf0, 0xea, 0x82, 0x49, 0x53, 0x19, 0x59, 0x88, 0x38, 0x53, 0x8b, 0x85, 0x2a, - 0xe2, 0xf2, 0x92, 0x19, 0xe4, 0x73, 0x5b, 0x69, 0x2c, 0x23, 0x6d, 0x94, 0x55, 0xf4, 0xf1, 0x3a, - 0x29, 0x6a, 0x93, 0xa6, 0x81, 0x50, 0x4a, 0xe4, 0x18, 0x37, 0xf7, 0xa9, 0xbb, 0x88, 0xb9, 0x33, - 0xcc, 0x4a, 0x55, 0xb4, 0x15, 0xd3, 0xa7, 0x42, 0x09, 0xd5, 0x1c, 0xe3, 0xfa, 0xd4, 0x46, 0xc3, - 0x6f, 0x04, 0x9e, 0x24, 0xf8, 0xd1, 0x61, 0x69, 0x0f, 0x85, 0x30, 0x67, 0x58, 0x35, 0x66, 0x74, - 0x02, 0x0f, 0x32, 0x83, 0xcc, 0x2a, 0x33, 0x21, 0xfb, 0xe4, 0x60, 0x94, 0x74, 0x92, 0xbe, 0x84, - 0x6d, 0x6d, 0x94, 0x56, 0x25, 0xcb, 0xe7, 0x92, 0x4f, 0xfa, 0xf5, 0xed, 0x49, 0x2f, 0x81, 0x2e, - 0x78, 0xca, 0xe9, 0x1e, 0x80, 0x69, 0xbf, 0x59, 0x67, 0x6c, 0xf9, 0x8c, 0x91, 0x8f, 0x9d, 0x72, - 0x7a, 0x02, 0x63, 0x2c, 0xad, 0x5c, 0x30, 0x8b, 0x7c, 0xce, 0x31, 0x67, 0xd5, 0x64, 0xb0, 0x4f, - 0x0e, 0xb6, 0xdf, 0xec, 0x46, 0x2d, 0x45, 0xd4, 0x51, 0x44, 0x47, 0x9e, 0x62, 0x36, 0xf8, 0xfa, - 0x73, 0x8f, 0x24, 0x8f, 0xd6, 0x75, 0x47, 0x75, 0xd9, 0x6c, 0x00, 0x7d, 0xc9, 0xc3, 0x73, 0x78, - 0xfe, 0x17, 0x88, 0x04, 0x4b, 0xad, 0x8a, 0x12, 0xe9, 0x14, 0x1e, 0x4a, 0x8e, 0x85, 0x95, 0xb6, - 0xf2, 0x34, 0x6b, 0x4d, 0x77, 0x60, 0xa8, 0x5d, 0x7a, 0x85, 0x55, 0x4b, 0x92, 0x78, 0x15, 0x7e, - 0x86, 0xf1, 0x31, 0x6e, 0xfe, 0x93, 0x7b, 0xe4, 0xe4, 0x9f, 0xe4, 0xfd, 0x3f, 0xc9, 0xef, 0xb6, - 0xb2, 0xb5, 0xd9, 0x8a, 0x67, 0xd9, 0x85, 0x67, 0xf7, 0x8c, 0x3b, 0x8e, 0x90, 0xc1, 0xf8, 0x30, - 0xb3, 0xf2, 0x13, 0xbe, 0x77, 0x69, 0x2e, 0xb3, 0x33, 0xac, 0xe8, 0x0b, 0x18, 0xe9, 0x4e, 0x78, - 0xb6, 0xdb, 0xc0, 0xdd, 0x57, 0xec, 0x6f, 0xbe, 0xe2, 0x0e, 0x0c, 0xf1, 0x5a, 0x4b, 0xd3, 0x76, - 0x31, 0x48, 0xbc, 0xaa, 0x2d, 0xce, 0x1d, 0x3a, 0xe4, 0xff, 0xcd, 0x62, 0x76, 0xfc, 0x7d, 0x19, - 0x90, 0x9b, 0x65, 0x40, 0x7e, 0x2d, 0x03, 0xf2, 0x65, 0x15, 0xf4, 0x6e, 0x56, 0x41, 0xef, 0xc7, - 0x2a, 0xe8, 0x7d, 0x78, 0x2d, 0xa4, 0xbd, 0x74, 0x69, 0x3d, 0xd1, 0xf1, 0x3b, 0x26, 0x4d, 0x9a, - 0xab, 0xec, 0x2a, 0xbe, 0x5d, 0x87, 0xeb, 0x6e, 0x21, 0x9a, 0x4d, 0x48, 0x87, 0xcd, 0x90, 0xbc, - 0xfd, 0x1d, 0x00, 0x00, 0xff, 0xff, 0x8f, 0xcc, 0x40, 0x91, 0x31, 0x03, 0x00, 0x00, + // 597 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xb4, 0x94, 0x41, 0x4f, 0xd5, 0x40, + 0x10, 0xc7, 0xdf, 0x3e, 0x5e, 0x50, 0xe6, 0x25, 0x02, 0xd5, 0x3c, 0xcb, 0x53, 0x0a, 0x3e, 0x2f, + 0xc4, 0xc4, 0x36, 0x41, 0x0f, 0x5e, 0x21, 0x28, 0x10, 0x2e, 0xd0, 0x83, 0x26, 0x5e, 0x9a, 0xb6, + 0x3b, 0x94, 0x0d, 0xa5, 0xbb, 0x6e, 0xb7, 0x48, 0xbf, 0x82, 0x07, 0xe3, 0xd1, 0xef, 0xe3, 0xc5, + 0x23, 0x47, 0x6f, 0x1a, 0xf8, 0x22, 0xa6, 0xed, 0xb6, 0xd0, 0x3e, 0x5e, 0x3c, 0x79, 0xeb, 0xcc, + 0xce, 0xec, 0x7f, 0x7e, 0xb3, 0xd3, 0x81, 0xe7, 0xc7, 0x3e, 0x93, 0xb9, 0x64, 0x49, 0xe4, 0x84, + 0xfc, 0xec, 0x8c, 0x27, 0x4e, 0x7a, 0xe2, 0x4b, 0xa4, 0x9e, 0xca, 0x05, 0xa6, 0xb6, 0x90, 0x5c, + 0x71, 0x63, 0xa9, 0x09, 0xb2, 0xab, 0xa0, 0xb1, 0x15, 0x71, 0x1e, 0xc5, 0xe8, 0x94, 0xe7, 0x41, + 0x76, 0xec, 0xd0, 0x4c, 0xfa, 0x8a, 0xf1, 0xa4, 0xca, 0x18, 0x3f, 0x8a, 0x78, 0xc4, 0xcb, 0x4f, + 0xa7, 0xf8, 0xaa, 0xbc, 0x93, 0x1f, 0x04, 0x1e, 0xba, 0xf8, 0x29, 0xc3, 0x54, 0x6d, 0x45, 0x91, + 0x3c, 0xc0, 0xbc, 0x14, 0x33, 0x4c, 0xb8, 0x17, 0x4a, 0xf4, 0x15, 0x97, 0x26, 0x59, 0x27, 0x1b, + 0x0b, 0x6e, 0x6d, 0x1a, 0xcf, 0x60, 0x28, 0x24, 0x17, 0x3c, 0xf5, 0x63, 0x8f, 0x51, 0xb3, 0x5f, + 0x9c, 0xee, 0xf5, 0x5c, 0xa8, 0x9d, 0xfb, 0xd4, 0x58, 0x03, 0x90, 0xd5, 0x9d, 0x45, 0xc4, 0x9c, + 0x8e, 0x58, 0xd0, 0xbe, 0x7d, 0x6a, 0xec, 0xc1, 0x22, 0xa6, 0x8a, 0x9d, 0xf9, 0x0a, 0xa9, 0x47, + 0x31, 0xf6, 0x73, 0x73, 0xb0, 0x4e, 0x36, 0x86, 0x9b, 0x2b, 0x76, 0x45, 0x61, 0xd7, 0x14, 0xf6, + 0x8e, 0xa6, 0xd8, 0x1e, 0x7c, 0xff, 0xbd, 0x46, 0xdc, 0x07, 0x4d, 0xde, 0x4e, 0x91, 0xb6, 0x3d, + 0x80, 0x3e, 0xa3, 0x93, 0x23, 0x78, 0x72, 0x07, 0x84, 0x8b, 0xa9, 0xe0, 0x49, 0x8a, 0xc6, 0x18, + 0xee, 0x33, 0x8a, 0x89, 0x62, 0x2a, 0xd7, 0x34, 0x8d, 0x6d, 0x8c, 0x60, 0x5e, 0x64, 0xc1, 0x29, + 0xe6, 0x15, 0x89, 0xab, 0xad, 0xc9, 0x67, 0x58, 0xdc, 0xc5, 0x76, 0x4f, 0x3a, 0xe4, 0xe4, 0x9f, + 0xe4, 0xfd, 0x69, 0xf2, 0xdb, 0xa5, 0xcc, 0xb5, 0x4b, 0xd1, 0x2c, 0x2b, 0xf0, 0xb8, 0x23, 0x5c, + 0x73, 0x4c, 0xbe, 0x12, 0x30, 0x76, 0x51, 0x1d, 0x4a, 0x76, 0xee, 0x2b, 0x6c, 0xea, 0x5a, 0x6d, + 0x89, 0x56, 0x80, 0x33, 0x24, 0xfb, 0x1d, 0xfa, 0xa7, 0x50, 0x07, 0xa2, 0xd4, 0xf5, 0xdc, 0x38, + 0x8c, 0x35, 0x18, 0xa6, 0x18, 0x0a, 0x4f, 0x37, 0x68, 0x50, 0x9e, 0x43, 0xe1, 0x3a, 0xac, 0x9a, + 0xf4, 0x1a, 0xc6, 0xd3, 0xf5, 0x34, 0x6d, 0xbf, 0x69, 0x2d, 0x69, 0xb5, 0xd6, 0x87, 0xc5, 0xad, + 0x50, 0xb1, 0x73, 0x3c, 0xcc, 0x82, 0x98, 0x85, 0x07, 0x58, 0xd6, 0x21, 0x6a, 0xa3, 0x26, 0x68, + 0x1c, 0xb7, 0x87, 0xb1, 0xdf, 0x1e, 0xc6, 0x11, 0xcc, 0xe3, 0x85, 0x60, 0xb2, 0x6a, 0xe6, 0xc0, + 0xd5, 0x56, 0x21, 0x71, 0x94, 0x61, 0x86, 0xf4, 0xff, 0x49, 0x1c, 0xc1, 0x48, 0xcf, 0x5c, 0xf7, + 0x3d, 0x66, 0xff, 0x3b, 0xab, 0xd3, 0xe3, 0x71, 0xeb, 0xa5, 0x26, 0x5f, 0x08, 0x2c, 0xbf, 0x4d, + 0x42, 0x99, 0x0b, 0x85, 0xb4, 0xb9, 0xae, 0xf5, 0x46, 0xa4, 0xfb, 0x46, 0x1f, 0x60, 0x59, 0x54, + 0xfa, 0xde, 0xa9, 0xce, 0x48, 0xcd, 0xfe, 0xfa, 0xdc, 0xc6, 0x70, 0xf3, 0x85, 0xdd, 0x5d, 0x12, + 0xf6, 0x7e, 0x42, 0xf1, 0x02, 0xe9, 0x94, 0x88, 0xbb, 0x24, 0xda, 0x10, 0x69, 0x31, 0x6c, 0xe6, + 0xac, 0x70, 0xe3, 0x0d, 0x98, 0x58, 0x3b, 0x1b, 0x5d, 0xef, 0xdc, 0x8f, 0x33, 0xd4, 0x25, 0x8e, + 0xb0, 0x9b, 0xf4, 0xbe, 0x38, 0x9d, 0x91, 0xc9, 0x0a, 0xa1, 0xb2, 0x21, 0x83, 0x3b, 0x32, 0xcb, + 0x32, 0xb6, 0x77, 0x7f, 0x5e, 0x59, 0xe4, 0xf2, 0xca, 0x22, 0x7f, 0xae, 0x2c, 0xf2, 0xed, 0xda, + 0xea, 0x5d, 0x5e, 0x5b, 0xbd, 0x5f, 0xd7, 0x56, 0xef, 0xe3, 0xcb, 0x88, 0xa9, 0x93, 0x2c, 0x28, + 0x20, 0x9d, 0x77, 0x3e, 0x93, 0x41, 0xcc, 0xc3, 0x53, 0xe7, 0x66, 0x8d, 0x5e, 0xd4, 0x8b, 0xb4, + 0xdc, 0xa0, 0xc1, 0x7c, 0xb9, 0x5c, 0x5e, 0xfd, 0x0d, 0x00, 0x00, 0xff, 0xff, 0xe1, 0x04, 0xb2, + 0x48, 0x69, 0x05, 0x00, 0x00, } func (m *RequestAggrKeyshare) Marshal() (dAtA []byte, err error) { @@ -681,6 +966,87 @@ func (m *GetAggrKeyshareResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) return len(dAtA) - i, nil } +func (m *GetPrivateKeyshare) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *GetPrivateKeyshare) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *GetPrivateKeyshare) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if len(m.SecpPubkey) > 0 { + i -= len(m.SecpPubkey) + copy(dAtA[i:], m.SecpPubkey) + i = encodeVarintSharedTypes(dAtA, i, uint64(len(m.SecpPubkey))) + i-- + dAtA[i] = 0x22 + } + if len(m.Requester) > 0 { + i -= len(m.Requester) + copy(dAtA[i:], m.Requester) + i = encodeVarintSharedTypes(dAtA, i, uint64(len(m.Requester))) + i-- + dAtA[i] = 0x1a + } + if len(m.Identity) > 0 { + i -= len(m.Identity) + copy(dAtA[i:], m.Identity) + i = encodeVarintSharedTypes(dAtA, i, uint64(len(m.Identity))) + i-- + dAtA[i] = 0x12 + } + if len(m.RequestId) > 0 { + i -= len(m.RequestId) + copy(dAtA[i:], m.RequestId) + i = encodeVarintSharedTypes(dAtA, i, uint64(len(m.RequestId))) + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + +func (m *GetPrivateKeyshareResponse) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *GetPrivateKeyshareResponse) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *GetPrivateKeyshareResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if len(m.Pubkey) > 0 { + i -= len(m.Pubkey) + copy(dAtA[i:], m.Pubkey) + i = encodeVarintSharedTypes(dAtA, i, uint64(len(m.Pubkey))) + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + func (m *ActivePublicKey) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) @@ -765,25 +1131,141 @@ func (m *QueuedPublicKey) MarshalToSizedBuffer(dAtA []byte) (int, error) { return len(dAtA) - i, nil } -func encodeVarintSharedTypes(dAtA []byte, offset int, v uint64) int { - offset -= sovSharedTypes(v) - base := offset - for v >= 1<<7 { - dAtA[offset] = uint8(v&0x7f | 0x80) - v >>= 7 - offset++ +func (m *RequestPrivateKeyshare) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err } - dAtA[offset] = uint8(v) - return base + return dAtA[:n], nil } -func (m *RequestAggrKeyshare) Size() (n int) { - if m == nil { - return 0 - } + +func (m *RequestPrivateKeyshare) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *RequestPrivateKeyshare) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i var l int _ = l - l = len(m.Creator) - if l > 0 { + if len(m.RequestId) > 0 { + i -= len(m.RequestId) + copy(dAtA[i:], m.RequestId) + i = encodeVarintSharedTypes(dAtA, i, uint64(len(m.RequestId))) + i-- + dAtA[i] = 0x12 + } + if len(m.Creator) > 0 { + i -= len(m.Creator) + copy(dAtA[i:], m.Creator) + i = encodeVarintSharedTypes(dAtA, i, uint64(len(m.Creator))) + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + +func (m *EncryptedKeyshare) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *EncryptedKeyshare) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *EncryptedKeyshare) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if len(m.PrivateKeyshares) > 0 { + for iNdEx := len(m.PrivateKeyshares) - 1; iNdEx >= 0; iNdEx-- { + { + size, err := m.PrivateKeyshares[iNdEx].MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintSharedTypes(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x12 + } + } + if len(m.Requester) > 0 { + i -= len(m.Requester) + copy(dAtA[i:], m.Requester) + i = encodeVarintSharedTypes(dAtA, i, uint64(len(m.Requester))) + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + +func (m *IndexedEncryptedKeyshare) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *IndexedEncryptedKeyshare) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *IndexedEncryptedKeyshare) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if m.EncryptedKeyshareIndex != 0 { + i = encodeVarintSharedTypes(dAtA, i, uint64(m.EncryptedKeyshareIndex)) + i-- + dAtA[i] = 0x10 + } + if len(m.EncryptedKeyshareValue) > 0 { + i -= len(m.EncryptedKeyshareValue) + copy(dAtA[i:], m.EncryptedKeyshareValue) + i = encodeVarintSharedTypes(dAtA, i, uint64(len(m.EncryptedKeyshareValue))) + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + +func encodeVarintSharedTypes(dAtA []byte, offset int, v uint64) int { + offset -= sovSharedTypes(v) + base := offset + for v >= 1<<7 { + dAtA[offset] = uint8(v&0x7f | 0x80) + v >>= 7 + offset++ + } + dAtA[offset] = uint8(v) + return base +} +func (m *RequestAggrKeyshare) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.Creator) + if l > 0 { n += 1 + l + sovSharedTypes(uint64(l)) } if m.Id != nil { @@ -878,6 +1360,44 @@ func (m *GetAggrKeyshareResponse) Size() (n int) { return n } +func (m *GetPrivateKeyshare) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.RequestId) + if l > 0 { + n += 1 + l + sovSharedTypes(uint64(l)) + } + l = len(m.Identity) + if l > 0 { + n += 1 + l + sovSharedTypes(uint64(l)) + } + l = len(m.Requester) + if l > 0 { + n += 1 + l + sovSharedTypes(uint64(l)) + } + l = len(m.SecpPubkey) + if l > 0 { + n += 1 + l + sovSharedTypes(uint64(l)) + } + return n +} + +func (m *GetPrivateKeyshareResponse) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.Pubkey) + if l > 0 { + n += 1 + l + sovSharedTypes(uint64(l)) + } + return n +} + func (m *ActivePublicKey) Size() (n int) { if m == nil { return 0 @@ -918,6 +1438,58 @@ func (m *QueuedPublicKey) Size() (n int) { return n } +func (m *RequestPrivateKeyshare) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.Creator) + if l > 0 { + n += 1 + l + sovSharedTypes(uint64(l)) + } + l = len(m.RequestId) + if l > 0 { + n += 1 + l + sovSharedTypes(uint64(l)) + } + return n +} + +func (m *EncryptedKeyshare) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.Requester) + if l > 0 { + n += 1 + l + sovSharedTypes(uint64(l)) + } + if len(m.PrivateKeyshares) > 0 { + for _, e := range m.PrivateKeyshares { + l = e.Size() + n += 1 + l + sovSharedTypes(uint64(l)) + } + } + return n +} + +func (m *IndexedEncryptedKeyshare) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.EncryptedKeyshareValue) + if l > 0 { + n += 1 + l + sovSharedTypes(uint64(l)) + } + if m.EncryptedKeyshareIndex != 0 { + n += 1 + sovSharedTypes(uint64(m.EncryptedKeyshareIndex)) + } + return n +} + func sovSharedTypes(x uint64) (n int) { return (math_bits.Len64(x|1) + 6) / 7 } @@ -1019,7 +1591,613 @@ func (m *RequestAggrKeyshare) Unmarshal(dAtA []byte) error { iNdEx = postIndex case 3: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field RequestId", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field RequestId", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowSharedTypes + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthSharedTypes + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthSharedTypes + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Id = &RequestAggrKeyshare_RequestId{string(dAtA[iNdEx:postIndex])} + iNdEx = postIndex + case 4: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field EstimatedDelay", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowSharedTypes + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthSharedTypes + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthSharedTypes + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.EstimatedDelay == nil { + m.EstimatedDelay = new(time.Duration) + } + if err := github_com_cosmos_gogoproto_types.StdDurationUnmarshal(m.EstimatedDelay, dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipSharedTypes(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthSharedTypes + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *RequestAggrKeyshareResponse) Unmarshal(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowSharedTypes + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: RequestAggrKeyshareResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: RequestAggrKeyshareResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Identity", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowSharedTypes + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthSharedTypes + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthSharedTypes + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Identity = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Pubkey", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowSharedTypes + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthSharedTypes + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthSharedTypes + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Pubkey = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipSharedTypes(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthSharedTypes + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *GetAggrKeyshare) Unmarshal(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowSharedTypes + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: GetAggrKeyshare: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: GetAggrKeyshare: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ProposalId", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowSharedTypes + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthSharedTypes + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthSharedTypes + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Id = &GetAggrKeyshare_ProposalId{string(dAtA[iNdEx:postIndex])} + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field RequestId", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowSharedTypes + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthSharedTypes + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthSharedTypes + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Id = &GetAggrKeyshare_RequestId{string(dAtA[iNdEx:postIndex])} + iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Identity", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowSharedTypes + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthSharedTypes + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthSharedTypes + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Identity = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipSharedTypes(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthSharedTypes + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *GetAggrKeyshareResponse) Unmarshal(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowSharedTypes + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: GetAggrKeyshareResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: GetAggrKeyshareResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + default: + iNdEx = preIndex + skippy, err := skipSharedTypes(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthSharedTypes + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *GetPrivateKeyshare) Unmarshal(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowSharedTypes + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: GetPrivateKeyshare: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: GetPrivateKeyshare: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field RequestId", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowSharedTypes + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthSharedTypes + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthSharedTypes + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.RequestId = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Identity", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowSharedTypes + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthSharedTypes + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthSharedTypes + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Identity = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Requester", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowSharedTypes + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthSharedTypes + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthSharedTypes + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Requester = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 4: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field SecpPubkey", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowSharedTypes + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthSharedTypes + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthSharedTypes + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.SecpPubkey = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipSharedTypes(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthSharedTypes + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *GetPrivateKeyshareResponse) Unmarshal(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowSharedTypes + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: GetPrivateKeyshareResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: GetPrivateKeyshareResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Pubkey", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -1047,43 +2225,7 @@ func (m *RequestAggrKeyshare) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.Id = &RequestAggrKeyshare_RequestId{string(dAtA[iNdEx:postIndex])} - iNdEx = postIndex - case 4: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field EstimatedDelay", wireType) - } - var msglen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowSharedTypes - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - msglen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if msglen < 0 { - return ErrInvalidLengthSharedTypes - } - postIndex := iNdEx + msglen - if postIndex < 0 { - return ErrInvalidLengthSharedTypes - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - if m.EstimatedDelay == nil { - m.EstimatedDelay = new(time.Duration) - } - if err := github_com_cosmos_gogoproto_types.StdDurationUnmarshal(m.EstimatedDelay, dAtA[iNdEx:postIndex]); err != nil { - return err - } + m.Pubkey = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex default: iNdEx = preIndex @@ -1106,7 +2248,7 @@ func (m *RequestAggrKeyshare) Unmarshal(dAtA []byte) error { } return nil } -func (m *RequestAggrKeyshareResponse) Unmarshal(dAtA []byte) error { +func (m *ActivePublicKey) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -1129,15 +2271,15 @@ func (m *RequestAggrKeyshareResponse) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: RequestAggrKeyshareResponse: wiretype end group for non-group") + return fmt.Errorf("proto: ActivePublicKey: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: RequestAggrKeyshareResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: ActivePublicKey: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Identity", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field PublicKey", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -1165,11 +2307,11 @@ func (m *RequestAggrKeyshareResponse) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.Identity = string(dAtA[iNdEx:postIndex]) + m.PublicKey = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex case 2: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Pubkey", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Creator", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -1197,8 +2339,27 @@ func (m *RequestAggrKeyshareResponse) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.Pubkey = string(dAtA[iNdEx:postIndex]) + m.Creator = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex + case 3: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Expiry", wireType) + } + m.Expiry = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowSharedTypes + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.Expiry |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } default: iNdEx = preIndex skippy, err := skipSharedTypes(dAtA[iNdEx:]) @@ -1220,7 +2381,7 @@ func (m *RequestAggrKeyshareResponse) Unmarshal(dAtA []byte) error { } return nil } -func (m *GetAggrKeyshare) Unmarshal(dAtA []byte) error { +func (m *QueuedPublicKey) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -1243,15 +2404,15 @@ func (m *GetAggrKeyshare) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: GetAggrKeyshare: wiretype end group for non-group") + return fmt.Errorf("proto: QueuedPublicKey: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: GetAggrKeyshare: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: QueuedPublicKey: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field ProposalId", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field PublicKey", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -1279,11 +2440,11 @@ func (m *GetAggrKeyshare) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.Id = &GetAggrKeyshare_ProposalId{string(dAtA[iNdEx:postIndex])} + m.PublicKey = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex case 2: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field RequestId", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Creator", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -1311,13 +2472,13 @@ func (m *GetAggrKeyshare) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.Id = &GetAggrKeyshare_RequestId{string(dAtA[iNdEx:postIndex])} + m.Creator = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex case 3: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Identity", wireType) + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Expiry", wireType) } - var stringLen uint64 + m.Expiry = 0 for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowSharedTypes @@ -1327,24 +2488,11 @@ func (m *GetAggrKeyshare) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= uint64(b&0x7F) << shift + m.Expiry |= uint64(b&0x7F) << shift if b < 0x80 { break } } - intStringLen := int(stringLen) - if intStringLen < 0 { - return ErrInvalidLengthSharedTypes - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthSharedTypes - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.Identity = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipSharedTypes(dAtA[iNdEx:]) @@ -1366,7 +2514,7 @@ func (m *GetAggrKeyshare) Unmarshal(dAtA []byte) error { } return nil } -func (m *GetAggrKeyshareResponse) Unmarshal(dAtA []byte) error { +func (m *RequestPrivateKeyshare) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -1389,12 +2537,76 @@ func (m *GetAggrKeyshareResponse) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: GetAggrKeyshareResponse: wiretype end group for non-group") + return fmt.Errorf("proto: RequestPrivateKeyshare: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: GetAggrKeyshareResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: RequestPrivateKeyshare: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Creator", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowSharedTypes + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthSharedTypes + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthSharedTypes + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Creator = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field RequestId", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowSharedTypes + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthSharedTypes + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthSharedTypes + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.RequestId = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipSharedTypes(dAtA[iNdEx:]) @@ -1416,7 +2628,7 @@ func (m *GetAggrKeyshareResponse) Unmarshal(dAtA []byte) error { } return nil } -func (m *ActivePublicKey) Unmarshal(dAtA []byte) error { +func (m *EncryptedKeyshare) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -1439,15 +2651,15 @@ func (m *ActivePublicKey) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: ActivePublicKey: wiretype end group for non-group") + return fmt.Errorf("proto: EncryptedKeyshare: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: ActivePublicKey: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: EncryptedKeyshare: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field PublicKey", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Requester", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -1475,13 +2687,13 @@ func (m *ActivePublicKey) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.PublicKey = string(dAtA[iNdEx:postIndex]) + m.Requester = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex case 2: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Creator", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field PrivateKeyshares", wireType) } - var stringLen uint64 + var msglen int for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowSharedTypes @@ -1491,43 +2703,26 @@ func (m *ActivePublicKey) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= uint64(b&0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } } - intStringLen := int(stringLen) - if intStringLen < 0 { + if msglen < 0 { return ErrInvalidLengthSharedTypes } - postIndex := iNdEx + intStringLen + postIndex := iNdEx + msglen if postIndex < 0 { return ErrInvalidLengthSharedTypes } if postIndex > l { return io.ErrUnexpectedEOF } - m.Creator = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 3: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field Expiry", wireType) - } - m.Expiry = 0 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowSharedTypes - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - m.Expiry |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } + m.PrivateKeyshares = append(m.PrivateKeyshares, &IndexedEncryptedKeyshare{}) + if err := m.PrivateKeyshares[len(m.PrivateKeyshares)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err } + iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipSharedTypes(dAtA[iNdEx:]) @@ -1549,7 +2744,7 @@ func (m *ActivePublicKey) Unmarshal(dAtA []byte) error { } return nil } -func (m *QueuedPublicKey) Unmarshal(dAtA []byte) error { +func (m *IndexedEncryptedKeyshare) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -1572,15 +2767,15 @@ func (m *QueuedPublicKey) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: QueuedPublicKey: wiretype end group for non-group") + return fmt.Errorf("proto: IndexedEncryptedKeyshare: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: QueuedPublicKey: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: IndexedEncryptedKeyshare: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field PublicKey", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field EncryptedKeyshareValue", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -1608,45 +2803,13 @@ func (m *QueuedPublicKey) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.PublicKey = string(dAtA[iNdEx:postIndex]) + m.EncryptedKeyshareValue = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex case 2: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Creator", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowSharedTypes - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return ErrInvalidLengthSharedTypes - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthSharedTypes - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.Creator = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 3: if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field Expiry", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field EncryptedKeyshareIndex", wireType) } - m.Expiry = 0 + m.EncryptedKeyshareIndex = 0 for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowSharedTypes @@ -1656,7 +2819,7 @@ func (m *QueuedPublicKey) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.Expiry |= uint64(b&0x7F) << shift + m.EncryptedKeyshareIndex |= uint64(b&0x7F) << shift if b < 0x80 { break } diff --git a/x/keyshare/client/cli/tx.go b/x/keyshare/client/cli/tx.go index 22370d9a..e18c585b 100644 --- a/x/keyshare/client/cli/tx.go +++ b/x/keyshare/client/cli/tx.go @@ -35,6 +35,7 @@ func GetTxCmd() *cobra.Command { cmd.AddCommand(CmdCreateGeneralKeyShare()) cmd.AddCommand(CmdOverrideLatestPubKey()) + cmd.AddCommand(CmdSubmitEncryptedKeyShare()) // this line is used by starport scaffolding # 1 return cmd diff --git a/x/keyshare/client/cli/tx_general_key_share.go b/x/keyshare/client/cli/tx_general_key_share.go index 3122c52d..86809e36 100644 --- a/x/keyshare/client/cli/tx_general_key_share.go +++ b/x/keyshare/client/cli/tx_general_key_share.go @@ -50,3 +50,43 @@ func CmdCreateGeneralKeyShare() *cobra.Command { return cmd } + +func CmdSubmitEncryptedKeyShare() *cobra.Command { + cmd := &cobra.Command{ + Use: "submit-encrypted-keyshare [identity] [requester] [encrypted-keyshare] [keyshare-index]", + Short: "Submit a new EncryptedKeyShare", + Args: cobra.ExactArgs(4), + RunE: func(cmd *cobra.Command, args []string) (err error) { + // Get indexes + identity := args[0] + requester := args[1] + encKeyshare := args[2] + argKeyShareIndex, err := cast.ToUint64E(args[3]) + if err != nil { + return err + } + + clientCtx, err := client.GetClientTxContext(cmd) + if err != nil { + return err + } + + msg := types.NewMsgSubmitEncryptedKeyshare( + clientCtx.GetFromAddress().String(), + identity, + requester, + encKeyshare, + argKeyShareIndex, + ) + + if err := msg.ValidateBasic(); err != nil { + return err + } + return tx.GenerateOrBroadcastTxCLI(clientCtx, cmd.Flags(), msg) + }, + } + + flags.AddTxFlagsToCmd(cmd) + + return cmd +} diff --git a/x/keyshare/client/cli/tx_latest_pub_key.go b/x/keyshare/client/cli/tx_latest_pub_key.go index e50988f1..e3eb54df 100644 --- a/x/keyshare/client/cli/tx_latest_pub_key.go +++ b/x/keyshare/client/cli/tx_latest_pub_key.go @@ -2,9 +2,10 @@ package cli import ( "encoding/json" + "strings" + "github.com/Fairblock/fairyring/x/keyshare/types" "github.com/spf13/cast" - "strings" "github.com/cosmos/cosmos-sdk/client" "github.com/cosmos/cosmos-sdk/client/flags" diff --git a/x/keyshare/client/cli/tx_override_pub_key.go b/x/keyshare/client/cli/tx_override_pub_key.go index 58a59f06..5e836377 100644 --- a/x/keyshare/client/cli/tx_override_pub_key.go +++ b/x/keyshare/client/cli/tx_override_pub_key.go @@ -2,9 +2,10 @@ package cli import ( "encoding/json" + "strings" + "github.com/Fairblock/fairyring/x/keyshare/types" "github.com/spf13/cast" - "strings" "github.com/cosmos/cosmos-sdk/client" "github.com/cosmos/cosmos-sdk/client/flags" diff --git a/x/keyshare/keeper/aggr_key_share_data.go b/x/keyshare/keeper/aggr_key_share_data.go index 8095f4a7..9d6bd2de 100644 --- a/x/keyshare/keeper/aggr_key_share_data.go +++ b/x/keyshare/keeper/aggr_key_share_data.go @@ -121,3 +121,64 @@ func (k Keeper) OnTimeoutAggrKeyshareDataPacket(ctx sdk.Context, packet channelt return nil } + +// TransmitEncryptedKeyshareDataPacket transmits the packet over IBC with the specified source port and source channel +func (k Keeper) TransmitEncryptedKeyshareDataPacket( + ctx sdk.Context, + packetData types.EncryptedKeysharesPacketData, + sourcePort, + sourceChannel string, + timeoutHeight clienttypes.Height, + timeoutTimestamp uint64, +) (uint64, error) { + _, found := k.ibcKeeperFn().ChannelKeeper.GetChannel(ctx, sourcePort, sourceChannel) + if !found { + return 0, sdkerrors.Wrapf(channeltypes.ErrChannelNotFound, "port ID (%s) channel ID (%s)", sourcePort, sourceChannel) + } + + // get the next sequence + _, found = k.ibcKeeperFn().ChannelKeeper.GetNextSequenceSend(ctx, sourcePort, sourceChannel) + if !found { + return 0, sdkerrors.Wrapf( + channeltypes.ErrSequenceSendNotFound, + "source port: %s, source channel: %s", sourcePort, sourceChannel, + ) + } + + channelCap, ok := k.ScopedKeeper().GetCapability(ctx, host.ChannelCapabilityPath(sourcePort, sourceChannel)) + if !ok { + return 0, sdkerrors.Wrap(channeltypes.ErrChannelCapabilityNotFound, "module does not own channel capability") + } + + packetBytes := packetData.GetBytes() + + return k.ibcKeeperFn().ChannelKeeper.SendPacket(ctx, channelCap, sourcePort, sourceChannel, timeoutHeight, timeoutTimestamp, packetBytes) +} + +// OnAcknowledgementEncryptedKeyshareDataPacket responds to the the success or failure of a packet +// acknowledgement written on the receiving chain. +func (k Keeper) OnAcknowledgementEncryptedKeyshareDataPacket( + ctx sdk.Context, + packet channeltypes.Packet, + data types.EncryptedKeysharesPacketData, + ack channeltypes.Acknowledgement, +) error { + switch ack.Response.(type) { + case *channeltypes.Acknowledgement_Error: + return nil + case *channeltypes.Acknowledgement_Result: + return nil + default: + // The counter-party module doesn't implement the correct acknowledgment format + return errors.New("invalid acknowledgment format") + } +} + +// OnTimeoutEncryptedKeyshareDataPacket responds to the case where a packet has not been transmitted because of a timeout +func (k Keeper) OnTimeoutEncryptedKeyshareDataPacket( + ctx sdk.Context, + packet channeltypes.Packet, + data types.EncryptedKeysharesPacketData, +) error { + return nil +} diff --git a/x/keyshare/keeper/aggregated_key_share.go b/x/keyshare/keeper/aggregated_key_share.go index ea18ad2c..c49d802d 100644 --- a/x/keyshare/keeper/aggregated_key_share.go +++ b/x/keyshare/keeper/aggregated_key_share.go @@ -1,8 +1,9 @@ package keeper import ( - storetypes "cosmossdk.io/store/types" "encoding/binary" + + storetypes "cosmossdk.io/store/types" "github.com/Fairblock/fairyring/x/keyshare/types" "github.com/cosmos/cosmos-sdk/runtime" diff --git a/x/keyshare/keeper/aggregated_key_share_request.go b/x/keyshare/keeper/aggregated_key_share_request.go index b4987a01..598b3fe6 100644 --- a/x/keyshare/keeper/aggregated_key_share_request.go +++ b/x/keyshare/keeper/aggregated_key_share_request.go @@ -6,6 +6,7 @@ import ( "github.com/cosmos/cosmos-sdk/runtime" "context" + "cosmossdk.io/store/prefix" ) @@ -63,3 +64,56 @@ func (k Keeper) GetAllKeyShareRequests(ctx context.Context) (list []types.KeySha return } + +// SetPrivateKeyShareRequest set a specific private keyShare request in the store by its index +func (k Keeper) SetPrivateKeyShareRequest(ctx context.Context, KeyShareRequest types.PrivateKeyshareRequest) { + storeAdapter := runtime.KVStoreAdapter(k.storeService.OpenKVStore(ctx)) + store := prefix.NewStore(storeAdapter, types.KeyPrefix(types.PrivateKeyShareRequestKeyPrefix)) + key := []byte(KeyShareRequest.Identity) + b := k.cdc.MustMarshal(&KeyShareRequest) + store.Set(key, b) +} + +// GetPrivateKeyShareRequest returns a private keyShare request from its index +func (k Keeper) GetPrivateKeyShareRequest( + ctx context.Context, + identity string, +) (val types.PrivateKeyshareRequest, found bool) { + storeAdapter := runtime.KVStoreAdapter(k.storeService.OpenKVStore(ctx)) + store := prefix.NewStore(storeAdapter, types.KeyPrefix(types.PrivateKeyShareRequestKeyPrefix)) + + b := store.Get([]byte(identity)) + if b == nil { + return val, false + } + + k.cdc.MustUnmarshal(b, &val) + return val, true +} + +// RemovePrivateKeyShareRequest removes a private keyShare request from the store +func (k Keeper) RemovePrivateKeyShareRequest( + ctx context.Context, + identity string, +) { + storeAdapter := runtime.KVStoreAdapter(k.storeService.OpenKVStore(ctx)) + store := prefix.NewStore(storeAdapter, types.KeyPrefix(types.PrivateKeyShareRequestKeyPrefix)) + store.Delete([]byte(identity)) +} + +// GetAllPrivateKeyShareRequests returns all private keyShare requests +func (k Keeper) GetAllPrivateKeyShareRequests(ctx context.Context) (list []types.PrivateKeyshareRequest) { + storeAdapter := runtime.KVStoreAdapter(k.storeService.OpenKVStore(ctx)) + store := prefix.NewStore(storeAdapter, types.KeyPrefix(types.PrivateKeyShareRequestKeyPrefix)) + iterator := storetypes.KVStorePrefixIterator(store, []byte{}) + + defer iterator.Close() + + for ; iterator.Valid(); iterator.Next() { + var val types.PrivateKeyshareRequest + k.cdc.MustUnmarshal(iterator.Value(), &val) + list = append(list, val) + } + + return +} diff --git a/x/keyshare/keeper/authorized_address.go b/x/keyshare/keeper/authorized_address.go index b446ef53..7b72b645 100644 --- a/x/keyshare/keeper/authorized_address.go +++ b/x/keyshare/keeper/authorized_address.go @@ -2,9 +2,10 @@ package keeper import ( "context" + "encoding/binary" + "cosmossdk.io/store/prefix" storetypes "cosmossdk.io/store/types" - "encoding/binary" "github.com/Fairblock/fairyring/x/keyshare/types" "github.com/cosmos/cosmos-sdk/runtime" ) diff --git a/x/keyshare/keeper/general_key_share.go b/x/keyshare/keeper/general_key_share.go index 8d550415..adbec890 100644 --- a/x/keyshare/keeper/general_key_share.go +++ b/x/keyshare/keeper/general_key_share.go @@ -2,6 +2,7 @@ package keeper import ( "context" + "cosmossdk.io/store/prefix" storetypes "cosmossdk.io/store/types" "github.com/Fairblock/fairyring/x/keyshare/types" @@ -77,3 +78,72 @@ func (k Keeper) GetAllGeneralKeyShare(ctx context.Context) (list []types.General return } + +// SetPrivateKeyShare set a specific private KeyShare in the store from its index +func (k Keeper) SetPrivateKeyShare(ctx context.Context, encKeyShare types.ValidatorEncryptedKeyShare) { + storeAdapter := runtime.KVStoreAdapter(k.storeService.OpenKVStore(ctx)) + store := prefix.NewStore(storeAdapter, types.KeyPrefix(types.EncryptedKeyShareKeyPrefix)) + + b := k.cdc.MustMarshal(&encKeyShare) + store.Set(types.EncryptedlKeyShareKey( + encKeyShare.Validator, + encKeyShare.Identity, + encKeyShare.Requester, + ), b) +} + +// GetPrivateKeyShare returns a private KeyShare from its index +func (k Keeper) GetPrivateKeyShare( + ctx context.Context, + validator string, + identity string, + requester string, +) (val types.ValidatorEncryptedKeyShare, found bool) { + storeAdapter := runtime.KVStoreAdapter(k.storeService.OpenKVStore(ctx)) + store := prefix.NewStore(storeAdapter, types.KeyPrefix(types.EncryptedKeyShareKeyPrefix)) + + b := store.Get(types.EncryptedlKeyShareKey( + validator, + identity, + requester, + )) + if b == nil { + return val, false + } + + k.cdc.MustUnmarshal(b, &val) + return val, true +} + +// RemovePrivateKeyShare removes an private KeyShare from the store +func (k Keeper) RemovePrivateKeyShare( + ctx context.Context, + validator string, + identiy string, + requester string, +) { + storeAdapter := runtime.KVStoreAdapter(k.storeService.OpenKVStore(ctx)) + store := prefix.NewStore(storeAdapter, types.KeyPrefix(types.EncryptedKeyShareKeyPrefix)) + store.Delete(types.EncryptedlKeyShareKey( + validator, + identiy, + requester, + )) +} + +// GetAllPrivateKeyShare returns all private KeyShares +func (k Keeper) GetAllPrivateKeyShare(ctx context.Context) (list []types.ValidatorEncryptedKeyShare) { + storeAdapter := runtime.KVStoreAdapter(k.storeService.OpenKVStore(ctx)) + store := prefix.NewStore(storeAdapter, types.KeyPrefix(types.EncryptedKeyShareKeyPrefix)) + iterator := storetypes.KVStorePrefixIterator(store, []byte{}) + + defer iterator.Close() + + for ; iterator.Valid(); iterator.Next() { + var val types.ValidatorEncryptedKeyShare + k.cdc.MustUnmarshal(iterator.Value(), &val) + list = append(list, val) + } + + return +} diff --git a/x/keyshare/keeper/get_aggr_key_share.go b/x/keyshare/keeper/get_aggr_key_share.go index cb4c105d..b3cc09e8 100644 --- a/x/keyshare/keeper/get_aggr_key_share.go +++ b/x/keyshare/keeper/get_aggr_key_share.go @@ -3,6 +3,7 @@ package keeper import ( "errors" + commontypes "github.com/Fairblock/fairyring/x/common/types" "github.com/Fairblock/fairyring/x/keyshare/types" sdk "github.com/cosmos/cosmos-sdk/types" @@ -60,6 +61,67 @@ func (k Keeper) OnTimeoutGetAggrKeysharePacket(ctx sdk.Context, packet channelty return nil } +// OnRecvGetPrivateKeysharePacket processes packet reception +func (k Keeper) OnRecvGetPrivateKeysharePacket( + ctx sdk.Context, + packet channeltypes.Packet, + data types.GetPrivateKeysharePacketData, +) (packetAck types.GetPrivateKeysharePacketAck, err error) { + // validate packet data upon receiving + if err := data.ValidateBasic(); err != nil { + return packetAck, err + } + + activePubKey, found := k.GetActivePubKey(ctx) + if !found { + return packetAck, errors.New("active public key not found") + } + + keyshareReq, found := k.GetPrivateKeyShareRequest(ctx, data.Identity) + if !found { + keyshareReq.Identity = data.Identity + keyshareReq.Pubkey = activePubKey.PublicKey + keyshareReq.IbcInfo = &types.IBCInfo{ + ChannelID: packet.DestinationChannel, + PortID: packet.DestinationPort, + } + + keyshareReq.Counterparty = &types.CounterPartyIBCInfo{ + ChannelID: packet.SourceChannel, + PortID: packet.SourcePort, + } + + keyshareReq.EncryptedKeyshares = make([]*commontypes.EncryptedKeyshare, 0) + keyshareReq.RequestId = data.Identity + keyshareReq.Sent = false + + k.SetPrivateKeyShareRequest(ctx, keyshareReq) + } + + if len(keyshareReq.EncryptedKeyshares) == 0 { + k.Logger().Info("Got OnRecvGetPrivateKeysharePacket") + + ctx.EventManager().EmitEvent( + sdk.NewEvent(types.StartSendEncryptedKeyShareEventType, + sdk.NewAttribute(types.StartSendGeneralKeyShareEventIdentity, data.Identity), + sdk.NewAttribute(types.StartSendEncryptedKeyShareEventRequester, data.Requester), + sdk.NewAttribute(types.StartSendEncryptedKeyShareEventPubkey, data.SecpPubkey), + ), + ) + } + + return packetAck, nil +} + +// OnTimeoutGetPrivateKeysharePacket responds to the case where a packet has not been transmitted because of a timeout +func (k Keeper) OnTimeoutGetPrivateKeysharePacket(ctx sdk.Context, packet channeltypes.Packet, data types.GetPrivateKeysharePacketData) error { + + // Implement custom packet timeout logic + // (Not required for fairyring since this packet is never sent from fairyring) + + return nil +} + func verifyIBCInfo(packet channeltypes.Packet, keyshareReq types.KeyShareRequest) error { if keyshareReq.Counterparty.ChannelID != packet.SourceChannel || keyshareReq.Counterparty.PortID != packet.SourcePort || diff --git a/x/keyshare/keeper/key_share.go b/x/keyshare/keeper/key_share.go index 63069876..48371711 100644 --- a/x/keyshare/keeper/key_share.go +++ b/x/keyshare/keeper/key_share.go @@ -6,6 +6,7 @@ import ( "github.com/cosmos/cosmos-sdk/runtime" "context" + "cosmossdk.io/store/prefix" ) diff --git a/x/keyshare/keeper/last_submitted_height.go b/x/keyshare/keeper/last_submitted_height.go index 9507dd15..52d6fe28 100644 --- a/x/keyshare/keeper/last_submitted_height.go +++ b/x/keyshare/keeper/last_submitted_height.go @@ -2,10 +2,11 @@ package keeper import ( "context" + "strconv" + "cosmossdk.io/store/prefix" "github.com/Fairblock/fairyring/x/keyshare/types" "github.com/cosmos/cosmos-sdk/runtime" - "strconv" ) func (k Keeper) SetLastSubmittedHeight(ctx context.Context, validator, height string) { diff --git a/x/keyshare/keeper/msg_authorized_address.go b/x/keyshare/keeper/msg_authorized_address.go index eb001806..164817b2 100644 --- a/x/keyshare/keeper/msg_authorized_address.go +++ b/x/keyshare/keeper/msg_authorized_address.go @@ -2,6 +2,7 @@ package keeper import ( "context" + "github.com/Fairblock/fairyring/x/keyshare/types" sdk "github.com/cosmos/cosmos-sdk/types" ) diff --git a/x/keyshare/keeper/msg_create_general_key_share.go b/x/keyshare/keeper/msg_create_general_key_share.go index fcc0f95f..a720b4a9 100644 --- a/x/keyshare/keeper/msg_create_general_key_share.go +++ b/x/keyshare/keeper/msg_create_general_key_share.go @@ -274,7 +274,7 @@ func (k msgServer) CreateGeneralKeyShare(goCtx context.Context, msg *types.MsgCr if keyShareReq.IbcInfo != nil { if keyShareReq.IbcInfo.ChannelID != "" { - _, err = k.TransmitAggrKeyshareDataPacket( + _, err := k.TransmitAggrKeyshareDataPacket( ctx, types.AggrKeyshareDataPacketData{ Identity: keyShareReq.Identity, @@ -290,6 +290,7 @@ func (k msgServer) CreateGeneralKeyShare(goCtx context.Context, msg *types.MsgCr clienttypes.ZeroHeight(), uint64(timeoutTimestamp), ) + if err != nil { return nil, err } @@ -314,7 +315,7 @@ func (k msgServer) CreateGeneralKeyShare(goCtx context.Context, msg *types.MsgCr val, _ := k.pepKeeper.GetEntry(ctx, keyShareReq.RequestId) val.AggrKeyshare = keyShareReq.AggrKeyshare k.pepKeeper.SetExecutionQueueEntry(ctx, val) - k.pepKeeper.RemoveEntry(ctx, val.RequestId) + k.pepKeeper.SetEntry(ctx, val) } } } diff --git a/x/keyshare/keeper/msg_deregister_validator.go b/x/keyshare/keeper/msg_deregister_validator.go index 6d0260f2..c208cc4c 100644 --- a/x/keyshare/keeper/msg_deregister_validator.go +++ b/x/keyshare/keeper/msg_deregister_validator.go @@ -2,6 +2,7 @@ package keeper import ( "context" + "github.com/Fairblock/fairyring/x/keyshare/types" sdk "github.com/cosmos/cosmos-sdk/types" ) diff --git a/x/keyshare/keeper/msg_register_validator.go b/x/keyshare/keeper/msg_register_validator.go index 06444fa3..eedb1bfd 100644 --- a/x/keyshare/keeper/msg_register_validator.go +++ b/x/keyshare/keeper/msg_register_validator.go @@ -4,9 +4,10 @@ import ( "context" "encoding/hex" "fmt" + "strconv" + "github.com/Fairblock/fairyring/x/keyshare/types" sdk "github.com/cosmos/cosmos-sdk/types" - "strconv" ) // RegisterValidator adds a new validator to the validator set diff --git a/x/keyshare/keeper/msg_send_key_share.go b/x/keyshare/keeper/msg_send_key_share.go index c87ce583..e4e1f645 100644 --- a/x/keyshare/keeper/msg_send_key_share.go +++ b/x/keyshare/keeper/msg_send_key_share.go @@ -2,15 +2,16 @@ package keeper import ( "context" - "cosmossdk.io/math" "encoding/hex" "fmt" + "strconv" + + "cosmossdk.io/math" distIBE "github.com/FairBlock/DistributedIBE" "github.com/Fairblock/fairyring/x/keyshare/types" peptypes "github.com/Fairblock/fairyring/x/pep/types" "github.com/cosmos/cosmos-sdk/telemetry" "github.com/hashicorp/go-metrics" - "strconv" "github.com/drand/kyber" bls "github.com/drand/kyber-bls12381" diff --git a/x/keyshare/keeper/msg_server_submit_encrypted_keyshare.go b/x/keyshare/keeper/msg_server_submit_encrypted_keyshare.go new file mode 100644 index 00000000..434ab567 --- /dev/null +++ b/x/keyshare/keeper/msg_server_submit_encrypted_keyshare.go @@ -0,0 +1,147 @@ +package keeper + +import ( + "context" + "strconv" + "time" + + "cosmossdk.io/math" + commontypes "github.com/Fairblock/fairyring/x/common/types" + "github.com/Fairblock/fairyring/x/keyshare/types" + sdk "github.com/cosmos/cosmos-sdk/types" + clienttypes "github.com/cosmos/ibc-go/v8/modules/core/02-client/types" +) + +func (k msgServer) SubmitEncryptedKeyshare(goCtx context.Context, msg *types.MsgSubmitEncryptedKeyshare) (*types.MsgSubmitEncryptedKeyshareResponse, error) { + ctx := sdk.UnwrapSDKContext(goCtx) + + // check if validator is registered + _, found := k.GetValidatorSet(ctx, msg.Creator) + + if !found { + authorizedAddrInfo, found := k.GetAuthorizedAddress(ctx, msg.Creator) + if !found || !authorizedAddrInfo.IsAuthorized { + return nil, types.ErrAddrIsNotValidatorOrAuthorized.Wrap(msg.Creator) + } + + _, found = k.GetValidatorSet(ctx, authorizedAddrInfo.AuthorizedBy) + if !found { + return nil, types.ErrAuthorizerIsNotValidator.Wrap(authorizedAddrInfo.AuthorizedBy) + } + + // If the sender is in the validator set & authorized another address to submit key share + } else if count := k.GetAuthorizedCount(ctx, msg.Creator); count != 0 { + return nil, types.ErrAuthorizedAnotherAddress + } + + keyShareReq, found := k.GetPrivateKeyShareRequest(ctx, msg.Identity) + if !found { + return nil, types.ErrKeyShareRequestNotFound.Wrapf(", got id value: %s", msg.Identity) + } + + valEncKeyshare := types.ValidatorEncryptedKeyShare{ + Validator: msg.Creator, + Requester: msg.Requester, + KeyShare: msg.EncryptedKeyshare, + KeyShareIndex: msg.KeyShareIndex, + ReceivedTimestamp: msg.ReceivedTimestamp, + ReceivedBlockHeight: msg.ReceivedBlockHeight, + Identity: msg.Identity, + } + + // Save the new private keyshare to state + k.SetPrivateKeyShare(ctx, valEncKeyshare) + k.SetLastSubmittedHeight(ctx, msg.Creator, strconv.FormatInt(ctx.BlockHeight(), 10)) + + validatorList := k.GetAllValidatorSet(ctx) + + // Get all the private keyshares for the provided id value & id type + var stateEncryptedKeyShares []types.ValidatorEncryptedKeyShare + + for _, eachValidator := range validatorList { + eachEncKeyShare, found := k.GetPrivateKeyShare(ctx, eachValidator.Validator, msg.Identity, msg.Requester) + if !found { + continue + } + stateEncryptedKeyShares = append(stateEncryptedKeyShares, eachEncKeyShare) + } + + // Get the active public key for aggregating + activePubKey, found := k.GetActivePubKey(ctx) + + if !found { + return nil, types.ErrPubKeyNotFound + } + + expectedThreshold := math.LegacyNewDecFromInt( + math.NewInt(types.KeyAggregationThresholdNumerator)).Quo( + math.LegacyNewDecFromInt(math.NewInt(types.KeyAggregationThresholdDenominator))).MulInt64( + int64(activePubKey.NumberOfValidators)).Ceil().TruncateInt64() + + // Emit KeyShare Submitted Event + ctx.EventManager().EmitEvent( + sdk.NewEvent(types.SendEncryptedKeyshareEventType, + sdk.NewAttribute(types.SendGeneralKeyshareEventValidator, msg.Creator), + sdk.NewAttribute(types.SendGeneralKeyshareEventReceivedBlockHeight, strconv.FormatInt(ctx.BlockHeight(), 10)), + sdk.NewAttribute(types.SendGeneralKeyshareEventMessage, msg.EncryptedKeyshare), + sdk.NewAttribute(types.SendGeneralKeyshareEventIndex, strconv.FormatUint(msg.KeyShareIndex, 10)), + sdk.NewAttribute(types.SendGeneralKeyshareEventIdValue, msg.Identity), + ), + ) + + // If there is not enough keyshares to aggregate OR there is already an aggregated key + // Only continue the code if there is enough keyshare to aggregate & no aggregated key for current height + if int64(len(stateEncryptedKeyShares)) < expectedThreshold { + return &types.MsgSubmitEncryptedKeyshareResponse{}, nil + } + + if len(keyShareReq.EncryptedKeyshares) != 0 { + for _, entry := range keyShareReq.EncryptedKeyshares { + if entry.Requester == msg.Requester && len(entry.PrivateKeyshares) != 0 { + return &types.MsgSubmitEncryptedKeyshareResponse{}, nil + } + } + } + + var kslist commontypes.EncryptedKeyshare + kslist.PrivateKeyshares = make([]*commontypes.IndexedEncryptedKeyshare, 0) + for _, eachKeyShare := range stateEncryptedKeyShares { + var indexedKeyshare commontypes.IndexedEncryptedKeyshare + indexedKeyshare.EncryptedKeyshareValue = eachKeyShare.KeyShare + indexedKeyshare.EncryptedKeyshareIndex = eachKeyShare.KeyShareIndex + kslist.PrivateKeyshares = append(kslist.PrivateKeyshares, &indexedKeyshare) + } + kslist.Requester = msg.Requester + + keyShareReq.EncryptedKeyshares = append(keyShareReq.EncryptedKeyshares, &kslist) + k.SetPrivateKeyShareRequest(ctx, keyShareReq) + + timeoutTimestamp := ctx.BlockTime().Add(time.Second * 20).UnixNano() + + if keyShareReq.IbcInfo != nil { + if keyShareReq.IbcInfo.ChannelID != "" { + _, err := k.TransmitEncryptedKeyshareDataPacket( + ctx, + types.EncryptedKeysharesPacketData{ + Identity: keyShareReq.Identity, + Pubkey: keyShareReq.Pubkey, + RequestId: keyShareReq.RequestId, + EncryptedKeyshares: keyShareReq.EncryptedKeyshares, + }, + keyShareReq.IbcInfo.PortID, + keyShareReq.IbcInfo.ChannelID, + clienttypes.ZeroHeight(), + uint64(timeoutTimestamp), + ) + if err != nil { + return nil, err + } + } + } else { + entry, _ := k.pepKeeper.GetPrivateRequest(ctx, keyShareReq.RequestId) + entry.EncryptedKeyshares = keyShareReq.EncryptedKeyshares + k.pepKeeper.SetPrivateRequest(ctx, entry) + } + + return &types.MsgSubmitEncryptedKeyshareResponse{}, nil +} diff --git a/x/keyshare/keeper/params.go b/x/keyshare/keeper/params.go index 4c90434b..0a82bda6 100644 --- a/x/keyshare/keeper/params.go +++ b/x/keyshare/keeper/params.go @@ -2,6 +2,7 @@ package keeper import ( "context" + "cosmossdk.io/math" sdk "github.com/cosmos/cosmos-sdk/types" diff --git a/x/keyshare/keeper/process_queues.go b/x/keyshare/keeper/process_queues.go index 38c3eef4..7dd61ed9 100644 --- a/x/keyshare/keeper/process_queues.go +++ b/x/keyshare/keeper/process_queues.go @@ -6,6 +6,7 @@ import ( "math" "strconv" + common "github.com/Fairblock/fairyring/x/common/types" "github.com/Fairblock/fairyring/x/keyshare/types" peptypes "github.com/Fairblock/fairyring/x/pep/types" sdk "github.com/cosmos/cosmos-sdk/types" @@ -106,6 +107,87 @@ func (k Keeper) ProcessPepSignalQueue(ctx sdk.Context) error { return nil } +func (k Keeper) ProcessPrivateRequestQueue(ctx sdk.Context) error { + activePubKey, found := k.GetActivePubKey(ctx) + if !found { + return errors.New("active public key not found") + } + + reqs := k.pepKeeper.GetAllPrivateReqQueueEntry(ctx) + + for _, req := range reqs { + id := req.GetRequestId() + + var keyshareRequest types.PrivateKeyshareRequest + + keyshareRequest.Identity = id + keyshareRequest.Pubkey = activePubKey.PublicKey + + keyshareRequest.EncryptedKeyshares = make([]*common.EncryptedKeyshare, 0) + keyshareRequest.RequestId = req.GetRequestId() + + k.SetPrivateKeyShareRequest(ctx, keyshareRequest) + + entry, found := k.pepKeeper.GetPrivateRequest(ctx, id) + if !found { + return errors.New("entry not found in pep module") + } + entry.Pubkey = activePubKey.PublicKey + + k.pepKeeper.SetPrivateRequest(ctx, entry) + k.pepKeeper.RemovePrivateReqQueueEntry(ctx, req.GetRequestId()) + } + return nil +} + +func (k Keeper) ProcessPrivateSignalQueue(ctx sdk.Context) error { + reqs := k.pepKeeper.GetAllPrivateSignalQueueEntry(ctx) + k.Logger().Info(fmt.Sprintf("PROCESSING PEP SIGNAL QUEUE: %v", reqs)) + + activePubKey, found := k.GetActivePubKey(ctx) + if !found { + return errors.New("active public key not found") + } + + for _, req := range reqs { + if req.Identity != "" { + keyshareReq, found := k.GetPrivateKeyShareRequest(ctx, req.Identity) + if !found { + var keyshareRequest types.PrivateKeyshareRequest + + keyshareRequest.Identity = req.Identity + keyshareRequest.Pubkey = activePubKey.PublicKey + + keyshareRequest.EncryptedKeyshares = make([]*common.EncryptedKeyshare, 0) + keyshareRequest.RequestId = req.GetRequestId() + + k.SetPrivateKeyShareRequest(ctx, keyshareRequest) + + entry, found := k.pepKeeper.GetPrivateRequest(ctx, req.Identity) + if !found { + return errors.New("entry not found in pep module") + } + entry.Pubkey = activePubKey.PublicKey + + k.pepKeeper.SetPrivateRequest(ctx, entry) + + } + + if len(keyshareReq.EncryptedKeyshares) == 0 { + ctx.EventManager().EmitEvent( + sdk.NewEvent(types.StartSendEncryptedKeyShareEventType, + sdk.NewAttribute(types.StartSendGeneralKeyShareEventIdentity, req.Identity), + sdk.NewAttribute(types.StartSendEncryptedKeyShareEventRequester, req.Requester), + sdk.NewAttribute(types.StartSendEncryptedKeyShareEventPubkey, req.SecpPubkey), + ), + ) + } + } + k.pepKeeper.RemoveSignalQueueEntry(ctx, req.GetRequestId()) + } + return nil +} + func (k Keeper) ProcessGovRequestQueue(ctx sdk.Context) error { activePubKey, found := k.GetActivePubKey(ctx) if !found { diff --git a/x/keyshare/keeper/query_aggregated_key_share.go b/x/keyshare/keeper/query_aggregated_key_share.go index 18f07777..e08c334b 100644 --- a/x/keyshare/keeper/query_aggregated_key_share.go +++ b/x/keyshare/keeper/query_aggregated_key_share.go @@ -2,6 +2,7 @@ package keeper import ( "context" + "github.com/cosmos/cosmos-sdk/runtime" "github.com/Fairblock/fairyring/x/keyshare/types" diff --git a/x/keyshare/keeper/query_authorized_address.go b/x/keyshare/keeper/query_authorized_address.go index 6b137c0a..ef42c6e2 100644 --- a/x/keyshare/keeper/query_authorized_address.go +++ b/x/keyshare/keeper/query_authorized_address.go @@ -2,6 +2,7 @@ package keeper import ( "context" + "github.com/cosmos/cosmos-sdk/runtime" "cosmossdk.io/store/prefix" diff --git a/x/keyshare/keeper/query_commitments.go b/x/keyshare/keeper/query_commitments.go index 8d79dce8..fdeab787 100644 --- a/x/keyshare/keeper/query_commitments.go +++ b/x/keyshare/keeper/query_commitments.go @@ -2,6 +2,7 @@ package keeper import ( "context" + "cosmossdk.io/store/prefix" "github.com/Fairblock/fairyring/x/keyshare/types" "github.com/cosmos/cosmos-sdk/runtime" diff --git a/x/keyshare/keeper/query_general_key_share.go b/x/keyshare/keeper/query_general_key_share.go index f487a10e..0f501e2d 100644 --- a/x/keyshare/keeper/query_general_key_share.go +++ b/x/keyshare/keeper/query_general_key_share.go @@ -2,6 +2,7 @@ package keeper import ( "context" + "github.com/cosmos/cosmos-sdk/runtime" "cosmossdk.io/store/prefix" diff --git a/x/keyshare/keeper/query_key_share.go b/x/keyshare/keeper/query_key_share.go index 2b28d73b..cf561dd0 100644 --- a/x/keyshare/keeper/query_key_share.go +++ b/x/keyshare/keeper/query_key_share.go @@ -2,6 +2,7 @@ package keeper import ( "context" + "github.com/cosmos/cosmos-sdk/runtime" "github.com/Fairblock/fairyring/x/keyshare/types" diff --git a/x/keyshare/keeper/query_pub_key.go b/x/keyshare/keeper/query_pub_key.go index b1fd5ca5..5f5c174b 100644 --- a/x/keyshare/keeper/query_pub_key.go +++ b/x/keyshare/keeper/query_pub_key.go @@ -2,6 +2,7 @@ package keeper import ( "context" + "cosmossdk.io/store/prefix" "github.com/Fairblock/fairyring/x/keyshare/types" "github.com/cosmos/cosmos-sdk/runtime" diff --git a/x/keyshare/keeper/query_validator_set.go b/x/keyshare/keeper/query_validator_set.go index b0d169e2..4ff01f8e 100644 --- a/x/keyshare/keeper/query_validator_set.go +++ b/x/keyshare/keeper/query_validator_set.go @@ -2,6 +2,7 @@ package keeper import ( "context" + "github.com/cosmos/cosmos-sdk/runtime" "github.com/Fairblock/fairyring/x/keyshare/types" diff --git a/x/keyshare/keeper/query_verifiable_randomness.go b/x/keyshare/keeper/query_verifiable_randomness.go index afc509da..fce5d4a7 100644 --- a/x/keyshare/keeper/query_verifiable_randomness.go +++ b/x/keyshare/keeper/query_verifiable_randomness.go @@ -4,6 +4,7 @@ import ( "context" "crypto/sha256" "encoding/hex" + "github.com/Fairblock/fairyring/x/keyshare/types" sdk "github.com/cosmos/cosmos-sdk/types" "google.golang.org/grpc/codes" diff --git a/x/keyshare/keeper/request_aggr_key_share.go b/x/keyshare/keeper/request_aggr_key_share.go index b5151ad3..2fd7f3ac 100644 --- a/x/keyshare/keeper/request_aggr_key_share.go +++ b/x/keyshare/keeper/request_aggr_key_share.go @@ -2,9 +2,11 @@ package keeper import ( "errors" - "github.com/Fairblock/fairyring/x/keyshare/types" "math" + commontypes "github.com/Fairblock/fairyring/x/common/types" + "github.com/Fairblock/fairyring/x/keyshare/types" + sdkerrors "cosmossdk.io/errors" sdk "github.com/cosmos/cosmos-sdk/types" clienttypes "github.com/cosmos/ibc-go/v8/modules/core/02-client/types" @@ -111,3 +113,56 @@ func (k Keeper) OnTimeoutRequestAggrKeysharePacket(ctx sdk.Context, packet chann return nil } + +// OnRecvRequestPrivateKeysharePacket processes packet reception +func (k Keeper) OnRecvRequestPrivateKeysharePacket( + ctx sdk.Context, + packet channeltypes.Packet, + data types.RequestPrivateKeysharePacketData, +) (packetAck types.RequestPrivateKeysharePacketAck, err error) { + // validate packet data upon receiving + if err := data.ValidateBasic(); err != nil { + return packetAck, err + } + + activePubKey, found := k.GetActivePubKey(ctx) + if !found { + return packetAck, err + } + + id := data.GetRequestId() + + var keyshareRequest types.PrivateKeyshareRequest + + keyshareRequest.Identity = id + keyshareRequest.Pubkey = activePubKey.PublicKey + keyshareRequest.IbcInfo = &types.IBCInfo{ + ChannelID: packet.DestinationChannel, + PortID: packet.DestinationPort, + } + + keyshareRequest.Counterparty = &types.CounterPartyIBCInfo{ + ChannelID: packet.SourceChannel, + PortID: packet.SourcePort, + } + + keyshareRequest.EncryptedKeyshares = make([]*commontypes.EncryptedKeyshare, 0) + keyshareRequest.RequestId = data.GetRequestId() + keyshareRequest.Sent = false + + k.SetPrivateKeyShareRequest(ctx, keyshareRequest) + + packetAck.Identity = id + packetAck.Pubkey = activePubKey.PublicKey + + return packetAck, nil +} + +// OnTimeoutRequestAggrKeysharePacket responds to the case where a packet has not been transmitted because of a timeout +func (k Keeper) OnTimeoutRequestPrivateKeysharePacket(ctx sdk.Context, packet channeltypes.Packet, data types.RequestPrivateKeysharePacketData) error { + + // Implement custom packet timeout logic + // (Not required for fairyring since this packet is never sent from fairyring) + + return nil +} diff --git a/x/keyshare/keeper/validator_set.go b/x/keyshare/keeper/validator_set.go index 4396f1b0..d2615653 100644 --- a/x/keyshare/keeper/validator_set.go +++ b/x/keyshare/keeper/validator_set.go @@ -6,6 +6,7 @@ import ( "github.com/cosmos/cosmos-sdk/runtime" "context" + "cosmossdk.io/store/prefix" ) diff --git a/x/keyshare/module/autocli.go b/x/keyshare/module/autocli.go index 267f0c42..fad3c1af 100644 --- a/x/keyshare/module/autocli.go +++ b/x/keyshare/module/autocli.go @@ -145,7 +145,13 @@ func (am AppModule) AutoCLIOptions() *autocliv1.ModuleOptions { // Short: "Override the latest public key", // PositionalArgs: []*autocliv1.PositionalArgDescriptor{{ProtoField: "publicKey"}, {ProtoField: "commitments"}, {ProtoField: "numberOfValidators"}, {ProtoField: "encryptedKeyShares"}}, // }, - // // this line is used by ignite scaffolding # autocli/tx + // { + // RpcMethod: "SubmitEncryptedKeyshare", + // Use: "submit-encrypted-keyshare [identity] [encrypted-keyshare] [keyshare-index] [received-timestamp] [received-block-height]", + // Short: "Send a submit-encrypted-keyshare tx", + // PositionalArgs: []*autocliv1.PositionalArgDescriptor{{ProtoField: "identity"}, {ProtoField: "encryptedKeyshare"}, {ProtoField: "keyshareIndex"}, {ProtoField: "receivedTimestamp"}, {ProtoField: "receivedBlockHeight"},}, + // }, + // // this line is used by ignite scaffolding # autocli/tx // }, // }, } diff --git a/x/keyshare/module/genesis.go b/x/keyshare/module/genesis.go index c825d89f..50e6d8a5 100644 --- a/x/keyshare/module/genesis.go +++ b/x/keyshare/module/genesis.go @@ -1,9 +1,10 @@ package keyshare import ( - sdk "github.com/cosmos/cosmos-sdk/types" "strconv" + sdk "github.com/cosmos/cosmos-sdk/types" + "github.com/Fairblock/fairyring/x/keyshare/keeper" "github.com/Fairblock/fairyring/x/keyshare/types" ) @@ -77,7 +78,7 @@ func ExportGenesis(ctx sdk.Context, k keeper.Keeper) *types.GenesisState { genesis.AuthorizedAddressList = k.GetAllAuthorizedAddress(ctx) genesis.GeneralKeyShareList = k.GetAllGeneralKeyShare(ctx) // this line is used by starport scaffolding # genesis/module/export - + genesis.RequestCount, _ = strconv.ParseUint(k.GetRequestCount(ctx), 10, 64) // this line is used by starport scaffolding # genesis/module/export diff --git a/x/keyshare/module/module.go b/x/keyshare/module/module.go index e5193364..f08d5eb1 100644 --- a/x/keyshare/module/module.go +++ b/x/keyshare/module/module.go @@ -5,9 +5,10 @@ import ( "encoding/hex" "encoding/json" "fmt" + "strconv" + commontypes "github.com/Fairblock/fairyring/x/common/types" "github.com/cosmos/cosmos-sdk/telemetry" - "strconv" "cosmossdk.io/core/appmodule" "github.com/cosmos/cosmos-sdk/client" @@ -28,7 +29,6 @@ import ( var ( _ module.AppModuleBasic = (*AppModule)(nil) - _ module.AppModuleSimulation = (*AppModule)(nil) _ module.HasGenesis = (*AppModule)(nil) _ module.HasInvariants = (*AppModule)(nil) _ module.HasConsensusVersion = (*AppModule)(nil) @@ -193,6 +193,8 @@ func (am AppModule) BeginBlock(cctx context.Context) error { am.keeper.ProcessPepRequestQueue(ctx) am.keeper.ProcessPepSignalQueue(ctx) + am.keeper.ProcessPrivateRequestQueue(ctx) + am.keeper.ProcessPrivateSignalQueue(ctx) am.keeper.ProcessGovRequestQueue(ctx) am.keeper.ProcessGovSignalQueue(ctx) diff --git a/x/keyshare/module/module_ibc.go b/x/keyshare/module/module_ibc.go index e2fcae95..912874dc 100644 --- a/x/keyshare/module/module_ibc.go +++ b/x/keyshare/module/module_ibc.go @@ -170,6 +170,41 @@ func (im IBCModule) OnRecvPacket( ), ) + case *types.KeysharePacketData_RequestPrivKeysharePacket: + packetAck, err := im.keeper.OnRecvRequestPrivateKeysharePacket(ctx, modulePacket, *packet.RequestPrivKeysharePacket) + if err != nil { + ack = channeltypes.NewErrorAcknowledgement(err) + } else { + // Encode packet acknowledgment + packetAckBytes := types.MustProtoMarshalJSON(&packetAck) + ack = channeltypes.NewResultAcknowledgement(sdk.MustSortJSON(packetAckBytes)) + } + ctx.EventManager().EmitEvent( + sdk.NewEvent( + types.EventTypeRequestPrivateKeysharePacket, + sdk.NewAttribute(sdk.AttributeKeyModule, types.ModuleName), + sdk.NewAttribute(types.AttributeKeyAckSuccess, fmt.Sprintf("%t", err != nil)), + sdk.NewAttribute(types.AttributeKeyAckIdentity, packetAck.Identity), + sdk.NewAttribute(types.AttributeKeyAckPubkey, packetAck.Pubkey), + ), + ) + + case *types.KeysharePacketData_GetPrivateKeysharePacket: + packetAck, err := im.keeper.OnRecvGetPrivateKeysharePacket(ctx, modulePacket, *packet.GetPrivateKeysharePacket) + if err != nil { + ack = channeltypes.NewErrorAcknowledgement(err) + } else { + // Encode packet acknowledgment + packetAckBytes := types.MustProtoMarshalJSON(&packetAck) + ack = channeltypes.NewResultAcknowledgement(sdk.MustSortJSON(packetAckBytes)) + } + ctx.EventManager().EmitEvent( + sdk.NewEvent( + types.EventTypeGetEncryptedKeysharePacket, + sdk.NewAttribute(sdk.AttributeKeyModule, types.ModuleName), + sdk.NewAttribute(types.AttributeKeyAckSuccess, fmt.Sprintf("%t", err != nil)), + ), + ) case *types.KeysharePacketData_GetAggrKeysharePacket: packetAck, err := im.keeper.OnRecvGetAggrKeysharePacket(ctx, modulePacket, *packet.GetAggrKeysharePacket) if err != nil { diff --git a/x/keyshare/module/simulation.go b/x/keyshare/module/simulation.go deleted file mode 100644 index 07efbfc4..00000000 --- a/x/keyshare/module/simulation.go +++ /dev/null @@ -1,60 +0,0 @@ -package keyshare - -import ( - "math/rand" - - sdk "github.com/cosmos/cosmos-sdk/types" - "github.com/cosmos/cosmos-sdk/types/module" - simtypes "github.com/cosmos/cosmos-sdk/types/simulation" - "github.com/cosmos/cosmos-sdk/x/simulation" - - "github.com/Fairblock/fairyring/testutil/sample" - keysharesimulation "github.com/Fairblock/fairyring/x/keyshare/simulation" - "github.com/Fairblock/fairyring/x/keyshare/types" -) - -// avoid unused import issue -var ( - _ = keysharesimulation.FindAccount - _ = rand.Rand{} - _ = sample.AccAddress - _ = sdk.AccAddress{} - _ = simulation.MsgEntryKind -) - -const ( -// this line is used by starport scaffolding # simapp/module/const -) - -// GenerateGenesisState creates a randomized GenState of the module. -func (AppModule) GenerateGenesisState(simState *module.SimulationState) { - accs := make([]string, len(simState.Accounts)) - for i, acc := range simState.Accounts { - accs[i] = acc.Address.String() - } - keyshareGenesis := types.GenesisState{ - Params: types.DefaultParams(), - PortId: types.PortID, - // this line is used by starport scaffolding # simapp/module/genesisState - } - simState.GenState[types.ModuleName] = simState.Cdc.MustMarshalJSON(&keyshareGenesis) -} - -// RegisterStoreDecoder registers a decoder. -func (am AppModule) RegisterStoreDecoder(_ simtypes.StoreDecoderRegistry) {} - -// WeightedOperations returns the all the gov module operations with their respective weights. -func (am AppModule) WeightedOperations(simState module.SimulationState) []simtypes.WeightedOperation { - operations := make([]simtypes.WeightedOperation, 0) - - // this line is used by starport scaffolding # simapp/module/operation - - return operations -} - -// ProposalMsgs returns msgs used for governance proposals for simulations. -func (am AppModule) ProposalMsgs(simState module.SimulationState) []simtypes.WeightedProposalMsg { - return []simtypes.WeightedProposalMsg{ - // this line is used by starport scaffolding # simapp/module/OpMsg - } -} diff --git a/x/keyshare/simulation/helpers.go b/x/keyshare/simulation/helpers.go deleted file mode 100644 index 92c437c0..00000000 --- a/x/keyshare/simulation/helpers.go +++ /dev/null @@ -1,15 +0,0 @@ -package simulation - -import ( - sdk "github.com/cosmos/cosmos-sdk/types" - simtypes "github.com/cosmos/cosmos-sdk/types/simulation" -) - -// FindAccount find a specific address from an account list -func FindAccount(accs []simtypes.Account, address string) (simtypes.Account, bool) { - creator, err := sdk.AccAddressFromBech32(address) - if err != nil { - panic(err) - } - return simtypes.FindAccount(accs, creator) -} diff --git a/x/keyshare/types/codec.go b/x/keyshare/types/codec.go index 4a6cfffb..dd6f3e3d 100644 --- a/x/keyshare/types/codec.go +++ b/x/keyshare/types/codec.go @@ -2,6 +2,7 @@ package types import ( "bytes" + "github.com/cosmos/cosmos-sdk/codec" cdctypes "github.com/cosmos/cosmos-sdk/codec/types" sdk "github.com/cosmos/cosmos-sdk/types" @@ -35,6 +36,9 @@ func RegisterInterfaces(registry cdctypes.InterfaceRegistry) { registry.RegisterImplementations((*sdk.Msg)(nil), &MsgDeRegisterValidator{}, ) + registry.RegisterImplementations((*sdk.Msg)(nil), + &MsgSubmitEncryptedKeyshare{}, + ) // this line is used by starport scaffolding # 3 registry.RegisterImplementations((*sdk.Msg)(nil), diff --git a/x/keyshare/types/events_ibc.go b/x/keyshare/types/events_ibc.go index 47a8a7ce..31af829c 100644 --- a/x/keyshare/types/events_ibc.go +++ b/x/keyshare/types/events_ibc.go @@ -9,10 +9,13 @@ const ( AttributeKeyAck = "acknowledgement" AttributeKeyAckError = "error" - EventTypeRequestAggrKeysharePacket = "requestAggrKeyshare_packet" - EventTypeGetAggrKeysharePacket = "getAggrKeyshare_packet" - EventTypeAggrKeyshareDataPacket = "aggrKeyshareData_packet" - EventTypeCurrentKeysPacket = "currentKeys_packet" + EventTypeRequestAggrKeysharePacket = "requestAggrKeyshare_packet" + EventTypeRequestPrivateKeysharePacket = "requestPrivateKeyshare_packet" + EventTypeGetAggrKeysharePacket = "getAggrKeyshare_packet" + EventTypeGetEncryptedKeysharePacket = "getEncryptedKeyshare_packet" + EventTypeAggrKeyshareDataPacket = "aggrKeyshareData_packet" + EventTypeEncKeyshareDataPacket = "encryptedKeyshareData_packet" + EventTypeCurrentKeysPacket = "currentKeys_packet" AttributeKeyAckIdentity = "identity" AttributeKeyAckPubkey = "pubkey" diff --git a/x/keyshare/types/expected_keepers.go b/x/keyshare/types/expected_keepers.go index 0326031c..647f31fe 100644 --- a/x/keyshare/types/expected_keepers.go +++ b/x/keyshare/types/expected_keepers.go @@ -2,6 +2,7 @@ package types import ( "context" + sdkmath "cosmossdk.io/math" commontypes "github.com/Fairblock/fairyring/x/common/types" peptypes "github.com/Fairblock/fairyring/x/pep/types" @@ -79,6 +80,17 @@ type PepKeeper interface { SetReqQueueEntry(ctx context.Context, val commontypes.RequestAggrKeyshare) RemoveReqQueueEntry(ctx context.Context, reqID string) GetAllGenEncTxReqQueueEntry(ctx context.Context) (list []commontypes.RequestAggrKeyshare) + GetPrivateRequestQueueEntry(ctx context.Context, reqID string) (val commontypes.RequestPrivateKeyshare, found bool) + SetPrivateReqQueueEntry(ctx context.Context, val commontypes.RequestPrivateKeyshare) + RemovePrivateReqQueueEntry(ctx context.Context, reqID string) + GetAllPrivateReqQueueEntry(ctx context.Context) (list []commontypes.RequestPrivateKeyshare) + GetPrivateSignalQueueEntry(ctx context.Context, reqID string) (val commontypes.GetPrivateKeyshare, found bool) + SetPrivateSignalQueueEntry(ctx context.Context, val commontypes.GetPrivateKeyshare) + RemovePrivateSignalQueueEntry(ctx context.Context, reqID string) + GetAllPrivateSignalQueueEntry(ctx context.Context) (list []commontypes.GetPrivateKeyshare) + SetPrivateRequest(ctx context.Context, request peptypes.PrivateRequest) + GetPrivateRequest(ctx context.Context, reqID string) (val peptypes.PrivateRequest, found bool) + GetAllPrivateRequest(ctx context.Context) (list []peptypes.PrivateRequest) GetAggregatedKeyShare(ctx context.Context, height uint64) (val peptypes.AggregatedKeyShare, found bool) SetAggregatedKeyShare(ctx context.Context, aggregatedKeyShare peptypes.AggregatedKeyShare) GetLatestHeight(ctx context.Context) string diff --git a/x/keyshare/types/general_key_share.pb.go b/x/keyshare/types/general_key_share.pb.go index cb0c730b..a0aa23e7 100644 --- a/x/keyshare/types/general_key_share.pb.go +++ b/x/keyshare/types/general_key_share.pb.go @@ -114,8 +114,101 @@ func (m *GeneralKeyShare) GetReceivedBlockHeight() uint64 { return 0 } +type ValidatorEncryptedKeyShare struct { + Validator string `protobuf:"bytes,1,opt,name=validator,proto3" json:"validator,omitempty"` + Requester string `protobuf:"bytes,2,opt,name=requester,proto3" json:"requester,omitempty"` + KeyShare string `protobuf:"bytes,3,opt,name=keyShare,proto3" json:"keyShare,omitempty"` + KeyShareIndex uint64 `protobuf:"varint,4,opt,name=keyShareIndex,proto3" json:"keyShareIndex,omitempty"` + ReceivedTimestamp uint64 `protobuf:"varint,5,opt,name=receivedTimestamp,proto3" json:"receivedTimestamp,omitempty"` + ReceivedBlockHeight uint64 `protobuf:"varint,6,opt,name=receivedBlockHeight,proto3" json:"receivedBlockHeight,omitempty"` + Identity string `protobuf:"bytes,7,opt,name=identity,proto3" json:"identity,omitempty"` +} + +func (m *ValidatorEncryptedKeyShare) Reset() { *m = ValidatorEncryptedKeyShare{} } +func (m *ValidatorEncryptedKeyShare) String() string { return proto.CompactTextString(m) } +func (*ValidatorEncryptedKeyShare) ProtoMessage() {} +func (*ValidatorEncryptedKeyShare) Descriptor() ([]byte, []int) { + return fileDescriptor_05ce460a69fa2745, []int{1} +} +func (m *ValidatorEncryptedKeyShare) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *ValidatorEncryptedKeyShare) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_ValidatorEncryptedKeyShare.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *ValidatorEncryptedKeyShare) XXX_Merge(src proto.Message) { + xxx_messageInfo_ValidatorEncryptedKeyShare.Merge(m, src) +} +func (m *ValidatorEncryptedKeyShare) XXX_Size() int { + return m.Size() +} +func (m *ValidatorEncryptedKeyShare) XXX_DiscardUnknown() { + xxx_messageInfo_ValidatorEncryptedKeyShare.DiscardUnknown(m) +} + +var xxx_messageInfo_ValidatorEncryptedKeyShare proto.InternalMessageInfo + +func (m *ValidatorEncryptedKeyShare) GetValidator() string { + if m != nil { + return m.Validator + } + return "" +} + +func (m *ValidatorEncryptedKeyShare) GetRequester() string { + if m != nil { + return m.Requester + } + return "" +} + +func (m *ValidatorEncryptedKeyShare) GetKeyShare() string { + if m != nil { + return m.KeyShare + } + return "" +} + +func (m *ValidatorEncryptedKeyShare) GetKeyShareIndex() uint64 { + if m != nil { + return m.KeyShareIndex + } + return 0 +} + +func (m *ValidatorEncryptedKeyShare) GetReceivedTimestamp() uint64 { + if m != nil { + return m.ReceivedTimestamp + } + return 0 +} + +func (m *ValidatorEncryptedKeyShare) GetReceivedBlockHeight() uint64 { + if m != nil { + return m.ReceivedBlockHeight + } + return 0 +} + +func (m *ValidatorEncryptedKeyShare) GetIdentity() string { + if m != nil { + return m.Identity + } + return "" +} + func init() { proto.RegisterType((*GeneralKeyShare)(nil), "fairyring.keyshare.GeneralKeyShare") + proto.RegisterType((*ValidatorEncryptedKeyShare)(nil), "fairyring.keyshare.ValidatorEncryptedKeyShare") } func init() { @@ -123,25 +216,29 @@ func init() { } var fileDescriptor_05ce460a69fa2745 = []byte{ - // 285 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x6c, 0x90, 0x4f, 0x4b, 0xc3, 0x30, - 0x18, 0xc6, 0x97, 0x39, 0x3b, 0x17, 0x10, 0x31, 0x82, 0x04, 0x91, 0x30, 0xc4, 0xc3, 0x10, 0x69, - 0x05, 0xbf, 0xc1, 0x0e, 0xea, 0xf0, 0x36, 0x87, 0x07, 0x2f, 0x23, 0x6d, 0x5f, 0xdb, 0xd0, 0x3f, - 0x29, 0x69, 0x36, 0x96, 0xb3, 0x5f, 0xc0, 0x8f, 0xe5, 0x71, 0x47, 0x8f, 0xd2, 0x7e, 0x11, 0x59, - 0x5c, 0x57, 0x44, 0x6f, 0x79, 0x9e, 0xdf, 0x2f, 0xef, 0xe1, 0xc1, 0x57, 0xaf, 0x5c, 0x28, 0xa3, - 0x44, 0x1e, 0x79, 0x09, 0x98, 0x32, 0xe6, 0x0a, 0xbc, 0x08, 0x72, 0x50, 0x3c, 0x9d, 0x27, 0x60, - 0xe6, 0xb6, 0x71, 0x0b, 0x25, 0xb5, 0x24, 0x64, 0xe7, 0xba, 0x8d, 0x7b, 0xf1, 0xd6, 0xc5, 0x47, - 0xf7, 0x3f, 0xfe, 0x23, 0x98, 0xa7, 0x4d, 0x47, 0xce, 0xf1, 0x60, 0xc9, 0x53, 0x11, 0x72, 0x2d, - 0x15, 0x45, 0x43, 0x34, 0x1a, 0x4c, 0xdb, 0x82, 0x9c, 0x62, 0x47, 0x84, 0x33, 0x53, 0x00, 0xed, - 0x5a, 0xb4, 0x4d, 0x84, 0xe2, 0xbe, 0x08, 0x9f, 0x79, 0xba, 0x00, 0xba, 0x67, 0x41, 0x13, 0xc9, - 0x19, 0x3e, 0x48, 0xb6, 0xb7, 0x69, 0xcf, 0xa2, 0x5d, 0x26, 0x97, 0xf8, 0xb0, 0x79, 0x4f, 0xf2, - 0x10, 0x56, 0x74, 0x7f, 0x88, 0x46, 0xbd, 0xe9, 0xef, 0x92, 0x5c, 0xe3, 0x63, 0x05, 0x01, 0x88, - 0x25, 0x84, 0x33, 0x91, 0x41, 0xa9, 0x79, 0x56, 0x50, 0xc7, 0x9a, 0x7f, 0x01, 0xb9, 0xc1, 0x27, - 0x4d, 0x39, 0x4e, 0x65, 0x90, 0x3c, 0x80, 0x88, 0x62, 0x4d, 0xfb, 0xd6, 0xff, 0x0f, 0x8d, 0x27, - 0x1f, 0x15, 0x43, 0xeb, 0x8a, 0xa1, 0xaf, 0x8a, 0xa1, 0xf7, 0x9a, 0x75, 0xd6, 0x35, 0xeb, 0x7c, - 0xd6, 0xac, 0xf3, 0xe2, 0x45, 0x42, 0xc7, 0x0b, 0xdf, 0x0d, 0x64, 0xe6, 0xdd, 0x71, 0xa1, 0xfc, - 0xcd, 0x2f, 0xaf, 0x1d, 0x7d, 0xd5, 0xce, 0xae, 0x4d, 0x01, 0xa5, 0xef, 0xd8, 0xad, 0x6f, 0xbf, - 0x03, 0x00, 0x00, 0xff, 0xff, 0xcf, 0x07, 0x95, 0xb1, 0x99, 0x01, 0x00, 0x00, + // 348 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x94, 0x92, 0xcb, 0x6a, 0xf2, 0x40, + 0x14, 0xc7, 0x8d, 0x97, 0xf8, 0x65, 0xe0, 0xa3, 0x74, 0x0a, 0x65, 0x10, 0x19, 0x44, 0xba, 0x90, + 0x52, 0x4c, 0xa1, 0x6f, 0x20, 0xf4, 0x22, 0xdd, 0x59, 0x71, 0xd1, 0x8d, 0x8c, 0x99, 0xd3, 0x38, + 0x24, 0x26, 0xe9, 0x64, 0x14, 0x67, 0xdd, 0x17, 0xe8, 0xaa, 0xcf, 0xd4, 0xa5, 0xcb, 0x2e, 0x8b, + 0xbe, 0x48, 0x71, 0x6a, 0x0c, 0xd2, 0x96, 0xda, 0xdd, 0xfc, 0x2f, 0x1c, 0xe6, 0x77, 0x38, 0xe8, + 0xf4, 0x81, 0x09, 0xa9, 0xa5, 0x88, 0x7c, 0x37, 0x00, 0x9d, 0x8e, 0x99, 0x04, 0xd7, 0x87, 0x08, + 0x24, 0x0b, 0x87, 0x01, 0xe8, 0xa1, 0x71, 0xda, 0x89, 0x8c, 0x55, 0x8c, 0xf1, 0xb6, 0xdb, 0xce, + 0xba, 0xcd, 0xa7, 0x22, 0x3a, 0xb8, 0xfe, 0xec, 0xdf, 0x82, 0xbe, 0x5b, 0x7b, 0xb8, 0x8e, 0x9c, + 0x19, 0x0b, 0x05, 0x67, 0x2a, 0x96, 0xc4, 0x6a, 0x58, 0x2d, 0xa7, 0x97, 0x1b, 0xf8, 0x18, 0xd9, + 0x82, 0xf7, 0x75, 0x02, 0xa4, 0x68, 0xa2, 0x8d, 0xc2, 0x04, 0x55, 0x05, 0x1f, 0xb0, 0x70, 0x0a, + 0xa4, 0x64, 0x82, 0x4c, 0xe2, 0x1a, 0xfa, 0x17, 0x6c, 0x66, 0x93, 0xb2, 0x89, 0xb6, 0x1a, 0x9f, + 0xa0, 0xff, 0xd9, 0xbb, 0x1b, 0x71, 0x98, 0x93, 0x4a, 0xc3, 0x6a, 0x95, 0x7b, 0xbb, 0x26, 0x3e, + 0x43, 0x87, 0x12, 0x3c, 0x10, 0x33, 0xe0, 0x7d, 0x31, 0x81, 0x54, 0xb1, 0x49, 0x42, 0x6c, 0xd3, + 0xfc, 0x1a, 0xe0, 0x73, 0x74, 0x94, 0x99, 0x9d, 0x30, 0xf6, 0x82, 0x1b, 0x10, 0xfe, 0x58, 0x91, + 0xaa, 0xe9, 0x7f, 0x17, 0x35, 0x5f, 0x8a, 0xa8, 0x36, 0xc8, 0x08, 0x2f, 0x23, 0x4f, 0xea, 0x44, + 0x01, 0xdf, 0x73, 0x21, 0x75, 0xe4, 0x48, 0x78, 0x9c, 0x42, 0xaa, 0x40, 0x6e, 0x76, 0x92, 0x1b, + 0x3b, 0xf0, 0xa5, 0xdf, 0xe0, 0xcb, 0x7b, 0xc3, 0x57, 0xfe, 0x08, 0x6f, 0xff, 0x08, 0xbf, 0xfe, + 0xa1, 0xe0, 0x10, 0x29, 0xa1, 0xb4, 0xd9, 0x91, 0xd3, 0xdb, 0xea, 0x4e, 0xf7, 0x75, 0x49, 0xad, + 0xc5, 0x92, 0x5a, 0xef, 0x4b, 0x6a, 0x3d, 0xaf, 0x68, 0x61, 0xb1, 0xa2, 0x85, 0xb7, 0x15, 0x2d, + 0xdc, 0xbb, 0xbe, 0x50, 0xe3, 0xe9, 0xa8, 0xed, 0xc5, 0x13, 0xf7, 0x8a, 0x09, 0x39, 0x5a, 0x4f, + 0x74, 0xf3, 0x6b, 0x9c, 0xe7, 0xf7, 0xa8, 0x74, 0x02, 0xe9, 0xc8, 0x36, 0x47, 0x78, 0xf1, 0x11, + 0x00, 0x00, 0xff, 0xff, 0xb0, 0x19, 0x6e, 0x0c, 0xb2, 0x02, 0x00, 0x00, } func (m *GeneralKeyShare) Marshal() (dAtA []byte, err error) { @@ -210,6 +307,72 @@ func (m *GeneralKeyShare) MarshalToSizedBuffer(dAtA []byte) (int, error) { return len(dAtA) - i, nil } +func (m *ValidatorEncryptedKeyShare) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *ValidatorEncryptedKeyShare) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *ValidatorEncryptedKeyShare) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if len(m.Identity) > 0 { + i -= len(m.Identity) + copy(dAtA[i:], m.Identity) + i = encodeVarintGeneralKeyShare(dAtA, i, uint64(len(m.Identity))) + i-- + dAtA[i] = 0x3a + } + if m.ReceivedBlockHeight != 0 { + i = encodeVarintGeneralKeyShare(dAtA, i, uint64(m.ReceivedBlockHeight)) + i-- + dAtA[i] = 0x30 + } + if m.ReceivedTimestamp != 0 { + i = encodeVarintGeneralKeyShare(dAtA, i, uint64(m.ReceivedTimestamp)) + i-- + dAtA[i] = 0x28 + } + if m.KeyShareIndex != 0 { + i = encodeVarintGeneralKeyShare(dAtA, i, uint64(m.KeyShareIndex)) + i-- + dAtA[i] = 0x20 + } + if len(m.KeyShare) > 0 { + i -= len(m.KeyShare) + copy(dAtA[i:], m.KeyShare) + i = encodeVarintGeneralKeyShare(dAtA, i, uint64(len(m.KeyShare))) + i-- + dAtA[i] = 0x1a + } + if len(m.Requester) > 0 { + i -= len(m.Requester) + copy(dAtA[i:], m.Requester) + i = encodeVarintGeneralKeyShare(dAtA, i, uint64(len(m.Requester))) + i-- + dAtA[i] = 0x12 + } + if len(m.Validator) > 0 { + i -= len(m.Validator) + copy(dAtA[i:], m.Validator) + i = encodeVarintGeneralKeyShare(dAtA, i, uint64(len(m.Validator))) + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + func encodeVarintGeneralKeyShare(dAtA []byte, offset int, v uint64) int { offset -= sovGeneralKeyShare(v) base := offset @@ -255,6 +418,40 @@ func (m *GeneralKeyShare) Size() (n int) { return n } +func (m *ValidatorEncryptedKeyShare) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.Validator) + if l > 0 { + n += 1 + l + sovGeneralKeyShare(uint64(l)) + } + l = len(m.Requester) + if l > 0 { + n += 1 + l + sovGeneralKeyShare(uint64(l)) + } + l = len(m.KeyShare) + if l > 0 { + n += 1 + l + sovGeneralKeyShare(uint64(l)) + } + if m.KeyShareIndex != 0 { + n += 1 + sovGeneralKeyShare(uint64(m.KeyShareIndex)) + } + if m.ReceivedTimestamp != 0 { + n += 1 + sovGeneralKeyShare(uint64(m.ReceivedTimestamp)) + } + if m.ReceivedBlockHeight != 0 { + n += 1 + sovGeneralKeyShare(uint64(m.ReceivedBlockHeight)) + } + l = len(m.Identity) + if l > 0 { + n += 1 + l + sovGeneralKeyShare(uint64(l)) + } + return n +} + func sovGeneralKeyShare(x uint64) (n int) { return (math_bits.Len64(x|1) + 6) / 7 } @@ -496,6 +693,241 @@ func (m *GeneralKeyShare) Unmarshal(dAtA []byte) error { } return nil } +func (m *ValidatorEncryptedKeyShare) Unmarshal(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGeneralKeyShare + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: ValidatorEncryptedKeyShare: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: ValidatorEncryptedKeyShare: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Validator", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGeneralKeyShare + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthGeneralKeyShare + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthGeneralKeyShare + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Validator = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Requester", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGeneralKeyShare + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthGeneralKeyShare + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthGeneralKeyShare + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Requester = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field KeyShare", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGeneralKeyShare + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthGeneralKeyShare + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthGeneralKeyShare + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.KeyShare = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 4: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field KeyShareIndex", wireType) + } + m.KeyShareIndex = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGeneralKeyShare + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.KeyShareIndex |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 5: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field ReceivedTimestamp", wireType) + } + m.ReceivedTimestamp = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGeneralKeyShare + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.ReceivedTimestamp |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 6: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field ReceivedBlockHeight", wireType) + } + m.ReceivedBlockHeight = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGeneralKeyShare + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.ReceivedBlockHeight |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 7: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Identity", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGeneralKeyShare + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthGeneralKeyShare + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthGeneralKeyShare + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Identity = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipGeneralKeyShare(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthGeneralKeyShare + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} func skipGeneralKeyShare(dAtA []byte) (n int, err error) { l := len(dAtA) iNdEx := 0 diff --git a/x/keyshare/types/key_general_key_share.go b/x/keyshare/types/key_general_key_share.go index 0b866282..214fada6 100644 --- a/x/keyshare/types/key_general_key_share.go +++ b/x/keyshare/types/key_general_key_share.go @@ -6,7 +6,8 @@ var _ binary.ByteOrder const ( // GeneralKeyShareKeyPrefix is the prefix to retrieve all GeneralKeyShare - GeneralKeyShareKeyPrefix = "GeneralKeyShare/value/" + GeneralKeyShareKeyPrefix = "GeneralKeyShare/value/" + EncryptedKeyShareKeyPrefix = "EncryptedKeyShare/value/" ) // GeneralKeyShareKey returns the store key to retrieve a GeneralKeyShare from the index fields @@ -31,3 +32,26 @@ func GeneralKeyShareKey( return key } + +// EncryptedKeyShareKey returns the store key to retrieve a GeneralKeyShare from the index fields +func EncryptedlKeyShareKey( + validator string, + identity string, + requester string, +) []byte { + var key []byte + + validatorBytes := []byte(validator) + key = append(key, validatorBytes...) + key = append(key, []byte("/")...) + + identityBytes := []byte(identity) + key = append(key, identityBytes...) + key = append(key, []byte("/")...) + + requesterBytes := []byte(requester) + key = append(key, requesterBytes...) + key = append(key, []byte("/")...) + + return key +} diff --git a/x/keyshare/types/key_key_share_request.go b/x/keyshare/types/key_key_share_request.go index f35304fe..0f89b3e9 100644 --- a/x/keyshare/types/key_key_share_request.go +++ b/x/keyshare/types/key_key_share_request.go @@ -9,7 +9,8 @@ var _ binary.ByteOrder const ( // KeyShareRequestKeyPrefix is the prefix to retrieve all Keyshare requests - KeyShareRequestKeyPrefix = "KeyshareRequest/value/" + KeyShareRequestKeyPrefix = "KeyshareRequest/value/" + PrivateKeyShareRequestKeyPrefix = "PrivateKeyshareRequest/value/" ) func IdentityFromRequestCount( diff --git a/x/keyshare/types/keys.go b/x/keyshare/types/keys.go index d1b7c204..f032996d 100644 --- a/x/keyshare/types/keys.go +++ b/x/keyshare/types/keys.go @@ -57,12 +57,16 @@ const ( ) const ( - StartSendGeneralKeyShareEventType = "start-send-general-keyshare" - StartSendGeneralKeyShareEventIdentity = "identity" + StartSendGeneralKeyShareEventType = "start-send-general-keyshare" + StartSendEncryptedKeyShareEventType = "start-send-encrypted-keyshare" + StartSendGeneralKeyShareEventIdentity = "identity" + StartSendEncryptedKeyShareEventRequester = "requester" + StartSendEncryptedKeyShareEventPubkey = "secp256k1-pubkey" ) const ( SendGeneralKeyshareEventType = "keyshare-sent" + SendEncryptedKeyshareEventType = "encrypted-keyshare-sent" SendGeneralKeyshareEventValidator = "validator" SendGeneralKeyshareEventReceivedBlockHeight = "received-height" SendGeneralKeyshareEventMessage = "message" diff --git a/x/keyshare/types/msg_latest_pub_key.go b/x/keyshare/types/msg_latest_pub_key.go index 5e4f1e34..169bd099 100644 --- a/x/keyshare/types/msg_latest_pub_key.go +++ b/x/keyshare/types/msg_latest_pub_key.go @@ -1,9 +1,10 @@ package types import ( - sdkerrors "cosmossdk.io/errors" "encoding/base64" "encoding/hex" + + sdkerrors "cosmossdk.io/errors" sdk "github.com/cosmos/cosmos-sdk/types" cosmoserror "github.com/cosmos/cosmos-sdk/types/errors" ) diff --git a/x/keyshare/types/msg_override_pub_key.go b/x/keyshare/types/msg_override_pub_key.go index 70fc4e5c..b47ac89c 100644 --- a/x/keyshare/types/msg_override_pub_key.go +++ b/x/keyshare/types/msg_override_pub_key.go @@ -1,9 +1,10 @@ package types import ( - sdkerrors "cosmossdk.io/errors" "encoding/base64" "encoding/hex" + + sdkerrors "cosmossdk.io/errors" sdk "github.com/cosmos/cosmos-sdk/types" cosmoserror "github.com/cosmos/cosmos-sdk/types/errors" ) diff --git a/x/keyshare/types/msg_send_key_share.go b/x/keyshare/types/msg_send_key_share.go index e6d69eb6..305f2746 100644 --- a/x/keyshare/types/msg_send_key_share.go +++ b/x/keyshare/types/msg_send_key_share.go @@ -1,8 +1,9 @@ package types import ( - sdkerrors "cosmossdk.io/errors" "encoding/hex" + + sdkerrors "cosmossdk.io/errors" sdk "github.com/cosmos/cosmos-sdk/types" cosmoserror "github.com/cosmos/cosmos-sdk/types/errors" ) diff --git a/x/keyshare/types/msg_submit_encrypted_keyshare.go b/x/keyshare/types/msg_submit_encrypted_keyshare.go new file mode 100644 index 00000000..e2c1e599 --- /dev/null +++ b/x/keyshare/types/msg_submit_encrypted_keyshare.go @@ -0,0 +1,40 @@ +package types + +import ( + "errors" + + errorsmod "cosmossdk.io/errors" + sdk "github.com/cosmos/cosmos-sdk/types" + sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" +) + +var _ sdk.Msg = &MsgSubmitEncryptedKeyshare{} + +func NewMsgSubmitEncryptedKeyshare( + creator string, + identity string, + requester string, + encryptedKeyshare string, + keyshareIndex uint64, +) *MsgSubmitEncryptedKeyshare { + return &MsgSubmitEncryptedKeyshare{ + Creator: creator, + Identity: identity, + EncryptedKeyshare: encryptedKeyshare, + KeyShareIndex: keyshareIndex, + Requester: requester, + } +} + +func (msg *MsgSubmitEncryptedKeyshare) ValidateBasic() error { + _, err := sdk.AccAddressFromBech32(msg.Creator) + if err != nil { + return errorsmod.Wrapf(sdkerrors.ErrInvalidAddress, "invalid creator address (%s)", err) + } + + if msg.Identity == "" || msg.EncryptedKeyshare == "" || msg.Requester == "" { + return errors.New("identity, encryptedKeyshares and requester cannot be blank") + } + + return nil +} diff --git a/x/keyshare/types/msg_submit_encrypted_keyshare_test.go b/x/keyshare/types/msg_submit_encrypted_keyshare_test.go new file mode 100644 index 00000000..4bd29160 --- /dev/null +++ b/x/keyshare/types/msg_submit_encrypted_keyshare_test.go @@ -0,0 +1,40 @@ +package types + +import ( + "testing" + + "github.com/Fairblock/fairyring/testutil/sample" + sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" + "github.com/stretchr/testify/require" +) + +func TestMsgSubmitEncryptedKeyshare_ValidateBasic(t *testing.T) { + tests := []struct { + name string + msg MsgSubmitEncryptedKeyshare + err error + }{ + { + name: "invalid address", + msg: MsgSubmitEncryptedKeyshare{ + Creator: "invalid_address", + }, + err: sdkerrors.ErrInvalidAddress, + }, { + name: "valid address", + msg: MsgSubmitEncryptedKeyshare{ + Creator: sample.AccAddress(), + }, + }, + } + for _, tt := range tests { + t.Run(tt.name, func(t *testing.T) { + err := tt.msg.ValidateBasic() + if tt.err != nil { + require.ErrorIs(t, err, tt.err) + return + } + require.NoError(t, err) + }) + } +} diff --git a/x/keyshare/types/packet.pb.go b/x/keyshare/types/packet.pb.go index 95140a37..d6e96bec 100644 --- a/x/keyshare/types/packet.pb.go +++ b/x/keyshare/types/packet.pb.go @@ -34,7 +34,10 @@ type KeysharePacketData struct { // *KeysharePacketData_RequestAggrKeysharePacket // *KeysharePacketData_GetAggrKeysharePacket // *KeysharePacketData_AggrKeyshareDataPacket + // *KeysharePacketData_EncryptedKeysharesPacketData // *KeysharePacketData_CurrentKeysPacket + // *KeysharePacketData_RequestPrivKeysharePacket + // *KeysharePacketData_GetPrivateKeysharePacket Packet isKeysharePacketData_Packet `protobuf_oneof:"packet"` } @@ -89,15 +92,27 @@ type KeysharePacketData_GetAggrKeysharePacket struct { type KeysharePacketData_AggrKeyshareDataPacket struct { AggrKeyshareDataPacket *AggrKeyshareDataPacketData `protobuf:"bytes,4,opt,name=aggrKeyshareDataPacket,proto3,oneof" json:"aggrKeyshareDataPacket,omitempty"` } +type KeysharePacketData_EncryptedKeysharesPacketData struct { + EncryptedKeysharesPacketData *EncryptedKeysharesPacketData `protobuf:"bytes,5,opt,name=encryptedKeysharesPacketData,proto3,oneof" json:"encryptedKeysharesPacketData,omitempty"` +} type KeysharePacketData_CurrentKeysPacket struct { - CurrentKeysPacket *CurrentKeysPacketData `protobuf:"bytes,5,opt,name=currentKeysPacket,proto3,oneof" json:"currentKeysPacket,omitempty"` + CurrentKeysPacket *CurrentKeysPacketData `protobuf:"bytes,6,opt,name=currentKeysPacket,proto3,oneof" json:"currentKeysPacket,omitempty"` +} +type KeysharePacketData_RequestPrivKeysharePacket struct { + RequestPrivKeysharePacket *RequestPrivateKeysharePacketData `protobuf:"bytes,7,opt,name=request_priv_keyshare_packet,json=requestPrivKeysharePacket,proto3,oneof" json:"request_priv_keyshare_packet,omitempty"` +} +type KeysharePacketData_GetPrivateKeysharePacket struct { + GetPrivateKeysharePacket *GetPrivateKeysharePacketData `protobuf:"bytes,8,opt,name=getPrivateKeysharePacket,proto3,oneof" json:"getPrivateKeysharePacket,omitempty"` } -func (*KeysharePacketData_NoData) isKeysharePacketData_Packet() {} -func (*KeysharePacketData_RequestAggrKeysharePacket) isKeysharePacketData_Packet() {} -func (*KeysharePacketData_GetAggrKeysharePacket) isKeysharePacketData_Packet() {} -func (*KeysharePacketData_AggrKeyshareDataPacket) isKeysharePacketData_Packet() {} -func (*KeysharePacketData_CurrentKeysPacket) isKeysharePacketData_Packet() {} +func (*KeysharePacketData_NoData) isKeysharePacketData_Packet() {} +func (*KeysharePacketData_RequestAggrKeysharePacket) isKeysharePacketData_Packet() {} +func (*KeysharePacketData_GetAggrKeysharePacket) isKeysharePacketData_Packet() {} +func (*KeysharePacketData_AggrKeyshareDataPacket) isKeysharePacketData_Packet() {} +func (*KeysharePacketData_EncryptedKeysharesPacketData) isKeysharePacketData_Packet() {} +func (*KeysharePacketData_CurrentKeysPacket) isKeysharePacketData_Packet() {} +func (*KeysharePacketData_RequestPrivKeysharePacket) isKeysharePacketData_Packet() {} +func (*KeysharePacketData_GetPrivateKeysharePacket) isKeysharePacketData_Packet() {} func (m *KeysharePacketData) GetPacket() isKeysharePacketData_Packet { if m != nil { @@ -134,6 +149,13 @@ func (m *KeysharePacketData) GetAggrKeyshareDataPacket() *AggrKeyshareDataPacket return nil } +func (m *KeysharePacketData) GetEncryptedKeysharesPacketData() *EncryptedKeysharesPacketData { + if x, ok := m.GetPacket().(*KeysharePacketData_EncryptedKeysharesPacketData); ok { + return x.EncryptedKeysharesPacketData + } + return nil +} + func (m *KeysharePacketData) GetCurrentKeysPacket() *CurrentKeysPacketData { if x, ok := m.GetPacket().(*KeysharePacketData_CurrentKeysPacket); ok { return x.CurrentKeysPacket @@ -141,6 +163,20 @@ func (m *KeysharePacketData) GetCurrentKeysPacket() *CurrentKeysPacketData { return nil } +func (m *KeysharePacketData) GetRequestPrivKeysharePacket() *RequestPrivateKeysharePacketData { + if x, ok := m.GetPacket().(*KeysharePacketData_RequestPrivKeysharePacket); ok { + return x.RequestPrivKeysharePacket + } + return nil +} + +func (m *KeysharePacketData) GetGetPrivateKeysharePacket() *GetPrivateKeysharePacketData { + if x, ok := m.GetPacket().(*KeysharePacketData_GetPrivateKeysharePacket); ok { + return x.GetPrivateKeysharePacket + } + return nil +} + // XXX_OneofWrappers is for the internal use of the proto package. func (*KeysharePacketData) XXX_OneofWrappers() []interface{} { return []interface{}{ @@ -148,7 +184,10 @@ func (*KeysharePacketData) XXX_OneofWrappers() []interface{} { (*KeysharePacketData_RequestAggrKeysharePacket)(nil), (*KeysharePacketData_GetAggrKeysharePacket)(nil), (*KeysharePacketData_AggrKeyshareDataPacket)(nil), + (*KeysharePacketData_EncryptedKeysharesPacketData)(nil), (*KeysharePacketData_CurrentKeysPacket)(nil), + (*KeysharePacketData_RequestPrivKeysharePacket)(nil), + (*KeysharePacketData_GetPrivateKeysharePacket)(nil), } } @@ -290,6 +329,110 @@ func (*RequestAggrKeysharePacketData) XXX_OneofWrappers() []interface{} { } } +type RequestPrivateKeysharePacketData struct { + Requester string `protobuf:"bytes,1,opt,name=requester,proto3" json:"requester,omitempty"` + RequestId string `protobuf:"bytes,2,opt,name=request_id,json=requestId,proto3" json:"request_id,omitempty"` +} + +func (m *RequestPrivateKeysharePacketData) Reset() { *m = RequestPrivateKeysharePacketData{} } +func (m *RequestPrivateKeysharePacketData) String() string { return proto.CompactTextString(m) } +func (*RequestPrivateKeysharePacketData) ProtoMessage() {} +func (*RequestPrivateKeysharePacketData) Descriptor() ([]byte, []int) { + return fileDescriptor_220841e1bebf3b1b, []int{3} +} +func (m *RequestPrivateKeysharePacketData) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *RequestPrivateKeysharePacketData) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_RequestPrivateKeysharePacketData.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *RequestPrivateKeysharePacketData) XXX_Merge(src proto.Message) { + xxx_messageInfo_RequestPrivateKeysharePacketData.Merge(m, src) +} +func (m *RequestPrivateKeysharePacketData) XXX_Size() int { + return m.Size() +} +func (m *RequestPrivateKeysharePacketData) XXX_DiscardUnknown() { + xxx_messageInfo_RequestPrivateKeysharePacketData.DiscardUnknown(m) +} + +var xxx_messageInfo_RequestPrivateKeysharePacketData proto.InternalMessageInfo + +func (m *RequestPrivateKeysharePacketData) GetRequester() string { + if m != nil { + return m.Requester + } + return "" +} + +func (m *RequestPrivateKeysharePacketData) GetRequestId() string { + if m != nil { + return m.RequestId + } + return "" +} + +type RequestPrivateKeysharePacketAck struct { + Identity string `protobuf:"bytes,1,opt,name=identity,proto3" json:"identity,omitempty"` + Pubkey string `protobuf:"bytes,2,opt,name=pubkey,proto3" json:"pubkey,omitempty"` +} + +func (m *RequestPrivateKeysharePacketAck) Reset() { *m = RequestPrivateKeysharePacketAck{} } +func (m *RequestPrivateKeysharePacketAck) String() string { return proto.CompactTextString(m) } +func (*RequestPrivateKeysharePacketAck) ProtoMessage() {} +func (*RequestPrivateKeysharePacketAck) Descriptor() ([]byte, []int) { + return fileDescriptor_220841e1bebf3b1b, []int{4} +} +func (m *RequestPrivateKeysharePacketAck) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *RequestPrivateKeysharePacketAck) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_RequestPrivateKeysharePacketAck.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *RequestPrivateKeysharePacketAck) XXX_Merge(src proto.Message) { + xxx_messageInfo_RequestPrivateKeysharePacketAck.Merge(m, src) +} +func (m *RequestPrivateKeysharePacketAck) XXX_Size() int { + return m.Size() +} +func (m *RequestPrivateKeysharePacketAck) XXX_DiscardUnknown() { + xxx_messageInfo_RequestPrivateKeysharePacketAck.DiscardUnknown(m) +} + +var xxx_messageInfo_RequestPrivateKeysharePacketAck proto.InternalMessageInfo + +func (m *RequestPrivateKeysharePacketAck) GetIdentity() string { + if m != nil { + return m.Identity + } + return "" +} + +func (m *RequestPrivateKeysharePacketAck) GetPubkey() string { + if m != nil { + return m.Pubkey + } + return "" +} + // RequestAggrKeysharePacketAck defines a struct for the packet acknowledgment type RequestAggrKeysharePacketAck struct { Identity string `protobuf:"bytes,1,opt,name=identity,proto3" json:"identity,omitempty"` @@ -300,7 +443,7 @@ func (m *RequestAggrKeysharePacketAck) Reset() { *m = RequestAggrKeyshar func (m *RequestAggrKeysharePacketAck) String() string { return proto.CompactTextString(m) } func (*RequestAggrKeysharePacketAck) ProtoMessage() {} func (*RequestAggrKeysharePacketAck) Descriptor() ([]byte, []int) { - return fileDescriptor_220841e1bebf3b1b, []int{3} + return fileDescriptor_220841e1bebf3b1b, []int{5} } func (m *RequestAggrKeysharePacketAck) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -352,7 +495,7 @@ func (m *GetAggrKeysharePacketData) Reset() { *m = GetAggrKeysharePacket func (m *GetAggrKeysharePacketData) String() string { return proto.CompactTextString(m) } func (*GetAggrKeysharePacketData) ProtoMessage() {} func (*GetAggrKeysharePacketData) Descriptor() ([]byte, []int) { - return fileDescriptor_220841e1bebf3b1b, []int{4} + return fileDescriptor_220841e1bebf3b1b, []int{6} } func (m *GetAggrKeysharePacketData) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -396,7 +539,7 @@ func (m *GetAggrKeysharePacketAck) Reset() { *m = GetAggrKeysharePacketA func (m *GetAggrKeysharePacketAck) String() string { return proto.CompactTextString(m) } func (*GetAggrKeysharePacketAck) ProtoMessage() {} func (*GetAggrKeysharePacketAck) Descriptor() ([]byte, []int) { - return fileDescriptor_220841e1bebf3b1b, []int{5} + return fileDescriptor_220841e1bebf3b1b, []int{7} } func (m *GetAggrKeysharePacketAck) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -425,6 +568,104 @@ func (m *GetAggrKeysharePacketAck) XXX_DiscardUnknown() { var xxx_messageInfo_GetAggrKeysharePacketAck proto.InternalMessageInfo +// GetPrivateKeysharePacketData defines a struct for the packet payload +type GetPrivateKeysharePacketData struct { + Identity string `protobuf:"bytes,1,opt,name=identity,proto3" json:"identity,omitempty"` + Requester string `protobuf:"bytes,2,opt,name=requester,proto3" json:"requester,omitempty"` + SecpPubkey string `protobuf:"bytes,3,opt,name=secp_pubkey,json=secpPubkey,proto3" json:"secp_pubkey,omitempty"` +} + +func (m *GetPrivateKeysharePacketData) Reset() { *m = GetPrivateKeysharePacketData{} } +func (m *GetPrivateKeysharePacketData) String() string { return proto.CompactTextString(m) } +func (*GetPrivateKeysharePacketData) ProtoMessage() {} +func (*GetPrivateKeysharePacketData) Descriptor() ([]byte, []int) { + return fileDescriptor_220841e1bebf3b1b, []int{8} +} +func (m *GetPrivateKeysharePacketData) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *GetPrivateKeysharePacketData) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_GetPrivateKeysharePacketData.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *GetPrivateKeysharePacketData) XXX_Merge(src proto.Message) { + xxx_messageInfo_GetPrivateKeysharePacketData.Merge(m, src) +} +func (m *GetPrivateKeysharePacketData) XXX_Size() int { + return m.Size() +} +func (m *GetPrivateKeysharePacketData) XXX_DiscardUnknown() { + xxx_messageInfo_GetPrivateKeysharePacketData.DiscardUnknown(m) +} + +var xxx_messageInfo_GetPrivateKeysharePacketData proto.InternalMessageInfo + +func (m *GetPrivateKeysharePacketData) GetIdentity() string { + if m != nil { + return m.Identity + } + return "" +} + +func (m *GetPrivateKeysharePacketData) GetRequester() string { + if m != nil { + return m.Requester + } + return "" +} + +func (m *GetPrivateKeysharePacketData) GetSecpPubkey() string { + if m != nil { + return m.SecpPubkey + } + return "" +} + +// GetPrivateKeysharePacketAck defines a struct for the packet acknowledgment +type GetPrivateKeysharePacketAck struct { +} + +func (m *GetPrivateKeysharePacketAck) Reset() { *m = GetPrivateKeysharePacketAck{} } +func (m *GetPrivateKeysharePacketAck) String() string { return proto.CompactTextString(m) } +func (*GetPrivateKeysharePacketAck) ProtoMessage() {} +func (*GetPrivateKeysharePacketAck) Descriptor() ([]byte, []int) { + return fileDescriptor_220841e1bebf3b1b, []int{9} +} +func (m *GetPrivateKeysharePacketAck) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *GetPrivateKeysharePacketAck) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_GetPrivateKeysharePacketAck.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *GetPrivateKeysharePacketAck) XXX_Merge(src proto.Message) { + xxx_messageInfo_GetPrivateKeysharePacketAck.Merge(m, src) +} +func (m *GetPrivateKeysharePacketAck) XXX_Size() int { + return m.Size() +} +func (m *GetPrivateKeysharePacketAck) XXX_DiscardUnknown() { + xxx_messageInfo_GetPrivateKeysharePacketAck.DiscardUnknown(m) +} + +var xxx_messageInfo_GetPrivateKeysharePacketAck proto.InternalMessageInfo + // AggrKeyshareDataPacketData defines a struct for the packet payload type AggrKeyshareDataPacketData struct { Identity string `protobuf:"bytes,1,opt,name=identity,proto3" json:"identity,omitempty"` @@ -440,7 +681,7 @@ func (m *AggrKeyshareDataPacketData) Reset() { *m = AggrKeyshareDataPack func (m *AggrKeyshareDataPacketData) String() string { return proto.CompactTextString(m) } func (*AggrKeyshareDataPacketData) ProtoMessage() {} func (*AggrKeyshareDataPacketData) Descriptor() ([]byte, []int) { - return fileDescriptor_220841e1bebf3b1b, []int{6} + return fileDescriptor_220841e1bebf3b1b, []int{10} } func (m *AggrKeyshareDataPacketData) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -526,7 +767,7 @@ func (m *AggrKeyshareDataPacketAck) Reset() { *m = AggrKeyshareDataPacke func (m *AggrKeyshareDataPacketAck) String() string { return proto.CompactTextString(m) } func (*AggrKeyshareDataPacketAck) ProtoMessage() {} func (*AggrKeyshareDataPacketAck) Descriptor() ([]byte, []int) { - return fileDescriptor_220841e1bebf3b1b, []int{7} + return fileDescriptor_220841e1bebf3b1b, []int{11} } func (m *AggrKeyshareDataPacketAck) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -555,6 +796,110 @@ func (m *AggrKeyshareDataPacketAck) XXX_DiscardUnknown() { var xxx_messageInfo_AggrKeyshareDataPacketAck proto.InternalMessageInfo +type EncryptedKeysharesPacketData struct { + Identity string `protobuf:"bytes,1,opt,name=identity,proto3" json:"identity,omitempty"` + Pubkey string `protobuf:"bytes,2,opt,name=pubkey,proto3" json:"pubkey,omitempty"` + RequestId string `protobuf:"bytes,3,opt,name=request_id,json=requestId,proto3" json:"request_id,omitempty"` + EncryptedKeyshares []*types.EncryptedKeyshare `protobuf:"bytes,4,rep,name=encrypted_keyshares,json=encryptedKeyshares,proto3" json:"encrypted_keyshares,omitempty"` +} + +func (m *EncryptedKeysharesPacketData) Reset() { *m = EncryptedKeysharesPacketData{} } +func (m *EncryptedKeysharesPacketData) String() string { return proto.CompactTextString(m) } +func (*EncryptedKeysharesPacketData) ProtoMessage() {} +func (*EncryptedKeysharesPacketData) Descriptor() ([]byte, []int) { + return fileDescriptor_220841e1bebf3b1b, []int{12} +} +func (m *EncryptedKeysharesPacketData) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *EncryptedKeysharesPacketData) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_EncryptedKeysharesPacketData.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *EncryptedKeysharesPacketData) XXX_Merge(src proto.Message) { + xxx_messageInfo_EncryptedKeysharesPacketData.Merge(m, src) +} +func (m *EncryptedKeysharesPacketData) XXX_Size() int { + return m.Size() +} +func (m *EncryptedKeysharesPacketData) XXX_DiscardUnknown() { + xxx_messageInfo_EncryptedKeysharesPacketData.DiscardUnknown(m) +} + +var xxx_messageInfo_EncryptedKeysharesPacketData proto.InternalMessageInfo + +func (m *EncryptedKeysharesPacketData) GetIdentity() string { + if m != nil { + return m.Identity + } + return "" +} + +func (m *EncryptedKeysharesPacketData) GetPubkey() string { + if m != nil { + return m.Pubkey + } + return "" +} + +func (m *EncryptedKeysharesPacketData) GetRequestId() string { + if m != nil { + return m.RequestId + } + return "" +} + +func (m *EncryptedKeysharesPacketData) GetEncryptedKeyshares() []*types.EncryptedKeyshare { + if m != nil { + return m.EncryptedKeyshares + } + return nil +} + +type EncryptedKeysharesPacketAck struct { +} + +func (m *EncryptedKeysharesPacketAck) Reset() { *m = EncryptedKeysharesPacketAck{} } +func (m *EncryptedKeysharesPacketAck) String() string { return proto.CompactTextString(m) } +func (*EncryptedKeysharesPacketAck) ProtoMessage() {} +func (*EncryptedKeysharesPacketAck) Descriptor() ([]byte, []int) { + return fileDescriptor_220841e1bebf3b1b, []int{13} +} +func (m *EncryptedKeysharesPacketAck) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *EncryptedKeysharesPacketAck) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_EncryptedKeysharesPacketAck.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *EncryptedKeysharesPacketAck) XXX_Merge(src proto.Message) { + xxx_messageInfo_EncryptedKeysharesPacketAck.Merge(m, src) +} +func (m *EncryptedKeysharesPacketAck) XXX_Size() int { + return m.Size() +} +func (m *EncryptedKeysharesPacketAck) XXX_DiscardUnknown() { + xxx_messageInfo_EncryptedKeysharesPacketAck.DiscardUnknown(m) +} + +var xxx_messageInfo_EncryptedKeysharesPacketAck proto.InternalMessageInfo + // CurrentKeysPacketData defines a struct for the packet payload type CurrentKeysPacketData struct { } @@ -563,7 +908,7 @@ func (m *CurrentKeysPacketData) Reset() { *m = CurrentKeysPacketData{} } func (m *CurrentKeysPacketData) String() string { return proto.CompactTextString(m) } func (*CurrentKeysPacketData) ProtoMessage() {} func (*CurrentKeysPacketData) Descriptor() ([]byte, []int) { - return fileDescriptor_220841e1bebf3b1b, []int{8} + return fileDescriptor_220841e1bebf3b1b, []int{14} } func (m *CurrentKeysPacketData) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -602,7 +947,7 @@ func (m *CurrentKeysPacketAck) Reset() { *m = CurrentKeysPacketAck{} } func (m *CurrentKeysPacketAck) String() string { return proto.CompactTextString(m) } func (*CurrentKeysPacketAck) ProtoMessage() {} func (*CurrentKeysPacketAck) Descriptor() ([]byte, []int) { - return fileDescriptor_220841e1bebf3b1b, []int{9} + return fileDescriptor_220841e1bebf3b1b, []int{15} } func (m *CurrentKeysPacketAck) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -649,11 +994,17 @@ func init() { proto.RegisterType((*KeysharePacketData)(nil), "fairyring.keyshare.KeysharePacketData") proto.RegisterType((*NoData)(nil), "fairyring.keyshare.NoData") proto.RegisterType((*RequestAggrKeysharePacketData)(nil), "fairyring.keyshare.RequestAggrKeysharePacketData") + proto.RegisterType((*RequestPrivateKeysharePacketData)(nil), "fairyring.keyshare.RequestPrivateKeysharePacketData") + proto.RegisterType((*RequestPrivateKeysharePacketAck)(nil), "fairyring.keyshare.RequestPrivateKeysharePacketAck") proto.RegisterType((*RequestAggrKeysharePacketAck)(nil), "fairyring.keyshare.RequestAggrKeysharePacketAck") proto.RegisterType((*GetAggrKeysharePacketData)(nil), "fairyring.keyshare.GetAggrKeysharePacketData") proto.RegisterType((*GetAggrKeysharePacketAck)(nil), "fairyring.keyshare.GetAggrKeysharePacketAck") + proto.RegisterType((*GetPrivateKeysharePacketData)(nil), "fairyring.keyshare.GetPrivateKeysharePacketData") + proto.RegisterType((*GetPrivateKeysharePacketAck)(nil), "fairyring.keyshare.GetPrivateKeysharePacketAck") proto.RegisterType((*AggrKeyshareDataPacketData)(nil), "fairyring.keyshare.AggrKeyshareDataPacketData") proto.RegisterType((*AggrKeyshareDataPacketAck)(nil), "fairyring.keyshare.AggrKeyshareDataPacketAck") + proto.RegisterType((*EncryptedKeysharesPacketData)(nil), "fairyring.keyshare.EncryptedKeysharesPacketData") + proto.RegisterType((*EncryptedKeysharesPacketAck)(nil), "fairyring.keyshare.EncryptedKeysharesPacketAck") proto.RegisterType((*CurrentKeysPacketData)(nil), "fairyring.keyshare.CurrentKeysPacketData") proto.RegisterType((*CurrentKeysPacketAck)(nil), "fairyring.keyshare.CurrentKeysPacketAck") } @@ -661,48 +1012,59 @@ func init() { func init() { proto.RegisterFile("fairyring/keyshare/packet.proto", fileDescriptor_220841e1bebf3b1b) } var fileDescriptor_220841e1bebf3b1b = []byte{ - // 646 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x9c, 0x55, 0xcb, 0x6e, 0xd3, 0x4c, - 0x14, 0x8e, 0xdb, 0x34, 0x6d, 0x4e, 0xff, 0x1f, 0xc4, 0xa8, 0x2d, 0x49, 0x68, 0x9d, 0xd6, 0xdd, - 0x94, 0x05, 0xb6, 0xb8, 0x48, 0x2c, 0x51, 0x42, 0x05, 0x89, 0x22, 0xa1, 0xe2, 0x1d, 0x6c, 0xa2, - 0x89, 0x7d, 0xea, 0x8c, 0x92, 0x66, 0xd2, 0xc9, 0x18, 0xe1, 0xb7, 0x60, 0xd9, 0x47, 0x62, 0x59, - 0x76, 0xec, 0x40, 0xed, 0x0b, 0x20, 0xf1, 0x02, 0x68, 0xc6, 0x93, 0xc4, 0xa5, 0x76, 0x17, 0xec, - 0x66, 0x8e, 0xbf, 0xcb, 0xcc, 0x39, 0x5f, 0x26, 0xd0, 0x3c, 0xa5, 0x4c, 0x24, 0x82, 0x4d, 0x22, - 0x6f, 0x84, 0xc9, 0x6c, 0x48, 0x05, 0x7a, 0x53, 0x1a, 0x8c, 0x50, 0xba, 0x53, 0xc1, 0x25, 0x27, - 0x64, 0x01, 0x70, 0xe7, 0x80, 0x86, 0x1d, 0x71, 0x1e, 0x8d, 0xd1, 0xd3, 0x88, 0x41, 0x7c, 0xea, - 0x85, 0xb1, 0xa0, 0x92, 0xf1, 0x49, 0xca, 0x69, 0x6c, 0x45, 0x3c, 0xe2, 0x7a, 0xe9, 0xa9, 0x95, - 0xa9, 0x1e, 0x2e, 0xad, 0x02, 0x7e, 0x76, 0xc6, 0x27, 0x9e, 0x56, 0x0b, 0xfb, 0x32, 0x99, 0xe2, - 0x2c, 0x05, 0x39, 0xbf, 0x57, 0x81, 0xf4, 0x8c, 0xcf, 0x89, 0x3e, 0xc7, 0x31, 0x95, 0x94, 0xbc, - 0x80, 0xca, 0x84, 0xab, 0x55, 0xcd, 0xda, 0xb7, 0x8e, 0x36, 0x9f, 0x35, 0xdc, 0xdb, 0xc7, 0x72, - 0xdf, 0x69, 0x44, 0xa7, 0xe4, 0x1b, 0x2c, 0x39, 0x87, 0xba, 0xc0, 0xf3, 0x18, 0x67, 0xb2, 0x15, - 0x45, 0xe2, 0xa6, 0x6c, 0x6d, 0x45, 0x0b, 0x3d, 0xcd, 0x13, 0xf2, 0x8b, 0x48, 0x46, 0xbf, 0x58, - 0x95, 0x20, 0x6c, 0x47, 0x98, 0x67, 0xb7, 0xaa, 0xed, 0x9e, 0xe4, 0xd9, 0xbd, 0xc5, 0x62, 0xab, - 0x7c, 0x35, 0x32, 0x84, 0x1d, 0x9a, 0xa9, 0x2a, 0xb0, 0xf1, 0x29, 0x6b, 0x1f, 0x37, 0xcf, 0xa7, - 0x95, 0xcb, 0x30, 0x46, 0x05, 0x7a, 0xe4, 0x03, 0x3c, 0x08, 0x62, 0x21, 0x70, 0x22, 0xd5, 0x47, - 0x63, 0xb2, 0xa6, 0x4d, 0x1e, 0xe7, 0x99, 0xbc, 0xfe, 0x1b, 0x6c, 0xf4, 0x6f, 0xab, 0xb4, 0x37, - 0xa0, 0x92, 0x46, 0xcd, 0xd9, 0x80, 0x4a, 0x3a, 0x3c, 0xe7, 0x9b, 0x05, 0x7b, 0x77, 0xb6, 0x9f, - 0xec, 0x42, 0xd5, 0xb4, 0x1f, 0x85, 0x4e, 0x43, 0xd5, 0x5f, 0x16, 0xc8, 0x01, 0x6c, 0x4e, 0x05, - 0x9f, 0xf2, 0x19, 0x1d, 0xf7, 0x59, 0xa8, 0x87, 0x5c, 0xed, 0x94, 0x7c, 0x98, 0x17, 0xbb, 0x21, - 0x69, 0x02, 0x18, 0xbc, 0x42, 0xac, 0x1a, 0xc4, 0x5c, 0xa3, 0x1b, 0x92, 0x0e, 0xdc, 0xc7, 0x99, - 0x64, 0x67, 0x54, 0x62, 0xd8, 0x0f, 0x71, 0x4c, 0x13, 0xd3, 0xd5, 0xba, 0x9b, 0x06, 0xdf, 0x9d, - 0x07, 0xdf, 0x3d, 0x36, 0xc1, 0x6f, 0x97, 0x2f, 0x7e, 0x34, 0x2d, 0xff, 0xde, 0x82, 0x77, 0xac, - 0x68, 0xed, 0x32, 0xac, 0xb0, 0xd0, 0xf1, 0x61, 0xb7, 0xf0, 0x4a, 0xad, 0x60, 0x44, 0x1a, 0xb0, - 0xc1, 0x42, 0x9c, 0x48, 0x26, 0x13, 0x73, 0xa1, 0xc5, 0x9e, 0xec, 0x40, 0x65, 0x1a, 0x0f, 0x46, - 0x98, 0xa4, 0x57, 0xf1, 0xcd, 0xce, 0x79, 0x09, 0xf5, 0xc2, 0xd8, 0xdc, 0x25, 0xe8, 0x34, 0xa0, - 0x96, 0x4b, 0x6c, 0x05, 0x23, 0xe7, 0x97, 0x05, 0x8d, 0xe2, 0x90, 0xfc, 0xcb, 0x39, 0xc9, 0x21, - 0xfc, 0xaf, 0x82, 0xd5, 0x9f, 0xe7, 0x23, 0xed, 0xb7, 0xff, 0x5f, 0x36, 0x6d, 0xa4, 0x09, 0x9b, - 0x1a, 0x34, 0x44, 0x16, 0x0d, 0xd3, 0x08, 0x57, 0x7d, 0x50, 0xa5, 0x8e, 0xae, 0x28, 0x40, 0x76, - 0xaa, 0x6b, 0x29, 0x20, 0x33, 0xd3, 0xbd, 0x1b, 0x33, 0xad, 0xdc, 0x48, 0x45, 0x37, 0x24, 0x35, - 0x58, 0x17, 0x28, 0x05, 0xc3, 0x59, 0x6d, 0x7d, 0xdf, 0x3a, 0x2a, 0xfb, 0xf3, 0xad, 0xf3, 0x08, - 0xea, 0xf9, 0x37, 0x56, 0xfd, 0x78, 0x08, 0xdb, 0xb9, 0x71, 0x76, 0x2e, 0x2c, 0xd8, 0xba, 0xf5, - 0x45, 0x8d, 0xf2, 0x15, 0x54, 0x69, 0x20, 0xd9, 0x27, 0xec, 0x61, 0x62, 0x9e, 0xaa, 0x83, 0xcc, - 0xaf, 0x24, 0x7d, 0xf7, 0xdc, 0x96, 0x86, 0x9c, 0xc4, 0x83, 0x31, 0x0b, 0x7a, 0x98, 0xf8, 0x4b, - 0x8e, 0x12, 0x38, 0x8f, 0x31, 0xc6, 0xb0, 0x67, 0x5a, 0x99, 0x2b, 0xf0, 0x5e, 0x43, 0x32, 0x02, - 0x0b, 0x4e, 0xbb, 0xfb, 0xf5, 0xca, 0xb6, 0x2e, 0xaf, 0x6c, 0xeb, 0xe7, 0x95, 0x6d, 0x7d, 0xb9, - 0xb6, 0x4b, 0x97, 0xd7, 0x76, 0xe9, 0xfb, 0xb5, 0x5d, 0xfa, 0xe8, 0x45, 0x4c, 0x0e, 0xe3, 0x81, - 0xd2, 0xf0, 0xde, 0x50, 0x26, 0x06, 0x63, 0x1e, 0x8c, 0xbc, 0xe5, 0xa3, 0xfc, 0x79, 0xf9, 0x0f, - 0xa0, 0x5f, 0xe4, 0x41, 0x45, 0xc7, 0xfc, 0xf9, 0x9f, 0x00, 0x00, 0x00, 0xff, 0xff, 0x03, 0xb9, - 0x17, 0x5d, 0x24, 0x06, 0x00, 0x00, + // 830 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x9c, 0x56, 0xcb, 0x8e, 0xe3, 0x44, + 0x14, 0x8d, 0x33, 0x19, 0x4f, 0x72, 0xc3, 0x43, 0x14, 0x33, 0x83, 0x93, 0xc9, 0xa3, 0xc7, 0xbd, + 0x19, 0x16, 0xd8, 0x30, 0x8c, 0xc4, 0x12, 0x25, 0x34, 0x4c, 0xa2, 0x96, 0x50, 0xb0, 0x60, 0x01, + 0x1b, 0xcb, 0xb1, 0xab, 0x9d, 0x52, 0xd2, 0xb6, 0xbb, 0x5c, 0x0e, 0xf8, 0x2f, 0x58, 0xf6, 0x1f, + 0xc1, 0xb2, 0x91, 0x58, 0xb0, 0x03, 0x75, 0xff, 0x00, 0x9f, 0x30, 0xaa, 0x72, 0x39, 0x4f, 0xdb, + 0x2d, 0xf5, 0xce, 0x2e, 0x9f, 0x7b, 0xce, 0xbd, 0xb7, 0x6e, 0x1d, 0x17, 0x0c, 0x2f, 0x1c, 0x42, + 0x53, 0x4a, 0x02, 0xdf, 0x5c, 0xe2, 0x34, 0x5e, 0x38, 0x14, 0x9b, 0x91, 0xe3, 0x2e, 0x31, 0x33, + 0x22, 0x1a, 0xb2, 0x10, 0xa1, 0x0d, 0xc0, 0xc8, 0x01, 0xdd, 0x81, 0x1f, 0x86, 0xfe, 0x0a, 0x9b, + 0x02, 0x31, 0x4f, 0x2e, 0x4c, 0x2f, 0xa1, 0x0e, 0x23, 0x61, 0x90, 0xc5, 0x74, 0x9f, 0xfa, 0xa1, + 0x1f, 0x8a, 0x47, 0x93, 0x3f, 0xc9, 0xd5, 0xd3, 0xad, 0x94, 0x1b, 0x5e, 0x5e, 0x86, 0x81, 0x29, + 0xd8, 0x3c, 0x9b, 0xa5, 0x11, 0x8e, 0x33, 0x90, 0xfe, 0xb7, 0x0a, 0xe8, 0x5c, 0xea, 0xcc, 0x44, + 0x1e, 0x67, 0x0e, 0x73, 0xd0, 0x1b, 0x50, 0x83, 0x90, 0x3f, 0x69, 0xca, 0x89, 0xf2, 0xaa, 0xfd, + 0xba, 0x6b, 0x1c, 0xa7, 0x65, 0x7c, 0x2f, 0x10, 0x93, 0x9a, 0x25, 0xb1, 0xe8, 0x0a, 0x3a, 0x14, + 0x5f, 0x25, 0x38, 0x66, 0x23, 0xdf, 0xa7, 0xfb, 0xb4, 0x5a, 0x5d, 0x10, 0x7d, 0x51, 0x44, 0x64, + 0x95, 0x05, 0x49, 0xfe, 0x72, 0x56, 0x84, 0xe1, 0x99, 0x8f, 0x8b, 0xe4, 0x1e, 0x09, 0xb9, 0xcf, + 0x8a, 0xe4, 0xde, 0xe2, 0x72, 0xa9, 0x62, 0x36, 0xb4, 0x80, 0xe7, 0xce, 0xce, 0x2a, 0x07, 0x4b, + 0x9d, 0x86, 0xd0, 0x31, 0x8a, 0x74, 0x46, 0x85, 0x11, 0x52, 0xa8, 0x84, 0x0f, 0xad, 0xa1, 0x87, + 0x03, 0x97, 0xa6, 0x11, 0xc3, 0x5e, 0xfe, 0x39, 0xde, 0x46, 0x6a, 0x8f, 0x85, 0xde, 0xe7, 0x45, + 0x7a, 0xdf, 0x56, 0xc4, 0x4d, 0x6a, 0x56, 0x25, 0x2f, 0xfa, 0x19, 0x3e, 0x72, 0x13, 0x4a, 0x71, + 0xc0, 0xf8, 0x57, 0x59, 0x9c, 0x2a, 0xc4, 0x3e, 0x2d, 0x12, 0xfb, 0xe6, 0x10, 0x2c, 0x55, 0x8e, + 0x59, 0xd0, 0xaf, 0xd0, 0x93, 0x1b, 0x68, 0x47, 0x94, 0xac, 0xed, 0x9c, 0xc3, 0xce, 0x06, 0x5f, + 0x7b, 0x22, 0x54, 0xde, 0x54, 0x4c, 0xc6, 0x8c, 0x92, 0xb5, 0xc3, 0x70, 0xe5, 0x70, 0x70, 0xcc, + 0xc1, 0xae, 0x05, 0xa0, 0xf9, 0xb8, 0x38, 0x58, 0x6b, 0x96, 0xf7, 0xf1, 0x2d, 0xae, 0x14, 0x2c, + 0xe5, 0x1c, 0x37, 0x41, 0xcd, 0x4a, 0xd2, 0x9b, 0xa0, 0x66, 0xa7, 0x43, 0xff, 0x4b, 0x81, 0x7e, + 0xe5, 0x7c, 0xa3, 0x1e, 0xb4, 0x64, 0x09, 0x98, 0x8a, 0xe3, 0xd6, 0xb2, 0xb6, 0x0b, 0xe8, 0x25, + 0xb4, 0x23, 0x1a, 0x46, 0x61, 0xec, 0xac, 0x6c, 0xe2, 0x89, 0x53, 0xd4, 0x9a, 0xd4, 0x2c, 0xc8, + 0x17, 0xa7, 0x1e, 0x1a, 0x02, 0xe4, 0xfd, 0x25, 0x9e, 0x18, 0x7c, 0x8e, 0xc8, 0x39, 0xa6, 0x1e, + 0x9a, 0xc0, 0x87, 0x38, 0x66, 0xe4, 0xd2, 0x61, 0xd8, 0xb3, 0x3d, 0xbc, 0x72, 0x52, 0x39, 0xb6, + 0x1d, 0x23, 0x73, 0x16, 0x23, 0x77, 0x16, 0xe3, 0x4c, 0x3a, 0xcb, 0xb8, 0x71, 0xfd, 0xef, 0x50, + 0xb1, 0x3e, 0xd8, 0xc4, 0x9d, 0xf1, 0xb0, 0x71, 0x03, 0xea, 0xc4, 0xd3, 0x6d, 0x38, 0xb9, 0x6f, + 0x63, 0xee, 0xa9, 0xaa, 0xbf, 0x97, 0x72, 0x7d, 0xef, 0xf3, 0xd4, 0xd3, 0x7f, 0x82, 0x61, 0x95, + 0xc0, 0xc8, 0x5d, 0xa2, 0x2e, 0x34, 0x89, 0x87, 0x03, 0x46, 0x58, 0x2a, 0xe9, 0x37, 0xef, 0xe8, + 0x39, 0xa8, 0x51, 0x32, 0x5f, 0xe2, 0x54, 0x32, 0xcb, 0x37, 0xdd, 0x82, 0x5e, 0xe9, 0x56, 0x3c, + 0x94, 0xf3, 0x2b, 0xe8, 0x94, 0xfa, 0x49, 0x15, 0xa1, 0xde, 0x05, 0xad, 0x30, 0x70, 0xe4, 0x2e, + 0xf5, 0x14, 0x7a, 0x55, 0x43, 0x58, 0x99, 0xe8, 0x5e, 0xe3, 0xeb, 0x87, 0x8d, 0x1f, 0x42, 0x3b, + 0xc6, 0x6e, 0x64, 0xcb, 0x5a, 0xc4, 0xb0, 0x58, 0xc0, 0x97, 0x66, 0x59, 0x3d, 0x7d, 0x78, 0x51, + 0x26, 0xcd, 0x33, 0xfb, 0x5f, 0x81, 0x6e, 0xb9, 0xaf, 0x3d, 0xa4, 0x83, 0xe8, 0x14, 0xde, 0xe7, + 0x5e, 0xb8, 0xb1, 0x05, 0x99, 0xd4, 0x7b, 0xbb, 0x06, 0xc9, 0xf3, 0x16, 0xa0, 0x05, 0x26, 0xfe, + 0x22, 0x73, 0xdd, 0x96, 0x05, 0x7c, 0x69, 0x22, 0x56, 0x38, 0x60, 0xf7, 0x9c, 0x3c, 0xce, 0x00, + 0x3b, 0xa7, 0x64, 0x7f, 0xe4, 0xd4, 0x83, 0x91, 0x43, 0x1a, 0x3c, 0xa1, 0x98, 0x51, 0x82, 0x63, + 0xe1, 0x47, 0x0d, 0x2b, 0x7f, 0xd5, 0x5f, 0x40, 0xa7, 0xb8, 0x62, 0xde, 0x8f, 0x3f, 0x14, 0xe8, + 0x55, 0xf9, 0xee, 0x83, 0x3a, 0xd2, 0x3f, 0x3e, 0xd0, 0xbb, 0xa9, 0xfe, 0x08, 0x1f, 0x6f, 0xac, + 0x7c, 0xd3, 0xb5, 0x58, 0x6b, 0x9c, 0x3c, 0x7a, 0xd5, 0x7e, 0x7d, 0xba, 0xe3, 0x68, 0xd9, 0x6f, + 0xff, 0xf8, 0xbf, 0x60, 0xa1, 0xe3, 0x5f, 0x01, 0xdf, 0xf8, 0xb2, 0x42, 0x78, 0xa1, 0x9f, 0xc0, + 0xb3, 0x42, 0xcb, 0xd7, 0xaf, 0x15, 0x78, 0x7a, 0xf4, 0x85, 0x9f, 0xa6, 0xaf, 0xa1, 0xe5, 0xb8, + 0x8c, 0xac, 0xf9, 0x14, 0xc9, 0x6b, 0xc4, 0xcb, 0xe3, 0xe4, 0x46, 0x02, 0x32, 0x4b, 0xe6, 0x2b, + 0xe2, 0x9e, 0xe3, 0xd4, 0xda, 0xc6, 0x70, 0x82, 0xab, 0x04, 0x27, 0x22, 0x1d, 0x79, 0x7d, 0x28, + 0x20, 0xf8, 0x41, 0x40, 0x76, 0x08, 0x36, 0x31, 0xe3, 0xe9, 0x9f, 0xb7, 0x03, 0xe5, 0xe6, 0x76, + 0xa0, 0xfc, 0x77, 0x3b, 0x50, 0x7e, 0xbf, 0x1b, 0xd4, 0x6e, 0xee, 0x06, 0xb5, 0x7f, 0xee, 0x06, + 0xb5, 0x5f, 0x4c, 0x9f, 0xb0, 0x45, 0x32, 0xe7, 0x1c, 0xe6, 0x77, 0x0e, 0xa1, 0xf3, 0x55, 0xe8, + 0x2e, 0xcd, 0xed, 0x85, 0xe9, 0xb7, 0xed, 0xed, 0x4c, 0xdc, 0x96, 0xe6, 0xaa, 0x70, 0xc8, 0x2f, + 0xdf, 0x05, 0x00, 0x00, 0xff, 0xff, 0xc4, 0x85, 0x63, 0xfc, 0xc0, 0x09, 0x00, 0x00, } func (m *KeysharePacketData) Marshal() (dAtA []byte, err error) { @@ -821,16 +1183,16 @@ func (m *KeysharePacketData_AggrKeyshareDataPacket) MarshalToSizedBuffer(dAtA [] } return len(dAtA) - i, nil } -func (m *KeysharePacketData_CurrentKeysPacket) MarshalTo(dAtA []byte) (int, error) { +func (m *KeysharePacketData_EncryptedKeysharesPacketData) MarshalTo(dAtA []byte) (int, error) { size := m.Size() return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *KeysharePacketData_CurrentKeysPacket) MarshalToSizedBuffer(dAtA []byte) (int, error) { +func (m *KeysharePacketData_EncryptedKeysharesPacketData) MarshalToSizedBuffer(dAtA []byte) (int, error) { i := len(dAtA) - if m.CurrentKeysPacket != nil { + if m.EncryptedKeysharesPacketData != nil { { - size, err := m.CurrentKeysPacket.MarshalToSizedBuffer(dAtA[:i]) + size, err := m.EncryptedKeysharesPacketData.MarshalToSizedBuffer(dAtA[:i]) if err != nil { return 0, err } @@ -842,26 +1204,89 @@ func (m *KeysharePacketData_CurrentKeysPacket) MarshalToSizedBuffer(dAtA []byte) } return len(dAtA) - i, nil } -func (m *NoData) Marshal() (dAtA []byte, err error) { +func (m *KeysharePacketData_CurrentKeysPacket) MarshalTo(dAtA []byte) (int, error) { size := m.Size() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBuffer(dAtA[:size]) - if err != nil { - return nil, err - } - return dAtA[:n], nil + return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *NoData) MarshalTo(dAtA []byte) (int, error) { +func (m *KeysharePacketData_CurrentKeysPacket) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + if m.CurrentKeysPacket != nil { + { + size, err := m.CurrentKeysPacket.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintPacket(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x32 + } + return len(dAtA) - i, nil +} +func (m *KeysharePacketData_RequestPrivKeysharePacket) MarshalTo(dAtA []byte) (int, error) { size := m.Size() return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *NoData) MarshalToSizedBuffer(dAtA []byte) (int, error) { +func (m *KeysharePacketData_RequestPrivKeysharePacket) MarshalToSizedBuffer(dAtA []byte) (int, error) { i := len(dAtA) - _ = i - var l int - _ = l + if m.RequestPrivKeysharePacket != nil { + { + size, err := m.RequestPrivKeysharePacket.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintPacket(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x3a + } + return len(dAtA) - i, nil +} +func (m *KeysharePacketData_GetPrivateKeysharePacket) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *KeysharePacketData_GetPrivateKeysharePacket) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + if m.GetPrivateKeysharePacket != nil { + { + size, err := m.GetPrivateKeysharePacket.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintPacket(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x42 + } + return len(dAtA) - i, nil +} +func (m *NoData) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *NoData) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *NoData) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l return len(dAtA) - i, nil } @@ -886,12 +1311,12 @@ func (m *RequestAggrKeysharePacketData) MarshalToSizedBuffer(dAtA []byte) (int, var l int _ = l if m.EstimatedDelay != nil { - n6, err6 := github_com_cosmos_gogoproto_types.StdDurationMarshalTo(*m.EstimatedDelay, dAtA[i-github_com_cosmos_gogoproto_types.SizeOfStdDuration(*m.EstimatedDelay):]) - if err6 != nil { - return 0, err6 + n9, err9 := github_com_cosmos_gogoproto_types.StdDurationMarshalTo(*m.EstimatedDelay, dAtA[i-github_com_cosmos_gogoproto_types.SizeOfStdDuration(*m.EstimatedDelay):]) + if err9 != nil { + return 0, err9 } - i -= n6 - i = encodeVarintPacket(dAtA, i, uint64(n6)) + i -= n9 + i = encodeVarintPacket(dAtA, i, uint64(n9)) i-- dAtA[i] = 0x22 } @@ -942,6 +1367,80 @@ func (m *RequestAggrKeysharePacketData_RequestId) MarshalToSizedBuffer(dAtA []by dAtA[i] = 0x1a return len(dAtA) - i, nil } +func (m *RequestPrivateKeysharePacketData) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *RequestPrivateKeysharePacketData) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *RequestPrivateKeysharePacketData) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if len(m.RequestId) > 0 { + i -= len(m.RequestId) + copy(dAtA[i:], m.RequestId) + i = encodeVarintPacket(dAtA, i, uint64(len(m.RequestId))) + i-- + dAtA[i] = 0x12 + } + if len(m.Requester) > 0 { + i -= len(m.Requester) + copy(dAtA[i:], m.Requester) + i = encodeVarintPacket(dAtA, i, uint64(len(m.Requester))) + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + +func (m *RequestPrivateKeysharePacketAck) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *RequestPrivateKeysharePacketAck) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *RequestPrivateKeysharePacketAck) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if len(m.Pubkey) > 0 { + i -= len(m.Pubkey) + copy(dAtA[i:], m.Pubkey) + i = encodeVarintPacket(dAtA, i, uint64(len(m.Pubkey))) + i-- + dAtA[i] = 0x12 + } + if len(m.Identity) > 0 { + i -= len(m.Identity) + copy(dAtA[i:], m.Identity) + i = encodeVarintPacket(dAtA, i, uint64(len(m.Identity))) + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + func (m *RequestAggrKeysharePacketAck) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) @@ -1032,6 +1531,73 @@ func (m *GetAggrKeysharePacketAck) MarshalToSizedBuffer(dAtA []byte) (int, error return len(dAtA) - i, nil } +func (m *GetPrivateKeysharePacketData) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *GetPrivateKeysharePacketData) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *GetPrivateKeysharePacketData) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if len(m.SecpPubkey) > 0 { + i -= len(m.SecpPubkey) + copy(dAtA[i:], m.SecpPubkey) + i = encodeVarintPacket(dAtA, i, uint64(len(m.SecpPubkey))) + i-- + dAtA[i] = 0x1a + } + if len(m.Requester) > 0 { + i -= len(m.Requester) + copy(dAtA[i:], m.Requester) + i = encodeVarintPacket(dAtA, i, uint64(len(m.Requester))) + i-- + dAtA[i] = 0x12 + } + if len(m.Identity) > 0 { + i -= len(m.Identity) + copy(dAtA[i:], m.Identity) + i = encodeVarintPacket(dAtA, i, uint64(len(m.Identity))) + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + +func (m *GetPrivateKeysharePacketAck) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *GetPrivateKeysharePacketAck) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *GetPrivateKeysharePacketAck) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + return len(dAtA) - i, nil +} + func (m *AggrKeyshareDataPacketData) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) @@ -1125,6 +1691,87 @@ func (m *AggrKeyshareDataPacketAck) MarshalToSizedBuffer(dAtA []byte) (int, erro return len(dAtA) - i, nil } +func (m *EncryptedKeysharesPacketData) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *EncryptedKeysharesPacketData) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *EncryptedKeysharesPacketData) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if len(m.EncryptedKeyshares) > 0 { + for iNdEx := len(m.EncryptedKeyshares) - 1; iNdEx >= 0; iNdEx-- { + { + size, err := m.EncryptedKeyshares[iNdEx].MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintPacket(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x22 + } + } + if len(m.RequestId) > 0 { + i -= len(m.RequestId) + copy(dAtA[i:], m.RequestId) + i = encodeVarintPacket(dAtA, i, uint64(len(m.RequestId))) + i-- + dAtA[i] = 0x1a + } + if len(m.Pubkey) > 0 { + i -= len(m.Pubkey) + copy(dAtA[i:], m.Pubkey) + i = encodeVarintPacket(dAtA, i, uint64(len(m.Pubkey))) + i-- + dAtA[i] = 0x12 + } + if len(m.Identity) > 0 { + i -= len(m.Identity) + copy(dAtA[i:], m.Identity) + i = encodeVarintPacket(dAtA, i, uint64(len(m.Identity))) + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + +func (m *EncryptedKeysharesPacketAck) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *EncryptedKeysharesPacketAck) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *EncryptedKeysharesPacketAck) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + return len(dAtA) - i, nil +} + func (m *CurrentKeysPacketData) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) @@ -1266,6 +1913,18 @@ func (m *KeysharePacketData_AggrKeyshareDataPacket) Size() (n int) { } return n } +func (m *KeysharePacketData_EncryptedKeysharesPacketData) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.EncryptedKeysharesPacketData != nil { + l = m.EncryptedKeysharesPacketData.Size() + n += 1 + l + sovPacket(uint64(l)) + } + return n +} func (m *KeysharePacketData_CurrentKeysPacket) Size() (n int) { if m == nil { return 0 @@ -1278,28 +1937,52 @@ func (m *KeysharePacketData_CurrentKeysPacket) Size() (n int) { } return n } -func (m *NoData) Size() (n int) { +func (m *KeysharePacketData_RequestPrivKeysharePacket) Size() (n int) { if m == nil { return 0 } var l int _ = l + if m.RequestPrivKeysharePacket != nil { + l = m.RequestPrivKeysharePacket.Size() + n += 1 + l + sovPacket(uint64(l)) + } return n } - -func (m *RequestAggrKeysharePacketData) Size() (n int) { +func (m *KeysharePacketData_GetPrivateKeysharePacket) Size() (n int) { if m == nil { return 0 } var l int _ = l - l = len(m.Requester) - if l > 0 { + if m.GetPrivateKeysharePacket != nil { + l = m.GetPrivateKeysharePacket.Size() n += 1 + l + sovPacket(uint64(l)) } - if m.Id != nil { - n += m.Id.Size() - } + return n +} +func (m *NoData) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + return n +} + +func (m *RequestAggrKeysharePacketData) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.Requester) + if l > 0 { + n += 1 + l + sovPacket(uint64(l)) + } + if m.Id != nil { + n += m.Id.Size() + } if m.EstimatedDelay != nil { l = github_com_cosmos_gogoproto_types.SizeOfStdDuration(*m.EstimatedDelay) n += 1 + l + sovPacket(uint64(l)) @@ -1327,6 +2010,40 @@ func (m *RequestAggrKeysharePacketData_RequestId) Size() (n int) { n += 1 + l + sovPacket(uint64(l)) return n } +func (m *RequestPrivateKeysharePacketData) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.Requester) + if l > 0 { + n += 1 + l + sovPacket(uint64(l)) + } + l = len(m.RequestId) + if l > 0 { + n += 1 + l + sovPacket(uint64(l)) + } + return n +} + +func (m *RequestPrivateKeysharePacketAck) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.Identity) + if l > 0 { + n += 1 + l + sovPacket(uint64(l)) + } + l = len(m.Pubkey) + if l > 0 { + n += 1 + l + sovPacket(uint64(l)) + } + return n +} + func (m *RequestAggrKeysharePacketAck) Size() (n int) { if m == nil { return 0 @@ -1366,6 +2083,36 @@ func (m *GetAggrKeysharePacketAck) Size() (n int) { return n } +func (m *GetPrivateKeysharePacketData) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.Identity) + if l > 0 { + n += 1 + l + sovPacket(uint64(l)) + } + l = len(m.Requester) + if l > 0 { + n += 1 + l + sovPacket(uint64(l)) + } + l = len(m.SecpPubkey) + if l > 0 { + n += 1 + l + sovPacket(uint64(l)) + } + return n +} + +func (m *GetPrivateKeysharePacketAck) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + return n +} + func (m *AggrKeyshareDataPacketData) Size() (n int) { if m == nil { return 0 @@ -1411,6 +2158,42 @@ func (m *AggrKeyshareDataPacketAck) Size() (n int) { return n } +func (m *EncryptedKeysharesPacketData) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.Identity) + if l > 0 { + n += 1 + l + sovPacket(uint64(l)) + } + l = len(m.Pubkey) + if l > 0 { + n += 1 + l + sovPacket(uint64(l)) + } + l = len(m.RequestId) + if l > 0 { + n += 1 + l + sovPacket(uint64(l)) + } + if len(m.EncryptedKeyshares) > 0 { + for _, e := range m.EncryptedKeyshares { + l = e.Size() + n += 1 + l + sovPacket(uint64(l)) + } + } + return n +} + +func (m *EncryptedKeysharesPacketAck) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + return n +} + func (m *CurrentKeysPacketData) Size() (n int) { if m == nil { return 0 @@ -1613,6 +2396,41 @@ func (m *KeysharePacketData) Unmarshal(dAtA []byte) error { m.Packet = &KeysharePacketData_AggrKeyshareDataPacket{v} iNdEx = postIndex case 5: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field EncryptedKeysharesPacketData", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowPacket + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthPacket + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthPacket + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + v := &EncryptedKeysharesPacketData{} + if err := v.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + m.Packet = &KeysharePacketData_EncryptedKeysharesPacketData{v} + iNdEx = postIndex + case 6: if wireType != 2 { return fmt.Errorf("proto: wrong wireType = %d for field CurrentKeysPacket", wireType) } @@ -1647,6 +2465,76 @@ func (m *KeysharePacketData) Unmarshal(dAtA []byte) error { } m.Packet = &KeysharePacketData_CurrentKeysPacket{v} iNdEx = postIndex + case 7: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field RequestPrivKeysharePacket", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowPacket + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthPacket + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthPacket + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + v := &RequestPrivateKeysharePacketData{} + if err := v.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + m.Packet = &KeysharePacketData_RequestPrivKeysharePacket{v} + iNdEx = postIndex + case 8: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field GetPrivateKeysharePacket", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowPacket + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthPacket + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthPacket + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + v := &GetPrivateKeysharePacketData{} + if err := v.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + m.Packet = &KeysharePacketData_GetPrivateKeysharePacket{v} + iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipPacket(dAtA[iNdEx:]) @@ -1900,7 +2788,7 @@ func (m *RequestAggrKeysharePacketData) Unmarshal(dAtA []byte) error { } return nil } -func (m *RequestAggrKeysharePacketAck) Unmarshal(dAtA []byte) error { +func (m *RequestPrivateKeysharePacketData) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -1923,15 +2811,15 @@ func (m *RequestAggrKeysharePacketAck) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: RequestAggrKeysharePacketAck: wiretype end group for non-group") + return fmt.Errorf("proto: RequestPrivateKeysharePacketData: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: RequestAggrKeysharePacketAck: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: RequestPrivateKeysharePacketData: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Identity", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Requester", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -1959,11 +2847,11 @@ func (m *RequestAggrKeysharePacketAck) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.Identity = string(dAtA[iNdEx:postIndex]) + m.Requester = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex case 2: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Pubkey", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field RequestId", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -1991,7 +2879,7 @@ func (m *RequestAggrKeysharePacketAck) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.Pubkey = string(dAtA[iNdEx:postIndex]) + m.RequestId = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex default: iNdEx = preIndex @@ -2014,7 +2902,7 @@ func (m *RequestAggrKeysharePacketAck) Unmarshal(dAtA []byte) error { } return nil } -func (m *GetAggrKeysharePacketData) Unmarshal(dAtA []byte) error { +func (m *RequestPrivateKeysharePacketAck) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -2037,10 +2925,10 @@ func (m *GetAggrKeysharePacketData) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: GetAggrKeysharePacketData: wiretype end group for non-group") + return fmt.Errorf("proto: RequestPrivateKeysharePacketAck: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: GetAggrKeysharePacketData: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: RequestPrivateKeysharePacketAck: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -2075,6 +2963,38 @@ func (m *GetAggrKeysharePacketData) Unmarshal(dAtA []byte) error { } m.Identity = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Pubkey", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowPacket + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthPacket + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthPacket + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Pubkey = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipPacket(dAtA[iNdEx:]) @@ -2096,7 +3016,203 @@ func (m *GetAggrKeysharePacketData) Unmarshal(dAtA []byte) error { } return nil } -func (m *GetAggrKeysharePacketAck) Unmarshal(dAtA []byte) error { +func (m *RequestAggrKeysharePacketAck) Unmarshal(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowPacket + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: RequestAggrKeysharePacketAck: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: RequestAggrKeysharePacketAck: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Identity", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowPacket + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthPacket + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthPacket + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Identity = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Pubkey", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowPacket + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthPacket + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthPacket + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Pubkey = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipPacket(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthPacket + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *GetAggrKeysharePacketData) Unmarshal(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowPacket + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: GetAggrKeysharePacketData: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: GetAggrKeysharePacketData: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Identity", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowPacket + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthPacket + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthPacket + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Identity = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipPacket(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthPacket + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *GetAggrKeysharePacketAck) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -2122,7 +3238,203 @@ func (m *GetAggrKeysharePacketAck) Unmarshal(dAtA []byte) error { return fmt.Errorf("proto: GetAggrKeysharePacketAck: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: GetAggrKeysharePacketAck: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: GetAggrKeysharePacketAck: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + default: + iNdEx = preIndex + skippy, err := skipPacket(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthPacket + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *GetPrivateKeysharePacketData) Unmarshal(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowPacket + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: GetPrivateKeysharePacketData: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: GetPrivateKeysharePacketData: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Identity", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowPacket + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthPacket + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthPacket + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Identity = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Requester", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowPacket + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthPacket + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthPacket + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Requester = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field SecpPubkey", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowPacket + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthPacket + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthPacket + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.SecpPubkey = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipPacket(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthPacket + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *GetPrivateKeysharePacketAck) Unmarshal(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowPacket + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: GetPrivateKeysharePacketAck: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: GetPrivateKeysharePacketAck: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { default: @@ -2457,6 +3769,236 @@ func (m *AggrKeyshareDataPacketAck) Unmarshal(dAtA []byte) error { } return nil } +func (m *EncryptedKeysharesPacketData) Unmarshal(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowPacket + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: EncryptedKeysharesPacketData: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: EncryptedKeysharesPacketData: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Identity", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowPacket + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthPacket + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthPacket + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Identity = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Pubkey", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowPacket + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthPacket + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthPacket + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Pubkey = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field RequestId", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowPacket + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthPacket + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthPacket + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.RequestId = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 4: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field EncryptedKeyshares", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowPacket + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthPacket + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthPacket + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.EncryptedKeyshares = append(m.EncryptedKeyshares, &types.EncryptedKeyshare{}) + if err := m.EncryptedKeyshares[len(m.EncryptedKeyshares)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipPacket(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthPacket + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *EncryptedKeysharesPacketAck) Unmarshal(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowPacket + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: EncryptedKeysharesPacketAck: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: EncryptedKeysharesPacketAck: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + default: + iNdEx = preIndex + skippy, err := skipPacket(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthPacket + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} func (m *CurrentKeysPacketData) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 diff --git a/x/keyshare/types/packet_aggr_key_share_data.go b/x/keyshare/types/packet_aggr_key_share_data.go index 9c6d82bd..7290fa2f 100644 --- a/x/keyshare/types/packet_aggr_key_share_data.go +++ b/x/keyshare/types/packet_aggr_key_share_data.go @@ -32,3 +32,20 @@ func (p AggrKeyshareDataPacketData) GetBytes() []byte { return sdk.MustSortJSON(MustProtoMarshalJSON(&modulePacket)) } + +// ValidateBasic is used for validating the packet +func (p EncryptedKeysharesPacketData) ValidateBasic() error { + if p.Identity == "" { + return errors.New("identity is blank") + } + return nil +} + +// GetBytes is a helper for serialising +func (p EncryptedKeysharesPacketData) GetBytes() []byte { + var modulePacket KeysharePacketData + + modulePacket.Packet = &KeysharePacketData_EncryptedKeysharesPacketData{&p} + + return sdk.MustSortJSON(MustProtoMarshalJSON(&modulePacket)) +} diff --git a/x/keyshare/types/packet_get_aggr_key_share.go b/x/keyshare/types/packet_get_aggr_key_share.go index 88402e9e..76e3beff 100644 --- a/x/keyshare/types/packet_get_aggr_key_share.go +++ b/x/keyshare/types/packet_get_aggr_key_share.go @@ -23,3 +23,21 @@ func (p GetAggrKeysharePacketData) GetBytes() []byte { return sdk.MustSortJSON(MustProtoMarshalJSON(&modulePacket)) } + +// ValidateBasic is used for validating the packet +func (p GetPrivateKeysharePacketData) ValidateBasic() error { + + if p.Identity == "" { + return errors.New("identity is blank") + } + return nil +} + +// GetBytes is a helper for serialising +func (p GetPrivateKeysharePacketData) GetBytes() []byte { + var modulePacket KeysharePacketData + + modulePacket.Packet = &KeysharePacketData_GetPrivateKeysharePacket{&p} + + return sdk.MustSortJSON(MustProtoMarshalJSON(&modulePacket)) +} diff --git a/x/keyshare/types/packet_request_aggr_key_share.go b/x/keyshare/types/packet_request_aggr_key_share.go index 652ca6a9..84b4e449 100644 --- a/x/keyshare/types/packet_request_aggr_key_share.go +++ b/x/keyshare/types/packet_request_aggr_key_share.go @@ -27,3 +27,17 @@ func (p RequestAggrKeysharePacketData) GetBytes() []byte { return sdk.MustSortJSON(MustProtoMarshalJSON(&modulePacket)) } + +// ValidateBasic is used for validating the packet +func (p RequestPrivateKeysharePacketData) ValidateBasic() error { + return nil +} + +// GetBytes is a helper for serialising +func (p RequestPrivateKeysharePacketData) GetBytes() []byte { + var modulePacket KeysharePacketData + + modulePacket.Packet = &KeysharePacketData_RequestPrivKeysharePacket{&p} + + return sdk.MustSortJSON(MustProtoMarshalJSON(&modulePacket)) +} diff --git a/x/keyshare/types/params.go b/x/keyshare/types/params.go index 1dbbd8b9..735548a0 100644 --- a/x/keyshare/types/params.go +++ b/x/keyshare/types/params.go @@ -1,8 +1,9 @@ package types import ( - "cosmossdk.io/math" "fmt" + + "cosmossdk.io/math" sdk "github.com/cosmos/cosmos-sdk/types" paramtypes "github.com/cosmos/cosmos-sdk/x/params/types" diff --git a/x/keyshare/types/requested_keyshare.pb.go b/x/keyshare/types/requested_keyshare.pb.go index ead86b1b..7c870f13 100644 --- a/x/keyshare/types/requested_keyshare.pb.go +++ b/x/keyshare/types/requested_keyshare.pb.go @@ -5,6 +5,7 @@ package types import ( fmt "fmt" + types "github.com/Fairblock/fairyring/x/common/types" proto "github.com/cosmos/gogoproto/proto" io "io" math "math" @@ -258,10 +259,103 @@ func (m *CounterPartyIBCInfo) GetPortID() string { return "" } +type PrivateKeyshareRequest struct { + Identity string `protobuf:"bytes,1,opt,name=identity,proto3" json:"identity,omitempty"` + Pubkey string `protobuf:"bytes,2,opt,name=pubkey,proto3" json:"pubkey,omitempty"` + IbcInfo *IBCInfo `protobuf:"bytes,3,opt,name=ibc_info,json=ibcInfo,proto3" json:"ibc_info,omitempty"` + Counterparty *CounterPartyIBCInfo `protobuf:"bytes,4,opt,name=counterparty,proto3" json:"counterparty,omitempty"` + EncryptedKeyshares []*types.EncryptedKeyshare `protobuf:"bytes,5,rep,name=encrypted_keyshares,json=encryptedKeyshares,proto3" json:"encrypted_keyshares,omitempty"` + RequestId string `protobuf:"bytes,6,opt,name=request_id,json=requestId,proto3" json:"request_id,omitempty"` + Sent bool `protobuf:"varint,7,opt,name=sent,proto3" json:"sent,omitempty"` +} + +func (m *PrivateKeyshareRequest) Reset() { *m = PrivateKeyshareRequest{} } +func (m *PrivateKeyshareRequest) String() string { return proto.CompactTextString(m) } +func (*PrivateKeyshareRequest) ProtoMessage() {} +func (*PrivateKeyshareRequest) Descriptor() ([]byte, []int) { + return fileDescriptor_e8ed024b19ae59bd, []int{3} +} +func (m *PrivateKeyshareRequest) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *PrivateKeyshareRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_PrivateKeyshareRequest.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *PrivateKeyshareRequest) XXX_Merge(src proto.Message) { + xxx_messageInfo_PrivateKeyshareRequest.Merge(m, src) +} +func (m *PrivateKeyshareRequest) XXX_Size() int { + return m.Size() +} +func (m *PrivateKeyshareRequest) XXX_DiscardUnknown() { + xxx_messageInfo_PrivateKeyshareRequest.DiscardUnknown(m) +} + +var xxx_messageInfo_PrivateKeyshareRequest proto.InternalMessageInfo + +func (m *PrivateKeyshareRequest) GetIdentity() string { + if m != nil { + return m.Identity + } + return "" +} + +func (m *PrivateKeyshareRequest) GetPubkey() string { + if m != nil { + return m.Pubkey + } + return "" +} + +func (m *PrivateKeyshareRequest) GetIbcInfo() *IBCInfo { + if m != nil { + return m.IbcInfo + } + return nil +} + +func (m *PrivateKeyshareRequest) GetCounterparty() *CounterPartyIBCInfo { + if m != nil { + return m.Counterparty + } + return nil +} + +func (m *PrivateKeyshareRequest) GetEncryptedKeyshares() []*types.EncryptedKeyshare { + if m != nil { + return m.EncryptedKeyshares + } + return nil +} + +func (m *PrivateKeyshareRequest) GetRequestId() string { + if m != nil { + return m.RequestId + } + return "" +} + +func (m *PrivateKeyshareRequest) GetSent() bool { + if m != nil { + return m.Sent + } + return false +} + func init() { proto.RegisterType((*KeyShareRequest)(nil), "fairyring.keyshare.KeyShareRequest") proto.RegisterType((*IBCInfo)(nil), "fairyring.keyshare.IBCInfo") proto.RegisterType((*CounterPartyIBCInfo)(nil), "fairyring.keyshare.CounterPartyIBCInfo") + proto.RegisterType((*PrivateKeyshareRequest)(nil), "fairyring.keyshare.PrivateKeyshareRequest") } func init() { @@ -269,33 +363,37 @@ func init() { } var fileDescriptor_e8ed024b19ae59bd = []byte{ - // 401 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xc4, 0x92, 0xcd, 0xea, 0xd3, 0x40, - 0x14, 0xc5, 0x3b, 0x7f, 0x6b, 0x9b, 0xdc, 0x56, 0x84, 0x11, 0x24, 0xf8, 0x11, 0x4b, 0x5c, 0x58, - 0x10, 0x12, 0x50, 0xf0, 0x01, 0x9a, 0x22, 0x0c, 0xdd, 0x94, 0xb8, 0x73, 0x53, 0xf2, 0x31, 0x4d, - 0x87, 0xc6, 0x99, 0x38, 0x99, 0x80, 0x59, 0xf9, 0x00, 0x6e, 0x7c, 0x27, 0x37, 0x2e, 0xbb, 0x74, - 0x29, 0xed, 0x8b, 0xc8, 0x4c, 0x92, 0x96, 0x62, 0xf7, 0xff, 0xdd, 0x9c, 0x73, 0xef, 0xb9, 0xb9, - 0xf9, 0x71, 0xe1, 0xed, 0x36, 0x66, 0xb2, 0x91, 0x8c, 0xe7, 0xc1, 0x9e, 0x36, 0xd5, 0x2e, 0x96, - 0x34, 0x90, 0xf4, 0x6b, 0x4d, 0x2b, 0x45, 0xb3, 0x4d, 0x6f, 0xf9, 0xa5, 0x14, 0x4a, 0x60, 0x7c, - 0x6e, 0xf6, 0xfb, 0x8a, 0xf7, 0xeb, 0x0e, 0x1e, 0xaf, 0x68, 0xf3, 0x49, 0x8b, 0xa8, 0x0d, 0xe2, - 0x67, 0x60, 0xb1, 0x8c, 0x72, 0xc5, 0x54, 0xe3, 0xa0, 0x19, 0x9a, 0xdb, 0xd1, 0x59, 0xe3, 0xa7, - 0x30, 0x2a, 0xeb, 0x64, 0x4f, 0x1b, 0xe7, 0xce, 0x54, 0x3a, 0x85, 0x3f, 0x80, 0xc5, 0x92, 0x74, - 0xc3, 0xf8, 0x56, 0x38, 0x0f, 0x66, 0x68, 0x3e, 0x79, 0xf7, 0xdc, 0xff, 0xff, 0x73, 0x3e, 0x59, - 0x84, 0x84, 0x6f, 0x45, 0x34, 0x66, 0x49, 0xaa, 0x1f, 0x78, 0x05, 0xd3, 0x54, 0xd4, 0x5c, 0x51, - 0x59, 0xc6, 0x52, 0x35, 0xce, 0xd0, 0x64, 0xdf, 0xdc, 0xca, 0x86, 0x6d, 0xdf, 0x5a, 0xf7, 0xf5, - 0x73, 0xae, 0xc2, 0xf8, 0x35, 0x3c, 0x8a, 0xf3, 0x5c, 0x9e, 0xff, 0xdb, 0x79, 0x68, 0x76, 0x9c, - 0x6a, 0x73, 0xd5, 0x79, 0xf8, 0x15, 0x4c, 0x4a, 0x29, 0x4a, 0x51, 0xc5, 0xc5, 0x86, 0x65, 0xce, - 0xc8, 0xb4, 0x40, 0x6f, 0x91, 0x0c, 0xbf, 0x04, 0xe8, 0x10, 0xea, 0xfa, 0xd8, 0xd4, 0xed, 0xce, - 0x21, 0x19, 0xc6, 0x30, 0xac, 0x28, 0x57, 0x8e, 0x35, 0x43, 0x73, 0x2b, 0x32, 0x6f, 0xef, 0x3b, - 0x8c, 0xbb, 0x8d, 0x34, 0xbc, 0xb0, 0x60, 0x94, 0x2b, 0xb2, 0xec, 0xe1, 0xf5, 0x1a, 0x7b, 0x30, - 0x0d, 0x05, 0xe7, 0x34, 0x55, 0x4c, 0x70, 0xb2, 0xec, 0x10, 0x5e, 0x79, 0xf8, 0x05, 0xd8, 0xe1, - 0x2e, 0xe6, 0x9c, 0x16, 0x64, 0x69, 0x48, 0xda, 0xd1, 0xc5, 0xd0, 0xf8, 0xd7, 0x42, 0xea, 0xd9, - 0xc3, 0x16, 0x7f, 0xab, 0xbc, 0x1f, 0x08, 0x9e, 0xdc, 0xe0, 0x73, 0x3f, 0xdb, 0x2c, 0xc8, 0xef, - 0xa3, 0x8b, 0x0e, 0x47, 0x17, 0xfd, 0x3d, 0xba, 0xe8, 0xe7, 0xc9, 0x1d, 0x1c, 0x4e, 0xee, 0xe0, - 0xcf, 0xc9, 0x1d, 0x7c, 0x0e, 0x72, 0xa6, 0x76, 0x75, 0xe2, 0xa7, 0xe2, 0x4b, 0xf0, 0x31, 0x66, - 0x32, 0x29, 0x44, 0xba, 0x0f, 0x2e, 0x47, 0xfc, 0xed, 0x72, 0xc6, 0xaa, 0x29, 0x69, 0x95, 0x8c, - 0xcc, 0xe9, 0xbe, 0xff, 0x17, 0x00, 0x00, 0xff, 0xff, 0x2d, 0xcb, 0xdb, 0x7d, 0xe9, 0x02, 0x00, - 0x00, + // 477 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xd4, 0x94, 0xcb, 0x8a, 0x13, 0x41, + 0x14, 0x86, 0xd3, 0x99, 0x4c, 0x2e, 0x27, 0x11, 0xa1, 0x06, 0x86, 0x66, 0xd4, 0x36, 0x24, 0x0b, + 0x03, 0x42, 0x37, 0x8c, 0xe0, 0x03, 0x4c, 0x47, 0xa1, 0xc9, 0x26, 0xb4, 0xae, 0xdc, 0x84, 0xbe, + 0x9c, 0x24, 0x45, 0x32, 0x55, 0x6d, 0x75, 0x45, 0xec, 0x95, 0x0f, 0xe0, 0xc6, 0x77, 0x72, 0xe3, + 0x72, 0x96, 0xe2, 0x4a, 0x92, 0x17, 0x91, 0xaa, 0xbe, 0xcd, 0x8c, 0x71, 0x2d, 0xb3, 0xab, 0xf3, + 0x9f, 0x0b, 0x3f, 0x1f, 0xa7, 0x0e, 0xbc, 0x5c, 0x06, 0x54, 0x64, 0x82, 0xb2, 0x95, 0xb3, 0xc1, + 0x2c, 0x5d, 0x07, 0x02, 0x1d, 0x81, 0x1f, 0x77, 0x98, 0x4a, 0x8c, 0x17, 0xa5, 0x64, 0x27, 0x82, + 0x4b, 0x4e, 0x48, 0x55, 0x6c, 0x97, 0x99, 0x8b, 0x71, 0x3d, 0x20, 0xe2, 0xd7, 0xd7, 0x9c, 0x39, + 0x5a, 0x8f, 0x17, 0x32, 0x4b, 0x30, 0xcd, 0x1b, 0x47, 0xdf, 0x9b, 0xf0, 0x78, 0x86, 0xd9, 0x3b, + 0x95, 0xf1, 0xf3, 0xe9, 0xe4, 0x02, 0xba, 0x34, 0x46, 0x26, 0xa9, 0xcc, 0x4c, 0x63, 0x68, 0x4c, + 0x7a, 0x7e, 0x15, 0x93, 0x73, 0x68, 0x27, 0xbb, 0x70, 0x83, 0x99, 0xd9, 0xd4, 0x99, 0x22, 0x22, + 0xaf, 0xa1, 0x4b, 0xc3, 0x68, 0x41, 0xd9, 0x92, 0x9b, 0x27, 0x43, 0x63, 0xd2, 0xbf, 0x7c, 0x62, + 0xff, 0xed, 0xc9, 0xf6, 0xae, 0x5c, 0x8f, 0x2d, 0xb9, 0xdf, 0xa1, 0x61, 0xa4, 0x1e, 0x64, 0x06, + 0x83, 0x88, 0xef, 0x98, 0x44, 0x91, 0x04, 0x42, 0x66, 0x66, 0x4b, 0xf7, 0xbe, 0x38, 0xd6, 0xeb, + 0xe6, 0x75, 0x73, 0x55, 0x57, 0xce, 0xb9, 0xd3, 0x4c, 0xc6, 0xf0, 0x28, 0x58, 0xad, 0x44, 0x05, + 0xc7, 0x3c, 0xd5, 0x1e, 0x07, 0x4a, 0x9c, 0x15, 0x1a, 0x79, 0x0e, 0xfd, 0x44, 0xf0, 0x84, 0xa7, + 0xc1, 0x76, 0x41, 0x63, 0xb3, 0xad, 0x4b, 0xa0, 0x94, 0xbc, 0x98, 0x3c, 0x03, 0x28, 0x38, 0xab, + 0x7c, 0x47, 0xe7, 0x7b, 0x85, 0xe2, 0xc5, 0x84, 0x40, 0x2b, 0x45, 0x26, 0xcd, 0xee, 0xd0, 0x98, + 0x74, 0x7d, 0xfd, 0x1e, 0x7d, 0x81, 0x4e, 0xe1, 0x48, 0xc1, 0x73, 0xb7, 0x14, 0x99, 0xf4, 0xa6, + 0x25, 0xbc, 0x32, 0x26, 0x23, 0x18, 0xb8, 0x9c, 0x31, 0x8c, 0x24, 0xe5, 0xcc, 0x9b, 0x16, 0x08, + 0xef, 0x68, 0xe4, 0x29, 0xf4, 0xdc, 0x75, 0xc0, 0x18, 0x6e, 0xbd, 0xa9, 0x26, 0xd9, 0xf3, 0x6b, + 0x41, 0xe1, 0x9f, 0x73, 0xa1, 0x66, 0xb7, 0x72, 0xfc, 0x79, 0x34, 0xfa, 0x6a, 0xc0, 0xd9, 0x11, + 0x3e, 0xff, 0xc9, 0xcd, 0xaf, 0x26, 0x9c, 0xcf, 0x05, 0xfd, 0x14, 0x48, 0x2c, 0xb1, 0x3f, 0xf8, + 0xdd, 0x7a, 0x0f, 0x67, 0xc8, 0x22, 0x91, 0x25, 0xb7, 0x7f, 0x5f, 0x6a, 0x9e, 0x0e, 0x4f, 0x26, + 0xfd, 0xcb, 0xf1, 0xad, 0x99, 0xf9, 0x5f, 0xb3, 0xdf, 0x94, 0xc5, 0x15, 0x01, 0x82, 0xf7, 0xa5, + 0xf4, 0xde, 0xae, 0xb5, 0xff, 0xb5, 0x6b, 0x9d, 0x7a, 0xd7, 0xae, 0xbc, 0x1f, 0x7b, 0xcb, 0xb8, + 0xd9, 0x5b, 0xc6, 0xef, 0xbd, 0x65, 0x7c, 0x3b, 0x58, 0x8d, 0x9b, 0x83, 0xd5, 0xf8, 0x79, 0xb0, + 0x1a, 0x1f, 0x9c, 0x15, 0x95, 0xeb, 0x5d, 0xa8, 0x1c, 0x38, 0x6f, 0x03, 0x2a, 0xc2, 0x2d, 0x8f, + 0x36, 0x4e, 0x7d, 0x05, 0x3e, 0xd7, 0x87, 0x44, 0x9f, 0x80, 0xb0, 0xad, 0x6f, 0xc0, 0xab, 0x3f, + 0x01, 0x00, 0x00, 0xff, 0xff, 0xb3, 0x16, 0xed, 0xc7, 0x6b, 0x04, 0x00, 0x00, } func (m *KeyShareRequest) Marshal() (dAtA []byte, err error) { @@ -492,6 +590,98 @@ func (m *CounterPartyIBCInfo) MarshalToSizedBuffer(dAtA []byte) (int, error) { return len(dAtA) - i, nil } +func (m *PrivateKeyshareRequest) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *PrivateKeyshareRequest) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *PrivateKeyshareRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if m.Sent { + i-- + if m.Sent { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x38 + } + if len(m.RequestId) > 0 { + i -= len(m.RequestId) + copy(dAtA[i:], m.RequestId) + i = encodeVarintRequestedKeyshare(dAtA, i, uint64(len(m.RequestId))) + i-- + dAtA[i] = 0x32 + } + if len(m.EncryptedKeyshares) > 0 { + for iNdEx := len(m.EncryptedKeyshares) - 1; iNdEx >= 0; iNdEx-- { + { + size, err := m.EncryptedKeyshares[iNdEx].MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintRequestedKeyshare(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x2a + } + } + if m.Counterparty != nil { + { + size, err := m.Counterparty.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintRequestedKeyshare(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x22 + } + if m.IbcInfo != nil { + { + size, err := m.IbcInfo.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintRequestedKeyshare(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x1a + } + if len(m.Pubkey) > 0 { + i -= len(m.Pubkey) + copy(dAtA[i:], m.Pubkey) + i = encodeVarintRequestedKeyshare(dAtA, i, uint64(len(m.Pubkey))) + i-- + dAtA[i] = 0x12 + } + if len(m.Identity) > 0 { + i -= len(m.Identity) + copy(dAtA[i:], m.Identity) + i = encodeVarintRequestedKeyshare(dAtA, i, uint64(len(m.Identity))) + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + func encodeVarintRequestedKeyshare(dAtA []byte, offset int, v uint64) int { offset -= sovRequestedKeyshare(v) base := offset @@ -593,6 +783,44 @@ func (m *CounterPartyIBCInfo) Size() (n int) { return n } +func (m *PrivateKeyshareRequest) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.Identity) + if l > 0 { + n += 1 + l + sovRequestedKeyshare(uint64(l)) + } + l = len(m.Pubkey) + if l > 0 { + n += 1 + l + sovRequestedKeyshare(uint64(l)) + } + if m.IbcInfo != nil { + l = m.IbcInfo.Size() + n += 1 + l + sovRequestedKeyshare(uint64(l)) + } + if m.Counterparty != nil { + l = m.Counterparty.Size() + n += 1 + l + sovRequestedKeyshare(uint64(l)) + } + if len(m.EncryptedKeyshares) > 0 { + for _, e := range m.EncryptedKeyshares { + l = e.Size() + n += 1 + l + sovRequestedKeyshare(uint64(l)) + } + } + l = len(m.RequestId) + if l > 0 { + n += 1 + l + sovRequestedKeyshare(uint64(l)) + } + if m.Sent { + n += 2 + } + return n +} + func sovRequestedKeyshare(x uint64) (n int) { return (math_bits.Len64(x|1) + 6) / 7 } @@ -1257,6 +1485,278 @@ func (m *CounterPartyIBCInfo) Unmarshal(dAtA []byte) error { } return nil } +func (m *PrivateKeyshareRequest) Unmarshal(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowRequestedKeyshare + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: PrivateKeyshareRequest: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: PrivateKeyshareRequest: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Identity", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowRequestedKeyshare + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthRequestedKeyshare + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthRequestedKeyshare + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Identity = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Pubkey", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowRequestedKeyshare + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthRequestedKeyshare + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthRequestedKeyshare + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Pubkey = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field IbcInfo", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowRequestedKeyshare + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthRequestedKeyshare + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthRequestedKeyshare + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.IbcInfo == nil { + m.IbcInfo = &IBCInfo{} + } + if err := m.IbcInfo.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 4: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Counterparty", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowRequestedKeyshare + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthRequestedKeyshare + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthRequestedKeyshare + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.Counterparty == nil { + m.Counterparty = &CounterPartyIBCInfo{} + } + if err := m.Counterparty.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 5: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field EncryptedKeyshares", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowRequestedKeyshare + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthRequestedKeyshare + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthRequestedKeyshare + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.EncryptedKeyshares = append(m.EncryptedKeyshares, &types.EncryptedKeyshare{}) + if err := m.EncryptedKeyshares[len(m.EncryptedKeyshares)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 6: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field RequestId", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowRequestedKeyshare + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthRequestedKeyshare + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthRequestedKeyshare + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.RequestId = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 7: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Sent", wireType) + } + var v int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowRequestedKeyshare + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + m.Sent = bool(v != 0) + default: + iNdEx = preIndex + skippy, err := skipRequestedKeyshare(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthRequestedKeyshare + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} func skipRequestedKeyshare(dAtA []byte) (n int, err error) { l := len(dAtA) iNdEx := 0 diff --git a/x/keyshare/types/tx.pb.go b/x/keyshare/types/tx.pb.go index b0476122..9decfe73 100644 --- a/x/keyshare/types/tx.pb.go +++ b/x/keyshare/types/tx.pb.go @@ -1149,6 +1149,134 @@ func (m *MsgCreateGeneralKeyShareResponse) GetErrorMessage() string { return "" } +type MsgSubmitEncryptedKeyshare struct { + Creator string `protobuf:"bytes,1,opt,name=creator,proto3" json:"creator,omitempty"` + Identity string `protobuf:"bytes,2,opt,name=identity,proto3" json:"identity,omitempty"` + EncryptedKeyshare string `protobuf:"bytes,3,opt,name=encryptedKeyshare,proto3" json:"encryptedKeyshare,omitempty"` + KeyShareIndex uint64 `protobuf:"varint,4,opt,name=keyShareIndex,proto3" json:"keyShareIndex,omitempty"` + ReceivedTimestamp uint64 `protobuf:"varint,5,opt,name=receivedTimestamp,proto3" json:"receivedTimestamp,omitempty"` + ReceivedBlockHeight uint64 `protobuf:"varint,6,opt,name=receivedBlockHeight,proto3" json:"receivedBlockHeight,omitempty"` + Requester string `protobuf:"bytes,7,opt,name=requester,proto3" json:"requester,omitempty"` +} + +func (m *MsgSubmitEncryptedKeyshare) Reset() { *m = MsgSubmitEncryptedKeyshare{} } +func (m *MsgSubmitEncryptedKeyshare) String() string { return proto.CompactTextString(m) } +func (*MsgSubmitEncryptedKeyshare) ProtoMessage() {} +func (*MsgSubmitEncryptedKeyshare) Descriptor() ([]byte, []int) { + return fileDescriptor_1f96ac6a55f1845c, []int{20} +} +func (m *MsgSubmitEncryptedKeyshare) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *MsgSubmitEncryptedKeyshare) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_MsgSubmitEncryptedKeyshare.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *MsgSubmitEncryptedKeyshare) XXX_Merge(src proto.Message) { + xxx_messageInfo_MsgSubmitEncryptedKeyshare.Merge(m, src) +} +func (m *MsgSubmitEncryptedKeyshare) XXX_Size() int { + return m.Size() +} +func (m *MsgSubmitEncryptedKeyshare) XXX_DiscardUnknown() { + xxx_messageInfo_MsgSubmitEncryptedKeyshare.DiscardUnknown(m) +} + +var xxx_messageInfo_MsgSubmitEncryptedKeyshare proto.InternalMessageInfo + +func (m *MsgSubmitEncryptedKeyshare) GetCreator() string { + if m != nil { + return m.Creator + } + return "" +} + +func (m *MsgSubmitEncryptedKeyshare) GetIdentity() string { + if m != nil { + return m.Identity + } + return "" +} + +func (m *MsgSubmitEncryptedKeyshare) GetEncryptedKeyshare() string { + if m != nil { + return m.EncryptedKeyshare + } + return "" +} + +func (m *MsgSubmitEncryptedKeyshare) GetKeyShareIndex() uint64 { + if m != nil { + return m.KeyShareIndex + } + return 0 +} + +func (m *MsgSubmitEncryptedKeyshare) GetReceivedTimestamp() uint64 { + if m != nil { + return m.ReceivedTimestamp + } + return 0 +} + +func (m *MsgSubmitEncryptedKeyshare) GetReceivedBlockHeight() uint64 { + if m != nil { + return m.ReceivedBlockHeight + } + return 0 +} + +func (m *MsgSubmitEncryptedKeyshare) GetRequester() string { + if m != nil { + return m.Requester + } + return "" +} + +type MsgSubmitEncryptedKeyshareResponse struct { +} + +func (m *MsgSubmitEncryptedKeyshareResponse) Reset() { *m = MsgSubmitEncryptedKeyshareResponse{} } +func (m *MsgSubmitEncryptedKeyshareResponse) String() string { return proto.CompactTextString(m) } +func (*MsgSubmitEncryptedKeyshareResponse) ProtoMessage() {} +func (*MsgSubmitEncryptedKeyshareResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_1f96ac6a55f1845c, []int{21} +} +func (m *MsgSubmitEncryptedKeyshareResponse) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *MsgSubmitEncryptedKeyshareResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_MsgSubmitEncryptedKeyshareResponse.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *MsgSubmitEncryptedKeyshareResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_MsgSubmitEncryptedKeyshareResponse.Merge(m, src) +} +func (m *MsgSubmitEncryptedKeyshareResponse) XXX_Size() int { + return m.Size() +} +func (m *MsgSubmitEncryptedKeyshareResponse) XXX_DiscardUnknown() { + xxx_messageInfo_MsgSubmitEncryptedKeyshareResponse.DiscardUnknown(m) +} + +var xxx_messageInfo_MsgSubmitEncryptedKeyshareResponse proto.InternalMessageInfo + func init() { proto.RegisterType((*MsgUpdateParams)(nil), "fairyring.keyshare.MsgUpdateParams") proto.RegisterType((*MsgUpdateParamsResponse)(nil), "fairyring.keyshare.MsgUpdateParamsResponse") @@ -1170,79 +1298,86 @@ func init() { proto.RegisterType((*MsgDeleteAuthorizedAddressResponse)(nil), "fairyring.keyshare.MsgDeleteAuthorizedAddressResponse") proto.RegisterType((*MsgCreateGeneralKeyShare)(nil), "fairyring.keyshare.MsgCreateGeneralKeyShare") proto.RegisterType((*MsgCreateGeneralKeyShareResponse)(nil), "fairyring.keyshare.MsgCreateGeneralKeyShareResponse") + proto.RegisterType((*MsgSubmitEncryptedKeyshare)(nil), "fairyring.keyshare.MsgSubmitEncryptedKeyshare") + proto.RegisterType((*MsgSubmitEncryptedKeyshareResponse)(nil), "fairyring.keyshare.MsgSubmitEncryptedKeyshareResponse") } func init() { proto.RegisterFile("fairyring/keyshare/tx.proto", fileDescriptor_1f96ac6a55f1845c) } var fileDescriptor_1f96ac6a55f1845c = []byte{ - // 1063 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe4, 0x57, 0xcf, 0x6f, 0xdc, 0x44, - 0x14, 0x8e, 0x77, 0x93, 0x4d, 0xf6, 0x65, 0x11, 0x8a, 0x9b, 0x26, 0xae, 0x29, 0x9b, 0x65, 0x09, - 0xd2, 0xb2, 0x94, 0xdd, 0x36, 0x45, 0x05, 0x45, 0x02, 0xd1, 0x50, 0x7e, 0x54, 0x61, 0xd5, 0xca, - 0x69, 0x7b, 0x40, 0x48, 0xa9, 0xd7, 0x7e, 0x75, 0xac, 0xac, 0xd7, 0xab, 0x99, 0xd9, 0x28, 0x86, - 0x4b, 0xe1, 0x00, 0x88, 0x13, 0x27, 0x2e, 0x5c, 0x38, 0x72, 0x23, 0x07, 0xfe, 0x01, 0x6e, 0x3d, - 0x46, 0x9c, 0x38, 0x21, 0x94, 0x1c, 0xf2, 0x6f, 0x20, 0xdb, 0x63, 0xef, 0xaf, 0x99, 0x8d, 0x83, - 0x84, 0x38, 0xf4, 0x92, 0xec, 0x7b, 0xef, 0xf3, 0x7b, 0xdf, 0x7c, 0x33, 0x7e, 0x6f, 0x0c, 0x2f, - 0x3d, 0x31, 0x5d, 0x12, 0x10, 0xb7, 0xeb, 0x34, 0xf7, 0x31, 0xa0, 0x7b, 0x26, 0xc1, 0x26, 0x3b, - 0x6c, 0xf4, 0x88, 0xcf, 0x7c, 0x55, 0x4d, 0x83, 0x8d, 0x24, 0xa8, 0x2f, 0x99, 0x9e, 0xdb, 0xf5, - 0x9b, 0xd1, 0xdf, 0x18, 0xa6, 0xaf, 0x5a, 0x3e, 0xf5, 0x7c, 0xda, 0xf4, 0xa8, 0xd3, 0x3c, 0xb8, - 0x11, 0xfe, 0xe3, 0x81, 0x2b, 0x71, 0x60, 0x37, 0xb2, 0x9a, 0xb1, 0xc1, 0x43, 0xcb, 0x8e, 0xef, - 0xf8, 0xb1, 0x3f, 0xfc, 0xc5, 0xbd, 0x6b, 0x02, 0x36, 0x3d, 0x93, 0x98, 0x5e, 0xf2, 0x58, 0x5d, - 0x00, 0x70, 0xb0, 0x8b, 0xc4, 0xec, 0xec, 0xee, 0x63, 0xb0, 0x1b, 0x79, 0x38, 0xb6, 0x22, 0x4a, - 0xd6, 0x6f, 0x87, 0xb8, 0x18, 0x51, 0xfd, 0x5d, 0x81, 0x17, 0x5b, 0xd4, 0x79, 0xd8, 0xb3, 0x4d, - 0x86, 0xf7, 0xa3, 0x3a, 0xea, 0x2d, 0x28, 0x9a, 0x7d, 0xb6, 0xe7, 0x13, 0x97, 0x05, 0x9a, 0x52, - 0x51, 0x6a, 0xc5, 0x2d, 0xed, 0x8f, 0xdf, 0xde, 0x5c, 0xe6, 0xec, 0x6f, 0xdb, 0x36, 0x41, 0x4a, - 0x77, 0x58, 0x98, 0xd7, 0x18, 0x40, 0xd5, 0x77, 0xa1, 0x10, 0x33, 0xd5, 0x72, 0x15, 0xa5, 0xb6, - 0xb8, 0xa1, 0x37, 0x26, 0xc5, 0x6b, 0xc4, 0x35, 0xb6, 0x8a, 0xcf, 0xfe, 0x5a, 0x9b, 0xf9, 0xe5, - 0xec, 0xa8, 0xae, 0x18, 0xfc, 0xa1, 0xcd, 0xb7, 0xbf, 0x3e, 0x3b, 0xaa, 0x0f, 0xd2, 0x7d, 0x7f, - 0x76, 0x54, 0x5f, 0x1f, 0xf0, 0x3f, 0x1c, 0xac, 0x60, 0x8c, 0x6f, 0xf5, 0x0a, 0xac, 0x8e, 0xb9, - 0x0c, 0xa4, 0x3d, 0xbf, 0x4b, 0xb1, 0xfa, 0x1e, 0x2c, 0xb7, 0xa8, 0x63, 0xa0, 0xe3, 0x52, 0x86, - 0xe4, 0x91, 0xd9, 0x71, 0x6d, 0x93, 0xf9, 0x44, 0xd5, 0x60, 0xde, 0x22, 0x18, 0xfe, 0x8c, 0x17, - 0x68, 0x24, 0xe6, 0x66, 0x29, 0x64, 0x91, 0x58, 0xd5, 0x77, 0xe0, 0xaa, 0xe8, 0xf9, 0x24, 0xbf, - 0x3c, 0x4f, 0xf5, 0x7d, 0x58, 0x69, 0x51, 0xe7, 0x0e, 0xfe, 0xfb, 0xda, 0x9b, 0x50, 0x16, 0x67, - 0xc8, 0x50, 0xfd, 0xa7, 0x78, 0x5b, 0x77, 0xb0, 0x6b, 0x6f, 0x73, 0xd9, 0xe4, 0xe8, 0x30, 0xe2, - 0x21, 0xa5, 0xa6, 0x83, 0xd1, 0xce, 0x15, 0x8d, 0xc4, 0x54, 0xd7, 0xe1, 0x85, 0x7d, 0x0c, 0x76, - 0xc2, 0xe7, 0xef, 0x76, 0x6d, 0x3c, 0xd4, 0xf2, 0x15, 0xa5, 0x36, 0x6b, 0x8c, 0x3a, 0xd5, 0x0a, - 0x2c, 0xb6, 0x3b, 0xbe, 0xb5, 0xff, 0x09, 0xba, 0xce, 0x1e, 0xd3, 0x66, 0x23, 0xcc, 0xb0, 0x6b, - 0x6c, 0x65, 0xdf, 0xe6, 0xa2, 0x1d, 0x1b, 0x66, 0x77, 0xfe, 0x9a, 0x54, 0x1d, 0x16, 0x92, 0x23, - 0xc0, 0x69, 0xa6, 0x36, 0xe7, 0x49, 0x45, 0x3c, 0xe9, 0x05, 0x78, 0xaa, 0xd7, 0xe1, 0x12, 0x41, - 0x0b, 0xdd, 0x03, 0xb4, 0xb7, 0x86, 0x90, 0x73, 0x11, 0x52, 0x14, 0x0a, 0xf9, 0xd2, 0xbe, 0x65, - 0x21, 0xa5, 0x5a, 0xa1, 0xa2, 0xd4, 0x16, 0x8c, 0xc4, 0x54, 0xab, 0x50, 0x42, 0x42, 0x7c, 0xd2, - 0xe2, 0xd2, 0xce, 0x47, 0x9c, 0x47, 0x7c, 0xd5, 0x6f, 0x72, 0x70, 0xb9, 0x45, 0x9d, 0x0f, 0xc2, - 0x25, 0xe2, 0xa7, 0x26, 0x43, 0xca, 0xee, 0xf7, 0xdb, 0xdb, 0x18, 0x4c, 0xd1, 0xe1, 0x2a, 0x14, - 0x7b, 0xfd, 0x76, 0xc7, 0xb5, 0xb6, 0x31, 0xe0, 0x42, 0x0c, 0x1c, 0xe1, 0x1a, 0x2d, 0xdf, 0xf3, - 0x5c, 0xe6, 0x61, 0x97, 0x51, 0x2d, 0x5f, 0xc9, 0xd7, 0x8a, 0xc6, 0xb0, 0x4b, 0x6d, 0x80, 0xda, - 0xed, 0x7b, 0x6d, 0x24, 0xf7, 0x9e, 0xa4, 0x47, 0x8a, 0x72, 0x31, 0x04, 0x11, 0xf5, 0x21, 0xa8, - 0xd8, 0xb5, 0x48, 0xd0, 0x63, 0x18, 0x6e, 0x57, 0xb4, 0xef, 0x54, 0x9b, 0xab, 0xe4, 0x6b, 0x8b, - 0x1b, 0xaf, 0x89, 0x5e, 0xf1, 0x0f, 0xc7, 0xd1, 0x86, 0x20, 0xc1, 0xd8, 0x91, 0x58, 0x83, 0x97, - 0x85, 0x3a, 0xa4, 0x6f, 0xf2, 0x77, 0xf1, 0x99, 0xb9, 0x77, 0x80, 0x84, 0xb8, 0xf6, 0x73, 0xad, - 0xd5, 0x2b, 0xb0, 0x26, 0x51, 0x22, 0x55, 0xeb, 0x73, 0xd0, 0x53, 0x39, 0x6f, 0xc7, 0x1d, 0xf5, - 0x0b, 0xb4, 0x79, 0xe7, 0x56, 0x57, 0xa0, 0xc0, 0x4c, 0xe2, 0x20, 0xe3, 0x72, 0x71, 0x6b, 0x58, - 0xc7, 0xdc, 0xb4, 0xce, 0xb4, 0x0e, 0x55, 0x79, 0xf6, 0x94, 0xc3, 0x53, 0x25, 0x22, 0x11, 0xf7, - 0xe5, 0xec, 0x24, 0xaa, 0x50, 0x72, 0xe9, 0x00, 0x1e, 0x31, 0x59, 0x30, 0x46, 0x7c, 0xc3, 0x44, - 0xf3, 0xe7, 0x13, 0x95, 0x30, 0x18, 0x13, 0xeb, 0x0e, 0x76, 0xf0, 0xbf, 0x13, 0x4b, 0x92, 0x3d, - 0xe5, 0xf0, 0x63, 0x0e, 0xb4, 0x54, 0xd3, 0x8f, 0xe3, 0x71, 0x9e, 0xec, 0xff, 0x94, 0xf3, 0xbd, - 0x02, 0x05, 0xd7, 0x7e, 0x10, 0xf4, 0x92, 0x8e, 0xc8, 0xad, 0xf0, 0x09, 0xd7, 0x7e, 0x64, 0x76, - 0xfa, 0x98, 0x08, 0xc4, 0x4d, 0xde, 0x45, 0xa3, 0xbc, 0xd1, 0x39, 0x8e, 0xbb, 0xe8, 0xce, 0x50, - 0x17, 0x1d, 0xea, 0xf6, 0x73, 0xa2, 0x6e, 0x7f, 0x0d, 0x96, 0x92, 0x46, 0xf8, 0xc0, 0xf5, 0x90, - 0x32, 0xd3, 0xeb, 0x45, 0xbd, 0x6f, 0xd6, 0x98, 0x0c, 0xc8, 0x3a, 0xea, 0xbc, 0xb4, 0xa3, 0x8e, - 0xc9, 0xf7, 0x73, 0x0e, 0x2a, 0x32, 0x61, 0x32, 0x0c, 0x8d, 0xff, 0x43, 0x20, 0xc9, 0x92, 0x0b, - 0x99, 0x86, 0xc8, 0xfc, 0xf4, 0x21, 0xb2, 0x30, 0x39, 0x44, 0x36, 0x7e, 0x2d, 0x42, 0xbe, 0x45, - 0x1d, 0xf5, 0x31, 0x94, 0x46, 0xee, 0x71, 0xaf, 0x8a, 0x1a, 0xce, 0xd8, 0x4d, 0x49, 0x7f, 0x23, - 0x03, 0x28, 0xd5, 0xd9, 0x87, 0xa5, 0xc9, 0xfb, 0x4c, 0x4d, 0x92, 0x61, 0x02, 0xa9, 0x5f, 0xcf, - 0x8a, 0x4c, 0x0b, 0xf6, 0xe1, 0x92, 0xe8, 0x0a, 0x55, 0x97, 0x24, 0x12, 0x60, 0xf5, 0x8d, 0xec, - 0xd8, 0xb4, 0xec, 0x63, 0x28, 0x8d, 0x5c, 0x9d, 0x64, 0x4a, 0x0e, 0x83, 0xa4, 0x4a, 0x0a, 0xaf, - 0x39, 0x04, 0x54, 0xc1, 0xd0, 0x7f, 0x5d, 0x92, 0x62, 0x12, 0xaa, 0xdf, 0xc8, 0x0c, 0x4d, 0x6b, - 0x1e, 0xc2, 0xb2, 0x70, 0x7c, 0xca, 0x88, 0x8b, 0xc0, 0xfa, 0xcd, 0x0b, 0x80, 0xd3, 0xca, 0x5f, - 0x29, 0xb0, 0x2a, 0x1b, 0x46, 0x8d, 0xa9, 0x0b, 0x99, 0xc0, 0xeb, 0xb7, 0x2e, 0x86, 0x1f, 0xe1, - 0x20, 0x9b, 0x45, 0x8d, 0xa9, 0x2f, 0x41, 0x76, 0x0e, 0xe7, 0x4c, 0x9a, 0x88, 0x83, 0x6c, 0xce, - 0x34, 0xa4, 0xe7, 0x54, 0x88, 0x97, 0x72, 0x38, 0x67, 0xd2, 0xa8, 0x5f, 0xc2, 0x65, 0xf1, 0x94, - 0xb9, 0x36, 0x55, 0xd8, 0x31, 0xb4, 0xfe, 0xd6, 0x45, 0xd0, 0x49, 0x71, 0x7d, 0xee, 0x69, 0xf8, - 0xc9, 0xb7, 0x75, 0xf7, 0xd9, 0x49, 0x59, 0x39, 0x3e, 0x29, 0x2b, 0x7f, 0x9f, 0x94, 0x95, 0x1f, - 0x4e, 0xcb, 0x33, 0xc7, 0xa7, 0xe5, 0x99, 0x3f, 0x4f, 0xcb, 0x33, 0x9f, 0x35, 0x1d, 0x97, 0xed, - 0xf5, 0xdb, 0x0d, 0xcb, 0xf7, 0x9a, 0x1f, 0x99, 0x2e, 0x89, 0x2e, 0xe7, 0x4d, 0xe1, 0x67, 0x20, - 0x0b, 0x7a, 0x48, 0xdb, 0x85, 0xe8, 0x3b, 0xf6, 0xe6, 0x3f, 0x01, 0x00, 0x00, 0xff, 0xff, 0x2e, - 0x37, 0xa8, 0x7a, 0xc6, 0x0f, 0x00, 0x00, + // 1145 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe4, 0x58, 0xcf, 0x6f, 0x1b, 0xc5, + 0x17, 0xcf, 0xda, 0x89, 0x13, 0xbf, 0xe4, 0xab, 0xaf, 0xb2, 0x4d, 0x13, 0x77, 0x09, 0x8e, 0x31, + 0x41, 0x32, 0xa1, 0xd8, 0x6d, 0x8a, 0x0a, 0x8a, 0x04, 0xa2, 0xa1, 0xfc, 0xa8, 0x82, 0xd5, 0x6a, + 0xd3, 0xf6, 0x80, 0x90, 0xd2, 0xb5, 0xf7, 0x75, 0xb3, 0x8a, 0xd7, 0x6b, 0x66, 0x66, 0xa3, 0x18, + 0x2e, 0x85, 0x03, 0x20, 0x4e, 0x9c, 0xb8, 0x70, 0xe1, 0xc8, 0x31, 0x02, 0xfe, 0x01, 0x6e, 0x3d, + 0x56, 0x9c, 0x38, 0x21, 0x94, 0x1c, 0xf2, 0x6f, 0xa0, 0xdd, 0x9d, 0x5d, 0xaf, 0xd7, 0x33, 0xf6, + 0x1a, 0x09, 0x71, 0xe0, 0xd2, 0xfa, 0xbd, 0xf9, 0xec, 0x9b, 0xcf, 0x7c, 0xe6, 0xed, 0x7b, 0x6f, + 0x03, 0xcf, 0x3d, 0x36, 0x6c, 0xd2, 0x27, 0x76, 0xd7, 0x6a, 0x1c, 0x61, 0x9f, 0x1e, 0x1a, 0x04, + 0x1b, 0xec, 0xa4, 0xde, 0x23, 0x2e, 0x73, 0x55, 0x35, 0x5e, 0xac, 0x47, 0x8b, 0xda, 0xb2, 0xe1, + 0xd8, 0x5d, 0xb7, 0x11, 0xfc, 0x1b, 0xc2, 0xb4, 0xb5, 0xb6, 0x4b, 0x1d, 0x97, 0x36, 0x1c, 0x6a, + 0x35, 0x8e, 0xaf, 0xfb, 0xff, 0xf1, 0x85, 0x2b, 0xe1, 0xc2, 0x41, 0x60, 0x35, 0x42, 0x83, 0x2f, + 0xad, 0x58, 0xae, 0xe5, 0x86, 0x7e, 0xff, 0x17, 0xf7, 0x6e, 0x08, 0xd8, 0xf4, 0x0c, 0x62, 0x38, + 0xd1, 0x63, 0x5b, 0x02, 0x80, 0x85, 0x5d, 0x24, 0x46, 0xe7, 0xe0, 0x08, 0xfb, 0x07, 0x81, 0x87, + 0x63, 0x2b, 0xa2, 0x60, 0x5e, 0xcb, 0xc7, 0x85, 0x88, 0xea, 0xaf, 0x0a, 0xfc, 0xbf, 0x49, 0xad, + 0x07, 0x3d, 0xd3, 0x60, 0x78, 0x2f, 0xd8, 0x47, 0xbd, 0x09, 0x45, 0xc3, 0x63, 0x87, 0x2e, 0xb1, + 0x59, 0xbf, 0xa4, 0x54, 0x94, 0x5a, 0x71, 0xb7, 0xf4, 0xdb, 0x2f, 0xaf, 0xae, 0x70, 0xf6, 0xb7, + 0x4c, 0x93, 0x20, 0xa5, 0xfb, 0xcc, 0x8f, 0xab, 0x0f, 0xa0, 0xea, 0x9b, 0x50, 0x08, 0x99, 0x96, + 0x72, 0x15, 0xa5, 0xb6, 0xb8, 0xad, 0xd5, 0x47, 0xc5, 0xab, 0x87, 0x7b, 0xec, 0x16, 0x9f, 0xfe, + 0xb1, 0x31, 0xf3, 0xe3, 0xc5, 0xe9, 0x96, 0xa2, 0xf3, 0x87, 0x76, 0x5e, 0xff, 0xe2, 0xe2, 0x74, + 0x6b, 0x10, 0xee, 0x9b, 0x8b, 0xd3, 0xad, 0xcd, 0x01, 0xff, 0x93, 0xc1, 0x09, 0x52, 0x7c, 0xab, + 0x57, 0x60, 0x2d, 0xe5, 0xd2, 0x91, 0xf6, 0xdc, 0x2e, 0xc5, 0xea, 0x5b, 0xb0, 0xd2, 0xa4, 0x96, + 0x8e, 0x96, 0x4d, 0x19, 0x92, 0x87, 0x46, 0xc7, 0x36, 0x0d, 0xe6, 0x12, 0xb5, 0x04, 0xf3, 0x6d, + 0x82, 0xfe, 0xcf, 0xf0, 0x80, 0x7a, 0x64, 0xee, 0x2c, 0xf9, 0x2c, 0x22, 0xab, 0xfa, 0x06, 0xac, + 0x8b, 0x9e, 0x8f, 0xe2, 0xcb, 0xe3, 0x54, 0xdf, 0x86, 0xd5, 0x26, 0xb5, 0x6e, 0xe3, 0xdf, 0xdf, + 0x7b, 0x07, 0xca, 0xe2, 0x08, 0x19, 0x76, 0xff, 0x3e, 0xbc, 0xd6, 0x7d, 0xec, 0x9a, 0x7b, 0x5c, + 0x36, 0x39, 0xda, 0x5f, 0x71, 0x90, 0x52, 0xc3, 0xc2, 0xe0, 0xe6, 0x8a, 0x7a, 0x64, 0xaa, 0x9b, + 0xf0, 0xbf, 0x23, 0xec, 0xef, 0xfb, 0xcf, 0xdf, 0xe9, 0x9a, 0x78, 0x52, 0xca, 0x57, 0x94, 0xda, + 0xac, 0x3e, 0xec, 0x54, 0x2b, 0xb0, 0xd8, 0xea, 0xb8, 0xed, 0xa3, 0x0f, 0xd0, 0xb6, 0x0e, 0x59, + 0x69, 0x36, 0xc0, 0x24, 0x5d, 0xa9, 0x93, 0x7d, 0x95, 0x0b, 0x6e, 0x2c, 0xc9, 0x6e, 0xf2, 0x99, + 0x54, 0x0d, 0x16, 0xa2, 0x14, 0xe0, 0x34, 0x63, 0x9b, 0xf3, 0xa4, 0x22, 0x9e, 0x74, 0x0a, 0x9e, + 0xea, 0x35, 0xb8, 0x44, 0xb0, 0x8d, 0xf6, 0x31, 0x9a, 0xbb, 0x09, 0xe4, 0x5c, 0x80, 0x14, 0x2d, + 0xf9, 0x7c, 0xa9, 0xd7, 0x6e, 0x23, 0xa5, 0xa5, 0x42, 0x45, 0xa9, 0x2d, 0xe8, 0x91, 0xa9, 0x56, + 0x61, 0x09, 0x09, 0x71, 0x49, 0x93, 0x4b, 0x3b, 0x1f, 0x70, 0x1e, 0xf2, 0x55, 0xbf, 0xcc, 0xc1, + 0xe5, 0x26, 0xb5, 0xde, 0xf1, 0x8f, 0x88, 0x1f, 0x1a, 0x0c, 0x29, 0xbb, 0xe7, 0xb5, 0xf6, 0xb0, + 0x3f, 0x46, 0x87, 0x75, 0x28, 0xf6, 0xbc, 0x56, 0xc7, 0x6e, 0xef, 0x61, 0x9f, 0x0b, 0x31, 0x70, + 0xf8, 0x67, 0x6c, 0xbb, 0x8e, 0x63, 0x33, 0x07, 0xbb, 0x8c, 0x96, 0xf2, 0x95, 0x7c, 0xad, 0xa8, + 0x27, 0x5d, 0x6a, 0x1d, 0xd4, 0xae, 0xe7, 0xb4, 0x90, 0xdc, 0x7d, 0x1c, 0xa7, 0x14, 0xe5, 0x62, + 0x08, 0x56, 0xd4, 0x07, 0xa0, 0x62, 0xb7, 0x4d, 0xfa, 0x3d, 0x86, 0xfe, 0x75, 0x05, 0xf7, 0x4e, + 0x4b, 0x73, 0x95, 0x7c, 0x6d, 0x71, 0xfb, 0x25, 0xd1, 0x2b, 0xfe, 0x6e, 0x1a, 0xad, 0x0b, 0x02, + 0xa4, 0x52, 0x62, 0x03, 0x9e, 0x17, 0xea, 0x10, 0xbf, 0xc9, 0x5f, 0x87, 0x39, 0x73, 0xf7, 0x18, + 0x09, 0xb1, 0xcd, 0xff, 0xb4, 0x56, 0x2f, 0xc0, 0x86, 0x44, 0x89, 0x58, 0xad, 0x8f, 0x41, 0x8b, + 0xe5, 0xbc, 0x15, 0x56, 0xd4, 0x4f, 0xd1, 0xe4, 0x95, 0x5b, 0x5d, 0x85, 0x02, 0x33, 0x88, 0x85, + 0x8c, 0xcb, 0xc5, 0xad, 0xa4, 0x8e, 0xb9, 0x71, 0x95, 0x69, 0x13, 0xaa, 0xf2, 0xe8, 0x31, 0x87, + 0x27, 0x4a, 0x40, 0x22, 0xac, 0xcb, 0xd9, 0x49, 0x54, 0x61, 0xc9, 0xa6, 0x03, 0x78, 0xc0, 0x64, + 0x41, 0x1f, 0xf2, 0x25, 0x89, 0xe6, 0x27, 0x13, 0x95, 0x30, 0x48, 0x89, 0x75, 0x1b, 0x3b, 0xf8, + 0xcf, 0x89, 0x25, 0x89, 0x1e, 0x73, 0xf8, 0x2e, 0x07, 0xa5, 0x58, 0xd3, 0xf7, 0xc3, 0x76, 0x1e, + 0xdd, 0xff, 0x98, 0xfc, 0x5e, 0x85, 0x82, 0x6d, 0xde, 0xef, 0xf7, 0xa2, 0x8a, 0xc8, 0x2d, 0xff, + 0x09, 0xdb, 0x7c, 0x68, 0x74, 0x3c, 0x8c, 0x04, 0xe2, 0x26, 0xaf, 0xa2, 0x41, 0xdc, 0x20, 0x8f, + 0xc3, 0x2a, 0xba, 0x9f, 0xa8, 0xa2, 0x89, 0x6a, 0x3f, 0x27, 0xaa, 0xf6, 0x57, 0x61, 0x39, 0x2a, + 0x84, 0xf7, 0x6d, 0x07, 0x29, 0x33, 0x9c, 0x5e, 0x50, 0xfb, 0x66, 0xf5, 0xd1, 0x05, 0x59, 0x45, + 0x9d, 0x97, 0x56, 0xd4, 0x94, 0x7c, 0x3f, 0xe4, 0xa0, 0x22, 0x13, 0x26, 0x43, 0xd3, 0xf8, 0x37, + 0x04, 0x92, 0x1c, 0xb9, 0x90, 0xa9, 0x89, 0xcc, 0x8f, 0x6f, 0x22, 0x0b, 0x82, 0x26, 0xf2, 0x53, + 0x2e, 0x48, 0xe0, 0x7d, 0xaf, 0xe5, 0xd8, 0x2c, 0x59, 0x50, 0x26, 0xf5, 0x7d, 0x0d, 0x16, 0x6c, + 0x13, 0xbb, 0xcc, 0x9f, 0xf3, 0x78, 0x47, 0x8d, 0x6c, 0xff, 0x96, 0x31, 0x1d, 0x8a, 0x4b, 0x35, + 0xba, 0x30, 0x2a, 0xcc, 0x6c, 0xe6, 0xcc, 0x99, 0x9b, 0x32, 0x73, 0xc6, 0xc8, 0xb8, 0x0e, 0x45, + 0x82, 0x9f, 0x78, 0xe8, 0x4f, 0x4b, 0xbc, 0xdd, 0x0e, 0x1c, 0xc2, 0xd7, 0x52, 0xa2, 0x59, 0x94, + 0x58, 0xdb, 0x3f, 0x03, 0xe4, 0x9b, 0xd4, 0x52, 0x1f, 0xc1, 0xd2, 0xd0, 0x88, 0xfc, 0xa2, 0xa8, + 0x96, 0xa7, 0x86, 0x50, 0xed, 0x95, 0x0c, 0xa0, 0x38, 0x85, 0x5d, 0x58, 0x1e, 0x1d, 0x15, 0x6b, + 0x92, 0x08, 0x23, 0x48, 0xed, 0x5a, 0x56, 0x64, 0xbc, 0xa1, 0x07, 0x97, 0x44, 0xd3, 0xe9, 0x96, + 0x24, 0x90, 0x00, 0xab, 0x6d, 0x67, 0xc7, 0xc6, 0xdb, 0x3e, 0x82, 0xa5, 0xa1, 0xa9, 0x54, 0xa6, + 0x64, 0x12, 0x24, 0x55, 0x52, 0x38, 0x41, 0x12, 0x50, 0x05, 0xf3, 0xd4, 0xcb, 0x92, 0x10, 0xa3, + 0x50, 0xed, 0x7a, 0x66, 0x68, 0xbc, 0xe7, 0x09, 0xac, 0x08, 0x27, 0x13, 0x19, 0x71, 0x11, 0x58, + 0xbb, 0x31, 0x05, 0x38, 0xde, 0xf9, 0x73, 0x05, 0xd6, 0x64, 0x7d, 0xbe, 0x3e, 0xf6, 0x20, 0x23, + 0x78, 0xed, 0xe6, 0x74, 0xf8, 0x21, 0x0e, 0xb2, 0x36, 0x5f, 0x1f, 0xfb, 0x12, 0x64, 0xe7, 0x30, + 0xa1, 0x89, 0x07, 0x1c, 0x64, 0x2d, 0xbc, 0x2e, 0xcd, 0x53, 0x21, 0x5e, 0xca, 0x61, 0x42, 0x13, + 0x57, 0x3f, 0x83, 0xcb, 0xe2, 0x06, 0x7e, 0x75, 0xac, 0xb0, 0x29, 0xb4, 0xf6, 0xda, 0x34, 0xe8, + 0x21, 0x01, 0x64, 0x2d, 0x40, 0x26, 0x80, 0x04, 0x2f, 0x15, 0x60, 0x42, 0xb9, 0xd4, 0xe6, 0x9e, + 0xf8, 0x5f, 0xf4, 0xbb, 0x77, 0x9e, 0x9e, 0x95, 0x95, 0x67, 0x67, 0x65, 0xe5, 0xcf, 0xb3, 0xb2, + 0xf2, 0xed, 0x79, 0x79, 0xe6, 0xd9, 0x79, 0x79, 0xe6, 0xf7, 0xf3, 0xf2, 0xcc, 0x47, 0x0d, 0xcb, + 0x66, 0x87, 0x5e, 0xab, 0xde, 0x76, 0x9d, 0xc6, 0x7b, 0x86, 0x4d, 0x82, 0x6f, 0xaf, 0x86, 0xf0, + 0x2b, 0x9f, 0xf5, 0x7b, 0x48, 0x5b, 0x85, 0xe0, 0xcf, 0x14, 0x37, 0xfe, 0x0a, 0x00, 0x00, 0xff, + 0xff, 0xd6, 0x0f, 0xf3, 0x4c, 0xa5, 0x11, 0x00, 0x00, } // Reference imports to suppress errors if they are not otherwise used. @@ -1270,6 +1405,7 @@ type MsgClient interface { UpdateAuthorizedAddress(ctx context.Context, in *MsgUpdateAuthorizedAddress, opts ...grpc.CallOption) (*MsgUpdateAuthorizedAddressResponse, error) DeleteAuthorizedAddress(ctx context.Context, in *MsgDeleteAuthorizedAddress, opts ...grpc.CallOption) (*MsgDeleteAuthorizedAddressResponse, error) CreateGeneralKeyShare(ctx context.Context, in *MsgCreateGeneralKeyShare, opts ...grpc.CallOption) (*MsgCreateGeneralKeyShareResponse, error) + SubmitEncryptedKeyshare(ctx context.Context, in *MsgSubmitEncryptedKeyshare, opts ...grpc.CallOption) (*MsgSubmitEncryptedKeyshareResponse, error) } type msgClient struct { @@ -1370,6 +1506,15 @@ func (c *msgClient) CreateGeneralKeyShare(ctx context.Context, in *MsgCreateGene return out, nil } +func (c *msgClient) SubmitEncryptedKeyshare(ctx context.Context, in *MsgSubmitEncryptedKeyshare, opts ...grpc.CallOption) (*MsgSubmitEncryptedKeyshareResponse, error) { + out := new(MsgSubmitEncryptedKeyshareResponse) + err := c.cc.Invoke(ctx, "/fairyring.keyshare.Msg/SubmitEncryptedKeyshare", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + // MsgServer is the server API for Msg service. type MsgServer interface { // UpdateParams defines a (governance) operation for updating the module @@ -1385,6 +1530,7 @@ type MsgServer interface { UpdateAuthorizedAddress(context.Context, *MsgUpdateAuthorizedAddress) (*MsgUpdateAuthorizedAddressResponse, error) DeleteAuthorizedAddress(context.Context, *MsgDeleteAuthorizedAddress) (*MsgDeleteAuthorizedAddressResponse, error) CreateGeneralKeyShare(context.Context, *MsgCreateGeneralKeyShare) (*MsgCreateGeneralKeyShareResponse, error) + SubmitEncryptedKeyshare(context.Context, *MsgSubmitEncryptedKeyshare) (*MsgSubmitEncryptedKeyshareResponse, error) } // UnimplementedMsgServer can be embedded to have forward compatible implementations. @@ -1421,6 +1567,9 @@ func (*UnimplementedMsgServer) DeleteAuthorizedAddress(ctx context.Context, req func (*UnimplementedMsgServer) CreateGeneralKeyShare(ctx context.Context, req *MsgCreateGeneralKeyShare) (*MsgCreateGeneralKeyShareResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method CreateGeneralKeyShare not implemented") } +func (*UnimplementedMsgServer) SubmitEncryptedKeyshare(ctx context.Context, req *MsgSubmitEncryptedKeyshare) (*MsgSubmitEncryptedKeyshareResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method SubmitEncryptedKeyshare not implemented") +} func RegisterMsgServer(s grpc1.Server, srv MsgServer) { s.RegisterService(&_Msg_serviceDesc, srv) @@ -1606,6 +1755,24 @@ func _Msg_CreateGeneralKeyShare_Handler(srv interface{}, ctx context.Context, de return interceptor(ctx, in, info, handler) } +func _Msg_SubmitEncryptedKeyshare_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(MsgSubmitEncryptedKeyshare) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(MsgServer).SubmitEncryptedKeyshare(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/fairyring.keyshare.Msg/SubmitEncryptedKeyshare", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MsgServer).SubmitEncryptedKeyshare(ctx, req.(*MsgSubmitEncryptedKeyshare)) + } + return interceptor(ctx, in, info, handler) +} + var _Msg_serviceDesc = grpc.ServiceDesc{ ServiceName: "fairyring.keyshare.Msg", HandlerType: (*MsgServer)(nil), @@ -1650,6 +1817,10 @@ var _Msg_serviceDesc = grpc.ServiceDesc{ MethodName: "CreateGeneralKeyShare", Handler: _Msg_CreateGeneralKeyShare_Handler, }, + { + MethodName: "SubmitEncryptedKeyshare", + Handler: _Msg_SubmitEncryptedKeyshare_Handler, + }, }, Streams: []grpc.StreamDesc{}, Metadata: "fairyring/keyshare/tx.proto", @@ -2464,6 +2635,95 @@ func (m *MsgCreateGeneralKeyShareResponse) MarshalToSizedBuffer(dAtA []byte) (in return len(dAtA) - i, nil } +func (m *MsgSubmitEncryptedKeyshare) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *MsgSubmitEncryptedKeyshare) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *MsgSubmitEncryptedKeyshare) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if len(m.Requester) > 0 { + i -= len(m.Requester) + copy(dAtA[i:], m.Requester) + i = encodeVarintTx(dAtA, i, uint64(len(m.Requester))) + i-- + dAtA[i] = 0x3a + } + if m.ReceivedBlockHeight != 0 { + i = encodeVarintTx(dAtA, i, uint64(m.ReceivedBlockHeight)) + i-- + dAtA[i] = 0x30 + } + if m.ReceivedTimestamp != 0 { + i = encodeVarintTx(dAtA, i, uint64(m.ReceivedTimestamp)) + i-- + dAtA[i] = 0x28 + } + if m.KeyShareIndex != 0 { + i = encodeVarintTx(dAtA, i, uint64(m.KeyShareIndex)) + i-- + dAtA[i] = 0x20 + } + if len(m.EncryptedKeyshare) > 0 { + i -= len(m.EncryptedKeyshare) + copy(dAtA[i:], m.EncryptedKeyshare) + i = encodeVarintTx(dAtA, i, uint64(len(m.EncryptedKeyshare))) + i-- + dAtA[i] = 0x1a + } + if len(m.Identity) > 0 { + i -= len(m.Identity) + copy(dAtA[i:], m.Identity) + i = encodeVarintTx(dAtA, i, uint64(len(m.Identity))) + i-- + dAtA[i] = 0x12 + } + if len(m.Creator) > 0 { + i -= len(m.Creator) + copy(dAtA[i:], m.Creator) + i = encodeVarintTx(dAtA, i, uint64(len(m.Creator))) + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + +func (m *MsgSubmitEncryptedKeyshareResponse) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *MsgSubmitEncryptedKeyshareResponse) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *MsgSubmitEncryptedKeyshareResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + return len(dAtA) - i, nil +} + func encodeVarintTx(dAtA []byte, offset int, v uint64) int { offset -= sovTx(v) base := offset @@ -2842,6 +3102,49 @@ func (m *MsgCreateGeneralKeyShareResponse) Size() (n int) { return n } +func (m *MsgSubmitEncryptedKeyshare) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.Creator) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } + l = len(m.Identity) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } + l = len(m.EncryptedKeyshare) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } + if m.KeyShareIndex != 0 { + n += 1 + sovTx(uint64(m.KeyShareIndex)) + } + if m.ReceivedTimestamp != 0 { + n += 1 + sovTx(uint64(m.ReceivedTimestamp)) + } + if m.ReceivedBlockHeight != 0 { + n += 1 + sovTx(uint64(m.ReceivedBlockHeight)) + } + l = len(m.Requester) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } + return n +} + +func (m *MsgSubmitEncryptedKeyshareResponse) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + return n +} + func sovTx(x uint64) (n int) { return (math_bits.Len64(x|1) + 6) / 7 } @@ -5229,6 +5532,291 @@ func (m *MsgCreateGeneralKeyShareResponse) Unmarshal(dAtA []byte) error { } return nil } +func (m *MsgSubmitEncryptedKeyshare) Unmarshal(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTx + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: MsgSubmitEncryptedKeyshare: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: MsgSubmitEncryptedKeyshare: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Creator", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTx + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthTx + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthTx + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Creator = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Identity", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTx + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthTx + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthTx + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Identity = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field EncryptedKeyshare", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTx + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthTx + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthTx + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.EncryptedKeyshare = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 4: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field KeyShareIndex", wireType) + } + m.KeyShareIndex = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTx + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.KeyShareIndex |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 5: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field ReceivedTimestamp", wireType) + } + m.ReceivedTimestamp = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTx + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.ReceivedTimestamp |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 6: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field ReceivedBlockHeight", wireType) + } + m.ReceivedBlockHeight = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTx + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.ReceivedBlockHeight |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 7: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Requester", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTx + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthTx + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthTx + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Requester = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipTx(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthTx + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *MsgSubmitEncryptedKeyshareResponse) Unmarshal(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTx + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: MsgSubmitEncryptedKeyshareResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: MsgSubmitEncryptedKeyshareResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + default: + iNdEx = preIndex + skippy, err := skipTx(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthTx + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} func skipTx(dAtA []byte) (n int, err error) { l := len(dAtA) iNdEx := 0 diff --git a/x/pep/client/cli/tx.go b/x/pep/client/cli/tx.go index c75997c0..47dfd167 100644 --- a/x/pep/client/cli/tx.go +++ b/x/pep/client/cli/tx.go @@ -30,6 +30,8 @@ func GetTxCmd() *cobra.Command { cmd.AddCommand(CmdRequestGeneralKeyshare()) cmd.AddCommand(CmdGetGeneralKeyshare()) cmd.AddCommand(CmdSubmitGeneralEncryptedTx()) + cmd.AddCommand(CmdRequestPrivateKeyshare()) + cmd.AddCommand(CmdGetPrivateKeyshare()) // this line is used by starport scaffolding # 1 return cmd diff --git a/x/pep/client/cli/tx_get_private_keyshare.go b/x/pep/client/cli/tx_get_private_keyshare.go new file mode 100644 index 00000000..03809ddb --- /dev/null +++ b/x/pep/client/cli/tx_get_private_keyshare.go @@ -0,0 +1,44 @@ +package cli + +import ( + "strconv" + + "github.com/Fairblock/fairyring/x/pep/types" + "github.com/cosmos/cosmos-sdk/client" + "github.com/cosmos/cosmos-sdk/client/flags" + "github.com/cosmos/cosmos-sdk/client/tx" + "github.com/spf13/cobra" +) + +var _ = strconv.Itoa(0) + +func CmdGetPrivateKeyshare() *cobra.Command { + cmd := &cobra.Command{ + Use: "get-private-keyshare [req-id] [secp-pubkey]", + Short: "Broadcast message get-general-keyshare", + Args: cobra.ExactArgs(2), + RunE: func(cmd *cobra.Command, args []string) (err error) { + argReqId := args[0] + argPubkey := args[1] + + clientCtx, err := client.GetClientTxContext(cmd) + if err != nil { + return err + } + + msg := types.NewMsgGetPrivateKeyshares( + clientCtx.GetFromAddress().String(), + argReqId, + argPubkey, + ) + if err := msg.ValidateBasic(); err != nil { + return err + } + return tx.GenerateOrBroadcastTxCLI(clientCtx, cmd.Flags(), msg) + }, + } + + flags.AddTxFlagsToCmd(cmd) + + return cmd +} diff --git a/x/pep/client/cli/tx_request_private_keyshare.go b/x/pep/client/cli/tx_request_private_keyshare.go new file mode 100644 index 00000000..b8da95b8 --- /dev/null +++ b/x/pep/client/cli/tx_request_private_keyshare.go @@ -0,0 +1,40 @@ +package cli + +import ( + "strconv" + + "github.com/Fairblock/fairyring/x/pep/types" + "github.com/cosmos/cosmos-sdk/client" + "github.com/cosmos/cosmos-sdk/client/flags" + "github.com/cosmos/cosmos-sdk/client/tx" + "github.com/spf13/cobra" +) + +var _ = strconv.Itoa(0) + +func CmdRequestPrivateKeyshare() *cobra.Command { + cmd := &cobra.Command{ + Use: "request-private-keyshare [req-id]", + Short: "Broadcast message request-private-keyshare", + Args: cobra.ExactArgs(1), + RunE: func(cmd *cobra.Command, args []string) (err error) { + clientCtx, err := client.GetClientTxContext(cmd) + if err != nil { + return err + } + + msg := types.NewMsgRequestPrivateIdentity( + clientCtx.GetFromAddress().String(), + args[0], + ) + if err := msg.ValidateBasic(); err != nil { + return err + } + return tx.GenerateOrBroadcastTxCLI(clientCtx, cmd.Flags(), msg) + }, + } + + flags.AddTxFlagsToCmd(cmd) + + return cmd +} diff --git a/x/pep/keeper/aggregated_key_share.go b/x/pep/keeper/aggregated_key_share.go index f8b10d20..8ceff4c7 100644 --- a/x/pep/keeper/aggregated_key_share.go +++ b/x/pep/keeper/aggregated_key_share.go @@ -2,8 +2,9 @@ package keeper import ( "context" - storetypes "cosmossdk.io/store/types" "errors" + + storetypes "cosmossdk.io/store/types" "github.com/cosmos/cosmos-sdk/runtime" kstypes "github.com/Fairblock/fairyring/x/keyshare/types" @@ -88,7 +89,29 @@ func (k Keeper) OnRecvAggrKeyshareDataPacket(ctx context.Context, packet channel entry.AggrKeyshare = data.AggrKeyshare k.SetExecutionQueueEntry(ctx, entry) - k.RemoveEntry(ctx, data.RequestId) + k.SetEntry(ctx, entry) + + return packetAck, nil +} + +// OnRecvEncKeyshareDataPacket processes packet reception +func (k Keeper) OnRecvEncKeyshareDataPacket( + ctx context.Context, + packet channeltypes.Packet, + data kstypes.EncryptedKeysharesPacketData, +) (packetAck kstypes.EncryptedKeysharesPacketAck, err error) { + // validate packet data upon receiving + if err := data.ValidateBasic(); err != nil { + return packetAck, err + } + + entry, found := k.GetPrivateRequest(ctx, data.RequestId) + if !found { + return packetAck, errors.New("request not found for this id") + } + + entry.EncryptedKeyshares = data.EncryptedKeyshares + k.SetPrivateRequest(ctx, entry) return packetAck, nil } diff --git a/x/pep/keeper/encypted_tx.go b/x/pep/keeper/encypted_tx.go index b6952147..23ef8491 100644 --- a/x/pep/keeper/encypted_tx.go +++ b/x/pep/keeper/encypted_tx.go @@ -2,6 +2,7 @@ package keeper import ( "context" + storetypes "cosmossdk.io/store/types" "github.com/Fairblock/fairyring/x/pep/types" "github.com/cosmos/cosmos-sdk/runtime" diff --git a/x/pep/keeper/gen_enc_tx.go b/x/pep/keeper/gen_enc_tx.go index 194f6f49..5605358b 100644 --- a/x/pep/keeper/gen_enc_tx.go +++ b/x/pep/keeper/gen_enc_tx.go @@ -2,6 +2,7 @@ package keeper import ( "context" + "cosmossdk.io/store/prefix" storetypes "cosmossdk.io/store/types" commontypes "github.com/Fairblock/fairyring/x/common/types" @@ -264,3 +265,123 @@ func (k Keeper) GetAllGenEncTxExecutionQueueEntry(ctx context.Context) (list []t } return } + +// GetPrivateRequestQueueEntry returns a queue entry by its identity +func (k Keeper) GetPrivateRequestQueueEntry( + ctx context.Context, + reqID string, +) (val commontypes.RequestPrivateKeyshare, found bool) { + storeAdapter := runtime.KVStoreAdapter(k.storeService.OpenKVStore(ctx)) + store := prefix.NewStore(storeAdapter, types.KeyPrefix(types.PrivateRequestQueueKeyPrefix)) + + b := store.Get(types.GenEncTxQueueKey( + reqID, + )) + if b == nil { + return val, false + } + + k.cdc.MustUnmarshal(b, &val) + return val, true +} + +// SetPrivateReqQueueEntry sets a queue entry by its identity +func (k Keeper) SetPrivateReqQueueEntry( + ctx context.Context, + val commontypes.RequestPrivateKeyshare, +) { + storeAdapter := runtime.KVStoreAdapter(k.storeService.OpenKVStore(ctx)) + store := prefix.NewStore(storeAdapter, types.KeyPrefix(types.PrivateRequestQueueKeyPrefix)) + + entry := k.cdc.MustMarshal(&val) + store.Set( + types.GenEncTxQueueKey(val.GetRequestId()), + entry, + ) +} + +// RemovePrivateReqQueueEntry removes an entry from the store +func (k Keeper) RemovePrivateReqQueueEntry( + ctx context.Context, + reqID string, +) { + storeAdapter := runtime.KVStoreAdapter(k.storeService.OpenKVStore(ctx)) + store := prefix.NewStore(storeAdapter, types.KeyPrefix(types.PrivateRequestQueueKeyPrefix)) + store.Delete(types.GenEncTxQueueKey(reqID)) +} + +// GetAllPrivateReqQueueEntry returns all PrivateQueue entries +func (k Keeper) GetAllPrivateReqQueueEntry(ctx context.Context) (list []commontypes.RequestPrivateKeyshare) { + storeAdapter := runtime.KVStoreAdapter(k.storeService.OpenKVStore(ctx)) + store := prefix.NewStore(storeAdapter, types.KeyPrefix(types.PrivateRequestQueueKeyPrefix)) + iterator := storetypes.KVStorePrefixIterator(store, []byte{}) + + defer iterator.Close() + + for ; iterator.Valid(); iterator.Next() { + var val commontypes.RequestPrivateKeyshare + k.cdc.MustUnmarshal(iterator.Value(), &val) + list = append(list, val) + } + return +} + +// GetQueueEntry returns a queue entry by its identity +func (k Keeper) GetPrivateSignalQueueEntry( + ctx context.Context, + reqID string, +) (val commontypes.GetPrivateKeyshare, found bool) { + storeAdapter := runtime.KVStoreAdapter(k.storeService.OpenKVStore(ctx)) + store := prefix.NewStore(storeAdapter, types.KeyPrefix(types.PrivateSignalQueueKeyPrefix)) + + b := store.Get(types.GenEncTxQueueKey( + reqID, + )) + if b == nil { + return val, false + } + + k.cdc.MustUnmarshal(b, &val) + return val, true +} + +// SetPrivateSignalQueueEntry sets a queue entry by its identity +func (k Keeper) SetPrivateSignalQueueEntry( + ctx context.Context, + val commontypes.GetPrivateKeyshare, +) { + storeAdapter := runtime.KVStoreAdapter(k.storeService.OpenKVStore(ctx)) + store := prefix.NewStore(storeAdapter, types.KeyPrefix(types.PrivateSignalQueueKeyPrefix)) + + entry := k.cdc.MustMarshal(&val) + store.Set( + types.GenEncTxQueueKey(val.GetRequestId()), + entry, + ) +} + +// RemovePrivateSignalQueueEntry removes an entry from the store +func (k Keeper) RemovePrivateSignalQueueEntry( + ctx context.Context, + reqID string, +) { + storeAdapter := runtime.KVStoreAdapter(k.storeService.OpenKVStore(ctx)) + store := prefix.NewStore(storeAdapter, types.KeyPrefix(types.PrivateSignalQueueKeyPrefix)) + store.Delete(types.GenEncTxQueueKey(reqID)) +} + +// GetAllPrivateSignalQueueEntry returns all GenEncTxQueue entries +func (k Keeper) GetAllPrivateSignalQueueEntry(ctx context.Context) (list []commontypes.GetPrivateKeyshare) { + storeAdapter := runtime.KVStoreAdapter(k.storeService.OpenKVStore(ctx)) + store := prefix.NewStore(storeAdapter, types.KeyPrefix(types.PrivateSignalQueueKeyPrefix)) + iterator := storetypes.KVStorePrefixIterator(store, []byte{}) + + defer iterator.Close() + + for ; iterator.Valid(); iterator.Next() { + var val commontypes.GetPrivateKeyshare + k.cdc.MustUnmarshal(iterator.Value(), &val) + list = append(list, val) + } + return +} diff --git a/x/pep/keeper/latest_height.go b/x/pep/keeper/latest_height.go index 460e1eaa..2e8c691c 100644 --- a/x/pep/keeper/latest_height.go +++ b/x/pep/keeper/latest_height.go @@ -2,6 +2,7 @@ package keeper import ( "context" + "cosmossdk.io/store/prefix" "github.com/Fairblock/fairyring/x/pep/types" "github.com/cosmos/cosmos-sdk/runtime" diff --git a/x/pep/keeper/msg_get_general_key_share.go b/x/pep/keeper/msg_get_general_key_share.go index 7fed3131..b56fc037 100644 --- a/x/pep/keeper/msg_get_general_key_share.go +++ b/x/pep/keeper/msg_get_general_key_share.go @@ -20,7 +20,7 @@ func (k msgServer) GetGeneralKeyshare(goCtx context.Context, msg *types.MsgGetGe entry, found := k.GetEntry(ctx, msg.ReqId) if !found { - return &types.MsgGetGeneralKeyshareResponse{}, errors.New("Request not found") + return &types.MsgGetGeneralKeyshareResponse{}, errors.New("request not found") } if entry.Creator != msg.Creator { diff --git a/x/pep/keeper/msg_get_private_keyshares.go b/x/pep/keeper/msg_get_private_keyshares.go new file mode 100644 index 00000000..1dd0fc3c --- /dev/null +++ b/x/pep/keeper/msg_get_private_keyshares.go @@ -0,0 +1,135 @@ +package keeper + +import ( + "context" + "errors" + "fmt" + "time" + + sdkerrors "cosmossdk.io/errors" + commontypes "github.com/Fairblock/fairyring/x/common/types" + kstypes "github.com/Fairblock/fairyring/x/keyshare/types" + "github.com/Fairblock/fairyring/x/pep/types" + sdk "github.com/cosmos/cosmos-sdk/types" + clienttypes "github.com/cosmos/ibc-go/v8/modules/core/02-client/types" + channeltypes "github.com/cosmos/ibc-go/v8/modules/core/04-channel/types" + host "github.com/cosmos/ibc-go/v8/modules/core/24-host" +) + +func (k msgServer) GetPrivateKeyshares(goCtx context.Context, msg *types.MsgGetPrivateKeyshares) (*types.MsgGetPrivateKeysharesResponse, error) { + ctx := sdk.UnwrapSDKContext(goCtx) + requester := sdk.MustAccAddressFromBech32(msg.Creator) + + entry, found := k.GetPrivateRequest(ctx, msg.ReqId) + if !found { + pubkey, found := k.GetActivePubKey(ctx) + if !found { + return &types.MsgGetPrivateKeysharesResponse{}, errors.New("entry and pubkey not found") + } + + entry.Creator = "" + entry.EncryptedKeyshares = make([]*commontypes.EncryptedKeyshare, 0) + entry.Pubkey = pubkey.PublicKey + entry.ReqId = msg.ReqId + + k.SetPrivateRequest(ctx, entry) + } + + params := k.GetParams(ctx) + + if params.PrivateKeysharePrice.IsPositive() { + err := k.bankKeeper.SendCoinsFromAccountToModule(ctx, + requester, + types.ModuleName, + sdk.NewCoins(*params.PrivateKeysharePrice), + ) + if err != nil { + k.Logger().Info(fmt.Sprintf("Error on sending coins: %v", err.Error())) + return nil, err + } + } + + if params.IsSourceChain { + var qentry = commontypes.GetPrivateKeyshare{ + RequestId: msg.ReqId, + Identity: msg.ReqId, + Requester: msg.Creator, + SecpPubkey: msg.SecpPubkey, + } + + k.SetPrivateSignalQueueEntry(ctx, qentry) + return &types.MsgGetPrivateKeysharesResponse{}, nil + } else { + packetData := kstypes.GetPrivateKeysharePacketData{ + Identity: msg.ReqId, + Requester: msg.Creator, + SecpPubkey: msg.SecpPubkey, + } + + sPort := k.GetPort(ctx) + timeoutTimestamp := ctx.BlockTime().Add(time.Second * 20).UnixNano() + _, _ = k.TransmitGetPrivateKeysharePacket( + ctx, + packetData, + sPort, + params.KeyshareChannelId, + clienttypes.ZeroHeight(), + uint64(timeoutTimestamp), + ) + + ctx.EventManager().EmitEvent( + sdk.NewEvent( + types.EventTypeGetPrivateKeyshareRequest, + sdk.NewAttribute(types.AttributeKeyRequestID, msg.ReqId), + sdk.NewAttribute("requester", msg.Creator), + sdk.NewAttribute("scep256k1_pubkey", msg.SecpPubkey), + ), + ) + } + + return &types.MsgGetPrivateKeysharesResponse{}, nil +} + +// TransmitGetPrivateKeysharePacket transmits the packet over IBC with the specified source port and source channel +func (k Keeper) TransmitGetPrivateKeysharePacket( + ctx sdk.Context, + packetData kstypes.GetPrivateKeysharePacketData, + sourcePort, + sourceChannel string, + timeoutHeight clienttypes.Height, + timeoutTimestamp uint64, +) (uint64, error) { + channelCap, ok := k.ScopedKeeper().GetCapability(ctx, host.ChannelCapabilityPath(sourcePort, sourceChannel)) + if !ok { + return 0, sdkerrors.Wrap(channeltypes.ErrChannelCapabilityNotFound, "module does not own channel capability") + } + + packetBytes := packetData.GetBytes() + + return k.ibcKeeperFn().ChannelKeeper.SendPacket(ctx, channelCap, sourcePort, sourceChannel, timeoutHeight, timeoutTimestamp, packetBytes) +} + +// OnAcknowledgementGetPrivateKeysharePacket responds to the the success or failure of a packet +// acknowledgement written on the receiving chain. +func (k Keeper) OnAcknowledgementGetPrivateKeysharePacket(ctx sdk.Context, packet channeltypes.Packet, data kstypes.GetPrivateKeysharePacketData, ack channeltypes.Acknowledgement) error { + switch dispatchedAck := ack.Response.(type) { + case *channeltypes.Acknowledgement_Error: + + // TODO: failed acknowledgement logic + _ = dispatchedAck.Error + return nil + case *channeltypes.Acknowledgement_Result: + // Decode the packet acknowledgment + var packetAck kstypes.GetPrivateKeysharePacketAck + + if err := types.ModuleCdc.UnmarshalJSON(dispatchedAck.Result, &packetAck); err != nil { + // The counter-party module doesn't implement the correct acknowledgment format + return errors.New("cannot unmarshal acknowledgment") + } + + return nil + default: + // The counter-party module doesn't implement the correct acknowledgment format + return errors.New("invalid acknowledgment format") + } +} diff --git a/x/pep/keeper/msg_request_private_identity.go b/x/pep/keeper/msg_request_private_identity.go new file mode 100644 index 00000000..fa2d150d --- /dev/null +++ b/x/pep/keeper/msg_request_private_identity.go @@ -0,0 +1,156 @@ +package keeper + +import ( + "context" + "errors" + "time" + + sdkerrors "cosmossdk.io/errors" + commontypes "github.com/Fairblock/fairyring/x/common/types" + kstypes "github.com/Fairblock/fairyring/x/keyshare/types" + "github.com/Fairblock/fairyring/x/pep/types" + sdk "github.com/cosmos/cosmos-sdk/types" + clienttypes "github.com/cosmos/ibc-go/v8/modules/core/02-client/types" + channeltypes "github.com/cosmos/ibc-go/v8/modules/core/04-channel/types" + host "github.com/cosmos/ibc-go/v8/modules/core/24-host" +) + +func (k msgServer) RequestPrivateIdentity(goCtx context.Context, msg *types.MsgRequestPrivateIdentity) (*types.MsgRequestPrivateIdentityResponse, error) { + ctx := sdk.UnwrapSDKContext(goCtx) + + reqID, found := k.GetRequestId(ctx, msg.Creator, msg.ReqId) + if found || len(reqID.ReqId) != 0 { + return nil, types.ErrReqIDAlreadyExists + } + + k.SetRequestId(ctx, types.RequestId{ + Creator: msg.Creator, + ReqId: msg.ReqId, + }) + + requestIDStr := types.GetReqIDStr(msg.Creator, msg.ReqId) + req := types.PrivateRequest{ + Creator: msg.Creator, + ReqId: requestIDStr, + Pubkey: "", + EncryptedKeyshares: make([]*commontypes.EncryptedKeyshare, 0), + } + + k.SetPrivateRequest(ctx, req) + + params := k.GetParams(ctx) + + if params.IsSourceChain { + entry := commontypes.RequestPrivateKeyshare{ + Creator: msg.Creator, + RequestId: msg.ReqId, + } + + k.SetPrivateReqQueueEntry(ctx, entry) + + return &types.MsgRequestPrivateIdentityResponse{ + ReqId: requestIDStr, + }, nil + } else { + packetData := kstypes.RequestPrivateKeysharePacketData{ + Requester: msg.Creator, + RequestId: msg.ReqId, + } + + sPort := k.GetPort(ctx) + timeoutTimestamp := ctx.BlockTime().Add(time.Second * 20).UnixNano() + _, _ = k.TransmitPrivateKeysharePacket( + ctx, + packetData, + sPort, + params.KeyshareChannelId, + clienttypes.ZeroHeight(), + uint64(timeoutTimestamp), + ) + + ctx.EventManager().EmitEvent( + sdk.NewEvent( + types.EventTypePrivateKeyshareRequestSent, + sdk.NewAttribute(types.AttributeKeyCreator, msg.Creator), + sdk.NewAttribute(types.AttributeKeyRequestID, requestIDStr), + ), + ) + + return &types.MsgRequestPrivateIdentityResponse{ + ReqId: requestIDStr, + }, nil + } + + // return &types.MsgRequestPrivateIdentityResponse{}, nil +} + +// TransmitPrivateKeysharePacket transmits the packet over IBC with the specified source port and source channel +func (k Keeper) TransmitPrivateKeysharePacket( + ctx sdk.Context, + packetData kstypes.RequestPrivateKeysharePacketData, + sourcePort, + sourceChannel string, + timeoutHeight clienttypes.Height, + timeoutTimestamp uint64, +) (uint64, error) { + channelCap, ok := k.ScopedKeeper().GetCapability(ctx, host.ChannelCapabilityPath(sourcePort, sourceChannel)) + if !ok { + return 0, sdkerrors.Wrap(channeltypes.ErrChannelCapabilityNotFound, "module does not own channel capability") + } + + packetBytes := packetData.GetBytes() + + return k.ibcKeeperFn().ChannelKeeper.SendPacket(ctx, channelCap, sourcePort, sourceChannel, timeoutHeight, timeoutTimestamp, packetBytes) +} + +// OnAcknowledgementRequestPrivateKeysharePacket responds to the the success or failure of a packet +// acknowledgement written on the receiving chain. +func (k Keeper) OnAcknowledgementRequestPrivateKeysharePacket( + ctx sdk.Context, + packet channeltypes.Packet, + data kstypes.RequestPrivateKeysharePacketData, + ack channeltypes.Acknowledgement, +) error { + switch dispatchedAck := ack.Response.(type) { + case *channeltypes.Acknowledgement_Error: + + // TODO: failed acknowledgement logic + _ = dispatchedAck.Error + return nil + case *channeltypes.Acknowledgement_Result: + // Decode the packet acknowledgment + var packetAck kstypes.RequestPrivateKeysharePacketAck + + if err := kstypes.ModuleCdc.UnmarshalJSON(dispatchedAck.Result, &packetAck); err != nil { + // The counter-party module doesn't implement the correct acknowledgment format + return errors.New("cannot unmarshal acknowledgment") + } + + entry := types.PrivateRequest{ + Creator: data.Requester, + ReqId: data.GetRequestId(), + Pubkey: packetAck.GetPubkey(), + } + + entry, found := k.GetPrivateRequest(ctx, data.RequestId) + if !found { + return errors.New("entry does not exists") + } + entry.Pubkey = packetAck.Pubkey + + k.SetPrivateRequest(ctx, entry) + + ctx.EventManager().EmitEvent( + sdk.NewEvent( + types.EventTypePrivateKeyshareRequest, + sdk.NewAttribute(types.AttributeKeyCreator, entry.Creator), + sdk.NewAttribute(types.AttributeKeyRequestID, entry.ReqId), + ), + ) + + return nil + default: + // The counter-party module doesn't implement the correct acknowledgment format + return errors.New("invalid acknowledgment format") + } +} diff --git a/x/pep/keeper/msg_submit_encrypted_tx.go b/x/pep/keeper/msg_submit_encrypted_tx.go index 17d778b3..0a953993 100644 --- a/x/pep/keeper/msg_submit_encrypted_tx.go +++ b/x/pep/keeper/msg_submit_encrypted_tx.go @@ -3,9 +3,10 @@ package keeper import ( "context" "fmt" + "strconv" + "github.com/Fairblock/fairyring/x/pep/types" "github.com/cosmos/cosmos-sdk/telemetry" - "strconv" sdk "github.com/cosmos/cosmos-sdk/types" ) diff --git a/x/pep/keeper/params.go b/x/pep/keeper/params.go index 1448760e..0a1aaee1 100644 --- a/x/pep/keeper/params.go +++ b/x/pep/keeper/params.go @@ -2,6 +2,7 @@ package keeper import ( "context" + sdk "github.com/cosmos/cosmos-sdk/types" "github.com/cosmos/cosmos-sdk/runtime" diff --git a/x/pep/keeper/pep_nonce.go b/x/pep/keeper/pep_nonce.go index 2bf545b5..5b198b71 100644 --- a/x/pep/keeper/pep_nonce.go +++ b/x/pep/keeper/pep_nonce.go @@ -2,6 +2,7 @@ package keeper import ( "context" + storetypes "cosmossdk.io/store/types" "github.com/Fairblock/fairyring/x/pep/types" "github.com/cosmos/cosmos-sdk/runtime" diff --git a/x/pep/keeper/pub_key.go b/x/pep/keeper/pub_key.go index f3e2dc7c..b99fa8d6 100644 --- a/x/pep/keeper/pub_key.go +++ b/x/pep/keeper/pub_key.go @@ -2,6 +2,7 @@ package keeper import ( "context" + "cosmossdk.io/store/prefix" commontypes "github.com/Fairblock/fairyring/x/common/types" "github.com/Fairblock/fairyring/x/pep/types" diff --git a/x/pep/keeper/query_decrypt_data.go b/x/pep/keeper/query_decrypt_data.go new file mode 100644 index 00000000..0fec80ea --- /dev/null +++ b/x/pep/keeper/query_decrypt_data.go @@ -0,0 +1,116 @@ +package keeper + +import ( + "bytes" + "context" + "encoding/hex" + "errors" + + enc "github.com/FairBlock/DistributedIBE/encryption" + "github.com/Fairblock/fairyring/x/pep/types" + sdk "github.com/cosmos/cosmos-sdk/types" + "github.com/drand/kyber" + bls "github.com/drand/kyber-bls12381" + "github.com/drand/kyber/pairing" + "google.golang.org/grpc/codes" + "google.golang.org/grpc/status" +) + +func (k Keeper) DecryptData(goCtx context.Context, req *types.QueryDecryptDataRequest) (*types.QueryDecryptDataResponse, error) { + if req == nil { + return nil, status.Error(codes.InvalidArgument, "invalid request") + } + + ctx := sdk.UnwrapSDKContext(goCtx) + + if req.Pubkey == "" { + pk, found := k.GetActivePubKey(ctx) + if !found { + return &types.QueryDecryptDataResponse{}, errors.New("pubkey not found") + } + req.Pubkey = pk.PublicKey + } + + suite := bls.NewBLS12381Suite() + publicKeyPoint, err := k.GetPubKeyPoint(req.Pubkey, suite) + if err != nil { + return &types.QueryDecryptDataResponse{}, err + } + + skPoint, err := k.GetSKPoint(req.AggrKeyshare, suite) + if err != nil { + return &types.QueryDecryptDataResponse{}, err + } + + dataBytes, err := hex.DecodeString(req.EncryptedData) + if err != nil { + return &types.QueryDecryptDataResponse{}, err + } + + var decryptedData bytes.Buffer + var dataBuffer bytes.Buffer + _, err = dataBuffer.Write(dataBytes) + if err != nil { + return &types.QueryDecryptDataResponse{}, err + } + + err = enc.Decrypt(publicKeyPoint, skPoint, &decryptedData, &dataBuffer) + if err != nil { + return &types.QueryDecryptDataResponse{}, err + } + + decodedDataString := decryptedData.String() + return &types.QueryDecryptDataResponse{ + DecryptedData: decodedDataString, + }, nil +} + +func (k Keeper) GetSKPoint( + key string, + suite pairing.Suite) (kyber.Point, error) { + keyByte, err := hex.DecodeString(key) + if err != nil { + k.Logger().Error("Error decoding aggregated key") + k.Logger().Error(err.Error()) + return nil, err + } + + skPoint := suite.G2().Point() + err = skPoint.UnmarshalBinary(keyByte) + if err != nil { + k.Logger().Error("Error unmarshalling aggregated key") + k.Logger().Error(err.Error()) + return nil, err + } + + k.Logger().Info("Unmarshal decryption key successfully") + k.Logger().Info(skPoint.String()) + + return skPoint, nil +} + +func (k Keeper) GetPubKeyPoint( + pubkey string, + suite pairing.Suite, +) (kyber.Point, error) { + + publicKeyByte, err := hex.DecodeString(pubkey) + if err != nil { + k.Logger().Error("Error decoding active public key") + k.Logger().Error(err.Error()) + return nil, err + } + + publicKeyPoint := suite.G1().Point() + err = publicKeyPoint.UnmarshalBinary(publicKeyByte) + if err != nil { + k.Logger().Error("Error unmarshalling public key") + k.Logger().Error(err.Error()) + return nil, err + } + + k.Logger().Info("Unmarshal public key successfully") + k.Logger().Info(publicKeyPoint.String()) + + return publicKeyPoint, nil +} diff --git a/x/pep/keeper/query_encrypted_tx.go b/x/pep/keeper/query_encrypted_tx.go index 6887d0e3..eb52431d 100644 --- a/x/pep/keeper/query_encrypted_tx.go +++ b/x/pep/keeper/query_encrypted_tx.go @@ -2,6 +2,7 @@ package keeper import ( "context" + "github.com/Fairblock/fairyring/x/pep/types" "github.com/cosmos/cosmos-sdk/runtime" diff --git a/x/pep/keeper/query_keyshare.go b/x/pep/keeper/query_keyshare.go index 84421bc6..e3e3360c 100644 --- a/x/pep/keeper/query_keyshare.go +++ b/x/pep/keeper/query_keyshare.go @@ -2,6 +2,7 @@ package keeper import ( "context" + "github.com/Fairblock/fairyring/x/pep/types" sdk "github.com/cosmos/cosmos-sdk/types" "google.golang.org/grpc/codes" diff --git a/x/pep/keeper/query_pep_nonce.go b/x/pep/keeper/query_pep_nonce.go index 74e41051..53fa3fcd 100644 --- a/x/pep/keeper/query_pep_nonce.go +++ b/x/pep/keeper/query_pep_nonce.go @@ -2,6 +2,7 @@ package keeper import ( "context" + "github.com/cosmos/cosmos-sdk/runtime" "github.com/Fairblock/fairyring/x/pep/types" diff --git a/x/pep/keeper/query_private_keyshare_req.go b/x/pep/keeper/query_private_keyshare_req.go new file mode 100644 index 00000000..1ef97a66 --- /dev/null +++ b/x/pep/keeper/query_private_keyshare_req.go @@ -0,0 +1,31 @@ +package keeper + +import ( + "context" + "errors" + + "github.com/Fairblock/fairyring/x/pep/types" + sdk "github.com/cosmos/cosmos-sdk/types" + "google.golang.org/grpc/codes" + "google.golang.org/grpc/status" +) + +func (k Keeper) ShowPrivateKeyshareReq(goCtx context.Context, req *types.QueryShowPrivateKeyshareReqRequest) (*types.QueryShowPrivateKeyshareReqResponse, error) { + if req == nil { + return nil, status.Error(codes.InvalidArgument, "invalid request") + } + + ctx := sdk.UnwrapSDKContext(goCtx) + + val, found := k.GetPrivateRequest(ctx, req.ReqId) + if !found { + return nil, errors.New("entry not found") + } + + return &types.QueryShowPrivateKeyshareReqResponse{ + Creator: val.Creator, + ReqId: val.ReqId, + Pubkey: val.Pubkey, + EncryptedKeyshares: val.EncryptedKeyshares, + }, nil +} diff --git a/x/pep/keeper/query_pub_key.go b/x/pep/keeper/query_pub_key.go index 841aae3e..b351b66c 100644 --- a/x/pep/keeper/query_pub_key.go +++ b/x/pep/keeper/query_pub_key.go @@ -2,6 +2,7 @@ package keeper import ( "context" + "cosmossdk.io/store/prefix" "github.com/cosmos/cosmos-sdk/runtime" diff --git a/x/pep/keeper/request_id.go b/x/pep/keeper/request_id.go index 19e8b93f..aff3a9ac 100644 --- a/x/pep/keeper/request_id.go +++ b/x/pep/keeper/request_id.go @@ -57,3 +57,45 @@ func (k Keeper) GetAllRequestId(ctx context.Context) (list []types.RequestId) { return } + +// SetPrivateRequest set a specific requestId in the store from its index +func (k Keeper) SetPrivateRequest(ctx context.Context, request types.PrivateRequest) { + storeAdapter := runtime.KVStoreAdapter(k.storeService.OpenKVStore(ctx)) + store := prefix.NewStore(storeAdapter, types.KeyPrefix(types.PrivateRequestIdKeyPrefix)) + b := k.cdc.MustMarshal(&request) + store.Set([]byte(request.ReqId), b) +} + +// GetPrivateRequest returns a requestId from its index +func (k Keeper) GetPrivateRequest( + ctx context.Context, + reqID string, +) (val types.PrivateRequest, found bool) { + storeAdapter := runtime.KVStoreAdapter(k.storeService.OpenKVStore(ctx)) + store := prefix.NewStore(storeAdapter, types.KeyPrefix(types.PrivateRequestIdKeyPrefix)) + + b := store.Get([]byte(reqID)) + if b == nil { + return val, false + } + + k.cdc.MustUnmarshal(b, &val) + return val, true +} + +// GetAllRequestId returns all requestId +func (k Keeper) GetAllPrivateRequest(ctx context.Context) (list []types.PrivateRequest) { + storeAdapter := runtime.KVStoreAdapter(k.storeService.OpenKVStore(ctx)) + store := prefix.NewStore(storeAdapter, types.KeyPrefix(types.PrivateRequestIdKeyPrefix)) + iterator := storetypes.KVStorePrefixIterator(store, []byte{}) + + defer iterator.Close() + + for ; iterator.Valid(); iterator.Next() { + var val types.PrivateRequest + k.cdc.MustUnmarshal(iterator.Value(), &val) + list = append(list, val) + } + + return +} diff --git a/x/pep/keeper/request_id_test.go b/x/pep/keeper/request_id_test.go index a8eb23f9..5adf6196 100644 --- a/x/pep/keeper/request_id_test.go +++ b/x/pep/keeper/request_id_test.go @@ -5,10 +5,10 @@ import ( "strconv" "testing" - "github.com/Fairblock/fairyring/x/pep/keeper" - "github.com/Fairblock/fairyring/x/pep/types" keepertest "github.com/Fairblock/fairyring/testutil/keeper" "github.com/Fairblock/fairyring/testutil/nullify" + "github.com/Fairblock/fairyring/x/pep/keeper" + "github.com/Fairblock/fairyring/x/pep/types" "github.com/stretchr/testify/require" ) @@ -19,7 +19,7 @@ func createNRequestId(keeper keeper.Keeper, ctx context.Context, n int) []types. items := make([]types.RequestId, n) for i := range items { items[i].Creator = strconv.Itoa(i) - + keeper.SetRequestId(ctx, items[i]) } return items @@ -30,8 +30,8 @@ func TestRequestIdGet(t *testing.T) { items := createNRequestId(keeper, ctx, 10) for _, item := range items { rst, found := keeper.GetRequestId(ctx, - item.Creator, - + item.Creator, + "", ) require.True(t, found) require.Equal(t, @@ -40,21 +40,20 @@ func TestRequestIdGet(t *testing.T) { ) } } -func TestRequestIdRemove(t *testing.T) { - keeper, ctx := keepertest.PepKeeper(t) - items := createNRequestId(keeper, ctx, 10) - for _, item := range items { - keeper.RemoveRequestId(ctx, - item.Creator, - - ) - _, found := keeper.GetRequestId(ctx, - item.Creator, - - ) - require.False(t, found) - } -} + +// func TestRequestIdRemove(t *testing.T) { +// keeper, ctx := keepertest.PepKeeper(t) +// items := createNRequestId(keeper, ctx, 10) +// for _, item := range items { +// keeper.RemoveRequestId(ctx, +// item.Creator, +// ) +// _, found := keeper.GetRequestId(ctx, +// item.Creator, +// ) +// require.False(t, found) +// } +// } func TestRequestIdGetAll(t *testing.T) { keeper, ctx := keepertest.PepKeeper(t) diff --git a/x/pep/migrations/v2/store.go b/x/pep/migrations/v2/store.go index 863105ca..b2c3bd75 100644 --- a/x/pep/migrations/v2/store.go +++ b/x/pep/migrations/v2/store.go @@ -21,6 +21,7 @@ func MigrateStore(ctx sdk.Context, storeService store.KVStoreService, cdc codec. types.DefaultKeyshareChannelID, &types.DefaultMinGasPrice, true, + &types.DefaultKeysharePrice, ) bz, err := cdc.Marshal(&currParams) diff --git a/x/pep/module/autocli.go b/x/pep/module/autocli.go index 72426292..cb664282 100644 --- a/x/pep/module/autocli.go +++ b/x/pep/module/autocli.go @@ -66,48 +66,74 @@ func (am AppModule) AutoCLIOptions() *autocliv1.ModuleOptions { Use: "list-keyshare-req", Short: "list all pending keyshare requests", }, + { + RpcMethod: "ShowPrivateKeyshareReq", + Use: "show-private-keyshare-req [req-id]", + Short: "Query show-private-keyshare-req", + PositionalArgs: []*autocliv1.PositionalArgDescriptor{{ProtoField: "reqId"}}, + }, + + { + RpcMethod: "DecryptData", + Use: "decrypt-data [pubkey] [aggr-keyshare] [encrypted-data]", + Short: "Query decrypt-data", + PositionalArgs: []*autocliv1.PositionalArgDescriptor{{ProtoField: "pubkey"}, {ProtoField: "aggrKeyshare"}, {ProtoField: "encryptedData"}}, + }, + // this line is used by ignite scaffolding # autocli/query }, }, - //Tx: &autocliv1.ServiceCommandDescriptor{ - // Service: modulev1.Msg_ServiceDesc.ServiceName, - // EnhanceCustomCommand: true, // only required if you want to use the custom command - // RpcCommandOptions: []*autocliv1.RpcCommandOptions{ - // { - // RpcMethod: "UpdateParams", - // Skip: true, // skipped because authority gated - // }, - // { - // RpcMethod: "SubmitEncryptedTx", - // Use: "submit-encrypted-tx [data] [target-block-height]", - // Short: "Submit an encrypted transaction along with its execution height (execution height refers to the height in the FairyRing chain)", - // PositionalArgs: []*autocliv1.PositionalArgDescriptor{{ProtoField: "data"}, {ProtoField: "targetBlockHeight"}}, - // }, - // { - // RpcMethod: "SubmitGeneralEncryptedTx", - // Use: "submit-general-encrypted-tx [data] [req-id]", - // Short: "Submit an encrypted transaction along with its req-id", - // PositionalArgs: []*autocliv1.PositionalArgDescriptor{{ProtoField: "data"}, {ProtoField: "req_id"}}, - // }, - // { - // RpcMethod: "CreateAggregatedKeyShare", - // Use: "create-aggregated-key-share [height] [data]", - // Short: "Submit a new aggregated keyshare into a destination chain", - // PositionalArgs: []*autocliv1.PositionalArgDescriptor{{ProtoField: "height"}, {ProtoField: "data"}}, - // }, - // { - // RpcMethod: "RequestGeneralKeyshare", - // Use: "request-general-keyshare", - // Short: "Broadcast message request-general-keyshare", - // }, - // { - // RpcMethod: "GetGeneralKeyshare", - // Use: "get-general-keyshare [req-id]", - // Short: "Broadcast message get-general-keyshare", - // PositionalArgs: []*autocliv1.PositionalArgDescriptor{{ProtoField: "req_id"}}, - // }, - // // this line is used by ignite scaffolding # autocli/tx - // }, - //}, + // Tx: &autocliv1.ServiceCommandDescriptor{ + // Service: modulev1.Msg_ServiceDesc.ServiceName, + // EnhanceCustomCommand: true, // only required if you want to use the custom command + // RpcCommandOptions: []*autocliv1.RpcCommandOptions{ + // { + // RpcMethod: "UpdateParams", + // Skip: true, // skipped because authority gated + // }, + // { + // RpcMethod: "SubmitEncryptedTx", + // Use: "submit-encrypted-tx [data] [target-block-height]", + // Short: "Submit an encrypted transaction along with its execution height (execution height refers to the height in the FairyRing chain)", + // PositionalArgs: []*autocliv1.PositionalArgDescriptor{{ProtoField: "data"}, {ProtoField: "targetBlockHeight"}}, + // }, + // { + // RpcMethod: "SubmitGeneralEncryptedTx", + // Use: "submit-general-encrypted-tx [data] [req-id]", + // Short: "Submit an encrypted transaction along with its req-id", + // PositionalArgs: []*autocliv1.PositionalArgDescriptor{{ProtoField: "data"}, {ProtoField: "req_id"}}, + // }, + // { + // RpcMethod: "CreateAggregatedKeyShare", + // Use: "create-aggregated-key-share [height] [data]", + // Short: "Submit a new aggregated keyshare into a destination chain", + // PositionalArgs: []*autocliv1.PositionalArgDescriptor{{ProtoField: "height"}, {ProtoField: "data"}}, + // }, + // { + // RpcMethod: "RequestGeneralKeyshare", + // Use: "request-general-keyshare", + // Short: "Broadcast message request-general-keyshare", + // }, + // { + // RpcMethod: "GetGeneralKeyshare", + // Use: "get-general-keyshare [req-id]", + // Short: "Broadcast message get-general-keyshare", + // PositionalArgs: []*autocliv1.PositionalArgDescriptor{{ProtoField: "req_id"}}, + // }, + // { + // RpcMethod: "RequestPrivateIdentity", + // Use: "request-private-identity [req-id] [amount]", + // Short: "Send a request-private-identity tx", + // PositionalArgs: []*autocliv1.PositionalArgDescriptor{{ProtoField: "reqId"}, {ProtoField: "amount"}}, + // }, + // { + // RpcMethod: "GetPrivateKeyshares", + // Use: "get-private-keyshares [req-id] [rsa-pubkey]", + // Short: "Send a get-private-keyshares tx", + // PositionalArgs: []*autocliv1.PositionalArgDescriptor{{ProtoField: "reqId"}, {ProtoField: "rsa-pubkey"}}, + // }, + // // this line is used by ignite scaffolding # autocli/tx + // }, + // }, } } diff --git a/x/pep/module/genesis_test.go b/x/pep/module/genesis_test.go index 7901454a..7a64bac7 100644 --- a/x/pep/module/genesis_test.go +++ b/x/pep/module/genesis_test.go @@ -16,14 +16,14 @@ func TestGenesis(t *testing.T) { Params: types.DefaultParams(), PortId: types.PortID, RequestIdList: []types.RequestId{ - { - Creator: "0", -}, - { - Creator: "1", -}, - }, - // this line is used by starport scaffolding # genesis/test/state + { + Creator: "0", + }, + { + Creator: "1", + }, + }, + // this line is used by starport scaffolding # genesis/test/state } k, ctx := keepertest.PepKeeper(t) @@ -37,5 +37,5 @@ func TestGenesis(t *testing.T) { require.Equal(t, genesisState.PortId, got.PortId) require.ElementsMatch(t, genesisState.RequestIdList, got.RequestIdList) -// this line is used by starport scaffolding # genesis/test/assert + // this line is used by starport scaffolding # genesis/test/assert } diff --git a/x/pep/module/module.go b/x/pep/module/module.go index fd8da779..7282a2dc 100644 --- a/x/pep/module/module.go +++ b/x/pep/module/module.go @@ -17,14 +17,12 @@ import ( enc "github.com/FairBlock/DistributedIBE/encryption" commontypes "github.com/Fairblock/fairyring/x/common/types" "github.com/cosmos/cosmos-sdk/baseapp" - codectypes "github.com/cosmos/cosmos-sdk/codec/types" "github.com/cosmos/cosmos-sdk/telemetry" "github.com/cosmos/cosmos-sdk/x/auth/ante" authsigning "github.com/cosmos/cosmos-sdk/x/auth/signing" porttypes "github.com/cosmos/ibc-go/v8/modules/core/05-port/types" "github.com/drand/kyber" bls "github.com/drand/kyber-bls12381" - "github.com/drand/kyber/pairing" "google.golang.org/protobuf/types/known/anypb" "github.com/cosmos/cosmos-sdk/client" @@ -44,7 +42,6 @@ import ( var ( _ module.AppModuleBasic = (*AppModule)(nil) - _ module.AppModuleSimulation = (*AppModule)(nil) _ module.HasGenesis = (*AppModule)(nil) _ module.HasInvariants = (*AppModule)(nil) _ module.HasConsensusVersion = (*AppModule)(nil) @@ -220,7 +217,7 @@ func (am AppModule) BeginBlock(cctx context.Context) error { suite := bls.NewBLS12381Suite() - publicKeyPoint, err := am.getPubKeyPoint(ctx, activePubkey, suite) + publicKeyPoint, err := am.keeper.GetPubKeyPoint(activePubkey.PublicKey, suite) if err != nil { am.keeper.Logger().Error("Unabe to get Pubkey Point with suite") return nil @@ -254,7 +251,7 @@ func (am AppModule) BeginBlock(cctx context.Context) error { continue } - skPoint, err := am.getSKPoint(ctx, key.Data, suite) + skPoint, err := am.keeper.GetSKPoint(key.Data, suite) if err != nil { continue } @@ -286,7 +283,7 @@ func (am AppModule) BeginBlock(cctx context.Context) error { continue } - skPoint, err := am.getSKPoint(ctx, entry.AggrKeyshare, suite) + skPoint, err := am.keeper.GetSKPoint(entry.AggrKeyshare, suite) if err != nil { continue } @@ -547,59 +544,6 @@ func (am AppModule) processFailedEncryptedTx( am.handleGasConsumption(ctx, creatorAddr, cosmosmath.NewIntFromUint64(actualGasConsumed), tx.ChargedGas) } -func (am AppModule) getPubKeyPoint( - ctx sdk.Context, - ak commontypes.ActivePublicKey, - suite pairing.Suite, -) (kyber.Point, error) { - - publicKeyByte, err := hex.DecodeString(ak.PublicKey) - if err != nil { - am.keeper.Logger().Error("Error decoding active public key") - am.keeper.Logger().Error(err.Error()) - return nil, err - } - - publicKeyPoint := suite.G1().Point() - err = publicKeyPoint.UnmarshalBinary(publicKeyByte) - if err != nil { - am.keeper.Logger().Error("Error unmarshalling public key") - am.keeper.Logger().Error(err.Error()) - return nil, err - } - - am.keeper.Logger().Info("Unmarshal public key successfully") - am.keeper.Logger().Info(publicKeyPoint.String()) - - return publicKeyPoint, nil -} - -func (am AppModule) getSKPoint( - ctx sdk.Context, - key string, - suite pairing.Suite, -) (kyber.Point, error) { - keyByte, err := hex.DecodeString(key) - if err != nil { - am.keeper.Logger().Error("Error decoding aggregated key") - am.keeper.Logger().Error(err.Error()) - return nil, err - } - - skPoint := suite.G2().Point() - err = skPoint.UnmarshalBinary(keyByte) - if err != nil { - am.keeper.Logger().Error("Error unmarshalling aggregated key") - am.keeper.Logger().Error(err.Error()) - return nil, err - } - - am.keeper.Logger().Info("Unmarshal decryption key successfully") - am.keeper.Logger().Info(skPoint.String()) - - return skPoint, nil -} - func (am AppModule) decryptAndExecuteTx( ctx sdk.Context, eachTx DecryptionTx, @@ -730,7 +674,7 @@ func (am AppModule) decryptAndExecuteTx( return err } - anyPk, err := codectypes.NewAnyWithValue(sigs[0].PubKey) + anyPk, err := cdctypes.NewAnyWithValue(sigs[0].PubKey) if err != nil { am.processFailedEncryptedTx(ctx, eachTx, "Unable to parse signature public key to anypb.Any", startConsumedGas) return err diff --git a/x/pep/module/module_ibc.go b/x/pep/module/module_ibc.go index d83bd7db..68c4c44a 100644 --- a/x/pep/module/module_ibc.go +++ b/x/pep/module/module_ibc.go @@ -166,6 +166,24 @@ func (im IBCModule) OnRecvPacket( ), ) return ack + + case *kstypes.KeysharePacketData_EncryptedKeysharesPacketData: + packetAck, err := im.keeper.OnRecvEncKeyshareDataPacket(ctx, modulePacket, *packet.EncryptedKeysharesPacketData) + if err != nil { + ack = channeltypes.NewErrorAcknowledgement(err) + } else { + // Encode packet acknowledgment + packetAckBytes := types.MustProtoMarshalJSON(&packetAck) + ack = channeltypes.NewResultAcknowledgement(sdk.MustSortJSON(packetAckBytes)) + } + ctx.EventManager().EmitEvent( + sdk.NewEvent( + kstypes.EventTypeEncKeyshareDataPacket, + sdk.NewAttribute(sdk.AttributeKeyModule, types.ModuleName), + sdk.NewAttribute(kstypes.AttributeKeyAckSuccess, fmt.Sprintf("%t", err != nil)), + ), + ) + return ack // this line is used by starport scaffolding # ibc/packet/module/recv default: err := fmt.Errorf("unrecognized %s packet type: %T", types.ModuleName, packet) @@ -227,6 +245,20 @@ func (im IBCModule) OnAcknowledgementPacket( } eventType = kstypes.EventTypeGetAggrKeysharePacket + case *kstypes.KeysharePacketData_RequestPrivKeysharePacket: + err := im.keeper.OnAcknowledgementRequestPrivateKeysharePacket(ctx, modulePacket, *packet.RequestPrivKeysharePacket, ack) + if err != nil { + return err + } + eventType = kstypes.EventTypeRequestPrivateKeysharePacket + + case *kstypes.KeysharePacketData_GetPrivateKeysharePacket: + err := im.keeper.OnAcknowledgementGetPrivateKeysharePacket(ctx, modulePacket, *packet.GetPrivateKeysharePacket, ack) + if err != nil { + return err + } + eventType = kstypes.EventTypeGetEncryptedKeysharePacket + // this line is used by starport scaffolding # ibc/packet/module/ack default: errMsg := fmt.Sprintf("unrecognized %s packet type: %T", types.ModuleName, packet) diff --git a/x/pep/module/simulation.go b/x/pep/module/simulation.go deleted file mode 100644 index bad0aaa6..00000000 --- a/x/pep/module/simulation.go +++ /dev/null @@ -1,60 +0,0 @@ -package pep - -import ( - "math/rand" - - sdk "github.com/cosmos/cosmos-sdk/types" - "github.com/cosmos/cosmos-sdk/types/module" - simtypes "github.com/cosmos/cosmos-sdk/types/simulation" - "github.com/cosmos/cosmos-sdk/x/simulation" - - "github.com/Fairblock/fairyring/testutil/sample" - pepsimulation "github.com/Fairblock/fairyring/x/pep/simulation" - "github.com/Fairblock/fairyring/x/pep/types" -) - -// avoid unused import issue -var ( - _ = pepsimulation.FindAccount - _ = rand.Rand{} - _ = sample.AccAddress - _ = sdk.AccAddress{} - _ = simulation.MsgEntryKind -) - -const ( -// this line is used by starport scaffolding # simapp/module/const -) - -// GenerateGenesisState creates a randomized GenState of the module. -func (AppModule) GenerateGenesisState(simState *module.SimulationState) { - accs := make([]string, len(simState.Accounts)) - for i, acc := range simState.Accounts { - accs[i] = acc.Address.String() - } - pepGenesis := types.GenesisState{ - Params: types.DefaultParams(), - PortId: types.PortID, - // this line is used by starport scaffolding # simapp/module/genesisState - } - simState.GenState[types.ModuleName] = simState.Cdc.MustMarshalJSON(&pepGenesis) -} - -// RegisterStoreDecoder registers a decoder. -func (am AppModule) RegisterStoreDecoder(_ simtypes.StoreDecoderRegistry) {} - -// WeightedOperations returns the all the gov module operations with their respective weights. -func (am AppModule) WeightedOperations(simState module.SimulationState) []simtypes.WeightedOperation { - operations := make([]simtypes.WeightedOperation, 0) - - // this line is used by starport scaffolding # simapp/module/operation - - return operations -} - -// ProposalMsgs returns msgs used for governance proposals for simulations. -func (am AppModule) ProposalMsgs(simState module.SimulationState) []simtypes.WeightedProposalMsg { - return []simtypes.WeightedProposalMsg{ - // this line is used by starport scaffolding # simapp/module/OpMsg - } -} diff --git a/x/pep/simulation/helpers.go b/x/pep/simulation/helpers.go deleted file mode 100644 index 92c437c0..00000000 --- a/x/pep/simulation/helpers.go +++ /dev/null @@ -1,15 +0,0 @@ -package simulation - -import ( - sdk "github.com/cosmos/cosmos-sdk/types" - simtypes "github.com/cosmos/cosmos-sdk/types/simulation" -) - -// FindAccount find a specific address from an account list -func FindAccount(accs []simtypes.Account, address string) (simtypes.Account, bool) { - creator, err := sdk.AccAddressFromBech32(address) - if err != nil { - panic(err) - } - return simtypes.FindAccount(accs, creator) -} diff --git a/x/pep/types/codec.go b/x/pep/types/codec.go index f2fdecc4..844d5b64 100644 --- a/x/pep/types/codec.go +++ b/x/pep/types/codec.go @@ -2,6 +2,7 @@ package types import ( "bytes" + "github.com/cosmos/cosmos-sdk/codec" cdctypes "github.com/cosmos/cosmos-sdk/codec/types" sdk "github.com/cosmos/cosmos-sdk/types" @@ -12,6 +13,12 @@ import ( ) func RegisterInterfaces(registry cdctypes.InterfaceRegistry) { + registry.RegisterImplementations((*sdk.Msg)(nil), + &MsgRequestPrivateIdentity{}, + ) + registry.RegisterImplementations((*sdk.Msg)(nil), + &MsgGetPrivateKeyshares{}, + ) // this line is used by starport scaffolding # 3 registry.RegisterImplementations((*sdk.Msg)(nil), diff --git a/x/pep/types/events_ibc.go b/x/pep/types/events_ibc.go index ea879f38..317d6524 100644 --- a/x/pep/types/events_ibc.go +++ b/x/pep/types/events_ibc.go @@ -9,8 +9,11 @@ const ( AttributeKeyAck = "acknowledgement" AttributeKeyAckError = "error" - EventTypeCurrentKeysPacket = "currentKeys_packet" - EventTypeRequestKeyshare = "keyshare_request_packet" + EventTypeCurrentKeysPacket = "currentKeys_packet" + EventTypeRequestKeyshare = "keyshare_request_packet" + EventTypePrivateKeyshareRequest = "private_keyshare_request_packet" + EventTypePrivateKeyshareRequestSent = "private_keyshare_request_packet_sent" + EventTypeGetPrivateKeyshareRequest = "get_private_keyshare_request_packet" AttributeKeyRequestID = "request_id" AttributeKeyCreator = "creator" diff --git a/x/pep/types/genesis.go b/x/pep/types/genesis.go index 7904164e..89cfddc1 100644 --- a/x/pep/types/genesis.go +++ b/x/pep/types/genesis.go @@ -2,6 +2,7 @@ package types import ( "fmt" + sdk "github.com/cosmos/cosmos-sdk/types" host "github.com/cosmos/ibc-go/v8/modules/core/24-host" // this line is used by starport scaffolding # genesis/types/import diff --git a/x/pep/types/key_encrypted_tx.go b/x/pep/types/key_encrypted_tx.go index 2e6374bf..e5343aff 100644 --- a/x/pep/types/key_encrypted_tx.go +++ b/x/pep/types/key_encrypted_tx.go @@ -10,6 +10,8 @@ const ( // EncryptedTxKeyPrefix is the prefix to retrieve all EncryptedTx EncryptedTxKeyPrefix = "EncryptedTx/value/" GenEncTxKeyPrefix = "GenEncTx/value/" + PrivateRequestQueueKeyPrefix = "PrivateReq/value/" + PrivateSignalQueueKeyPrefix = "PrivateSignal/value/" GenEncTxReqQueueKeyPrefix = "GenEncTxReqQueue/value/" GenEncTxSignalQueueKeyPrefix = "GenEncTxSignalQueue/value/" GenEncTxExeQueueKeyPrefix = "GenEncTxExeQueue/value/" diff --git a/x/pep/types/key_request_id.go b/x/pep/types/key_request_id.go index 28ef5454..1aa0f903 100644 --- a/x/pep/types/key_request_id.go +++ b/x/pep/types/key_request_id.go @@ -9,7 +9,8 @@ var _ binary.ByteOrder const ( // RequestIdKeyPrefix is the prefix to retrieve all RequestId - RequestIdKeyPrefix = "RequestId/value/" + RequestIdKeyPrefix = "RequestId/value/" + PrivateRequestIdKeyPrefix = "PrivateRequestId/value/" ) // RequestIdKey returns the store key to retrieve a RequestId from the index fields diff --git a/x/pep/types/message_get_private_keyshares.go b/x/pep/types/message_get_private_keyshares.go new file mode 100644 index 00000000..f9cfefc9 --- /dev/null +++ b/x/pep/types/message_get_private_keyshares.go @@ -0,0 +1,52 @@ +package types + +import ( + "encoding/base64" + + errorsmod "cosmossdk.io/errors" + "github.com/btcsuite/btcd/btcec/v2" + sdk "github.com/cosmos/cosmos-sdk/types" + sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" +) + +var _ sdk.Msg = &MsgGetPrivateKeyshares{} + +func NewMsgGetPrivateKeyshares(creator string, reqId string, pubkey string) *MsgGetPrivateKeyshares { + return &MsgGetPrivateKeyshares{ + Creator: creator, + ReqId: reqId, + SecpPubkey: pubkey, + } +} + +func (msg *MsgGetPrivateKeyshares) ValidateBasic() error { + _, err := sdk.AccAddressFromBech32(msg.Creator) + if err != nil { + return errorsmod.Wrapf(sdkerrors.ErrInvalidAddress, "invalid creator address (%s)", err) + } + + err = isValidSecp256k1PubKey(msg.SecpPubkey) + if err != nil { + return err + } + + return nil +} + +// Function to validate the secp256k1 public key +func isValidSecp256k1PubKey(pubKeyBase64 string) error { + // Decode the base64 public key + pubKeyBytes, err := base64.StdEncoding.DecodeString(pubKeyBase64) + if err != nil { + return err + } + + // Try to parse the public key + _, err = btcec.ParsePubKey(pubKeyBytes) + if err != nil { + return err + } + + // If no error, the public key is valid + return nil +} diff --git a/x/pep/types/message_get_private_keyshares_test.go b/x/pep/types/message_get_private_keyshares_test.go new file mode 100644 index 00000000..f3e254a8 --- /dev/null +++ b/x/pep/types/message_get_private_keyshares_test.go @@ -0,0 +1,40 @@ +package types + +import ( + "testing" + + "github.com/Fairblock/fairyring/testutil/sample" + sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" + "github.com/stretchr/testify/require" +) + +func TestMsgGetPrivateKeyshares_ValidateBasic(t *testing.T) { + tests := []struct { + name string + msg MsgGetPrivateKeyshares + err error + }{ + { + name: "invalid address", + msg: MsgGetPrivateKeyshares{ + Creator: "invalid_address", + }, + err: sdkerrors.ErrInvalidAddress, + }, { + name: "valid address", + msg: MsgGetPrivateKeyshares{ + Creator: sample.AccAddress(), + }, + }, + } + for _, tt := range tests { + t.Run(tt.name, func(t *testing.T) { + err := tt.msg.ValidateBasic() + if tt.err != nil { + require.ErrorIs(t, err, tt.err) + return + } + require.NoError(t, err) + }) + } +} diff --git a/x/pep/types/message_request_private_identity.go b/x/pep/types/message_request_private_identity.go new file mode 100644 index 00000000..a6817f08 --- /dev/null +++ b/x/pep/types/message_request_private_identity.go @@ -0,0 +1,24 @@ +package types + +import ( + errorsmod "cosmossdk.io/errors" + sdk "github.com/cosmos/cosmos-sdk/types" + sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" +) + +var _ sdk.Msg = &MsgRequestPrivateIdentity{} + +func NewMsgRequestPrivateIdentity(creator string, reqId string) *MsgRequestPrivateIdentity { + return &MsgRequestPrivateIdentity{ + Creator: creator, + ReqId: reqId, + } +} + +func (msg *MsgRequestPrivateIdentity) ValidateBasic() error { + _, err := sdk.AccAddressFromBech32(msg.Creator) + if err != nil { + return errorsmod.Wrapf(sdkerrors.ErrInvalidAddress, "invalid creator address (%s)", err) + } + return nil +} diff --git a/x/pep/types/message_request_private_identity_test.go b/x/pep/types/message_request_private_identity_test.go new file mode 100644 index 00000000..58ada86e --- /dev/null +++ b/x/pep/types/message_request_private_identity_test.go @@ -0,0 +1,40 @@ +package types + +import ( + "testing" + + "github.com/Fairblock/fairyring/testutil/sample" + sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" + "github.com/stretchr/testify/require" +) + +func TestMsgRequestPrivateIdentity_ValidateBasic(t *testing.T) { + tests := []struct { + name string + msg MsgRequestPrivateIdentity + err error + }{ + { + name: "invalid address", + msg: MsgRequestPrivateIdentity{ + Creator: "invalid_address", + }, + err: sdkerrors.ErrInvalidAddress, + }, { + name: "valid address", + msg: MsgRequestPrivateIdentity{ + Creator: sample.AccAddress(), + }, + }, + } + for _, tt := range tests { + t.Run(tt.name, func(t *testing.T) { + err := tt.msg.ValidateBasic() + if tt.err != nil { + require.ErrorIs(t, err, tt.err) + return + } + require.NoError(t, err) + }) + } +} diff --git a/x/pep/types/packet.pb.go b/x/pep/types/packet.pb.go index da846682..2010eea3 100644 --- a/x/pep/types/packet.pb.go +++ b/x/pep/types/packet.pb.go @@ -5,10 +5,11 @@ package types import ( fmt "fmt" - proto "github.com/cosmos/gogoproto/proto" io "io" math "math" math_bits "math/bits" + + proto "github.com/cosmos/gogoproto/proto" ) // Reference imports to suppress errors if they are not otherwise used. diff --git a/x/pep/types/params.go b/x/pep/types/params.go index c7f441bd..656fd658 100644 --- a/x/pep/types/params.go +++ b/x/pep/types/params.go @@ -1,8 +1,9 @@ package types import ( - cosmosmath "cosmossdk.io/math" "fmt" + + cosmosmath "cosmossdk.io/math" sdk "github.com/cosmos/cosmos-sdk/types" paramtypes "github.com/cosmos/cosmos-sdk/x/params/types" ) @@ -20,8 +21,10 @@ var ( ) var ( - KeyMinGasPrice = []byte("MinGasPrice") - DefaultMinGasPrice = sdk.NewCoin("ufairy", cosmosmath.NewInt(300000)) + KeyMinGasPrice = []byte("MinGasPrice") + DefaultMinGasPrice = sdk.NewCoin("ufairy", cosmosmath.NewInt(300000)) + KeyKeysharePrice = []byte("PrivateKeysharePrice") + DefaultKeysharePrice = sdk.NewCoin("ufairy", cosmosmath.NewInt(300000)) ) var ( @@ -46,6 +49,7 @@ func NewParams( keyshareChannelID string, minGasPrice *sdk.Coin, isSourceChain bool, + keysharePrice *sdk.Coin, ) Params { return Params{ TrustedAddresses: trAddrs, @@ -53,12 +57,20 @@ func NewParams( KeyshareChannelId: keyshareChannelID, MinGasPrice: minGasPrice, IsSourceChain: isSourceChain, + PrivateKeysharePrice: keysharePrice, } } // DefaultParams returns a default set of parameters func DefaultParams() Params { - return NewParams(DefaultTrustedAddresses, DefaultTrustedCounterParties, DefaultKeyshareChannelID, &DefaultMinGasPrice, DefaultIsSourceChain) + return NewParams( + DefaultTrustedAddresses, + DefaultTrustedCounterParties, + DefaultKeyshareChannelID, + &DefaultMinGasPrice, + DefaultIsSourceChain, + &DefaultKeysharePrice, + ) } // ParamSetPairs get the params.ParamSet @@ -69,6 +81,7 @@ func (p *Params) ParamSetPairs() paramtypes.ParamSetPairs { paramtypes.NewParamSetPair(KeyKeyshareChannelID, &p.KeyshareChannelId, validateKeyshareChannelId), paramtypes.NewParamSetPair(KeyMinGasPrice, &p.MinGasPrice, validateMinGasPrice), paramtypes.NewParamSetPair(KeyIsSourceChain, &p.IsSourceChain, validateIsSourceChain), + paramtypes.NewParamSetPair(KeyKeysharePrice, &p.PrivateKeysharePrice, validateMinGasPrice), } } @@ -90,6 +103,10 @@ func (p Params) Validate() error { return err } + if err := validateMinGasPrice(p.PrivateKeysharePrice); err != nil { + return err + } + if err := validateIsSourceChain(p.IsSourceChain); err != nil { return err } diff --git a/x/pep/types/params.pb.go b/x/pep/types/params.pb.go index f50a9894..ef59726d 100644 --- a/x/pep/types/params.pb.go +++ b/x/pep/types/params.pb.go @@ -32,6 +32,7 @@ type Params struct { TrustedCounterParties []*TrustedCounterParty `protobuf:"bytes,3,rep,name=trusted_counter_parties,json=trustedCounterParties,proto3" json:"trusted_counter_parties,omitempty"` TrustedAddresses []string `protobuf:"bytes,4,rep,name=trusted_addresses,json=trustedAddresses,proto3" json:"trusted_addresses,omitempty" yaml:"trusted_addresses"` MinGasPrice *types.Coin `protobuf:"bytes,5,opt,name=min_gas_price,json=minGasPrice,proto3" json:"min_gas_price,omitempty" yaml:"min_gas_price"` + PrivateKeysharePrice *types.Coin `protobuf:"bytes,6,opt,name=private_keyshare_price,json=privateKeysharePrice,proto3" json:"private_keyshare_price,omitempty" yaml:"private_keyshare_price"` } func (m *Params) Reset() { *m = Params{} } @@ -102,6 +103,13 @@ func (m *Params) GetMinGasPrice() *types.Coin { return nil } +func (m *Params) GetPrivateKeysharePrice() *types.Coin { + if m != nil { + return m.PrivateKeysharePrice + } + return nil +} + type TrustedCounterParty struct { ClientId string `protobuf:"bytes,1,opt,name=client_id,json=clientId,proto3" json:"client_id,omitempty"` ConnectionId string `protobuf:"bytes,2,opt,name=connection_id,json=connectionId,proto3" json:"connection_id,omitempty"` @@ -170,38 +178,40 @@ func init() { func init() { proto.RegisterFile("fairyring/pep/params.proto", fileDescriptor_9a32cf7d58c7a431) } var fileDescriptor_9a32cf7d58c7a431 = []byte{ - // 487 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x6c, 0x92, 0x3d, 0x6f, 0xd3, 0x40, - 0x18, 0xc7, 0xeb, 0x1a, 0xaa, 0xe6, 0x42, 0x04, 0x71, 0x4b, 0x31, 0x2e, 0x38, 0x96, 0x59, 0xac, - 0x0e, 0xb6, 0x5a, 0xb6, 0x6e, 0x38, 0x08, 0x94, 0x05, 0x45, 0x06, 0x09, 0xa9, 0x8b, 0x75, 0x3e, - 0x1f, 0xce, 0xa3, 0xc6, 0x77, 0xd6, 0xdd, 0xa5, 0xc2, 0x5f, 0x81, 0x89, 0x8f, 0xc2, 0xca, 0x37, - 0x60, 0xec, 0xc8, 0x14, 0xa1, 0x64, 0x60, 0xcf, 0x27, 0x40, 0xf6, 0x25, 0x2d, 0x7d, 0x59, 0xac, - 0xbb, 0xdf, 0xfd, 0x7c, 0x2f, 0xcf, 0xf3, 0x47, 0xce, 0x17, 0x0c, 0xa2, 0x16, 0xc0, 0x8a, 0xa8, - 0xa2, 0x55, 0x54, 0x61, 0x81, 0x4b, 0x19, 0x56, 0x82, 0x2b, 0x6e, 0xf5, 0xae, 0xd6, 0xc2, 0x8a, - 0x56, 0x4e, 0x1f, 0x97, 0xc0, 0x78, 0xd4, 0x7e, 0xb5, 0xe1, 0xec, 0x17, 0xbc, 0xe0, 0xed, 0x30, - 0x6a, 0x46, 0x6b, 0xea, 0x12, 0x2e, 0x4b, 0x2e, 0xa3, 0x0c, 0x4b, 0x1a, 0x5d, 0x1c, 0x67, 0x54, - 0xe1, 0xe3, 0x88, 0x70, 0x60, 0x7a, 0xdd, 0xff, 0x69, 0xa2, 0x9d, 0x71, 0x7b, 0x90, 0xf5, 0x01, - 0xed, 0x9d, 0xd3, 0x5a, 0x4e, 0xb0, 0xa0, 0x29, 0x99, 0x60, 0xc6, 0xe8, 0x34, 0x85, 0xdc, 0x36, - 0x3c, 0x23, 0xe8, 0xc4, 0xee, 0x6a, 0x3e, 0x70, 0x6a, 0x5c, 0x4e, 0x4f, 0xfd, 0x7b, 0x24, 0x3f, - 0xe9, 0x6f, 0xe8, 0x50, 0xc3, 0x51, 0x6e, 0xc5, 0xe8, 0x31, 0xc8, 0x54, 0xf2, 0x99, 0x20, 0xad, - 0x0b, 0xcc, 0xde, 0xf6, 0x8c, 0x60, 0x37, 0x76, 0x56, 0xf3, 0xc1, 0x81, 0xde, 0xeb, 0x96, 0xe0, - 0x27, 0x3d, 0x90, 0x1f, 0x5b, 0x30, 0x6c, 0xe6, 0xd6, 0x19, 0x7a, 0xa6, 0xc4, 0x4c, 0x2a, 0x9a, - 0xa7, 0x84, 0xcf, 0x98, 0xa2, 0x22, 0xad, 0xb0, 0x50, 0x40, 0xa5, 0x6d, 0x7a, 0x66, 0xd0, 0x3d, - 0xf1, 0xc3, 0x1b, 0x85, 0x09, 0x3f, 0x69, 0x7b, 0xa8, 0xe5, 0x31, 0x16, 0xaa, 0x4e, 0x9e, 0xaa, - 0x3b, 0x10, 0xa8, 0xb4, 0x46, 0xa8, 0xbf, 0xd9, 0x1b, 0xe7, 0xb9, 0xa0, 0x52, 0x52, 0x69, 0x3f, - 0xf0, 0xcc, 0xa0, 0x13, 0xbf, 0x58, 0xcd, 0x07, 0xb6, 0xbe, 0xe1, 0x1d, 0xc5, 0x4f, 0x9e, 0xac, - 0xd9, 0x9b, 0x0d, 0xb2, 0x3e, 0xa3, 0x5e, 0x09, 0x2c, 0x2d, 0xb0, 0x4c, 0x2b, 0x01, 0x84, 0xda, - 0x0f, 0x3d, 0x23, 0xe8, 0x9e, 0x3c, 0x0f, 0x75, 0xf5, 0xc3, 0xa6, 0xfa, 0xe1, 0xba, 0xfa, 0xe1, - 0x90, 0x03, 0x8b, 0xed, 0xd5, 0x7c, 0xb0, 0xaf, 0x4f, 0xb8, 0xf1, 0xa7, 0x9f, 0x74, 0x4b, 0x60, - 0xef, 0xb1, 0x1c, 0x37, 0xb3, 0xd3, 0xc3, 0x6f, 0x7f, 0x7f, 0x1c, 0x1d, 0x5c, 0xe7, 0xe2, 0x6b, - 0x9b, 0x0c, 0xdd, 0x30, 0xff, 0x02, 0xed, 0xdd, 0xf3, 0x5c, 0xeb, 0x10, 0x75, 0xc8, 0x14, 0x28, - 0x53, 0x57, 0xdd, 0x4b, 0x76, 0x35, 0x18, 0xe5, 0xd6, 0x2b, 0xd4, 0x23, 0x9c, 0x31, 0x4a, 0x14, - 0x70, 0xd6, 0x08, 0xdb, 0xad, 0xf0, 0xe8, 0x1a, 0x8e, 0x72, 0xeb, 0x25, 0x42, 0xff, 0x05, 0xc0, - 0x6c, 0x8d, 0x0e, 0xd9, 0x34, 0x36, 0x7e, 0xfb, 0x6b, 0xe1, 0x1a, 0x97, 0x0b, 0xd7, 0xf8, 0xb3, - 0x70, 0x8d, 0xef, 0x4b, 0x77, 0xeb, 0x72, 0xe9, 0x6e, 0xfd, 0x5e, 0xba, 0x5b, 0x67, 0x47, 0x05, - 0xa8, 0xc9, 0x2c, 0x0b, 0x09, 0x2f, 0xa3, 0x77, 0x18, 0x44, 0x36, 0xe5, 0xe4, 0x3c, 0xba, 0x7d, - 0x7d, 0x55, 0x57, 0x54, 0x66, 0x3b, 0x6d, 0x00, 0x5f, 0xff, 0x0b, 0x00, 0x00, 0xff, 0xff, 0x5b, - 0xfb, 0xbb, 0xb5, 0xf6, 0x02, 0x00, 0x00, + // 522 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x84, 0x92, 0xc1, 0x6e, 0x12, 0x41, + 0x1c, 0xc6, 0xd9, 0x52, 0x49, 0x19, 0x24, 0xca, 0x14, 0x71, 0xa5, 0x76, 0xc1, 0xf5, 0x42, 0x7a, + 0xd8, 0x4d, 0xeb, 0xad, 0x37, 0x17, 0xa3, 0x21, 0x26, 0x86, 0xac, 0x26, 0x26, 0xbd, 0x6c, 0x86, + 0xd9, 0x11, 0x26, 0x65, 0x67, 0x26, 0x33, 0x03, 0x91, 0x57, 0xf0, 0xe4, 0x8b, 0x98, 0xf8, 0x18, + 0x1e, 0x7b, 0xf4, 0x44, 0x0c, 0x1c, 0xbc, 0xf3, 0x04, 0x86, 0x99, 0x85, 0xda, 0x96, 0xa4, 0x97, + 0xcd, 0xcc, 0xf7, 0xff, 0xed, 0xff, 0x9b, 0x7c, 0xf9, 0x40, 0xf3, 0x0b, 0xa2, 0x72, 0x26, 0x29, + 0x1b, 0x86, 0x82, 0x88, 0x50, 0x20, 0x89, 0x32, 0x15, 0x08, 0xc9, 0x35, 0x87, 0xd5, 0xed, 0x2c, + 0x10, 0x44, 0x34, 0x6b, 0x28, 0xa3, 0x8c, 0x87, 0xe6, 0x6b, 0x89, 0x66, 0x7d, 0xc8, 0x87, 0xdc, + 0x1c, 0xc3, 0xf5, 0x29, 0x57, 0x3d, 0xcc, 0x55, 0xc6, 0x55, 0x38, 0x40, 0x8a, 0x84, 0xd3, 0xd3, + 0x01, 0xd1, 0xe8, 0x34, 0xc4, 0x9c, 0x32, 0x3b, 0xf7, 0x7f, 0xec, 0x83, 0x52, 0xdf, 0x18, 0xc1, + 0x0f, 0xe0, 0xf0, 0x92, 0xcc, 0xd4, 0x08, 0x49, 0x92, 0xe0, 0x11, 0x62, 0x8c, 0x8c, 0x13, 0x9a, + 0xba, 0x4e, 0xdb, 0xe9, 0x94, 0x23, 0x6f, 0x35, 0x6f, 0x35, 0x67, 0x28, 0x1b, 0x9f, 0xfb, 0x3b, + 0x20, 0x3f, 0xae, 0x6d, 0xd4, 0xae, 0x15, 0x7b, 0x29, 0x8c, 0xc0, 0x23, 0xaa, 0x12, 0xc5, 0x27, + 0x12, 0x1b, 0x96, 0x32, 0x77, 0xaf, 0xed, 0x74, 0x0e, 0xa2, 0xe6, 0x6a, 0xde, 0x6a, 0xd8, 0x5d, + 0xb7, 0x00, 0x3f, 0xae, 0x52, 0xf5, 0xd1, 0x08, 0xdd, 0xf5, 0x1d, 0x5e, 0x80, 0xa7, 0x5a, 0x4e, + 0x94, 0x26, 0x69, 0x82, 0xf9, 0x84, 0x69, 0x22, 0x13, 0x81, 0xa4, 0xa6, 0x44, 0xb9, 0xc5, 0x76, + 0xb1, 0x53, 0x39, 0xf3, 0x83, 0x1b, 0xc1, 0x04, 0x9f, 0x2c, 0xdd, 0xb5, 0x70, 0x1f, 0x49, 0x3d, + 0x8b, 0x9f, 0xe8, 0x3b, 0x22, 0x25, 0x0a, 0xf6, 0x40, 0x6d, 0xb3, 0x1b, 0xa5, 0xa9, 0x24, 0x4a, + 0x11, 0xe5, 0xee, 0xb7, 0x8b, 0x9d, 0x72, 0xf4, 0x7c, 0x35, 0x6f, 0xb9, 0xf6, 0x85, 0x77, 0x10, + 0x3f, 0x7e, 0x9c, 0x6b, 0xaf, 0x37, 0x12, 0xfc, 0x0c, 0xaa, 0x19, 0x65, 0xc9, 0x10, 0xa9, 0x44, + 0x48, 0x8a, 0x89, 0xfb, 0xa0, 0xed, 0x74, 0x2a, 0x67, 0xcf, 0x02, 0x9b, 0x7e, 0xb0, 0x4e, 0x3f, + 0xc8, 0xd3, 0x0f, 0xba, 0x9c, 0xb2, 0xc8, 0x5d, 0xcd, 0x5b, 0x75, 0xeb, 0x70, 0xe3, 0x4f, 0x3f, + 0xae, 0x64, 0x94, 0xbd, 0x43, 0xaa, 0xbf, 0xbe, 0x41, 0x09, 0x1a, 0x42, 0xd2, 0x29, 0xd2, 0x24, + 0xd9, 0xc6, 0x6e, 0x1d, 0x4a, 0xf7, 0x39, 0xbc, 0x58, 0xcd, 0x5b, 0xc7, 0xd6, 0x61, 0xf7, 0x0a, + 0x3f, 0xae, 0xe7, 0x83, 0xf7, 0xb9, 0x6e, 0x3c, 0xcf, 0x8f, 0xbe, 0xfd, 0xfd, 0x79, 0xd2, 0xb8, + 0xee, 0xe2, 0x57, 0xd3, 0x46, 0x5b, 0x12, 0x7f, 0x0a, 0x0e, 0x77, 0x44, 0x0c, 0x8f, 0x40, 0x19, + 0x8f, 0x29, 0x61, 0x7a, 0xdb, 0x98, 0xf8, 0xc0, 0x0a, 0xbd, 0x14, 0xbe, 0x04, 0x55, 0xcc, 0x19, + 0x23, 0x58, 0x53, 0xce, 0xd6, 0xc0, 0x9e, 0x01, 0x1e, 0x5e, 0x8b, 0xbd, 0x14, 0x1e, 0x03, 0xf0, + 0x5f, 0xe9, 0x8a, 0x86, 0x28, 0xe3, 0x4d, 0x99, 0xa2, 0x37, 0xbf, 0x16, 0x9e, 0x73, 0xb5, 0xf0, + 0x9c, 0x3f, 0x0b, 0xcf, 0xf9, 0xbe, 0xf4, 0x0a, 0x57, 0x4b, 0xaf, 0xf0, 0x7b, 0xe9, 0x15, 0x2e, + 0x4e, 0x86, 0x54, 0x8f, 0x26, 0x83, 0x00, 0xf3, 0x2c, 0x7c, 0x8b, 0xa8, 0x1c, 0x8c, 0x39, 0xbe, + 0x0c, 0x6f, 0x3f, 0x5f, 0xcf, 0x04, 0x51, 0x83, 0x92, 0x29, 0xfd, 0xab, 0x7f, 0x01, 0x00, 0x00, + 0xff, 0xff, 0x6e, 0x7b, 0x9e, 0xa6, 0x6a, 0x03, 0x00, 0x00, } func (m *Params) Marshal() (dAtA []byte, err error) { @@ -224,6 +234,18 @@ func (m *Params) MarshalToSizedBuffer(dAtA []byte) (int, error) { _ = i var l int _ = l + if m.PrivateKeysharePrice != nil { + { + size, err := m.PrivateKeysharePrice.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintParams(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x32 + } if m.MinGasPrice != nil { { size, err := m.MinGasPrice.MarshalToSizedBuffer(dAtA[:i]) @@ -363,6 +385,10 @@ func (m *Params) Size() (n int) { l = m.MinGasPrice.Size() n += 1 + l + sovParams(uint64(l)) } + if m.PrivateKeysharePrice != nil { + l = m.PrivateKeysharePrice.Size() + n += 1 + l + sovParams(uint64(l)) + } return n } @@ -576,6 +602,42 @@ func (m *Params) Unmarshal(dAtA []byte) error { return err } iNdEx = postIndex + case 6: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field PrivateKeysharePrice", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowParams + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthParams + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthParams + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.PrivateKeysharePrice == nil { + m.PrivateKeysharePrice = &types.Coin{} + } + if err := m.PrivateKeysharePrice.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipParams(dAtA[iNdEx:]) diff --git a/x/pep/types/query.pb.go b/x/pep/types/query.pb.go index 5ffd6fd6..63b70e3e 100644 --- a/x/pep/types/query.pb.go +++ b/x/pep/types/query.pb.go @@ -7,6 +7,7 @@ import ( context "context" fmt "fmt" types "github.com/Fairblock/fairyring/x/common/types" + _ "github.com/cosmos/cosmos-sdk/types" query "github.com/cosmos/cosmos-sdk/types/query" _ "github.com/cosmos/cosmos-sdk/types/tx/amino" _ "github.com/cosmos/gogoproto/gogoproto" @@ -931,6 +932,222 @@ func (m *QueryPubKeyResponse) GetQueuedPubKey() types.QueuedPublicKey { return types.QueuedPublicKey{} } +type QueryShowPrivateKeyshareReqRequest struct { + ReqId string `protobuf:"bytes,1,opt,name=reqId,proto3" json:"reqId,omitempty"` +} + +func (m *QueryShowPrivateKeyshareReqRequest) Reset() { *m = QueryShowPrivateKeyshareReqRequest{} } +func (m *QueryShowPrivateKeyshareReqRequest) String() string { return proto.CompactTextString(m) } +func (*QueryShowPrivateKeyshareReqRequest) ProtoMessage() {} +func (*QueryShowPrivateKeyshareReqRequest) Descriptor() ([]byte, []int) { + return fileDescriptor_dd36cf23112e8be0, []int{20} +} +func (m *QueryShowPrivateKeyshareReqRequest) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *QueryShowPrivateKeyshareReqRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_QueryShowPrivateKeyshareReqRequest.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *QueryShowPrivateKeyshareReqRequest) XXX_Merge(src proto.Message) { + xxx_messageInfo_QueryShowPrivateKeyshareReqRequest.Merge(m, src) +} +func (m *QueryShowPrivateKeyshareReqRequest) XXX_Size() int { + return m.Size() +} +func (m *QueryShowPrivateKeyshareReqRequest) XXX_DiscardUnknown() { + xxx_messageInfo_QueryShowPrivateKeyshareReqRequest.DiscardUnknown(m) +} + +var xxx_messageInfo_QueryShowPrivateKeyshareReqRequest proto.InternalMessageInfo + +func (m *QueryShowPrivateKeyshareReqRequest) GetReqId() string { + if m != nil { + return m.ReqId + } + return "" +} + +type QueryShowPrivateKeyshareReqResponse struct { + Creator string `protobuf:"bytes,1,opt,name=creator,proto3" json:"creator,omitempty"` + ReqId string `protobuf:"bytes,2,opt,name=req_id,json=reqId,proto3" json:"req_id,omitempty"` + Pubkey string `protobuf:"bytes,3,opt,name=pubkey,proto3" json:"pubkey,omitempty"` + EncryptedKeyshares []*types.EncryptedKeyshare `protobuf:"bytes,5,rep,name=encrypted_keyshares,json=encryptedKeyshares,proto3" json:"encrypted_keyshares,omitempty"` +} + +func (m *QueryShowPrivateKeyshareReqResponse) Reset() { *m = QueryShowPrivateKeyshareReqResponse{} } +func (m *QueryShowPrivateKeyshareReqResponse) String() string { return proto.CompactTextString(m) } +func (*QueryShowPrivateKeyshareReqResponse) ProtoMessage() {} +func (*QueryShowPrivateKeyshareReqResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_dd36cf23112e8be0, []int{21} +} +func (m *QueryShowPrivateKeyshareReqResponse) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *QueryShowPrivateKeyshareReqResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_QueryShowPrivateKeyshareReqResponse.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *QueryShowPrivateKeyshareReqResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_QueryShowPrivateKeyshareReqResponse.Merge(m, src) +} +func (m *QueryShowPrivateKeyshareReqResponse) XXX_Size() int { + return m.Size() +} +func (m *QueryShowPrivateKeyshareReqResponse) XXX_DiscardUnknown() { + xxx_messageInfo_QueryShowPrivateKeyshareReqResponse.DiscardUnknown(m) +} + +var xxx_messageInfo_QueryShowPrivateKeyshareReqResponse proto.InternalMessageInfo + +func (m *QueryShowPrivateKeyshareReqResponse) GetCreator() string { + if m != nil { + return m.Creator + } + return "" +} + +func (m *QueryShowPrivateKeyshareReqResponse) GetReqId() string { + if m != nil { + return m.ReqId + } + return "" +} + +func (m *QueryShowPrivateKeyshareReqResponse) GetPubkey() string { + if m != nil { + return m.Pubkey + } + return "" +} + +func (m *QueryShowPrivateKeyshareReqResponse) GetEncryptedKeyshares() []*types.EncryptedKeyshare { + if m != nil { + return m.EncryptedKeyshares + } + return nil +} + +type QueryDecryptDataRequest struct { + Pubkey string `protobuf:"bytes,1,opt,name=pubkey,proto3" json:"pubkey,omitempty"` + AggrKeyshare string `protobuf:"bytes,2,opt,name=aggrKeyshare,proto3" json:"aggrKeyshare,omitempty"` + EncryptedData string `protobuf:"bytes,3,opt,name=encryptedData,proto3" json:"encryptedData,omitempty"` +} + +func (m *QueryDecryptDataRequest) Reset() { *m = QueryDecryptDataRequest{} } +func (m *QueryDecryptDataRequest) String() string { return proto.CompactTextString(m) } +func (*QueryDecryptDataRequest) ProtoMessage() {} +func (*QueryDecryptDataRequest) Descriptor() ([]byte, []int) { + return fileDescriptor_dd36cf23112e8be0, []int{22} +} +func (m *QueryDecryptDataRequest) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *QueryDecryptDataRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_QueryDecryptDataRequest.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *QueryDecryptDataRequest) XXX_Merge(src proto.Message) { + xxx_messageInfo_QueryDecryptDataRequest.Merge(m, src) +} +func (m *QueryDecryptDataRequest) XXX_Size() int { + return m.Size() +} +func (m *QueryDecryptDataRequest) XXX_DiscardUnknown() { + xxx_messageInfo_QueryDecryptDataRequest.DiscardUnknown(m) +} + +var xxx_messageInfo_QueryDecryptDataRequest proto.InternalMessageInfo + +func (m *QueryDecryptDataRequest) GetPubkey() string { + if m != nil { + return m.Pubkey + } + return "" +} + +func (m *QueryDecryptDataRequest) GetAggrKeyshare() string { + if m != nil { + return m.AggrKeyshare + } + return "" +} + +func (m *QueryDecryptDataRequest) GetEncryptedData() string { + if m != nil { + return m.EncryptedData + } + return "" +} + +type QueryDecryptDataResponse struct { + DecryptedData string `protobuf:"bytes,1,opt,name=decrypted_data,json=decryptedData,proto3" json:"decrypted_data,omitempty"` +} + +func (m *QueryDecryptDataResponse) Reset() { *m = QueryDecryptDataResponse{} } +func (m *QueryDecryptDataResponse) String() string { return proto.CompactTextString(m) } +func (*QueryDecryptDataResponse) ProtoMessage() {} +func (*QueryDecryptDataResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_dd36cf23112e8be0, []int{23} +} +func (m *QueryDecryptDataResponse) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *QueryDecryptDataResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_QueryDecryptDataResponse.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *QueryDecryptDataResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_QueryDecryptDataResponse.Merge(m, src) +} +func (m *QueryDecryptDataResponse) XXX_Size() int { + return m.Size() +} +func (m *QueryDecryptDataResponse) XXX_DiscardUnknown() { + xxx_messageInfo_QueryDecryptDataResponse.DiscardUnknown(m) +} + +var xxx_messageInfo_QueryDecryptDataResponse proto.InternalMessageInfo + +func (m *QueryDecryptDataResponse) GetDecryptedData() string { + if m != nil { + return m.DecryptedData + } + return "" +} + func init() { proto.RegisterType((*QueryParamsRequest)(nil), "fairyring.pep.QueryParamsRequest") proto.RegisterType((*QueryParamsResponse)(nil), "fairyring.pep.QueryParamsResponse") @@ -952,82 +1169,101 @@ func init() { proto.RegisterType((*QueryAllPepNonceResponse)(nil), "fairyring.pep.QueryAllPepNonceResponse") proto.RegisterType((*QueryPubKeyRequest)(nil), "fairyring.pep.QueryPubKeyRequest") proto.RegisterType((*QueryPubKeyResponse)(nil), "fairyring.pep.QueryPubKeyResponse") + proto.RegisterType((*QueryShowPrivateKeyshareReqRequest)(nil), "fairyring.pep.QueryShowPrivateKeyshareReqRequest") + proto.RegisterType((*QueryShowPrivateKeyshareReqResponse)(nil), "fairyring.pep.QueryShowPrivateKeyshareReqResponse") + proto.RegisterType((*QueryDecryptDataRequest)(nil), "fairyring.pep.QueryDecryptDataRequest") + proto.RegisterType((*QueryDecryptDataResponse)(nil), "fairyring.pep.QueryDecryptDataResponse") } func init() { proto.RegisterFile("fairyring/pep/query.proto", fileDescriptor_dd36cf23112e8be0) } var fileDescriptor_dd36cf23112e8be0 = []byte{ - // 1105 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xac, 0x97, 0xcf, 0x4f, 0xe3, 0x46, - 0x14, 0xc7, 0x31, 0x0b, 0x29, 0xbc, 0xd0, 0x55, 0x3b, 0x85, 0x25, 0x78, 0x97, 0xc0, 0x0e, 0x2c, - 0xd0, 0xa8, 0xcd, 0x68, 0x61, 0x0f, 0x6d, 0x6f, 0xa1, 0x05, 0xda, 0x52, 0xb5, 0x10, 0x6d, 0x7b, - 0xd8, 0x4b, 0x34, 0x49, 0xa6, 0xc6, 0xc2, 0xf1, 0x38, 0xb6, 0xb3, 0x4a, 0x8a, 0x90, 0xaa, 0xbd, - 0xf4, 0xd2, 0x43, 0xa5, 0xde, 0xab, 0x1e, 0xf7, 0xd6, 0x5e, 0xf7, 0x3f, 0xd8, 0xe3, 0x4a, 0xbd, - 0xf4, 0x54, 0x55, 0x50, 0xa9, 0x7f, 0x42, 0xaf, 0x95, 0xc7, 0xcf, 0xc4, 0x36, 0x4e, 0x02, 0x5a, - 0x2e, 0x08, 0xcf, 0xbc, 0x1f, 0x9f, 0xf7, 0xde, 0xf8, 0xeb, 0x09, 0x2c, 0x7c, 0xcb, 0x4d, 0xb7, - 0xe7, 0x9a, 0xb6, 0xc1, 0x1c, 0xe1, 0xb0, 0x76, 0x47, 0xb8, 0xbd, 0xb2, 0xe3, 0x4a, 0x5f, 0x92, - 0x37, 0x2f, 0xb6, 0xca, 0x8e, 0x70, 0xf4, 0xb7, 0x79, 0xcb, 0xb4, 0x25, 0x53, 0x7f, 0x43, 0x0b, - 0x7d, 0xd6, 0x90, 0x86, 0x54, 0xff, 0xb2, 0xe0, 0x3f, 0x5c, 0xbd, 0x67, 0x48, 0x69, 0x58, 0x82, - 0x71, 0xc7, 0x64, 0xdc, 0xb6, 0xa5, 0xcf, 0x7d, 0x53, 0xda, 0x1e, 0xee, 0x96, 0x1a, 0xd2, 0x6b, - 0x49, 0x8f, 0xd5, 0xb9, 0x27, 0xc2, 0x74, 0xec, 0xe9, 0xc3, 0xba, 0xf0, 0xf9, 0x43, 0xe6, 0x70, - 0xc3, 0xb4, 0x95, 0x31, 0xda, 0xea, 0x49, 0x38, 0x87, 0xbb, 0xbc, 0x15, 0xc5, 0x59, 0x4e, 0xee, - 0x09, 0xbb, 0xe1, 0xf6, 0x1c, 0x5f, 0x34, 0x6b, 0x7e, 0x17, 0x2d, 0x16, 0x53, 0xde, 0xc2, 0xa9, - 0xd9, 0xd2, 0x6e, 0x08, 0xdc, 0xde, 0x48, 0x6e, 0x73, 0xc3, 0x70, 0x85, 0xc1, 0x83, 0x08, 0xc7, - 0xa2, 0x57, 0xf3, 0x8e, 0xb8, 0x1b, 0x59, 0xae, 0xf4, 0x2d, 0x1b, 0xb2, 0xd5, 0x92, 0x36, 0x53, - 0xbb, 0xcd, 0x9a, 0xdf, 0x73, 0x04, 0xf2, 0xd0, 0x59, 0x20, 0x87, 0x41, 0x35, 0x07, 0x0a, 0xb2, - 0x2a, 0xda, 0x1d, 0xe1, 0xf9, 0xf4, 0x2b, 0x78, 0x27, 0xb1, 0xea, 0x39, 0xd2, 0xf6, 0x04, 0xf9, - 0x00, 0x72, 0x61, 0x31, 0x05, 0x6d, 0x59, 0xdb, 0xc8, 0x6f, 0xce, 0x95, 0x13, 0xbd, 0x2e, 0x87, - 0xe6, 0xdb, 0xd3, 0x2f, 0xff, 0x5a, 0x1a, 0x7b, 0xfe, 0xef, 0xef, 0x25, 0xad, 0x8a, 0xf6, 0xf4, - 0x7d, 0x98, 0x55, 0x01, 0xf7, 0x45, 0x4f, 0x41, 0x60, 0x22, 0x32, 0x07, 0x39, 0x57, 0xb4, 0x6b, - 0x66, 0x53, 0x45, 0x9c, 0xae, 0x4e, 0xba, 0xa2, 0xfd, 0x59, 0x93, 0x3e, 0x81, 0xb9, 0x94, 0x39, - 0x12, 0x54, 0x60, 0xea, 0x18, 0xd7, 0x90, 0xe1, 0x41, 0x8a, 0x61, 0x4f, 0xd8, 0x3b, 0x76, 0xe3, - 0x71, 0x77, 0xa7, 0x2b, 0x1a, 0x9d, 0x60, 0x28, 0x87, 0x1d, 0xd1, 0x11, 0xd5, 0x0b, 0x37, 0xca, - 0x61, 0x5e, 0xc5, 0xae, 0x58, 0x56, 0x9a, 0x66, 0x17, 0xa0, 0x3f, 0x4c, 0x8c, 0xbf, 0x56, 0x0e, - 0x27, 0x5f, 0x0e, 0x26, 0x5f, 0x0e, 0x0f, 0x1a, 0x4e, 0xbe, 0x7c, 0xc0, 0x8d, 0xc8, 0xb7, 0x1a, - 0xf3, 0xa4, 0xcf, 0x35, 0x28, 0x5c, 0xce, 0x81, 0x25, 0x7c, 0x0c, 0xd3, 0x11, 0x4b, 0xd0, 0xc7, - 0x5b, 0x57, 0xaf, 0xa1, 0xef, 0x47, 0xf6, 0x12, 0xa4, 0xe3, 0x8a, 0x74, 0x7d, 0x24, 0x69, 0x48, - 0x90, 0x40, 0xfd, 0x06, 0x74, 0x45, 0xba, 0x27, 0xfc, 0x9d, 0xe8, 0x2c, 0x3e, 0xee, 0x46, 0x0d, - 0xa1, 0x30, 0xe3, 0x73, 0xd7, 0x10, 0xfe, 0xa7, 0xc2, 0x34, 0x8e, 0x7c, 0xd5, 0x92, 0x89, 0x6a, - 0x62, 0x8d, 0xcc, 0xc2, 0xa4, 0x69, 0x37, 0x45, 0x57, 0x51, 0x4c, 0x54, 0xc3, 0x07, 0xca, 0xe1, - 0x6e, 0x66, 0x5c, 0x6c, 0xc2, 0x36, 0xe4, 0x45, 0x7f, 0x19, 0x5b, 0xad, 0xa7, 0xda, 0x10, 0x73, - 0xdc, 0x9e, 0x08, 0xce, 0x54, 0x35, 0xee, 0x44, 0x9b, 0x88, 0x5e, 0xb1, 0xac, 0x0c, 0xf4, 0x9b, - 0x9a, 0xe5, 0x0b, 0x0d, 0x2b, 0x49, 0xa7, 0xc1, 0x4a, 0x0e, 0xe1, 0xad, 0x18, 0x54, 0xc5, 0x75, - 0x79, 0x0f, 0xa7, 0xba, 0x34, 0xb8, 0x1c, 0x65, 0x86, 0x35, 0x5d, 0x72, 0xbf, 0xb9, 0xe1, 0x7e, - 0x0e, 0xab, 0x19, 0xe8, 0xbb, 0xae, 0x6c, 0x85, 0xb3, 0xbb, 0xc6, 0x98, 0xe9, 0x77, 0xf0, 0x60, - 0x44, 0xac, 0xa1, 0x0d, 0xd1, 0x5e, 0xa3, 0x21, 0x54, 0xc7, 0xd7, 0xe9, 0x0b, 0xee, 0x0b, 0xcf, - 0x4f, 0xb0, 0xd3, 0x2d, 0x58, 0xc8, 0xd8, 0x43, 0x96, 0x3b, 0x90, 0x3b, 0x8a, 0x97, 0x84, 0x4f, - 0x74, 0x0b, 0x35, 0x60, 0x4f, 0xf8, 0x07, 0xc2, 0xf9, 0x32, 0x90, 0xd7, 0xa8, 0x17, 0x05, 0x78, - 0x83, 0x37, 0x9b, 0xae, 0xf0, 0x3c, 0x94, 0xa4, 0xe8, 0x91, 0x7e, 0x8d, 0x14, 0x09, 0x27, 0x4c, - 0xf4, 0x21, 0x4c, 0x39, 0xb8, 0x86, 0xc5, 0xce, 0xa7, 0xb5, 0x11, 0xb7, 0xb1, 0xc8, 0x0b, 0xf3, - 0xb8, 0x1e, 0xa5, 0x59, 0x6e, 0xea, 0x0c, 0xff, 0x12, 0xd3, 0xa3, 0x11, 0xe8, 0xb7, 0xae, 0x81, - 0x7e, 0x73, 0x07, 0xf5, 0xe2, 0x2b, 0xd4, 0xa9, 0xef, 0x8b, 0x5e, 0x34, 0xda, 0xdf, 0xb4, 0xe8, - 0x33, 0x84, 0xcb, 0x48, 0xbc, 0x0f, 0x33, 0xbc, 0xe1, 0x9b, 0x4f, 0x45, 0xb8, 0x8e, 0x8d, 0xb9, - 0x1f, 0xa3, 0x0e, 0xbf, 0x77, 0xe5, 0x4a, 0x64, 0x65, 0x99, 0x8d, 0x7d, 0x11, 0x9d, 0xaf, 0x84, - 0x73, 0x10, 0xac, 0x1d, 0xa8, 0x6b, 0x13, 0x83, 0x8d, 0x0f, 0x0a, 0x76, 0x18, 0x59, 0x25, 0x83, - 0xc5, 0x9d, 0x37, 0xff, 0x03, 0x98, 0x54, 0xc4, 0xc4, 0x86, 0x5c, 0xf8, 0x35, 0x24, 0xf7, 0x53, - 0xdd, 0xbc, 0xfc, 0xb9, 0xd5, 0xe9, 0x30, 0x93, 0xb0, 0x68, 0xba, 0xf8, 0xec, 0x8f, 0x7f, 0x7e, - 0x1e, 0x9f, 0x27, 0x73, 0x2c, 0xeb, 0x76, 0x41, 0x7e, 0xd5, 0x20, 0x1f, 0x7b, 0x9f, 0xc8, 0xbb, - 0x59, 0x21, 0x33, 0x45, 0x5e, 0x2f, 0x5d, 0xc5, 0x14, 0x29, 0x3e, 0x52, 0x14, 0x8f, 0xc8, 0x26, - 0x1b, 0x7c, 0x8f, 0x61, 0x27, 0x71, 0xe1, 0x38, 0x65, 0x27, 0xea, 0x8b, 0x70, 0x4a, 0x7e, 0xd4, - 0xe0, 0x76, 0xfc, 0x95, 0xb7, 0xac, 0x6c, 0xca, 0x4c, 0x3d, 0xcf, 0xa6, 0xcc, 0xd6, 0x64, 0xba, - 0xa2, 0x28, 0x17, 0xc9, 0xdd, 0x21, 0x94, 0xe4, 0x85, 0x06, 0x85, 0x24, 0x4e, 0x5f, 0xcc, 0xc8, - 0xd6, 0xe8, 0x6c, 0x97, 0x64, 0x54, 0x7f, 0x74, 0x3d, 0x27, 0x84, 0xdd, 0x54, 0xb0, 0xef, 0x91, - 0xd2, 0xd5, 0x5b, 0x4a, 0x7e, 0xd0, 0x60, 0x26, 0x2e, 0x78, 0x64, 0x3d, 0x2b, 0x75, 0x86, 0x5c, - 0xea, 0x1b, 0xa3, 0x0d, 0x91, 0x6b, 0x55, 0x71, 0x15, 0xc9, 0xbd, 0x14, 0x97, 0xa5, 0x8c, 0x6b, - 0xa1, 0x92, 0x06, 0x24, 0x53, 0x91, 0x3e, 0x90, 0xb5, 0x01, 0x27, 0x29, 0xa5, 0x6b, 0xfa, 0xfa, - 0x48, 0x3b, 0x64, 0x28, 0x29, 0x86, 0x55, 0x42, 0xd9, 0x80, 0x4b, 0x31, 0x3b, 0x41, 0x75, 0x3e, - 0x25, 0xdf, 0x6b, 0x90, 0x8f, 0x02, 0x04, 0x67, 0x6b, 0x6d, 0xc0, 0x34, 0xae, 0x04, 0x93, 0x21, - 0x94, 0x74, 0x59, 0xc1, 0xe8, 0xa4, 0x30, 0x08, 0x86, 0x48, 0xc8, 0xa1, 0xaa, 0x64, 0xbf, 0xf4, - 0x71, 0x75, 0x1b, 0xf0, 0xd2, 0x27, 0x94, 0x8e, 0x16, 0x55, 0xca, 0x02, 0xb9, 0x93, 0x4e, 0xd9, - 0xa9, 0x07, 0xd7, 0x7d, 0xf2, 0x4c, 0x83, 0x7c, 0xec, 0x12, 0x4b, 0x56, 0xb2, 0x62, 0xa6, 0x6e, - 0xb9, 0xfa, 0xea, 0x70, 0x23, 0x4c, 0xbd, 0xa1, 0x52, 0x53, 0xb2, 0x9c, 0x4a, 0x1d, 0xdd, 0x41, - 0xd9, 0x49, 0x78, 0x71, 0x3f, 0x0d, 0x20, 0x6e, 0xc7, 0x72, 0x0c, 0xeb, 0x7d, 0x1a, 0x65, 0x7d, - 0xa4, 0x1d, 0xd2, 0x2c, 0x29, 0x9a, 0x05, 0x32, 0x3f, 0x80, 0x66, 0xfb, 0x93, 0x97, 0x67, 0x45, - 0xed, 0xd5, 0x59, 0x51, 0xfb, 0xfb, 0xac, 0xa8, 0xfd, 0x74, 0x5e, 0x1c, 0x7b, 0x75, 0x5e, 0x1c, - 0xfb, 0xf3, 0xbc, 0x38, 0xf6, 0xa4, 0x64, 0x98, 0xfe, 0x51, 0xa7, 0x1e, 0xc8, 0x38, 0xdb, 0xe5, - 0xa6, 0x5b, 0xb7, 0x64, 0xe3, 0x38, 0x16, 0xa6, 0xab, 0x02, 0xa9, 0xdf, 0x44, 0xf5, 0x9c, 0xfa, - 0x51, 0xb4, 0xf5, 0x7f, 0x00, 0x00, 0x00, 0xff, 0xff, 0xfc, 0x4f, 0xea, 0x9d, 0x5f, 0x0e, 0x00, - 0x00, + // 1349 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xac, 0x98, 0xcd, 0x6f, 0xe3, 0xc4, + 0x1b, 0xc7, 0xeb, 0xee, 0x36, 0xdb, 0x4e, 0xda, 0xea, 0xf7, 0x9b, 0xed, 0x4b, 0xea, 0xdd, 0xa6, + 0xdd, 0xe9, 0x2b, 0x11, 0xc4, 0x6a, 0xbb, 0x07, 0xa8, 0xb8, 0xa4, 0xf4, 0x85, 0xa5, 0x2b, 0x68, + 0x43, 0xe1, 0xb0, 0x97, 0x68, 0x12, 0x0f, 0x8e, 0xd5, 0xc4, 0x76, 0x6c, 0xa7, 0x9b, 0x10, 0x45, + 0x42, 0x7b, 0xe1, 0xc2, 0x01, 0x89, 0x3b, 0xe2, 0xb8, 0x07, 0x24, 0xb8, 0xee, 0x19, 0x0e, 0x7b, + 0x5c, 0x89, 0x0b, 0x27, 0x84, 0x5a, 0x24, 0x2e, 0xfc, 0x11, 0xc8, 0xe3, 0x67, 0x12, 0xdb, 0x71, + 0x92, 0x56, 0xf4, 0x52, 0xd5, 0x33, 0xcf, 0xcb, 0xe7, 0x79, 0x66, 0xfc, 0x7c, 0xdd, 0xa2, 0x85, + 0x2f, 0xa8, 0x6e, 0x37, 0x6d, 0xdd, 0xd0, 0x14, 0x8b, 0x59, 0x4a, 0xad, 0xce, 0xec, 0x66, 0xd6, + 0xb2, 0x4d, 0xd7, 0xc4, 0x53, 0x9d, 0xad, 0xac, 0xc5, 0x2c, 0xf9, 0xff, 0xb4, 0xaa, 0x1b, 0xa6, + 0xc2, 0x7f, 0xfa, 0x16, 0xf2, 0x8c, 0x66, 0x6a, 0x26, 0xff, 0x55, 0xf1, 0x7e, 0x83, 0xd5, 0x87, + 0x9a, 0x69, 0x6a, 0x15, 0xa6, 0x50, 0x4b, 0x57, 0xa8, 0x61, 0x98, 0x2e, 0x75, 0x75, 0xd3, 0x70, + 0x60, 0x37, 0x53, 0x32, 0x9d, 0xaa, 0xe9, 0x28, 0x45, 0xea, 0x30, 0x3f, 0x9d, 0x72, 0xb1, 0x55, + 0x64, 0x2e, 0xdd, 0x52, 0x2c, 0xaa, 0xe9, 0x06, 0x37, 0x06, 0x5b, 0x39, 0x0c, 0x67, 0x51, 0x9b, + 0x56, 0x45, 0x9c, 0xe5, 0xf0, 0x1e, 0x33, 0x4a, 0x76, 0xd3, 0x72, 0x99, 0x5a, 0x70, 0x1b, 0x60, + 0xb1, 0x18, 0xf1, 0x66, 0x56, 0xc1, 0x30, 0x8d, 0x12, 0x83, 0xed, 0xcd, 0xf0, 0x36, 0xd5, 0x34, + 0x9b, 0x69, 0xd4, 0x8b, 0x70, 0xce, 0x9a, 0x05, 0xa7, 0x4c, 0x6d, 0x61, 0xb9, 0xd2, 0xb5, 0x2c, + 0x99, 0xd5, 0xaa, 0x69, 0x28, 0x7c, 0x57, 0x2d, 0xb8, 0x4d, 0x8b, 0x09, 0x9e, 0x74, 0xb0, 0x2e, + 0x51, 0x51, 0xc9, 0xd4, 0xa1, 0x16, 0x32, 0x83, 0xf0, 0xa9, 0x57, 0xed, 0x09, 0x2f, 0x22, 0xcf, + 0x6a, 0x75, 0xe6, 0xb8, 0xe4, 0x13, 0x74, 0x3f, 0xb4, 0xea, 0x58, 0xa6, 0xe1, 0x30, 0xfc, 0x2e, + 0x4a, 0xf8, 0xc5, 0xa6, 0xa4, 0x65, 0x69, 0x33, 0xb9, 0x3d, 0x9b, 0x0d, 0x9d, 0x45, 0xd6, 0x37, + 0xdf, 0x9b, 0x78, 0xfd, 0xc7, 0xd2, 0xc8, 0xcb, 0xbf, 0x7f, 0xce, 0x48, 0x79, 0xb0, 0x27, 0xef, + 0xa0, 0x19, 0x1e, 0xf0, 0x98, 0x35, 0x39, 0x24, 0x24, 0xc2, 0xb3, 0x28, 0x61, 0xb3, 0x5a, 0x41, + 0x57, 0x79, 0xc4, 0x89, 0xfc, 0x98, 0xcd, 0x6a, 0x4f, 0x54, 0xf2, 0x0c, 0xcd, 0x46, 0xcc, 0x81, + 0x20, 0x87, 0xc6, 0xcf, 0x61, 0x0d, 0x18, 0xd6, 0x22, 0x0c, 0x47, 0xcc, 0x38, 0x30, 0x4a, 0x67, + 0x8d, 0x83, 0x06, 0x2b, 0xd5, 0xbd, 0x43, 0x3b, 0xad, 0xb3, 0x3a, 0xcb, 0x77, 0xdc, 0x08, 0x45, + 0xf3, 0x3c, 0x76, 0xae, 0x52, 0x89, 0xd2, 0x1c, 0x22, 0xd4, 0x3d, 0x6c, 0x88, 0xbf, 0x9e, 0xf5, + 0x3b, 0x98, 0xf5, 0x3a, 0x98, 0xf5, 0x2f, 0x22, 0xf4, 0x31, 0x7b, 0x42, 0x35, 0xe1, 0x9b, 0x0f, + 0x78, 0x92, 0x97, 0x12, 0x4a, 0xf5, 0xe6, 0x80, 0x12, 0x3e, 0x40, 0x13, 0x82, 0xc5, 0xeb, 0xe3, + 0x9d, 0xeb, 0xd7, 0xd0, 0xf5, 0xc3, 0x47, 0x21, 0xd2, 0x51, 0x4e, 0xba, 0x31, 0x94, 0xd4, 0x27, + 0x08, 0xa1, 0x7e, 0x8e, 0x64, 0x4e, 0x7a, 0xc4, 0xdc, 0x03, 0x71, 0x57, 0xcf, 0x1a, 0xa2, 0x21, + 0x04, 0x4d, 0xba, 0xd4, 0xd6, 0x98, 0xfb, 0x21, 0xd3, 0xb5, 0xb2, 0xcb, 0x5b, 0x72, 0x37, 0x1f, + 0x5a, 0xc3, 0x33, 0x68, 0x4c, 0x37, 0x54, 0xd6, 0xe0, 0x14, 0x77, 0xf3, 0xfe, 0x03, 0xa1, 0xe8, + 0x41, 0x6c, 0x5c, 0x68, 0xc2, 0x1e, 0x4a, 0xb2, 0xee, 0x32, 0xb4, 0x5a, 0x8e, 0xb4, 0x21, 0xe0, + 0xb8, 0x77, 0xd7, 0xbb, 0x53, 0xf9, 0xa0, 0x13, 0x51, 0x01, 0x3d, 0x57, 0xa9, 0xc4, 0xa0, 0xdf, + 0xd6, 0x59, 0xbe, 0x92, 0xa0, 0x92, 0x68, 0x1a, 0xa8, 0xe4, 0x14, 0xfd, 0x2f, 0x00, 0x95, 0xb3, + 0x6d, 0xda, 0x84, 0x53, 0x5d, 0xea, 0x5f, 0x0e, 0x37, 0x83, 0x9a, 0x7a, 0xdc, 0x6f, 0xef, 0x70, + 0x3f, 0x42, 0xab, 0x31, 0xe8, 0x87, 0xb6, 0x59, 0xf5, 0xcf, 0xee, 0x06, 0xc7, 0x4c, 0xbe, 0x44, + 0x6b, 0x43, 0x62, 0x0d, 0x6c, 0x88, 0xf4, 0x1f, 0x1a, 0x42, 0x64, 0x78, 0x9d, 0x9e, 0x52, 0x97, + 0x39, 0x6e, 0x88, 0x9d, 0xec, 0xa0, 0x85, 0x98, 0x3d, 0x60, 0x99, 0x43, 0x89, 0x72, 0xb0, 0x24, + 0x78, 0x22, 0x3b, 0x30, 0x03, 0x8e, 0x98, 0x7b, 0xc2, 0xac, 0x8f, 0xbd, 0xf1, 0x2b, 0x7a, 0x91, + 0x42, 0xf7, 0xa8, 0xaa, 0xda, 0xcc, 0x71, 0x60, 0x24, 0x89, 0x47, 0xf2, 0x19, 0x50, 0x84, 0x9c, + 0x20, 0xd1, 0x7b, 0x68, 0xdc, 0x82, 0x35, 0x28, 0x76, 0x3e, 0x3a, 0x1b, 0x61, 0x1b, 0x8a, 0xec, + 0x98, 0x07, 0xe7, 0x51, 0x94, 0xe5, 0xb6, 0xee, 0xf0, 0xf7, 0x81, 0x79, 0x34, 0x04, 0xfd, 0xce, + 0x0d, 0xd0, 0x6f, 0xef, 0xa2, 0x76, 0x54, 0xa8, 0x5e, 0x3c, 0x66, 0x4d, 0x71, 0xb4, 0x3f, 0x49, + 0x42, 0x86, 0x60, 0x19, 0x88, 0x8f, 0xd1, 0x24, 0x2d, 0xb9, 0xfa, 0x05, 0xf3, 0xd7, 0xa1, 0x31, + 0x8f, 0x02, 0xd4, 0xbe, 0x1e, 0x66, 0x73, 0xc2, 0xaa, 0xa2, 0x97, 0x8e, 0x99, 0xb8, 0x5f, 0x21, + 0x67, 0x2f, 0x58, 0xcd, 0x9b, 0xae, 0x2a, 0x04, 0x1b, 0xed, 0x17, 0xec, 0x54, 0x58, 0x85, 0x83, + 0x05, 0x9d, 0xc9, 0x2e, 0x22, 0x1c, 0xf8, 0xd3, 0xb2, 0xf9, 0xfc, 0xc4, 0xd6, 0x2f, 0xa8, 0xcb, + 0x02, 0x1a, 0x23, 0x8e, 0x75, 0x06, 0xf9, 0x32, 0x17, 0xd6, 0xbc, 0x5f, 0x25, 0xb4, 0x32, 0xd0, + 0x19, 0xaa, 0x4f, 0xa1, 0x7b, 0x25, 0x9b, 0x51, 0xd7, 0xb4, 0xc5, 0x05, 0x85, 0xc7, 0x80, 0x98, + 0x8e, 0x06, 0x02, 0x7b, 0x2f, 0x81, 0x55, 0x2f, 0x9e, 0xb3, 0x66, 0xea, 0x0e, 0x5f, 0x86, 0x27, + 0x7c, 0x86, 0xee, 0x77, 0x3f, 0x4f, 0xba, 0x92, 0x34, 0xc6, 0xef, 0xc0, 0x4a, 0x6f, 0x03, 0x3a, + 0xaf, 0x6b, 0x87, 0x0a, 0xb3, 0xe8, 0x92, 0x43, 0x5a, 0x70, 0x9d, 0xf7, 0x19, 0xdf, 0xda, 0xa7, + 0x2e, 0x15, 0x75, 0x77, 0x41, 0xa4, 0x10, 0x08, 0x41, 0x93, 0xde, 0x67, 0x8e, 0x88, 0x01, 0xf4, + 0xa1, 0x35, 0xbc, 0x8a, 0xa6, 0x3a, 0xc9, 0xbc, 0x98, 0x50, 0x4b, 0x78, 0x91, 0xe4, 0xe0, 0x9e, + 0x87, 0x92, 0x43, 0xdf, 0xd6, 0xd0, 0xb4, 0xca, 0x44, 0xb9, 0xaa, 0x17, 0xc2, 0xa7, 0x98, 0xea, + 0xac, 0x7a, 0xe6, 0xdb, 0xff, 0x4c, 0xa1, 0x31, 0x1e, 0x03, 0x1b, 0x28, 0xe1, 0x7f, 0xd0, 0xe0, + 0x47, 0x91, 0x17, 0xa2, 0xf7, 0x8b, 0x49, 0x26, 0x83, 0x4c, 0x7c, 0x02, 0xb2, 0xf8, 0xe2, 0xb7, + 0xbf, 0xbe, 0x1b, 0x9d, 0xc7, 0xb3, 0x4a, 0xdc, 0x07, 0x24, 0xfe, 0x41, 0x42, 0xc9, 0xc0, 0x48, + 0xc4, 0x6f, 0xc5, 0x85, 0x8c, 0xd5, 0x69, 0x39, 0x73, 0x1d, 0x53, 0xa0, 0xd8, 0xe5, 0x14, 0x8f, + 0xf1, 0xb6, 0xd2, 0xff, 0x53, 0x55, 0x69, 0x05, 0x67, 0x7f, 0x5b, 0x69, 0x71, 0x51, 0x6f, 0xe3, + 0x6f, 0x24, 0x34, 0x1d, 0x9c, 0xda, 0x95, 0x4a, 0x3c, 0x65, 0xac, 0x24, 0xc7, 0x53, 0xc6, 0xcb, + 0x2a, 0x59, 0xe1, 0x94, 0x8b, 0xf8, 0xc1, 0x00, 0x4a, 0xfc, 0x4a, 0x42, 0xa9, 0x30, 0x4e, 0x57, + 0x8f, 0xf0, 0xce, 0xf0, 0x6c, 0x3d, 0x4a, 0x28, 0x3f, 0xbe, 0x99, 0x13, 0xc0, 0x6e, 0x73, 0xd8, + 0xb7, 0x71, 0xe6, 0xfa, 0x2d, 0xc5, 0x5f, 0x4b, 0x68, 0x32, 0xa8, 0x59, 0x78, 0x23, 0x2e, 0x75, + 0x8c, 0xe2, 0xc9, 0x9b, 0xc3, 0x0d, 0x81, 0x6b, 0x95, 0x73, 0xa5, 0xf1, 0xc3, 0x08, 0x57, 0x85, + 0x1b, 0x17, 0x7c, 0x31, 0xf4, 0x48, 0xc6, 0xc5, 0x88, 0xc7, 0xeb, 0x7d, 0x6e, 0x52, 0x44, 0x9a, + 0xe4, 0x8d, 0xa1, 0x76, 0xc0, 0x90, 0xe1, 0x0c, 0xab, 0x98, 0x28, 0x7d, 0xfe, 0xee, 0x51, 0x5a, + 0x20, 0xb0, 0x6d, 0xfc, 0x95, 0x84, 0x92, 0x22, 0x80, 0x77, 0xb7, 0xd6, 0xfb, 0x9c, 0xc6, 0xb5, + 0x60, 0x62, 0xb4, 0x8e, 0x2c, 0x73, 0x18, 0x19, 0xa7, 0xfa, 0xc1, 0x60, 0x13, 0x25, 0x40, 0x18, + 0xe2, 0x5f, 0xfa, 0xa0, 0x40, 0xf5, 0x79, 0xe9, 0x43, 0x62, 0x45, 0xd2, 0x3c, 0x65, 0x0a, 0xcf, + 0x45, 0x53, 0xd6, 0x8b, 0xde, 0xd0, 0xc5, 0x2f, 0x24, 0x94, 0x0c, 0x8c, 0x79, 0xbc, 0x12, 0x17, + 0x33, 0xf2, 0x87, 0x8a, 0xbc, 0x3a, 0xd8, 0x08, 0x52, 0x6f, 0xf2, 0xd4, 0x04, 0x2f, 0x47, 0x52, + 0x8b, 0x59, 0xaf, 0xb4, 0x7c, 0xb9, 0x68, 0x7b, 0x10, 0xd3, 0x81, 0x1c, 0x83, 0x7a, 0x1f, 0x45, + 0xd9, 0x18, 0x6a, 0x07, 0x34, 0x4b, 0x9c, 0x66, 0x01, 0xcf, 0xf7, 0xa1, 0xc1, 0xbf, 0x48, 0x68, + 0x2e, 0x5e, 0xfb, 0xf0, 0x56, 0x5c, 0x92, 0x81, 0x22, 0x2b, 0x6f, 0xdf, 0xc4, 0x05, 0x10, 0xf7, + 0x38, 0xe2, 0xfb, 0x78, 0x57, 0x39, 0xa4, 0xba, 0x5d, 0xac, 0x98, 0xa5, 0xf3, 0x08, 0xac, 0x53, + 0x36, 0x9f, 0x17, 0x2c, 0x3f, 0x42, 0x47, 0x33, 0x0b, 0x36, 0xab, 0xf1, 0x5e, 0x3e, 0x51, 0xdb, + 0xf8, 0x47, 0x09, 0x25, 0x03, 0xf2, 0x13, 0xdf, 0xc7, 0x5e, 0x71, 0x8c, 0xef, 0x63, 0x8c, 0x8e, + 0x91, 0xa7, 0x1c, 0xf2, 0x10, 0xef, 0xf7, 0x85, 0x04, 0x41, 0xe3, 0x22, 0xa7, 0xb4, 0x82, 0x32, + 0xda, 0x56, 0x5a, 0x21, 0xc1, 0x6c, 0xef, 0xed, 0xbf, 0xbe, 0x4c, 0x4b, 0x6f, 0x2e, 0xd3, 0xd2, + 0x9f, 0x97, 0x69, 0xe9, 0xdb, 0xab, 0xf4, 0xc8, 0x9b, 0xab, 0xf4, 0xc8, 0xef, 0x57, 0xe9, 0x91, + 0x67, 0x19, 0x4d, 0x77, 0xcb, 0xf5, 0xa2, 0xa7, 0xfe, 0xb1, 0x99, 0x1a, 0x3c, 0x17, 0xff, 0x5f, + 0x43, 0x31, 0xc1, 0xff, 0x99, 0xb0, 0xf3, 0x6f, 0x00, 0x00, 0x00, 0xff, 0xff, 0x79, 0xc5, 0x1b, + 0xde, 0xb7, 0x11, 0x00, 0x00, } // Reference imports to suppress errors if they are not otherwise used. @@ -1060,6 +1296,10 @@ type QueryClient interface { PubKey(ctx context.Context, in *QueryPubKeyRequest, opts ...grpc.CallOption) (*QueryPubKeyResponse, error) KeyshareReq(ctx context.Context, in *QueryKeyshareRequest, opts ...grpc.CallOption) (*QueryKeyshareResponse, error) KeyshareReqAll(ctx context.Context, in *QueryAllKeyshareRequest, opts ...grpc.CallOption) (*QueryAllKeyshareResponse, error) + // Queries a list of ShowPrivateKeyshareReq items. + ShowPrivateKeyshareReq(ctx context.Context, in *QueryShowPrivateKeyshareReqRequest, opts ...grpc.CallOption) (*QueryShowPrivateKeyshareReqResponse, error) + // Queries a list of DecryptData items. + DecryptData(ctx context.Context, in *QueryDecryptDataRequest, opts ...grpc.CallOption) (*QueryDecryptDataResponse, error) } type queryClient struct { @@ -1160,6 +1400,24 @@ func (c *queryClient) KeyshareReqAll(ctx context.Context, in *QueryAllKeyshareRe return out, nil } +func (c *queryClient) ShowPrivateKeyshareReq(ctx context.Context, in *QueryShowPrivateKeyshareReqRequest, opts ...grpc.CallOption) (*QueryShowPrivateKeyshareReqResponse, error) { + out := new(QueryShowPrivateKeyshareReqResponse) + err := c.cc.Invoke(ctx, "/fairyring.pep.Query/ShowPrivateKeyshareReq", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *queryClient) DecryptData(ctx context.Context, in *QueryDecryptDataRequest, opts ...grpc.CallOption) (*QueryDecryptDataResponse, error) { + out := new(QueryDecryptDataResponse) + err := c.cc.Invoke(ctx, "/fairyring.pep.Query/DecryptData", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + // QueryServer is the server API for Query service. type QueryServer interface { // Parameters queries the parameters of the module. @@ -1180,6 +1438,10 @@ type QueryServer interface { PubKey(context.Context, *QueryPubKeyRequest) (*QueryPubKeyResponse, error) KeyshareReq(context.Context, *QueryKeyshareRequest) (*QueryKeyshareResponse, error) KeyshareReqAll(context.Context, *QueryAllKeyshareRequest) (*QueryAllKeyshareResponse, error) + // Queries a list of ShowPrivateKeyshareReq items. + ShowPrivateKeyshareReq(context.Context, *QueryShowPrivateKeyshareReqRequest) (*QueryShowPrivateKeyshareReqResponse, error) + // Queries a list of DecryptData items. + DecryptData(context.Context, *QueryDecryptDataRequest) (*QueryDecryptDataResponse, error) } // UnimplementedQueryServer can be embedded to have forward compatible implementations. @@ -1216,6 +1478,12 @@ func (*UnimplementedQueryServer) KeyshareReq(ctx context.Context, req *QueryKeys func (*UnimplementedQueryServer) KeyshareReqAll(ctx context.Context, req *QueryAllKeyshareRequest) (*QueryAllKeyshareResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method KeyshareReqAll not implemented") } +func (*UnimplementedQueryServer) ShowPrivateKeyshareReq(ctx context.Context, req *QueryShowPrivateKeyshareReqRequest) (*QueryShowPrivateKeyshareReqResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method ShowPrivateKeyshareReq not implemented") +} +func (*UnimplementedQueryServer) DecryptData(ctx context.Context, req *QueryDecryptDataRequest) (*QueryDecryptDataResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method DecryptData not implemented") +} func RegisterQueryServer(s grpc1.Server, srv QueryServer) { s.RegisterService(&_Query_serviceDesc, srv) @@ -1401,6 +1669,42 @@ func _Query_KeyshareReqAll_Handler(srv interface{}, ctx context.Context, dec fun return interceptor(ctx, in, info, handler) } +func _Query_ShowPrivateKeyshareReq_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(QueryShowPrivateKeyshareReqRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(QueryServer).ShowPrivateKeyshareReq(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/fairyring.pep.Query/ShowPrivateKeyshareReq", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(QueryServer).ShowPrivateKeyshareReq(ctx, req.(*QueryShowPrivateKeyshareReqRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _Query_DecryptData_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(QueryDecryptDataRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(QueryServer).DecryptData(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/fairyring.pep.Query/DecryptData", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(QueryServer).DecryptData(ctx, req.(*QueryDecryptDataRequest)) + } + return interceptor(ctx, in, info, handler) +} + var _Query_serviceDesc = grpc.ServiceDesc{ ServiceName: "fairyring.pep.Query", HandlerType: (*QueryServer)(nil), @@ -1445,6 +1749,14 @@ var _Query_serviceDesc = grpc.ServiceDesc{ MethodName: "KeyshareReqAll", Handler: _Query_KeyshareReqAll_Handler, }, + { + MethodName: "ShowPrivateKeyshareReq", + Handler: _Query_ShowPrivateKeyshareReq_Handler, + }, + { + MethodName: "DecryptData", + Handler: _Query_DecryptData_Handler, + }, }, Streams: []grpc.StreamDesc{}, Metadata: "fairyring/pep/query.proto", @@ -2130,77 +2442,239 @@ func (m *QueryPubKeyResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { return len(dAtA) - i, nil } -func encodeVarintQuery(dAtA []byte, offset int, v uint64) int { - offset -= sovQuery(v) - base := offset - for v >= 1<<7 { - dAtA[offset] = uint8(v&0x7f | 0x80) - v >>= 7 - offset++ - } - dAtA[offset] = uint8(v) - return base -} -func (m *QueryParamsRequest) Size() (n int) { - if m == nil { - return 0 +func (m *QueryShowPrivateKeyshareReqRequest) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err } - var l int - _ = l - return n + return dAtA[:n], nil } -func (m *QueryParamsResponse) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - l = m.Params.Size() - n += 1 + l + sovQuery(uint64(l)) - return n +func (m *QueryShowPrivateKeyshareReqRequest) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *QueryKeyshareRequest) Size() (n int) { - if m == nil { - return 0 - } +func (m *QueryShowPrivateKeyshareReqRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i var l int _ = l - l = len(m.ReqId) - if l > 0 { - n += 1 + l + sovQuery(uint64(l)) + if len(m.ReqId) > 0 { + i -= len(m.ReqId) + copy(dAtA[i:], m.ReqId) + i = encodeVarintQuery(dAtA, i, uint64(len(m.ReqId))) + i-- + dAtA[i] = 0xa } - return n + return len(dAtA) - i, nil } -func (m *QueryKeyshareResponse) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - if m.Keyshare != nil { - l = m.Keyshare.Size() - n += 1 + l + sovQuery(uint64(l)) +func (m *QueryShowPrivateKeyshareReqResponse) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err } - return n + return dAtA[:n], nil } -func (m *QueryAllKeyshareRequest) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - if m.Pagination != nil { - l = m.Pagination.Size() - n += 1 + l + sovQuery(uint64(l)) - } - return n +func (m *QueryShowPrivateKeyshareReqResponse) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *QueryAllKeyshareResponse) Size() (n int) { +func (m *QueryShowPrivateKeyshareReqResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if len(m.EncryptedKeyshares) > 0 { + for iNdEx := len(m.EncryptedKeyshares) - 1; iNdEx >= 0; iNdEx-- { + { + size, err := m.EncryptedKeyshares[iNdEx].MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintQuery(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x2a + } + } + if len(m.Pubkey) > 0 { + i -= len(m.Pubkey) + copy(dAtA[i:], m.Pubkey) + i = encodeVarintQuery(dAtA, i, uint64(len(m.Pubkey))) + i-- + dAtA[i] = 0x1a + } + if len(m.ReqId) > 0 { + i -= len(m.ReqId) + copy(dAtA[i:], m.ReqId) + i = encodeVarintQuery(dAtA, i, uint64(len(m.ReqId))) + i-- + dAtA[i] = 0x12 + } + if len(m.Creator) > 0 { + i -= len(m.Creator) + copy(dAtA[i:], m.Creator) + i = encodeVarintQuery(dAtA, i, uint64(len(m.Creator))) + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + +func (m *QueryDecryptDataRequest) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *QueryDecryptDataRequest) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *QueryDecryptDataRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if len(m.EncryptedData) > 0 { + i -= len(m.EncryptedData) + copy(dAtA[i:], m.EncryptedData) + i = encodeVarintQuery(dAtA, i, uint64(len(m.EncryptedData))) + i-- + dAtA[i] = 0x1a + } + if len(m.AggrKeyshare) > 0 { + i -= len(m.AggrKeyshare) + copy(dAtA[i:], m.AggrKeyshare) + i = encodeVarintQuery(dAtA, i, uint64(len(m.AggrKeyshare))) + i-- + dAtA[i] = 0x12 + } + if len(m.Pubkey) > 0 { + i -= len(m.Pubkey) + copy(dAtA[i:], m.Pubkey) + i = encodeVarintQuery(dAtA, i, uint64(len(m.Pubkey))) + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + +func (m *QueryDecryptDataResponse) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *QueryDecryptDataResponse) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *QueryDecryptDataResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if len(m.DecryptedData) > 0 { + i -= len(m.DecryptedData) + copy(dAtA[i:], m.DecryptedData) + i = encodeVarintQuery(dAtA, i, uint64(len(m.DecryptedData))) + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + +func encodeVarintQuery(dAtA []byte, offset int, v uint64) int { + offset -= sovQuery(v) + base := offset + for v >= 1<<7 { + dAtA[offset] = uint8(v&0x7f | 0x80) + v >>= 7 + offset++ + } + dAtA[offset] = uint8(v) + return base +} +func (m *QueryParamsRequest) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + return n +} + +func (m *QueryParamsResponse) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = m.Params.Size() + n += 1 + l + sovQuery(uint64(l)) + return n +} + +func (m *QueryKeyshareRequest) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.ReqId) + if l > 0 { + n += 1 + l + sovQuery(uint64(l)) + } + return n +} + +func (m *QueryKeyshareResponse) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.Keyshare != nil { + l = m.Keyshare.Size() + n += 1 + l + sovQuery(uint64(l)) + } + return n +} + +func (m *QueryAllKeyshareRequest) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.Pagination != nil { + l = m.Pagination.Size() + n += 1 + l + sovQuery(uint64(l)) + } + return n +} + +func (m *QueryAllKeyshareResponse) Size() (n int) { if m == nil { return 0 } @@ -2399,6 +2873,80 @@ func (m *QueryPubKeyResponse) Size() (n int) { return n } +func (m *QueryShowPrivateKeyshareReqRequest) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.ReqId) + if l > 0 { + n += 1 + l + sovQuery(uint64(l)) + } + return n +} + +func (m *QueryShowPrivateKeyshareReqResponse) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.Creator) + if l > 0 { + n += 1 + l + sovQuery(uint64(l)) + } + l = len(m.ReqId) + if l > 0 { + n += 1 + l + sovQuery(uint64(l)) + } + l = len(m.Pubkey) + if l > 0 { + n += 1 + l + sovQuery(uint64(l)) + } + if len(m.EncryptedKeyshares) > 0 { + for _, e := range m.EncryptedKeyshares { + l = e.Size() + n += 1 + l + sovQuery(uint64(l)) + } + } + return n +} + +func (m *QueryDecryptDataRequest) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.Pubkey) + if l > 0 { + n += 1 + l + sovQuery(uint64(l)) + } + l = len(m.AggrKeyshare) + if l > 0 { + n += 1 + l + sovQuery(uint64(l)) + } + l = len(m.EncryptedData) + if l > 0 { + n += 1 + l + sovQuery(uint64(l)) + } + return n +} + +func (m *QueryDecryptDataResponse) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.DecryptedData) + if l > 0 { + n += 1 + l + sovQuery(uint64(l)) + } + return n +} + func sovQuery(x uint64) (n int) { return (math_bits.Len64(x|1) + 6) / 7 } @@ -4097,6 +4645,496 @@ func (m *QueryPubKeyResponse) Unmarshal(dAtA []byte) error { } return nil } +func (m *QueryShowPrivateKeyshareReqRequest) Unmarshal(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowQuery + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: QueryShowPrivateKeyshareReqRequest: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: QueryShowPrivateKeyshareReqRequest: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ReqId", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowQuery + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthQuery + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthQuery + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.ReqId = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipQuery(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthQuery + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *QueryShowPrivateKeyshareReqResponse) Unmarshal(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowQuery + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: QueryShowPrivateKeyshareReqResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: QueryShowPrivateKeyshareReqResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Creator", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowQuery + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthQuery + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthQuery + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Creator = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ReqId", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowQuery + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthQuery + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthQuery + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.ReqId = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Pubkey", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowQuery + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthQuery + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthQuery + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Pubkey = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 5: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field EncryptedKeyshares", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowQuery + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthQuery + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthQuery + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.EncryptedKeyshares = append(m.EncryptedKeyshares, &types.EncryptedKeyshare{}) + if err := m.EncryptedKeyshares[len(m.EncryptedKeyshares)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipQuery(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthQuery + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *QueryDecryptDataRequest) Unmarshal(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowQuery + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: QueryDecryptDataRequest: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: QueryDecryptDataRequest: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Pubkey", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowQuery + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthQuery + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthQuery + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Pubkey = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field AggrKeyshare", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowQuery + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthQuery + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthQuery + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.AggrKeyshare = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field EncryptedData", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowQuery + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthQuery + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthQuery + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.EncryptedData = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipQuery(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthQuery + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *QueryDecryptDataResponse) Unmarshal(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowQuery + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: QueryDecryptDataResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: QueryDecryptDataResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field DecryptedData", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowQuery + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthQuery + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthQuery + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.DecryptedData = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipQuery(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthQuery + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} func skipQuery(dAtA []byte) (n int, err error) { l := len(dAtA) iNdEx := 0 diff --git a/x/pep/types/query.pb.gw.go b/x/pep/types/query.pb.gw.go index bfbe83de..55cdab4c 100644 --- a/x/pep/types/query.pb.gw.go +++ b/x/pep/types/query.pb.gw.go @@ -433,6 +433,154 @@ func local_request_Query_KeyshareReqAll_0(ctx context.Context, marshaler runtime } +func request_Query_ShowPrivateKeyshareReq_0(ctx context.Context, marshaler runtime.Marshaler, client QueryClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq QueryShowPrivateKeyshareReqRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["reqId"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "reqId") + } + + protoReq.ReqId, err = runtime.String(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "reqId", err) + } + + msg, err := client.ShowPrivateKeyshareReq(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_Query_ShowPrivateKeyshareReq_0(ctx context.Context, marshaler runtime.Marshaler, server QueryServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq QueryShowPrivateKeyshareReqRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["reqId"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "reqId") + } + + protoReq.ReqId, err = runtime.String(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "reqId", err) + } + + msg, err := server.ShowPrivateKeyshareReq(ctx, &protoReq) + return msg, metadata, err + +} + +var ( + filter_Query_DecryptData_0 = &utilities.DoubleArray{Encoding: map[string]int{"aggrKeyshare": 0, "encryptedData": 1}, Base: []int{1, 1, 2, 0, 0}, Check: []int{0, 1, 1, 2, 3}} +) + +func request_Query_DecryptData_0(ctx context.Context, marshaler runtime.Marshaler, client QueryClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq QueryDecryptDataRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["aggrKeyshare"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "aggrKeyshare") + } + + protoReq.AggrKeyshare, err = runtime.String(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "aggrKeyshare", err) + } + + val, ok = pathParams["encryptedData"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "encryptedData") + } + + protoReq.EncryptedData, err = runtime.String(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "encryptedData", err) + } + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_Query_DecryptData_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := client.DecryptData(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_Query_DecryptData_0(ctx context.Context, marshaler runtime.Marshaler, server QueryServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq QueryDecryptDataRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["aggrKeyshare"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "aggrKeyshare") + } + + protoReq.AggrKeyshare, err = runtime.String(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "aggrKeyshare", err) + } + + val, ok = pathParams["encryptedData"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "encryptedData") + } + + protoReq.EncryptedData, err = runtime.String(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "encryptedData", err) + } + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_Query_DecryptData_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := server.DecryptData(ctx, &protoReq) + return msg, metadata, err + +} + // RegisterQueryHandlerServer registers the http handlers for service Query to "mux". // UnaryRPC :call QueryServer directly. // StreamingRPC :currently unsupported pending https://github.com/grpc/grpc-go/issues/906. @@ -669,6 +817,52 @@ func RegisterQueryHandlerServer(ctx context.Context, mux *runtime.ServeMux, serv }) + mux.Handle("GET", pattern_Query_ShowPrivateKeyshareReq_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_Query_ShowPrivateKeyshareReq_0(rctx, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_Query_ShowPrivateKeyshareReq_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_Query_DecryptData_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_Query_DecryptData_0(rctx, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_Query_DecryptData_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + return nil } @@ -910,6 +1104,46 @@ func RegisterQueryHandlerClient(ctx context.Context, mux *runtime.ServeMux, clie }) + mux.Handle("GET", pattern_Query_ShowPrivateKeyshareReq_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_Query_ShowPrivateKeyshareReq_0(rctx, inboundMarshaler, client, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_Query_ShowPrivateKeyshareReq_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_Query_DecryptData_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_Query_DecryptData_0(rctx, inboundMarshaler, client, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_Query_DecryptData_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + return nil } @@ -933,6 +1167,10 @@ var ( pattern_Query_KeyshareReq_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 1, 0, 4, 1, 5, 3}, []string{"fairyring", "pep", "keyshare", "req_id"}, "", runtime.AssumeColonVerbOpt(false))) pattern_Query_KeyshareReqAll_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2}, []string{"fairyring", "pep", "keyshare"}, "", runtime.AssumeColonVerbOpt(false))) + + pattern_Query_ShowPrivateKeyshareReq_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3, 1, 0, 4, 1, 5, 4}, []string{"Fairblock", "fairyring", "pep", "show_private_keyshare_req", "reqId"}, "", runtime.AssumeColonVerbOpt(false))) + + pattern_Query_DecryptData_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3, 1, 0, 4, 1, 5, 4, 1, 0, 4, 1, 5, 5}, []string{"Fairblock", "fairyring", "pep", "decrypt_data", "aggrKeyshare", "encryptedData"}, "", runtime.AssumeColonVerbOpt(false))) ) var ( @@ -955,4 +1193,8 @@ var ( forward_Query_KeyshareReq_0 = runtime.ForwardResponseMessage forward_Query_KeyshareReqAll_0 = runtime.ForwardResponseMessage + + forward_Query_ShowPrivateKeyshareReq_0 = runtime.ForwardResponseMessage + + forward_Query_DecryptData_0 = runtime.ForwardResponseMessage ) diff --git a/x/pep/types/request_id.pb.go b/x/pep/types/request_id.pb.go index 09f3e637..280ee896 100644 --- a/x/pep/types/request_id.pb.go +++ b/x/pep/types/request_id.pb.go @@ -5,6 +5,8 @@ package types import ( fmt "fmt" + types "github.com/Fairblock/fairyring/x/common/types" + _ "github.com/cosmos/gogoproto/gogoproto" proto "github.com/cosmos/gogoproto/proto" io "io" math "math" @@ -74,25 +76,102 @@ func (m *RequestId) GetReqId() string { return "" } +type PrivateRequest struct { + Creator string `protobuf:"bytes,1,opt,name=creator,proto3" json:"creator,omitempty"` + ReqId string `protobuf:"bytes,2,opt,name=req_id,json=reqId,proto3" json:"req_id,omitempty"` + Pubkey string `protobuf:"bytes,3,opt,name=pubkey,proto3" json:"pubkey,omitempty"` + EncryptedKeyshares []*types.EncryptedKeyshare `protobuf:"bytes,5,rep,name=encrypted_keyshares,json=encryptedKeyshares,proto3" json:"encrypted_keyshares,omitempty"` +} + +func (m *PrivateRequest) Reset() { *m = PrivateRequest{} } +func (m *PrivateRequest) String() string { return proto.CompactTextString(m) } +func (*PrivateRequest) ProtoMessage() {} +func (*PrivateRequest) Descriptor() ([]byte, []int) { + return fileDescriptor_3e457d2e8ff0411e, []int{1} +} +func (m *PrivateRequest) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *PrivateRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_PrivateRequest.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *PrivateRequest) XXX_Merge(src proto.Message) { + xxx_messageInfo_PrivateRequest.Merge(m, src) +} +func (m *PrivateRequest) XXX_Size() int { + return m.Size() +} +func (m *PrivateRequest) XXX_DiscardUnknown() { + xxx_messageInfo_PrivateRequest.DiscardUnknown(m) +} + +var xxx_messageInfo_PrivateRequest proto.InternalMessageInfo + +func (m *PrivateRequest) GetCreator() string { + if m != nil { + return m.Creator + } + return "" +} + +func (m *PrivateRequest) GetReqId() string { + if m != nil { + return m.ReqId + } + return "" +} + +func (m *PrivateRequest) GetPubkey() string { + if m != nil { + return m.Pubkey + } + return "" +} + +func (m *PrivateRequest) GetEncryptedKeyshares() []*types.EncryptedKeyshare { + if m != nil { + return m.EncryptedKeyshares + } + return nil +} + func init() { proto.RegisterType((*RequestId)(nil), "fairyring.pep.RequestId") + proto.RegisterType((*PrivateRequest)(nil), "fairyring.pep.PrivateRequest") } func init() { proto.RegisterFile("fairyring/pep/request_id.proto", fileDescriptor_3e457d2e8ff0411e) } var fileDescriptor_3e457d2e8ff0411e = []byte{ - // 174 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0x92, 0x4b, 0x4b, 0xcc, 0x2c, - 0xaa, 0x2c, 0xca, 0xcc, 0x4b, 0xd7, 0x2f, 0x48, 0x2d, 0xd0, 0x2f, 0x4a, 0x2d, 0x2c, 0x4d, 0x2d, - 0x2e, 0x89, 0xcf, 0x4c, 0xd1, 0x2b, 0x28, 0xca, 0x2f, 0xc9, 0x17, 0xe2, 0x85, 0xcb, 0xeb, 0x15, - 0xa4, 0x16, 0x28, 0x59, 0x73, 0x71, 0x06, 0x41, 0x94, 0x78, 0xa6, 0x08, 0x49, 0x70, 0xb1, 0x27, - 0x17, 0xa5, 0x26, 0x96, 0xe4, 0x17, 0x49, 0x30, 0x2a, 0x30, 0x6a, 0x70, 0x06, 0xc1, 0xb8, 0x42, - 0x22, 0x5c, 0xac, 0x45, 0xa9, 0x85, 0x9e, 0x29, 0x12, 0x4c, 0x60, 0x71, 0x08, 0xc7, 0xc9, 0xe5, - 0xc4, 0x23, 0x39, 0xc6, 0x0b, 0x8f, 0xe4, 0x18, 0x1f, 0x3c, 0x92, 0x63, 0x9c, 0xf0, 0x58, 0x8e, - 0xe1, 0xc2, 0x63, 0x39, 0x86, 0x1b, 0x8f, 0xe5, 0x18, 0xa2, 0xb4, 0xd2, 0x33, 0x4b, 0x32, 0x4a, - 0x93, 0xf4, 0x92, 0xf3, 0x73, 0xf5, 0xdd, 0x12, 0x33, 0x8b, 0x92, 0x72, 0xf2, 0x93, 0xb3, 0xf5, - 0x11, 0x4e, 0xab, 0x00, 0x3b, 0xae, 0xa4, 0xb2, 0x20, 0xb5, 0x38, 0x89, 0x0d, 0xec, 0x30, 0x63, - 0x40, 0x00, 0x00, 0x00, 0xff, 0xff, 0xf9, 0xf6, 0x1d, 0x32, 0xba, 0x00, 0x00, 0x00, + // 294 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x7c, 0x91, 0x3d, 0x4e, 0xc3, 0x30, + 0x18, 0x86, 0x6b, 0xaa, 0x16, 0xd5, 0x08, 0x06, 0x53, 0x50, 0xd4, 0xc1, 0xaa, 0xda, 0xa5, 0x62, + 0x88, 0x25, 0x18, 0xd9, 0x10, 0x20, 0x55, 0x2c, 0xa8, 0x62, 0x62, 0x89, 0xf2, 0xf3, 0x91, 0x5a, + 0xa5, 0xb1, 0xf3, 0xc5, 0x41, 0xe4, 0x16, 0xdc, 0x84, 0x6b, 0x30, 0x76, 0x64, 0x44, 0xc9, 0x45, + 0x50, 0x9d, 0x94, 0x08, 0x06, 0x36, 0xbf, 0x3f, 0x7a, 0x64, 0xbf, 0xa6, 0xfc, 0xc9, 0x97, 0x58, + 0xa0, 0x4c, 0x62, 0xa1, 0x41, 0x0b, 0x84, 0x34, 0x87, 0xcc, 0x78, 0x32, 0x72, 0x35, 0x2a, 0xa3, + 0xd8, 0xe1, 0x4f, 0xee, 0x6a, 0xd0, 0xa3, 0x61, 0xac, 0x62, 0x65, 0x13, 0xb1, 0x3d, 0xd5, 0xa5, + 0xd1, 0xb4, 0x85, 0x84, 0x6a, 0xbd, 0x56, 0x89, 0xc8, 0x96, 0x3e, 0x42, 0xe4, 0x99, 0x42, 0x43, + 0x56, 0x97, 0x26, 0x97, 0x74, 0xb0, 0xa8, 0xe9, 0xf3, 0x88, 0x39, 0x74, 0x3f, 0x44, 0xf0, 0x8d, + 0x42, 0x87, 0x8c, 0xc9, 0x6c, 0xb0, 0xd8, 0x49, 0x36, 0xa4, 0x3d, 0x84, 0x74, 0x1e, 0x39, 0x7b, + 0xd6, 0xaf, 0xc5, 0xe4, 0x9d, 0xd0, 0xa3, 0x7b, 0x94, 0x2f, 0xbe, 0x81, 0x06, 0xf2, 0x0f, 0xe2, + 0x84, 0xf6, 0x11, 0x52, 0x4f, 0xfe, 0x66, 0xb0, 0x53, 0xda, 0xd7, 0x79, 0xb0, 0x82, 0xc2, 0xe9, + 0x5a, 0xbb, 0x51, 0xec, 0x81, 0x1e, 0x43, 0x12, 0x62, 0xa1, 0x0d, 0x44, 0xde, 0x0a, 0x0a, 0x7b, + 0xf7, 0xcc, 0xe9, 0x8d, 0xbb, 0xb3, 0x83, 0xf3, 0xa9, 0xdb, 0x0e, 0x50, 0xbf, 0xcd, 0xbd, 0xd9, + 0x95, 0xef, 0x9a, 0xee, 0x82, 0xc1, 0x5f, 0x2b, 0xbb, 0xba, 0xfe, 0x28, 0x39, 0xd9, 0x94, 0x9c, + 0x7c, 0x95, 0x9c, 0xbc, 0x55, 0xbc, 0xb3, 0xa9, 0x78, 0xe7, 0xb3, 0xe2, 0x9d, 0xc7, 0xb3, 0x58, + 0x9a, 0x65, 0x1e, 0x6c, 0x71, 0xe2, 0xd6, 0x97, 0x18, 0x3c, 0xab, 0x70, 0x25, 0xda, 0x09, 0x5f, + 0xed, 0x4f, 0xd8, 0xe9, 0x82, 0xbe, 0xdd, 0xee, 0xe2, 0x3b, 0x00, 0x00, 0xff, 0xff, 0x14, 0x1c, + 0xef, 0xb3, 0xa7, 0x01, 0x00, 0x00, } func (m *RequestId) Marshal() (dAtA []byte, err error) { @@ -132,6 +211,64 @@ func (m *RequestId) MarshalToSizedBuffer(dAtA []byte) (int, error) { return len(dAtA) - i, nil } +func (m *PrivateRequest) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *PrivateRequest) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *PrivateRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if len(m.EncryptedKeyshares) > 0 { + for iNdEx := len(m.EncryptedKeyshares) - 1; iNdEx >= 0; iNdEx-- { + { + size, err := m.EncryptedKeyshares[iNdEx].MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintRequestId(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x2a + } + } + if len(m.Pubkey) > 0 { + i -= len(m.Pubkey) + copy(dAtA[i:], m.Pubkey) + i = encodeVarintRequestId(dAtA, i, uint64(len(m.Pubkey))) + i-- + dAtA[i] = 0x1a + } + if len(m.ReqId) > 0 { + i -= len(m.ReqId) + copy(dAtA[i:], m.ReqId) + i = encodeVarintRequestId(dAtA, i, uint64(len(m.ReqId))) + i-- + dAtA[i] = 0x12 + } + if len(m.Creator) > 0 { + i -= len(m.Creator) + copy(dAtA[i:], m.Creator) + i = encodeVarintRequestId(dAtA, i, uint64(len(m.Creator))) + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + func encodeVarintRequestId(dAtA []byte, offset int, v uint64) int { offset -= sovRequestId(v) base := offset @@ -160,6 +297,33 @@ func (m *RequestId) Size() (n int) { return n } +func (m *PrivateRequest) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.Creator) + if l > 0 { + n += 1 + l + sovRequestId(uint64(l)) + } + l = len(m.ReqId) + if l > 0 { + n += 1 + l + sovRequestId(uint64(l)) + } + l = len(m.Pubkey) + if l > 0 { + n += 1 + l + sovRequestId(uint64(l)) + } + if len(m.EncryptedKeyshares) > 0 { + for _, e := range m.EncryptedKeyshares { + l = e.Size() + n += 1 + l + sovRequestId(uint64(l)) + } + } + return n +} + func sovRequestId(x uint64) (n int) { return (math_bits.Len64(x|1) + 6) / 7 } @@ -280,6 +444,186 @@ func (m *RequestId) Unmarshal(dAtA []byte) error { } return nil } +func (m *PrivateRequest) Unmarshal(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowRequestId + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: PrivateRequest: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: PrivateRequest: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Creator", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowRequestId + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthRequestId + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthRequestId + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Creator = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ReqId", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowRequestId + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthRequestId + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthRequestId + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.ReqId = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Pubkey", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowRequestId + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthRequestId + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthRequestId + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Pubkey = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 5: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field EncryptedKeyshares", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowRequestId + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthRequestId + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthRequestId + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.EncryptedKeyshares = append(m.EncryptedKeyshares, &types.EncryptedKeyshare{}) + if err := m.EncryptedKeyshares[len(m.EncryptedKeyshares)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipRequestId(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthRequestId + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} func skipRequestId(dAtA []byte) (n int, err error) { l := len(dAtA) iNdEx := 0 diff --git a/x/pep/types/tx.pb.go b/x/pep/types/tx.pb.go index b839522f..6a463fe8 100644 --- a/x/pep/types/tx.pb.go +++ b/x/pep/types/tx.pb.go @@ -7,6 +7,7 @@ import ( context "context" fmt "fmt" _ "github.com/cosmos/cosmos-proto" + _ "github.com/cosmos/cosmos-sdk/types" _ "github.com/cosmos/cosmos-sdk/types/msgservice" _ "github.com/cosmos/cosmos-sdk/types/tx/amino" _ "github.com/cosmos/gogoproto/gogoproto" @@ -573,6 +574,198 @@ func (m *MsgGetGeneralKeyshareResponse) XXX_DiscardUnknown() { var xxx_messageInfo_MsgGetGeneralKeyshareResponse proto.InternalMessageInfo +type MsgRequestPrivateIdentity struct { + Creator string `protobuf:"bytes,1,opt,name=creator,proto3" json:"creator,omitempty"` + ReqId string `protobuf:"bytes,2,opt,name=reqId,proto3" json:"reqId,omitempty"` +} + +func (m *MsgRequestPrivateIdentity) Reset() { *m = MsgRequestPrivateIdentity{} } +func (m *MsgRequestPrivateIdentity) String() string { return proto.CompactTextString(m) } +func (*MsgRequestPrivateIdentity) ProtoMessage() {} +func (*MsgRequestPrivateIdentity) Descriptor() ([]byte, []int) { + return fileDescriptor_f6953e463911e1ec, []int{11} +} +func (m *MsgRequestPrivateIdentity) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *MsgRequestPrivateIdentity) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_MsgRequestPrivateIdentity.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *MsgRequestPrivateIdentity) XXX_Merge(src proto.Message) { + xxx_messageInfo_MsgRequestPrivateIdentity.Merge(m, src) +} +func (m *MsgRequestPrivateIdentity) XXX_Size() int { + return m.Size() +} +func (m *MsgRequestPrivateIdentity) XXX_DiscardUnknown() { + xxx_messageInfo_MsgRequestPrivateIdentity.DiscardUnknown(m) +} + +var xxx_messageInfo_MsgRequestPrivateIdentity proto.InternalMessageInfo + +func (m *MsgRequestPrivateIdentity) GetCreator() string { + if m != nil { + return m.Creator + } + return "" +} + +func (m *MsgRequestPrivateIdentity) GetReqId() string { + if m != nil { + return m.ReqId + } + return "" +} + +type MsgRequestPrivateIdentityResponse struct { + ReqId string `protobuf:"bytes,1,opt,name=req_id,json=reqId,proto3" json:"req_id,omitempty"` +} + +func (m *MsgRequestPrivateIdentityResponse) Reset() { *m = MsgRequestPrivateIdentityResponse{} } +func (m *MsgRequestPrivateIdentityResponse) String() string { return proto.CompactTextString(m) } +func (*MsgRequestPrivateIdentityResponse) ProtoMessage() {} +func (*MsgRequestPrivateIdentityResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_f6953e463911e1ec, []int{12} +} +func (m *MsgRequestPrivateIdentityResponse) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *MsgRequestPrivateIdentityResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_MsgRequestPrivateIdentityResponse.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *MsgRequestPrivateIdentityResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_MsgRequestPrivateIdentityResponse.Merge(m, src) +} +func (m *MsgRequestPrivateIdentityResponse) XXX_Size() int { + return m.Size() +} +func (m *MsgRequestPrivateIdentityResponse) XXX_DiscardUnknown() { + xxx_messageInfo_MsgRequestPrivateIdentityResponse.DiscardUnknown(m) +} + +var xxx_messageInfo_MsgRequestPrivateIdentityResponse proto.InternalMessageInfo + +func (m *MsgRequestPrivateIdentityResponse) GetReqId() string { + if m != nil { + return m.ReqId + } + return "" +} + +type MsgGetPrivateKeyshares struct { + Creator string `protobuf:"bytes,1,opt,name=creator,proto3" json:"creator,omitempty"` + ReqId string `protobuf:"bytes,2,opt,name=reqId,proto3" json:"reqId,omitempty"` + SecpPubkey string `protobuf:"bytes,3,opt,name=secp_pubkey,json=secpPubkey,proto3" json:"secp_pubkey,omitempty"` +} + +func (m *MsgGetPrivateKeyshares) Reset() { *m = MsgGetPrivateKeyshares{} } +func (m *MsgGetPrivateKeyshares) String() string { return proto.CompactTextString(m) } +func (*MsgGetPrivateKeyshares) ProtoMessage() {} +func (*MsgGetPrivateKeyshares) Descriptor() ([]byte, []int) { + return fileDescriptor_f6953e463911e1ec, []int{13} +} +func (m *MsgGetPrivateKeyshares) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *MsgGetPrivateKeyshares) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_MsgGetPrivateKeyshares.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *MsgGetPrivateKeyshares) XXX_Merge(src proto.Message) { + xxx_messageInfo_MsgGetPrivateKeyshares.Merge(m, src) +} +func (m *MsgGetPrivateKeyshares) XXX_Size() int { + return m.Size() +} +func (m *MsgGetPrivateKeyshares) XXX_DiscardUnknown() { + xxx_messageInfo_MsgGetPrivateKeyshares.DiscardUnknown(m) +} + +var xxx_messageInfo_MsgGetPrivateKeyshares proto.InternalMessageInfo + +func (m *MsgGetPrivateKeyshares) GetCreator() string { + if m != nil { + return m.Creator + } + return "" +} + +func (m *MsgGetPrivateKeyshares) GetReqId() string { + if m != nil { + return m.ReqId + } + return "" +} + +func (m *MsgGetPrivateKeyshares) GetSecpPubkey() string { + if m != nil { + return m.SecpPubkey + } + return "" +} + +type MsgGetPrivateKeysharesResponse struct { +} + +func (m *MsgGetPrivateKeysharesResponse) Reset() { *m = MsgGetPrivateKeysharesResponse{} } +func (m *MsgGetPrivateKeysharesResponse) String() string { return proto.CompactTextString(m) } +func (*MsgGetPrivateKeysharesResponse) ProtoMessage() {} +func (*MsgGetPrivateKeysharesResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_f6953e463911e1ec, []int{14} +} +func (m *MsgGetPrivateKeysharesResponse) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *MsgGetPrivateKeysharesResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_MsgGetPrivateKeysharesResponse.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *MsgGetPrivateKeysharesResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_MsgGetPrivateKeysharesResponse.Merge(m, src) +} +func (m *MsgGetPrivateKeysharesResponse) XXX_Size() int { + return m.Size() +} +func (m *MsgGetPrivateKeysharesResponse) XXX_DiscardUnknown() { + xxx_messageInfo_MsgGetPrivateKeysharesResponse.DiscardUnknown(m) +} + +var xxx_messageInfo_MsgGetPrivateKeysharesResponse proto.InternalMessageInfo + func init() { proto.RegisterType((*MsgUpdateParams)(nil), "fairyring.pep.MsgUpdateParams") proto.RegisterType((*MsgUpdateParamsResponse)(nil), "fairyring.pep.MsgUpdateParamsResponse") @@ -585,58 +778,69 @@ func init() { proto.RegisterType((*MsgRequestGeneralKeyshareResponse)(nil), "fairyring.pep.MsgRequestGeneralKeyshareResponse") proto.RegisterType((*MsgGetGeneralKeyshare)(nil), "fairyring.pep.MsgGetGeneralKeyshare") proto.RegisterType((*MsgGetGeneralKeyshareResponse)(nil), "fairyring.pep.MsgGetGeneralKeyshareResponse") + proto.RegisterType((*MsgRequestPrivateIdentity)(nil), "fairyring.pep.MsgRequestPrivateIdentity") + proto.RegisterType((*MsgRequestPrivateIdentityResponse)(nil), "fairyring.pep.MsgRequestPrivateIdentityResponse") + proto.RegisterType((*MsgGetPrivateKeyshares)(nil), "fairyring.pep.MsgGetPrivateKeyshares") + proto.RegisterType((*MsgGetPrivateKeysharesResponse)(nil), "fairyring.pep.MsgGetPrivateKeysharesResponse") } func init() { proto.RegisterFile("fairyring/pep/tx.proto", fileDescriptor_f6953e463911e1ec) } var fileDescriptor_f6953e463911e1ec = []byte{ - // 725 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x9c, 0x55, 0x3d, 0x6f, 0xd3, 0x50, - 0x14, 0x8d, 0xfb, 0x11, 0x94, 0x47, 0xa1, 0xaa, 0xd5, 0x8f, 0xc4, 0x80, 0x5b, 0x52, 0x40, 0x51, - 0x28, 0x36, 0x14, 0x84, 0x50, 0xb7, 0x86, 0x42, 0x8b, 0xaa, 0x48, 0xc8, 0x85, 0x0e, 0x2c, 0xd1, - 0x4b, 0x7c, 0xfb, 0x62, 0x35, 0xc9, 0x73, 0xde, 0x7b, 0x41, 0x35, 0x53, 0xc5, 0xc8, 0xc4, 0xc8, - 0xc0, 0xc8, 0xc0, 0xd8, 0x81, 0x1f, 0xd1, 0x81, 0xa1, 0x62, 0x62, 0x02, 0xd4, 0x0e, 0xfd, 0x1b, - 0xc8, 0x9f, 0x69, 0xe2, 0xb8, 0xa4, 0x2c, 0x89, 0xaf, 0xef, 0x79, 0xe7, 0x9e, 0xf3, 0x74, 0x8f, - 0x8c, 0x66, 0x77, 0xb0, 0xc5, 0x1c, 0x66, 0xb5, 0x88, 0x6e, 0x83, 0xad, 0x8b, 0x3d, 0xcd, 0x66, - 0x54, 0x50, 0xf9, 0x4a, 0xf4, 0x5e, 0xb3, 0xc1, 0x56, 0xa6, 0x70, 0xd3, 0x6a, 0x51, 0xdd, 0xfb, - 0xf5, 0x11, 0xca, 0x5c, 0x8d, 0xf2, 0x26, 0xe5, 0x7a, 0x93, 0x13, 0xfd, 0xed, 0x03, 0xf7, 0x2f, - 0x68, 0xe4, 0xfc, 0x46, 0xc5, 0xab, 0x74, 0xbf, 0x08, 0x5a, 0x2a, 0xa1, 0x94, 0x34, 0x40, 0xf7, - 0xaa, 0x6a, 0x67, 0x47, 0x37, 0x3b, 0x0c, 0x0b, 0x8b, 0xb6, 0x82, 0xfe, 0x34, 0xa1, 0x84, 0xfa, - 0xe7, 0xdc, 0xa7, 0xe0, 0xad, 0xd2, 0xab, 0xd1, 0xc6, 0x0c, 0x37, 0x43, 0xc6, 0x42, 0x6f, 0x0f, - 0x13, 0xc2, 0x80, 0x60, 0x01, 0x66, 0x65, 0x17, 0x9c, 0x0a, 0xaf, 0x63, 0x06, 0x3e, 0x32, 0xff, - 0x5d, 0x42, 0x93, 0x65, 0x4e, 0x5e, 0xdb, 0x26, 0x16, 0xf0, 0xd2, 0xe3, 0x90, 0x1f, 0xa3, 0x0c, - 0xee, 0x88, 0x3a, 0x65, 0x96, 0x70, 0xb2, 0xd2, 0x82, 0x54, 0xc8, 0x94, 0xb2, 0x3f, 0xbe, 0xdd, - 0x9b, 0x0e, 0x44, 0xaf, 0x9a, 0x26, 0x03, 0xce, 0xb7, 0x84, 0xcb, 0x6f, 0x74, 0xa1, 0xf2, 0x13, - 0x94, 0xf6, 0x55, 0x64, 0x47, 0x16, 0xa4, 0xc2, 0xe5, 0xe5, 0x19, 0xad, 0xe7, 0xba, 0x34, 0x9f, - 0xbe, 0x94, 0x39, 0xfc, 0x35, 0x9f, 0xfa, 0x7a, 0x7a, 0x50, 0x94, 0x8c, 0x00, 0xbf, 0xb2, 0xfe, - 0xfe, 0xf4, 0xa0, 0xd8, 0x65, 0xfa, 0x70, 0x7a, 0x50, 0x7c, 0x44, 0x2c, 0x51, 0xef, 0x54, 0xb5, - 0x1a, 0x6d, 0xea, 0xcf, 0xb1, 0xc5, 0xaa, 0x0d, 0x5a, 0xdb, 0xd5, 0xbb, 0xbe, 0xf6, 0x3c, 0x67, - 0x7d, 0xd2, 0xf3, 0x39, 0x34, 0xd7, 0xf7, 0xca, 0x00, 0x6e, 0xd3, 0x16, 0x87, 0xfc, 0xbe, 0x84, - 0xa6, 0xcb, 0x9c, 0x6c, 0x75, 0xaa, 0x4d, 0x4b, 0x3c, 0x6b, 0xd5, 0x98, 0x63, 0x0b, 0x30, 0x5f, - 0xed, 0xc9, 0x59, 0x74, 0xa9, 0xc6, 0x00, 0x0b, 0xca, 0x7c, 0xb3, 0x46, 0x58, 0xca, 0x32, 0x1a, - 0x33, 0xb1, 0xc0, 0x9e, 0x9d, 0x8c, 0xe1, 0x3d, 0xcb, 0x4b, 0x68, 0x4a, 0x60, 0x46, 0x40, 0x94, - 0x5c, 0x41, 0x1b, 0x60, 0x91, 0xba, 0xc8, 0x8e, 0x2e, 0x48, 0x85, 0x31, 0x23, 0xde, 0x58, 0x99, - 0x70, 0x8d, 0x85, 0x7c, 0x79, 0x1b, 0x5d, 0x8b, 0x14, 0xac, 0x43, 0x0b, 0x18, 0x6e, 0xfc, 0xbf, - 0x90, 0x19, 0x94, 0x66, 0xd0, 0xae, 0x58, 0xa6, 0x37, 0x3d, 0x63, 0x8c, 0x33, 0x68, 0xbf, 0x30, - 0xfb, 0x26, 0xaa, 0xe8, 0xfa, 0x20, 0xcf, 0xd1, 0xa5, 0xb4, 0x3d, 0x45, 0x4f, 0x5d, 0x34, 0xac, - 0x46, 0x5b, 0xb2, 0x09, 0xce, 0x96, 0xbb, 0x23, 0xe7, 0x28, 0x9a, 0x45, 0xe9, 0xba, 0xef, 0x7d, - 0xc4, 0xf3, 0x1e, 0x54, 0x91, 0xd2, 0xd1, 0xae, 0xd2, 0x3e, 0x49, 0xb7, 0xd1, 0xe2, 0x39, 0x23, - 0x23, 0x65, 0x5f, 0x24, 0x94, 0x2b, 0x73, 0x62, 0x40, 0xbb, 0x03, 0x3c, 0xbc, 0xad, 0x4d, 0x70, - 0xf8, 0x3f, 0x84, 0x6d, 0xa0, 0x49, 0xe0, 0xc2, 0x6a, 0x7a, 0xdb, 0x6e, 0x42, 0x03, 0x3b, 0xc1, - 0x36, 0xe6, 0x34, 0x3f, 0x66, 0x5a, 0x18, 0x33, 0x6d, 0x2d, 0x88, 0x59, 0x69, 0xec, 0xd3, 0xef, - 0x79, 0xc9, 0xb8, 0x1a, 0x9d, 0x5b, 0x73, 0x8f, 0x0d, 0x77, 0xc1, 0x2b, 0xe8, 0x66, 0xa2, 0xca, - 0xd0, 0xcb, 0x19, 0x26, 0xe9, 0x0c, 0x53, 0x7e, 0x1b, 0xcd, 0x94, 0x39, 0x59, 0x87, 0x0b, 0xb8, - 0xeb, 0x32, 0x8d, 0x24, 0x6b, 0x9a, 0x47, 0x37, 0x06, 0xf2, 0x86, 0x7a, 0x96, 0x3f, 0x8f, 0xa3, - 0xd1, 0x32, 0x27, 0xf2, 0x36, 0x9a, 0xe8, 0x09, 0xbe, 0xda, 0x17, 0xd8, 0xbe, 0x28, 0x29, 0x77, - 0xce, 0xef, 0x47, 0x7e, 0x01, 0x4d, 0xc5, 0x63, 0xb6, 0x18, 0x3f, 0x1c, 0x03, 0x29, 0x77, 0x87, - 0x00, 0x45, 0x63, 0x38, 0xca, 0x26, 0x66, 0xa9, 0x98, 0x44, 0x14, 0xc7, 0x5e, 0x6c, 0xe8, 0x3b, - 0x94, 0x4d, 0x8c, 0xcb, 0x80, 0xa1, 0x49, 0x58, 0x65, 0x79, 0x78, 0x6c, 0x34, 0x5b, 0xa0, 0xd9, - 0x84, 0x3c, 0x14, 0xe2, 0x6c, 0x83, 0x91, 0xca, 0xfd, 0x61, 0x91, 0xd1, 0xd4, 0x3a, 0x92, 0x07, - 0xec, 0xe8, 0xad, 0x38, 0x4f, 0x1c, 0xa5, 0x2c, 0x0d, 0x83, 0x0a, 0x27, 0x29, 0xe3, 0xfb, 0xee, - 0x57, 0xa1, 0xb4, 0x76, 0x78, 0xac, 0x4a, 0x47, 0xc7, 0xaa, 0xf4, 0xe7, 0x58, 0x95, 0x3e, 0x9e, - 0xa8, 0xa9, 0xa3, 0x13, 0x35, 0xf5, 0xf3, 0x44, 0x4d, 0xbd, 0x29, 0x0e, 0xf5, 0x51, 0x10, 0x8e, - 0x0d, 0xbc, 0x9a, 0xf6, 0x72, 0xfe, 0xf0, 0x6f, 0x00, 0x00, 0x00, 0xff, 0xff, 0xcc, 0xd6, 0xda, - 0xef, 0xcc, 0x07, 0x00, 0x00, + // 848 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x9c, 0x56, 0xcf, 0x6f, 0x1b, 0x45, + 0x14, 0xce, 0x26, 0xa9, 0x91, 0x5f, 0x0b, 0x55, 0x96, 0x24, 0x75, 0x16, 0xd8, 0x04, 0x97, 0x22, + 0xcb, 0xb4, 0xbb, 0x24, 0x20, 0x84, 0x72, 0xab, 0x09, 0xa4, 0x55, 0x65, 0x29, 0xda, 0x40, 0x25, + 0xb8, 0x58, 0xb3, 0xde, 0xd7, 0xf1, 0xca, 0x3f, 0x66, 0x3d, 0x33, 0x0e, 0x59, 0x4e, 0x15, 0x47, + 0x4e, 0x1c, 0xf9, 0x03, 0x38, 0x70, 0xcc, 0x81, 0x3f, 0xa2, 0x07, 0x0e, 0x15, 0x27, 0x4e, 0x80, + 0x92, 0x43, 0xfe, 0x0c, 0xd0, 0xfe, 0x74, 0xbc, 0x3f, 0x5c, 0xa7, 0x17, 0x7b, 0x67, 0xde, 0x37, + 0xef, 0xfb, 0xbe, 0xb7, 0xf3, 0x9e, 0x16, 0x36, 0x9f, 0x11, 0x97, 0xfb, 0xdc, 0x1d, 0x51, 0xd3, + 0x43, 0xcf, 0x94, 0xa7, 0x86, 0xc7, 0x99, 0x64, 0xea, 0x9b, 0xe9, 0xbe, 0xe1, 0xa1, 0xa7, 0xad, + 0x91, 0xa1, 0x3b, 0x62, 0x66, 0xf8, 0x1b, 0x21, 0xb4, 0x3b, 0x5d, 0x26, 0x86, 0x4c, 0x98, 0x43, + 0x41, 0xcd, 0x93, 0xdd, 0xe0, 0x2f, 0x0e, 0x6c, 0x45, 0x81, 0x4e, 0xb8, 0x32, 0xa3, 0x45, 0x1c, + 0xd2, 0x29, 0x63, 0x74, 0x80, 0x66, 0xb8, 0xb2, 0x27, 0xcf, 0x4c, 0x67, 0xc2, 0x89, 0x74, 0xd9, + 0x28, 0x8e, 0xaf, 0x53, 0x46, 0x59, 0x74, 0x2e, 0x78, 0x8a, 0x77, 0xb5, 0x59, 0x8d, 0x1e, 0xe1, + 0x64, 0x98, 0x64, 0x6c, 0xcc, 0xc6, 0x08, 0xa5, 0x1c, 0x29, 0x91, 0xe8, 0x74, 0xfa, 0xe8, 0x77, + 0x44, 0x8f, 0x70, 0x4c, 0xb8, 0x63, 0xbd, 0x36, 0x11, 0x68, 0x9e, 0xec, 0xda, 0x28, 0xc9, 0xae, + 0xd9, 0x65, 0x6e, 0xcc, 0x5d, 0xff, 0x43, 0x81, 0xdb, 0x6d, 0x41, 0xbf, 0xf1, 0x1c, 0x22, 0xf1, + 0x28, 0xe4, 0x50, 0x3f, 0x83, 0x2a, 0x99, 0xc8, 0x1e, 0xe3, 0xae, 0xf4, 0x6b, 0xca, 0x8e, 0xd2, + 0xa8, 0xb6, 0x6a, 0x7f, 0xfe, 0xfe, 0x60, 0x3d, 0x36, 0xf5, 0xd0, 0x71, 0x38, 0x0a, 0x71, 0x2c, + 0x03, 0x7e, 0x6b, 0x0a, 0x55, 0x3f, 0x87, 0x4a, 0xa4, 0xb2, 0xb6, 0xbc, 0xa3, 0x34, 0x6e, 0xee, + 0x6d, 0x18, 0x33, 0xe5, 0x34, 0xa2, 0xf4, 0xad, 0xea, 0x8b, 0xbf, 0xb7, 0x97, 0x7e, 0xbb, 0x3c, + 0x6b, 0x2a, 0x56, 0x8c, 0xdf, 0x3f, 0xfc, 0xf1, 0xf2, 0xac, 0x39, 0xcd, 0xf4, 0xd3, 0xe5, 0x59, + 0xf3, 0x53, 0xea, 0xca, 0xde, 0xc4, 0x36, 0xba, 0x6c, 0x68, 0x7e, 0x45, 0x5c, 0x6e, 0x0f, 0x58, + 0xb7, 0x6f, 0x4e, 0x7d, 0x9f, 0x86, 0xce, 0x33, 0xd2, 0xeb, 0x5b, 0x70, 0x27, 0xb3, 0x65, 0xa1, + 0xf0, 0xd8, 0x48, 0x60, 0xfd, 0xb9, 0x02, 0xeb, 0x6d, 0x41, 0x8f, 0x27, 0xf6, 0xd0, 0x95, 0x5f, + 0x8e, 0xba, 0xdc, 0xf7, 0x24, 0x3a, 0x5f, 0x9f, 0xaa, 0x35, 0x78, 0xa3, 0xcb, 0x91, 0x48, 0xc6, + 0x23, 0xb3, 0x56, 0xb2, 0x54, 0x55, 0x58, 0x75, 0x88, 0x24, 0xa1, 0x9d, 0xaa, 0x15, 0x3e, 0xab, + 0xf7, 0x61, 0x4d, 0x12, 0x4e, 0x51, 0xb6, 0x02, 0x41, 0x8f, 0xd0, 0xa5, 0x3d, 0x59, 0x5b, 0xd9, + 0x51, 0x1a, 0xab, 0x56, 0x3e, 0xb0, 0x7f, 0x2b, 0x30, 0x96, 0xe4, 0xab, 0x7b, 0xf0, 0x4e, 0xaa, + 0xe0, 0x10, 0x47, 0xc8, 0xc9, 0xe0, 0xf5, 0x85, 0x6c, 0x40, 0x85, 0xe3, 0xb8, 0xe3, 0x3a, 0x21, + 0x7b, 0xd5, 0xba, 0xc1, 0x71, 0xfc, 0xd8, 0xc9, 0x30, 0xea, 0xf0, 0x6e, 0x91, 0xe7, 0xb4, 0x28, + 0xe3, 0x50, 0xd1, 0x17, 0x01, 0x1a, 0x1f, 0xa6, 0xb7, 0xe8, 0x09, 0xfa, 0xc7, 0xc1, 0x1d, 0x9a, + 0xa3, 0x68, 0x13, 0x2a, 0xbd, 0xc8, 0xfb, 0x72, 0xe8, 0x3d, 0x5e, 0xa5, 0x4a, 0x57, 0xa6, 0x4a, + 0x33, 0x92, 0xee, 0xc1, 0xdd, 0x39, 0x94, 0xa9, 0xb2, 0x5f, 0x15, 0xd8, 0x6a, 0x0b, 0x6a, 0xe1, + 0x78, 0x82, 0x22, 0xa9, 0xd6, 0x13, 0xf4, 0xc5, 0x2b, 0x84, 0x3d, 0x82, 0xdb, 0x28, 0xa4, 0x3b, + 0x0c, 0xbb, 0xc1, 0xc1, 0x01, 0xf1, 0xe3, 0xdb, 0xb8, 0x65, 0x44, 0x6d, 0x68, 0x24, 0x6d, 0x68, + 0x1c, 0xc4, 0x6d, 0xd8, 0x5a, 0xfd, 0xe5, 0x9f, 0x6d, 0xc5, 0x7a, 0x2b, 0x3d, 0x77, 0x10, 0x1c, + 0x5b, 0xac, 0xc0, 0xfb, 0xf0, 0x7e, 0xa9, 0xca, 0xc4, 0xcb, 0x95, 0x4c, 0xca, 0x95, 0x4c, 0xf5, + 0xa7, 0xb0, 0xd1, 0x16, 0xf4, 0x10, 0xaf, 0xe1, 0x6e, 0x9a, 0x69, 0xb9, 0x5c, 0xd3, 0x36, 0xbc, + 0x57, 0x98, 0x37, 0xad, 0xed, 0xb7, 0x57, 0x4b, 0x7b, 0xc4, 0xdd, 0x13, 0x22, 0xf1, 0xb1, 0x83, + 0x23, 0x19, 0x74, 0x71, 0x39, 0xf9, 0x3a, 0x44, 0x74, 0xf3, 0xb8, 0x67, 0xea, 0x91, 0x49, 0xfd, + 0xaa, 0x7a, 0x7c, 0x0f, 0x9b, 0x91, 0xee, 0xf8, 0x5c, 0xa2, 0x5b, 0x5c, 0x57, 0x93, 0xba, 0x0d, + 0x37, 0x05, 0x76, 0xbd, 0x8e, 0x37, 0xb1, 0xfb, 0xe8, 0xc7, 0xef, 0x0f, 0x82, 0xad, 0xa3, 0x70, + 0x27, 0x23, 0x7a, 0x07, 0xf4, 0x62, 0xe2, 0x44, 0xf1, 0xde, 0x7f, 0x15, 0x58, 0x69, 0x0b, 0xaa, + 0x3e, 0x85, 0x5b, 0x33, 0xa3, 0x52, 0xcf, 0x8c, 0xb8, 0xcc, 0xf0, 0xd1, 0x3e, 0x9c, 0x1f, 0x4f, + 0x2b, 0x82, 0xb0, 0x96, 0x1f, 0x4c, 0x77, 0xf3, 0x87, 0x73, 0x20, 0xed, 0xa3, 0x05, 0x40, 0x29, + 0x8d, 0x80, 0x5a, 0xe9, 0xf4, 0x69, 0x96, 0x25, 0xca, 0x63, 0xaf, 0x47, 0xfa, 0x03, 0xd4, 0x4a, + 0x07, 0x4c, 0x01, 0x69, 0x19, 0x56, 0xdb, 0x5b, 0x1c, 0x9b, 0x72, 0x4b, 0xd8, 0x2c, 0x99, 0x20, + 0x8d, 0x7c, 0xb6, 0x62, 0xa4, 0xf6, 0xf1, 0xa2, 0xc8, 0x94, 0xb5, 0x07, 0x6a, 0x41, 0x57, 0x7f, + 0x90, 0xcf, 0x93, 0x47, 0x69, 0xf7, 0x17, 0x41, 0x15, 0xf8, 0xcb, 0xb6, 0x71, 0xb9, 0xbf, 0x0c, + 0x72, 0x8e, 0xbf, 0xb2, 0xfe, 0xed, 0xc3, 0xdb, 0x45, 0x5d, 0x7a, 0xaf, 0x50, 0x7a, 0x16, 0xa6, + 0x3d, 0x58, 0x08, 0x96, 0x90, 0x69, 0x37, 0x9e, 0x07, 0x9f, 0x0a, 0xad, 0x83, 0x17, 0xe7, 0xba, + 0xf2, 0xf2, 0x5c, 0x57, 0xfe, 0x3d, 0xd7, 0x95, 0x9f, 0x2f, 0xf4, 0xa5, 0x97, 0x17, 0xfa, 0xd2, + 0x5f, 0x17, 0xfa, 0xd2, 0x77, 0xcd, 0x85, 0xbe, 0x14, 0xa4, 0xef, 0xa1, 0xb0, 0x2b, 0xe1, 0xf0, + 0xff, 0xe4, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0x57, 0x44, 0xcb, 0x00, 0x01, 0x0a, 0x00, 0x00, } // Reference imports to suppress errors if they are not otherwise used. @@ -660,6 +864,8 @@ type MsgClient interface { CreateAggregatedKeyShare(ctx context.Context, in *MsgCreateAggregatedKeyShare, opts ...grpc.CallOption) (*MsgCreateAggregatedKeyShareResponse, error) RequestGeneralKeyshare(ctx context.Context, in *MsgRequestGeneralKeyshare, opts ...grpc.CallOption) (*MsgRequestGeneralKeyshareResponse, error) GetGeneralKeyshare(ctx context.Context, in *MsgGetGeneralKeyshare, opts ...grpc.CallOption) (*MsgGetGeneralKeyshareResponse, error) + RequestPrivateIdentity(ctx context.Context, in *MsgRequestPrivateIdentity, opts ...grpc.CallOption) (*MsgRequestPrivateIdentityResponse, error) + GetPrivateKeyshares(ctx context.Context, in *MsgGetPrivateKeyshares, opts ...grpc.CallOption) (*MsgGetPrivateKeysharesResponse, error) } type msgClient struct { @@ -724,6 +930,24 @@ func (c *msgClient) GetGeneralKeyshare(ctx context.Context, in *MsgGetGeneralKey return out, nil } +func (c *msgClient) RequestPrivateIdentity(ctx context.Context, in *MsgRequestPrivateIdentity, opts ...grpc.CallOption) (*MsgRequestPrivateIdentityResponse, error) { + out := new(MsgRequestPrivateIdentityResponse) + err := c.cc.Invoke(ctx, "/fairyring.pep.Msg/RequestPrivateIdentity", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *msgClient) GetPrivateKeyshares(ctx context.Context, in *MsgGetPrivateKeyshares, opts ...grpc.CallOption) (*MsgGetPrivateKeysharesResponse, error) { + out := new(MsgGetPrivateKeysharesResponse) + err := c.cc.Invoke(ctx, "/fairyring.pep.Msg/GetPrivateKeyshares", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + // MsgServer is the server API for Msg service. type MsgServer interface { // UpdateParams defines a (governance) operation for updating the module @@ -735,6 +959,8 @@ type MsgServer interface { CreateAggregatedKeyShare(context.Context, *MsgCreateAggregatedKeyShare) (*MsgCreateAggregatedKeyShareResponse, error) RequestGeneralKeyshare(context.Context, *MsgRequestGeneralKeyshare) (*MsgRequestGeneralKeyshareResponse, error) GetGeneralKeyshare(context.Context, *MsgGetGeneralKeyshare) (*MsgGetGeneralKeyshareResponse, error) + RequestPrivateIdentity(context.Context, *MsgRequestPrivateIdentity) (*MsgRequestPrivateIdentityResponse, error) + GetPrivateKeyshares(context.Context, *MsgGetPrivateKeyshares) (*MsgGetPrivateKeysharesResponse, error) } // UnimplementedMsgServer can be embedded to have forward compatible implementations. @@ -759,6 +985,12 @@ func (*UnimplementedMsgServer) RequestGeneralKeyshare(ctx context.Context, req * func (*UnimplementedMsgServer) GetGeneralKeyshare(ctx context.Context, req *MsgGetGeneralKeyshare) (*MsgGetGeneralKeyshareResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method GetGeneralKeyshare not implemented") } +func (*UnimplementedMsgServer) RequestPrivateIdentity(ctx context.Context, req *MsgRequestPrivateIdentity) (*MsgRequestPrivateIdentityResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method RequestPrivateIdentity not implemented") +} +func (*UnimplementedMsgServer) GetPrivateKeyshares(ctx context.Context, req *MsgGetPrivateKeyshares) (*MsgGetPrivateKeysharesResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetPrivateKeyshares not implemented") +} func RegisterMsgServer(s grpc1.Server, srv MsgServer) { s.RegisterService(&_Msg_serviceDesc, srv) @@ -872,6 +1104,42 @@ func _Msg_GetGeneralKeyshare_Handler(srv interface{}, ctx context.Context, dec f return interceptor(ctx, in, info, handler) } +func _Msg_RequestPrivateIdentity_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(MsgRequestPrivateIdentity) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(MsgServer).RequestPrivateIdentity(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/fairyring.pep.Msg/RequestPrivateIdentity", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MsgServer).RequestPrivateIdentity(ctx, req.(*MsgRequestPrivateIdentity)) + } + return interceptor(ctx, in, info, handler) +} + +func _Msg_GetPrivateKeyshares_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(MsgGetPrivateKeyshares) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(MsgServer).GetPrivateKeyshares(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/fairyring.pep.Msg/GetPrivateKeyshares", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MsgServer).GetPrivateKeyshares(ctx, req.(*MsgGetPrivateKeyshares)) + } + return interceptor(ctx, in, info, handler) +} + var _Msg_serviceDesc = grpc.ServiceDesc{ ServiceName: "fairyring.pep.Msg", HandlerType: (*MsgServer)(nil), @@ -900,6 +1168,14 @@ var _Msg_serviceDesc = grpc.ServiceDesc{ MethodName: "GetGeneralKeyshare", Handler: _Msg_GetGeneralKeyshare_Handler, }, + { + MethodName: "RequestPrivateIdentity", + Handler: _Msg_RequestPrivateIdentity_Handler, + }, + { + MethodName: "GetPrivateKeyshares", + Handler: _Msg_GetPrivateKeyshares_Handler, + }, }, Streams: []grpc.StreamDesc{}, Metadata: "fairyring/pep/tx.proto", @@ -1279,66 +1555,200 @@ func (m *MsgGetGeneralKeyshareResponse) MarshalToSizedBuffer(dAtA []byte) (int, return len(dAtA) - i, nil } -func encodeVarintTx(dAtA []byte, offset int, v uint64) int { - offset -= sovTx(v) - base := offset - for v >= 1<<7 { - dAtA[offset] = uint8(v&0x7f | 0x80) - v >>= 7 - offset++ +func (m *MsgRequestPrivateIdentity) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err } - dAtA[offset] = uint8(v) - return base + return dAtA[:n], nil } -func (m *MsgUpdateParams) Size() (n int) { - if m == nil { - return 0 - } + +func (m *MsgRequestPrivateIdentity) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *MsgRequestPrivateIdentity) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i var l int _ = l - l = len(m.Authority) - if l > 0 { - n += 1 + l + sovTx(uint64(l)) + if len(m.ReqId) > 0 { + i -= len(m.ReqId) + copy(dAtA[i:], m.ReqId) + i = encodeVarintTx(dAtA, i, uint64(len(m.ReqId))) + i-- + dAtA[i] = 0x12 } - l = m.Params.Size() - n += 1 + l + sovTx(uint64(l)) - return n + if len(m.Creator) > 0 { + i -= len(m.Creator) + copy(dAtA[i:], m.Creator) + i = encodeVarintTx(dAtA, i, uint64(len(m.Creator))) + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil } -func (m *MsgUpdateParamsResponse) Size() (n int) { - if m == nil { - return 0 +func (m *MsgRequestPrivateIdentityResponse) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err } - var l int - _ = l - return n + return dAtA[:n], nil } -func (m *MsgSubmitEncryptedTx) Size() (n int) { - if m == nil { - return 0 - } +func (m *MsgRequestPrivateIdentityResponse) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *MsgRequestPrivateIdentityResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i var l int _ = l - l = len(m.Creator) - if l > 0 { - n += 1 + l + sovTx(uint64(l)) - } - l = len(m.Data) - if l > 0 { - n += 1 + l + sovTx(uint64(l)) - } - if m.TargetBlockHeight != 0 { - n += 1 + sovTx(uint64(m.TargetBlockHeight)) + if len(m.ReqId) > 0 { + i -= len(m.ReqId) + copy(dAtA[i:], m.ReqId) + i = encodeVarintTx(dAtA, i, uint64(len(m.ReqId))) + i-- + dAtA[i] = 0xa } - return n + return len(dAtA) - i, nil } -func (m *MsgSubmitGeneralEncryptedTx) Size() (n int) { - if m == nil { - return 0 - } - var l int +func (m *MsgGetPrivateKeyshares) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *MsgGetPrivateKeyshares) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *MsgGetPrivateKeyshares) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if len(m.SecpPubkey) > 0 { + i -= len(m.SecpPubkey) + copy(dAtA[i:], m.SecpPubkey) + i = encodeVarintTx(dAtA, i, uint64(len(m.SecpPubkey))) + i-- + dAtA[i] = 0x1a + } + if len(m.ReqId) > 0 { + i -= len(m.ReqId) + copy(dAtA[i:], m.ReqId) + i = encodeVarintTx(dAtA, i, uint64(len(m.ReqId))) + i-- + dAtA[i] = 0x12 + } + if len(m.Creator) > 0 { + i -= len(m.Creator) + copy(dAtA[i:], m.Creator) + i = encodeVarintTx(dAtA, i, uint64(len(m.Creator))) + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + +func (m *MsgGetPrivateKeysharesResponse) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *MsgGetPrivateKeysharesResponse) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *MsgGetPrivateKeysharesResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + return len(dAtA) - i, nil +} + +func encodeVarintTx(dAtA []byte, offset int, v uint64) int { + offset -= sovTx(v) + base := offset + for v >= 1<<7 { + dAtA[offset] = uint8(v&0x7f | 0x80) + v >>= 7 + offset++ + } + dAtA[offset] = uint8(v) + return base +} +func (m *MsgUpdateParams) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.Authority) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } + l = m.Params.Size() + n += 1 + l + sovTx(uint64(l)) + return n +} + +func (m *MsgUpdateParamsResponse) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + return n +} + +func (m *MsgSubmitEncryptedTx) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.Creator) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } + l = len(m.Data) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } + if m.TargetBlockHeight != 0 { + n += 1 + sovTx(uint64(m.TargetBlockHeight)) + } + return n +} + +func (m *MsgSubmitGeneralEncryptedTx) Size() (n int) { + if m == nil { + return 0 + } + var l int _ = l l = len(m.Creator) if l > 0 { @@ -1453,6 +1863,66 @@ func (m *MsgGetGeneralKeyshareResponse) Size() (n int) { return n } +func (m *MsgRequestPrivateIdentity) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.Creator) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } + l = len(m.ReqId) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } + return n +} + +func (m *MsgRequestPrivateIdentityResponse) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.ReqId) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } + return n +} + +func (m *MsgGetPrivateKeyshares) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.Creator) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } + l = len(m.ReqId) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } + l = len(m.SecpPubkey) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } + return n +} + +func (m *MsgGetPrivateKeysharesResponse) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + return n +} + func sovTx(x uint64) (n int) { return (math_bits.Len64(x|1) + 6) / 7 } @@ -1672,20 +2142,368 @@ func (m *MsgSubmitEncryptedTx) Unmarshal(dAtA []byte) error { break } } - intStringLen := int(stringLen) - if intStringLen < 0 { - return ErrInvalidLengthTx - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthTx - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.Creator = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 2: + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthTx + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthTx + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Creator = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Data", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTx + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthTx + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthTx + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Data = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 3: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field TargetBlockHeight", wireType) + } + m.TargetBlockHeight = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTx + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.TargetBlockHeight |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + default: + iNdEx = preIndex + skippy, err := skipTx(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthTx + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *MsgSubmitGeneralEncryptedTx) Unmarshal(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTx + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: MsgSubmitGeneralEncryptedTx: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: MsgSubmitGeneralEncryptedTx: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Creator", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTx + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthTx + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthTx + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Creator = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Data", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTx + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthTx + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthTx + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Data = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ReqId", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTx + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthTx + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthTx + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.ReqId = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipTx(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthTx + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *MsgSubmitEncryptedTxResponse) Unmarshal(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTx + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: MsgSubmitEncryptedTxResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: MsgSubmitEncryptedTxResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + default: + iNdEx = preIndex + skippy, err := skipTx(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthTx + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *MsgCreateAggregatedKeyShare) Unmarshal(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTx + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: MsgCreateAggregatedKeyShare: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: MsgCreateAggregatedKeyShare: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Creator", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTx + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthTx + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthTx + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Creator = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Height", wireType) + } + m.Height = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTx + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.Height |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 3: if wireType != 2 { return fmt.Errorf("proto: wrong wireType = %d for field Data", wireType) } @@ -1717,25 +2535,56 @@ func (m *MsgSubmitEncryptedTx) Unmarshal(dAtA []byte) error { } m.Data = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex - case 3: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field TargetBlockHeight", wireType) + default: + iNdEx = preIndex + skippy, err := skipTx(dAtA[iNdEx:]) + if err != nil { + return err } - m.TargetBlockHeight = 0 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowTx - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - m.TargetBlockHeight |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthTx + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *MsgCreateAggregatedKeyShareResponse) Unmarshal(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTx + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: MsgCreateAggregatedKeyShareResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: MsgCreateAggregatedKeyShareResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { default: iNdEx = preIndex skippy, err := skipTx(dAtA[iNdEx:]) @@ -1757,7 +2606,7 @@ func (m *MsgSubmitEncryptedTx) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgSubmitGeneralEncryptedTx) Unmarshal(dAtA []byte) error { +func (m *MsgRequestGeneralKeyshare) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -1780,10 +2629,10 @@ func (m *MsgSubmitGeneralEncryptedTx) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgSubmitGeneralEncryptedTx: wiretype end group for non-group") + return fmt.Errorf("proto: MsgRequestGeneralKeyshare: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgSubmitGeneralEncryptedTx: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgRequestGeneralKeyshare: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -1820,9 +2669,9 @@ func (m *MsgSubmitGeneralEncryptedTx) Unmarshal(dAtA []byte) error { iNdEx = postIndex case 2: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Data", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field EstimatedDelay", wireType) } - var stringLen uint64 + var msglen int for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowTx @@ -1832,23 +2681,27 @@ func (m *MsgSubmitGeneralEncryptedTx) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= uint64(b&0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } } - intStringLen := int(stringLen) - if intStringLen < 0 { + if msglen < 0 { return ErrInvalidLengthTx } - postIndex := iNdEx + intStringLen + postIndex := iNdEx + msglen if postIndex < 0 { return ErrInvalidLengthTx } if postIndex > l { return io.ErrUnexpectedEOF } - m.Data = string(dAtA[iNdEx:postIndex]) + if m.EstimatedDelay == nil { + m.EstimatedDelay = new(time.Duration) + } + if err := github_com_cosmos_gogoproto_types.StdDurationUnmarshal(m.EstimatedDelay, dAtA[iNdEx:postIndex]); err != nil { + return err + } iNdEx = postIndex case 3: if wireType != 2 { @@ -1903,7 +2756,7 @@ func (m *MsgSubmitGeneralEncryptedTx) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgSubmitEncryptedTxResponse) Unmarshal(dAtA []byte) error { +func (m *MsgRequestGeneralKeyshareResponse) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -1926,12 +2779,44 @@ func (m *MsgSubmitEncryptedTxResponse) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgSubmitEncryptedTxResponse: wiretype end group for non-group") + return fmt.Errorf("proto: MsgRequestGeneralKeyshareResponse: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgSubmitEncryptedTxResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgRequestGeneralKeyshareResponse: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ReqId", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTx + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthTx + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthTx + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.ReqId = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipTx(dAtA[iNdEx:]) @@ -1953,7 +2838,7 @@ func (m *MsgSubmitEncryptedTxResponse) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgCreateAggregatedKeyShare) Unmarshal(dAtA []byte) error { +func (m *MsgGetGeneralKeyshare) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -1976,10 +2861,10 @@ func (m *MsgCreateAggregatedKeyShare) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgCreateAggregatedKeyShare: wiretype end group for non-group") + return fmt.Errorf("proto: MsgGetGeneralKeyshare: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgCreateAggregatedKeyShare: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgGetGeneralKeyshare: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -2015,27 +2900,8 @@ func (m *MsgCreateAggregatedKeyShare) Unmarshal(dAtA []byte) error { m.Creator = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex case 2: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field Height", wireType) - } - m.Height = 0 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowTx - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - m.Height |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - case 3: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Data", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field ReqId", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -2063,7 +2929,7 @@ func (m *MsgCreateAggregatedKeyShare) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.Data = string(dAtA[iNdEx:postIndex]) + m.ReqId = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex default: iNdEx = preIndex @@ -2086,7 +2952,7 @@ func (m *MsgCreateAggregatedKeyShare) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgCreateAggregatedKeyShareResponse) Unmarshal(dAtA []byte) error { +func (m *MsgGetGeneralKeyshareResponse) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -2109,10 +2975,10 @@ func (m *MsgCreateAggregatedKeyShareResponse) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgCreateAggregatedKeyShareResponse: wiretype end group for non-group") + return fmt.Errorf("proto: MsgGetGeneralKeyshareResponse: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgCreateAggregatedKeyShareResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgGetGeneralKeyshareResponse: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { default: @@ -2136,7 +3002,7 @@ func (m *MsgCreateAggregatedKeyShareResponse) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgRequestGeneralKeyshare) Unmarshal(dAtA []byte) error { +func (m *MsgRequestPrivateIdentity) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -2159,10 +3025,10 @@ func (m *MsgRequestGeneralKeyshare) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgRequestGeneralKeyshare: wiretype end group for non-group") + return fmt.Errorf("proto: MsgRequestPrivateIdentity: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgRequestGeneralKeyshare: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgRequestPrivateIdentity: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -2198,42 +3064,6 @@ func (m *MsgRequestGeneralKeyshare) Unmarshal(dAtA []byte) error { m.Creator = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex case 2: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field EstimatedDelay", wireType) - } - var msglen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowTx - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - msglen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if msglen < 0 { - return ErrInvalidLengthTx - } - postIndex := iNdEx + msglen - if postIndex < 0 { - return ErrInvalidLengthTx - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - if m.EstimatedDelay == nil { - m.EstimatedDelay = new(time.Duration) - } - if err := github_com_cosmos_gogoproto_types.StdDurationUnmarshal(m.EstimatedDelay, dAtA[iNdEx:postIndex]); err != nil { - return err - } - iNdEx = postIndex - case 3: if wireType != 2 { return fmt.Errorf("proto: wrong wireType = %d for field ReqId", wireType) } @@ -2286,7 +3116,7 @@ func (m *MsgRequestGeneralKeyshare) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgRequestGeneralKeyshareResponse) Unmarshal(dAtA []byte) error { +func (m *MsgRequestPrivateIdentityResponse) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -2309,10 +3139,10 @@ func (m *MsgRequestGeneralKeyshareResponse) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgRequestGeneralKeyshareResponse: wiretype end group for non-group") + return fmt.Errorf("proto: MsgRequestPrivateIdentityResponse: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgRequestGeneralKeyshareResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgRequestPrivateIdentityResponse: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -2368,7 +3198,7 @@ func (m *MsgRequestGeneralKeyshareResponse) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgGetGeneralKeyshare) Unmarshal(dAtA []byte) error { +func (m *MsgGetPrivateKeyshares) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -2391,10 +3221,10 @@ func (m *MsgGetGeneralKeyshare) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgGetGeneralKeyshare: wiretype end group for non-group") + return fmt.Errorf("proto: MsgGetPrivateKeyshares: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgGetGeneralKeyshare: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgGetPrivateKeyshares: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -2461,6 +3291,38 @@ func (m *MsgGetGeneralKeyshare) Unmarshal(dAtA []byte) error { } m.ReqId = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field SecpPubkey", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTx + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthTx + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthTx + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.SecpPubkey = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipTx(dAtA[iNdEx:]) @@ -2482,7 +3344,7 @@ func (m *MsgGetGeneralKeyshare) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgGetGeneralKeyshareResponse) Unmarshal(dAtA []byte) error { +func (m *MsgGetPrivateKeysharesResponse) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -2505,10 +3367,10 @@ func (m *MsgGetGeneralKeyshareResponse) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgGetGeneralKeyshareResponse: wiretype end group for non-group") + return fmt.Errorf("proto: MsgGetPrivateKeysharesResponse: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgGetGeneralKeyshareResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgGetPrivateKeysharesResponse: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { default: