diff --git a/integration/gen/notifications/v1/service_pb.d.ts b/integration/gen/notifications/v1/service_pb.d.ts index 423236b..bae707f 100644 --- a/integration/gen/notifications/v1/service_pb.d.ts +++ b/integration/gen/notifications/v1/service_pb.d.ts @@ -1,8 +1,8 @@ -// @generated by protoc-gen-es v2.2.3 +// @generated by protoc-gen-es v2.10.1 // @generated from file notifications/v1/service.proto (package notifications.v1, syntax proto3) /* eslint-disable */ -import type { GenFile, GenMessage, GenService } from "@bufbuild/protobuf/codegenv1"; +import type { GenFile, GenMessage, GenService } from "@bufbuild/protobuf/codegenv2"; import type { Message } from "@bufbuild/protobuf"; import type { EmptySchema } from "@bufbuild/protobuf/wkt"; diff --git a/integration/gen/notifications/v1/service_pb.js b/integration/gen/notifications/v1/service_pb.js index 0f127e1..7c8da82 100644 --- a/integration/gen/notifications/v1/service_pb.js +++ b/integration/gen/notifications/v1/service_pb.js @@ -1,8 +1,8 @@ -// @generated by protoc-gen-es v2.2.3 +// @generated by protoc-gen-es v2.10.1 // @generated from file notifications/v1/service.proto (package notifications.v1, syntax proto3) /* eslint-disable */ -import { fileDesc, messageDesc, serviceDesc } from "@bufbuild/protobuf/codegenv1"; +import { fileDesc, messageDesc, serviceDesc } from "@bufbuild/protobuf/codegenv2"; import { file_google_protobuf_empty } from "@bufbuild/protobuf/wkt"; /** diff --git a/pkg/proto/device_sync/consent_backup.pb.go b/pkg/proto/device_sync/consent_backup.pb.go new file mode 100644 index 0000000..dcb1376 --- /dev/null +++ b/pkg/proto/device_sync/consent_backup.pb.go @@ -0,0 +1,277 @@ +// Definitions for backups + +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.36.10 +// protoc (unknown) +// source: device_sync/consent_backup.proto + +package device_sync + +import ( + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + reflect "reflect" + sync "sync" + unsafe "unsafe" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// Consent record type +type ConsentTypeSave int32 + +const ( + ConsentTypeSave_CONSENT_TYPE_SAVE_UNSPECIFIED ConsentTypeSave = 0 + ConsentTypeSave_CONSENT_TYPE_SAVE_CONVERSATION_ID ConsentTypeSave = 1 + ConsentTypeSave_CONSENT_TYPE_SAVE_INBOX_ID ConsentTypeSave = 2 + // Deprecated: Marked as deprecated in device_sync/consent_backup.proto. + ConsentTypeSave_CONSENT_TYPE_SAVE_ADDRESS ConsentTypeSave = 3 +) + +// Enum value maps for ConsentTypeSave. +var ( + ConsentTypeSave_name = map[int32]string{ + 0: "CONSENT_TYPE_SAVE_UNSPECIFIED", + 1: "CONSENT_TYPE_SAVE_CONVERSATION_ID", + 2: "CONSENT_TYPE_SAVE_INBOX_ID", + 3: "CONSENT_TYPE_SAVE_ADDRESS", + } + ConsentTypeSave_value = map[string]int32{ + "CONSENT_TYPE_SAVE_UNSPECIFIED": 0, + "CONSENT_TYPE_SAVE_CONVERSATION_ID": 1, + "CONSENT_TYPE_SAVE_INBOX_ID": 2, + "CONSENT_TYPE_SAVE_ADDRESS": 3, + } +) + +func (x ConsentTypeSave) Enum() *ConsentTypeSave { + p := new(ConsentTypeSave) + *p = x + return p +} + +func (x ConsentTypeSave) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (ConsentTypeSave) Descriptor() protoreflect.EnumDescriptor { + return file_device_sync_consent_backup_proto_enumTypes[0].Descriptor() +} + +func (ConsentTypeSave) Type() protoreflect.EnumType { + return &file_device_sync_consent_backup_proto_enumTypes[0] +} + +func (x ConsentTypeSave) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use ConsentTypeSave.Descriptor instead. +func (ConsentTypeSave) EnumDescriptor() ([]byte, []int) { + return file_device_sync_consent_backup_proto_rawDescGZIP(), []int{0} +} + +// Consent record state +type ConsentStateSave int32 + +const ( + ConsentStateSave_CONSENT_STATE_SAVE_UNSPECIFIED ConsentStateSave = 0 + ConsentStateSave_CONSENT_STATE_SAVE_UNKNOWN ConsentStateSave = 1 + ConsentStateSave_CONSENT_STATE_SAVE_ALLOWED ConsentStateSave = 2 + ConsentStateSave_CONSENT_STATE_SAVE_DENIED ConsentStateSave = 3 +) + +// Enum value maps for ConsentStateSave. +var ( + ConsentStateSave_name = map[int32]string{ + 0: "CONSENT_STATE_SAVE_UNSPECIFIED", + 1: "CONSENT_STATE_SAVE_UNKNOWN", + 2: "CONSENT_STATE_SAVE_ALLOWED", + 3: "CONSENT_STATE_SAVE_DENIED", + } + ConsentStateSave_value = map[string]int32{ + "CONSENT_STATE_SAVE_UNSPECIFIED": 0, + "CONSENT_STATE_SAVE_UNKNOWN": 1, + "CONSENT_STATE_SAVE_ALLOWED": 2, + "CONSENT_STATE_SAVE_DENIED": 3, + } +) + +func (x ConsentStateSave) Enum() *ConsentStateSave { + p := new(ConsentStateSave) + *p = x + return p +} + +func (x ConsentStateSave) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (ConsentStateSave) Descriptor() protoreflect.EnumDescriptor { + return file_device_sync_consent_backup_proto_enumTypes[1].Descriptor() +} + +func (ConsentStateSave) Type() protoreflect.EnumType { + return &file_device_sync_consent_backup_proto_enumTypes[1] +} + +func (x ConsentStateSave) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use ConsentStateSave.Descriptor instead. +func (ConsentStateSave) EnumDescriptor() ([]byte, []int) { + return file_device_sync_consent_backup_proto_rawDescGZIP(), []int{1} +} + +// Proto representation of a consent record save +type ConsentSave struct { + state protoimpl.MessageState `protogen:"open.v1"` + EntityType ConsentTypeSave `protobuf:"varint,1,opt,name=entity_type,json=entityType,proto3,enum=xmtp.device_sync.consent_backup.ConsentTypeSave" json:"entity_type,omitempty"` + State ConsentStateSave `protobuf:"varint,2,opt,name=state,proto3,enum=xmtp.device_sync.consent_backup.ConsentStateSave" json:"state,omitempty"` + Entity string `protobuf:"bytes,3,opt,name=entity,proto3" json:"entity,omitempty"` + ConsentedAtNs int64 `protobuf:"varint,4,opt,name=consented_at_ns,json=consentedAtNs,proto3" json:"consented_at_ns,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ConsentSave) Reset() { + *x = ConsentSave{} + mi := &file_device_sync_consent_backup_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ConsentSave) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ConsentSave) ProtoMessage() {} + +func (x *ConsentSave) ProtoReflect() protoreflect.Message { + mi := &file_device_sync_consent_backup_proto_msgTypes[0] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ConsentSave.ProtoReflect.Descriptor instead. +func (*ConsentSave) Descriptor() ([]byte, []int) { + return file_device_sync_consent_backup_proto_rawDescGZIP(), []int{0} +} + +func (x *ConsentSave) GetEntityType() ConsentTypeSave { + if x != nil { + return x.EntityType + } + return ConsentTypeSave_CONSENT_TYPE_SAVE_UNSPECIFIED +} + +func (x *ConsentSave) GetState() ConsentStateSave { + if x != nil { + return x.State + } + return ConsentStateSave_CONSENT_STATE_SAVE_UNSPECIFIED +} + +func (x *ConsentSave) GetEntity() string { + if x != nil { + return x.Entity + } + return "" +} + +func (x *ConsentSave) GetConsentedAtNs() int64 { + if x != nil { + return x.ConsentedAtNs + } + return 0 +} + +var File_device_sync_consent_backup_proto protoreflect.FileDescriptor + +const file_device_sync_consent_backup_proto_rawDesc = "" + + "\n" + + " device_sync/consent_backup.proto\x12\x1fxmtp.device_sync.consent_backup\"\xe9\x01\n" + + "\vConsentSave\x12Q\n" + + "\ventity_type\x18\x01 \x01(\x0e20.xmtp.device_sync.consent_backup.ConsentTypeSaveR\n" + + "entityType\x12G\n" + + "\x05state\x18\x02 \x01(\x0e21.xmtp.device_sync.consent_backup.ConsentStateSaveR\x05state\x12\x16\n" + + "\x06entity\x18\x03 \x01(\tR\x06entity\x12&\n" + + "\x0fconsented_at_ns\x18\x04 \x01(\x03R\rconsentedAtNs*\x9e\x01\n" + + "\x0fConsentTypeSave\x12!\n" + + "\x1dCONSENT_TYPE_SAVE_UNSPECIFIED\x10\x00\x12%\n" + + "!CONSENT_TYPE_SAVE_CONVERSATION_ID\x10\x01\x12\x1e\n" + + "\x1aCONSENT_TYPE_SAVE_INBOX_ID\x10\x02\x12!\n" + + "\x19CONSENT_TYPE_SAVE_ADDRESS\x10\x03\x1a\x02\b\x01*\x95\x01\n" + + "\x10ConsentStateSave\x12\"\n" + + "\x1eCONSENT_STATE_SAVE_UNSPECIFIED\x10\x00\x12\x1e\n" + + "\x1aCONSENT_STATE_SAVE_UNKNOWN\x10\x01\x12\x1e\n" + + "\x1aCONSENT_STATE_SAVE_ALLOWED\x10\x02\x12\x1d\n" + + "\x19CONSENT_STATE_SAVE_DENIED\x10\x03B\xaf\x02\n" + + "=org.xmtp.android.library.push.xmtp.device_sync.consent_backupB\x12ConsentBackupProtoP\x01ZDgithub.com/xmtp/example-notification-server-go/pkg/proto/device_sync\xa2\x02\x03XDC\xaa\x02\x1dXmtp.DeviceSync.ConsentBackup\xca\x02\x1dXmtp\\DeviceSync\\ConsentBackup\xe2\x02)Xmtp\\DeviceSync\\ConsentBackup\\GPBMetadata\xea\x02\x1fXmtp::DeviceSync::ConsentBackupb\x06proto3" + +var ( + file_device_sync_consent_backup_proto_rawDescOnce sync.Once + file_device_sync_consent_backup_proto_rawDescData []byte +) + +func file_device_sync_consent_backup_proto_rawDescGZIP() []byte { + file_device_sync_consent_backup_proto_rawDescOnce.Do(func() { + file_device_sync_consent_backup_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_device_sync_consent_backup_proto_rawDesc), len(file_device_sync_consent_backup_proto_rawDesc))) + }) + return file_device_sync_consent_backup_proto_rawDescData +} + +var file_device_sync_consent_backup_proto_enumTypes = make([]protoimpl.EnumInfo, 2) +var file_device_sync_consent_backup_proto_msgTypes = make([]protoimpl.MessageInfo, 1) +var file_device_sync_consent_backup_proto_goTypes = []any{ + (ConsentTypeSave)(0), // 0: xmtp.device_sync.consent_backup.ConsentTypeSave + (ConsentStateSave)(0), // 1: xmtp.device_sync.consent_backup.ConsentStateSave + (*ConsentSave)(nil), // 2: xmtp.device_sync.consent_backup.ConsentSave +} +var file_device_sync_consent_backup_proto_depIdxs = []int32{ + 0, // 0: xmtp.device_sync.consent_backup.ConsentSave.entity_type:type_name -> xmtp.device_sync.consent_backup.ConsentTypeSave + 1, // 1: xmtp.device_sync.consent_backup.ConsentSave.state:type_name -> xmtp.device_sync.consent_backup.ConsentStateSave + 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_device_sync_consent_backup_proto_init() } +func file_device_sync_consent_backup_proto_init() { + if File_device_sync_consent_backup_proto != nil { + return + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: unsafe.Slice(unsafe.StringData(file_device_sync_consent_backup_proto_rawDesc), len(file_device_sync_consent_backup_proto_rawDesc)), + NumEnums: 2, + NumMessages: 1, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_device_sync_consent_backup_proto_goTypes, + DependencyIndexes: file_device_sync_consent_backup_proto_depIdxs, + EnumInfos: file_device_sync_consent_backup_proto_enumTypes, + MessageInfos: file_device_sync_consent_backup_proto_msgTypes, + }.Build() + File_device_sync_consent_backup_proto = out.File + file_device_sync_consent_backup_proto_goTypes = nil + file_device_sync_consent_backup_proto_depIdxs = nil +} diff --git a/pkg/proto/device_sync/content.pb.go b/pkg/proto/device_sync/content.pb.go new file mode 100644 index 0000000..f0e1fcb --- /dev/null +++ b/pkg/proto/device_sync/content.pb.go @@ -0,0 +1,779 @@ +// Sync group messages + +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.36.10 +// protoc (unknown) +// source: device_sync/content.proto + +package device_sync + +import ( + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + reflect "reflect" + sync "sync" + unsafe "unsafe" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// All potential device sync group messages +type DeviceSyncContent struct { + state protoimpl.MessageState `protogen:"open.v1"` + // Types that are valid to be assigned to Content: + // + // *DeviceSyncContent_Request + // *DeviceSyncContent_Acknowledge + // *DeviceSyncContent_Reply + // *DeviceSyncContent_PreferenceUpdates + Content isDeviceSyncContent_Content `protobuf_oneof:"content"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *DeviceSyncContent) Reset() { + *x = DeviceSyncContent{} + mi := &file_device_sync_content_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *DeviceSyncContent) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DeviceSyncContent) ProtoMessage() {} + +func (x *DeviceSyncContent) ProtoReflect() protoreflect.Message { + mi := &file_device_sync_content_proto_msgTypes[0] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DeviceSyncContent.ProtoReflect.Descriptor instead. +func (*DeviceSyncContent) Descriptor() ([]byte, []int) { + return file_device_sync_content_proto_rawDescGZIP(), []int{0} +} + +func (x *DeviceSyncContent) GetContent() isDeviceSyncContent_Content { + if x != nil { + return x.Content + } + return nil +} + +func (x *DeviceSyncContent) GetRequest() *DeviceSyncRequest { + if x != nil { + if x, ok := x.Content.(*DeviceSyncContent_Request); ok { + return x.Request + } + } + return nil +} + +func (x *DeviceSyncContent) GetAcknowledge() *DeviceSyncAcknowledge { + if x != nil { + if x, ok := x.Content.(*DeviceSyncContent_Acknowledge); ok { + return x.Acknowledge + } + } + return nil +} + +func (x *DeviceSyncContent) GetReply() *DeviceSyncReply { + if x != nil { + if x, ok := x.Content.(*DeviceSyncContent_Reply); ok { + return x.Reply + } + } + return nil +} + +func (x *DeviceSyncContent) GetPreferenceUpdates() *PreferenceUpdates { + if x != nil { + if x, ok := x.Content.(*DeviceSyncContent_PreferenceUpdates); ok { + return x.PreferenceUpdates + } + } + return nil +} + +type isDeviceSyncContent_Content interface { + isDeviceSyncContent_Content() +} + +type DeviceSyncContent_Request struct { + Request *DeviceSyncRequest `protobuf:"bytes,1,opt,name=request,proto3,oneof"` +} + +type DeviceSyncContent_Acknowledge struct { + Acknowledge *DeviceSyncAcknowledge `protobuf:"bytes,2,opt,name=acknowledge,proto3,oneof"` +} + +type DeviceSyncContent_Reply struct { + Reply *DeviceSyncReply `protobuf:"bytes,3,opt,name=reply,proto3,oneof"` +} + +type DeviceSyncContent_PreferenceUpdates struct { + PreferenceUpdates *PreferenceUpdates `protobuf:"bytes,4,opt,name=preference_updates,json=preferenceUpdates,proto3,oneof"` +} + +func (*DeviceSyncContent_Request) isDeviceSyncContent_Content() {} + +func (*DeviceSyncContent_Acknowledge) isDeviceSyncContent_Content() {} + +func (*DeviceSyncContent_Reply) isDeviceSyncContent_Content() {} + +func (*DeviceSyncContent_PreferenceUpdates) isDeviceSyncContent_Content() {} + +// Acknowledges a request +type DeviceSyncAcknowledge struct { + state protoimpl.MessageState `protogen:"open.v1"` + RequestId string `protobuf:"bytes,1,opt,name=request_id,json=requestId,proto3" json:"request_id,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *DeviceSyncAcknowledge) Reset() { + *x = DeviceSyncAcknowledge{} + mi := &file_device_sync_content_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *DeviceSyncAcknowledge) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DeviceSyncAcknowledge) ProtoMessage() {} + +func (x *DeviceSyncAcknowledge) ProtoReflect() protoreflect.Message { + mi := &file_device_sync_content_proto_msgTypes[1] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DeviceSyncAcknowledge.ProtoReflect.Descriptor instead. +func (*DeviceSyncAcknowledge) Descriptor() ([]byte, []int) { + return file_device_sync_content_proto_rawDescGZIP(), []int{1} +} + +func (x *DeviceSyncAcknowledge) GetRequestId() string { + if x != nil { + return x.RequestId + } + return "" +} + +// Preference updates +type PreferenceUpdates struct { + state protoimpl.MessageState `protogen:"open.v1"` + Updates []*PreferenceUpdate `protobuf:"bytes,1,rep,name=updates,proto3" json:"updates,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *PreferenceUpdates) Reset() { + *x = PreferenceUpdates{} + mi := &file_device_sync_content_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *PreferenceUpdates) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PreferenceUpdates) ProtoMessage() {} + +func (x *PreferenceUpdates) ProtoReflect() protoreflect.Message { + mi := &file_device_sync_content_proto_msgTypes[2] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use PreferenceUpdates.ProtoReflect.Descriptor instead. +func (*PreferenceUpdates) Descriptor() ([]byte, []int) { + return file_device_sync_content_proto_rawDescGZIP(), []int{2} +} + +func (x *PreferenceUpdates) GetUpdates() []*PreferenceUpdate { + if x != nil { + return x.Updates + } + return nil +} + +// Preference update +type PreferenceUpdate struct { + state protoimpl.MessageState `protogen:"open.v1"` + // Types that are valid to be assigned to Update: + // + // *PreferenceUpdate_Consent + // *PreferenceUpdate_Hmac + Update isPreferenceUpdate_Update `protobuf_oneof:"update"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *PreferenceUpdate) Reset() { + *x = PreferenceUpdate{} + mi := &file_device_sync_content_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *PreferenceUpdate) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PreferenceUpdate) ProtoMessage() {} + +func (x *PreferenceUpdate) ProtoReflect() protoreflect.Message { + mi := &file_device_sync_content_proto_msgTypes[3] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use PreferenceUpdate.ProtoReflect.Descriptor instead. +func (*PreferenceUpdate) Descriptor() ([]byte, []int) { + return file_device_sync_content_proto_rawDescGZIP(), []int{3} +} + +func (x *PreferenceUpdate) GetUpdate() isPreferenceUpdate_Update { + if x != nil { + return x.Update + } + return nil +} + +func (x *PreferenceUpdate) GetConsent() *ConsentSave { + if x != nil { + if x, ok := x.Update.(*PreferenceUpdate_Consent); ok { + return x.Consent + } + } + return nil +} + +func (x *PreferenceUpdate) GetHmac() *HmacKeyUpdate { + if x != nil { + if x, ok := x.Update.(*PreferenceUpdate_Hmac); ok { + return x.Hmac + } + } + return nil +} + +type isPreferenceUpdate_Update interface { + isPreferenceUpdate_Update() +} + +type PreferenceUpdate_Consent struct { + Consent *ConsentSave `protobuf:"bytes,1,opt,name=consent,proto3,oneof"` +} + +type PreferenceUpdate_Hmac struct { + Hmac *HmacKeyUpdate `protobuf:"bytes,2,opt,name=hmac,proto3,oneof"` +} + +func (*PreferenceUpdate_Consent) isPreferenceUpdate_Update() {} + +func (*PreferenceUpdate_Hmac) isPreferenceUpdate_Update() {} + +type V1UserPreferenceUpdate struct { + state protoimpl.MessageState `protogen:"open.v1"` + Contents [][]byte `protobuf:"bytes,1,rep,name=contents,proto3" json:"contents,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *V1UserPreferenceUpdate) Reset() { + *x = V1UserPreferenceUpdate{} + mi := &file_device_sync_content_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *V1UserPreferenceUpdate) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*V1UserPreferenceUpdate) ProtoMessage() {} + +func (x *V1UserPreferenceUpdate) ProtoReflect() protoreflect.Message { + mi := &file_device_sync_content_proto_msgTypes[4] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use V1UserPreferenceUpdate.ProtoReflect.Descriptor instead. +func (*V1UserPreferenceUpdate) Descriptor() ([]byte, []int) { + return file_device_sync_content_proto_rawDescGZIP(), []int{4} +} + +func (x *V1UserPreferenceUpdate) GetContents() [][]byte { + if x != nil { + return x.Contents + } + return nil +} + +// Hmac key update +type HmacKeyUpdate struct { + state protoimpl.MessageState `protogen:"open.v1"` + Key []byte `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"` + CycledAtNs int64 `protobuf:"varint,2,opt,name=cycled_at_ns,json=cycledAtNs,proto3" json:"cycled_at_ns,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *HmacKeyUpdate) Reset() { + *x = HmacKeyUpdate{} + mi := &file_device_sync_content_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *HmacKeyUpdate) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*HmacKeyUpdate) ProtoMessage() {} + +func (x *HmacKeyUpdate) ProtoReflect() protoreflect.Message { + mi := &file_device_sync_content_proto_msgTypes[5] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use HmacKeyUpdate.ProtoReflect.Descriptor instead. +func (*HmacKeyUpdate) Descriptor() ([]byte, []int) { + return file_device_sync_content_proto_rawDescGZIP(), []int{5} +} + +func (x *HmacKeyUpdate) GetKey() []byte { + if x != nil { + return x.Key + } + return nil +} + +func (x *HmacKeyUpdate) GetCycledAtNs() int64 { + if x != nil { + return x.CycledAtNs + } + return 0 +} + +// Initiator or new installation id requesting a sync payload send a request +type DeviceSyncRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + // Unique identifier for each request + RequestId string `protobuf:"bytes,1,opt,name=request_id,json=requestId,proto3" json:"request_id,omitempty"` + // Deprecated: Marked as deprecated in device_sync/content.proto. + PinCode string `protobuf:"bytes,2,opt,name=pin_code,json=pinCode,proto3" json:"pin_code,omitempty"` + // Deprecated: Marked as deprecated in device_sync/content.proto. + Kind BackupElementSelection `protobuf:"varint,3,opt,name=kind,proto3,enum=xmtp.device_sync.BackupElementSelection" json:"kind,omitempty"` + Options *BackupOptions `protobuf:"bytes,4,opt,name=options,proto3" json:"options,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *DeviceSyncRequest) Reset() { + *x = DeviceSyncRequest{} + mi := &file_device_sync_content_proto_msgTypes[6] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *DeviceSyncRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DeviceSyncRequest) ProtoMessage() {} + +func (x *DeviceSyncRequest) ProtoReflect() protoreflect.Message { + mi := &file_device_sync_content_proto_msgTypes[6] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DeviceSyncRequest.ProtoReflect.Descriptor instead. +func (*DeviceSyncRequest) Descriptor() ([]byte, []int) { + return file_device_sync_content_proto_rawDescGZIP(), []int{6} +} + +func (x *DeviceSyncRequest) GetRequestId() string { + if x != nil { + return x.RequestId + } + return "" +} + +// Deprecated: Marked as deprecated in device_sync/content.proto. +func (x *DeviceSyncRequest) GetPinCode() string { + if x != nil { + return x.PinCode + } + return "" +} + +// Deprecated: Marked as deprecated in device_sync/content.proto. +func (x *DeviceSyncRequest) GetKind() BackupElementSelection { + if x != nil { + return x.Kind + } + return BackupElementSelection_BACKUP_ELEMENT_SELECTION_UNSPECIFIED +} + +func (x *DeviceSyncRequest) GetOptions() *BackupOptions { + if x != nil { + return x.Options + } + return nil +} + +// Pre-existing installation id capable of supplying a sync payload sends this reply +type DeviceSyncReply struct { + state protoimpl.MessageState `protogen:"open.v1"` + // Must match an existing request_id from a message history request + RequestId string `protobuf:"bytes,1,opt,name=request_id,json=requestId,proto3" json:"request_id,omitempty"` + // Where the messages can be retrieved from + Url string `protobuf:"bytes,2,opt,name=url,proto3" json:"url,omitempty"` + // Encryption key + EncryptionKey *DeviceSyncKeyType `protobuf:"bytes,3,opt,name=encryption_key,json=encryptionKey,proto3" json:"encryption_key,omitempty"` + // ns unix timestamp of when the reply was sent + // + // Deprecated: Marked as deprecated in device_sync/content.proto. + TimestampNs uint64 `protobuf:"varint,4,opt,name=timestamp_ns,json=timestampNs,proto3" json:"timestamp_ns,omitempty"` + // request kind + // + // Deprecated: Marked as deprecated in device_sync/content.proto. + Kind BackupElementSelection `protobuf:"varint,5,opt,name=kind,proto3,enum=xmtp.device_sync.BackupElementSelection" json:"kind,omitempty"` + // Metadata about the backup + Metadata *BackupMetadataSave `protobuf:"bytes,6,opt,name=metadata,proto3" json:"metadata,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *DeviceSyncReply) Reset() { + *x = DeviceSyncReply{} + mi := &file_device_sync_content_proto_msgTypes[7] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *DeviceSyncReply) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DeviceSyncReply) ProtoMessage() {} + +func (x *DeviceSyncReply) ProtoReflect() protoreflect.Message { + mi := &file_device_sync_content_proto_msgTypes[7] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DeviceSyncReply.ProtoReflect.Descriptor instead. +func (*DeviceSyncReply) Descriptor() ([]byte, []int) { + return file_device_sync_content_proto_rawDescGZIP(), []int{7} +} + +func (x *DeviceSyncReply) GetRequestId() string { + if x != nil { + return x.RequestId + } + return "" +} + +func (x *DeviceSyncReply) GetUrl() string { + if x != nil { + return x.Url + } + return "" +} + +func (x *DeviceSyncReply) GetEncryptionKey() *DeviceSyncKeyType { + if x != nil { + return x.EncryptionKey + } + return nil +} + +// Deprecated: Marked as deprecated in device_sync/content.proto. +func (x *DeviceSyncReply) GetTimestampNs() uint64 { + if x != nil { + return x.TimestampNs + } + return 0 +} + +// Deprecated: Marked as deprecated in device_sync/content.proto. +func (x *DeviceSyncReply) GetKind() BackupElementSelection { + if x != nil { + return x.Kind + } + return BackupElementSelection_BACKUP_ELEMENT_SELECTION_UNSPECIFIED +} + +func (x *DeviceSyncReply) GetMetadata() *BackupMetadataSave { + if x != nil { + return x.Metadata + } + return nil +} + +// Key used to encrypt the message-bundle +type DeviceSyncKeyType struct { + state protoimpl.MessageState `protogen:"open.v1"` + // Types that are valid to be assigned to Key: + // + // *DeviceSyncKeyType_Aes_256Gcm + Key isDeviceSyncKeyType_Key `protobuf_oneof:"key"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *DeviceSyncKeyType) Reset() { + *x = DeviceSyncKeyType{} + mi := &file_device_sync_content_proto_msgTypes[8] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *DeviceSyncKeyType) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DeviceSyncKeyType) ProtoMessage() {} + +func (x *DeviceSyncKeyType) ProtoReflect() protoreflect.Message { + mi := &file_device_sync_content_proto_msgTypes[8] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DeviceSyncKeyType.ProtoReflect.Descriptor instead. +func (*DeviceSyncKeyType) Descriptor() ([]byte, []int) { + return file_device_sync_content_proto_rawDescGZIP(), []int{8} +} + +func (x *DeviceSyncKeyType) GetKey() isDeviceSyncKeyType_Key { + if x != nil { + return x.Key + } + return nil +} + +func (x *DeviceSyncKeyType) GetAes_256Gcm() []byte { + if x != nil { + if x, ok := x.Key.(*DeviceSyncKeyType_Aes_256Gcm); ok { + return x.Aes_256Gcm + } + } + return nil +} + +type isDeviceSyncKeyType_Key interface { + isDeviceSyncKeyType_Key() +} + +type DeviceSyncKeyType_Aes_256Gcm struct { + Aes_256Gcm []byte `protobuf:"bytes,1,opt,name=aes_256_gcm,json=aes256Gcm,proto3,oneof"` +} + +func (*DeviceSyncKeyType_Aes_256Gcm) isDeviceSyncKeyType_Key() {} + +var File_device_sync_content_proto protoreflect.FileDescriptor + +const file_device_sync_content_proto_rawDesc = "" + + "\n" + + "\x19device_sync/content.proto\x12\x18xmtp.device_sync.content\x1a device_sync/consent_backup.proto\x1a\x1ddevice_sync/device_sync.proto\"\xdd\x02\n" + + "\x11DeviceSyncContent\x12G\n" + + "\arequest\x18\x01 \x01(\v2+.xmtp.device_sync.content.DeviceSyncRequestH\x00R\arequest\x12S\n" + + "\vacknowledge\x18\x02 \x01(\v2/.xmtp.device_sync.content.DeviceSyncAcknowledgeH\x00R\vacknowledge\x12A\n" + + "\x05reply\x18\x03 \x01(\v2).xmtp.device_sync.content.DeviceSyncReplyH\x00R\x05reply\x12\\\n" + + "\x12preference_updates\x18\x04 \x01(\v2+.xmtp.device_sync.content.PreferenceUpdatesH\x00R\x11preferenceUpdatesB\t\n" + + "\acontent\"6\n" + + "\x15DeviceSyncAcknowledge\x12\x1d\n" + + "\n" + + "request_id\x18\x01 \x01(\tR\trequestId\"Y\n" + + "\x11PreferenceUpdates\x12D\n" + + "\aupdates\x18\x01 \x03(\v2*.xmtp.device_sync.content.PreferenceUpdateR\aupdates\"\xa5\x01\n" + + "\x10PreferenceUpdate\x12H\n" + + "\aconsent\x18\x01 \x01(\v2,.xmtp.device_sync.consent_backup.ConsentSaveH\x00R\aconsent\x12=\n" + + "\x04hmac\x18\x02 \x01(\v2'.xmtp.device_sync.content.HmacKeyUpdateH\x00R\x04hmacB\b\n" + + "\x06update\"4\n" + + "\x16V1UserPreferenceUpdate\x12\x1a\n" + + "\bcontents\x18\x01 \x03(\fR\bcontents\"C\n" + + "\rHmacKeyUpdate\x12\x10\n" + + "\x03key\x18\x01 \x01(\fR\x03key\x12 \n" + + "\fcycled_at_ns\x18\x02 \x01(\x03R\n" + + "cycledAtNs\"\xce\x01\n" + + "\x11DeviceSyncRequest\x12\x1d\n" + + "\n" + + "request_id\x18\x01 \x01(\tR\trequestId\x12\x1d\n" + + "\bpin_code\x18\x02 \x01(\tB\x02\x18\x01R\apinCode\x12@\n" + + "\x04kind\x18\x03 \x01(\x0e2(.xmtp.device_sync.BackupElementSelectionB\x02\x18\x01R\x04kind\x129\n" + + "\aoptions\x18\x04 \x01(\v2\x1f.xmtp.device_sync.BackupOptionsR\aoptions\"\xc1\x02\n" + + "\x0fDeviceSyncReply\x12\x1d\n" + + "\n" + + "request_id\x18\x01 \x01(\tR\trequestId\x12\x10\n" + + "\x03url\x18\x02 \x01(\tR\x03url\x12R\n" + + "\x0eencryption_key\x18\x03 \x01(\v2+.xmtp.device_sync.content.DeviceSyncKeyTypeR\rencryptionKey\x12%\n" + + "\ftimestamp_ns\x18\x04 \x01(\x04B\x02\x18\x01R\vtimestampNs\x12@\n" + + "\x04kind\x18\x05 \x01(\x0e2(.xmtp.device_sync.BackupElementSelectionB\x02\x18\x01R\x04kind\x12@\n" + + "\bmetadata\x18\x06 \x01(\v2$.xmtp.device_sync.BackupMetadataSaveR\bmetadata\"<\n" + + "\x11DeviceSyncKeyType\x12 \n" + + "\vaes_256_gcm\x18\x01 \x01(\fH\x00R\taes256GcmB\x05\n" + + "\x03keyB\x8a\x02\n" + + "6org.xmtp.android.library.push.xmtp.device_sync.contentB\fContentProtoP\x01ZDgithub.com/xmtp/example-notification-server-go/pkg/proto/device_sync\xa2\x02\x03XDC\xaa\x02\x17Xmtp.DeviceSync.Content\xca\x02\x17Xmtp\\DeviceSync\\Content\xe2\x02#Xmtp\\DeviceSync\\Content\\GPBMetadata\xea\x02\x19Xmtp::DeviceSync::Contentb\x06proto3" + +var ( + file_device_sync_content_proto_rawDescOnce sync.Once + file_device_sync_content_proto_rawDescData []byte +) + +func file_device_sync_content_proto_rawDescGZIP() []byte { + file_device_sync_content_proto_rawDescOnce.Do(func() { + file_device_sync_content_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_device_sync_content_proto_rawDesc), len(file_device_sync_content_proto_rawDesc))) + }) + return file_device_sync_content_proto_rawDescData +} + +var file_device_sync_content_proto_msgTypes = make([]protoimpl.MessageInfo, 9) +var file_device_sync_content_proto_goTypes = []any{ + (*DeviceSyncContent)(nil), // 0: xmtp.device_sync.content.DeviceSyncContent + (*DeviceSyncAcknowledge)(nil), // 1: xmtp.device_sync.content.DeviceSyncAcknowledge + (*PreferenceUpdates)(nil), // 2: xmtp.device_sync.content.PreferenceUpdates + (*PreferenceUpdate)(nil), // 3: xmtp.device_sync.content.PreferenceUpdate + (*V1UserPreferenceUpdate)(nil), // 4: xmtp.device_sync.content.V1UserPreferenceUpdate + (*HmacKeyUpdate)(nil), // 5: xmtp.device_sync.content.HmacKeyUpdate + (*DeviceSyncRequest)(nil), // 6: xmtp.device_sync.content.DeviceSyncRequest + (*DeviceSyncReply)(nil), // 7: xmtp.device_sync.content.DeviceSyncReply + (*DeviceSyncKeyType)(nil), // 8: xmtp.device_sync.content.DeviceSyncKeyType + (*ConsentSave)(nil), // 9: xmtp.device_sync.consent_backup.ConsentSave + (BackupElementSelection)(0), // 10: xmtp.device_sync.BackupElementSelection + (*BackupOptions)(nil), // 11: xmtp.device_sync.BackupOptions + (*BackupMetadataSave)(nil), // 12: xmtp.device_sync.BackupMetadataSave +} +var file_device_sync_content_proto_depIdxs = []int32{ + 6, // 0: xmtp.device_sync.content.DeviceSyncContent.request:type_name -> xmtp.device_sync.content.DeviceSyncRequest + 1, // 1: xmtp.device_sync.content.DeviceSyncContent.acknowledge:type_name -> xmtp.device_sync.content.DeviceSyncAcknowledge + 7, // 2: xmtp.device_sync.content.DeviceSyncContent.reply:type_name -> xmtp.device_sync.content.DeviceSyncReply + 2, // 3: xmtp.device_sync.content.DeviceSyncContent.preference_updates:type_name -> xmtp.device_sync.content.PreferenceUpdates + 3, // 4: xmtp.device_sync.content.PreferenceUpdates.updates:type_name -> xmtp.device_sync.content.PreferenceUpdate + 9, // 5: xmtp.device_sync.content.PreferenceUpdate.consent:type_name -> xmtp.device_sync.consent_backup.ConsentSave + 5, // 6: xmtp.device_sync.content.PreferenceUpdate.hmac:type_name -> xmtp.device_sync.content.HmacKeyUpdate + 10, // 7: xmtp.device_sync.content.DeviceSyncRequest.kind:type_name -> xmtp.device_sync.BackupElementSelection + 11, // 8: xmtp.device_sync.content.DeviceSyncRequest.options:type_name -> xmtp.device_sync.BackupOptions + 8, // 9: xmtp.device_sync.content.DeviceSyncReply.encryption_key:type_name -> xmtp.device_sync.content.DeviceSyncKeyType + 10, // 10: xmtp.device_sync.content.DeviceSyncReply.kind:type_name -> xmtp.device_sync.BackupElementSelection + 12, // 11: xmtp.device_sync.content.DeviceSyncReply.metadata:type_name -> xmtp.device_sync.BackupMetadataSave + 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_device_sync_content_proto_init() } +func file_device_sync_content_proto_init() { + if File_device_sync_content_proto != nil { + return + } + file_device_sync_consent_backup_proto_init() + file_device_sync_device_sync_proto_init() + file_device_sync_content_proto_msgTypes[0].OneofWrappers = []any{ + (*DeviceSyncContent_Request)(nil), + (*DeviceSyncContent_Acknowledge)(nil), + (*DeviceSyncContent_Reply)(nil), + (*DeviceSyncContent_PreferenceUpdates)(nil), + } + file_device_sync_content_proto_msgTypes[3].OneofWrappers = []any{ + (*PreferenceUpdate_Consent)(nil), + (*PreferenceUpdate_Hmac)(nil), + } + file_device_sync_content_proto_msgTypes[8].OneofWrappers = []any{ + (*DeviceSyncKeyType_Aes_256Gcm)(nil), + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: unsafe.Slice(unsafe.StringData(file_device_sync_content_proto_rawDesc), len(file_device_sync_content_proto_rawDesc)), + NumEnums: 0, + NumMessages: 9, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_device_sync_content_proto_goTypes, + DependencyIndexes: file_device_sync_content_proto_depIdxs, + MessageInfos: file_device_sync_content_proto_msgTypes, + }.Build() + File_device_sync_content_proto = out.File + file_device_sync_content_proto_goTypes = nil + file_device_sync_content_proto_depIdxs = nil +} diff --git a/pkg/proto/device_sync/device_sync.pb.go b/pkg/proto/device_sync/device_sync.pb.go new file mode 100644 index 0000000..2b8a559 --- /dev/null +++ b/pkg/proto/device_sync/device_sync.pb.go @@ -0,0 +1,448 @@ +// Definitions for backups + +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.36.10 +// protoc (unknown) +// source: device_sync/device_sync.proto + +package device_sync + +import ( + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + reflect "reflect" + sync "sync" + unsafe "unsafe" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// Elements selected for backup +type BackupElementSelection int32 + +const ( + BackupElementSelection_BACKUP_ELEMENT_SELECTION_UNSPECIFIED BackupElementSelection = 0 + BackupElementSelection_BACKUP_ELEMENT_SELECTION_MESSAGES BackupElementSelection = 1 + BackupElementSelection_BACKUP_ELEMENT_SELECTION_CONSENT BackupElementSelection = 2 + BackupElementSelection_BACKUP_ELEMENT_SELECTION_EVENT BackupElementSelection = 3 +) + +// Enum value maps for BackupElementSelection. +var ( + BackupElementSelection_name = map[int32]string{ + 0: "BACKUP_ELEMENT_SELECTION_UNSPECIFIED", + 1: "BACKUP_ELEMENT_SELECTION_MESSAGES", + 2: "BACKUP_ELEMENT_SELECTION_CONSENT", + 3: "BACKUP_ELEMENT_SELECTION_EVENT", + } + BackupElementSelection_value = map[string]int32{ + "BACKUP_ELEMENT_SELECTION_UNSPECIFIED": 0, + "BACKUP_ELEMENT_SELECTION_MESSAGES": 1, + "BACKUP_ELEMENT_SELECTION_CONSENT": 2, + "BACKUP_ELEMENT_SELECTION_EVENT": 3, + } +) + +func (x BackupElementSelection) Enum() *BackupElementSelection { + p := new(BackupElementSelection) + *p = x + return p +} + +func (x BackupElementSelection) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (BackupElementSelection) Descriptor() protoreflect.EnumDescriptor { + return file_device_sync_device_sync_proto_enumTypes[0].Descriptor() +} + +func (BackupElementSelection) Type() protoreflect.EnumType { + return &file_device_sync_device_sync_proto_enumTypes[0] +} + +func (x BackupElementSelection) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use BackupElementSelection.Descriptor instead. +func (BackupElementSelection) EnumDescriptor() ([]byte, []int) { + return file_device_sync_device_sync_proto_rawDescGZIP(), []int{0} +} + +// Union type representing everything that can be serialied and saved in a backup archive. +type BackupElement struct { + state protoimpl.MessageState `protogen:"open.v1"` + // Types that are valid to be assigned to Element: + // + // *BackupElement_Metadata + // *BackupElement_Group + // *BackupElement_GroupMessage + // *BackupElement_Consent + // *BackupElement_Event + Element isBackupElement_Element `protobuf_oneof:"element"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *BackupElement) Reset() { + *x = BackupElement{} + mi := &file_device_sync_device_sync_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *BackupElement) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*BackupElement) ProtoMessage() {} + +func (x *BackupElement) ProtoReflect() protoreflect.Message { + mi := &file_device_sync_device_sync_proto_msgTypes[0] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use BackupElement.ProtoReflect.Descriptor instead. +func (*BackupElement) Descriptor() ([]byte, []int) { + return file_device_sync_device_sync_proto_rawDescGZIP(), []int{0} +} + +func (x *BackupElement) GetElement() isBackupElement_Element { + if x != nil { + return x.Element + } + return nil +} + +func (x *BackupElement) GetMetadata() *BackupMetadataSave { + if x != nil { + if x, ok := x.Element.(*BackupElement_Metadata); ok { + return x.Metadata + } + } + return nil +} + +func (x *BackupElement) GetGroup() *GroupSave { + if x != nil { + if x, ok := x.Element.(*BackupElement_Group); ok { + return x.Group + } + } + return nil +} + +func (x *BackupElement) GetGroupMessage() *GroupMessageSave { + if x != nil { + if x, ok := x.Element.(*BackupElement_GroupMessage); ok { + return x.GroupMessage + } + } + return nil +} + +func (x *BackupElement) GetConsent() *ConsentSave { + if x != nil { + if x, ok := x.Element.(*BackupElement_Consent); ok { + return x.Consent + } + } + return nil +} + +func (x *BackupElement) GetEvent() *EventSave { + if x != nil { + if x, ok := x.Element.(*BackupElement_Event); ok { + return x.Event + } + } + return nil +} + +type isBackupElement_Element interface { + isBackupElement_Element() +} + +type BackupElement_Metadata struct { + Metadata *BackupMetadataSave `protobuf:"bytes,1,opt,name=metadata,proto3,oneof"` +} + +type BackupElement_Group struct { + Group *GroupSave `protobuf:"bytes,2,opt,name=group,proto3,oneof"` +} + +type BackupElement_GroupMessage struct { + GroupMessage *GroupMessageSave `protobuf:"bytes,3,opt,name=group_message,json=groupMessage,proto3,oneof"` +} + +type BackupElement_Consent struct { + Consent *ConsentSave `protobuf:"bytes,4,opt,name=consent,proto3,oneof"` +} + +type BackupElement_Event struct { + Event *EventSave `protobuf:"bytes,5,opt,name=event,proto3,oneof"` +} + +func (*BackupElement_Metadata) isBackupElement_Element() {} + +func (*BackupElement_Group) isBackupElement_Element() {} + +func (*BackupElement_GroupMessage) isBackupElement_Element() {} + +func (*BackupElement_Consent) isBackupElement_Element() {} + +func (*BackupElement_Event) isBackupElement_Element() {} + +// Proto representation of backup metadata +// (Backup version is explicitly missing - it's stored as a header.) +type BackupMetadataSave struct { + state protoimpl.MessageState `protogen:"open.v1"` + Elements []BackupElementSelection `protobuf:"varint,2,rep,packed,name=elements,proto3,enum=xmtp.device_sync.BackupElementSelection" json:"elements,omitempty"` + ExportedAtNs int64 `protobuf:"varint,3,opt,name=exported_at_ns,json=exportedAtNs,proto3" json:"exported_at_ns,omitempty"` + StartNs *int64 `protobuf:"varint,4,opt,name=start_ns,json=startNs,proto3,oneof" json:"start_ns,omitempty"` + EndNs *int64 `protobuf:"varint,5,opt,name=end_ns,json=endNs,proto3,oneof" json:"end_ns,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *BackupMetadataSave) Reset() { + *x = BackupMetadataSave{} + mi := &file_device_sync_device_sync_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *BackupMetadataSave) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*BackupMetadataSave) ProtoMessage() {} + +func (x *BackupMetadataSave) ProtoReflect() protoreflect.Message { + mi := &file_device_sync_device_sync_proto_msgTypes[1] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use BackupMetadataSave.ProtoReflect.Descriptor instead. +func (*BackupMetadataSave) Descriptor() ([]byte, []int) { + return file_device_sync_device_sync_proto_rawDescGZIP(), []int{1} +} + +func (x *BackupMetadataSave) GetElements() []BackupElementSelection { + if x != nil { + return x.Elements + } + return nil +} + +func (x *BackupMetadataSave) GetExportedAtNs() int64 { + if x != nil { + return x.ExportedAtNs + } + return 0 +} + +func (x *BackupMetadataSave) GetStartNs() int64 { + if x != nil && x.StartNs != nil { + return *x.StartNs + } + return 0 +} + +func (x *BackupMetadataSave) GetEndNs() int64 { + if x != nil && x.EndNs != nil { + return *x.EndNs + } + return 0 +} + +// Backup Options +type BackupOptions struct { + state protoimpl.MessageState `protogen:"open.v1"` + Elements []BackupElementSelection `protobuf:"varint,1,rep,packed,name=elements,proto3,enum=xmtp.device_sync.BackupElementSelection" json:"elements,omitempty"` + StartNs *int64 `protobuf:"varint,2,opt,name=start_ns,json=startNs,proto3,oneof" json:"start_ns,omitempty"` + EndNs *int64 `protobuf:"varint,3,opt,name=end_ns,json=endNs,proto3,oneof" json:"end_ns,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *BackupOptions) Reset() { + *x = BackupOptions{} + mi := &file_device_sync_device_sync_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *BackupOptions) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*BackupOptions) ProtoMessage() {} + +func (x *BackupOptions) ProtoReflect() protoreflect.Message { + mi := &file_device_sync_device_sync_proto_msgTypes[2] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use BackupOptions.ProtoReflect.Descriptor instead. +func (*BackupOptions) Descriptor() ([]byte, []int) { + return file_device_sync_device_sync_proto_rawDescGZIP(), []int{2} +} + +func (x *BackupOptions) GetElements() []BackupElementSelection { + if x != nil { + return x.Elements + } + return nil +} + +func (x *BackupOptions) GetStartNs() int64 { + if x != nil && x.StartNs != nil { + return *x.StartNs + } + return 0 +} + +func (x *BackupOptions) GetEndNs() int64 { + if x != nil && x.EndNs != nil { + return *x.EndNs + } + return 0 +} + +var File_device_sync_device_sync_proto protoreflect.FileDescriptor + +const file_device_sync_device_sync_proto_rawDesc = "" + + "\n" + + "\x1ddevice_sync/device_sync.proto\x12\x10xmtp.device_sync\x1a device_sync/consent_backup.proto\x1a\x1edevice_sync/event_backup.proto\x1a\x1edevice_sync/group_backup.proto\x1a device_sync/message_backup.proto\"\x86\x03\n" + + "\rBackupElement\x12B\n" + + "\bmetadata\x18\x01 \x01(\v2$.xmtp.device_sync.BackupMetadataSaveH\x00R\bmetadata\x12@\n" + + "\x05group\x18\x02 \x01(\v2(.xmtp.device_sync.group_backup.GroupSaveH\x00R\x05group\x12X\n" + + "\rgroup_message\x18\x03 \x01(\v21.xmtp.device_sync.message_backup.GroupMessageSaveH\x00R\fgroupMessage\x12H\n" + + "\aconsent\x18\x04 \x01(\v2,.xmtp.device_sync.consent_backup.ConsentSaveH\x00R\aconsent\x12@\n" + + "\x05event\x18\x05 \x01(\v2(.xmtp.device_sync.event_backup.EventSaveH\x00R\x05eventB\t\n" + + "\aelement\"\xd4\x01\n" + + "\x12BackupMetadataSave\x12D\n" + + "\belements\x18\x02 \x03(\x0e2(.xmtp.device_sync.BackupElementSelectionR\belements\x12$\n" + + "\x0eexported_at_ns\x18\x03 \x01(\x03R\fexportedAtNs\x12\x1e\n" + + "\bstart_ns\x18\x04 \x01(\x03H\x00R\astartNs\x88\x01\x01\x12\x1a\n" + + "\x06end_ns\x18\x05 \x01(\x03H\x01R\x05endNs\x88\x01\x01B\v\n" + + "\t_start_nsB\t\n" + + "\a_end_ns\"\xa9\x01\n" + + "\rBackupOptions\x12D\n" + + "\belements\x18\x01 \x03(\x0e2(.xmtp.device_sync.BackupElementSelectionR\belements\x12\x1e\n" + + "\bstart_ns\x18\x02 \x01(\x03H\x00R\astartNs\x88\x01\x01\x12\x1a\n" + + "\x06end_ns\x18\x03 \x01(\x03H\x01R\x05endNs\x88\x01\x01B\v\n" + + "\t_start_nsB\t\n" + + "\a_end_ns*\xb3\x01\n" + + "\x16BackupElementSelection\x12(\n" + + "$BACKUP_ELEMENT_SELECTION_UNSPECIFIED\x10\x00\x12%\n" + + "!BACKUP_ELEMENT_SELECTION_MESSAGES\x10\x01\x12$\n" + + " BACKUP_ELEMENT_SELECTION_CONSENT\x10\x02\x12\"\n" + + "\x1eBACKUP_ELEMENT_SELECTION_EVENT\x10\x03B\xe4\x01\n" + + ".org.xmtp.android.library.push.xmtp.device_syncB\x0fDeviceSyncProtoP\x01ZDgithub.com/xmtp/example-notification-server-go/pkg/proto/device_sync\xa2\x02\x03XDX\xaa\x02\x0fXmtp.DeviceSync\xca\x02\x0fXmtp\\DeviceSync\xe2\x02\x1bXmtp\\DeviceSync\\GPBMetadata\xea\x02\x10Xmtp::DeviceSyncb\x06proto3" + +var ( + file_device_sync_device_sync_proto_rawDescOnce sync.Once + file_device_sync_device_sync_proto_rawDescData []byte +) + +func file_device_sync_device_sync_proto_rawDescGZIP() []byte { + file_device_sync_device_sync_proto_rawDescOnce.Do(func() { + file_device_sync_device_sync_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_device_sync_device_sync_proto_rawDesc), len(file_device_sync_device_sync_proto_rawDesc))) + }) + return file_device_sync_device_sync_proto_rawDescData +} + +var file_device_sync_device_sync_proto_enumTypes = make([]protoimpl.EnumInfo, 1) +var file_device_sync_device_sync_proto_msgTypes = make([]protoimpl.MessageInfo, 3) +var file_device_sync_device_sync_proto_goTypes = []any{ + (BackupElementSelection)(0), // 0: xmtp.device_sync.BackupElementSelection + (*BackupElement)(nil), // 1: xmtp.device_sync.BackupElement + (*BackupMetadataSave)(nil), // 2: xmtp.device_sync.BackupMetadataSave + (*BackupOptions)(nil), // 3: xmtp.device_sync.BackupOptions + (*GroupSave)(nil), // 4: xmtp.device_sync.group_backup.GroupSave + (*GroupMessageSave)(nil), // 5: xmtp.device_sync.message_backup.GroupMessageSave + (*ConsentSave)(nil), // 6: xmtp.device_sync.consent_backup.ConsentSave + (*EventSave)(nil), // 7: xmtp.device_sync.event_backup.EventSave +} +var file_device_sync_device_sync_proto_depIdxs = []int32{ + 2, // 0: xmtp.device_sync.BackupElement.metadata:type_name -> xmtp.device_sync.BackupMetadataSave + 4, // 1: xmtp.device_sync.BackupElement.group:type_name -> xmtp.device_sync.group_backup.GroupSave + 5, // 2: xmtp.device_sync.BackupElement.group_message:type_name -> xmtp.device_sync.message_backup.GroupMessageSave + 6, // 3: xmtp.device_sync.BackupElement.consent:type_name -> xmtp.device_sync.consent_backup.ConsentSave + 7, // 4: xmtp.device_sync.BackupElement.event:type_name -> xmtp.device_sync.event_backup.EventSave + 0, // 5: xmtp.device_sync.BackupMetadataSave.elements:type_name -> xmtp.device_sync.BackupElementSelection + 0, // 6: xmtp.device_sync.BackupOptions.elements:type_name -> xmtp.device_sync.BackupElementSelection + 7, // [7:7] is the sub-list for method output_type + 7, // [7:7] is the sub-list for method input_type + 7, // [7:7] is the sub-list for extension type_name + 7, // [7:7] is the sub-list for extension extendee + 0, // [0:7] is the sub-list for field type_name +} + +func init() { file_device_sync_device_sync_proto_init() } +func file_device_sync_device_sync_proto_init() { + if File_device_sync_device_sync_proto != nil { + return + } + file_device_sync_consent_backup_proto_init() + file_device_sync_event_backup_proto_init() + file_device_sync_group_backup_proto_init() + file_device_sync_message_backup_proto_init() + file_device_sync_device_sync_proto_msgTypes[0].OneofWrappers = []any{ + (*BackupElement_Metadata)(nil), + (*BackupElement_Group)(nil), + (*BackupElement_GroupMessage)(nil), + (*BackupElement_Consent)(nil), + (*BackupElement_Event)(nil), + } + file_device_sync_device_sync_proto_msgTypes[1].OneofWrappers = []any{} + file_device_sync_device_sync_proto_msgTypes[2].OneofWrappers = []any{} + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: unsafe.Slice(unsafe.StringData(file_device_sync_device_sync_proto_rawDesc), len(file_device_sync_device_sync_proto_rawDesc)), + NumEnums: 1, + NumMessages: 3, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_device_sync_device_sync_proto_goTypes, + DependencyIndexes: file_device_sync_device_sync_proto_depIdxs, + EnumInfos: file_device_sync_device_sync_proto_enumTypes, + MessageInfos: file_device_sync_device_sync_proto_msgTypes, + }.Build() + File_device_sync_device_sync_proto = out.File + file_device_sync_device_sync_proto_goTypes = nil + file_device_sync_device_sync_proto_depIdxs = nil +} diff --git a/pkg/proto/device_sync/event_backup.pb.go b/pkg/proto/device_sync/event_backup.pb.go new file mode 100644 index 0000000..48fef04 --- /dev/null +++ b/pkg/proto/device_sync/event_backup.pb.go @@ -0,0 +1,243 @@ +// Definitions for backups + +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.36.10 +// protoc (unknown) +// source: device_sync/event_backup.proto + +package device_sync + +import ( + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + reflect "reflect" + sync "sync" + unsafe "unsafe" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +type EventLevelSave int32 + +const ( + EventLevelSave_EVENT_LEVEL_SAVE_UNSPECIFIED EventLevelSave = 0 + EventLevelSave_EVENT_LEVEL_SAVE_NONE EventLevelSave = 1 + EventLevelSave_EVENT_LEVEL_SAVE_SUCCESS EventLevelSave = 2 + EventLevelSave_EVENT_LEVEL_SAVE_WARN EventLevelSave = 3 + EventLevelSave_EVENT_LEVEL_SAVE_ERROR EventLevelSave = 4 + EventLevelSave_EVENT_LEVEL_SAVE_FAULT EventLevelSave = 5 +) + +// Enum value maps for EventLevelSave. +var ( + EventLevelSave_name = map[int32]string{ + 0: "EVENT_LEVEL_SAVE_UNSPECIFIED", + 1: "EVENT_LEVEL_SAVE_NONE", + 2: "EVENT_LEVEL_SAVE_SUCCESS", + 3: "EVENT_LEVEL_SAVE_WARN", + 4: "EVENT_LEVEL_SAVE_ERROR", + 5: "EVENT_LEVEL_SAVE_FAULT", + } + EventLevelSave_value = map[string]int32{ + "EVENT_LEVEL_SAVE_UNSPECIFIED": 0, + "EVENT_LEVEL_SAVE_NONE": 1, + "EVENT_LEVEL_SAVE_SUCCESS": 2, + "EVENT_LEVEL_SAVE_WARN": 3, + "EVENT_LEVEL_SAVE_ERROR": 4, + "EVENT_LEVEL_SAVE_FAULT": 5, + } +) + +func (x EventLevelSave) Enum() *EventLevelSave { + p := new(EventLevelSave) + *p = x + return p +} + +func (x EventLevelSave) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (EventLevelSave) Descriptor() protoreflect.EnumDescriptor { + return file_device_sync_event_backup_proto_enumTypes[0].Descriptor() +} + +func (EventLevelSave) Type() protoreflect.EnumType { + return &file_device_sync_event_backup_proto_enumTypes[0] +} + +func (x EventLevelSave) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use EventLevelSave.Descriptor instead. +func (EventLevelSave) EnumDescriptor() ([]byte, []int) { + return file_device_sync_event_backup_proto_rawDescGZIP(), []int{0} +} + +// Proto representation of a client record save +type EventSave struct { + state protoimpl.MessageState `protogen:"open.v1"` + CreatedAtNs int64 `protobuf:"varint,1,opt,name=created_at_ns,json=createdAtNs,proto3" json:"created_at_ns,omitempty"` + Event string `protobuf:"bytes,2,opt,name=event,proto3" json:"event,omitempty"` + Details []byte `protobuf:"bytes,3,opt,name=details,proto3" json:"details,omitempty"` + GroupId []byte `protobuf:"bytes,4,opt,name=group_id,json=groupId,proto3,oneof" json:"group_id,omitempty"` + Level EventLevelSave `protobuf:"varint,5,opt,name=level,proto3,enum=xmtp.device_sync.event_backup.EventLevelSave" json:"level,omitempty"` + Icon *string `protobuf:"bytes,6,opt,name=icon,proto3,oneof" json:"icon,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *EventSave) Reset() { + *x = EventSave{} + mi := &file_device_sync_event_backup_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *EventSave) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*EventSave) ProtoMessage() {} + +func (x *EventSave) ProtoReflect() protoreflect.Message { + mi := &file_device_sync_event_backup_proto_msgTypes[0] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use EventSave.ProtoReflect.Descriptor instead. +func (*EventSave) Descriptor() ([]byte, []int) { + return file_device_sync_event_backup_proto_rawDescGZIP(), []int{0} +} + +func (x *EventSave) GetCreatedAtNs() int64 { + if x != nil { + return x.CreatedAtNs + } + return 0 +} + +func (x *EventSave) GetEvent() string { + if x != nil { + return x.Event + } + return "" +} + +func (x *EventSave) GetDetails() []byte { + if x != nil { + return x.Details + } + return nil +} + +func (x *EventSave) GetGroupId() []byte { + if x != nil { + return x.GroupId + } + return nil +} + +func (x *EventSave) GetLevel() EventLevelSave { + if x != nil { + return x.Level + } + return EventLevelSave_EVENT_LEVEL_SAVE_UNSPECIFIED +} + +func (x *EventSave) GetIcon() string { + if x != nil && x.Icon != nil { + return *x.Icon + } + return "" +} + +var File_device_sync_event_backup_proto protoreflect.FileDescriptor + +const file_device_sync_event_backup_proto_rawDesc = "" + + "\n" + + "\x1edevice_sync/event_backup.proto\x12\x1dxmtp.device_sync.event_backup\"\xf3\x01\n" + + "\tEventSave\x12\"\n" + + "\rcreated_at_ns\x18\x01 \x01(\x03R\vcreatedAtNs\x12\x14\n" + + "\x05event\x18\x02 \x01(\tR\x05event\x12\x18\n" + + "\adetails\x18\x03 \x01(\fR\adetails\x12\x1e\n" + + "\bgroup_id\x18\x04 \x01(\fH\x00R\agroupId\x88\x01\x01\x12C\n" + + "\x05level\x18\x05 \x01(\x0e2-.xmtp.device_sync.event_backup.EventLevelSaveR\x05level\x12\x17\n" + + "\x04icon\x18\x06 \x01(\tH\x01R\x04icon\x88\x01\x01B\v\n" + + "\t_group_idB\a\n" + + "\x05_icon*\xbe\x01\n" + + "\x0eEventLevelSave\x12 \n" + + "\x1cEVENT_LEVEL_SAVE_UNSPECIFIED\x10\x00\x12\x19\n" + + "\x15EVENT_LEVEL_SAVE_NONE\x10\x01\x12\x1c\n" + + "\x18EVENT_LEVEL_SAVE_SUCCESS\x10\x02\x12\x19\n" + + "\x15EVENT_LEVEL_SAVE_WARN\x10\x03\x12\x1a\n" + + "\x16EVENT_LEVEL_SAVE_ERROR\x10\x04\x12\x1a\n" + + "\x16EVENT_LEVEL_SAVE_FAULT\x10\x05B\xa3\x02\n" + + ";org.xmtp.android.library.push.xmtp.device_sync.event_backupB\x10EventBackupProtoP\x01ZDgithub.com/xmtp/example-notification-server-go/pkg/proto/device_sync\xa2\x02\x03XDE\xaa\x02\x1bXmtp.DeviceSync.EventBackup\xca\x02\x1bXmtp\\DeviceSync\\EventBackup\xe2\x02'Xmtp\\DeviceSync\\EventBackup\\GPBMetadata\xea\x02\x1dXmtp::DeviceSync::EventBackupb\x06proto3" + +var ( + file_device_sync_event_backup_proto_rawDescOnce sync.Once + file_device_sync_event_backup_proto_rawDescData []byte +) + +func file_device_sync_event_backup_proto_rawDescGZIP() []byte { + file_device_sync_event_backup_proto_rawDescOnce.Do(func() { + file_device_sync_event_backup_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_device_sync_event_backup_proto_rawDesc), len(file_device_sync_event_backup_proto_rawDesc))) + }) + return file_device_sync_event_backup_proto_rawDescData +} + +var file_device_sync_event_backup_proto_enumTypes = make([]protoimpl.EnumInfo, 1) +var file_device_sync_event_backup_proto_msgTypes = make([]protoimpl.MessageInfo, 1) +var file_device_sync_event_backup_proto_goTypes = []any{ + (EventLevelSave)(0), // 0: xmtp.device_sync.event_backup.EventLevelSave + (*EventSave)(nil), // 1: xmtp.device_sync.event_backup.EventSave +} +var file_device_sync_event_backup_proto_depIdxs = []int32{ + 0, // 0: xmtp.device_sync.event_backup.EventSave.level:type_name -> xmtp.device_sync.event_backup.EventLevelSave + 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_device_sync_event_backup_proto_init() } +func file_device_sync_event_backup_proto_init() { + if File_device_sync_event_backup_proto != nil { + return + } + file_device_sync_event_backup_proto_msgTypes[0].OneofWrappers = []any{} + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: unsafe.Slice(unsafe.StringData(file_device_sync_event_backup_proto_rawDesc), len(file_device_sync_event_backup_proto_rawDesc)), + NumEnums: 1, + NumMessages: 1, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_device_sync_event_backup_proto_goTypes, + DependencyIndexes: file_device_sync_event_backup_proto_depIdxs, + EnumInfos: file_device_sync_event_backup_proto_enumTypes, + MessageInfos: file_device_sync_event_backup_proto_msgTypes, + }.Build() + File_device_sync_event_backup_proto = out.File + file_device_sync_event_backup_proto_goTypes = nil + file_device_sync_event_backup_proto_depIdxs = nil +} diff --git a/pkg/proto/device_sync/group_backup.pb.go b/pkg/proto/device_sync/group_backup.pb.go new file mode 100644 index 0000000..c2ab1e5 --- /dev/null +++ b/pkg/proto/device_sync/group_backup.pb.go @@ -0,0 +1,520 @@ +// Definitions for backups + +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.36.10 +// protoc (unknown) +// source: device_sync/group_backup.proto + +package device_sync + +import ( + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + reflect "reflect" + sync "sync" + unsafe "unsafe" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// Group membership state +type GroupMembershipStateSave int32 + +const ( + GroupMembershipStateSave_GROUP_MEMBERSHIP_STATE_SAVE_UNSPECIFIED GroupMembershipStateSave = 0 + GroupMembershipStateSave_GROUP_MEMBERSHIP_STATE_SAVE_ALLOWED GroupMembershipStateSave = 1 + GroupMembershipStateSave_GROUP_MEMBERSHIP_STATE_SAVE_REJECTED GroupMembershipStateSave = 2 + GroupMembershipStateSave_GROUP_MEMBERSHIP_STATE_SAVE_PENDING GroupMembershipStateSave = 3 + // A group is marked as this state when it is restored + // from a backup. This is a non-functional archive state + // that can be reactivated when the user is re-added to + // the group. + GroupMembershipStateSave_GROUP_MEMBERSHIP_STATE_SAVE_RESTORED GroupMembershipStateSave = 4 + GroupMembershipStateSave_GROUP_MEMBERSHIP_STATE_SAVE_PENDING_REMOVE GroupMembershipStateSave = 5 +) + +// Enum value maps for GroupMembershipStateSave. +var ( + GroupMembershipStateSave_name = map[int32]string{ + 0: "GROUP_MEMBERSHIP_STATE_SAVE_UNSPECIFIED", + 1: "GROUP_MEMBERSHIP_STATE_SAVE_ALLOWED", + 2: "GROUP_MEMBERSHIP_STATE_SAVE_REJECTED", + 3: "GROUP_MEMBERSHIP_STATE_SAVE_PENDING", + 4: "GROUP_MEMBERSHIP_STATE_SAVE_RESTORED", + 5: "GROUP_MEMBERSHIP_STATE_SAVE_PENDING_REMOVE", + } + GroupMembershipStateSave_value = map[string]int32{ + "GROUP_MEMBERSHIP_STATE_SAVE_UNSPECIFIED": 0, + "GROUP_MEMBERSHIP_STATE_SAVE_ALLOWED": 1, + "GROUP_MEMBERSHIP_STATE_SAVE_REJECTED": 2, + "GROUP_MEMBERSHIP_STATE_SAVE_PENDING": 3, + "GROUP_MEMBERSHIP_STATE_SAVE_RESTORED": 4, + "GROUP_MEMBERSHIP_STATE_SAVE_PENDING_REMOVE": 5, + } +) + +func (x GroupMembershipStateSave) Enum() *GroupMembershipStateSave { + p := new(GroupMembershipStateSave) + *p = x + return p +} + +func (x GroupMembershipStateSave) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (GroupMembershipStateSave) Descriptor() protoreflect.EnumDescriptor { + return file_device_sync_group_backup_proto_enumTypes[0].Descriptor() +} + +func (GroupMembershipStateSave) Type() protoreflect.EnumType { + return &file_device_sync_group_backup_proto_enumTypes[0] +} + +func (x GroupMembershipStateSave) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use GroupMembershipStateSave.Descriptor instead. +func (GroupMembershipStateSave) EnumDescriptor() ([]byte, []int) { + return file_device_sync_group_backup_proto_rawDescGZIP(), []int{0} +} + +// Conversation type +type ConversationTypeSave int32 + +const ( + ConversationTypeSave_CONVERSATION_TYPE_SAVE_UNSPECIFIED ConversationTypeSave = 0 + ConversationTypeSave_CONVERSATION_TYPE_SAVE_GROUP ConversationTypeSave = 1 + ConversationTypeSave_CONVERSATION_TYPE_SAVE_DM ConversationTypeSave = 2 + ConversationTypeSave_CONVERSATION_TYPE_SAVE_SYNC ConversationTypeSave = 3 +) + +// Enum value maps for ConversationTypeSave. +var ( + ConversationTypeSave_name = map[int32]string{ + 0: "CONVERSATION_TYPE_SAVE_UNSPECIFIED", + 1: "CONVERSATION_TYPE_SAVE_GROUP", + 2: "CONVERSATION_TYPE_SAVE_DM", + 3: "CONVERSATION_TYPE_SAVE_SYNC", + } + ConversationTypeSave_value = map[string]int32{ + "CONVERSATION_TYPE_SAVE_UNSPECIFIED": 0, + "CONVERSATION_TYPE_SAVE_GROUP": 1, + "CONVERSATION_TYPE_SAVE_DM": 2, + "CONVERSATION_TYPE_SAVE_SYNC": 3, + } +) + +func (x ConversationTypeSave) Enum() *ConversationTypeSave { + p := new(ConversationTypeSave) + *p = x + return p +} + +func (x ConversationTypeSave) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (ConversationTypeSave) Descriptor() protoreflect.EnumDescriptor { + return file_device_sync_group_backup_proto_enumTypes[1].Descriptor() +} + +func (ConversationTypeSave) Type() protoreflect.EnumType { + return &file_device_sync_group_backup_proto_enumTypes[1] +} + +func (x ConversationTypeSave) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use ConversationTypeSave.Descriptor instead. +func (ConversationTypeSave) EnumDescriptor() ([]byte, []int) { + return file_device_sync_group_backup_proto_rawDescGZIP(), []int{1} +} + +// Proto representation of a stored group +type GroupSave struct { + state protoimpl.MessageState `protogen:"open.v1"` + Id []byte `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + CreatedAtNs int64 `protobuf:"varint,2,opt,name=created_at_ns,json=createdAtNs,proto3" json:"created_at_ns,omitempty"` + MembershipState GroupMembershipStateSave `protobuf:"varint,3,opt,name=membership_state,json=membershipState,proto3,enum=xmtp.device_sync.group_backup.GroupMembershipStateSave" json:"membership_state,omitempty"` + InstallationsLastChecked int64 `protobuf:"varint,4,opt,name=installations_last_checked,json=installationsLastChecked,proto3" json:"installations_last_checked,omitempty"` + AddedByInboxId string `protobuf:"bytes,5,opt,name=added_by_inbox_id,json=addedByInboxId,proto3" json:"added_by_inbox_id,omitempty"` + WelcomeId *int64 `protobuf:"varint,6,opt,name=welcome_id,json=welcomeId,proto3,oneof" json:"welcome_id,omitempty"` + RotatedAtNs int64 `protobuf:"varint,7,opt,name=rotated_at_ns,json=rotatedAtNs,proto3" json:"rotated_at_ns,omitempty"` + ConversationType ConversationTypeSave `protobuf:"varint,8,opt,name=conversation_type,json=conversationType,proto3,enum=xmtp.device_sync.group_backup.ConversationTypeSave" json:"conversation_type,omitempty"` + DmId *string `protobuf:"bytes,9,opt,name=dm_id,json=dmId,proto3,oneof" json:"dm_id,omitempty"` + LastMessageNs *int64 `protobuf:"varint,10,opt,name=last_message_ns,json=lastMessageNs,proto3,oneof" json:"last_message_ns,omitempty"` + MessageDisappearFromNs *int64 `protobuf:"varint,11,opt,name=message_disappear_from_ns,json=messageDisappearFromNs,proto3,oneof" json:"message_disappear_from_ns,omitempty"` + MessageDisappearInNs *int64 `protobuf:"varint,12,opt,name=message_disappear_in_ns,json=messageDisappearInNs,proto3,oneof" json:"message_disappear_in_ns,omitempty"` + // metadata fields + Metadata *ImmutableMetadataSave `protobuf:"bytes,13,opt,name=metadata,proto3" json:"metadata,omitempty"` + MutableMetadata *MutableMetadataSave `protobuf:"bytes,14,opt,name=mutable_metadata,json=mutableMetadata,proto3" json:"mutable_metadata,omitempty"` + PausedForVersion *string `protobuf:"bytes,15,opt,name=paused_for_version,json=pausedForVersion,proto3,oneof" json:"paused_for_version,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *GroupSave) Reset() { + *x = GroupSave{} + mi := &file_device_sync_group_backup_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GroupSave) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GroupSave) ProtoMessage() {} + +func (x *GroupSave) ProtoReflect() protoreflect.Message { + mi := &file_device_sync_group_backup_proto_msgTypes[0] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GroupSave.ProtoReflect.Descriptor instead. +func (*GroupSave) Descriptor() ([]byte, []int) { + return file_device_sync_group_backup_proto_rawDescGZIP(), []int{0} +} + +func (x *GroupSave) GetId() []byte { + if x != nil { + return x.Id + } + return nil +} + +func (x *GroupSave) GetCreatedAtNs() int64 { + if x != nil { + return x.CreatedAtNs + } + return 0 +} + +func (x *GroupSave) GetMembershipState() GroupMembershipStateSave { + if x != nil { + return x.MembershipState + } + return GroupMembershipStateSave_GROUP_MEMBERSHIP_STATE_SAVE_UNSPECIFIED +} + +func (x *GroupSave) GetInstallationsLastChecked() int64 { + if x != nil { + return x.InstallationsLastChecked + } + return 0 +} + +func (x *GroupSave) GetAddedByInboxId() string { + if x != nil { + return x.AddedByInboxId + } + return "" +} + +func (x *GroupSave) GetWelcomeId() int64 { + if x != nil && x.WelcomeId != nil { + return *x.WelcomeId + } + return 0 +} + +func (x *GroupSave) GetRotatedAtNs() int64 { + if x != nil { + return x.RotatedAtNs + } + return 0 +} + +func (x *GroupSave) GetConversationType() ConversationTypeSave { + if x != nil { + return x.ConversationType + } + return ConversationTypeSave_CONVERSATION_TYPE_SAVE_UNSPECIFIED +} + +func (x *GroupSave) GetDmId() string { + if x != nil && x.DmId != nil { + return *x.DmId + } + return "" +} + +func (x *GroupSave) GetLastMessageNs() int64 { + if x != nil && x.LastMessageNs != nil { + return *x.LastMessageNs + } + return 0 +} + +func (x *GroupSave) GetMessageDisappearFromNs() int64 { + if x != nil && x.MessageDisappearFromNs != nil { + return *x.MessageDisappearFromNs + } + return 0 +} + +func (x *GroupSave) GetMessageDisappearInNs() int64 { + if x != nil && x.MessageDisappearInNs != nil { + return *x.MessageDisappearInNs + } + return 0 +} + +func (x *GroupSave) GetMetadata() *ImmutableMetadataSave { + if x != nil { + return x.Metadata + } + return nil +} + +func (x *GroupSave) GetMutableMetadata() *MutableMetadataSave { + if x != nil { + return x.MutableMetadata + } + return nil +} + +func (x *GroupSave) GetPausedForVersion() string { + if x != nil && x.PausedForVersion != nil { + return *x.PausedForVersion + } + return "" +} + +// A Groups's mutable metadata +type MutableMetadataSave struct { + state protoimpl.MessageState `protogen:"open.v1"` + Attributes map[string]string `protobuf:"bytes,1,rep,name=attributes,proto3" json:"attributes,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"` + AdminList []string `protobuf:"bytes,2,rep,name=admin_list,json=adminList,proto3" json:"admin_list,omitempty"` + SuperAdminList []string `protobuf:"bytes,3,rep,name=super_admin_list,json=superAdminList,proto3" json:"super_admin_list,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *MutableMetadataSave) Reset() { + *x = MutableMetadataSave{} + mi := &file_device_sync_group_backup_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *MutableMetadataSave) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*MutableMetadataSave) ProtoMessage() {} + +func (x *MutableMetadataSave) ProtoReflect() protoreflect.Message { + mi := &file_device_sync_group_backup_proto_msgTypes[1] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use MutableMetadataSave.ProtoReflect.Descriptor instead. +func (*MutableMetadataSave) Descriptor() ([]byte, []int) { + return file_device_sync_group_backup_proto_rawDescGZIP(), []int{1} +} + +func (x *MutableMetadataSave) GetAttributes() map[string]string { + if x != nil { + return x.Attributes + } + return nil +} + +func (x *MutableMetadataSave) GetAdminList() []string { + if x != nil { + return x.AdminList + } + return nil +} + +func (x *MutableMetadataSave) GetSuperAdminList() []string { + if x != nil { + return x.SuperAdminList + } + return nil +} + +// A Group's immutable metadata +type ImmutableMetadataSave struct { + state protoimpl.MessageState `protogen:"open.v1"` + CreatorInboxId string `protobuf:"bytes,1,opt,name=creator_inbox_id,json=creatorInboxId,proto3" json:"creator_inbox_id,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ImmutableMetadataSave) Reset() { + *x = ImmutableMetadataSave{} + mi := &file_device_sync_group_backup_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ImmutableMetadataSave) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ImmutableMetadataSave) ProtoMessage() {} + +func (x *ImmutableMetadataSave) ProtoReflect() protoreflect.Message { + mi := &file_device_sync_group_backup_proto_msgTypes[2] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ImmutableMetadataSave.ProtoReflect.Descriptor instead. +func (*ImmutableMetadataSave) Descriptor() ([]byte, []int) { + return file_device_sync_group_backup_proto_rawDescGZIP(), []int{2} +} + +func (x *ImmutableMetadataSave) GetCreatorInboxId() string { + if x != nil { + return x.CreatorInboxId + } + return "" +} + +var File_device_sync_group_backup_proto protoreflect.FileDescriptor + +const file_device_sync_group_backup_proto_rawDesc = "" + + "\n" + + "\x1edevice_sync/group_backup.proto\x12\x1dxmtp.device_sync.group_backup\"\xdb\a\n" + + "\tGroupSave\x12\x0e\n" + + "\x02id\x18\x01 \x01(\fR\x02id\x12\"\n" + + "\rcreated_at_ns\x18\x02 \x01(\x03R\vcreatedAtNs\x12b\n" + + "\x10membership_state\x18\x03 \x01(\x0e27.xmtp.device_sync.group_backup.GroupMembershipStateSaveR\x0fmembershipState\x12<\n" + + "\x1ainstallations_last_checked\x18\x04 \x01(\x03R\x18installationsLastChecked\x12)\n" + + "\x11added_by_inbox_id\x18\x05 \x01(\tR\x0eaddedByInboxId\x12\"\n" + + "\n" + + "welcome_id\x18\x06 \x01(\x03H\x00R\twelcomeId\x88\x01\x01\x12\"\n" + + "\rrotated_at_ns\x18\a \x01(\x03R\vrotatedAtNs\x12`\n" + + "\x11conversation_type\x18\b \x01(\x0e23.xmtp.device_sync.group_backup.ConversationTypeSaveR\x10conversationType\x12\x18\n" + + "\x05dm_id\x18\t \x01(\tH\x01R\x04dmId\x88\x01\x01\x12+\n" + + "\x0flast_message_ns\x18\n" + + " \x01(\x03H\x02R\rlastMessageNs\x88\x01\x01\x12>\n" + + "\x19message_disappear_from_ns\x18\v \x01(\x03H\x03R\x16messageDisappearFromNs\x88\x01\x01\x12:\n" + + "\x17message_disappear_in_ns\x18\f \x01(\x03H\x04R\x14messageDisappearInNs\x88\x01\x01\x12P\n" + + "\bmetadata\x18\r \x01(\v24.xmtp.device_sync.group_backup.ImmutableMetadataSaveR\bmetadata\x12]\n" + + "\x10mutable_metadata\x18\x0e \x01(\v22.xmtp.device_sync.group_backup.MutableMetadataSaveR\x0fmutableMetadata\x121\n" + + "\x12paused_for_version\x18\x0f \x01(\tH\x05R\x10pausedForVersion\x88\x01\x01B\r\n" + + "\v_welcome_idB\b\n" + + "\x06_dm_idB\x12\n" + + "\x10_last_message_nsB\x1c\n" + + "\x1a_message_disappear_from_nsB\x1a\n" + + "\x18_message_disappear_in_nsB\x15\n" + + "\x13_paused_for_version\"\x81\x02\n" + + "\x13MutableMetadataSave\x12b\n" + + "\n" + + "attributes\x18\x01 \x03(\v2B.xmtp.device_sync.group_backup.MutableMetadataSave.AttributesEntryR\n" + + "attributes\x12\x1d\n" + + "\n" + + "admin_list\x18\x02 \x03(\tR\tadminList\x12(\n" + + "\x10super_admin_list\x18\x03 \x03(\tR\x0esuperAdminList\x1a=\n" + + "\x0fAttributesEntry\x12\x10\n" + + "\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n" + + "\x05value\x18\x02 \x01(\tR\x05value:\x028\x01\"A\n" + + "\x15ImmutableMetadataSave\x12(\n" + + "\x10creator_inbox_id\x18\x01 \x01(\tR\x0ecreatorInboxId*\x9d\x02\n" + + "\x18GroupMembershipStateSave\x12+\n" + + "'GROUP_MEMBERSHIP_STATE_SAVE_UNSPECIFIED\x10\x00\x12'\n" + + "#GROUP_MEMBERSHIP_STATE_SAVE_ALLOWED\x10\x01\x12(\n" + + "$GROUP_MEMBERSHIP_STATE_SAVE_REJECTED\x10\x02\x12'\n" + + "#GROUP_MEMBERSHIP_STATE_SAVE_PENDING\x10\x03\x12(\n" + + "$GROUP_MEMBERSHIP_STATE_SAVE_RESTORED\x10\x04\x12.\n" + + "*GROUP_MEMBERSHIP_STATE_SAVE_PENDING_REMOVE\x10\x05*\xa0\x01\n" + + "\x14ConversationTypeSave\x12&\n" + + "\"CONVERSATION_TYPE_SAVE_UNSPECIFIED\x10\x00\x12 \n" + + "\x1cCONVERSATION_TYPE_SAVE_GROUP\x10\x01\x12\x1d\n" + + "\x19CONVERSATION_TYPE_SAVE_DM\x10\x02\x12\x1f\n" + + "\x1bCONVERSATION_TYPE_SAVE_SYNC\x10\x03B\xa3\x02\n" + + ";org.xmtp.android.library.push.xmtp.device_sync.group_backupB\x10GroupBackupProtoP\x01ZDgithub.com/xmtp/example-notification-server-go/pkg/proto/device_sync\xa2\x02\x03XDG\xaa\x02\x1bXmtp.DeviceSync.GroupBackup\xca\x02\x1bXmtp\\DeviceSync\\GroupBackup\xe2\x02'Xmtp\\DeviceSync\\GroupBackup\\GPBMetadata\xea\x02\x1dXmtp::DeviceSync::GroupBackupb\x06proto3" + +var ( + file_device_sync_group_backup_proto_rawDescOnce sync.Once + file_device_sync_group_backup_proto_rawDescData []byte +) + +func file_device_sync_group_backup_proto_rawDescGZIP() []byte { + file_device_sync_group_backup_proto_rawDescOnce.Do(func() { + file_device_sync_group_backup_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_device_sync_group_backup_proto_rawDesc), len(file_device_sync_group_backup_proto_rawDesc))) + }) + return file_device_sync_group_backup_proto_rawDescData +} + +var file_device_sync_group_backup_proto_enumTypes = make([]protoimpl.EnumInfo, 2) +var file_device_sync_group_backup_proto_msgTypes = make([]protoimpl.MessageInfo, 4) +var file_device_sync_group_backup_proto_goTypes = []any{ + (GroupMembershipStateSave)(0), // 0: xmtp.device_sync.group_backup.GroupMembershipStateSave + (ConversationTypeSave)(0), // 1: xmtp.device_sync.group_backup.ConversationTypeSave + (*GroupSave)(nil), // 2: xmtp.device_sync.group_backup.GroupSave + (*MutableMetadataSave)(nil), // 3: xmtp.device_sync.group_backup.MutableMetadataSave + (*ImmutableMetadataSave)(nil), // 4: xmtp.device_sync.group_backup.ImmutableMetadataSave + nil, // 5: xmtp.device_sync.group_backup.MutableMetadataSave.AttributesEntry +} +var file_device_sync_group_backup_proto_depIdxs = []int32{ + 0, // 0: xmtp.device_sync.group_backup.GroupSave.membership_state:type_name -> xmtp.device_sync.group_backup.GroupMembershipStateSave + 1, // 1: xmtp.device_sync.group_backup.GroupSave.conversation_type:type_name -> xmtp.device_sync.group_backup.ConversationTypeSave + 4, // 2: xmtp.device_sync.group_backup.GroupSave.metadata:type_name -> xmtp.device_sync.group_backup.ImmutableMetadataSave + 3, // 3: xmtp.device_sync.group_backup.GroupSave.mutable_metadata:type_name -> xmtp.device_sync.group_backup.MutableMetadataSave + 5, // 4: xmtp.device_sync.group_backup.MutableMetadataSave.attributes:type_name -> xmtp.device_sync.group_backup.MutableMetadataSave.AttributesEntry + 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_device_sync_group_backup_proto_init() } +func file_device_sync_group_backup_proto_init() { + if File_device_sync_group_backup_proto != nil { + return + } + file_device_sync_group_backup_proto_msgTypes[0].OneofWrappers = []any{} + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: unsafe.Slice(unsafe.StringData(file_device_sync_group_backup_proto_rawDesc), len(file_device_sync_group_backup_proto_rawDesc)), + NumEnums: 2, + NumMessages: 4, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_device_sync_group_backup_proto_goTypes, + DependencyIndexes: file_device_sync_group_backup_proto_depIdxs, + EnumInfos: file_device_sync_group_backup_proto_enumTypes, + MessageInfos: file_device_sync_group_backup_proto_msgTypes, + }.Build() + File_device_sync_group_backup_proto = out.File + file_device_sync_group_backup_proto_goTypes = nil + file_device_sync_group_backup_proto_depIdxs = nil +} diff --git a/pkg/proto/device_sync/message_backup.pb.go b/pkg/proto/device_sync/message_backup.pb.go new file mode 100644 index 0000000..50b0932 --- /dev/null +++ b/pkg/proto/device_sync/message_backup.pb.go @@ -0,0 +1,466 @@ +// Definitions for backups + +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.36.10 +// protoc (unknown) +// source: device_sync/message_backup.proto + +package device_sync + +import ( + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + reflect "reflect" + sync "sync" + unsafe "unsafe" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// Group message kind +type GroupMessageKindSave int32 + +const ( + GroupMessageKindSave_GROUP_MESSAGE_KIND_SAVE_UNSPECIFIED GroupMessageKindSave = 0 + GroupMessageKindSave_GROUP_MESSAGE_KIND_SAVE_APPLICATION GroupMessageKindSave = 1 + GroupMessageKindSave_GROUP_MESSAGE_KIND_SAVE_MEMBERSHIP_CHANGE GroupMessageKindSave = 2 +) + +// Enum value maps for GroupMessageKindSave. +var ( + GroupMessageKindSave_name = map[int32]string{ + 0: "GROUP_MESSAGE_KIND_SAVE_UNSPECIFIED", + 1: "GROUP_MESSAGE_KIND_SAVE_APPLICATION", + 2: "GROUP_MESSAGE_KIND_SAVE_MEMBERSHIP_CHANGE", + } + GroupMessageKindSave_value = map[string]int32{ + "GROUP_MESSAGE_KIND_SAVE_UNSPECIFIED": 0, + "GROUP_MESSAGE_KIND_SAVE_APPLICATION": 1, + "GROUP_MESSAGE_KIND_SAVE_MEMBERSHIP_CHANGE": 2, + } +) + +func (x GroupMessageKindSave) Enum() *GroupMessageKindSave { + p := new(GroupMessageKindSave) + *p = x + return p +} + +func (x GroupMessageKindSave) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (GroupMessageKindSave) Descriptor() protoreflect.EnumDescriptor { + return file_device_sync_message_backup_proto_enumTypes[0].Descriptor() +} + +func (GroupMessageKindSave) Type() protoreflect.EnumType { + return &file_device_sync_message_backup_proto_enumTypes[0] +} + +func (x GroupMessageKindSave) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use GroupMessageKindSave.Descriptor instead. +func (GroupMessageKindSave) EnumDescriptor() ([]byte, []int) { + return file_device_sync_message_backup_proto_rawDescGZIP(), []int{0} +} + +// Group message delivery status +type DeliveryStatusSave int32 + +const ( + DeliveryStatusSave_DELIVERY_STATUS_SAVE_UNSPECIFIED DeliveryStatusSave = 0 + DeliveryStatusSave_DELIVERY_STATUS_SAVE_UNPUBLISHED DeliveryStatusSave = 1 + DeliveryStatusSave_DELIVERY_STATUS_SAVE_PUBLISHED DeliveryStatusSave = 2 + DeliveryStatusSave_DELIVERY_STATUS_SAVE_FAILED DeliveryStatusSave = 3 +) + +// Enum value maps for DeliveryStatusSave. +var ( + DeliveryStatusSave_name = map[int32]string{ + 0: "DELIVERY_STATUS_SAVE_UNSPECIFIED", + 1: "DELIVERY_STATUS_SAVE_UNPUBLISHED", + 2: "DELIVERY_STATUS_SAVE_PUBLISHED", + 3: "DELIVERY_STATUS_SAVE_FAILED", + } + DeliveryStatusSave_value = map[string]int32{ + "DELIVERY_STATUS_SAVE_UNSPECIFIED": 0, + "DELIVERY_STATUS_SAVE_UNPUBLISHED": 1, + "DELIVERY_STATUS_SAVE_PUBLISHED": 2, + "DELIVERY_STATUS_SAVE_FAILED": 3, + } +) + +func (x DeliveryStatusSave) Enum() *DeliveryStatusSave { + p := new(DeliveryStatusSave) + *p = x + return p +} + +func (x DeliveryStatusSave) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (DeliveryStatusSave) Descriptor() protoreflect.EnumDescriptor { + return file_device_sync_message_backup_proto_enumTypes[1].Descriptor() +} + +func (DeliveryStatusSave) Type() protoreflect.EnumType { + return &file_device_sync_message_backup_proto_enumTypes[1] +} + +func (x DeliveryStatusSave) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use DeliveryStatusSave.Descriptor instead. +func (DeliveryStatusSave) EnumDescriptor() ([]byte, []int) { + return file_device_sync_message_backup_proto_rawDescGZIP(), []int{1} +} + +// Group message content type +type ContentTypeSave int32 + +const ( + ContentTypeSave_CONTENT_TYPE_SAVE_UNSPECIFIED ContentTypeSave = 0 + ContentTypeSave_CONTENT_TYPE_SAVE_UNKNOWN ContentTypeSave = 1 + ContentTypeSave_CONTENT_TYPE_SAVE_TEXT ContentTypeSave = 2 + ContentTypeSave_CONTENT_TYPE_SAVE_GROUP_MEMBERSHIP_CHANGE ContentTypeSave = 3 + ContentTypeSave_CONTENT_TYPE_SAVE_GROUP_UPDATED ContentTypeSave = 4 + ContentTypeSave_CONTENT_TYPE_SAVE_REACTION ContentTypeSave = 5 + ContentTypeSave_CONTENT_TYPE_SAVE_READ_RECEIPT ContentTypeSave = 6 + ContentTypeSave_CONTENT_TYPE_SAVE_REPLY ContentTypeSave = 7 + ContentTypeSave_CONTENT_TYPE_SAVE_ATTACHMENT ContentTypeSave = 8 + ContentTypeSave_CONTENT_TYPE_SAVE_REMOTE_ATTACHMENT ContentTypeSave = 9 + ContentTypeSave_CONTENT_TYPE_SAVE_TRANSACTION_REFERENCE ContentTypeSave = 10 +) + +// Enum value maps for ContentTypeSave. +var ( + ContentTypeSave_name = map[int32]string{ + 0: "CONTENT_TYPE_SAVE_UNSPECIFIED", + 1: "CONTENT_TYPE_SAVE_UNKNOWN", + 2: "CONTENT_TYPE_SAVE_TEXT", + 3: "CONTENT_TYPE_SAVE_GROUP_MEMBERSHIP_CHANGE", + 4: "CONTENT_TYPE_SAVE_GROUP_UPDATED", + 5: "CONTENT_TYPE_SAVE_REACTION", + 6: "CONTENT_TYPE_SAVE_READ_RECEIPT", + 7: "CONTENT_TYPE_SAVE_REPLY", + 8: "CONTENT_TYPE_SAVE_ATTACHMENT", + 9: "CONTENT_TYPE_SAVE_REMOTE_ATTACHMENT", + 10: "CONTENT_TYPE_SAVE_TRANSACTION_REFERENCE", + } + ContentTypeSave_value = map[string]int32{ + "CONTENT_TYPE_SAVE_UNSPECIFIED": 0, + "CONTENT_TYPE_SAVE_UNKNOWN": 1, + "CONTENT_TYPE_SAVE_TEXT": 2, + "CONTENT_TYPE_SAVE_GROUP_MEMBERSHIP_CHANGE": 3, + "CONTENT_TYPE_SAVE_GROUP_UPDATED": 4, + "CONTENT_TYPE_SAVE_REACTION": 5, + "CONTENT_TYPE_SAVE_READ_RECEIPT": 6, + "CONTENT_TYPE_SAVE_REPLY": 7, + "CONTENT_TYPE_SAVE_ATTACHMENT": 8, + "CONTENT_TYPE_SAVE_REMOTE_ATTACHMENT": 9, + "CONTENT_TYPE_SAVE_TRANSACTION_REFERENCE": 10, + } +) + +func (x ContentTypeSave) Enum() *ContentTypeSave { + p := new(ContentTypeSave) + *p = x + return p +} + +func (x ContentTypeSave) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (ContentTypeSave) Descriptor() protoreflect.EnumDescriptor { + return file_device_sync_message_backup_proto_enumTypes[2].Descriptor() +} + +func (ContentTypeSave) Type() protoreflect.EnumType { + return &file_device_sync_message_backup_proto_enumTypes[2] +} + +func (x ContentTypeSave) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use ContentTypeSave.Descriptor instead. +func (ContentTypeSave) EnumDescriptor() ([]byte, []int) { + return file_device_sync_message_backup_proto_rawDescGZIP(), []int{2} +} + +// Proto representation of a stored group message +type GroupMessageSave struct { + state protoimpl.MessageState `protogen:"open.v1"` + Id []byte `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + GroupId []byte `protobuf:"bytes,2,opt,name=group_id,json=groupId,proto3" json:"group_id,omitempty"` + DecryptedMessageBytes []byte `protobuf:"bytes,3,opt,name=decrypted_message_bytes,json=decryptedMessageBytes,proto3" json:"decrypted_message_bytes,omitempty"` + SentAtNs int64 `protobuf:"varint,4,opt,name=sent_at_ns,json=sentAtNs,proto3" json:"sent_at_ns,omitempty"` + Kind GroupMessageKindSave `protobuf:"varint,5,opt,name=kind,proto3,enum=xmtp.device_sync.message_backup.GroupMessageKindSave" json:"kind,omitempty"` + SenderInstallationId []byte `protobuf:"bytes,6,opt,name=sender_installation_id,json=senderInstallationId,proto3" json:"sender_installation_id,omitempty"` + SenderInboxId string `protobuf:"bytes,7,opt,name=sender_inbox_id,json=senderInboxId,proto3" json:"sender_inbox_id,omitempty"` + DeliveryStatus DeliveryStatusSave `protobuf:"varint,8,opt,name=delivery_status,json=deliveryStatus,proto3,enum=xmtp.device_sync.message_backup.DeliveryStatusSave" json:"delivery_status,omitempty"` + ContentType ContentTypeSave `protobuf:"varint,9,opt,name=content_type,json=contentType,proto3,enum=xmtp.device_sync.message_backup.ContentTypeSave" json:"content_type,omitempty"` + VersionMajor int32 `protobuf:"varint,10,opt,name=version_major,json=versionMajor,proto3" json:"version_major,omitempty"` + VersionMinor int32 `protobuf:"varint,11,opt,name=version_minor,json=versionMinor,proto3" json:"version_minor,omitempty"` + AuthorityId string `protobuf:"bytes,12,opt,name=authority_id,json=authorityId,proto3" json:"authority_id,omitempty"` + ReferenceId []byte `protobuf:"bytes,13,opt,name=reference_id,json=referenceId,proto3,oneof" json:"reference_id,omitempty"` + SequenceId *int64 `protobuf:"varint,14,opt,name=sequence_id,json=sequenceId,proto3,oneof" json:"sequence_id,omitempty"` + OriginatorId *int64 `protobuf:"varint,15,opt,name=originator_id,json=originatorId,proto3,oneof" json:"originator_id,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *GroupMessageSave) Reset() { + *x = GroupMessageSave{} + mi := &file_device_sync_message_backup_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GroupMessageSave) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GroupMessageSave) ProtoMessage() {} + +func (x *GroupMessageSave) ProtoReflect() protoreflect.Message { + mi := &file_device_sync_message_backup_proto_msgTypes[0] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GroupMessageSave.ProtoReflect.Descriptor instead. +func (*GroupMessageSave) Descriptor() ([]byte, []int) { + return file_device_sync_message_backup_proto_rawDescGZIP(), []int{0} +} + +func (x *GroupMessageSave) GetId() []byte { + if x != nil { + return x.Id + } + return nil +} + +func (x *GroupMessageSave) GetGroupId() []byte { + if x != nil { + return x.GroupId + } + return nil +} + +func (x *GroupMessageSave) GetDecryptedMessageBytes() []byte { + if x != nil { + return x.DecryptedMessageBytes + } + return nil +} + +func (x *GroupMessageSave) GetSentAtNs() int64 { + if x != nil { + return x.SentAtNs + } + return 0 +} + +func (x *GroupMessageSave) GetKind() GroupMessageKindSave { + if x != nil { + return x.Kind + } + return GroupMessageKindSave_GROUP_MESSAGE_KIND_SAVE_UNSPECIFIED +} + +func (x *GroupMessageSave) GetSenderInstallationId() []byte { + if x != nil { + return x.SenderInstallationId + } + return nil +} + +func (x *GroupMessageSave) GetSenderInboxId() string { + if x != nil { + return x.SenderInboxId + } + return "" +} + +func (x *GroupMessageSave) GetDeliveryStatus() DeliveryStatusSave { + if x != nil { + return x.DeliveryStatus + } + return DeliveryStatusSave_DELIVERY_STATUS_SAVE_UNSPECIFIED +} + +func (x *GroupMessageSave) GetContentType() ContentTypeSave { + if x != nil { + return x.ContentType + } + return ContentTypeSave_CONTENT_TYPE_SAVE_UNSPECIFIED +} + +func (x *GroupMessageSave) GetVersionMajor() int32 { + if x != nil { + return x.VersionMajor + } + return 0 +} + +func (x *GroupMessageSave) GetVersionMinor() int32 { + if x != nil { + return x.VersionMinor + } + return 0 +} + +func (x *GroupMessageSave) GetAuthorityId() string { + if x != nil { + return x.AuthorityId + } + return "" +} + +func (x *GroupMessageSave) GetReferenceId() []byte { + if x != nil { + return x.ReferenceId + } + return nil +} + +func (x *GroupMessageSave) GetSequenceId() int64 { + if x != nil && x.SequenceId != nil { + return *x.SequenceId + } + return 0 +} + +func (x *GroupMessageSave) GetOriginatorId() int64 { + if x != nil && x.OriginatorId != nil { + return *x.OriginatorId + } + return 0 +} + +var File_device_sync_message_backup_proto protoreflect.FileDescriptor + +const file_device_sync_message_backup_proto_rawDesc = "" + + "\n" + + " device_sync/message_backup.proto\x12\x1fxmtp.device_sync.message_backup\"\x87\x06\n" + + "\x10GroupMessageSave\x12\x0e\n" + + "\x02id\x18\x01 \x01(\fR\x02id\x12\x19\n" + + "\bgroup_id\x18\x02 \x01(\fR\agroupId\x126\n" + + "\x17decrypted_message_bytes\x18\x03 \x01(\fR\x15decryptedMessageBytes\x12\x1c\n" + + "\n" + + "sent_at_ns\x18\x04 \x01(\x03R\bsentAtNs\x12I\n" + + "\x04kind\x18\x05 \x01(\x0e25.xmtp.device_sync.message_backup.GroupMessageKindSaveR\x04kind\x124\n" + + "\x16sender_installation_id\x18\x06 \x01(\fR\x14senderInstallationId\x12&\n" + + "\x0fsender_inbox_id\x18\a \x01(\tR\rsenderInboxId\x12\\\n" + + "\x0fdelivery_status\x18\b \x01(\x0e23.xmtp.device_sync.message_backup.DeliveryStatusSaveR\x0edeliveryStatus\x12S\n" + + "\fcontent_type\x18\t \x01(\x0e20.xmtp.device_sync.message_backup.ContentTypeSaveR\vcontentType\x12#\n" + + "\rversion_major\x18\n" + + " \x01(\x05R\fversionMajor\x12#\n" + + "\rversion_minor\x18\v \x01(\x05R\fversionMinor\x12!\n" + + "\fauthority_id\x18\f \x01(\tR\vauthorityId\x12&\n" + + "\freference_id\x18\r \x01(\fH\x00R\vreferenceId\x88\x01\x01\x12$\n" + + "\vsequence_id\x18\x0e \x01(\x03H\x01R\n" + + "sequenceId\x88\x01\x01\x12(\n" + + "\roriginator_id\x18\x0f \x01(\x03H\x02R\foriginatorId\x88\x01\x01B\x0f\n" + + "\r_reference_idB\x0e\n" + + "\f_sequence_idB\x10\n" + + "\x0e_originator_id*\x97\x01\n" + + "\x14GroupMessageKindSave\x12'\n" + + "#GROUP_MESSAGE_KIND_SAVE_UNSPECIFIED\x10\x00\x12'\n" + + "#GROUP_MESSAGE_KIND_SAVE_APPLICATION\x10\x01\x12-\n" + + ")GROUP_MESSAGE_KIND_SAVE_MEMBERSHIP_CHANGE\x10\x02*\xa5\x01\n" + + "\x12DeliveryStatusSave\x12$\n" + + " DELIVERY_STATUS_SAVE_UNSPECIFIED\x10\x00\x12$\n" + + " DELIVERY_STATUS_SAVE_UNPUBLISHED\x10\x01\x12\"\n" + + "\x1eDELIVERY_STATUS_SAVE_PUBLISHED\x10\x02\x12\x1f\n" + + "\x1bDELIVERY_STATUS_SAVE_FAILED\x10\x03*\x9c\x03\n" + + "\x0fContentTypeSave\x12!\n" + + "\x1dCONTENT_TYPE_SAVE_UNSPECIFIED\x10\x00\x12\x1d\n" + + "\x19CONTENT_TYPE_SAVE_UNKNOWN\x10\x01\x12\x1a\n" + + "\x16CONTENT_TYPE_SAVE_TEXT\x10\x02\x12-\n" + + ")CONTENT_TYPE_SAVE_GROUP_MEMBERSHIP_CHANGE\x10\x03\x12#\n" + + "\x1fCONTENT_TYPE_SAVE_GROUP_UPDATED\x10\x04\x12\x1e\n" + + "\x1aCONTENT_TYPE_SAVE_REACTION\x10\x05\x12\"\n" + + "\x1eCONTENT_TYPE_SAVE_READ_RECEIPT\x10\x06\x12\x1b\n" + + "\x17CONTENT_TYPE_SAVE_REPLY\x10\a\x12 \n" + + "\x1cCONTENT_TYPE_SAVE_ATTACHMENT\x10\b\x12'\n" + + "#CONTENT_TYPE_SAVE_REMOTE_ATTACHMENT\x10\t\x12+\n" + + "'CONTENT_TYPE_SAVE_TRANSACTION_REFERENCE\x10\n" + + "B\xaf\x02\n" + + "=org.xmtp.android.library.push.xmtp.device_sync.message_backupB\x12MessageBackupProtoP\x01ZDgithub.com/xmtp/example-notification-server-go/pkg/proto/device_sync\xa2\x02\x03XDM\xaa\x02\x1dXmtp.DeviceSync.MessageBackup\xca\x02\x1dXmtp\\DeviceSync\\MessageBackup\xe2\x02)Xmtp\\DeviceSync\\MessageBackup\\GPBMetadata\xea\x02\x1fXmtp::DeviceSync::MessageBackupb\x06proto3" + +var ( + file_device_sync_message_backup_proto_rawDescOnce sync.Once + file_device_sync_message_backup_proto_rawDescData []byte +) + +func file_device_sync_message_backup_proto_rawDescGZIP() []byte { + file_device_sync_message_backup_proto_rawDescOnce.Do(func() { + file_device_sync_message_backup_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_device_sync_message_backup_proto_rawDesc), len(file_device_sync_message_backup_proto_rawDesc))) + }) + return file_device_sync_message_backup_proto_rawDescData +} + +var file_device_sync_message_backup_proto_enumTypes = make([]protoimpl.EnumInfo, 3) +var file_device_sync_message_backup_proto_msgTypes = make([]protoimpl.MessageInfo, 1) +var file_device_sync_message_backup_proto_goTypes = []any{ + (GroupMessageKindSave)(0), // 0: xmtp.device_sync.message_backup.GroupMessageKindSave + (DeliveryStatusSave)(0), // 1: xmtp.device_sync.message_backup.DeliveryStatusSave + (ContentTypeSave)(0), // 2: xmtp.device_sync.message_backup.ContentTypeSave + (*GroupMessageSave)(nil), // 3: xmtp.device_sync.message_backup.GroupMessageSave +} +var file_device_sync_message_backup_proto_depIdxs = []int32{ + 0, // 0: xmtp.device_sync.message_backup.GroupMessageSave.kind:type_name -> xmtp.device_sync.message_backup.GroupMessageKindSave + 1, // 1: xmtp.device_sync.message_backup.GroupMessageSave.delivery_status:type_name -> xmtp.device_sync.message_backup.DeliveryStatusSave + 2, // 2: xmtp.device_sync.message_backup.GroupMessageSave.content_type:type_name -> xmtp.device_sync.message_backup.ContentTypeSave + 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_device_sync_message_backup_proto_init() } +func file_device_sync_message_backup_proto_init() { + if File_device_sync_message_backup_proto != nil { + return + } + file_device_sync_message_backup_proto_msgTypes[0].OneofWrappers = []any{} + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: unsafe.Slice(unsafe.StringData(file_device_sync_message_backup_proto_rawDesc), len(file_device_sync_message_backup_proto_rawDesc)), + NumEnums: 3, + NumMessages: 1, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_device_sync_message_backup_proto_goTypes, + DependencyIndexes: file_device_sync_message_backup_proto_depIdxs, + EnumInfos: file_device_sync_message_backup_proto_enumTypes, + MessageInfos: file_device_sync_message_backup_proto_msgTypes, + }.Build() + File_device_sync_message_backup_proto = out.File + file_device_sync_message_backup_proto_goTypes = nil + file_device_sync_message_backup_proto_depIdxs = nil +} diff --git a/pkg/proto/identity/api/v1/identity.pb.go b/pkg/proto/identity/api/v1/identity.pb.go index 0c7d0fd..f176184 100644 --- a/pkg/proto/identity/api/v1/identity.pb.go +++ b/pkg/proto/identity/api/v1/identity.pb.go @@ -2,7 +2,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.36.5 +// protoc-gen-go v1.36.10 // protoc (unknown) // source: identity/api/v1/identity.proto @@ -678,10 +678,11 @@ func (x *GetIdentityUpdatesResponse_Response) GetUpdates() []*GetIdentityUpdates // A single request for a given address type GetInboxIdsRequest_Request struct { - state protoimpl.MessageState `protogen:"open.v1"` - Address string `protobuf:"bytes,1,opt,name=address,proto3" json:"address,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Identifier string `protobuf:"bytes,1,opt,name=identifier,proto3" json:"identifier,omitempty"` + IdentifierKind associations.IdentifierKind `protobuf:"varint,2,opt,name=identifier_kind,json=identifierKind,proto3,enum=xmtp.identity.associations.IdentifierKind" json:"identifier_kind,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *GetInboxIdsRequest_Request) Reset() { @@ -714,20 +715,28 @@ func (*GetInboxIdsRequest_Request) Descriptor() ([]byte, []int) { return file_identity_api_v1_identity_proto_rawDescGZIP(), []int{7, 0} } -func (x *GetInboxIdsRequest_Request) GetAddress() string { +func (x *GetInboxIdsRequest_Request) GetIdentifier() string { if x != nil { - return x.Address + return x.Identifier } return "" } +func (x *GetInboxIdsRequest_Request) GetIdentifierKind() associations.IdentifierKind { + if x != nil { + return x.IdentifierKind + } + return associations.IdentifierKind(0) +} + // A single response for a given address type GetInboxIdsResponse_Response struct { - state protoimpl.MessageState `protogen:"open.v1"` - Address string `protobuf:"bytes,1,opt,name=address,proto3" json:"address,omitempty"` - InboxId *string `protobuf:"bytes,2,opt,name=inbox_id,json=inboxId,proto3,oneof" json:"inbox_id,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Identifier string `protobuf:"bytes,1,opt,name=identifier,proto3" json:"identifier,omitempty"` + InboxId *string `protobuf:"bytes,2,opt,name=inbox_id,json=inboxId,proto3,oneof" json:"inbox_id,omitempty"` + IdentifierKind associations.IdentifierKind `protobuf:"varint,3,opt,name=identifier_kind,json=identifierKind,proto3,enum=xmtp.identity.associations.IdentifierKind" json:"identifier_kind,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *GetInboxIdsResponse_Response) Reset() { @@ -760,9 +769,9 @@ func (*GetInboxIdsResponse_Response) Descriptor() ([]byte, []int) { return file_identity_api_v1_identity_proto_rawDescGZIP(), []int{8, 0} } -func (x *GetInboxIdsResponse_Response) GetAddress() string { +func (x *GetInboxIdsResponse_Response) GetIdentifier() string { if x != nil { - return x.Address + return x.Identifier } return "" } @@ -774,195 +783,79 @@ func (x *GetInboxIdsResponse_Response) GetInboxId() string { return "" } +func (x *GetInboxIdsResponse_Response) GetIdentifierKind() associations.IdentifierKind { + if x != nil { + return x.IdentifierKind + } + return associations.IdentifierKind(0) +} + var File_identity_api_v1_identity_proto protoreflect.FileDescriptor -var file_identity_api_v1_identity_proto_rawDesc = string([]byte{ - 0x0a, 0x1e, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, - 0x31, 0x2f, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x12, 0x14, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2e, - 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, - 0x70, 0x69, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x27, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2f, 0x61, - 0x73, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x61, 0x73, 0x73, 0x6f, - 0x63, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x2e, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x2d, 0x67, 0x65, 0x6e, 0x2d, 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x70, - 0x69, 0x76, 0x32, 0x2f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, - 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x96, 0x01, - 0x0a, 0x2a, 0x56, 0x65, 0x72, 0x69, 0x66, 0x79, 0x53, 0x6d, 0x61, 0x72, 0x74, 0x43, 0x6f, 0x6e, - 0x74, 0x72, 0x61, 0x63, 0x74, 0x57, 0x61, 0x6c, 0x6c, 0x65, 0x74, 0x53, 0x69, 0x67, 0x6e, 0x61, - 0x74, 0x75, 0x72, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x68, 0x0a, 0x0a, - 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, - 0x32, 0x48, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, - 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x56, 0x65, 0x72, 0x69, 0x66, 0x79, 0x53, 0x6d, - 0x61, 0x72, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x57, 0x61, 0x6c, 0x6c, 0x65, - 0x74, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x52, 0x0a, 0x73, 0x69, 0x67, 0x6e, - 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x22, 0xbe, 0x01, 0x0a, 0x32, 0x56, 0x65, 0x72, 0x69, 0x66, - 0x79, 0x53, 0x6d, 0x61, 0x72, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x57, 0x61, - 0x6c, 0x6c, 0x65, 0x74, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x12, 0x1d, 0x0a, - 0x0a, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x09, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x26, 0x0a, 0x0c, - 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x04, 0x48, 0x00, 0x52, 0x0b, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x4e, 0x75, 0x6d, 0x62, 0x65, - 0x72, 0x88, 0x01, 0x01, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, - 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, - 0x72, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x68, 0x61, 0x73, 0x68, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0c, - 0x52, 0x04, 0x68, 0x61, 0x73, 0x68, 0x42, 0x0f, 0x0a, 0x0d, 0x5f, 0x62, 0x6c, 0x6f, 0x63, 0x6b, - 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x22, 0xb1, 0x02, 0x0a, 0x2b, 0x56, 0x65, 0x72, 0x69, - 0x66, 0x79, 0x53, 0x6d, 0x61, 0x72, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x57, - 0x61, 0x6c, 0x6c, 0x65, 0x74, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x72, 0x0a, 0x09, 0x72, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x54, 0x2e, 0x78, 0x6d, 0x74, - 0x70, 0x2e, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, - 0x31, 0x2e, 0x56, 0x65, 0x72, 0x69, 0x66, 0x79, 0x53, 0x6d, 0x61, 0x72, 0x74, 0x43, 0x6f, 0x6e, - 0x74, 0x72, 0x61, 0x63, 0x74, 0x57, 0x61, 0x6c, 0x6c, 0x65, 0x74, 0x53, 0x69, 0x67, 0x6e, 0x61, - 0x74, 0x75, 0x72, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x56, 0x61, - 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x52, 0x09, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x73, 0x1a, 0x8d, 0x01, 0x0a, 0x12, - 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x69, 0x73, 0x5f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x69, 0x73, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x12, 0x26, 0x0a, - 0x0c, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x04, 0x48, 0x00, 0x52, 0x0b, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x4e, 0x75, 0x6d, 0x62, - 0x65, 0x72, 0x88, 0x01, 0x01, 0x12, 0x19, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x88, 0x01, 0x01, - 0x42, 0x0f, 0x0a, 0x0d, 0x5f, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, - 0x72, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x22, 0x73, 0x0a, 0x1c, 0x50, - 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x55, 0x70, - 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x53, 0x0a, 0x0f, 0x69, - 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x69, 0x64, 0x65, 0x6e, - 0x74, 0x69, 0x74, 0x79, 0x2e, 0x61, 0x73, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x73, 0x2e, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, - 0x52, 0x0e, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, - 0x22, 0x1f, 0x0a, 0x1d, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x49, 0x64, 0x65, 0x6e, 0x74, - 0x69, 0x74, 0x79, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x22, 0xb7, 0x01, 0x0a, 0x19, 0x47, 0x65, 0x74, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, - 0x79, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, - 0x53, 0x0a, 0x08, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, - 0x0b, 0x32, 0x37, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, - 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x49, 0x64, 0x65, 0x6e, - 0x74, 0x69, 0x74, 0x79, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x08, 0x72, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x73, 0x1a, 0x45, 0x0a, 0x07, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, - 0x19, 0x0a, 0x08, 0x69, 0x6e, 0x62, 0x6f, 0x78, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x07, 0x69, 0x6e, 0x62, 0x6f, 0x78, 0x49, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x65, - 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, - 0x0a, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x49, 0x64, 0x22, 0xa6, 0x03, 0x0a, 0x1a, - 0x47, 0x65, 0x74, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x55, 0x70, 0x64, 0x61, 0x74, - 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x57, 0x0a, 0x09, 0x72, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x39, 0x2e, - 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2e, 0x61, 0x70, - 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, - 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x09, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x73, 0x1a, 0xa8, 0x01, 0x0a, 0x11, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, - 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4c, 0x6f, 0x67, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x65, 0x71, - 0x75, 0x65, 0x6e, 0x63, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0a, - 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x49, 0x64, 0x12, 0x2e, 0x0a, 0x13, 0x73, 0x65, - 0x72, 0x76, 0x65, 0x72, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x5f, 0x6e, - 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x11, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x54, - 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x4e, 0x73, 0x12, 0x42, 0x0a, 0x06, 0x75, 0x70, - 0x64, 0x61, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x78, 0x6d, 0x74, - 0x70, 0x2e, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2e, 0x61, 0x73, 0x73, 0x6f, 0x63, - 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, - 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x06, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x1a, 0x83, - 0x01, 0x0a, 0x08, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x69, - 0x6e, 0x62, 0x6f, 0x78, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x69, - 0x6e, 0x62, 0x6f, 0x78, 0x49, 0x64, 0x12, 0x5c, 0x0a, 0x07, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, - 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x42, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x69, - 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x47, - 0x65, 0x74, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, - 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, - 0x74, 0x79, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4c, 0x6f, 0x67, 0x52, 0x07, 0x75, 0x70, 0x64, - 0x61, 0x74, 0x65, 0x73, 0x22, 0x87, 0x01, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x49, 0x6e, 0x62, 0x6f, - 0x78, 0x49, 0x64, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x4c, 0x0a, 0x08, 0x72, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x30, 0x2e, - 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2e, 0x61, 0x70, - 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x49, 0x6e, 0x62, 0x6f, 0x78, 0x49, 0x64, 0x73, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, - 0x08, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x1a, 0x23, 0x0a, 0x07, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x22, 0xba, - 0x01, 0x0a, 0x13, 0x47, 0x65, 0x74, 0x49, 0x6e, 0x62, 0x6f, 0x78, 0x49, 0x64, 0x73, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x50, 0x0a, 0x09, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x78, 0x6d, 0x74, 0x70, - 0x2e, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, - 0x2e, 0x47, 0x65, 0x74, 0x49, 0x6e, 0x62, 0x6f, 0x78, 0x49, 0x64, 0x73, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x09, 0x72, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x73, 0x1a, 0x51, 0x0a, 0x08, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x1e, - 0x0a, 0x08, 0x69, 0x6e, 0x62, 0x6f, 0x78, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, - 0x48, 0x00, 0x52, 0x07, 0x69, 0x6e, 0x62, 0x6f, 0x78, 0x49, 0x64, 0x88, 0x01, 0x01, 0x42, 0x0b, - 0x0a, 0x09, 0x5f, 0x69, 0x6e, 0x62, 0x6f, 0x78, 0x5f, 0x69, 0x64, 0x32, 0xe3, 0x05, 0x0a, 0x0b, - 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x41, 0x70, 0x69, 0x12, 0xb1, 0x01, 0x0a, 0x15, - 0x50, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x55, - 0x70, 0x64, 0x61, 0x74, 0x65, 0x12, 0x32, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x69, 0x64, 0x65, - 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x75, 0x62, - 0x6c, 0x69, 0x73, 0x68, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x55, 0x70, 0x64, 0x61, - 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x33, 0x2e, 0x78, 0x6d, 0x74, 0x70, - 0x2e, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, - 0x2e, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, - 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x2f, - 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x29, 0x3a, 0x01, 0x2a, 0x22, 0x24, 0x2f, 0x69, 0x64, 0x65, 0x6e, - 0x74, 0x69, 0x74, 0x79, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x2d, - 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2d, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x12, - 0xa5, 0x01, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x55, - 0x70, 0x64, 0x61, 0x74, 0x65, 0x73, 0x12, 0x2f, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x69, 0x64, - 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, - 0x74, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x73, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x30, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x69, - 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x47, - 0x65, 0x74, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, - 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x2c, 0x82, 0xd3, 0xe4, 0x93, 0x02, - 0x26, 0x3a, 0x01, 0x2a, 0x22, 0x21, 0x2f, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2f, - 0x76, 0x31, 0x2f, 0x67, 0x65, 0x74, 0x2d, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2d, - 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x73, 0x12, 0x89, 0x01, 0x0a, 0x0b, 0x47, 0x65, 0x74, 0x49, - 0x6e, 0x62, 0x6f, 0x78, 0x49, 0x64, 0x73, 0x12, 0x28, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x69, - 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x47, - 0x65, 0x74, 0x49, 0x6e, 0x62, 0x6f, 0x78, 0x49, 0x64, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x29, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, - 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x49, 0x6e, 0x62, 0x6f, - 0x78, 0x49, 0x64, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x25, 0x82, 0xd3, - 0xe4, 0x93, 0x02, 0x1f, 0x3a, 0x01, 0x2a, 0x22, 0x1a, 0x2f, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, - 0x74, 0x79, 0x2f, 0x76, 0x31, 0x2f, 0x67, 0x65, 0x74, 0x2d, 0x69, 0x6e, 0x62, 0x6f, 0x78, 0x2d, - 0x69, 0x64, 0x73, 0x12, 0xeb, 0x01, 0x0a, 0x23, 0x56, 0x65, 0x72, 0x69, 0x66, 0x79, 0x53, 0x6d, - 0x61, 0x72, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x57, 0x61, 0x6c, 0x6c, 0x65, - 0x74, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x12, 0x40, 0x2e, 0x78, 0x6d, - 0x74, 0x70, 0x2e, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, - 0x76, 0x31, 0x2e, 0x56, 0x65, 0x72, 0x69, 0x66, 0x79, 0x53, 0x6d, 0x61, 0x72, 0x74, 0x43, 0x6f, - 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x57, 0x61, 0x6c, 0x6c, 0x65, 0x74, 0x53, 0x69, 0x67, 0x6e, - 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x41, 0x2e, - 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2e, 0x61, 0x70, - 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x56, 0x65, 0x72, 0x69, 0x66, 0x79, 0x53, 0x6d, 0x61, 0x72, 0x74, - 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x57, 0x61, 0x6c, 0x6c, 0x65, 0x74, 0x53, 0x69, - 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x22, 0x3f, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x39, 0x3a, 0x01, 0x2a, 0x22, 0x34, 0x2f, 0x69, 0x64, - 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2f, 0x76, 0x31, 0x2f, 0x76, 0x65, 0x72, 0x69, 0x66, 0x79, - 0x2d, 0x73, 0x6d, 0x61, 0x72, 0x74, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x2d, - 0x77, 0x61, 0x6c, 0x6c, 0x65, 0x74, 0x2d, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, - 0x73, 0x42, 0x9d, 0x02, 0x92, 0x41, 0x14, 0x12, 0x12, 0x0a, 0x0b, 0x49, 0x64, 0x65, 0x6e, 0x74, - 0x69, 0x74, 0x79, 0x41, 0x70, 0x69, 0x32, 0x03, 0x31, 0x2e, 0x30, 0x0a, 0x32, 0x6f, 0x72, 0x67, - 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x61, 0x6e, 0x64, 0x72, 0x6f, 0x69, 0x64, 0x2e, 0x6c, 0x69, - 0x62, 0x72, 0x61, 0x72, 0x79, 0x2e, 0x70, 0x75, 0x73, 0x68, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, - 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x42, - 0x0d, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, - 0x5a, 0x4e, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x78, 0x6d, 0x74, - 0x70, 0x2f, 0x65, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x2d, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x69, - 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2d, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2d, 0x67, 0x6f, - 0x2f, 0x70, 0x6b, 0x67, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x69, 0x64, 0x65, 0x6e, 0x74, - 0x69, 0x74, 0x79, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x3b, 0x61, 0x70, 0x69, 0x76, 0x31, - 0xa2, 0x02, 0x03, 0x58, 0x49, 0x41, 0xaa, 0x02, 0x14, 0x58, 0x6d, 0x74, 0x70, 0x2e, 0x49, 0x64, - 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2e, 0x41, 0x70, 0x69, 0x2e, 0x56, 0x31, 0xca, 0x02, 0x14, - 0x58, 0x6d, 0x74, 0x70, 0x5c, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5c, 0x41, 0x70, - 0x69, 0x5c, 0x56, 0x31, 0xe2, 0x02, 0x20, 0x58, 0x6d, 0x74, 0x70, 0x5c, 0x49, 0x64, 0x65, 0x6e, - 0x74, 0x69, 0x74, 0x79, 0x5c, 0x41, 0x70, 0x69, 0x5c, 0x56, 0x31, 0x5c, 0x47, 0x50, 0x42, 0x4d, - 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x17, 0x58, 0x6d, 0x74, 0x70, 0x3a, 0x3a, - 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x3a, 0x3a, 0x41, 0x70, 0x69, 0x3a, 0x3a, 0x56, - 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, -}) +const file_identity_api_v1_identity_proto_rawDesc = "" + + "\n" + + "\x1eidentity/api/v1/identity.proto\x12\x14xmtp.identity.api.v1\x1a\x1cgoogle/api/annotations.proto\x1a'identity/associations/association.proto\x1a.protoc-gen-openapiv2/options/annotations.proto\"\x96\x01\n" + + "*VerifySmartContractWalletSignaturesRequest\x12h\n" + + "\n" + + "signatures\x18\x01 \x03(\v2H.xmtp.identity.api.v1.VerifySmartContractWalletSignatureRequestSignatureR\n" + + "signatures\"\xbe\x01\n" + + "2VerifySmartContractWalletSignatureRequestSignature\x12\x1d\n" + + "\n" + + "account_id\x18\x01 \x01(\tR\taccountId\x12&\n" + + "\fblock_number\x18\x02 \x01(\x04H\x00R\vblockNumber\x88\x01\x01\x12\x1c\n" + + "\tsignature\x18\x03 \x01(\fR\tsignature\x12\x12\n" + + "\x04hash\x18\x04 \x01(\fR\x04hashB\x0f\n" + + "\r_block_number\"\xb1\x02\n" + + "+VerifySmartContractWalletSignaturesResponse\x12r\n" + + "\tresponses\x18\x01 \x03(\v2T.xmtp.identity.api.v1.VerifySmartContractWalletSignaturesResponse.ValidationResponseR\tresponses\x1a\x8d\x01\n" + + "\x12ValidationResponse\x12\x19\n" + + "\bis_valid\x18\x01 \x01(\bR\aisValid\x12&\n" + + "\fblock_number\x18\x02 \x01(\x04H\x00R\vblockNumber\x88\x01\x01\x12\x19\n" + + "\x05error\x18\x03 \x01(\tH\x01R\x05error\x88\x01\x01B\x0f\n" + + "\r_block_numberB\b\n" + + "\x06_error\"s\n" + + "\x1cPublishIdentityUpdateRequest\x12S\n" + + "\x0fidentity_update\x18\x01 \x01(\v2*.xmtp.identity.associations.IdentityUpdateR\x0eidentityUpdate\"\x1f\n" + + "\x1dPublishIdentityUpdateResponse\"\xb7\x01\n" + + "\x19GetIdentityUpdatesRequest\x12S\n" + + "\brequests\x18\x01 \x03(\v27.xmtp.identity.api.v1.GetIdentityUpdatesRequest.RequestR\brequests\x1aE\n" + + "\aRequest\x12\x19\n" + + "\binbox_id\x18\x01 \x01(\tR\ainboxId\x12\x1f\n" + + "\vsequence_id\x18\x02 \x01(\x04R\n" + + "sequenceId\"\xa6\x03\n" + + "\x1aGetIdentityUpdatesResponse\x12W\n" + + "\tresponses\x18\x01 \x03(\v29.xmtp.identity.api.v1.GetIdentityUpdatesResponse.ResponseR\tresponses\x1a\xa8\x01\n" + + "\x11IdentityUpdateLog\x12\x1f\n" + + "\vsequence_id\x18\x01 \x01(\x04R\n" + + "sequenceId\x12.\n" + + "\x13server_timestamp_ns\x18\x02 \x01(\x04R\x11serverTimestampNs\x12B\n" + + "\x06update\x18\x03 \x01(\v2*.xmtp.identity.associations.IdentityUpdateR\x06update\x1a\x83\x01\n" + + "\bResponse\x12\x19\n" + + "\binbox_id\x18\x01 \x01(\tR\ainboxId\x12\\\n" + + "\aupdates\x18\x02 \x03(\v2B.xmtp.identity.api.v1.GetIdentityUpdatesResponse.IdentityUpdateLogR\aupdates\"\xe2\x01\n" + + "\x12GetInboxIdsRequest\x12L\n" + + "\brequests\x18\x01 \x03(\v20.xmtp.identity.api.v1.GetInboxIdsRequest.RequestR\brequests\x1a~\n" + + "\aRequest\x12\x1e\n" + + "\n" + + "identifier\x18\x01 \x01(\tR\n" + + "identifier\x12S\n" + + "\x0fidentifier_kind\x18\x02 \x01(\x0e2*.xmtp.identity.associations.IdentifierKindR\x0eidentifierKind\"\x96\x02\n" + + "\x13GetInboxIdsResponse\x12P\n" + + "\tresponses\x18\x01 \x03(\v22.xmtp.identity.api.v1.GetInboxIdsResponse.ResponseR\tresponses\x1a\xac\x01\n" + + "\bResponse\x12\x1e\n" + + "\n" + + "identifier\x18\x01 \x01(\tR\n" + + "identifier\x12\x1e\n" + + "\binbox_id\x18\x02 \x01(\tH\x00R\ainboxId\x88\x01\x01\x12S\n" + + "\x0fidentifier_kind\x18\x03 \x01(\x0e2*.xmtp.identity.associations.IdentifierKindR\x0eidentifierKindB\v\n" + + "\t_inbox_id2\xe3\x05\n" + + "\vIdentityApi\x12\xb1\x01\n" + + "\x15PublishIdentityUpdate\x122.xmtp.identity.api.v1.PublishIdentityUpdateRequest\x1a3.xmtp.identity.api.v1.PublishIdentityUpdateResponse\"/\x82\xd3\xe4\x93\x02):\x01*\"$/identity/v1/publish-identity-update\x12\xa5\x01\n" + + "\x12GetIdentityUpdates\x12/.xmtp.identity.api.v1.GetIdentityUpdatesRequest\x1a0.xmtp.identity.api.v1.GetIdentityUpdatesResponse\",\x82\xd3\xe4\x93\x02&:\x01*\"!/identity/v1/get-identity-updates\x12\x89\x01\n" + + "\vGetInboxIds\x12(.xmtp.identity.api.v1.GetInboxIdsRequest\x1a).xmtp.identity.api.v1.GetInboxIdsResponse\"%\x82\xd3\xe4\x93\x02\x1f:\x01*\"\x1a/identity/v1/get-inbox-ids\x12\xeb\x01\n" + + "#VerifySmartContractWalletSignatures\x12@.xmtp.identity.api.v1.VerifySmartContractWalletSignaturesRequest\x1aA.xmtp.identity.api.v1.VerifySmartContractWalletSignaturesResponse\"?\x82\xd3\xe4\x93\x029:\x01*\"4/identity/v1/verify-smart-contract-wallet-signaturesB\x9d\x02\x92A\x14\x12\x12\n" + + "\vIdentityApi2\x031.0\n" + + "2org.xmtp.android.library.push.xmtp.identity.api.v1B\rIdentityProtoP\x01ZNgithub.com/xmtp/example-notification-server-go/pkg/proto/identity/api/v1;apiv1\xa2\x02\x03XIA\xaa\x02\x14Xmtp.Identity.Api.V1\xca\x02\x14Xmtp\\Identity\\Api\\V1\xe2\x02 Xmtp\\Identity\\Api\\V1\\GPBMetadata\xea\x02\x17Xmtp::Identity::Api::V1b\x06proto3" var ( file_identity_api_v1_identity_proto_rawDescOnce sync.Once @@ -994,6 +887,7 @@ var file_identity_api_v1_identity_proto_goTypes = []any{ (*GetInboxIdsRequest_Request)(nil), // 13: xmtp.identity.api.v1.GetInboxIdsRequest.Request (*GetInboxIdsResponse_Response)(nil), // 14: xmtp.identity.api.v1.GetInboxIdsResponse.Response (*associations.IdentityUpdate)(nil), // 15: xmtp.identity.associations.IdentityUpdate + (associations.IdentifierKind)(0), // 16: xmtp.identity.associations.IdentifierKind } var file_identity_api_v1_identity_proto_depIdxs = []int32{ 1, // 0: xmtp.identity.api.v1.VerifySmartContractWalletSignaturesRequest.signatures:type_name -> xmtp.identity.api.v1.VerifySmartContractWalletSignatureRequestSignature @@ -1005,19 +899,21 @@ var file_identity_api_v1_identity_proto_depIdxs = []int32{ 14, // 6: xmtp.identity.api.v1.GetInboxIdsResponse.responses:type_name -> xmtp.identity.api.v1.GetInboxIdsResponse.Response 15, // 7: xmtp.identity.api.v1.GetIdentityUpdatesResponse.IdentityUpdateLog.update:type_name -> xmtp.identity.associations.IdentityUpdate 11, // 8: xmtp.identity.api.v1.GetIdentityUpdatesResponse.Response.updates:type_name -> xmtp.identity.api.v1.GetIdentityUpdatesResponse.IdentityUpdateLog - 3, // 9: xmtp.identity.api.v1.IdentityApi.PublishIdentityUpdate:input_type -> xmtp.identity.api.v1.PublishIdentityUpdateRequest - 5, // 10: xmtp.identity.api.v1.IdentityApi.GetIdentityUpdates:input_type -> xmtp.identity.api.v1.GetIdentityUpdatesRequest - 7, // 11: xmtp.identity.api.v1.IdentityApi.GetInboxIds:input_type -> xmtp.identity.api.v1.GetInboxIdsRequest - 0, // 12: xmtp.identity.api.v1.IdentityApi.VerifySmartContractWalletSignatures:input_type -> xmtp.identity.api.v1.VerifySmartContractWalletSignaturesRequest - 4, // 13: xmtp.identity.api.v1.IdentityApi.PublishIdentityUpdate:output_type -> xmtp.identity.api.v1.PublishIdentityUpdateResponse - 6, // 14: xmtp.identity.api.v1.IdentityApi.GetIdentityUpdates:output_type -> xmtp.identity.api.v1.GetIdentityUpdatesResponse - 8, // 15: xmtp.identity.api.v1.IdentityApi.GetInboxIds:output_type -> xmtp.identity.api.v1.GetInboxIdsResponse - 2, // 16: xmtp.identity.api.v1.IdentityApi.VerifySmartContractWalletSignatures:output_type -> xmtp.identity.api.v1.VerifySmartContractWalletSignaturesResponse - 13, // [13:17] is the sub-list for method output_type - 9, // [9:13] is the sub-list for method input_type - 9, // [9:9] is the sub-list for extension type_name - 9, // [9:9] is the sub-list for extension extendee - 0, // [0:9] is the sub-list for field type_name + 16, // 9: xmtp.identity.api.v1.GetInboxIdsRequest.Request.identifier_kind:type_name -> xmtp.identity.associations.IdentifierKind + 16, // 10: xmtp.identity.api.v1.GetInboxIdsResponse.Response.identifier_kind:type_name -> xmtp.identity.associations.IdentifierKind + 3, // 11: xmtp.identity.api.v1.IdentityApi.PublishIdentityUpdate:input_type -> xmtp.identity.api.v1.PublishIdentityUpdateRequest + 5, // 12: xmtp.identity.api.v1.IdentityApi.GetIdentityUpdates:input_type -> xmtp.identity.api.v1.GetIdentityUpdatesRequest + 7, // 13: xmtp.identity.api.v1.IdentityApi.GetInboxIds:input_type -> xmtp.identity.api.v1.GetInboxIdsRequest + 0, // 14: xmtp.identity.api.v1.IdentityApi.VerifySmartContractWalletSignatures:input_type -> xmtp.identity.api.v1.VerifySmartContractWalletSignaturesRequest + 4, // 15: xmtp.identity.api.v1.IdentityApi.PublishIdentityUpdate:output_type -> xmtp.identity.api.v1.PublishIdentityUpdateResponse + 6, // 16: xmtp.identity.api.v1.IdentityApi.GetIdentityUpdates:output_type -> xmtp.identity.api.v1.GetIdentityUpdatesResponse + 8, // 17: xmtp.identity.api.v1.IdentityApi.GetInboxIds:output_type -> xmtp.identity.api.v1.GetInboxIdsResponse + 2, // 18: xmtp.identity.api.v1.IdentityApi.VerifySmartContractWalletSignatures:output_type -> xmtp.identity.api.v1.VerifySmartContractWalletSignaturesResponse + 15, // [15:19] is the sub-list for method output_type + 11, // [11:15] is the sub-list for method input_type + 11, // [11:11] is the sub-list for extension type_name + 11, // [11:11] is the sub-list for extension extendee + 0, // [0:11] is the sub-list for field type_name } func init() { file_identity_api_v1_identity_proto_init() } diff --git a/pkg/proto/identity/associations/association.pb.go b/pkg/proto/identity/associations/association.pb.go index 24ab15d..69968cf 100644 --- a/pkg/proto/identity/associations/association.pb.go +++ b/pkg/proto/identity/associations/association.pb.go @@ -2,7 +2,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.36.5 +// protoc-gen-go v1.36.10 // protoc (unknown) // source: identity/associations/association.proto @@ -23,13 +23,64 @@ const ( _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) +// List of identity kinds +type IdentifierKind int32 + +const ( + IdentifierKind_IDENTIFIER_KIND_UNSPECIFIED IdentifierKind = 0 // Ethereum on old clients + IdentifierKind_IDENTIFIER_KIND_ETHEREUM IdentifierKind = 1 + IdentifierKind_IDENTIFIER_KIND_PASSKEY IdentifierKind = 2 +) + +// Enum value maps for IdentifierKind. +var ( + IdentifierKind_name = map[int32]string{ + 0: "IDENTIFIER_KIND_UNSPECIFIED", + 1: "IDENTIFIER_KIND_ETHEREUM", + 2: "IDENTIFIER_KIND_PASSKEY", + } + IdentifierKind_value = map[string]int32{ + "IDENTIFIER_KIND_UNSPECIFIED": 0, + "IDENTIFIER_KIND_ETHEREUM": 1, + "IDENTIFIER_KIND_PASSKEY": 2, + } +) + +func (x IdentifierKind) Enum() *IdentifierKind { + p := new(IdentifierKind) + *p = x + return p +} + +func (x IdentifierKind) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (IdentifierKind) Descriptor() protoreflect.EnumDescriptor { + return file_identity_associations_association_proto_enumTypes[0].Descriptor() +} + +func (IdentifierKind) Type() protoreflect.EnumType { + return &file_identity_associations_association_proto_enumTypes[0] +} + +func (x IdentifierKind) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use IdentifierKind.Descriptor instead. +func (IdentifierKind) EnumDescriptor() ([]byte, []int) { + return file_identity_associations_association_proto_rawDescGZIP(), []int{0} +} + // The identifier for a member of an XID type MemberIdentifier struct { state protoimpl.MessageState `protogen:"open.v1"` // Types that are valid to be assigned to Kind: // - // *MemberIdentifier_Address + // *MemberIdentifier_EthereumAddress // *MemberIdentifier_InstallationPublicKey + // *MemberIdentifier_Passkey Kind isMemberIdentifier_Kind `protobuf_oneof:"kind"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache @@ -72,10 +123,10 @@ func (x *MemberIdentifier) GetKind() isMemberIdentifier_Kind { return nil } -func (x *MemberIdentifier) GetAddress() string { +func (x *MemberIdentifier) GetEthereumAddress() string { if x != nil { - if x, ok := x.Kind.(*MemberIdentifier_Address); ok { - return x.Address + if x, ok := x.Kind.(*MemberIdentifier_EthereumAddress); ok { + return x.EthereumAddress } } return "" @@ -90,22 +141,90 @@ func (x *MemberIdentifier) GetInstallationPublicKey() []byte { return nil } +func (x *MemberIdentifier) GetPasskey() *Passkey { + if x != nil { + if x, ok := x.Kind.(*MemberIdentifier_Passkey); ok { + return x.Passkey + } + } + return nil +} + type isMemberIdentifier_Kind interface { isMemberIdentifier_Kind() } -type MemberIdentifier_Address struct { - Address string `protobuf:"bytes,1,opt,name=address,proto3,oneof"` +type MemberIdentifier_EthereumAddress struct { + EthereumAddress string `protobuf:"bytes,1,opt,name=ethereum_address,json=ethereumAddress,proto3,oneof"` } type MemberIdentifier_InstallationPublicKey struct { InstallationPublicKey []byte `protobuf:"bytes,2,opt,name=installation_public_key,json=installationPublicKey,proto3,oneof"` } -func (*MemberIdentifier_Address) isMemberIdentifier_Kind() {} +type MemberIdentifier_Passkey struct { + Passkey *Passkey `protobuf:"bytes,3,opt,name=passkey,proto3,oneof"` +} + +func (*MemberIdentifier_EthereumAddress) isMemberIdentifier_Kind() {} func (*MemberIdentifier_InstallationPublicKey) isMemberIdentifier_Kind() {} +func (*MemberIdentifier_Passkey) isMemberIdentifier_Kind() {} + +// Passkey identifier +type Passkey struct { + state protoimpl.MessageState `protogen:"open.v1"` + Key []byte `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"` + RelyingParty *string `protobuf:"bytes,2,opt,name=relying_party,json=relyingParty,proto3,oneof" json:"relying_party,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *Passkey) Reset() { + *x = Passkey{} + mi := &file_identity_associations_association_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *Passkey) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Passkey) ProtoMessage() {} + +func (x *Passkey) ProtoReflect() protoreflect.Message { + mi := &file_identity_associations_association_proto_msgTypes[1] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Passkey.ProtoReflect.Descriptor instead. +func (*Passkey) Descriptor() ([]byte, []int) { + return file_identity_associations_association_proto_rawDescGZIP(), []int{1} +} + +func (x *Passkey) GetKey() []byte { + if x != nil { + return x.Key + } + return nil +} + +func (x *Passkey) GetRelyingParty() string { + if x != nil && x.RelyingParty != nil { + return *x.RelyingParty + } + return "" +} + // single member that optionally indicates the member that added them type Member struct { state protoimpl.MessageState `protogen:"open.v1"` @@ -119,7 +238,7 @@ type Member struct { func (x *Member) Reset() { *x = Member{} - mi := &file_identity_associations_association_proto_msgTypes[1] + mi := &file_identity_associations_association_proto_msgTypes[2] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -131,7 +250,7 @@ func (x *Member) String() string { func (*Member) ProtoMessage() {} func (x *Member) ProtoReflect() protoreflect.Message { - mi := &file_identity_associations_association_proto_msgTypes[1] + mi := &file_identity_associations_association_proto_msgTypes[2] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -144,7 +263,7 @@ func (x *Member) ProtoReflect() protoreflect.Message { // Deprecated: Use Member.ProtoReflect.Descriptor instead. func (*Member) Descriptor() ([]byte, []int) { - return file_identity_associations_association_proto_rawDescGZIP(), []int{1} + return file_identity_associations_association_proto_rawDescGZIP(), []int{2} } func (x *Member) GetIdentifier() *MemberIdentifier { @@ -180,17 +299,20 @@ func (x *Member) GetAddedOnChainId() uint64 { // The recovery address defaults to the initial associated_address unless // there is a subsequent ChangeRecoveryAddress in the log. type CreateInbox struct { - state protoimpl.MessageState `protogen:"open.v1"` - InitialAddress string `protobuf:"bytes,1,opt,name=initial_address,json=initialAddress,proto3" json:"initial_address,omitempty"` - Nonce uint64 `protobuf:"varint,2,opt,name=nonce,proto3" json:"nonce,omitempty"` - InitialAddressSignature *Signature `protobuf:"bytes,3,opt,name=initial_address_signature,json=initialAddressSignature,proto3" json:"initial_address_signature,omitempty"` // Must be an addressable member - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + InitialIdentifier string `protobuf:"bytes,1,opt,name=initial_identifier,json=initialIdentifier,proto3" json:"initial_identifier,omitempty"` + Nonce uint64 `protobuf:"varint,2,opt,name=nonce,proto3" json:"nonce,omitempty"` + InitialIdentifierSignature *Signature `protobuf:"bytes,3,opt,name=initial_identifier_signature,json=initialIdentifierSignature,proto3" json:"initial_identifier_signature,omitempty"` // Must be an addressable member + InitialIdentifierKind IdentifierKind `protobuf:"varint,4,opt,name=initial_identifier_kind,json=initialIdentifierKind,proto3,enum=xmtp.identity.associations.IdentifierKind" json:"initial_identifier_kind,omitempty"` + // Should be provided if identifier kind is passkey + RelyingParty *string `protobuf:"bytes,5,opt,name=relying_party,json=relyingParty,proto3,oneof" json:"relying_party,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *CreateInbox) Reset() { *x = CreateInbox{} - mi := &file_identity_associations_association_proto_msgTypes[2] + mi := &file_identity_associations_association_proto_msgTypes[3] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -202,7 +324,7 @@ func (x *CreateInbox) String() string { func (*CreateInbox) ProtoMessage() {} func (x *CreateInbox) ProtoReflect() protoreflect.Message { - mi := &file_identity_associations_association_proto_msgTypes[2] + mi := &file_identity_associations_association_proto_msgTypes[3] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -215,12 +337,12 @@ func (x *CreateInbox) ProtoReflect() protoreflect.Message { // Deprecated: Use CreateInbox.ProtoReflect.Descriptor instead. func (*CreateInbox) Descriptor() ([]byte, []int) { - return file_identity_associations_association_proto_rawDescGZIP(), []int{2} + return file_identity_associations_association_proto_rawDescGZIP(), []int{3} } -func (x *CreateInbox) GetInitialAddress() string { +func (x *CreateInbox) GetInitialIdentifier() string { if x != nil { - return x.InitialAddress + return x.InitialIdentifier } return "" } @@ -232,13 +354,27 @@ func (x *CreateInbox) GetNonce() uint64 { return 0 } -func (x *CreateInbox) GetInitialAddressSignature() *Signature { +func (x *CreateInbox) GetInitialIdentifierSignature() *Signature { if x != nil { - return x.InitialAddressSignature + return x.InitialIdentifierSignature } return nil } +func (x *CreateInbox) GetInitialIdentifierKind() IdentifierKind { + if x != nil { + return x.InitialIdentifierKind + } + return IdentifierKind_IDENTIFIER_KIND_UNSPECIFIED +} + +func (x *CreateInbox) GetRelyingParty() string { + if x != nil && x.RelyingParty != nil { + return *x.RelyingParty + } + return "" +} + // Adds a new member for an XID - either an addressable member such as a // wallet, or an installation acting on behalf of an address. // A key-pair that has been associated with one role MUST not be permitted to be @@ -248,13 +384,15 @@ type AddAssociation struct { NewMemberIdentifier *MemberIdentifier `protobuf:"bytes,1,opt,name=new_member_identifier,json=newMemberIdentifier,proto3" json:"new_member_identifier,omitempty"` ExistingMemberSignature *Signature `protobuf:"bytes,2,opt,name=existing_member_signature,json=existingMemberSignature,proto3" json:"existing_member_signature,omitempty"` NewMemberSignature *Signature `protobuf:"bytes,3,opt,name=new_member_signature,json=newMemberSignature,proto3" json:"new_member_signature,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache + // Should be provided if identifier kind is passkey + RelyingParty *string `protobuf:"bytes,4,opt,name=relying_party,json=relyingParty,proto3,oneof" json:"relying_party,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *AddAssociation) Reset() { *x = AddAssociation{} - mi := &file_identity_associations_association_proto_msgTypes[3] + mi := &file_identity_associations_association_proto_msgTypes[4] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -266,7 +404,7 @@ func (x *AddAssociation) String() string { func (*AddAssociation) ProtoMessage() {} func (x *AddAssociation) ProtoReflect() protoreflect.Message { - mi := &file_identity_associations_association_proto_msgTypes[3] + mi := &file_identity_associations_association_proto_msgTypes[4] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -279,7 +417,7 @@ func (x *AddAssociation) ProtoReflect() protoreflect.Message { // Deprecated: Use AddAssociation.ProtoReflect.Descriptor instead. func (*AddAssociation) Descriptor() ([]byte, []int) { - return file_identity_associations_association_proto_rawDescGZIP(), []int{3} + return file_identity_associations_association_proto_rawDescGZIP(), []int{4} } func (x *AddAssociation) GetNewMemberIdentifier() *MemberIdentifier { @@ -303,18 +441,25 @@ func (x *AddAssociation) GetNewMemberSignature() *Signature { return nil } +func (x *AddAssociation) GetRelyingParty() string { + if x != nil && x.RelyingParty != nil { + return *x.RelyingParty + } + return "" +} + // Revokes a member from an XID. The recovery address must sign the revocation. type RevokeAssociation struct { - state protoimpl.MessageState `protogen:"open.v1"` - MemberToRevoke *MemberIdentifier `protobuf:"bytes,1,opt,name=member_to_revoke,json=memberToRevoke,proto3" json:"member_to_revoke,omitempty"` - RecoveryAddressSignature *Signature `protobuf:"bytes,2,opt,name=recovery_address_signature,json=recoveryAddressSignature,proto3" json:"recovery_address_signature,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + MemberToRevoke *MemberIdentifier `protobuf:"bytes,1,opt,name=member_to_revoke,json=memberToRevoke,proto3" json:"member_to_revoke,omitempty"` + RecoveryIdentifierSignature *Signature `protobuf:"bytes,2,opt,name=recovery_identifier_signature,json=recoveryIdentifierSignature,proto3" json:"recovery_identifier_signature,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *RevokeAssociation) Reset() { *x = RevokeAssociation{} - mi := &file_identity_associations_association_proto_msgTypes[4] + mi := &file_identity_associations_association_proto_msgTypes[5] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -326,7 +471,7 @@ func (x *RevokeAssociation) String() string { func (*RevokeAssociation) ProtoMessage() {} func (x *RevokeAssociation) ProtoReflect() protoreflect.Message { - mi := &file_identity_associations_association_proto_msgTypes[4] + mi := &file_identity_associations_association_proto_msgTypes[5] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -339,7 +484,7 @@ func (x *RevokeAssociation) ProtoReflect() protoreflect.Message { // Deprecated: Use RevokeAssociation.ProtoReflect.Descriptor instead. func (*RevokeAssociation) Descriptor() ([]byte, []int) { - return file_identity_associations_association_proto_rawDescGZIP(), []int{4} + return file_identity_associations_association_proto_rawDescGZIP(), []int{5} } func (x *RevokeAssociation) GetMemberToRevoke() *MemberIdentifier { @@ -349,27 +494,30 @@ func (x *RevokeAssociation) GetMemberToRevoke() *MemberIdentifier { return nil } -func (x *RevokeAssociation) GetRecoveryAddressSignature() *Signature { +func (x *RevokeAssociation) GetRecoveryIdentifierSignature() *Signature { if x != nil { - return x.RecoveryAddressSignature + return x.RecoveryIdentifierSignature } return nil } -// Changes the recovery address for an XID. The recovery address is not required +// Changes the recovery identifier for an XID. The recovery identifier is not required // to be a member of the XID. In addition to being able to add members, the -// recovery address can also revoke members. +// recovery identifier can also revoke members. type ChangeRecoveryAddress struct { - state protoimpl.MessageState `protogen:"open.v1"` - NewRecoveryAddress string `protobuf:"bytes,1,opt,name=new_recovery_address,json=newRecoveryAddress,proto3" json:"new_recovery_address,omitempty"` - ExistingRecoveryAddressSignature *Signature `protobuf:"bytes,2,opt,name=existing_recovery_address_signature,json=existingRecoveryAddressSignature,proto3" json:"existing_recovery_address_signature,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + NewRecoveryIdentifier string `protobuf:"bytes,1,opt,name=new_recovery_identifier,json=newRecoveryIdentifier,proto3" json:"new_recovery_identifier,omitempty"` + ExistingRecoveryIdentifierSignature *Signature `protobuf:"bytes,2,opt,name=existing_recovery_identifier_signature,json=existingRecoveryIdentifierSignature,proto3" json:"existing_recovery_identifier_signature,omitempty"` + NewRecoveryIdentifierKind IdentifierKind `protobuf:"varint,3,opt,name=new_recovery_identifier_kind,json=newRecoveryIdentifierKind,proto3,enum=xmtp.identity.associations.IdentifierKind" json:"new_recovery_identifier_kind,omitempty"` + // Should be provided if identifier kind is passkey + RelyingParty *string `protobuf:"bytes,4,opt,name=relying_party,json=relyingParty,proto3,oneof" json:"relying_party,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *ChangeRecoveryAddress) Reset() { *x = ChangeRecoveryAddress{} - mi := &file_identity_associations_association_proto_msgTypes[5] + mi := &file_identity_associations_association_proto_msgTypes[6] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -381,7 +529,7 @@ func (x *ChangeRecoveryAddress) String() string { func (*ChangeRecoveryAddress) ProtoMessage() {} func (x *ChangeRecoveryAddress) ProtoReflect() protoreflect.Message { - mi := &file_identity_associations_association_proto_msgTypes[5] + mi := &file_identity_associations_association_proto_msgTypes[6] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -394,23 +542,37 @@ func (x *ChangeRecoveryAddress) ProtoReflect() protoreflect.Message { // Deprecated: Use ChangeRecoveryAddress.ProtoReflect.Descriptor instead. func (*ChangeRecoveryAddress) Descriptor() ([]byte, []int) { - return file_identity_associations_association_proto_rawDescGZIP(), []int{5} + return file_identity_associations_association_proto_rawDescGZIP(), []int{6} } -func (x *ChangeRecoveryAddress) GetNewRecoveryAddress() string { +func (x *ChangeRecoveryAddress) GetNewRecoveryIdentifier() string { if x != nil { - return x.NewRecoveryAddress + return x.NewRecoveryIdentifier } return "" } -func (x *ChangeRecoveryAddress) GetExistingRecoveryAddressSignature() *Signature { +func (x *ChangeRecoveryAddress) GetExistingRecoveryIdentifierSignature() *Signature { if x != nil { - return x.ExistingRecoveryAddressSignature + return x.ExistingRecoveryIdentifierSignature } return nil } +func (x *ChangeRecoveryAddress) GetNewRecoveryIdentifierKind() IdentifierKind { + if x != nil { + return x.NewRecoveryIdentifierKind + } + return IdentifierKind_IDENTIFIER_KIND_UNSPECIFIED +} + +func (x *ChangeRecoveryAddress) GetRelyingParty() string { + if x != nil && x.RelyingParty != nil { + return *x.RelyingParty + } + return "" +} + // A single identity operation type IdentityAction struct { state protoimpl.MessageState `protogen:"open.v1"` @@ -427,7 +589,7 @@ type IdentityAction struct { func (x *IdentityAction) Reset() { *x = IdentityAction{} - mi := &file_identity_associations_association_proto_msgTypes[6] + mi := &file_identity_associations_association_proto_msgTypes[7] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -439,7 +601,7 @@ func (x *IdentityAction) String() string { func (*IdentityAction) ProtoMessage() {} func (x *IdentityAction) ProtoReflect() protoreflect.Message { - mi := &file_identity_associations_association_proto_msgTypes[6] + mi := &file_identity_associations_association_proto_msgTypes[7] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -452,7 +614,7 @@ func (x *IdentityAction) ProtoReflect() protoreflect.Message { // Deprecated: Use IdentityAction.ProtoReflect.Descriptor instead. func (*IdentityAction) Descriptor() ([]byte, []int) { - return file_identity_associations_association_proto_rawDescGZIP(), []int{6} + return file_identity_associations_association_proto_rawDescGZIP(), []int{7} } func (x *IdentityAction) GetKind() isIdentityAction_Kind { @@ -544,7 +706,7 @@ type IdentityUpdate struct { func (x *IdentityUpdate) Reset() { *x = IdentityUpdate{} - mi := &file_identity_associations_association_proto_msgTypes[7] + mi := &file_identity_associations_association_proto_msgTypes[8] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -556,7 +718,7 @@ func (x *IdentityUpdate) String() string { func (*IdentityUpdate) ProtoMessage() {} func (x *IdentityUpdate) ProtoReflect() protoreflect.Message { - mi := &file_identity_associations_association_proto_msgTypes[7] + mi := &file_identity_associations_association_proto_msgTypes[8] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -569,7 +731,7 @@ func (x *IdentityUpdate) ProtoReflect() protoreflect.Message { // Deprecated: Use IdentityUpdate.ProtoReflect.Descriptor instead. func (*IdentityUpdate) Descriptor() ([]byte, []int) { - return file_identity_associations_association_proto_rawDescGZIP(), []int{7} + return file_identity_associations_association_proto_rawDescGZIP(), []int{8} } func (x *IdentityUpdate) GetActions() []*IdentityAction { @@ -604,7 +766,7 @@ type MemberMap struct { func (x *MemberMap) Reset() { *x = MemberMap{} - mi := &file_identity_associations_association_proto_msgTypes[8] + mi := &file_identity_associations_association_proto_msgTypes[9] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -616,7 +778,7 @@ func (x *MemberMap) String() string { func (*MemberMap) ProtoMessage() {} func (x *MemberMap) ProtoReflect() protoreflect.Message { - mi := &file_identity_associations_association_proto_msgTypes[8] + mi := &file_identity_associations_association_proto_msgTypes[9] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -629,7 +791,7 @@ func (x *MemberMap) ProtoReflect() protoreflect.Message { // Deprecated: Use MemberMap.ProtoReflect.Descriptor instead. func (*MemberMap) Descriptor() ([]byte, []int) { - return file_identity_associations_association_proto_rawDescGZIP(), []int{8} + return file_identity_associations_association_proto_rawDescGZIP(), []int{9} } func (x *MemberMap) GetKey() *MemberIdentifier { @@ -648,18 +810,21 @@ func (x *MemberMap) GetValue() *Member { // A final association state resulting from multiple `IdentityUpdates` type AssociationState struct { - state protoimpl.MessageState `protogen:"open.v1"` - InboxId string `protobuf:"bytes,1,opt,name=inbox_id,json=inboxId,proto3" json:"inbox_id,omitempty"` - Members []*MemberMap `protobuf:"bytes,2,rep,name=members,proto3" json:"members,omitempty"` - RecoveryAddress string `protobuf:"bytes,3,opt,name=recovery_address,json=recoveryAddress,proto3" json:"recovery_address,omitempty"` - SeenSignatures [][]byte `protobuf:"bytes,4,rep,name=seen_signatures,json=seenSignatures,proto3" json:"seen_signatures,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + InboxId string `protobuf:"bytes,1,opt,name=inbox_id,json=inboxId,proto3" json:"inbox_id,omitempty"` + Members []*MemberMap `protobuf:"bytes,2,rep,name=members,proto3" json:"members,omitempty"` + RecoveryIdentifier string `protobuf:"bytes,3,opt,name=recovery_identifier,json=recoveryIdentifier,proto3" json:"recovery_identifier,omitempty"` + SeenSignatures [][]byte `protobuf:"bytes,4,rep,name=seen_signatures,json=seenSignatures,proto3" json:"seen_signatures,omitempty"` + RecoveryIdentifierKind IdentifierKind `protobuf:"varint,5,opt,name=recovery_identifier_kind,json=recoveryIdentifierKind,proto3,enum=xmtp.identity.associations.IdentifierKind" json:"recovery_identifier_kind,omitempty"` + // Should be provided if identifier kind is passkey + RelyingParty *string `protobuf:"bytes,6,opt,name=relying_party,json=relyingParty,proto3,oneof" json:"relying_party,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *AssociationState) Reset() { *x = AssociationState{} - mi := &file_identity_associations_association_proto_msgTypes[9] + mi := &file_identity_associations_association_proto_msgTypes[10] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -671,7 +836,7 @@ func (x *AssociationState) String() string { func (*AssociationState) ProtoMessage() {} func (x *AssociationState) ProtoReflect() protoreflect.Message { - mi := &file_identity_associations_association_proto_msgTypes[9] + mi := &file_identity_associations_association_proto_msgTypes[10] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -684,7 +849,7 @@ func (x *AssociationState) ProtoReflect() protoreflect.Message { // Deprecated: Use AssociationState.ProtoReflect.Descriptor instead. func (*AssociationState) Descriptor() ([]byte, []int) { - return file_identity_associations_association_proto_rawDescGZIP(), []int{9} + return file_identity_associations_association_proto_rawDescGZIP(), []int{10} } func (x *AssociationState) GetInboxId() string { @@ -701,9 +866,9 @@ func (x *AssociationState) GetMembers() []*MemberMap { return nil } -func (x *AssociationState) GetRecoveryAddress() string { +func (x *AssociationState) GetRecoveryIdentifier() string { if x != nil { - return x.RecoveryAddress + return x.RecoveryIdentifier } return "" } @@ -715,6 +880,20 @@ func (x *AssociationState) GetSeenSignatures() [][]byte { return nil } +func (x *AssociationState) GetRecoveryIdentifierKind() IdentifierKind { + if x != nil { + return x.RecoveryIdentifierKind + } + return IdentifierKind_IDENTIFIER_KIND_UNSPECIFIED +} + +func (x *AssociationState) GetRelyingParty() string { + if x != nil && x.RelyingParty != nil { + return *x.RelyingParty + } + return "" +} + // / state diff between two final AssociationStates type AssociationStateDiff struct { state protoimpl.MessageState `protogen:"open.v1"` @@ -726,7 +905,7 @@ type AssociationStateDiff struct { func (x *AssociationStateDiff) Reset() { *x = AssociationStateDiff{} - mi := &file_identity_associations_association_proto_msgTypes[10] + mi := &file_identity_associations_association_proto_msgTypes[11] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -738,7 +917,7 @@ func (x *AssociationStateDiff) String() string { func (*AssociationStateDiff) ProtoMessage() {} func (x *AssociationStateDiff) ProtoReflect() protoreflect.Message { - mi := &file_identity_associations_association_proto_msgTypes[10] + mi := &file_identity_associations_association_proto_msgTypes[11] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -751,7 +930,7 @@ func (x *AssociationStateDiff) ProtoReflect() protoreflect.Message { // Deprecated: Use AssociationStateDiff.ProtoReflect.Descriptor instead. func (*AssociationStateDiff) Descriptor() ([]byte, []int) { - return file_identity_associations_association_proto_rawDescGZIP(), []int{10} + return file_identity_associations_association_proto_rawDescGZIP(), []int{11} } func (x *AssociationStateDiff) GetNewMembers() []*MemberIdentifier { @@ -770,184 +949,80 @@ func (x *AssociationStateDiff) GetRemovedMembers() []*MemberIdentifier { var File_identity_associations_association_proto protoreflect.FileDescriptor -var file_identity_associations_association_proto_rawDesc = string([]byte{ - 0x0a, 0x27, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2f, 0x61, 0x73, 0x73, 0x6f, 0x63, - 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x61, 0x73, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x1a, 0x78, 0x6d, 0x74, 0x70, 0x2e, - 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2e, 0x61, 0x73, 0x73, 0x6f, 0x63, 0x69, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x1a, 0x25, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2f, - 0x61, 0x73, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x69, 0x67, - 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x70, 0x0a, 0x10, - 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, - 0x12, 0x1a, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x48, 0x00, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x38, 0x0a, 0x17, - 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x75, 0x62, - 0x6c, 0x69, 0x63, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x48, 0x00, 0x52, - 0x15, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x75, 0x62, - 0x6c, 0x69, 0x63, 0x4b, 0x65, 0x79, 0x42, 0x06, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x22, 0xd8, - 0x02, 0x0a, 0x06, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x4c, 0x0a, 0x0a, 0x69, 0x64, 0x65, - 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, - 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2e, 0x61, 0x73, - 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x4d, 0x65, 0x6d, 0x62, 0x65, - 0x72, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x52, 0x0a, 0x69, 0x64, 0x65, - 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x12, 0x59, 0x0a, 0x0f, 0x61, 0x64, 0x64, 0x65, 0x64, - 0x5f, 0x62, 0x79, 0x5f, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x2c, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, - 0x2e, 0x61, 0x73, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x4d, 0x65, - 0x6d, 0x62, 0x65, 0x72, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x48, 0x00, - 0x52, 0x0d, 0x61, 0x64, 0x64, 0x65, 0x64, 0x42, 0x79, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x88, - 0x01, 0x01, 0x12, 0x33, 0x0a, 0x13, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x74, 0x69, 0x6d, - 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x5f, 0x6e, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x48, - 0x01, 0x52, 0x11, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, - 0x6d, 0x70, 0x4e, 0x73, 0x88, 0x01, 0x01, 0x12, 0x2e, 0x0a, 0x11, 0x61, 0x64, 0x64, 0x65, 0x64, - 0x5f, 0x6f, 0x6e, 0x5f, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, - 0x28, 0x04, 0x48, 0x02, 0x52, 0x0e, 0x61, 0x64, 0x64, 0x65, 0x64, 0x4f, 0x6e, 0x43, 0x68, 0x61, - 0x69, 0x6e, 0x49, 0x64, 0x88, 0x01, 0x01, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x61, 0x64, 0x64, 0x65, - 0x64, 0x5f, 0x62, 0x79, 0x5f, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x42, 0x16, 0x0a, 0x14, 0x5f, - 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, - 0x5f, 0x6e, 0x73, 0x42, 0x14, 0x0a, 0x12, 0x5f, 0x61, 0x64, 0x64, 0x65, 0x64, 0x5f, 0x6f, 0x6e, - 0x5f, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5f, 0x69, 0x64, 0x22, 0xaf, 0x01, 0x0a, 0x0b, 0x43, 0x72, - 0x65, 0x61, 0x74, 0x65, 0x49, 0x6e, 0x62, 0x6f, 0x78, 0x12, 0x27, 0x0a, 0x0f, 0x69, 0x6e, 0x69, - 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x0e, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x41, 0x64, 0x64, 0x72, 0x65, - 0x73, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x6e, 0x6f, 0x6e, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x04, 0x52, 0x05, 0x6e, 0x6f, 0x6e, 0x63, 0x65, 0x12, 0x61, 0x0a, 0x19, 0x69, 0x6e, 0x69, 0x74, - 0x69, 0x61, 0x6c, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x5f, 0x73, 0x69, 0x67, 0x6e, - 0x61, 0x74, 0x75, 0x72, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x78, 0x6d, - 0x74, 0x70, 0x2e, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2e, 0x61, 0x73, 0x73, 0x6f, - 0x63, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, - 0x72, 0x65, 0x52, 0x17, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x41, 0x64, 0x64, 0x72, 0x65, - 0x73, 0x73, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x22, 0xae, 0x02, 0x0a, 0x0e, - 0x41, 0x64, 0x64, 0x41, 0x73, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x60, - 0x0a, 0x15, 0x6e, 0x65, 0x77, 0x5f, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x65, - 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, - 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2e, 0x61, 0x73, - 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x4d, 0x65, 0x6d, 0x62, 0x65, - 0x72, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x52, 0x13, 0x6e, 0x65, 0x77, - 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, - 0x12, 0x61, 0x0a, 0x19, 0x65, 0x78, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x6d, 0x65, 0x6d, - 0x62, 0x65, 0x72, 0x5f, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x69, 0x64, 0x65, 0x6e, 0x74, - 0x69, 0x74, 0x79, 0x2e, 0x61, 0x73, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, - 0x2e, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x52, 0x17, 0x65, 0x78, 0x69, 0x73, - 0x74, 0x69, 0x6e, 0x67, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, - 0x75, 0x72, 0x65, 0x12, 0x57, 0x0a, 0x14, 0x6e, 0x65, 0x77, 0x5f, 0x6d, 0x65, 0x6d, 0x62, 0x65, - 0x72, 0x5f, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x25, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, - 0x79, 0x2e, 0x61, 0x73, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x53, - 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x52, 0x12, 0x6e, 0x65, 0x77, 0x4d, 0x65, 0x6d, - 0x62, 0x65, 0x72, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x22, 0xd0, 0x01, 0x0a, - 0x11, 0x52, 0x65, 0x76, 0x6f, 0x6b, 0x65, 0x41, 0x73, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x12, 0x56, 0x0a, 0x10, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x5f, 0x74, 0x6f, 0x5f, - 0x72, 0x65, 0x76, 0x6f, 0x6b, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x78, - 0x6d, 0x74, 0x70, 0x2e, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2e, 0x61, 0x73, 0x73, - 0x6f, 0x63, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, - 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x52, 0x0e, 0x6d, 0x65, 0x6d, 0x62, - 0x65, 0x72, 0x54, 0x6f, 0x52, 0x65, 0x76, 0x6f, 0x6b, 0x65, 0x12, 0x63, 0x0a, 0x1a, 0x72, 0x65, - 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x5f, 0x73, - 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, - 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2e, 0x61, - 0x73, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x53, 0x69, 0x67, 0x6e, - 0x61, 0x74, 0x75, 0x72, 0x65, 0x52, 0x18, 0x72, 0x65, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x41, - 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x22, - 0xbf, 0x01, 0x0a, 0x15, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x52, 0x65, 0x63, 0x6f, 0x76, 0x65, - 0x72, 0x79, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x30, 0x0a, 0x14, 0x6e, 0x65, 0x77, - 0x5f, 0x72, 0x65, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, - 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x12, 0x6e, 0x65, 0x77, 0x52, 0x65, 0x63, 0x6f, - 0x76, 0x65, 0x72, 0x79, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x74, 0x0a, 0x23, 0x65, - 0x78, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x72, 0x65, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, - 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x5f, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, - 0x72, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, - 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2e, 0x61, 0x73, 0x73, 0x6f, 0x63, 0x69, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x52, - 0x20, 0x65, 0x78, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x63, 0x6f, 0x76, 0x65, 0x72, - 0x79, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, - 0x65, 0x22, 0xdc, 0x02, 0x0a, 0x0e, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x41, 0x63, - 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x4c, 0x0a, 0x0c, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x69, - 0x6e, 0x62, 0x6f, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x78, 0x6d, 0x74, - 0x70, 0x2e, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2e, 0x61, 0x73, 0x73, 0x6f, 0x63, - 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x49, 0x6e, - 0x62, 0x6f, 0x78, 0x48, 0x00, 0x52, 0x0b, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x49, 0x6e, 0x62, - 0x6f, 0x78, 0x12, 0x3e, 0x0a, 0x03, 0x61, 0x64, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x2a, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2e, - 0x61, 0x73, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x41, 0x64, 0x64, - 0x41, 0x73, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x03, 0x61, - 0x64, 0x64, 0x12, 0x47, 0x0a, 0x06, 0x72, 0x65, 0x76, 0x6f, 0x6b, 0x65, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, - 0x74, 0x79, 0x2e, 0x61, 0x73, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, - 0x52, 0x65, 0x76, 0x6f, 0x6b, 0x65, 0x41, 0x73, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x48, 0x00, 0x52, 0x06, 0x72, 0x65, 0x76, 0x6f, 0x6b, 0x65, 0x12, 0x6b, 0x0a, 0x17, 0x63, - 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x65, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x5f, 0x61, - 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x78, - 0x6d, 0x74, 0x70, 0x2e, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2e, 0x61, 0x73, 0x73, - 0x6f, 0x63, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, - 0x52, 0x65, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x48, - 0x00, 0x52, 0x15, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x52, 0x65, 0x63, 0x6f, 0x76, 0x65, 0x72, - 0x79, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x42, 0x06, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, - 0x22, 0xa1, 0x01, 0x0a, 0x0e, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x55, 0x70, 0x64, - 0x61, 0x74, 0x65, 0x12, 0x44, 0x0a, 0x07, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, - 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x69, 0x64, 0x65, 0x6e, - 0x74, 0x69, 0x74, 0x79, 0x2e, 0x61, 0x73, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x73, 0x2e, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, - 0x52, 0x07, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x2e, 0x0a, 0x13, 0x63, 0x6c, 0x69, - 0x65, 0x6e, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x5f, 0x6e, 0x73, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x11, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x69, - 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x4e, 0x73, 0x12, 0x19, 0x0a, 0x08, 0x69, 0x6e, 0x62, - 0x6f, 0x78, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x69, 0x6e, 0x62, - 0x6f, 0x78, 0x49, 0x64, 0x22, 0x85, 0x01, 0x0a, 0x09, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x4d, - 0x61, 0x70, 0x12, 0x3e, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x2c, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2e, - 0x61, 0x73, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x4d, 0x65, 0x6d, - 0x62, 0x65, 0x72, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x52, 0x03, 0x6b, - 0x65, 0x79, 0x12, 0x38, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x22, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, - 0x79, 0x2e, 0x61, 0x73, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x4d, - 0x65, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0xc2, 0x01, 0x0a, - 0x10, 0x41, 0x73, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, - 0x65, 0x12, 0x19, 0x0a, 0x08, 0x69, 0x6e, 0x62, 0x6f, 0x78, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x07, 0x69, 0x6e, 0x62, 0x6f, 0x78, 0x49, 0x64, 0x12, 0x3f, 0x0a, 0x07, - 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x25, 0x2e, - 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2e, 0x61, 0x73, - 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x4d, 0x65, 0x6d, 0x62, 0x65, - 0x72, 0x4d, 0x61, 0x70, 0x52, 0x07, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x12, 0x29, 0x0a, - 0x10, 0x72, 0x65, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, - 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x72, 0x65, 0x63, 0x6f, 0x76, 0x65, 0x72, - 0x79, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x27, 0x0a, 0x0f, 0x73, 0x65, 0x65, 0x6e, - 0x5f, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, - 0x0c, 0x52, 0x0e, 0x73, 0x65, 0x65, 0x6e, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, - 0x73, 0x22, 0xbc, 0x01, 0x0a, 0x14, 0x41, 0x73, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x44, 0x69, 0x66, 0x66, 0x12, 0x4d, 0x0a, 0x0b, 0x6e, 0x65, - 0x77, 0x5f, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, - 0x2c, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2e, - 0x61, 0x73, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x4d, 0x65, 0x6d, - 0x62, 0x65, 0x72, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x52, 0x0a, 0x6e, - 0x65, 0x77, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x12, 0x55, 0x0a, 0x0f, 0x72, 0x65, 0x6d, - 0x6f, 0x76, 0x65, 0x64, 0x5f, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x18, 0x02, 0x20, 0x03, - 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, - 0x74, 0x79, 0x2e, 0x61, 0x73, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, - 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, - 0x52, 0x0e, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x64, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, - 0x42, 0xa6, 0x02, 0x0a, 0x38, 0x6f, 0x72, 0x67, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x61, 0x6e, - 0x64, 0x72, 0x6f, 0x69, 0x64, 0x2e, 0x6c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x2e, 0x70, 0x75, - 0x73, 0x68, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, - 0x2e, 0x61, 0x73, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x42, 0x10, 0x41, - 0x73, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, - 0x01, 0x5a, 0x4e, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x78, 0x6d, - 0x74, 0x70, 0x2f, 0x65, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x2d, 0x6e, 0x6f, 0x74, 0x69, 0x66, - 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2d, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2d, 0x67, - 0x6f, 0x2f, 0x70, 0x6b, 0x67, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x69, 0x64, 0x65, 0x6e, - 0x74, 0x69, 0x74, 0x79, 0x2f, 0x61, 0x73, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x73, 0xa2, 0x02, 0x03, 0x58, 0x49, 0x41, 0xaa, 0x02, 0x1a, 0x58, 0x6d, 0x74, 0x70, 0x2e, 0x49, - 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2e, 0x41, 0x73, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x73, 0xca, 0x02, 0x1a, 0x58, 0x6d, 0x74, 0x70, 0x5c, 0x49, 0x64, 0x65, 0x6e, - 0x74, 0x69, 0x74, 0x79, 0x5c, 0x41, 0x73, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x73, 0xe2, 0x02, 0x26, 0x58, 0x6d, 0x74, 0x70, 0x5c, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, - 0x79, 0x5c, 0x41, 0x73, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x5c, 0x47, - 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x1c, 0x58, 0x6d, 0x74, - 0x70, 0x3a, 0x3a, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x3a, 0x3a, 0x41, 0x73, 0x73, - 0x6f, 0x63, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x33, -}) +const file_identity_associations_association_proto_rawDesc = "" + + "\n" + + "'identity/associations/association.proto\x12\x1axmtp.identity.associations\x1a%identity/associations/signature.proto\"\xc2\x01\n" + + "\x10MemberIdentifier\x12+\n" + + "\x10ethereum_address\x18\x01 \x01(\tH\x00R\x0fethereumAddress\x128\n" + + "\x17installation_public_key\x18\x02 \x01(\fH\x00R\x15installationPublicKey\x12?\n" + + "\apasskey\x18\x03 \x01(\v2#.xmtp.identity.associations.PasskeyH\x00R\apasskeyB\x06\n" + + "\x04kind\"W\n" + + "\aPasskey\x12\x10\n" + + "\x03key\x18\x01 \x01(\fR\x03key\x12(\n" + + "\rrelying_party\x18\x02 \x01(\tH\x00R\frelyingParty\x88\x01\x01B\x10\n" + + "\x0e_relying_party\"\xd8\x02\n" + + "\x06Member\x12L\n" + + "\n" + + "identifier\x18\x01 \x01(\v2,.xmtp.identity.associations.MemberIdentifierR\n" + + "identifier\x12Y\n" + + "\x0fadded_by_entity\x18\x02 \x01(\v2,.xmtp.identity.associations.MemberIdentifierH\x00R\raddedByEntity\x88\x01\x01\x123\n" + + "\x13client_timestamp_ns\x18\x03 \x01(\x04H\x01R\x11clientTimestampNs\x88\x01\x01\x12.\n" + + "\x11added_on_chain_id\x18\x04 \x01(\x04H\x02R\x0eaddedOnChainId\x88\x01\x01B\x12\n" + + "\x10_added_by_entityB\x16\n" + + "\x14_client_timestamp_nsB\x14\n" + + "\x12_added_on_chain_id\"\xdb\x02\n" + + "\vCreateInbox\x12-\n" + + "\x12initial_identifier\x18\x01 \x01(\tR\x11initialIdentifier\x12\x14\n" + + "\x05nonce\x18\x02 \x01(\x04R\x05nonce\x12g\n" + + "\x1cinitial_identifier_signature\x18\x03 \x01(\v2%.xmtp.identity.associations.SignatureR\x1ainitialIdentifierSignature\x12b\n" + + "\x17initial_identifier_kind\x18\x04 \x01(\x0e2*.xmtp.identity.associations.IdentifierKindR\x15initialIdentifierKind\x12(\n" + + "\rrelying_party\x18\x05 \x01(\tH\x00R\frelyingParty\x88\x01\x01B\x10\n" + + "\x0e_relying_party\"\xea\x02\n" + + "\x0eAddAssociation\x12`\n" + + "\x15new_member_identifier\x18\x01 \x01(\v2,.xmtp.identity.associations.MemberIdentifierR\x13newMemberIdentifier\x12a\n" + + "\x19existing_member_signature\x18\x02 \x01(\v2%.xmtp.identity.associations.SignatureR\x17existingMemberSignature\x12W\n" + + "\x14new_member_signature\x18\x03 \x01(\v2%.xmtp.identity.associations.SignatureR\x12newMemberSignature\x12(\n" + + "\rrelying_party\x18\x04 \x01(\tH\x00R\frelyingParty\x88\x01\x01B\x10\n" + + "\x0e_relying_party\"\xd6\x01\n" + + "\x11RevokeAssociation\x12V\n" + + "\x10member_to_revoke\x18\x01 \x01(\v2,.xmtp.identity.associations.MemberIdentifierR\x0ememberToRevoke\x12i\n" + + "\x1drecovery_identifier_signature\x18\x02 \x01(\v2%.xmtp.identity.associations.SignatureR\x1brecoveryIdentifierSignature\"\xf4\x02\n" + + "\x15ChangeRecoveryAddress\x126\n" + + "\x17new_recovery_identifier\x18\x01 \x01(\tR\x15newRecoveryIdentifier\x12z\n" + + "&existing_recovery_identifier_signature\x18\x02 \x01(\v2%.xmtp.identity.associations.SignatureR#existingRecoveryIdentifierSignature\x12k\n" + + "\x1cnew_recovery_identifier_kind\x18\x03 \x01(\x0e2*.xmtp.identity.associations.IdentifierKindR\x19newRecoveryIdentifierKind\x12(\n" + + "\rrelying_party\x18\x04 \x01(\tH\x00R\frelyingParty\x88\x01\x01B\x10\n" + + "\x0e_relying_party\"\xdc\x02\n" + + "\x0eIdentityAction\x12L\n" + + "\fcreate_inbox\x18\x01 \x01(\v2'.xmtp.identity.associations.CreateInboxH\x00R\vcreateInbox\x12>\n" + + "\x03add\x18\x02 \x01(\v2*.xmtp.identity.associations.AddAssociationH\x00R\x03add\x12G\n" + + "\x06revoke\x18\x03 \x01(\v2-.xmtp.identity.associations.RevokeAssociationH\x00R\x06revoke\x12k\n" + + "\x17change_recovery_address\x18\x04 \x01(\v21.xmtp.identity.associations.ChangeRecoveryAddressH\x00R\x15changeRecoveryAddressB\x06\n" + + "\x04kind\"\xa1\x01\n" + + "\x0eIdentityUpdate\x12D\n" + + "\aactions\x18\x01 \x03(\v2*.xmtp.identity.associations.IdentityActionR\aactions\x12.\n" + + "\x13client_timestamp_ns\x18\x02 \x01(\x04R\x11clientTimestampNs\x12\x19\n" + + "\binbox_id\x18\x03 \x01(\tR\ainboxId\"\x85\x01\n" + + "\tMemberMap\x12>\n" + + "\x03key\x18\x01 \x01(\v2,.xmtp.identity.associations.MemberIdentifierR\x03key\x128\n" + + "\x05value\x18\x02 \x01(\v2\".xmtp.identity.associations.MemberR\x05value\"\xea\x02\n" + + "\x10AssociationState\x12\x19\n" + + "\binbox_id\x18\x01 \x01(\tR\ainboxId\x12?\n" + + "\amembers\x18\x02 \x03(\v2%.xmtp.identity.associations.MemberMapR\amembers\x12/\n" + + "\x13recovery_identifier\x18\x03 \x01(\tR\x12recoveryIdentifier\x12'\n" + + "\x0fseen_signatures\x18\x04 \x03(\fR\x0eseenSignatures\x12d\n" + + "\x18recovery_identifier_kind\x18\x05 \x01(\x0e2*.xmtp.identity.associations.IdentifierKindR\x16recoveryIdentifierKind\x12(\n" + + "\rrelying_party\x18\x06 \x01(\tH\x00R\frelyingParty\x88\x01\x01B\x10\n" + + "\x0e_relying_party\"\xbc\x01\n" + + "\x14AssociationStateDiff\x12M\n" + + "\vnew_members\x18\x01 \x03(\v2,.xmtp.identity.associations.MemberIdentifierR\n" + + "newMembers\x12U\n" + + "\x0fremoved_members\x18\x02 \x03(\v2,.xmtp.identity.associations.MemberIdentifierR\x0eremovedMembers*l\n" + + "\x0eIdentifierKind\x12\x1f\n" + + "\x1bIDENTIFIER_KIND_UNSPECIFIED\x10\x00\x12\x1c\n" + + "\x18IDENTIFIER_KIND_ETHEREUM\x10\x01\x12\x1b\n" + + "\x17IDENTIFIER_KIND_PASSKEY\x10\x02B\xa6\x02\n" + + "8org.xmtp.android.library.push.xmtp.identity.associationsB\x10AssociationProtoP\x01ZNgithub.com/xmtp/example-notification-server-go/pkg/proto/identity/associations\xa2\x02\x03XIA\xaa\x02\x1aXmtp.Identity.Associations\xca\x02\x1aXmtp\\Identity\\Associations\xe2\x02&Xmtp\\Identity\\Associations\\GPBMetadata\xea\x02\x1cXmtp::Identity::Associationsb\x06proto3" var ( file_identity_associations_association_proto_rawDescOnce sync.Once @@ -961,46 +1036,53 @@ func file_identity_associations_association_proto_rawDescGZIP() []byte { return file_identity_associations_association_proto_rawDescData } -var file_identity_associations_association_proto_msgTypes = make([]protoimpl.MessageInfo, 11) +var file_identity_associations_association_proto_enumTypes = make([]protoimpl.EnumInfo, 1) +var file_identity_associations_association_proto_msgTypes = make([]protoimpl.MessageInfo, 12) var file_identity_associations_association_proto_goTypes = []any{ - (*MemberIdentifier)(nil), // 0: xmtp.identity.associations.MemberIdentifier - (*Member)(nil), // 1: xmtp.identity.associations.Member - (*CreateInbox)(nil), // 2: xmtp.identity.associations.CreateInbox - (*AddAssociation)(nil), // 3: xmtp.identity.associations.AddAssociation - (*RevokeAssociation)(nil), // 4: xmtp.identity.associations.RevokeAssociation - (*ChangeRecoveryAddress)(nil), // 5: xmtp.identity.associations.ChangeRecoveryAddress - (*IdentityAction)(nil), // 6: xmtp.identity.associations.IdentityAction - (*IdentityUpdate)(nil), // 7: xmtp.identity.associations.IdentityUpdate - (*MemberMap)(nil), // 8: xmtp.identity.associations.MemberMap - (*AssociationState)(nil), // 9: xmtp.identity.associations.AssociationState - (*AssociationStateDiff)(nil), // 10: xmtp.identity.associations.AssociationStateDiff - (*Signature)(nil), // 11: xmtp.identity.associations.Signature + (IdentifierKind)(0), // 0: xmtp.identity.associations.IdentifierKind + (*MemberIdentifier)(nil), // 1: xmtp.identity.associations.MemberIdentifier + (*Passkey)(nil), // 2: xmtp.identity.associations.Passkey + (*Member)(nil), // 3: xmtp.identity.associations.Member + (*CreateInbox)(nil), // 4: xmtp.identity.associations.CreateInbox + (*AddAssociation)(nil), // 5: xmtp.identity.associations.AddAssociation + (*RevokeAssociation)(nil), // 6: xmtp.identity.associations.RevokeAssociation + (*ChangeRecoveryAddress)(nil), // 7: xmtp.identity.associations.ChangeRecoveryAddress + (*IdentityAction)(nil), // 8: xmtp.identity.associations.IdentityAction + (*IdentityUpdate)(nil), // 9: xmtp.identity.associations.IdentityUpdate + (*MemberMap)(nil), // 10: xmtp.identity.associations.MemberMap + (*AssociationState)(nil), // 11: xmtp.identity.associations.AssociationState + (*AssociationStateDiff)(nil), // 12: xmtp.identity.associations.AssociationStateDiff + (*Signature)(nil), // 13: xmtp.identity.associations.Signature } var file_identity_associations_association_proto_depIdxs = []int32{ - 0, // 0: xmtp.identity.associations.Member.identifier:type_name -> xmtp.identity.associations.MemberIdentifier - 0, // 1: xmtp.identity.associations.Member.added_by_entity:type_name -> xmtp.identity.associations.MemberIdentifier - 11, // 2: xmtp.identity.associations.CreateInbox.initial_address_signature:type_name -> xmtp.identity.associations.Signature - 0, // 3: xmtp.identity.associations.AddAssociation.new_member_identifier:type_name -> xmtp.identity.associations.MemberIdentifier - 11, // 4: xmtp.identity.associations.AddAssociation.existing_member_signature:type_name -> xmtp.identity.associations.Signature - 11, // 5: xmtp.identity.associations.AddAssociation.new_member_signature:type_name -> xmtp.identity.associations.Signature - 0, // 6: xmtp.identity.associations.RevokeAssociation.member_to_revoke:type_name -> xmtp.identity.associations.MemberIdentifier - 11, // 7: xmtp.identity.associations.RevokeAssociation.recovery_address_signature:type_name -> xmtp.identity.associations.Signature - 11, // 8: xmtp.identity.associations.ChangeRecoveryAddress.existing_recovery_address_signature:type_name -> xmtp.identity.associations.Signature - 2, // 9: xmtp.identity.associations.IdentityAction.create_inbox:type_name -> xmtp.identity.associations.CreateInbox - 3, // 10: xmtp.identity.associations.IdentityAction.add:type_name -> xmtp.identity.associations.AddAssociation - 4, // 11: xmtp.identity.associations.IdentityAction.revoke:type_name -> xmtp.identity.associations.RevokeAssociation - 5, // 12: xmtp.identity.associations.IdentityAction.change_recovery_address:type_name -> xmtp.identity.associations.ChangeRecoveryAddress - 6, // 13: xmtp.identity.associations.IdentityUpdate.actions:type_name -> xmtp.identity.associations.IdentityAction - 0, // 14: xmtp.identity.associations.MemberMap.key:type_name -> xmtp.identity.associations.MemberIdentifier - 1, // 15: xmtp.identity.associations.MemberMap.value:type_name -> xmtp.identity.associations.Member - 8, // 16: xmtp.identity.associations.AssociationState.members:type_name -> xmtp.identity.associations.MemberMap - 0, // 17: xmtp.identity.associations.AssociationStateDiff.new_members:type_name -> xmtp.identity.associations.MemberIdentifier - 0, // 18: xmtp.identity.associations.AssociationStateDiff.removed_members:type_name -> xmtp.identity.associations.MemberIdentifier - 19, // [19:19] is the sub-list for method output_type - 19, // [19:19] is the sub-list for method input_type - 19, // [19:19] is the sub-list for extension type_name - 19, // [19:19] is the sub-list for extension extendee - 0, // [0:19] is the sub-list for field type_name + 2, // 0: xmtp.identity.associations.MemberIdentifier.passkey:type_name -> xmtp.identity.associations.Passkey + 1, // 1: xmtp.identity.associations.Member.identifier:type_name -> xmtp.identity.associations.MemberIdentifier + 1, // 2: xmtp.identity.associations.Member.added_by_entity:type_name -> xmtp.identity.associations.MemberIdentifier + 13, // 3: xmtp.identity.associations.CreateInbox.initial_identifier_signature:type_name -> xmtp.identity.associations.Signature + 0, // 4: xmtp.identity.associations.CreateInbox.initial_identifier_kind:type_name -> xmtp.identity.associations.IdentifierKind + 1, // 5: xmtp.identity.associations.AddAssociation.new_member_identifier:type_name -> xmtp.identity.associations.MemberIdentifier + 13, // 6: xmtp.identity.associations.AddAssociation.existing_member_signature:type_name -> xmtp.identity.associations.Signature + 13, // 7: xmtp.identity.associations.AddAssociation.new_member_signature:type_name -> xmtp.identity.associations.Signature + 1, // 8: xmtp.identity.associations.RevokeAssociation.member_to_revoke:type_name -> xmtp.identity.associations.MemberIdentifier + 13, // 9: xmtp.identity.associations.RevokeAssociation.recovery_identifier_signature:type_name -> xmtp.identity.associations.Signature + 13, // 10: xmtp.identity.associations.ChangeRecoveryAddress.existing_recovery_identifier_signature:type_name -> xmtp.identity.associations.Signature + 0, // 11: xmtp.identity.associations.ChangeRecoveryAddress.new_recovery_identifier_kind:type_name -> xmtp.identity.associations.IdentifierKind + 4, // 12: xmtp.identity.associations.IdentityAction.create_inbox:type_name -> xmtp.identity.associations.CreateInbox + 5, // 13: xmtp.identity.associations.IdentityAction.add:type_name -> xmtp.identity.associations.AddAssociation + 6, // 14: xmtp.identity.associations.IdentityAction.revoke:type_name -> xmtp.identity.associations.RevokeAssociation + 7, // 15: xmtp.identity.associations.IdentityAction.change_recovery_address:type_name -> xmtp.identity.associations.ChangeRecoveryAddress + 8, // 16: xmtp.identity.associations.IdentityUpdate.actions:type_name -> xmtp.identity.associations.IdentityAction + 1, // 17: xmtp.identity.associations.MemberMap.key:type_name -> xmtp.identity.associations.MemberIdentifier + 3, // 18: xmtp.identity.associations.MemberMap.value:type_name -> xmtp.identity.associations.Member + 10, // 19: xmtp.identity.associations.AssociationState.members:type_name -> xmtp.identity.associations.MemberMap + 0, // 20: xmtp.identity.associations.AssociationState.recovery_identifier_kind:type_name -> xmtp.identity.associations.IdentifierKind + 1, // 21: xmtp.identity.associations.AssociationStateDiff.new_members:type_name -> xmtp.identity.associations.MemberIdentifier + 1, // 22: xmtp.identity.associations.AssociationStateDiff.removed_members:type_name -> xmtp.identity.associations.MemberIdentifier + 23, // [23:23] is the sub-list for method output_type + 23, // [23:23] is the sub-list for method input_type + 23, // [23:23] is the sub-list for extension type_name + 23, // [23:23] is the sub-list for extension extendee + 0, // [0:23] is the sub-list for field type_name } func init() { file_identity_associations_association_proto_init() } @@ -1010,28 +1092,35 @@ func file_identity_associations_association_proto_init() { } file_identity_associations_signature_proto_init() file_identity_associations_association_proto_msgTypes[0].OneofWrappers = []any{ - (*MemberIdentifier_Address)(nil), + (*MemberIdentifier_EthereumAddress)(nil), (*MemberIdentifier_InstallationPublicKey)(nil), + (*MemberIdentifier_Passkey)(nil), } file_identity_associations_association_proto_msgTypes[1].OneofWrappers = []any{} - file_identity_associations_association_proto_msgTypes[6].OneofWrappers = []any{ + file_identity_associations_association_proto_msgTypes[2].OneofWrappers = []any{} + file_identity_associations_association_proto_msgTypes[3].OneofWrappers = []any{} + file_identity_associations_association_proto_msgTypes[4].OneofWrappers = []any{} + file_identity_associations_association_proto_msgTypes[6].OneofWrappers = []any{} + file_identity_associations_association_proto_msgTypes[7].OneofWrappers = []any{ (*IdentityAction_CreateInbox)(nil), (*IdentityAction_Add)(nil), (*IdentityAction_Revoke)(nil), (*IdentityAction_ChangeRecoveryAddress)(nil), } + file_identity_associations_association_proto_msgTypes[10].OneofWrappers = []any{} type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: unsafe.Slice(unsafe.StringData(file_identity_associations_association_proto_rawDesc), len(file_identity_associations_association_proto_rawDesc)), - NumEnums: 0, - NumMessages: 11, + NumEnums: 1, + NumMessages: 12, NumExtensions: 0, NumServices: 0, }, GoTypes: file_identity_associations_association_proto_goTypes, DependencyIndexes: file_identity_associations_association_proto_depIdxs, + EnumInfos: file_identity_associations_association_proto_enumTypes, MessageInfos: file_identity_associations_association_proto_msgTypes, }.Build() File_identity_associations_association_proto = out.File diff --git a/pkg/proto/identity/associations/signature.pb.go b/pkg/proto/identity/associations/signature.pb.go index d699df3..f7ce1e3 100644 --- a/pkg/proto/identity/associations/signature.pb.go +++ b/pkg/proto/identity/associations/signature.pb.go @@ -2,7 +2,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.36.5 +// protoc-gen-go v1.36.10 // protoc (unknown) // source: identity/associations/signature.proto @@ -190,6 +190,75 @@ func (x *SmartContractWalletSignature) GetSignature() []byte { return nil } +// Passkey signature +type RecoverablePasskeySignature struct { + state protoimpl.MessageState `protogen:"open.v1"` + PublicKey []byte `protobuf:"bytes,1,opt,name=public_key,json=publicKey,proto3" json:"public_key,omitempty"` + Signature []byte `protobuf:"bytes,2,opt,name=signature,proto3" json:"signature,omitempty"` + AuthenticatorData []byte `protobuf:"bytes,3,opt,name=authenticator_data,json=authenticatorData,proto3" json:"authenticator_data,omitempty"` + ClientDataJson []byte `protobuf:"bytes,4,opt,name=client_data_json,json=clientDataJson,proto3" json:"client_data_json,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *RecoverablePasskeySignature) Reset() { + *x = RecoverablePasskeySignature{} + mi := &file_identity_associations_signature_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *RecoverablePasskeySignature) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RecoverablePasskeySignature) ProtoMessage() {} + +func (x *RecoverablePasskeySignature) ProtoReflect() protoreflect.Message { + mi := &file_identity_associations_signature_proto_msgTypes[3] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use RecoverablePasskeySignature.ProtoReflect.Descriptor instead. +func (*RecoverablePasskeySignature) Descriptor() ([]byte, []int) { + return file_identity_associations_signature_proto_rawDescGZIP(), []int{3} +} + +func (x *RecoverablePasskeySignature) GetPublicKey() []byte { + if x != nil { + return x.PublicKey + } + return nil +} + +func (x *RecoverablePasskeySignature) GetSignature() []byte { + if x != nil { + return x.Signature + } + return nil +} + +func (x *RecoverablePasskeySignature) GetAuthenticatorData() []byte { + if x != nil { + return x.AuthenticatorData + } + return nil +} + +func (x *RecoverablePasskeySignature) GetClientDataJson() []byte { + if x != nil { + return x.ClientDataJson + } + return nil +} + // An existing address on xmtpv2 may have already signed a legacy identity key // of type SignedPublicKey via the 'Create Identity' signature. // For migration to xmtpv3, the legacy key is permitted to sign on behalf of the @@ -206,7 +275,7 @@ type LegacyDelegatedSignature struct { func (x *LegacyDelegatedSignature) Reset() { *x = LegacyDelegatedSignature{} - mi := &file_identity_associations_signature_proto_msgTypes[3] + mi := &file_identity_associations_signature_proto_msgTypes[4] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -218,7 +287,7 @@ func (x *LegacyDelegatedSignature) String() string { func (*LegacyDelegatedSignature) ProtoMessage() {} func (x *LegacyDelegatedSignature) ProtoReflect() protoreflect.Message { - mi := &file_identity_associations_signature_proto_msgTypes[3] + mi := &file_identity_associations_signature_proto_msgTypes[4] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -231,7 +300,7 @@ func (x *LegacyDelegatedSignature) ProtoReflect() protoreflect.Message { // Deprecated: Use LegacyDelegatedSignature.ProtoReflect.Descriptor instead. func (*LegacyDelegatedSignature) Descriptor() ([]byte, []int) { - return file_identity_associations_signature_proto_rawDescGZIP(), []int{3} + return file_identity_associations_signature_proto_rawDescGZIP(), []int{4} } func (x *LegacyDelegatedSignature) GetDelegatedKey() *message_contents.SignedPublicKey { @@ -263,6 +332,7 @@ type Signature struct { // *Signature_Erc_6492 // *Signature_InstallationKey // *Signature_DelegatedErc_191 + // *Signature_Passkey Signature isSignature_Signature `protobuf_oneof:"signature"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache @@ -270,7 +340,7 @@ type Signature struct { func (x *Signature) Reset() { *x = Signature{} - mi := &file_identity_associations_signature_proto_msgTypes[4] + mi := &file_identity_associations_signature_proto_msgTypes[5] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -282,7 +352,7 @@ func (x *Signature) String() string { func (*Signature) ProtoMessage() {} func (x *Signature) ProtoReflect() protoreflect.Message { - mi := &file_identity_associations_signature_proto_msgTypes[4] + mi := &file_identity_associations_signature_proto_msgTypes[5] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -295,7 +365,7 @@ func (x *Signature) ProtoReflect() protoreflect.Message { // Deprecated: Use Signature.ProtoReflect.Descriptor instead. func (*Signature) Descriptor() ([]byte, []int) { - return file_identity_associations_signature_proto_rawDescGZIP(), []int{4} + return file_identity_associations_signature_proto_rawDescGZIP(), []int{5} } func (x *Signature) GetSignature() isSignature_Signature { @@ -341,6 +411,15 @@ func (x *Signature) GetDelegatedErc_191() *LegacyDelegatedSignature { return nil } +func (x *Signature) GetPasskey() *RecoverablePasskeySignature { + if x != nil { + if x, ok := x.Signature.(*Signature_Passkey); ok { + return x.Passkey + } + } + return nil +} + type isSignature_Signature interface { isSignature_Signature() } @@ -361,6 +440,10 @@ type Signature_DelegatedErc_191 struct { DelegatedErc_191 *LegacyDelegatedSignature `protobuf:"bytes,4,opt,name=delegated_erc_191,json=delegatedErc191,proto3,oneof"` } +type Signature_Passkey struct { + Passkey *RecoverablePasskeySignature `protobuf:"bytes,5,opt,name=passkey,proto3,oneof"` +} + func (*Signature_Erc_191) isSignature_Signature() {} func (*Signature_Erc_6492) isSignature_Signature() {} @@ -369,89 +452,41 @@ func (*Signature_InstallationKey) isSignature_Signature() {} func (*Signature_DelegatedErc_191) isSignature_Signature() {} +func (*Signature_Passkey) isSignature_Signature() {} + var File_identity_associations_signature_proto protoreflect.FileDescriptor -var file_identity_associations_signature_proto_rawDesc = string([]byte{ - 0x0a, 0x25, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2f, 0x61, 0x73, 0x73, 0x6f, 0x63, - 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, - 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x1a, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x69, 0x64, - 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2e, 0x61, 0x73, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x73, 0x1a, 0x21, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x6e, - 0x74, 0x65, 0x6e, 0x74, 0x73, 0x2f, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x5f, 0x6b, 0x65, 0x79, - 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x31, 0x0a, 0x19, 0x52, 0x65, 0x63, 0x6f, 0x76, 0x65, - 0x72, 0x61, 0x62, 0x6c, 0x65, 0x45, 0x63, 0x64, 0x73, 0x61, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, - 0x75, 0x72, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x0c, 0x52, 0x05, 0x62, 0x79, 0x74, 0x65, 0x73, 0x22, 0x52, 0x0a, 0x1b, 0x52, 0x65, 0x63, - 0x6f, 0x76, 0x65, 0x72, 0x61, 0x62, 0x6c, 0x65, 0x45, 0x64, 0x32, 0x35, 0x35, 0x31, 0x39, 0x53, - 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x62, 0x79, 0x74, 0x65, - 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x05, 0x62, 0x79, 0x74, 0x65, 0x73, 0x12, 0x1d, - 0x0a, 0x0a, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x0c, 0x52, 0x09, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x4b, 0x65, 0x79, 0x22, 0x7e, 0x0a, - 0x1c, 0x53, 0x6d, 0x61, 0x72, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x57, 0x61, - 0x6c, 0x6c, 0x65, 0x74, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x12, 0x1d, 0x0a, - 0x0a, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x09, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x21, 0x0a, 0x0c, - 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x04, 0x52, 0x0b, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, - 0x1c, 0x0a, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x0c, 0x52, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x22, 0xbc, 0x01, - 0x0a, 0x18, 0x4c, 0x65, 0x67, 0x61, 0x63, 0x79, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, - 0x64, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x12, 0x4b, 0x0a, 0x0d, 0x64, 0x65, - 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x26, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, - 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x2e, 0x53, 0x69, 0x67, 0x6e, 0x65, 0x64, - 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x4b, 0x65, 0x79, 0x52, 0x0c, 0x64, 0x65, 0x6c, 0x65, 0x67, - 0x61, 0x74, 0x65, 0x64, 0x4b, 0x65, 0x79, 0x12, 0x53, 0x0a, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, - 0x74, 0x75, 0x72, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x78, 0x6d, 0x74, - 0x70, 0x2e, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2e, 0x61, 0x73, 0x73, 0x6f, 0x63, - 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x52, 0x65, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x61, - 0x62, 0x6c, 0x65, 0x45, 0x63, 0x64, 0x73, 0x61, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, - 0x65, 0x52, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x22, 0x8b, 0x03, 0x0a, - 0x09, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x12, 0x50, 0x0a, 0x07, 0x65, 0x72, - 0x63, 0x5f, 0x31, 0x39, 0x31, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x78, 0x6d, - 0x74, 0x70, 0x2e, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2e, 0x61, 0x73, 0x73, 0x6f, - 0x63, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x52, 0x65, 0x63, 0x6f, 0x76, 0x65, 0x72, - 0x61, 0x62, 0x6c, 0x65, 0x45, 0x63, 0x64, 0x73, 0x61, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, - 0x72, 0x65, 0x48, 0x00, 0x52, 0x06, 0x65, 0x72, 0x63, 0x31, 0x39, 0x31, 0x12, 0x55, 0x0a, 0x08, - 0x65, 0x72, 0x63, 0x5f, 0x36, 0x34, 0x39, 0x32, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x38, - 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2e, 0x61, - 0x73, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x53, 0x6d, 0x61, 0x72, - 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x57, 0x61, 0x6c, 0x6c, 0x65, 0x74, 0x53, - 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x48, 0x00, 0x52, 0x07, 0x65, 0x72, 0x63, 0x36, - 0x34, 0x39, 0x32, 0x12, 0x64, 0x0a, 0x10, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x37, 0x2e, - 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2e, 0x61, 0x73, - 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x52, 0x65, 0x63, 0x6f, 0x76, - 0x65, 0x72, 0x61, 0x62, 0x6c, 0x65, 0x45, 0x64, 0x32, 0x35, 0x35, 0x31, 0x39, 0x53, 0x69, 0x67, - 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x48, 0x00, 0x52, 0x0f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6c, - 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4b, 0x65, 0x79, 0x12, 0x62, 0x0a, 0x11, 0x64, 0x65, 0x6c, - 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x65, 0x72, 0x63, 0x5f, 0x31, 0x39, 0x31, 0x18, 0x04, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x69, 0x64, 0x65, 0x6e, - 0x74, 0x69, 0x74, 0x79, 0x2e, 0x61, 0x73, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x73, 0x2e, 0x4c, 0x65, 0x67, 0x61, 0x63, 0x79, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, - 0x64, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x48, 0x00, 0x52, 0x0f, 0x64, 0x65, - 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x45, 0x72, 0x63, 0x31, 0x39, 0x31, 0x42, 0x0b, 0x0a, - 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x42, 0xa4, 0x02, 0x0a, 0x38, 0x6f, - 0x72, 0x67, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x61, 0x6e, 0x64, 0x72, 0x6f, 0x69, 0x64, 0x2e, - 0x6c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x2e, 0x70, 0x75, 0x73, 0x68, 0x2e, 0x78, 0x6d, 0x74, - 0x70, 0x2e, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2e, 0x61, 0x73, 0x73, 0x6f, 0x63, - 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x42, 0x0e, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, - 0x72, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x4e, 0x67, 0x69, 0x74, 0x68, 0x75, - 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x78, 0x6d, 0x74, 0x70, 0x2f, 0x65, 0x78, 0x61, 0x6d, 0x70, - 0x6c, 0x65, 0x2d, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2d, - 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2d, 0x67, 0x6f, 0x2f, 0x70, 0x6b, 0x67, 0x2f, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x2f, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2f, 0x61, 0x73, 0x73, - 0x6f, 0x63, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0xa2, 0x02, 0x03, 0x58, 0x49, 0x41, 0xaa, - 0x02, 0x1a, 0x58, 0x6d, 0x74, 0x70, 0x2e, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2e, - 0x41, 0x73, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0xca, 0x02, 0x1a, 0x58, - 0x6d, 0x74, 0x70, 0x5c, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5c, 0x41, 0x73, 0x73, - 0x6f, 0x63, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0xe2, 0x02, 0x26, 0x58, 0x6d, 0x74, 0x70, - 0x5c, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5c, 0x41, 0x73, 0x73, 0x6f, 0x63, 0x69, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, - 0x74, 0x61, 0xea, 0x02, 0x1c, 0x58, 0x6d, 0x74, 0x70, 0x3a, 0x3a, 0x49, 0x64, 0x65, 0x6e, 0x74, - 0x69, 0x74, 0x79, 0x3a, 0x3a, 0x41, 0x73, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x73, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, -}) +const file_identity_associations_signature_proto_rawDesc = "" + + "\n" + + "%identity/associations/signature.proto\x12\x1axmtp.identity.associations\x1a!message_contents/public_key.proto\"1\n" + + "\x19RecoverableEcdsaSignature\x12\x14\n" + + "\x05bytes\x18\x01 \x01(\fR\x05bytes\"R\n" + + "\x1bRecoverableEd25519Signature\x12\x14\n" + + "\x05bytes\x18\x01 \x01(\fR\x05bytes\x12\x1d\n" + + "\n" + + "public_key\x18\x02 \x01(\fR\tpublicKey\"~\n" + + "\x1cSmartContractWalletSignature\x12\x1d\n" + + "\n" + + "account_id\x18\x01 \x01(\tR\taccountId\x12!\n" + + "\fblock_number\x18\x02 \x01(\x04R\vblockNumber\x12\x1c\n" + + "\tsignature\x18\x03 \x01(\fR\tsignature\"\xb3\x01\n" + + "\x1bRecoverablePasskeySignature\x12\x1d\n" + + "\n" + + "public_key\x18\x01 \x01(\fR\tpublicKey\x12\x1c\n" + + "\tsignature\x18\x02 \x01(\fR\tsignature\x12-\n" + + "\x12authenticator_data\x18\x03 \x01(\fR\x11authenticatorData\x12(\n" + + "\x10client_data_json\x18\x04 \x01(\fR\x0eclientDataJson\"\xbc\x01\n" + + "\x18LegacyDelegatedSignature\x12K\n" + + "\rdelegated_key\x18\x01 \x01(\v2&.xmtp.message_contents.SignedPublicKeyR\fdelegatedKey\x12S\n" + + "\tsignature\x18\x02 \x01(\v25.xmtp.identity.associations.RecoverableEcdsaSignatureR\tsignature\"\xe0\x03\n" + + "\tSignature\x12P\n" + + "\aerc_191\x18\x01 \x01(\v25.xmtp.identity.associations.RecoverableEcdsaSignatureH\x00R\x06erc191\x12U\n" + + "\berc_6492\x18\x02 \x01(\v28.xmtp.identity.associations.SmartContractWalletSignatureH\x00R\aerc6492\x12d\n" + + "\x10installation_key\x18\x03 \x01(\v27.xmtp.identity.associations.RecoverableEd25519SignatureH\x00R\x0finstallationKey\x12b\n" + + "\x11delegated_erc_191\x18\x04 \x01(\v24.xmtp.identity.associations.LegacyDelegatedSignatureH\x00R\x0fdelegatedErc191\x12S\n" + + "\apasskey\x18\x05 \x01(\v27.xmtp.identity.associations.RecoverablePasskeySignatureH\x00R\apasskeyB\v\n" + + "\tsignatureB\xa4\x02\n" + + "8org.xmtp.android.library.push.xmtp.identity.associationsB\x0eSignatureProtoP\x01ZNgithub.com/xmtp/example-notification-server-go/pkg/proto/identity/associations\xa2\x02\x03XIA\xaa\x02\x1aXmtp.Identity.Associations\xca\x02\x1aXmtp\\Identity\\Associations\xe2\x02&Xmtp\\Identity\\Associations\\GPBMetadata\xea\x02\x1cXmtp::Identity::Associationsb\x06proto3" var ( file_identity_associations_signature_proto_rawDescOnce sync.Once @@ -465,27 +500,29 @@ func file_identity_associations_signature_proto_rawDescGZIP() []byte { return file_identity_associations_signature_proto_rawDescData } -var file_identity_associations_signature_proto_msgTypes = make([]protoimpl.MessageInfo, 5) +var file_identity_associations_signature_proto_msgTypes = make([]protoimpl.MessageInfo, 6) var file_identity_associations_signature_proto_goTypes = []any{ (*RecoverableEcdsaSignature)(nil), // 0: xmtp.identity.associations.RecoverableEcdsaSignature (*RecoverableEd25519Signature)(nil), // 1: xmtp.identity.associations.RecoverableEd25519Signature (*SmartContractWalletSignature)(nil), // 2: xmtp.identity.associations.SmartContractWalletSignature - (*LegacyDelegatedSignature)(nil), // 3: xmtp.identity.associations.LegacyDelegatedSignature - (*Signature)(nil), // 4: xmtp.identity.associations.Signature - (*message_contents.SignedPublicKey)(nil), // 5: xmtp.message_contents.SignedPublicKey + (*RecoverablePasskeySignature)(nil), // 3: xmtp.identity.associations.RecoverablePasskeySignature + (*LegacyDelegatedSignature)(nil), // 4: xmtp.identity.associations.LegacyDelegatedSignature + (*Signature)(nil), // 5: xmtp.identity.associations.Signature + (*message_contents.SignedPublicKey)(nil), // 6: xmtp.message_contents.SignedPublicKey } var file_identity_associations_signature_proto_depIdxs = []int32{ - 5, // 0: xmtp.identity.associations.LegacyDelegatedSignature.delegated_key:type_name -> xmtp.message_contents.SignedPublicKey + 6, // 0: xmtp.identity.associations.LegacyDelegatedSignature.delegated_key:type_name -> xmtp.message_contents.SignedPublicKey 0, // 1: xmtp.identity.associations.LegacyDelegatedSignature.signature:type_name -> xmtp.identity.associations.RecoverableEcdsaSignature 0, // 2: xmtp.identity.associations.Signature.erc_191:type_name -> xmtp.identity.associations.RecoverableEcdsaSignature 2, // 3: xmtp.identity.associations.Signature.erc_6492:type_name -> xmtp.identity.associations.SmartContractWalletSignature 1, // 4: xmtp.identity.associations.Signature.installation_key:type_name -> xmtp.identity.associations.RecoverableEd25519Signature - 3, // 5: xmtp.identity.associations.Signature.delegated_erc_191:type_name -> xmtp.identity.associations.LegacyDelegatedSignature - 6, // [6:6] is the sub-list for method output_type - 6, // [6:6] is the sub-list for method input_type - 6, // [6:6] is the sub-list for extension type_name - 6, // [6:6] is the sub-list for extension extendee - 0, // [0:6] is the sub-list for field type_name + 4, // 5: xmtp.identity.associations.Signature.delegated_erc_191:type_name -> xmtp.identity.associations.LegacyDelegatedSignature + 3, // 6: xmtp.identity.associations.Signature.passkey:type_name -> xmtp.identity.associations.RecoverablePasskeySignature + 7, // [7:7] is the sub-list for method output_type + 7, // [7:7] is the sub-list for method input_type + 7, // [7:7] is the sub-list for extension type_name + 7, // [7:7] is the sub-list for extension extendee + 0, // [0:7] is the sub-list for field type_name } func init() { file_identity_associations_signature_proto_init() } @@ -493,11 +530,12 @@ func file_identity_associations_signature_proto_init() { if File_identity_associations_signature_proto != nil { return } - file_identity_associations_signature_proto_msgTypes[4].OneofWrappers = []any{ + file_identity_associations_signature_proto_msgTypes[5].OneofWrappers = []any{ (*Signature_Erc_191)(nil), (*Signature_Erc_6492)(nil), (*Signature_InstallationKey)(nil), (*Signature_DelegatedErc_191)(nil), + (*Signature_Passkey)(nil), } type x struct{} out := protoimpl.TypeBuilder{ @@ -505,7 +543,7 @@ func file_identity_associations_signature_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: unsafe.Slice(unsafe.StringData(file_identity_associations_signature_proto_rawDesc), len(file_identity_associations_signature_proto_rawDesc)), NumEnums: 0, - NumMessages: 5, + NumMessages: 6, NumExtensions: 0, NumServices: 0, }, diff --git a/pkg/proto/identity/credential.pb.go b/pkg/proto/identity/credential.pb.go index 606fcdd..13a08eb 100644 --- a/pkg/proto/identity/credential.pb.go +++ b/pkg/proto/identity/credential.pb.go @@ -2,7 +2,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.36.5 +// protoc-gen-go v1.36.10 // protoc (unknown) // source: identity/credential.proto @@ -70,28 +70,12 @@ func (x *MlsCredential) GetInboxId() string { var File_identity_credential_proto protoreflect.FileDescriptor -var file_identity_credential_proto_rawDesc = string([]byte{ - 0x0a, 0x19, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2f, 0x63, 0x72, 0x65, 0x64, 0x65, - 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x0d, 0x78, 0x6d, 0x74, - 0x70, 0x2e, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x22, 0x2a, 0x0a, 0x0d, 0x4d, 0x6c, - 0x73, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x12, 0x19, 0x0a, 0x08, 0x69, - 0x6e, 0x62, 0x6f, 0x78, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x69, - 0x6e, 0x62, 0x6f, 0x78, 0x49, 0x64, 0x42, 0xd6, 0x01, 0x0a, 0x2b, 0x6f, 0x72, 0x67, 0x2e, 0x78, - 0x6d, 0x74, 0x70, 0x2e, 0x61, 0x6e, 0x64, 0x72, 0x6f, 0x69, 0x64, 0x2e, 0x6c, 0x69, 0x62, 0x72, - 0x61, 0x72, 0x79, 0x2e, 0x70, 0x75, 0x73, 0x68, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x69, 0x64, - 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x42, 0x0f, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, - 0x61, 0x6c, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x41, 0x67, 0x69, 0x74, 0x68, 0x75, - 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x78, 0x6d, 0x74, 0x70, 0x2f, 0x65, 0x78, 0x61, 0x6d, 0x70, - 0x6c, 0x65, 0x2d, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2d, - 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2d, 0x67, 0x6f, 0x2f, 0x70, 0x6b, 0x67, 0x2f, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x2f, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0xa2, 0x02, 0x03, 0x58, - 0x49, 0x58, 0xaa, 0x02, 0x0d, 0x58, 0x6d, 0x74, 0x70, 0x2e, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, - 0x74, 0x79, 0xca, 0x02, 0x0d, 0x58, 0x6d, 0x74, 0x70, 0x5c, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, - 0x74, 0x79, 0xe2, 0x02, 0x19, 0x58, 0x6d, 0x74, 0x70, 0x5c, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, - 0x74, 0x79, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, - 0x0e, 0x58, 0x6d, 0x74, 0x70, 0x3a, 0x3a, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x62, - 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, -}) +const file_identity_credential_proto_rawDesc = "" + + "\n" + + "\x19identity/credential.proto\x12\rxmtp.identity\"*\n" + + "\rMlsCredential\x12\x19\n" + + "\binbox_id\x18\x01 \x01(\tR\ainboxIdB\xd6\x01\n" + + "+org.xmtp.android.library.push.xmtp.identityB\x0fCredentialProtoP\x01ZAgithub.com/xmtp/example-notification-server-go/pkg/proto/identity\xa2\x02\x03XIX\xaa\x02\rXmtp.Identity\xca\x02\rXmtp\\Identity\xe2\x02\x19Xmtp\\Identity\\GPBMetadata\xea\x02\x0eXmtp::Identityb\x06proto3" var ( file_identity_credential_proto_rawDescOnce sync.Once diff --git a/pkg/proto/keystore_api/v1/keystore.pb.go b/pkg/proto/keystore_api/v1/keystore.pb.go index bae5859..e7c1c9d 100644 --- a/pkg/proto/keystore_api/v1/keystore.pb.go +++ b/pkg/proto/keystore_api/v1/keystore.pb.go @@ -2,7 +2,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.36.5 +// protoc-gen-go v1.36.10 // protoc (unknown) // source: keystore_api/v1/keystore.proto @@ -2805,417 +2805,175 @@ func (x *GetConversationHmacKeysResponse_HmacKeys) GetValues() []*GetConversatio var File_keystore_api_v1_keystore_proto protoreflect.FileDescriptor -var file_keystore_api_v1_keystore_proto_rawDesc = string([]byte{ - 0x0a, 0x1e, 0x6b, 0x65, 0x79, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x5f, 0x61, 0x70, 0x69, 0x2f, 0x76, - 0x31, 0x2f, 0x6b, 0x65, 0x79, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x12, 0x14, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x6b, 0x65, 0x79, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x5f, - 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x1a, 0x21, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, - 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x2f, 0x63, 0x69, 0x70, 0x68, 0x65, 0x72, 0x74, - 0x65, 0x78, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x2d, 0x6d, 0x65, 0x73, 0x73, 0x61, - 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x2f, 0x63, 0x6f, 0x6e, 0x76, - 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, - 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x21, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, - 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x2f, 0x69, 0x6e, 0x76, 0x69, 0x74, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x22, 0x6d, 0x65, 0x73, - 0x73, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x2f, 0x70, 0x72, - 0x69, 0x76, 0x61, 0x74, 0x65, 0x5f, 0x6b, 0x65, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, - 0x2a, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, - 0x73, 0x2f, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x65, 0x72, - 0x65, 0x6e, 0x63, 0x65, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x21, 0x6d, 0x65, 0x73, - 0x73, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x2f, 0x70, 0x75, - 0x62, 0x6c, 0x69, 0x63, 0x5f, 0x6b, 0x65, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x5e, - 0x0a, 0x0d, 0x4b, 0x65, 0x79, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x12, - 0x18, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x33, 0x0a, 0x04, 0x63, 0x6f, 0x64, - 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1f, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x6b, - 0x65, 0x79, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x45, - 0x72, 0x72, 0x6f, 0x72, 0x43, 0x6f, 0x64, 0x65, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x22, 0xac, - 0x02, 0x0a, 0x10, 0x44, 0x65, 0x63, 0x72, 0x79, 0x70, 0x74, 0x56, 0x31, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x12, 0x4a, 0x0a, 0x08, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x18, - 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x6b, 0x65, 0x79, - 0x73, 0x74, 0x6f, 0x72, 0x65, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x63, - 0x72, 0x79, 0x70, 0x74, 0x56, 0x31, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x08, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x1a, - 0xcb, 0x01, 0x0a, 0x07, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3b, 0x0a, 0x07, 0x70, - 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x78, - 0x6d, 0x74, 0x70, 0x2e, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x74, - 0x65, 0x6e, 0x74, 0x73, 0x2e, 0x43, 0x69, 0x70, 0x68, 0x65, 0x72, 0x74, 0x65, 0x78, 0x74, 0x52, - 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x43, 0x0a, 0x09, 0x70, 0x65, 0x65, 0x72, - 0x5f, 0x6b, 0x65, 0x79, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x78, 0x6d, - 0x74, 0x70, 0x2e, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, - 0x6e, 0x74, 0x73, 0x2e, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x4b, 0x65, 0x79, 0x42, 0x75, 0x6e, - 0x64, 0x6c, 0x65, 0x52, 0x08, 0x70, 0x65, 0x65, 0x72, 0x4b, 0x65, 0x79, 0x73, 0x12, 0x21, 0x0a, - 0x0c, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x0c, 0x52, 0x0b, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x42, 0x79, 0x74, 0x65, 0x73, - 0x12, 0x1b, 0x0a, 0x09, 0x69, 0x73, 0x5f, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x18, 0x04, 0x20, - 0x01, 0x28, 0x08, 0x52, 0x08, 0x69, 0x73, 0x53, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x22, 0xb0, 0x02, - 0x0a, 0x0f, 0x44, 0x65, 0x63, 0x72, 0x79, 0x70, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x12, 0x4c, 0x0a, 0x09, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x73, 0x18, 0x01, - 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x6b, 0x65, 0x79, 0x73, - 0x74, 0x6f, 0x72, 0x65, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x63, 0x72, - 0x79, 0x70, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x09, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x73, 0x1a, - 0xce, 0x01, 0x0a, 0x08, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x50, 0x0a, 0x06, - 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x36, 0x2e, 0x78, - 0x6d, 0x74, 0x70, 0x2e, 0x6b, 0x65, 0x79, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x5f, 0x61, 0x70, 0x69, - 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x63, 0x72, 0x79, 0x70, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x53, 0x75, 0x63, - 0x63, 0x65, 0x73, 0x73, 0x48, 0x00, 0x52, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x3b, - 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, - 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x6b, 0x65, 0x79, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x5f, 0x61, 0x70, - 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x4b, 0x65, 0x79, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x45, 0x72, 0x72, - 0x6f, 0x72, 0x48, 0x00, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x1a, 0x27, 0x0a, 0x07, 0x53, - 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x64, 0x65, 0x63, 0x72, 0x79, 0x70, - 0x74, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x09, 0x64, 0x65, 0x63, 0x72, 0x79, - 0x70, 0x74, 0x65, 0x64, 0x42, 0x0a, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x22, 0xef, 0x01, 0x0a, 0x10, 0x44, 0x65, 0x63, 0x72, 0x79, 0x70, 0x74, 0x56, 0x32, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x4a, 0x0a, 0x08, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x6b, - 0x65, 0x79, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x44, - 0x65, 0x63, 0x72, 0x79, 0x70, 0x74, 0x56, 0x32, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x08, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x73, 0x1a, 0x8e, 0x01, 0x0a, 0x07, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3b, 0x0a, - 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, - 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6f, - 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x2e, 0x43, 0x69, 0x70, 0x68, 0x65, 0x72, 0x74, 0x65, 0x78, - 0x74, 0x52, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x68, 0x65, - 0x61, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, - 0x52, 0x0b, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x42, 0x79, 0x74, 0x65, 0x73, 0x12, 0x23, 0x0a, - 0x0d, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x5f, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x70, - 0x69, 0x63, 0x22, 0xed, 0x01, 0x0a, 0x10, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x56, 0x31, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x4a, 0x0a, 0x08, 0x72, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x78, 0x6d, 0x74, 0x70, - 0x2e, 0x6b, 0x65, 0x79, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, - 0x2e, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x56, 0x31, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x08, 0x72, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x73, 0x1a, 0x8c, 0x01, 0x0a, 0x07, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, - 0x44, 0x0a, 0x09, 0x72, 0x65, 0x63, 0x69, 0x70, 0x69, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, - 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x2e, 0x50, 0x75, 0x62, 0x6c, 0x69, - 0x63, 0x4b, 0x65, 0x79, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x52, 0x09, 0x72, 0x65, 0x63, 0x69, - 0x70, 0x69, 0x65, 0x6e, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x12, - 0x21, 0x0a, 0x0c, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0b, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x42, 0x79, 0x74, - 0x65, 0x73, 0x22, 0xf4, 0x02, 0x0a, 0x0f, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4c, 0x0a, 0x09, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x78, 0x6d, 0x74, 0x70, - 0x2e, 0x6b, 0x65, 0x79, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, - 0x2e, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x09, 0x72, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x73, 0x1a, 0x92, 0x02, 0x0a, 0x08, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x12, 0x50, 0x0a, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x36, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x6b, 0x65, 0x79, 0x73, 0x74, 0x6f, 0x72, - 0x65, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x2e, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x48, 0x00, 0x52, 0x06, 0x72, 0x65, 0x73, - 0x75, 0x6c, 0x74, 0x12, 0x3b, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x6b, 0x65, 0x79, 0x73, 0x74, 0x6f, - 0x72, 0x65, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x4b, 0x65, 0x79, 0x73, 0x74, 0x6f, - 0x72, 0x65, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x48, 0x00, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, - 0x1a, 0x6b, 0x0a, 0x07, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x3f, 0x0a, 0x09, 0x65, - 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, - 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6f, - 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x2e, 0x43, 0x69, 0x70, 0x68, 0x65, 0x72, 0x74, 0x65, 0x78, - 0x74, 0x52, 0x09, 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x65, 0x64, 0x12, 0x1f, 0x0a, 0x0b, - 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x5f, 0x68, 0x6d, 0x61, 0x63, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x0c, 0x52, 0x0a, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x48, 0x6d, 0x61, 0x63, 0x42, 0x0a, 0x0a, - 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xcb, 0x01, 0x0a, 0x10, 0x45, 0x6e, - 0x63, 0x72, 0x79, 0x70, 0x74, 0x56, 0x32, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x4a, - 0x0a, 0x08, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, - 0x32, 0x2e, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x6b, 0x65, 0x79, 0x73, 0x74, 0x6f, 0x72, 0x65, - 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x56, - 0x32, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x52, 0x08, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x1a, 0x6b, 0x0a, 0x07, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x12, - 0x21, 0x0a, 0x0c, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0b, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x42, 0x79, 0x74, - 0x65, 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x5f, 0x74, 0x6f, - 0x70, 0x69, 0x63, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x63, 0x6f, 0x6e, 0x74, 0x65, - 0x6e, 0x74, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x22, 0x87, 0x01, 0x0a, 0x12, 0x53, 0x65, 0x6c, 0x66, - 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x4c, - 0x0a, 0x08, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, - 0x32, 0x30, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x6b, 0x65, 0x79, 0x73, 0x74, 0x6f, 0x72, 0x65, - 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x6c, 0x66, 0x45, 0x6e, 0x63, 0x72, - 0x79, 0x70, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x52, 0x08, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x1a, 0x23, 0x0a, 0x07, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, - 0x61, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, - 0x64, 0x22, 0xbc, 0x02, 0x0a, 0x13, 0x53, 0x65, 0x6c, 0x66, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, - 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x50, 0x0a, 0x09, 0x72, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x78, - 0x6d, 0x74, 0x70, 0x2e, 0x6b, 0x65, 0x79, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x5f, 0x61, 0x70, 0x69, - 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x6c, 0x66, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x52, 0x09, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x73, 0x1a, 0xd2, 0x01, 0x0a, 0x08, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x54, 0x0a, 0x06, 0x72, 0x65, 0x73, 0x75, - 0x6c, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3a, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, - 0x6b, 0x65, 0x79, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, - 0x53, 0x65, 0x6c, 0x66, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x53, 0x75, 0x63, - 0x63, 0x65, 0x73, 0x73, 0x48, 0x00, 0x52, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x3b, - 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, - 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x6b, 0x65, 0x79, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x5f, 0x61, 0x70, - 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x4b, 0x65, 0x79, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x45, 0x72, 0x72, - 0x6f, 0x72, 0x48, 0x00, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x1a, 0x27, 0x0a, 0x07, 0x53, - 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70, - 0x74, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x09, 0x65, 0x6e, 0x63, 0x72, 0x79, - 0x70, 0x74, 0x65, 0x64, 0x42, 0x0a, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x22, 0x87, 0x01, 0x0a, 0x12, 0x53, 0x65, 0x6c, 0x66, 0x44, 0x65, 0x63, 0x72, 0x79, 0x70, 0x74, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x4c, 0x0a, 0x08, 0x72, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x78, 0x6d, 0x74, 0x70, - 0x2e, 0x6b, 0x65, 0x79, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, - 0x2e, 0x53, 0x65, 0x6c, 0x66, 0x44, 0x65, 0x63, 0x72, 0x79, 0x70, 0x74, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x08, 0x72, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x73, 0x1a, 0x23, 0x0a, 0x07, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x12, 0x18, 0x0a, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x0c, 0x52, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x22, 0x4e, 0x0a, 0x2c, 0x47, 0x65, - 0x74, 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x50, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, - 0x63, 0x65, 0x73, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, - 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x69, 0x64, - 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, - 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x22, 0x98, 0x02, 0x0a, 0x13, 0x43, - 0x72, 0x65, 0x61, 0x74, 0x65, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x12, 0x45, 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x6d, 0x65, 0x73, 0x73, 0x61, - 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x2e, 0x49, 0x6e, 0x76, 0x69, - 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x56, 0x31, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, - 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x12, 0x4a, 0x0a, 0x09, 0x72, 0x65, 0x63, - 0x69, 0x70, 0x69, 0x65, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x78, - 0x6d, 0x74, 0x70, 0x2e, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x74, - 0x65, 0x6e, 0x74, 0x73, 0x2e, 0x53, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x50, 0x75, 0x62, 0x6c, 0x69, - 0x63, 0x4b, 0x65, 0x79, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x52, 0x09, 0x72, 0x65, 0x63, 0x69, - 0x70, 0x69, 0x65, 0x6e, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, - 0x5f, 0x6e, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, - 0x65, 0x64, 0x4e, 0x73, 0x12, 0x4f, 0x0a, 0x0d, 0x63, 0x6f, 0x6e, 0x73, 0x65, 0x6e, 0x74, 0x5f, - 0x70, 0x72, 0x6f, 0x6f, 0x66, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x78, 0x6d, - 0x74, 0x70, 0x2e, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, - 0x6e, 0x74, 0x73, 0x2e, 0x43, 0x6f, 0x6e, 0x73, 0x65, 0x6e, 0x74, 0x50, 0x72, 0x6f, 0x6f, 0x66, - 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x52, 0x0c, 0x63, 0x6f, 0x6e, 0x73, 0x65, 0x6e, 0x74, - 0x50, 0x72, 0x6f, 0x6f, 0x66, 0x22, 0x82, 0x01, 0x0a, 0x14, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, - 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x50, - 0x0a, 0x0c, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x6d, 0x65, 0x73, 0x73, - 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x2e, 0x43, 0x6f, 0x6e, - 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, - 0x63, 0x65, 0x52, 0x0c, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x12, 0x18, 0x0a, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x0c, 0x52, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x22, 0xcf, 0x01, 0x0a, 0x12, 0x53, - 0x61, 0x76, 0x65, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x12, 0x4c, 0x0a, 0x08, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x18, 0x01, 0x20, - 0x03, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x6b, 0x65, 0x79, 0x73, 0x74, - 0x6f, 0x72, 0x65, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x61, 0x76, 0x65, 0x49, - 0x6e, 0x76, 0x69, 0x74, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x08, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x1a, - 0x6b, 0x0a, 0x07, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x23, 0x0a, 0x0d, 0x63, 0x6f, - 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x5f, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x0c, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x12, - 0x21, 0x0a, 0x0c, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x5f, 0x6e, 0x73, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0b, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, - 0x4e, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x0c, 0x52, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x22, 0xf0, 0x02, 0x0a, - 0x13, 0x53, 0x61, 0x76, 0x65, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x50, 0x0a, 0x09, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x6b, - 0x65, 0x79, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x53, - 0x61, 0x76, 0x65, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x09, 0x72, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x73, 0x1a, 0x86, 0x02, 0x0a, 0x08, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x12, 0x54, 0x0a, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x3a, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x6b, 0x65, 0x79, 0x73, 0x74, - 0x6f, 0x72, 0x65, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x61, 0x76, 0x65, 0x49, - 0x6e, 0x76, 0x69, 0x74, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x48, - 0x00, 0x52, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x3b, 0x0a, 0x05, 0x65, 0x72, 0x72, - 0x6f, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, - 0x6b, 0x65, 0x79, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, - 0x4b, 0x65, 0x79, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x48, 0x00, 0x52, - 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x1a, 0x5b, 0x0a, 0x07, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, - 0x73, 0x12, 0x50, 0x0a, 0x0c, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x6d, - 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x2e, - 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x66, 0x65, - 0x72, 0x65, 0x6e, 0x63, 0x65, 0x52, 0x0c, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x42, 0x0a, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, - 0x51, 0x0a, 0x16, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x75, 0x74, 0x68, 0x54, 0x6f, 0x6b, - 0x65, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x26, 0x0a, 0x0c, 0x74, 0x69, 0x6d, - 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x5f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x48, - 0x00, 0x52, 0x0b, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x4e, 0x73, 0x88, 0x01, - 0x01, 0x42, 0x0f, 0x0a, 0x0d, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x5f, - 0x6e, 0x73, 0x22, 0x70, 0x0a, 0x1a, 0x53, 0x61, 0x76, 0x65, 0x56, 0x31, 0x43, 0x6f, 0x6e, 0x76, - 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x12, 0x52, 0x0a, 0x0d, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x6d, - 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x2e, - 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x66, 0x65, - 0x72, 0x65, 0x6e, 0x63, 0x65, 0x52, 0x0d, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x73, 0x22, 0x1d, 0x0a, 0x1b, 0x53, 0x61, 0x76, 0x65, 0x56, 0x31, 0x43, 0x6f, - 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x22, 0x6e, 0x0a, 0x18, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, - 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, - 0x52, 0x0a, 0x0d, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, - 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x6d, 0x65, - 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x2e, 0x43, - 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x66, 0x65, 0x72, - 0x65, 0x6e, 0x63, 0x65, 0x52, 0x0d, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x73, 0x22, 0x41, 0x0a, 0x18, 0x47, 0x65, 0x74, 0x4b, 0x65, 0x79, 0x73, 0x74, 0x6f, - 0x72, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, - 0x25, 0x0a, 0x0e, 0x77, 0x61, 0x6c, 0x6c, 0x65, 0x74, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, - 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x77, 0x61, 0x6c, 0x6c, 0x65, 0x74, 0x41, - 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x22, 0xea, 0x01, 0x0a, 0x19, 0x47, 0x65, 0x74, 0x4b, 0x65, - 0x79, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x56, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x0e, 0x32, 0x3e, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x6b, 0x65, 0x79, 0x73, - 0x74, 0x6f, 0x72, 0x65, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x4b, - 0x65, 0x79, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x4b, 0x65, 0x79, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x53, 0x74, - 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0x75, 0x0a, 0x0e, - 0x4b, 0x65, 0x79, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x1f, - 0x0a, 0x1b, 0x4b, 0x45, 0x59, 0x53, 0x54, 0x4f, 0x52, 0x45, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, - 0x53, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, - 0x21, 0x0a, 0x1d, 0x4b, 0x45, 0x59, 0x53, 0x54, 0x4f, 0x52, 0x45, 0x5f, 0x53, 0x54, 0x41, 0x54, - 0x55, 0x53, 0x5f, 0x55, 0x4e, 0x49, 0x4e, 0x49, 0x54, 0x49, 0x41, 0x4c, 0x49, 0x5a, 0x45, 0x44, - 0x10, 0x01, 0x12, 0x1f, 0x0a, 0x1b, 0x4b, 0x45, 0x59, 0x53, 0x54, 0x4f, 0x52, 0x45, 0x5f, 0x53, - 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x49, 0x4e, 0x49, 0x54, 0x49, 0x41, 0x4c, 0x49, 0x5a, 0x45, - 0x44, 0x10, 0x02, 0x22, 0x5c, 0x0a, 0x13, 0x49, 0x6e, 0x69, 0x74, 0x4b, 0x65, 0x79, 0x73, 0x74, - 0x6f, 0x72, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3b, 0x0a, 0x02, 0x76, 0x31, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x6d, 0x65, - 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x2e, 0x50, - 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x56, - 0x31, 0x48, 0x00, 0x52, 0x02, 0x76, 0x31, 0x42, 0x08, 0x0a, 0x06, 0x62, 0x75, 0x6e, 0x64, 0x6c, - 0x65, 0x22, 0x51, 0x0a, 0x14, 0x49, 0x6e, 0x69, 0x74, 0x4b, 0x65, 0x79, 0x73, 0x74, 0x6f, 0x72, - 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x39, 0x0a, 0x05, 0x65, 0x72, 0x72, - 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, - 0x6b, 0x65, 0x79, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, - 0x4b, 0x65, 0x79, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x05, 0x65, - 0x72, 0x72, 0x6f, 0x72, 0x22, 0x7f, 0x0a, 0x11, 0x53, 0x69, 0x67, 0x6e, 0x44, 0x69, 0x67, 0x65, - 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x64, 0x69, 0x67, - 0x65, 0x73, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x06, 0x64, 0x69, 0x67, 0x65, 0x73, - 0x74, 0x12, 0x23, 0x0a, 0x0c, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x6b, 0x65, - 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x0b, 0x69, 0x64, 0x65, 0x6e, 0x74, - 0x69, 0x74, 0x79, 0x4b, 0x65, 0x79, 0x12, 0x23, 0x0a, 0x0c, 0x70, 0x72, 0x65, 0x6b, 0x65, 0x79, - 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x00, 0x52, 0x0b, - 0x70, 0x72, 0x65, 0x6b, 0x65, 0x79, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x42, 0x08, 0x0a, 0x06, 0x73, - 0x69, 0x67, 0x6e, 0x65, 0x72, 0x22, 0x50, 0x0a, 0x14, 0x47, 0x65, 0x74, 0x52, 0x65, 0x66, 0x72, - 0x65, 0x73, 0x68, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x38, 0x0a, - 0x08, 0x6a, 0x6f, 0x62, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, - 0x1d, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x6b, 0x65, 0x79, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x5f, - 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x4a, 0x6f, 0x62, 0x54, 0x79, 0x70, 0x65, 0x52, 0x07, - 0x6a, 0x6f, 0x62, 0x54, 0x79, 0x70, 0x65, 0x22, 0x37, 0x0a, 0x15, 0x47, 0x65, 0x74, 0x52, 0x65, - 0x66, 0x72, 0x65, 0x73, 0x68, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x12, 0x1e, 0x0a, 0x0b, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x72, 0x75, 0x6e, 0x5f, 0x6e, 0x73, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x6c, 0x61, 0x73, 0x74, 0x52, 0x75, 0x6e, 0x4e, 0x73, - 0x22, 0x6f, 0x0a, 0x13, 0x53, 0x65, 0x74, 0x52, 0x65, 0x66, 0x65, 0x73, 0x68, 0x4a, 0x6f, 0x62, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x38, 0x0a, 0x08, 0x6a, 0x6f, 0x62, 0x5f, 0x74, - 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1d, 0x2e, 0x78, 0x6d, 0x74, 0x70, - 0x2e, 0x6b, 0x65, 0x79, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, - 0x2e, 0x4a, 0x6f, 0x62, 0x54, 0x79, 0x70, 0x65, 0x52, 0x07, 0x6a, 0x6f, 0x62, 0x54, 0x79, 0x70, - 0x65, 0x12, 0x1e, 0x0a, 0x0b, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x72, 0x75, 0x6e, 0x5f, 0x6e, 0x73, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x6c, 0x61, 0x73, 0x74, 0x52, 0x75, 0x6e, 0x4e, - 0x73, 0x22, 0x17, 0x0a, 0x15, 0x53, 0x65, 0x74, 0x52, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x4a, - 0x6f, 0x62, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xc8, 0x02, 0x0a, 0x08, 0x54, - 0x6f, 0x70, 0x69, 0x63, 0x4d, 0x61, 0x70, 0x12, 0x42, 0x0a, 0x06, 0x74, 0x6f, 0x70, 0x69, 0x63, - 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x6b, - 0x65, 0x79, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x54, - 0x6f, 0x70, 0x69, 0x63, 0x4d, 0x61, 0x70, 0x2e, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x73, 0x45, 0x6e, - 0x74, 0x72, 0x79, 0x52, 0x06, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x73, 0x1a, 0x92, 0x01, 0x0a, 0x09, - 0x54, 0x6f, 0x70, 0x69, 0x63, 0x44, 0x61, 0x74, 0x61, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x72, 0x65, - 0x61, 0x74, 0x65, 0x64, 0x5f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x63, - 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x4e, 0x73, 0x12, 0x21, 0x0a, 0x0c, 0x70, 0x65, 0x65, 0x72, - 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, - 0x70, 0x65, 0x65, 0x72, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x43, 0x0a, 0x0a, 0x69, - 0x6e, 0x76, 0x69, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x23, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x63, - 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x2e, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x56, 0x31, 0x52, 0x0a, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x1a, 0x63, 0x0a, 0x0b, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, - 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, - 0x79, 0x12, 0x3e, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x28, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x6b, 0x65, 0x79, 0x73, 0x74, 0x6f, 0x72, 0x65, - 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x4d, 0x61, 0x70, - 0x2e, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x44, 0x61, 0x74, 0x61, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, - 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x38, 0x0a, 0x1e, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x76, - 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x6d, 0x61, 0x63, 0x4b, 0x65, 0x79, 0x73, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x74, 0x6f, 0x70, 0x69, 0x63, - 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x06, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x73, 0x22, - 0xd5, 0x03, 0x0a, 0x1f, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x48, 0x6d, 0x61, 0x63, 0x4b, 0x65, 0x79, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x12, 0x60, 0x0a, 0x09, 0x68, 0x6d, 0x61, 0x63, 0x5f, 0x6b, 0x65, 0x79, 0x73, - 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x43, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x6b, 0x65, - 0x79, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, - 0x74, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x6d, 0x61, - 0x63, 0x4b, 0x65, 0x79, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x48, 0x6d, - 0x61, 0x63, 0x4b, 0x65, 0x79, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x08, 0x68, 0x6d, 0x61, - 0x63, 0x4b, 0x65, 0x79, 0x73, 0x1a, 0x6c, 0x0a, 0x0b, 0x48, 0x6d, 0x61, 0x63, 0x4b, 0x65, 0x79, - 0x44, 0x61, 0x74, 0x61, 0x12, 0x42, 0x0a, 0x1e, 0x74, 0x68, 0x69, 0x72, 0x74, 0x79, 0x5f, 0x64, - 0x61, 0x79, 0x5f, 0x70, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x73, 0x5f, 0x73, 0x69, 0x6e, 0x63, 0x65, - 0x5f, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x1a, 0x74, 0x68, - 0x69, 0x72, 0x74, 0x79, 0x44, 0x61, 0x79, 0x50, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x73, 0x53, 0x69, - 0x6e, 0x63, 0x65, 0x45, 0x70, 0x6f, 0x63, 0x68, 0x12, 0x19, 0x0a, 0x08, 0x68, 0x6d, 0x61, 0x63, - 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x07, 0x68, 0x6d, 0x61, 0x63, - 0x4b, 0x65, 0x79, 0x1a, 0x65, 0x0a, 0x08, 0x48, 0x6d, 0x61, 0x63, 0x4b, 0x65, 0x79, 0x73, 0x12, - 0x59, 0x0a, 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, - 0x41, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x6b, 0x65, 0x79, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x5f, - 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, - 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x6d, 0x61, 0x63, 0x4b, 0x65, 0x79, 0x73, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x48, 0x6d, 0x61, 0x63, 0x4b, 0x65, 0x79, 0x44, 0x61, - 0x74, 0x61, 0x52, 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x1a, 0x7b, 0x0a, 0x0d, 0x48, 0x6d, - 0x61, 0x63, 0x4b, 0x65, 0x79, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, - 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x54, 0x0a, - 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3e, 0x2e, 0x78, - 0x6d, 0x74, 0x70, 0x2e, 0x6b, 0x65, 0x79, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x5f, 0x61, 0x70, 0x69, - 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x48, 0x6d, 0x61, 0x63, 0x4b, 0x65, 0x79, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x2e, 0x48, 0x6d, 0x61, 0x63, 0x4b, 0x65, 0x79, 0x73, 0x52, 0x05, 0x76, 0x61, - 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0xe4, 0x01, 0x0a, 0x1b, 0x50, 0x72, 0x69, 0x76, - 0x61, 0x74, 0x65, 0x50, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x41, 0x63, - 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x61, 0x70, 0x12, 0x58, 0x0a, 0x07, 0x61, 0x63, 0x74, 0x69, 0x6f, - 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3e, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, - 0x6b, 0x65, 0x79, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, - 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x50, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, - 0x65, 0x73, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x61, 0x70, 0x2e, 0x41, 0x63, 0x74, 0x69, - 0x6f, 0x6e, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x07, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, - 0x73, 0x1a, 0x6b, 0x0a, 0x0c, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x45, 0x6e, 0x74, 0x72, - 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, - 0x6b, 0x65, 0x79, 0x12, 0x45, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, - 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x2e, 0x50, 0x72, 0x69, 0x76, 0x61, - 0x74, 0x65, 0x50, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x41, 0x63, 0x74, - 0x69, 0x6f, 0x6e, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x2a, 0x68, - 0x0a, 0x09, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x1a, 0x0a, 0x16, 0x45, - 0x52, 0x52, 0x4f, 0x52, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, - 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x1c, 0x0a, 0x18, 0x45, 0x52, 0x52, 0x4f, 0x52, - 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x5f, 0x49, 0x4e, - 0x50, 0x55, 0x54, 0x10, 0x01, 0x12, 0x21, 0x0a, 0x1d, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x5f, 0x43, - 0x4f, 0x44, 0x45, 0x5f, 0x4e, 0x4f, 0x5f, 0x4d, 0x41, 0x54, 0x43, 0x48, 0x49, 0x4e, 0x47, 0x5f, - 0x50, 0x52, 0x45, 0x4b, 0x45, 0x59, 0x10, 0x02, 0x2a, 0x70, 0x0a, 0x07, 0x4a, 0x6f, 0x62, 0x54, - 0x79, 0x70, 0x65, 0x12, 0x18, 0x0a, 0x14, 0x4a, 0x4f, 0x42, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, - 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x17, 0x0a, - 0x13, 0x4a, 0x4f, 0x42, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x52, 0x45, 0x46, 0x52, 0x45, 0x53, - 0x48, 0x5f, 0x56, 0x31, 0x10, 0x01, 0x12, 0x17, 0x0a, 0x13, 0x4a, 0x4f, 0x42, 0x5f, 0x54, 0x59, - 0x50, 0x45, 0x5f, 0x52, 0x45, 0x46, 0x52, 0x45, 0x53, 0x48, 0x5f, 0x56, 0x32, 0x10, 0x02, 0x12, - 0x19, 0x0a, 0x15, 0x4a, 0x4f, 0x42, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x52, 0x45, 0x46, 0x52, - 0x45, 0x53, 0x48, 0x5f, 0x50, 0x50, 0x50, 0x50, 0x10, 0x03, 0x42, 0x8a, 0x02, 0x0a, 0x32, 0x6f, - 0x72, 0x67, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x61, 0x6e, 0x64, 0x72, 0x6f, 0x69, 0x64, 0x2e, - 0x6c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x2e, 0x70, 0x75, 0x73, 0x68, 0x2e, 0x78, 0x6d, 0x74, - 0x70, 0x2e, 0x6b, 0x65, 0x79, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x76, - 0x31, 0x42, 0x0d, 0x4b, 0x65, 0x79, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, - 0x50, 0x01, 0x5a, 0x57, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x78, - 0x6d, 0x74, 0x70, 0x2f, 0x65, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x2d, 0x6e, 0x6f, 0x74, 0x69, - 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2d, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2d, - 0x67, 0x6f, 0x2f, 0x70, 0x6b, 0x67, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x6b, 0x65, 0x79, - 0x73, 0x74, 0x6f, 0x72, 0x65, 0x5f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x3b, 0x6b, 0x65, 0x79, - 0x73, 0x74, 0x6f, 0x72, 0x65, 0x5f, 0x61, 0x70, 0x69, 0x76, 0x31, 0xa2, 0x02, 0x03, 0x58, 0x4b, - 0x58, 0xaa, 0x02, 0x13, 0x58, 0x6d, 0x74, 0x70, 0x2e, 0x4b, 0x65, 0x79, 0x73, 0x74, 0x6f, 0x72, - 0x65, 0x41, 0x70, 0x69, 0x2e, 0x56, 0x31, 0xca, 0x02, 0x13, 0x58, 0x6d, 0x74, 0x70, 0x5c, 0x4b, - 0x65, 0x79, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x41, 0x70, 0x69, 0x5c, 0x56, 0x31, 0xe2, 0x02, 0x1f, - 0x58, 0x6d, 0x74, 0x70, 0x5c, 0x4b, 0x65, 0x79, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x41, 0x70, 0x69, - 0x5c, 0x56, 0x31, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, - 0x02, 0x15, 0x58, 0x6d, 0x74, 0x70, 0x3a, 0x3a, 0x4b, 0x65, 0x79, 0x73, 0x74, 0x6f, 0x72, 0x65, - 0x41, 0x70, 0x69, 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, -}) +const file_keystore_api_v1_keystore_proto_rawDesc = "" + + "\n" + + "\x1ekeystore_api/v1/keystore.proto\x12\x14xmtp.keystore_api.v1\x1a!message_contents/ciphertext.proto\x1a-message_contents/conversation_reference.proto\x1a!message_contents/invitation.proto\x1a\"message_contents/private_key.proto\x1a*message_contents/private_preferences.proto\x1a!message_contents/public_key.proto\"^\n" + + "\rKeystoreError\x12\x18\n" + + "\amessage\x18\x01 \x01(\tR\amessage\x123\n" + + "\x04code\x18\x02 \x01(\x0e2\x1f.xmtp.keystore_api.v1.ErrorCodeR\x04code\"\xac\x02\n" + + "\x10DecryptV1Request\x12J\n" + + "\brequests\x18\x01 \x03(\v2..xmtp.keystore_api.v1.DecryptV1Request.RequestR\brequests\x1a\xcb\x01\n" + + "\aRequest\x12;\n" + + "\apayload\x18\x01 \x01(\v2!.xmtp.message_contents.CiphertextR\apayload\x12C\n" + + "\tpeer_keys\x18\x02 \x01(\v2&.xmtp.message_contents.PublicKeyBundleR\bpeerKeys\x12!\n" + + "\fheader_bytes\x18\x03 \x01(\fR\vheaderBytes\x12\x1b\n" + + "\tis_sender\x18\x04 \x01(\bR\bisSender\"\xb0\x02\n" + + "\x0fDecryptResponse\x12L\n" + + "\tresponses\x18\x01 \x03(\v2..xmtp.keystore_api.v1.DecryptResponse.ResponseR\tresponses\x1a\xce\x01\n" + + "\bResponse\x12P\n" + + "\x06result\x18\x01 \x01(\v26.xmtp.keystore_api.v1.DecryptResponse.Response.SuccessH\x00R\x06result\x12;\n" + + "\x05error\x18\x02 \x01(\v2#.xmtp.keystore_api.v1.KeystoreErrorH\x00R\x05error\x1a'\n" + + "\aSuccess\x12\x1c\n" + + "\tdecrypted\x18\x01 \x01(\fR\tdecryptedB\n" + + "\n" + + "\bresponse\"\xef\x01\n" + + "\x10DecryptV2Request\x12J\n" + + "\brequests\x18\x01 \x03(\v2..xmtp.keystore_api.v1.DecryptV2Request.RequestR\brequests\x1a\x8e\x01\n" + + "\aRequest\x12;\n" + + "\apayload\x18\x01 \x01(\v2!.xmtp.message_contents.CiphertextR\apayload\x12!\n" + + "\fheader_bytes\x18\x02 \x01(\fR\vheaderBytes\x12#\n" + + "\rcontent_topic\x18\x03 \x01(\tR\fcontentTopic\"\xed\x01\n" + + "\x10EncryptV1Request\x12J\n" + + "\brequests\x18\x01 \x03(\v2..xmtp.keystore_api.v1.EncryptV1Request.RequestR\brequests\x1a\x8c\x01\n" + + "\aRequest\x12D\n" + + "\trecipient\x18\x01 \x01(\v2&.xmtp.message_contents.PublicKeyBundleR\trecipient\x12\x18\n" + + "\apayload\x18\x02 \x01(\fR\apayload\x12!\n" + + "\fheader_bytes\x18\x03 \x01(\fR\vheaderBytes\"\xf4\x02\n" + + "\x0fEncryptResponse\x12L\n" + + "\tresponses\x18\x01 \x03(\v2..xmtp.keystore_api.v1.EncryptResponse.ResponseR\tresponses\x1a\x92\x02\n" + + "\bResponse\x12P\n" + + "\x06result\x18\x01 \x01(\v26.xmtp.keystore_api.v1.EncryptResponse.Response.SuccessH\x00R\x06result\x12;\n" + + "\x05error\x18\x02 \x01(\v2#.xmtp.keystore_api.v1.KeystoreErrorH\x00R\x05error\x1ak\n" + + "\aSuccess\x12?\n" + + "\tencrypted\x18\x01 \x01(\v2!.xmtp.message_contents.CiphertextR\tencrypted\x12\x1f\n" + + "\vsender_hmac\x18\x02 \x01(\fR\n" + + "senderHmacB\n" + + "\n" + + "\bresponse\"\xcb\x01\n" + + "\x10EncryptV2Request\x12J\n" + + "\brequests\x18\x01 \x03(\v2..xmtp.keystore_api.v1.EncryptV2Request.RequestR\brequests\x1ak\n" + + "\aRequest\x12\x18\n" + + "\apayload\x18\x01 \x01(\fR\apayload\x12!\n" + + "\fheader_bytes\x18\x02 \x01(\fR\vheaderBytes\x12#\n" + + "\rcontent_topic\x18\x03 \x01(\tR\fcontentTopic\"\x87\x01\n" + + "\x12SelfEncryptRequest\x12L\n" + + "\brequests\x18\x01 \x03(\v20.xmtp.keystore_api.v1.SelfEncryptRequest.RequestR\brequests\x1a#\n" + + "\aRequest\x12\x18\n" + + "\apayload\x18\x01 \x01(\fR\apayload\"\xbc\x02\n" + + "\x13SelfEncryptResponse\x12P\n" + + "\tresponses\x18\x01 \x03(\v22.xmtp.keystore_api.v1.SelfEncryptResponse.ResponseR\tresponses\x1a\xd2\x01\n" + + "\bResponse\x12T\n" + + "\x06result\x18\x01 \x01(\v2:.xmtp.keystore_api.v1.SelfEncryptResponse.Response.SuccessH\x00R\x06result\x12;\n" + + "\x05error\x18\x02 \x01(\v2#.xmtp.keystore_api.v1.KeystoreErrorH\x00R\x05error\x1a'\n" + + "\aSuccess\x12\x1c\n" + + "\tencrypted\x18\x01 \x01(\fR\tencryptedB\n" + + "\n" + + "\bresponse\"\x87\x01\n" + + "\x12SelfDecryptRequest\x12L\n" + + "\brequests\x18\x01 \x03(\v20.xmtp.keystore_api.v1.SelfDecryptRequest.RequestR\brequests\x1a#\n" + + "\aRequest\x12\x18\n" + + "\apayload\x18\x01 \x01(\fR\apayload\"N\n" + + ",GetPrivatePreferencesTopicIdentifierResponse\x12\x1e\n" + + "\n" + + "identifier\x18\x01 \x01(\tR\n" + + "identifier\"\x98\x02\n" + + "\x13CreateInviteRequest\x12E\n" + + "\acontext\x18\x01 \x01(\v2+.xmtp.message_contents.InvitationV1.ContextR\acontext\x12J\n" + + "\trecipient\x18\x02 \x01(\v2,.xmtp.message_contents.SignedPublicKeyBundleR\trecipient\x12\x1d\n" + + "\n" + + "created_ns\x18\x03 \x01(\x04R\tcreatedNs\x12O\n" + + "\rconsent_proof\x18\x04 \x01(\v2*.xmtp.message_contents.ConsentProofPayloadR\fconsentProof\"\x82\x01\n" + + "\x14CreateInviteResponse\x12P\n" + + "\fconversation\x18\x01 \x01(\v2,.xmtp.message_contents.ConversationReferenceR\fconversation\x12\x18\n" + + "\apayload\x18\x02 \x01(\fR\apayload\"\xcf\x01\n" + + "\x12SaveInvitesRequest\x12L\n" + + "\brequests\x18\x01 \x03(\v20.xmtp.keystore_api.v1.SaveInvitesRequest.RequestR\brequests\x1ak\n" + + "\aRequest\x12#\n" + + "\rcontent_topic\x18\x01 \x01(\tR\fcontentTopic\x12!\n" + + "\ftimestamp_ns\x18\x02 \x01(\x04R\vtimestampNs\x12\x18\n" + + "\apayload\x18\x03 \x01(\fR\apayload\"\xf0\x02\n" + + "\x13SaveInvitesResponse\x12P\n" + + "\tresponses\x18\x01 \x03(\v22.xmtp.keystore_api.v1.SaveInvitesResponse.ResponseR\tresponses\x1a\x86\x02\n" + + "\bResponse\x12T\n" + + "\x06result\x18\x01 \x01(\v2:.xmtp.keystore_api.v1.SaveInvitesResponse.Response.SuccessH\x00R\x06result\x12;\n" + + "\x05error\x18\x02 \x01(\v2#.xmtp.keystore_api.v1.KeystoreErrorH\x00R\x05error\x1a[\n" + + "\aSuccess\x12P\n" + + "\fconversation\x18\x01 \x01(\v2,.xmtp.message_contents.ConversationReferenceR\fconversationB\n" + + "\n" + + "\bresponse\"Q\n" + + "\x16CreateAuthTokenRequest\x12&\n" + + "\ftimestamp_ns\x18\x01 \x01(\x04H\x00R\vtimestampNs\x88\x01\x01B\x0f\n" + + "\r_timestamp_ns\"p\n" + + "\x1aSaveV1ConversationsRequest\x12R\n" + + "\rconversations\x18\x01 \x03(\v2,.xmtp.message_contents.ConversationReferenceR\rconversations\"\x1d\n" + + "\x1bSaveV1ConversationsResponse\"n\n" + + "\x18GetConversationsResponse\x12R\n" + + "\rconversations\x18\x01 \x03(\v2,.xmtp.message_contents.ConversationReferenceR\rconversations\"A\n" + + "\x18GetKeystoreStatusRequest\x12%\n" + + "\x0ewallet_address\x18\x01 \x01(\tR\rwalletAddress\"\xea\x01\n" + + "\x19GetKeystoreStatusResponse\x12V\n" + + "\x06status\x18\x01 \x01(\x0e2>.xmtp.keystore_api.v1.GetKeystoreStatusResponse.KeystoreStatusR\x06status\"u\n" + + "\x0eKeystoreStatus\x12\x1f\n" + + "\x1bKEYSTORE_STATUS_UNSPECIFIED\x10\x00\x12!\n" + + "\x1dKEYSTORE_STATUS_UNINITIALIZED\x10\x01\x12\x1f\n" + + "\x1bKEYSTORE_STATUS_INITIALIZED\x10\x02\"\\\n" + + "\x13InitKeystoreRequest\x12;\n" + + "\x02v1\x18\x01 \x01(\v2).xmtp.message_contents.PrivateKeyBundleV1H\x00R\x02v1B\b\n" + + "\x06bundle\"Q\n" + + "\x14InitKeystoreResponse\x129\n" + + "\x05error\x18\x01 \x01(\v2#.xmtp.keystore_api.v1.KeystoreErrorR\x05error\"\x7f\n" + + "\x11SignDigestRequest\x12\x16\n" + + "\x06digest\x18\x01 \x01(\fR\x06digest\x12#\n" + + "\fidentity_key\x18\x02 \x01(\bH\x00R\videntityKey\x12#\n" + + "\fprekey_index\x18\x03 \x01(\rH\x00R\vprekeyIndexB\b\n" + + "\x06signer\"P\n" + + "\x14GetRefreshJobRequest\x128\n" + + "\bjob_type\x18\x01 \x01(\x0e2\x1d.xmtp.keystore_api.v1.JobTypeR\ajobType\"7\n" + + "\x15GetRefreshJobResponse\x12\x1e\n" + + "\vlast_run_ns\x18\x01 \x01(\x03R\tlastRunNs\"o\n" + + "\x13SetRefeshJobRequest\x128\n" + + "\bjob_type\x18\x01 \x01(\x0e2\x1d.xmtp.keystore_api.v1.JobTypeR\ajobType\x12\x1e\n" + + "\vlast_run_ns\x18\x02 \x01(\x03R\tlastRunNs\"\x17\n" + + "\x15SetRefreshJobResponse\"\xc8\x02\n" + + "\bTopicMap\x12B\n" + + "\x06topics\x18\x01 \x03(\v2*.xmtp.keystore_api.v1.TopicMap.TopicsEntryR\x06topics\x1a\x92\x01\n" + + "\tTopicData\x12\x1d\n" + + "\n" + + "created_ns\x18\x01 \x01(\x04R\tcreatedNs\x12!\n" + + "\fpeer_address\x18\x02 \x01(\tR\vpeerAddress\x12C\n" + + "\n" + + "invitation\x18\x03 \x01(\v2#.xmtp.message_contents.InvitationV1R\n" + + "invitation\x1ac\n" + + "\vTopicsEntry\x12\x10\n" + + "\x03key\x18\x01 \x01(\tR\x03key\x12>\n" + + "\x05value\x18\x02 \x01(\v2(.xmtp.keystore_api.v1.TopicMap.TopicDataR\x05value:\x028\x01\"8\n" + + "\x1eGetConversationHmacKeysRequest\x12\x16\n" + + "\x06topics\x18\x01 \x03(\tR\x06topics\"\xd5\x03\n" + + "\x1fGetConversationHmacKeysResponse\x12`\n" + + "\thmac_keys\x18\x01 \x03(\v2C.xmtp.keystore_api.v1.GetConversationHmacKeysResponse.HmacKeysEntryR\bhmacKeys\x1al\n" + + "\vHmacKeyData\x12B\n" + + "\x1ethirty_day_periods_since_epoch\x18\x01 \x01(\x05R\x1athirtyDayPeriodsSinceEpoch\x12\x19\n" + + "\bhmac_key\x18\x02 \x01(\fR\ahmacKey\x1ae\n" + + "\bHmacKeys\x12Y\n" + + "\x06values\x18\x01 \x03(\v2A.xmtp.keystore_api.v1.GetConversationHmacKeysResponse.HmacKeyDataR\x06values\x1a{\n" + + "\rHmacKeysEntry\x12\x10\n" + + "\x03key\x18\x01 \x01(\tR\x03key\x12T\n" + + "\x05value\x18\x02 \x01(\v2>.xmtp.keystore_api.v1.GetConversationHmacKeysResponse.HmacKeysR\x05value:\x028\x01\"\xe4\x01\n" + + "\x1bPrivatePreferencesActionMap\x12X\n" + + "\aactions\x18\x01 \x03(\v2>.xmtp.keystore_api.v1.PrivatePreferencesActionMap.ActionsEntryR\aactions\x1ak\n" + + "\fActionsEntry\x12\x10\n" + + "\x03key\x18\x01 \x01(\tR\x03key\x12E\n" + + "\x05value\x18\x02 \x01(\v2/.xmtp.message_contents.PrivatePreferencesActionR\x05value:\x028\x01*h\n" + + "\tErrorCode\x12\x1a\n" + + "\x16ERROR_CODE_UNSPECIFIED\x10\x00\x12\x1c\n" + + "\x18ERROR_CODE_INVALID_INPUT\x10\x01\x12!\n" + + "\x1dERROR_CODE_NO_MATCHING_PREKEY\x10\x02*p\n" + + "\aJobType\x12\x18\n" + + "\x14JOB_TYPE_UNSPECIFIED\x10\x00\x12\x17\n" + + "\x13JOB_TYPE_REFRESH_V1\x10\x01\x12\x17\n" + + "\x13JOB_TYPE_REFRESH_V2\x10\x02\x12\x19\n" + + "\x15JOB_TYPE_REFRESH_PPPP\x10\x03B\x8a\x02\n" + + "2org.xmtp.android.library.push.xmtp.keystore_api.v1B\rKeystoreProtoP\x01ZWgithub.com/xmtp/example-notification-server-go/pkg/proto/keystore_api/v1;keystore_apiv1\xa2\x02\x03XKX\xaa\x02\x13Xmtp.KeystoreApi.V1\xca\x02\x13Xmtp\\KeystoreApi\\V1\xe2\x02\x1fXmtp\\KeystoreApi\\V1\\GPBMetadata\xea\x02\x15Xmtp::KeystoreApi::V1b\x06proto3" var ( file_keystore_api_v1_keystore_proto_rawDescOnce sync.Once diff --git a/pkg/proto/message_api/v1/authn.pb.go b/pkg/proto/message_api/v1/authn.pb.go index 1ca9557..670b081 100644 --- a/pkg/proto/message_api/v1/authn.pb.go +++ b/pkg/proto/message_api/v1/authn.pb.go @@ -2,7 +2,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.36.5 +// protoc-gen-go v1.36.10 // protoc (unknown) // source: message_api/v1/authn.proto @@ -150,50 +150,20 @@ func (x *AuthData) GetCreatedNs() uint64 { var File_message_api_v1_authn_proto protoreflect.FileDescriptor -var file_message_api_v1_authn_proto_rawDesc = string([]byte{ - 0x0a, 0x1a, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, - 0x2f, 0x61, 0x75, 0x74, 0x68, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x13, 0x78, 0x6d, - 0x74, 0x70, 0x2e, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x76, - 0x31, 0x1a, 0x21, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, - 0x6e, 0x74, 0x73, 0x2f, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x5f, 0x6b, 0x65, 0x79, 0x2e, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6f, - 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x2f, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, - 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xc6, 0x01, 0x0a, 0x05, 0x54, 0x6f, 0x6b, 0x65, 0x6e, - 0x12, 0x43, 0x0a, 0x0c, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x6b, 0x65, 0x79, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x6d, 0x65, - 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x2e, 0x50, - 0x75, 0x62, 0x6c, 0x69, 0x63, 0x4b, 0x65, 0x79, 0x52, 0x0b, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, - 0x74, 0x79, 0x4b, 0x65, 0x79, 0x12, 0x26, 0x0a, 0x0f, 0x61, 0x75, 0x74, 0x68, 0x5f, 0x64, 0x61, - 0x74, 0x61, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0d, - 0x61, 0x75, 0x74, 0x68, 0x44, 0x61, 0x74, 0x61, 0x42, 0x79, 0x74, 0x65, 0x73, 0x12, 0x50, 0x0a, - 0x13, 0x61, 0x75, 0x74, 0x68, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x73, 0x69, 0x67, 0x6e, 0x61, - 0x74, 0x75, 0x72, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x78, 0x6d, 0x74, - 0x70, 0x2e, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, - 0x74, 0x73, 0x2e, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x52, 0x11, 0x61, 0x75, - 0x74, 0x68, 0x44, 0x61, 0x74, 0x61, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x22, - 0x4a, 0x0a, 0x08, 0x41, 0x75, 0x74, 0x68, 0x44, 0x61, 0x74, 0x61, 0x12, 0x1f, 0x0a, 0x0b, 0x77, - 0x61, 0x6c, 0x6c, 0x65, 0x74, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x0a, 0x77, 0x61, 0x6c, 0x6c, 0x65, 0x74, 0x41, 0x64, 0x64, 0x72, 0x12, 0x1d, 0x0a, 0x0a, - 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, - 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x4e, 0x73, 0x42, 0x80, 0x02, 0x0a, 0x31, - 0x6f, 0x72, 0x67, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x61, 0x6e, 0x64, 0x72, 0x6f, 0x69, 0x64, - 0x2e, 0x6c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x2e, 0x70, 0x75, 0x73, 0x68, 0x2e, 0x78, 0x6d, - 0x74, 0x70, 0x2e, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x76, - 0x31, 0x42, 0x0a, 0x41, 0x75, 0x74, 0x68, 0x6e, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, - 0x55, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x78, 0x6d, 0x74, 0x70, - 0x2f, 0x65, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x2d, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2d, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2d, 0x67, 0x6f, 0x2f, - 0x70, 0x6b, 0x67, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, - 0x65, 0x5f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x3b, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, - 0x5f, 0x61, 0x70, 0x69, 0x76, 0x31, 0xa2, 0x02, 0x03, 0x58, 0x4d, 0x58, 0xaa, 0x02, 0x12, 0x58, - 0x6d, 0x74, 0x70, 0x2e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x41, 0x70, 0x69, 0x2e, 0x56, - 0x31, 0xca, 0x02, 0x12, 0x58, 0x6d, 0x74, 0x70, 0x5c, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, - 0x41, 0x70, 0x69, 0x5c, 0x56, 0x31, 0xe2, 0x02, 0x1e, 0x58, 0x6d, 0x74, 0x70, 0x5c, 0x4d, 0x65, - 0x73, 0x73, 0x61, 0x67, 0x65, 0x41, 0x70, 0x69, 0x5c, 0x56, 0x31, 0x5c, 0x47, 0x50, 0x42, 0x4d, - 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x14, 0x58, 0x6d, 0x74, 0x70, 0x3a, 0x3a, - 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x41, 0x70, 0x69, 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x06, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, -}) +const file_message_api_v1_authn_proto_rawDesc = "" + + "\n" + + "\x1amessage_api/v1/authn.proto\x12\x13xmtp.message_api.v1\x1a!message_contents/public_key.proto\x1a message_contents/signature.proto\"\xc6\x01\n" + + "\x05Token\x12C\n" + + "\fidentity_key\x18\x01 \x01(\v2 .xmtp.message_contents.PublicKeyR\videntityKey\x12&\n" + + "\x0fauth_data_bytes\x18\x02 \x01(\fR\rauthDataBytes\x12P\n" + + "\x13auth_data_signature\x18\x03 \x01(\v2 .xmtp.message_contents.SignatureR\x11authDataSignature\"J\n" + + "\bAuthData\x12\x1f\n" + + "\vwallet_addr\x18\x01 \x01(\tR\n" + + "walletAddr\x12\x1d\n" + + "\n" + + "created_ns\x18\x02 \x01(\x04R\tcreatedNsB\x80\x02\n" + + "1org.xmtp.android.library.push.xmtp.message_api.v1B\n" + + "AuthnProtoP\x01ZUgithub.com/xmtp/example-notification-server-go/pkg/proto/message_api/v1;message_apiv1\xa2\x02\x03XMX\xaa\x02\x12Xmtp.MessageApi.V1\xca\x02\x12Xmtp\\MessageApi\\V1\xe2\x02\x1eXmtp\\MessageApi\\V1\\GPBMetadata\xea\x02\x14Xmtp::MessageApi::V1b\x06proto3" var ( file_message_api_v1_authn_proto_rawDescOnce sync.Once diff --git a/pkg/proto/message_api/v1/message_api.pb.go b/pkg/proto/message_api/v1/message_api.pb.go index 987fa4a..467f755 100644 --- a/pkg/proto/message_api/v1/message_api.pb.go +++ b/pkg/proto/message_api/v1/message_api.pb.go @@ -2,7 +2,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.36.5 +// protoc-gen-go v1.36.10 // protoc (unknown) // source: message_api/v1/message_api.proto @@ -709,156 +709,61 @@ func (x *BatchQueryResponse) GetResponses() []*QueryResponse { var File_message_api_v1_message_api_proto protoreflect.FileDescriptor -var file_message_api_v1_message_api_proto_rawDesc = string([]byte{ - 0x0a, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, - 0x2f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x12, 0x13, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, - 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, - 0x61, 0x70, 0x69, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x2d, 0x67, 0x65, - 0x6e, 0x2d, 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, 0x76, 0x32, 0x2f, 0x6f, 0x70, 0x74, 0x69, - 0x6f, 0x6e, 0x73, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x4b, 0x0a, 0x0b, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x43, 0x75, - 0x72, 0x73, 0x6f, 0x72, 0x12, 0x16, 0x0a, 0x06, 0x64, 0x69, 0x67, 0x65, 0x73, 0x74, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x0c, 0x52, 0x06, 0x64, 0x69, 0x67, 0x65, 0x73, 0x74, 0x12, 0x24, 0x0a, 0x0e, - 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x6e, 0x73, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x04, 0x52, 0x0c, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x54, 0x69, 0x6d, 0x65, - 0x4e, 0x73, 0x22, 0x4c, 0x0a, 0x06, 0x43, 0x75, 0x72, 0x73, 0x6f, 0x72, 0x12, 0x38, 0x0a, 0x05, - 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x78, 0x6d, - 0x74, 0x70, 0x2e, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x76, - 0x31, 0x2e, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x43, 0x75, 0x72, 0x73, 0x6f, 0x72, 0x48, 0x00, 0x52, - 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x42, 0x08, 0x0a, 0x06, 0x63, 0x75, 0x72, 0x73, 0x6f, 0x72, - 0x22, 0x99, 0x01, 0x0a, 0x0a, 0x50, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x49, 0x6e, 0x66, 0x6f, 0x12, - 0x14, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, - 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x33, 0x0a, 0x06, 0x63, 0x75, 0x72, 0x73, 0x6f, 0x72, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x6d, 0x65, 0x73, - 0x73, 0x61, 0x67, 0x65, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x75, 0x72, 0x73, - 0x6f, 0x72, 0x52, 0x06, 0x63, 0x75, 0x72, 0x73, 0x6f, 0x72, 0x12, 0x40, 0x0a, 0x09, 0x64, 0x69, - 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x22, 0x2e, - 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x61, 0x70, 0x69, - 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x6f, 0x72, 0x74, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, - 0x6e, 0x52, 0x09, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x6c, 0x0a, 0x08, - 0x45, 0x6e, 0x76, 0x65, 0x6c, 0x6f, 0x70, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x63, 0x6f, 0x6e, 0x74, - 0x65, 0x6e, 0x74, 0x5f, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x0c, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x12, 0x21, 0x0a, - 0x0c, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x5f, 0x6e, 0x73, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x04, 0x52, 0x0b, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x4e, 0x73, - 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x0c, 0x52, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x22, 0x4d, 0x0a, 0x0e, 0x50, 0x75, - 0x62, 0x6c, 0x69, 0x73, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3b, 0x0a, 0x09, - 0x65, 0x6e, 0x76, 0x65, 0x6c, 0x6f, 0x70, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, - 0x1d, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x61, - 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x6e, 0x76, 0x65, 0x6c, 0x6f, 0x70, 0x65, 0x52, 0x09, - 0x65, 0x6e, 0x76, 0x65, 0x6c, 0x6f, 0x70, 0x65, 0x73, 0x22, 0x11, 0x0a, 0x0f, 0x50, 0x75, 0x62, - 0x6c, 0x69, 0x73, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x39, 0x0a, 0x10, - 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x12, 0x25, 0x0a, 0x0e, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x5f, 0x74, 0x6f, 0x70, 0x69, - 0x63, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0d, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, - 0x74, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x73, 0x22, 0x15, 0x0a, 0x13, 0x53, 0x75, 0x62, 0x73, 0x63, - 0x72, 0x69, 0x62, 0x65, 0x41, 0x6c, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0xbb, - 0x01, 0x0a, 0x0c, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, - 0x25, 0x0a, 0x0e, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x5f, 0x74, 0x6f, 0x70, 0x69, 0x63, - 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0d, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, - 0x54, 0x6f, 0x70, 0x69, 0x63, 0x73, 0x12, 0x22, 0x0a, 0x0d, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, - 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0b, 0x73, - 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x4e, 0x73, 0x12, 0x1e, 0x0a, 0x0b, 0x65, 0x6e, - 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x6e, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, - 0x09, 0x65, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x4e, 0x73, 0x12, 0x40, 0x0a, 0x0b, 0x70, 0x61, - 0x67, 0x69, 0x6e, 0x67, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x1f, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x61, - 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x49, 0x6e, 0x66, 0x6f, - 0x52, 0x0a, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x49, 0x6e, 0x66, 0x6f, 0x22, 0x8e, 0x01, 0x0a, - 0x0d, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3b, - 0x0a, 0x09, 0x65, 0x6e, 0x76, 0x65, 0x6c, 0x6f, 0x70, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, - 0x0b, 0x32, 0x1d, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, - 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x6e, 0x76, 0x65, 0x6c, 0x6f, 0x70, 0x65, - 0x52, 0x09, 0x65, 0x6e, 0x76, 0x65, 0x6c, 0x6f, 0x70, 0x65, 0x73, 0x12, 0x40, 0x0a, 0x0b, 0x70, - 0x61, 0x67, 0x69, 0x6e, 0x67, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x1f, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, - 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x49, 0x6e, 0x66, - 0x6f, 0x52, 0x0a, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x49, 0x6e, 0x66, 0x6f, 0x22, 0x52, 0x0a, - 0x11, 0x42, 0x61, 0x74, 0x63, 0x68, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x12, 0x3d, 0x0a, 0x08, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x18, 0x01, - 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x6d, 0x65, 0x73, 0x73, - 0x61, 0x67, 0x65, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x08, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x73, 0x22, 0x56, 0x0a, 0x12, 0x42, 0x61, 0x74, 0x63, 0x68, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x40, 0x0a, 0x09, 0x72, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x78, 0x6d, 0x74, - 0x70, 0x2e, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, - 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x09, - 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x73, 0x2a, 0x6c, 0x0a, 0x0d, 0x53, 0x6f, 0x72, - 0x74, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1e, 0x0a, 0x1a, 0x53, 0x4f, - 0x52, 0x54, 0x5f, 0x44, 0x49, 0x52, 0x45, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x55, 0x4e, 0x53, - 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x1c, 0x0a, 0x18, 0x53, 0x4f, - 0x52, 0x54, 0x5f, 0x44, 0x49, 0x52, 0x45, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x41, 0x53, 0x43, - 0x45, 0x4e, 0x44, 0x49, 0x4e, 0x47, 0x10, 0x01, 0x12, 0x1d, 0x0a, 0x19, 0x53, 0x4f, 0x52, 0x54, - 0x5f, 0x44, 0x49, 0x52, 0x45, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x44, 0x45, 0x53, 0x43, 0x45, - 0x4e, 0x44, 0x49, 0x4e, 0x47, 0x10, 0x02, 0x32, 0xc6, 0x05, 0x0a, 0x0a, 0x4d, 0x65, 0x73, 0x73, - 0x61, 0x67, 0x65, 0x41, 0x70, 0x69, 0x12, 0x74, 0x0a, 0x07, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x73, - 0x68, 0x12, 0x23, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, - 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x24, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x6d, 0x65, - 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x75, 0x62, - 0x6c, 0x69, 0x73, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x1e, 0x82, 0xd3, - 0xe4, 0x93, 0x02, 0x18, 0x3a, 0x01, 0x2a, 0x22, 0x13, 0x2f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, - 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x12, 0x75, 0x0a, 0x09, - 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x12, 0x25, 0x2e, 0x78, 0x6d, 0x74, 0x70, - 0x2e, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, - 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x1d, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, - 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x6e, 0x76, 0x65, 0x6c, 0x6f, 0x70, 0x65, 0x22, - 0x20, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1a, 0x3a, 0x01, 0x2a, 0x22, 0x15, 0x2f, 0x6d, 0x65, 0x73, - 0x73, 0x61, 0x67, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, - 0x65, 0x30, 0x01, 0x12, 0x58, 0x0a, 0x0a, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, - 0x32, 0x12, 0x25, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, - 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, - 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, - 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x45, - 0x6e, 0x76, 0x65, 0x6c, 0x6f, 0x70, 0x65, 0x22, 0x00, 0x28, 0x01, 0x30, 0x01, 0x12, 0x7f, 0x0a, - 0x0c, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x41, 0x6c, 0x6c, 0x12, 0x28, 0x2e, - 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x61, 0x70, 0x69, - 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x41, 0x6c, 0x6c, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x6d, - 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x6e, - 0x76, 0x65, 0x6c, 0x6f, 0x70, 0x65, 0x22, 0x24, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1e, 0x3a, 0x01, - 0x2a, 0x22, 0x19, 0x2f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x73, - 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x2d, 0x61, 0x6c, 0x6c, 0x30, 0x01, 0x12, 0x6c, - 0x0a, 0x05, 0x51, 0x75, 0x65, 0x72, 0x79, 0x12, 0x21, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x6d, - 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, - 0x65, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x78, 0x6d, 0x74, - 0x70, 0x2e, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, - 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x1c, - 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x16, 0x3a, 0x01, 0x2a, 0x22, 0x11, 0x2f, 0x6d, 0x65, 0x73, 0x73, - 0x61, 0x67, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x12, 0x81, 0x01, 0x0a, - 0x0a, 0x42, 0x61, 0x74, 0x63, 0x68, 0x51, 0x75, 0x65, 0x72, 0x79, 0x12, 0x26, 0x2e, 0x78, 0x6d, - 0x74, 0x70, 0x2e, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x76, - 0x31, 0x2e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x6d, 0x65, 0x73, 0x73, 0x61, - 0x67, 0x65, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x51, - 0x75, 0x65, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x22, 0x82, 0xd3, - 0xe4, 0x93, 0x02, 0x1c, 0x3a, 0x01, 0x2a, 0x22, 0x17, 0x2f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, - 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x62, 0x61, 0x74, 0x63, 0x68, 0x2d, 0x71, 0x75, 0x65, 0x72, 0x79, - 0x42, 0x9b, 0x02, 0x92, 0x41, 0x13, 0x12, 0x11, 0x0a, 0x0a, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, - 0x65, 0x41, 0x70, 0x69, 0x32, 0x03, 0x31, 0x2e, 0x30, 0x0a, 0x31, 0x6f, 0x72, 0x67, 0x2e, 0x78, - 0x6d, 0x74, 0x70, 0x2e, 0x61, 0x6e, 0x64, 0x72, 0x6f, 0x69, 0x64, 0x2e, 0x6c, 0x69, 0x62, 0x72, - 0x61, 0x72, 0x79, 0x2e, 0x70, 0x75, 0x73, 0x68, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x6d, 0x65, - 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x42, 0x0f, 0x4d, 0x65, - 0x73, 0x73, 0x61, 0x67, 0x65, 0x41, 0x70, 0x69, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, - 0x55, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x78, 0x6d, 0x74, 0x70, - 0x2f, 0x65, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x2d, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2d, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2d, 0x67, 0x6f, 0x2f, - 0x70, 0x6b, 0x67, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, - 0x65, 0x5f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x3b, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, - 0x5f, 0x61, 0x70, 0x69, 0x76, 0x31, 0xa2, 0x02, 0x03, 0x58, 0x4d, 0x58, 0xaa, 0x02, 0x12, 0x58, - 0x6d, 0x74, 0x70, 0x2e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x41, 0x70, 0x69, 0x2e, 0x56, - 0x31, 0xca, 0x02, 0x12, 0x58, 0x6d, 0x74, 0x70, 0x5c, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, - 0x41, 0x70, 0x69, 0x5c, 0x56, 0x31, 0xe2, 0x02, 0x1e, 0x58, 0x6d, 0x74, 0x70, 0x5c, 0x4d, 0x65, - 0x73, 0x73, 0x61, 0x67, 0x65, 0x41, 0x70, 0x69, 0x5c, 0x56, 0x31, 0x5c, 0x47, 0x50, 0x42, 0x4d, - 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x14, 0x58, 0x6d, 0x74, 0x70, 0x3a, 0x3a, - 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x41, 0x70, 0x69, 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x06, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, -}) +const file_message_api_v1_message_api_proto_rawDesc = "" + + "\n" + + " message_api/v1/message_api.proto\x12\x13xmtp.message_api.v1\x1a\x1cgoogle/api/annotations.proto\x1a.protoc-gen-openapiv2/options/annotations.proto\"K\n" + + "\vIndexCursor\x12\x16\n" + + "\x06digest\x18\x01 \x01(\fR\x06digest\x12$\n" + + "\x0esender_time_ns\x18\x02 \x01(\x04R\fsenderTimeNs\"L\n" + + "\x06Cursor\x128\n" + + "\x05index\x18\x01 \x01(\v2 .xmtp.message_api.v1.IndexCursorH\x00R\x05indexB\b\n" + + "\x06cursor\"\x99\x01\n" + + "\n" + + "PagingInfo\x12\x14\n" + + "\x05limit\x18\x01 \x01(\rR\x05limit\x123\n" + + "\x06cursor\x18\x02 \x01(\v2\x1b.xmtp.message_api.v1.CursorR\x06cursor\x12@\n" + + "\tdirection\x18\x03 \x01(\x0e2\".xmtp.message_api.v1.SortDirectionR\tdirection\"l\n" + + "\bEnvelope\x12#\n" + + "\rcontent_topic\x18\x01 \x01(\tR\fcontentTopic\x12!\n" + + "\ftimestamp_ns\x18\x02 \x01(\x04R\vtimestampNs\x12\x18\n" + + "\amessage\x18\x03 \x01(\fR\amessage\"M\n" + + "\x0ePublishRequest\x12;\n" + + "\tenvelopes\x18\x01 \x03(\v2\x1d.xmtp.message_api.v1.EnvelopeR\tenvelopes\"\x11\n" + + "\x0fPublishResponse\"9\n" + + "\x10SubscribeRequest\x12%\n" + + "\x0econtent_topics\x18\x01 \x03(\tR\rcontentTopics\"\x15\n" + + "\x13SubscribeAllRequest\"\xbb\x01\n" + + "\fQueryRequest\x12%\n" + + "\x0econtent_topics\x18\x01 \x03(\tR\rcontentTopics\x12\"\n" + + "\rstart_time_ns\x18\x02 \x01(\x04R\vstartTimeNs\x12\x1e\n" + + "\vend_time_ns\x18\x03 \x01(\x04R\tendTimeNs\x12@\n" + + "\vpaging_info\x18\x04 \x01(\v2\x1f.xmtp.message_api.v1.PagingInfoR\n" + + "pagingInfo\"\x8e\x01\n" + + "\rQueryResponse\x12;\n" + + "\tenvelopes\x18\x01 \x03(\v2\x1d.xmtp.message_api.v1.EnvelopeR\tenvelopes\x12@\n" + + "\vpaging_info\x18\x02 \x01(\v2\x1f.xmtp.message_api.v1.PagingInfoR\n" + + "pagingInfo\"R\n" + + "\x11BatchQueryRequest\x12=\n" + + "\brequests\x18\x01 \x03(\v2!.xmtp.message_api.v1.QueryRequestR\brequests\"V\n" + + "\x12BatchQueryResponse\x12@\n" + + "\tresponses\x18\x01 \x03(\v2\".xmtp.message_api.v1.QueryResponseR\tresponses*l\n" + + "\rSortDirection\x12\x1e\n" + + "\x1aSORT_DIRECTION_UNSPECIFIED\x10\x00\x12\x1c\n" + + "\x18SORT_DIRECTION_ASCENDING\x10\x01\x12\x1d\n" + + "\x19SORT_DIRECTION_DESCENDING\x10\x022\xc6\x05\n" + + "\n" + + "MessageApi\x12t\n" + + "\aPublish\x12#.xmtp.message_api.v1.PublishRequest\x1a$.xmtp.message_api.v1.PublishResponse\"\x1e\x82\xd3\xe4\x93\x02\x18:\x01*\"\x13/message/v1/publish\x12u\n" + + "\tSubscribe\x12%.xmtp.message_api.v1.SubscribeRequest\x1a\x1d.xmtp.message_api.v1.Envelope\" \x82\xd3\xe4\x93\x02\x1a:\x01*\"\x15/message/v1/subscribe0\x01\x12X\n" + + "\n" + + "Subscribe2\x12%.xmtp.message_api.v1.SubscribeRequest\x1a\x1d.xmtp.message_api.v1.Envelope\"\x00(\x010\x01\x12\x7f\n" + + "\fSubscribeAll\x12(.xmtp.message_api.v1.SubscribeAllRequest\x1a\x1d.xmtp.message_api.v1.Envelope\"$\x82\xd3\xe4\x93\x02\x1e:\x01*\"\x19/message/v1/subscribe-all0\x01\x12l\n" + + "\x05Query\x12!.xmtp.message_api.v1.QueryRequest\x1a\".xmtp.message_api.v1.QueryResponse\"\x1c\x82\xd3\xe4\x93\x02\x16:\x01*\"\x11/message/v1/query\x12\x81\x01\n" + + "\n" + + "BatchQuery\x12&.xmtp.message_api.v1.BatchQueryRequest\x1a'.xmtp.message_api.v1.BatchQueryResponse\"\"\x82\xd3\xe4\x93\x02\x1c:\x01*\"\x17/message/v1/batch-queryB\x9b\x02\x92A\x13\x12\x11\n" + + "\n" + + "MessageApi2\x031.0\n" + + "1org.xmtp.android.library.push.xmtp.message_api.v1B\x0fMessageApiProtoP\x01ZUgithub.com/xmtp/example-notification-server-go/pkg/proto/message_api/v1;message_apiv1\xa2\x02\x03XMX\xaa\x02\x12Xmtp.MessageApi.V1\xca\x02\x12Xmtp\\MessageApi\\V1\xe2\x02\x1eXmtp\\MessageApi\\V1\\GPBMetadata\xea\x02\x14Xmtp::MessageApi::V1b\x06proto3" var ( file_message_api_v1_message_api_proto_rawDescOnce sync.Once diff --git a/pkg/proto/message_contents/ciphertext.pb.go b/pkg/proto/message_contents/ciphertext.pb.go index ae7e567..e4f1d69 100644 --- a/pkg/proto/message_contents/ciphertext.pb.go +++ b/pkg/proto/message_contents/ciphertext.pb.go @@ -2,7 +2,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.36.1 +// protoc-gen-go v1.36.10 // protoc (unknown) // source: message_contents/ciphertext.proto @@ -13,6 +13,7 @@ import ( protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" + unsafe "unsafe" ) const ( @@ -280,71 +281,38 @@ func (x *SignedEciesCiphertext_Ecies) GetCiphertext() []byte { var File_message_contents_ciphertext_proto protoreflect.FileDescriptor -var file_message_contents_ciphertext_proto_rawDesc = []byte{ - 0x0a, 0x21, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, - 0x74, 0x73, 0x2f, 0x63, 0x69, 0x70, 0x68, 0x65, 0x72, 0x74, 0x65, 0x78, 0x74, 0x2e, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x12, 0x15, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, - 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x1a, 0x20, 0x6d, 0x65, 0x73, 0x73, - 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x2f, 0x73, 0x69, 0x67, - 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xee, 0x01, 0x0a, - 0x0a, 0x43, 0x69, 0x70, 0x68, 0x65, 0x72, 0x74, 0x65, 0x78, 0x74, 0x12, 0x6c, 0x0a, 0x16, 0x61, - 0x65, 0x73, 0x32, 0x35, 0x36, 0x5f, 0x67, 0x63, 0x6d, 0x5f, 0x68, 0x6b, 0x64, 0x66, 0x5f, 0x73, - 0x68, 0x61, 0x32, 0x35, 0x36, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x78, 0x6d, - 0x74, 0x70, 0x2e, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, - 0x6e, 0x74, 0x73, 0x2e, 0x43, 0x69, 0x70, 0x68, 0x65, 0x72, 0x74, 0x65, 0x78, 0x74, 0x2e, 0x41, - 0x65, 0x73, 0x32, 0x35, 0x36, 0x67, 0x63, 0x6d, 0x48, 0x6b, 0x64, 0x66, 0x73, 0x68, 0x61, 0x32, - 0x35, 0x36, 0x48, 0x00, 0x52, 0x13, 0x61, 0x65, 0x73, 0x32, 0x35, 0x36, 0x47, 0x63, 0x6d, 0x48, - 0x6b, 0x64, 0x66, 0x53, 0x68, 0x61, 0x32, 0x35, 0x36, 0x1a, 0x69, 0x0a, 0x13, 0x41, 0x65, 0x73, - 0x32, 0x35, 0x36, 0x67, 0x63, 0x6d, 0x48, 0x6b, 0x64, 0x66, 0x73, 0x68, 0x61, 0x32, 0x35, 0x36, - 0x12, 0x1b, 0x0a, 0x09, 0x68, 0x6b, 0x64, 0x66, 0x5f, 0x73, 0x61, 0x6c, 0x74, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x0c, 0x52, 0x08, 0x68, 0x6b, 0x64, 0x66, 0x53, 0x61, 0x6c, 0x74, 0x12, 0x1b, 0x0a, - 0x09, 0x67, 0x63, 0x6d, 0x5f, 0x6e, 0x6f, 0x6e, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, - 0x52, 0x08, 0x67, 0x63, 0x6d, 0x4e, 0x6f, 0x6e, 0x63, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x70, 0x61, - 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x07, 0x70, 0x61, 0x79, - 0x6c, 0x6f, 0x61, 0x64, 0x42, 0x07, 0x0a, 0x05, 0x75, 0x6e, 0x69, 0x6f, 0x6e, 0x22, 0xf5, 0x01, - 0x0a, 0x15, 0x53, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x45, 0x63, 0x69, 0x65, 0x73, 0x43, 0x69, 0x70, - 0x68, 0x65, 0x72, 0x74, 0x65, 0x78, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x65, 0x63, 0x69, 0x65, 0x73, - 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0a, 0x65, 0x63, - 0x69, 0x65, 0x73, 0x42, 0x79, 0x74, 0x65, 0x73, 0x12, 0x3e, 0x0a, 0x09, 0x73, 0x69, 0x67, 0x6e, - 0x61, 0x74, 0x75, 0x72, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x78, 0x6d, - 0x74, 0x70, 0x2e, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, - 0x6e, 0x74, 0x73, 0x2e, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x52, 0x09, 0x73, - 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x1a, 0x7b, 0x0a, 0x05, 0x45, 0x63, 0x69, 0x65, - 0x73, 0x12, 0x30, 0x0a, 0x14, 0x65, 0x70, 0x68, 0x65, 0x6d, 0x65, 0x72, 0x61, 0x6c, 0x5f, 0x70, - 0x75, 0x62, 0x6c, 0x69, 0x63, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, - 0x12, 0x65, 0x70, 0x68, 0x65, 0x6d, 0x65, 0x72, 0x61, 0x6c, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, - 0x4b, 0x65, 0x79, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x76, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, - 0x02, 0x69, 0x76, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x61, 0x63, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, - 0x52, 0x03, 0x6d, 0x61, 0x63, 0x12, 0x1e, 0x0a, 0x0a, 0x63, 0x69, 0x70, 0x68, 0x65, 0x72, 0x74, - 0x65, 0x78, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0a, 0x63, 0x69, 0x70, 0x68, 0x65, - 0x72, 0x74, 0x65, 0x78, 0x74, 0x42, 0x82, 0x02, 0x0a, 0x33, 0x6f, 0x72, 0x67, 0x2e, 0x78, 0x6d, - 0x74, 0x70, 0x2e, 0x61, 0x6e, 0x64, 0x72, 0x6f, 0x69, 0x64, 0x2e, 0x6c, 0x69, 0x62, 0x72, 0x61, - 0x72, 0x79, 0x2e, 0x70, 0x75, 0x73, 0x68, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x6d, 0x65, 0x73, - 0x73, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x42, 0x0f, 0x43, - 0x69, 0x70, 0x68, 0x65, 0x72, 0x74, 0x65, 0x78, 0x74, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, - 0x5a, 0x49, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x78, 0x6d, 0x74, - 0x70, 0x2f, 0x65, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x2d, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x69, - 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2d, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2d, 0x67, 0x6f, - 0x2f, 0x70, 0x6b, 0x67, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x6d, 0x65, 0x73, 0x73, 0x61, - 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0xa2, 0x02, 0x03, 0x58, 0x4d, - 0x58, 0xaa, 0x02, 0x14, 0x58, 0x6d, 0x74, 0x70, 0x2e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, - 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0xca, 0x02, 0x14, 0x58, 0x6d, 0x74, 0x70, 0x5c, - 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0xe2, - 0x02, 0x20, 0x58, 0x6d, 0x74, 0x70, 0x5c, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x43, 0x6f, - 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, - 0x74, 0x61, 0xea, 0x02, 0x15, 0x58, 0x6d, 0x74, 0x70, 0x3a, 0x3a, 0x4d, 0x65, 0x73, 0x73, 0x61, - 0x67, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x33, -} +const file_message_contents_ciphertext_proto_rawDesc = "" + + "\n" + + "!message_contents/ciphertext.proto\x12\x15xmtp.message_contents\x1a message_contents/signature.proto\"\xee\x01\n" + + "\n" + + "Ciphertext\x12l\n" + + "\x16aes256_gcm_hkdf_sha256\x18\x01 \x01(\v25.xmtp.message_contents.Ciphertext.Aes256gcmHkdfsha256H\x00R\x13aes256GcmHkdfSha256\x1ai\n" + + "\x13Aes256gcmHkdfsha256\x12\x1b\n" + + "\thkdf_salt\x18\x01 \x01(\fR\bhkdfSalt\x12\x1b\n" + + "\tgcm_nonce\x18\x02 \x01(\fR\bgcmNonce\x12\x18\n" + + "\apayload\x18\x03 \x01(\fR\apayloadB\a\n" + + "\x05union\"\xf5\x01\n" + + "\x15SignedEciesCiphertext\x12\x1f\n" + + "\vecies_bytes\x18\x01 \x01(\fR\n" + + "eciesBytes\x12>\n" + + "\tsignature\x18\x02 \x01(\v2 .xmtp.message_contents.SignatureR\tsignature\x1a{\n" + + "\x05Ecies\x120\n" + + "\x14ephemeral_public_key\x18\x01 \x01(\fR\x12ephemeralPublicKey\x12\x0e\n" + + "\x02iv\x18\x02 \x01(\fR\x02iv\x12\x10\n" + + "\x03mac\x18\x03 \x01(\fR\x03mac\x12\x1e\n" + + "\n" + + "ciphertext\x18\x04 \x01(\fR\n" + + "ciphertextB\x82\x02\n" + + "3org.xmtp.android.library.push.xmtp.message_contentsB\x0fCiphertextProtoP\x01ZIgithub.com/xmtp/example-notification-server-go/pkg/proto/message_contents\xa2\x02\x03XMX\xaa\x02\x14Xmtp.MessageContents\xca\x02\x14Xmtp\\MessageContents\xe2\x02 Xmtp\\MessageContents\\GPBMetadata\xea\x02\x15Xmtp::MessageContentsb\x06proto3" var ( file_message_contents_ciphertext_proto_rawDescOnce sync.Once - file_message_contents_ciphertext_proto_rawDescData = file_message_contents_ciphertext_proto_rawDesc + file_message_contents_ciphertext_proto_rawDescData []byte ) func file_message_contents_ciphertext_proto_rawDescGZIP() []byte { file_message_contents_ciphertext_proto_rawDescOnce.Do(func() { - file_message_contents_ciphertext_proto_rawDescData = protoimpl.X.CompressGZIP(file_message_contents_ciphertext_proto_rawDescData) + file_message_contents_ciphertext_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_message_contents_ciphertext_proto_rawDesc), len(file_message_contents_ciphertext_proto_rawDesc))) }) return file_message_contents_ciphertext_proto_rawDescData } @@ -380,7 +348,7 @@ func file_message_contents_ciphertext_proto_init() { out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), - RawDescriptor: file_message_contents_ciphertext_proto_rawDesc, + RawDescriptor: unsafe.Slice(unsafe.StringData(file_message_contents_ciphertext_proto_rawDesc), len(file_message_contents_ciphertext_proto_rawDesc)), NumEnums: 0, NumMessages: 4, NumExtensions: 0, @@ -391,7 +359,6 @@ func file_message_contents_ciphertext_proto_init() { MessageInfos: file_message_contents_ciphertext_proto_msgTypes, }.Build() File_message_contents_ciphertext_proto = out.File - file_message_contents_ciphertext_proto_rawDesc = nil file_message_contents_ciphertext_proto_goTypes = nil file_message_contents_ciphertext_proto_depIdxs = nil } diff --git a/pkg/proto/message_contents/composite.pb.go b/pkg/proto/message_contents/composite.pb.go index 47b1e89..93585ff 100644 --- a/pkg/proto/message_contents/composite.pb.go +++ b/pkg/proto/message_contents/composite.pb.go @@ -2,7 +2,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.36.1 +// protoc-gen-go v1.36.10 // protoc (unknown) // source: message_contents/composite.proto @@ -13,6 +13,7 @@ import ( protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" + unsafe "unsafe" ) const ( @@ -152,54 +153,25 @@ func (*Composite_Part_Composite) isComposite_Part_Element() {} var File_message_contents_composite_proto protoreflect.FileDescriptor -var file_message_contents_composite_proto_rawDesc = []byte{ - 0x0a, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, - 0x74, 0x73, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x12, 0x15, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, - 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x1a, 0x1e, 0x6d, 0x65, 0x73, 0x73, 0x61, - 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x2f, 0x63, 0x6f, 0x6e, 0x74, - 0x65, 0x6e, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xdb, 0x01, 0x0a, 0x09, 0x43, 0x6f, - 0x6d, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x65, 0x12, 0x3b, 0x0a, 0x05, 0x70, 0x61, 0x72, 0x74, 0x73, - 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x6d, 0x65, - 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x2e, 0x43, - 0x6f, 0x6d, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x65, 0x2e, 0x50, 0x61, 0x72, 0x74, 0x52, 0x05, 0x70, - 0x61, 0x72, 0x74, 0x73, 0x1a, 0x90, 0x01, 0x0a, 0x04, 0x50, 0x61, 0x72, 0x74, 0x12, 0x3b, 0x0a, - 0x04, 0x70, 0x61, 0x72, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x78, 0x6d, - 0x74, 0x70, 0x2e, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, - 0x6e, 0x74, 0x73, 0x2e, 0x45, 0x6e, 0x63, 0x6f, 0x64, 0x65, 0x64, 0x43, 0x6f, 0x6e, 0x74, 0x65, - 0x6e, 0x74, 0x48, 0x00, 0x52, 0x04, 0x70, 0x61, 0x72, 0x74, 0x12, 0x40, 0x0a, 0x09, 0x63, 0x6f, - 0x6d, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, - 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x6e, - 0x74, 0x65, 0x6e, 0x74, 0x73, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x65, 0x48, - 0x00, 0x52, 0x09, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x65, 0x42, 0x09, 0x0a, 0x07, - 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x42, 0x81, 0x02, 0x0a, 0x33, 0x6f, 0x72, 0x67, 0x2e, - 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x61, 0x6e, 0x64, 0x72, 0x6f, 0x69, 0x64, 0x2e, 0x6c, 0x69, 0x62, - 0x72, 0x61, 0x72, 0x79, 0x2e, 0x70, 0x75, 0x73, 0x68, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x6d, - 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x42, - 0x0e, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, - 0x01, 0x5a, 0x49, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x78, 0x6d, - 0x74, 0x70, 0x2f, 0x65, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x2d, 0x6e, 0x6f, 0x74, 0x69, 0x66, - 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2d, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2d, 0x67, - 0x6f, 0x2f, 0x70, 0x6b, 0x67, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x6d, 0x65, 0x73, 0x73, - 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0xa2, 0x02, 0x03, 0x58, - 0x4d, 0x58, 0xaa, 0x02, 0x14, 0x58, 0x6d, 0x74, 0x70, 0x2e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, - 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0xca, 0x02, 0x14, 0x58, 0x6d, 0x74, 0x70, - 0x5c, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, - 0xe2, 0x02, 0x20, 0x58, 0x6d, 0x74, 0x70, 0x5c, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x43, - 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, - 0x61, 0x74, 0x61, 0xea, 0x02, 0x15, 0x58, 0x6d, 0x74, 0x70, 0x3a, 0x3a, 0x4d, 0x65, 0x73, 0x73, - 0x61, 0x67, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x62, 0x06, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x33, -} +const file_message_contents_composite_proto_rawDesc = "" + + "\n" + + " message_contents/composite.proto\x12\x15xmtp.message_contents\x1a\x1emessage_contents/content.proto\"\xdb\x01\n" + + "\tComposite\x12;\n" + + "\x05parts\x18\x01 \x03(\v2%.xmtp.message_contents.Composite.PartR\x05parts\x1a\x90\x01\n" + + "\x04Part\x12;\n" + + "\x04part\x18\x01 \x01(\v2%.xmtp.message_contents.EncodedContentH\x00R\x04part\x12@\n" + + "\tcomposite\x18\x02 \x01(\v2 .xmtp.message_contents.CompositeH\x00R\tcompositeB\t\n" + + "\aelementB\x81\x02\n" + + "3org.xmtp.android.library.push.xmtp.message_contentsB\x0eCompositeProtoP\x01ZIgithub.com/xmtp/example-notification-server-go/pkg/proto/message_contents\xa2\x02\x03XMX\xaa\x02\x14Xmtp.MessageContents\xca\x02\x14Xmtp\\MessageContents\xe2\x02 Xmtp\\MessageContents\\GPBMetadata\xea\x02\x15Xmtp::MessageContentsb\x06proto3" var ( file_message_contents_composite_proto_rawDescOnce sync.Once - file_message_contents_composite_proto_rawDescData = file_message_contents_composite_proto_rawDesc + file_message_contents_composite_proto_rawDescData []byte ) func file_message_contents_composite_proto_rawDescGZIP() []byte { file_message_contents_composite_proto_rawDescOnce.Do(func() { - file_message_contents_composite_proto_rawDescData = protoimpl.X.CompressGZIP(file_message_contents_composite_proto_rawDescData) + file_message_contents_composite_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_message_contents_composite_proto_rawDesc), len(file_message_contents_composite_proto_rawDesc))) }) return file_message_contents_composite_proto_rawDescData } @@ -235,7 +207,7 @@ func file_message_contents_composite_proto_init() { out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), - RawDescriptor: file_message_contents_composite_proto_rawDesc, + RawDescriptor: unsafe.Slice(unsafe.StringData(file_message_contents_composite_proto_rawDesc), len(file_message_contents_composite_proto_rawDesc)), NumEnums: 0, NumMessages: 2, NumExtensions: 0, @@ -246,7 +218,6 @@ func file_message_contents_composite_proto_init() { MessageInfos: file_message_contents_composite_proto_msgTypes, }.Build() File_message_contents_composite_proto = out.File - file_message_contents_composite_proto_rawDesc = nil file_message_contents_composite_proto_goTypes = nil file_message_contents_composite_proto_depIdxs = nil } diff --git a/pkg/proto/message_contents/contact.pb.go b/pkg/proto/message_contents/contact.pb.go index e360aac..4aceb61 100644 --- a/pkg/proto/message_contents/contact.pb.go +++ b/pkg/proto/message_contents/contact.pb.go @@ -6,7 +6,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.36.1 +// protoc-gen-go v1.36.10 // protoc (unknown) // source: message_contents/contact.proto @@ -17,6 +17,7 @@ import ( protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" + unsafe "unsafe" ) const ( @@ -202,60 +203,29 @@ func (*ContactBundle_V2) isContactBundle_Version() {} var File_message_contents_contact_proto protoreflect.FileDescriptor -var file_message_contents_contact_proto_rawDesc = []byte{ - 0x0a, 0x1e, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, - 0x74, 0x73, 0x2f, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x63, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x12, 0x15, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x63, - 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x1a, 0x21, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, - 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x2f, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, - 0x5f, 0x6b, 0x65, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x58, 0x0a, 0x0f, 0x43, 0x6f, - 0x6e, 0x74, 0x61, 0x63, 0x74, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x56, 0x31, 0x12, 0x45, 0x0a, - 0x0a, 0x6b, 0x65, 0x79, 0x5f, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x26, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, - 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x2e, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, - 0x4b, 0x65, 0x79, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x52, 0x09, 0x6b, 0x65, 0x79, 0x42, 0x75, - 0x6e, 0x64, 0x6c, 0x65, 0x22, 0x5e, 0x0a, 0x0f, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x63, 0x74, 0x42, - 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x56, 0x32, 0x12, 0x4b, 0x0a, 0x0a, 0x6b, 0x65, 0x79, 0x5f, 0x62, - 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x78, 0x6d, - 0x74, 0x70, 0x2e, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, - 0x6e, 0x74, 0x73, 0x2e, 0x53, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, - 0x4b, 0x65, 0x79, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x52, 0x09, 0x6b, 0x65, 0x79, 0x42, 0x75, - 0x6e, 0x64, 0x6c, 0x65, 0x22, 0x8e, 0x01, 0x0a, 0x0d, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x63, 0x74, - 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x12, 0x38, 0x0a, 0x02, 0x76, 0x31, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, - 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x61, - 0x63, 0x74, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x56, 0x31, 0x48, 0x00, 0x52, 0x02, 0x76, 0x31, - 0x12, 0x38, 0x0a, 0x02, 0x76, 0x32, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x78, - 0x6d, 0x74, 0x70, 0x2e, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x74, - 0x65, 0x6e, 0x74, 0x73, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x63, 0x74, 0x42, 0x75, 0x6e, 0x64, - 0x6c, 0x65, 0x56, 0x32, 0x48, 0x00, 0x52, 0x02, 0x76, 0x32, 0x42, 0x09, 0x0a, 0x07, 0x76, 0x65, - 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x42, 0xff, 0x01, 0x0a, 0x33, 0x6f, 0x72, 0x67, 0x2e, 0x78, 0x6d, - 0x74, 0x70, 0x2e, 0x61, 0x6e, 0x64, 0x72, 0x6f, 0x69, 0x64, 0x2e, 0x6c, 0x69, 0x62, 0x72, 0x61, - 0x72, 0x79, 0x2e, 0x70, 0x75, 0x73, 0x68, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x6d, 0x65, 0x73, - 0x73, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x42, 0x0c, 0x43, - 0x6f, 0x6e, 0x74, 0x61, 0x63, 0x74, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x49, 0x67, - 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x78, 0x6d, 0x74, 0x70, 0x2f, 0x65, - 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x2d, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x2d, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2d, 0x67, 0x6f, 0x2f, 0x70, 0x6b, - 0x67, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, - 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0xa2, 0x02, 0x03, 0x58, 0x4d, 0x58, 0xaa, 0x02, - 0x14, 0x58, 0x6d, 0x74, 0x70, 0x2e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x6e, - 0x74, 0x65, 0x6e, 0x74, 0x73, 0xca, 0x02, 0x14, 0x58, 0x6d, 0x74, 0x70, 0x5c, 0x4d, 0x65, 0x73, - 0x73, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0xe2, 0x02, 0x20, 0x58, - 0x6d, 0x74, 0x70, 0x5c, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, - 0x6e, 0x74, 0x73, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, - 0x02, 0x15, 0x58, 0x6d, 0x74, 0x70, 0x3a, 0x3a, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x43, - 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, -} +const file_message_contents_contact_proto_rawDesc = "" + + "\n" + + "\x1emessage_contents/contact.proto\x12\x15xmtp.message_contents\x1a!message_contents/public_key.proto\"X\n" + + "\x0fContactBundleV1\x12E\n" + + "\n" + + "key_bundle\x18\x01 \x01(\v2&.xmtp.message_contents.PublicKeyBundleR\tkeyBundle\"^\n" + + "\x0fContactBundleV2\x12K\n" + + "\n" + + "key_bundle\x18\x01 \x01(\v2,.xmtp.message_contents.SignedPublicKeyBundleR\tkeyBundle\"\x8e\x01\n" + + "\rContactBundle\x128\n" + + "\x02v1\x18\x01 \x01(\v2&.xmtp.message_contents.ContactBundleV1H\x00R\x02v1\x128\n" + + "\x02v2\x18\x02 \x01(\v2&.xmtp.message_contents.ContactBundleV2H\x00R\x02v2B\t\n" + + "\aversionB\xff\x01\n" + + "3org.xmtp.android.library.push.xmtp.message_contentsB\fContactProtoP\x01ZIgithub.com/xmtp/example-notification-server-go/pkg/proto/message_contents\xa2\x02\x03XMX\xaa\x02\x14Xmtp.MessageContents\xca\x02\x14Xmtp\\MessageContents\xe2\x02 Xmtp\\MessageContents\\GPBMetadata\xea\x02\x15Xmtp::MessageContentsb\x06proto3" var ( file_message_contents_contact_proto_rawDescOnce sync.Once - file_message_contents_contact_proto_rawDescData = file_message_contents_contact_proto_rawDesc + file_message_contents_contact_proto_rawDescData []byte ) func file_message_contents_contact_proto_rawDescGZIP() []byte { file_message_contents_contact_proto_rawDescOnce.Do(func() { - file_message_contents_contact_proto_rawDescData = protoimpl.X.CompressGZIP(file_message_contents_contact_proto_rawDescData) + file_message_contents_contact_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_message_contents_contact_proto_rawDesc), len(file_message_contents_contact_proto_rawDesc))) }) return file_message_contents_contact_proto_rawDescData } @@ -294,7 +264,7 @@ func file_message_contents_contact_proto_init() { out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), - RawDescriptor: file_message_contents_contact_proto_rawDesc, + RawDescriptor: unsafe.Slice(unsafe.StringData(file_message_contents_contact_proto_rawDesc), len(file_message_contents_contact_proto_rawDesc)), NumEnums: 0, NumMessages: 3, NumExtensions: 0, @@ -305,7 +275,6 @@ func file_message_contents_contact_proto_init() { MessageInfos: file_message_contents_contact_proto_msgTypes, }.Build() File_message_contents_contact_proto = out.File - file_message_contents_contact_proto_rawDesc = nil file_message_contents_contact_proto_goTypes = nil file_message_contents_contact_proto_depIdxs = nil } diff --git a/pkg/proto/message_contents/content.pb.go b/pkg/proto/message_contents/content.pb.go index ea9ced8..3c5b552 100644 --- a/pkg/proto/message_contents/content.pb.go +++ b/pkg/proto/message_contents/content.pb.go @@ -2,7 +2,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.36.1 +// protoc-gen-go v1.36.10 // protoc (unknown) // source: message_contents/content.proto @@ -13,6 +13,7 @@ import ( protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" + unsafe "unsafe" ) const ( @@ -292,91 +293,44 @@ func (x *SignedContent) GetSignature() *Signature { var File_message_contents_content_proto protoreflect.FileDescriptor -var file_message_contents_content_proto_rawDesc = []byte{ - 0x0a, 0x1e, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, - 0x74, 0x73, 0x2f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x12, 0x15, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x63, - 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x1a, 0x21, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, - 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x2f, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, - 0x5f, 0x6b, 0x65, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x20, 0x6d, 0x65, 0x73, 0x73, - 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x2f, 0x73, 0x69, 0x67, - 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x95, 0x01, 0x0a, - 0x0d, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x49, 0x64, 0x12, 0x21, - 0x0a, 0x0c, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x49, - 0x64, 0x12, 0x17, 0x0a, 0x07, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x06, 0x74, 0x79, 0x70, 0x65, 0x49, 0x64, 0x12, 0x23, 0x0a, 0x0d, 0x76, 0x65, - 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x61, 0x6a, 0x6f, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x0d, 0x52, 0x0c, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x4d, 0x61, 0x6a, 0x6f, 0x72, 0x12, - 0x23, 0x0a, 0x0d, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x69, 0x6e, 0x6f, 0x72, - 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x4d, - 0x69, 0x6e, 0x6f, 0x72, 0x22, 0x83, 0x03, 0x0a, 0x0e, 0x45, 0x6e, 0x63, 0x6f, 0x64, 0x65, 0x64, - 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x12, 0x38, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x6d, 0x65, 0x73, - 0x73, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x2e, 0x43, 0x6f, - 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x49, 0x64, 0x52, 0x04, 0x74, 0x79, 0x70, - 0x65, 0x12, 0x55, 0x0a, 0x0a, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x18, - 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x6d, 0x65, 0x73, - 0x73, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x2e, 0x45, 0x6e, - 0x63, 0x6f, 0x64, 0x65, 0x64, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x2e, 0x50, 0x61, 0x72, - 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0a, 0x70, 0x61, - 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x12, 0x1f, 0x0a, 0x08, 0x66, 0x61, 0x6c, 0x6c, - 0x62, 0x61, 0x63, 0x6b, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x08, 0x66, 0x61, - 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x88, 0x01, 0x01, 0x12, 0x49, 0x0a, 0x0b, 0x63, 0x6f, 0x6d, - 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x22, - 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6f, - 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, - 0x6f, 0x6e, 0x48, 0x01, 0x52, 0x0b, 0x63, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, - 0x6e, 0x88, 0x01, 0x01, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x18, - 0x04, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x1a, 0x3d, - 0x0a, 0x0f, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x45, 0x6e, 0x74, 0x72, - 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, - 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42, 0x0b, 0x0a, - 0x09, 0x5f, 0x66, 0x61, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x63, - 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0xaf, 0x01, 0x0a, 0x0d, 0x53, - 0x69, 0x67, 0x6e, 0x65, 0x64, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x12, 0x18, 0x0a, 0x07, - 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x07, 0x70, - 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x44, 0x0a, 0x06, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x6d, 0x65, - 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x2e, 0x53, - 0x69, 0x67, 0x6e, 0x65, 0x64, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x4b, 0x65, 0x79, 0x42, 0x75, - 0x6e, 0x64, 0x6c, 0x65, 0x52, 0x06, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x12, 0x3e, 0x0a, 0x09, - 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x20, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x63, - 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x2e, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, - 0x65, 0x52, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x2a, 0x3c, 0x0a, 0x0b, - 0x43, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x17, 0x0a, 0x13, 0x43, - 0x4f, 0x4d, 0x50, 0x52, 0x45, 0x53, 0x53, 0x49, 0x4f, 0x4e, 0x5f, 0x44, 0x45, 0x46, 0x4c, 0x41, - 0x54, 0x45, 0x10, 0x00, 0x12, 0x14, 0x0a, 0x10, 0x43, 0x4f, 0x4d, 0x50, 0x52, 0x45, 0x53, 0x53, - 0x49, 0x4f, 0x4e, 0x5f, 0x47, 0x5a, 0x49, 0x50, 0x10, 0x01, 0x42, 0xff, 0x01, 0x0a, 0x33, 0x6f, - 0x72, 0x67, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x61, 0x6e, 0x64, 0x72, 0x6f, 0x69, 0x64, 0x2e, - 0x6c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x2e, 0x70, 0x75, 0x73, 0x68, 0x2e, 0x78, 0x6d, 0x74, - 0x70, 0x2e, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, - 0x74, 0x73, 0x42, 0x0c, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x50, 0x72, 0x6f, 0x74, 0x6f, - 0x50, 0x01, 0x5a, 0x49, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x78, - 0x6d, 0x74, 0x70, 0x2f, 0x65, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x2d, 0x6e, 0x6f, 0x74, 0x69, - 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2d, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2d, - 0x67, 0x6f, 0x2f, 0x70, 0x6b, 0x67, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x6d, 0x65, 0x73, - 0x73, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0xa2, 0x02, 0x03, - 0x58, 0x4d, 0x58, 0xaa, 0x02, 0x14, 0x58, 0x6d, 0x74, 0x70, 0x2e, 0x4d, 0x65, 0x73, 0x73, 0x61, - 0x67, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0xca, 0x02, 0x14, 0x58, 0x6d, 0x74, - 0x70, 0x5c, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, - 0x73, 0xe2, 0x02, 0x20, 0x58, 0x6d, 0x74, 0x70, 0x5c, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, - 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, - 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x15, 0x58, 0x6d, 0x74, 0x70, 0x3a, 0x3a, 0x4d, 0x65, 0x73, - 0x73, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x62, 0x06, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x33, -} +const file_message_contents_content_proto_rawDesc = "" + + "\n" + + "\x1emessage_contents/content.proto\x12\x15xmtp.message_contents\x1a!message_contents/public_key.proto\x1a message_contents/signature.proto\"\x95\x01\n" + + "\rContentTypeId\x12!\n" + + "\fauthority_id\x18\x01 \x01(\tR\vauthorityId\x12\x17\n" + + "\atype_id\x18\x02 \x01(\tR\x06typeId\x12#\n" + + "\rversion_major\x18\x03 \x01(\rR\fversionMajor\x12#\n" + + "\rversion_minor\x18\x04 \x01(\rR\fversionMinor\"\x83\x03\n" + + "\x0eEncodedContent\x128\n" + + "\x04type\x18\x01 \x01(\v2$.xmtp.message_contents.ContentTypeIdR\x04type\x12U\n" + + "\n" + + "parameters\x18\x02 \x03(\v25.xmtp.message_contents.EncodedContent.ParametersEntryR\n" + + "parameters\x12\x1f\n" + + "\bfallback\x18\x03 \x01(\tH\x00R\bfallback\x88\x01\x01\x12I\n" + + "\vcompression\x18\x05 \x01(\x0e2\".xmtp.message_contents.CompressionH\x01R\vcompression\x88\x01\x01\x12\x18\n" + + "\acontent\x18\x04 \x01(\fR\acontent\x1a=\n" + + "\x0fParametersEntry\x12\x10\n" + + "\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n" + + "\x05value\x18\x02 \x01(\tR\x05value:\x028\x01B\v\n" + + "\t_fallbackB\x0e\n" + + "\f_compression\"\xaf\x01\n" + + "\rSignedContent\x12\x18\n" + + "\apayload\x18\x01 \x01(\fR\apayload\x12D\n" + + "\x06sender\x18\x02 \x01(\v2,.xmtp.message_contents.SignedPublicKeyBundleR\x06sender\x12>\n" + + "\tsignature\x18\x03 \x01(\v2 .xmtp.message_contents.SignatureR\tsignature*<\n" + + "\vCompression\x12\x17\n" + + "\x13COMPRESSION_DEFLATE\x10\x00\x12\x14\n" + + "\x10COMPRESSION_GZIP\x10\x01B\xff\x01\n" + + "3org.xmtp.android.library.push.xmtp.message_contentsB\fContentProtoP\x01ZIgithub.com/xmtp/example-notification-server-go/pkg/proto/message_contents\xa2\x02\x03XMX\xaa\x02\x14Xmtp.MessageContents\xca\x02\x14Xmtp\\MessageContents\xe2\x02 Xmtp\\MessageContents\\GPBMetadata\xea\x02\x15Xmtp::MessageContentsb\x06proto3" var ( file_message_contents_content_proto_rawDescOnce sync.Once - file_message_contents_content_proto_rawDescData = file_message_contents_content_proto_rawDesc + file_message_contents_content_proto_rawDescData []byte ) func file_message_contents_content_proto_rawDescGZIP() []byte { file_message_contents_content_proto_rawDescOnce.Do(func() { - file_message_contents_content_proto_rawDescData = protoimpl.X.CompressGZIP(file_message_contents_content_proto_rawDescData) + file_message_contents_content_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_message_contents_content_proto_rawDesc), len(file_message_contents_content_proto_rawDesc))) }) return file_message_contents_content_proto_rawDescData } @@ -417,7 +371,7 @@ func file_message_contents_content_proto_init() { out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), - RawDescriptor: file_message_contents_content_proto_rawDesc, + RawDescriptor: unsafe.Slice(unsafe.StringData(file_message_contents_content_proto_rawDesc), len(file_message_contents_content_proto_rawDesc)), NumEnums: 1, NumMessages: 4, NumExtensions: 0, @@ -429,7 +383,6 @@ func file_message_contents_content_proto_init() { MessageInfos: file_message_contents_content_proto_msgTypes, }.Build() File_message_contents_content_proto = out.File - file_message_contents_content_proto_rawDesc = nil file_message_contents_content_proto_goTypes = nil file_message_contents_content_proto_depIdxs = nil } diff --git a/pkg/proto/message_contents/conversation_reference.pb.go b/pkg/proto/message_contents/conversation_reference.pb.go index f066f8b..f560429 100644 --- a/pkg/proto/message_contents/conversation_reference.pb.go +++ b/pkg/proto/message_contents/conversation_reference.pb.go @@ -2,7 +2,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.36.1 +// protoc-gen-go v1.36.10 // protoc (unknown) // source: message_contents/conversation_reference.proto @@ -13,6 +13,7 @@ import ( protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" + unsafe "unsafe" ) const ( @@ -101,59 +102,26 @@ func (x *ConversationReference) GetConsentProofPayload() *ConsentProofPayload { var File_message_contents_conversation_reference_proto protoreflect.FileDescriptor -var file_message_contents_conversation_reference_proto_rawDesc = []byte{ - 0x0a, 0x2d, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, - 0x74, 0x73, 0x2f, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, - 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, - 0x15, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6f, - 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x1a, 0x21, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, - 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x2f, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x96, 0x02, 0x0a, 0x15, 0x43, 0x6f, - 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, - 0x6e, 0x63, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x05, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x12, 0x21, 0x0a, 0x0c, 0x70, 0x65, 0x65, - 0x72, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x0b, 0x70, 0x65, 0x65, 0x72, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x1d, 0x0a, 0x0a, - 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x6e, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, - 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x4e, 0x73, 0x12, 0x45, 0x0a, 0x07, 0x63, - 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x78, - 0x6d, 0x74, 0x70, 0x2e, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x74, - 0x65, 0x6e, 0x74, 0x73, 0x2e, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x56, - 0x31, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, - 0x78, 0x74, 0x12, 0x5e, 0x0a, 0x15, 0x63, 0x6f, 0x6e, 0x73, 0x65, 0x6e, 0x74, 0x5f, 0x70, 0x72, - 0x6f, 0x6f, 0x66, 0x5f, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x2a, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, - 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x2e, 0x43, 0x6f, 0x6e, 0x73, 0x65, 0x6e, - 0x74, 0x50, 0x72, 0x6f, 0x6f, 0x66, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x52, 0x13, 0x63, - 0x6f, 0x6e, 0x73, 0x65, 0x6e, 0x74, 0x50, 0x72, 0x6f, 0x6f, 0x66, 0x50, 0x61, 0x79, 0x6c, 0x6f, - 0x61, 0x64, 0x42, 0x8d, 0x02, 0x0a, 0x33, 0x6f, 0x72, 0x67, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, - 0x61, 0x6e, 0x64, 0x72, 0x6f, 0x69, 0x64, 0x2e, 0x6c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x2e, - 0x70, 0x75, 0x73, 0x68, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, - 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x42, 0x1a, 0x43, 0x6f, 0x6e, 0x76, - 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, - 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x49, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, - 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x78, 0x6d, 0x74, 0x70, 0x2f, 0x65, 0x78, 0x61, 0x6d, 0x70, 0x6c, - 0x65, 0x2d, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2d, 0x73, - 0x65, 0x72, 0x76, 0x65, 0x72, 0x2d, 0x67, 0x6f, 0x2f, 0x70, 0x6b, 0x67, 0x2f, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x2f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, - 0x6e, 0x74, 0x73, 0xa2, 0x02, 0x03, 0x58, 0x4d, 0x58, 0xaa, 0x02, 0x14, 0x58, 0x6d, 0x74, 0x70, - 0x2e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, - 0xca, 0x02, 0x14, 0x58, 0x6d, 0x74, 0x70, 0x5c, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x43, - 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0xe2, 0x02, 0x20, 0x58, 0x6d, 0x74, 0x70, 0x5c, 0x4d, - 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x5c, 0x47, - 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x15, 0x58, 0x6d, 0x74, - 0x70, 0x3a, 0x3a, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, - 0x74, 0x73, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, -} +const file_message_contents_conversation_reference_proto_rawDesc = "" + + "\n" + + "-message_contents/conversation_reference.proto\x12\x15xmtp.message_contents\x1a!message_contents/invitation.proto\"\x96\x02\n" + + "\x15ConversationReference\x12\x14\n" + + "\x05topic\x18\x01 \x01(\tR\x05topic\x12!\n" + + "\fpeer_address\x18\x02 \x01(\tR\vpeerAddress\x12\x1d\n" + + "\n" + + "created_ns\x18\x03 \x01(\x04R\tcreatedNs\x12E\n" + + "\acontext\x18\x04 \x01(\v2+.xmtp.message_contents.InvitationV1.ContextR\acontext\x12^\n" + + "\x15consent_proof_payload\x18\x05 \x01(\v2*.xmtp.message_contents.ConsentProofPayloadR\x13consentProofPayloadB\x8d\x02\n" + + "3org.xmtp.android.library.push.xmtp.message_contentsB\x1aConversationReferenceProtoP\x01ZIgithub.com/xmtp/example-notification-server-go/pkg/proto/message_contents\xa2\x02\x03XMX\xaa\x02\x14Xmtp.MessageContents\xca\x02\x14Xmtp\\MessageContents\xe2\x02 Xmtp\\MessageContents\\GPBMetadata\xea\x02\x15Xmtp::MessageContentsb\x06proto3" var ( file_message_contents_conversation_reference_proto_rawDescOnce sync.Once - file_message_contents_conversation_reference_proto_rawDescData = file_message_contents_conversation_reference_proto_rawDesc + file_message_contents_conversation_reference_proto_rawDescData []byte ) func file_message_contents_conversation_reference_proto_rawDescGZIP() []byte { file_message_contents_conversation_reference_proto_rawDescOnce.Do(func() { - file_message_contents_conversation_reference_proto_rawDescData = protoimpl.X.CompressGZIP(file_message_contents_conversation_reference_proto_rawDescData) + file_message_contents_conversation_reference_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_message_contents_conversation_reference_proto_rawDesc), len(file_message_contents_conversation_reference_proto_rawDesc))) }) return file_message_contents_conversation_reference_proto_rawDescData } @@ -184,7 +152,7 @@ func file_message_contents_conversation_reference_proto_init() { out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), - RawDescriptor: file_message_contents_conversation_reference_proto_rawDesc, + RawDescriptor: unsafe.Slice(unsafe.StringData(file_message_contents_conversation_reference_proto_rawDesc), len(file_message_contents_conversation_reference_proto_rawDesc)), NumEnums: 0, NumMessages: 1, NumExtensions: 0, @@ -195,7 +163,6 @@ func file_message_contents_conversation_reference_proto_init() { MessageInfos: file_message_contents_conversation_reference_proto_msgTypes, }.Build() File_message_contents_conversation_reference_proto = out.File - file_message_contents_conversation_reference_proto_rawDesc = nil file_message_contents_conversation_reference_proto_goTypes = nil file_message_contents_conversation_reference_proto_depIdxs = nil } diff --git a/pkg/proto/message_contents/ecies.pb.go b/pkg/proto/message_contents/ecies.pb.go index f4a6f97..f13b4d9 100644 --- a/pkg/proto/message_contents/ecies.pb.go +++ b/pkg/proto/message_contents/ecies.pb.go @@ -2,7 +2,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.36.1 +// protoc-gen-go v1.36.10 // protoc (unknown) // source: message_contents/ecies.proto @@ -13,6 +13,7 @@ import ( protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" + unsafe "unsafe" ) const ( @@ -92,40 +93,23 @@ func (*EciesMessage_V1) isEciesMessage_Version() {} var File_message_contents_ecies_proto protoreflect.FileDescriptor -var file_message_contents_ecies_proto_rawDesc = []byte{ - 0x0a, 0x1c, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, - 0x74, 0x73, 0x2f, 0x65, 0x63, 0x69, 0x65, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x15, - 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x6e, - 0x74, 0x65, 0x6e, 0x74, 0x73, 0x22, 0x2b, 0x0a, 0x0c, 0x45, 0x63, 0x69, 0x65, 0x73, 0x4d, 0x65, - 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x10, 0x0a, 0x02, 0x76, 0x31, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x0c, 0x48, 0x00, 0x52, 0x02, 0x76, 0x31, 0x42, 0x09, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, - 0x6f, 0x6e, 0x42, 0xfd, 0x01, 0x0a, 0x33, 0x6f, 0x72, 0x67, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, - 0x61, 0x6e, 0x64, 0x72, 0x6f, 0x69, 0x64, 0x2e, 0x6c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x2e, - 0x70, 0x75, 0x73, 0x68, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, - 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x42, 0x0a, 0x45, 0x63, 0x69, 0x65, - 0x73, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x49, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, - 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x78, 0x6d, 0x74, 0x70, 0x2f, 0x65, 0x78, 0x61, 0x6d, 0x70, 0x6c, - 0x65, 0x2d, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2d, 0x73, - 0x65, 0x72, 0x76, 0x65, 0x72, 0x2d, 0x67, 0x6f, 0x2f, 0x70, 0x6b, 0x67, 0x2f, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x2f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, - 0x6e, 0x74, 0x73, 0xa2, 0x02, 0x03, 0x58, 0x4d, 0x58, 0xaa, 0x02, 0x14, 0x58, 0x6d, 0x74, 0x70, - 0x2e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, - 0xca, 0x02, 0x14, 0x58, 0x6d, 0x74, 0x70, 0x5c, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x43, - 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0xe2, 0x02, 0x20, 0x58, 0x6d, 0x74, 0x70, 0x5c, 0x4d, - 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x5c, 0x47, - 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x15, 0x58, 0x6d, 0x74, - 0x70, 0x3a, 0x3a, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, - 0x74, 0x73, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, -} +const file_message_contents_ecies_proto_rawDesc = "" + + "\n" + + "\x1cmessage_contents/ecies.proto\x12\x15xmtp.message_contents\"+\n" + + "\fEciesMessage\x12\x10\n" + + "\x02v1\x18\x01 \x01(\fH\x00R\x02v1B\t\n" + + "\aversionB\xfd\x01\n" + + "3org.xmtp.android.library.push.xmtp.message_contentsB\n" + + "EciesProtoP\x01ZIgithub.com/xmtp/example-notification-server-go/pkg/proto/message_contents\xa2\x02\x03XMX\xaa\x02\x14Xmtp.MessageContents\xca\x02\x14Xmtp\\MessageContents\xe2\x02 Xmtp\\MessageContents\\GPBMetadata\xea\x02\x15Xmtp::MessageContentsb\x06proto3" var ( file_message_contents_ecies_proto_rawDescOnce sync.Once - file_message_contents_ecies_proto_rawDescData = file_message_contents_ecies_proto_rawDesc + file_message_contents_ecies_proto_rawDescData []byte ) func file_message_contents_ecies_proto_rawDescGZIP() []byte { file_message_contents_ecies_proto_rawDescOnce.Do(func() { - file_message_contents_ecies_proto_rawDescData = protoimpl.X.CompressGZIP(file_message_contents_ecies_proto_rawDescData) + file_message_contents_ecies_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_message_contents_ecies_proto_rawDesc), len(file_message_contents_ecies_proto_rawDesc))) }) return file_message_contents_ecies_proto_rawDescData } @@ -154,7 +138,7 @@ func file_message_contents_ecies_proto_init() { out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), - RawDescriptor: file_message_contents_ecies_proto_rawDesc, + RawDescriptor: unsafe.Slice(unsafe.StringData(file_message_contents_ecies_proto_rawDesc), len(file_message_contents_ecies_proto_rawDesc)), NumEnums: 0, NumMessages: 1, NumExtensions: 0, @@ -165,7 +149,6 @@ func file_message_contents_ecies_proto_init() { MessageInfos: file_message_contents_ecies_proto_msgTypes, }.Build() File_message_contents_ecies_proto = out.File - file_message_contents_ecies_proto_rawDesc = nil file_message_contents_ecies_proto_goTypes = nil file_message_contents_ecies_proto_depIdxs = nil } diff --git a/pkg/proto/message_contents/frames.pb.go b/pkg/proto/message_contents/frames.pb.go index 8af62f6..8ad694d 100644 --- a/pkg/proto/message_contents/frames.pb.go +++ b/pkg/proto/message_contents/frames.pb.go @@ -2,7 +2,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.36.1 +// protoc-gen-go v1.36.10 // protoc (unknown) // source: message_contents/frames.proto @@ -13,6 +13,7 @@ import ( protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" + unsafe "unsafe" ) const ( @@ -246,85 +247,38 @@ func (x *FrameAction) GetInboxId() string { var File_message_contents_frames_proto protoreflect.FileDescriptor -var file_message_contents_frames_proto_rawDesc = []byte{ - 0x0a, 0x1d, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, - 0x74, 0x73, 0x2f, 0x66, 0x72, 0x61, 0x6d, 0x65, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, - 0x15, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6f, - 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x1a, 0x21, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, - 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x2f, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x5f, - 0x6b, 0x65, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, - 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x2f, 0x73, 0x69, 0x67, 0x6e, - 0x61, 0x74, 0x75, 0x72, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xd6, 0x02, 0x0a, 0x0f, - 0x46, 0x72, 0x61, 0x6d, 0x65, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x6f, 0x64, 0x79, 0x12, - 0x1b, 0x0a, 0x09, 0x66, 0x72, 0x61, 0x6d, 0x65, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x08, 0x66, 0x72, 0x61, 0x6d, 0x65, 0x55, 0x72, 0x6c, 0x12, 0x21, 0x0a, 0x0c, - 0x62, 0x75, 0x74, 0x74, 0x6f, 0x6e, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x05, 0x52, 0x0b, 0x62, 0x75, 0x74, 0x74, 0x6f, 0x6e, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, - 0x20, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x04, 0x42, 0x02, 0x18, 0x01, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, - 0x70, 0x12, 0x44, 0x0a, 0x1e, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x76, - 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, - 0x69, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x1c, 0x6f, 0x70, 0x61, 0x71, 0x75, - 0x65, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x65, - 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x12, 0x25, 0x0a, 0x0e, 0x75, 0x6e, 0x69, 0x78, 0x5f, - 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, - 0x0d, 0x75, 0x6e, 0x69, 0x78, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x1d, - 0x0a, 0x0a, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x5f, 0x74, 0x65, 0x78, 0x74, 0x18, 0x06, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x09, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x54, 0x65, 0x78, 0x74, 0x12, 0x14, 0x0a, - 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x74, - 0x61, 0x74, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x08, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x25, 0x0a, - 0x0e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, - 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, - 0x6f, 0x6e, 0x49, 0x64, 0x22, 0xd8, 0x02, 0x0a, 0x0b, 0x46, 0x72, 0x61, 0x6d, 0x65, 0x41, 0x63, - 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x42, 0x0a, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, - 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x6d, - 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x2e, - 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x42, 0x02, 0x18, 0x01, 0x52, 0x09, 0x73, - 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x12, 0x69, 0x0a, 0x18, 0x73, 0x69, 0x67, 0x6e, - 0x65, 0x64, 0x5f, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x5f, 0x6b, 0x65, 0x79, 0x5f, 0x62, 0x75, - 0x6e, 0x64, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x78, 0x6d, 0x74, - 0x70, 0x2e, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, - 0x74, 0x73, 0x2e, 0x53, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x4b, - 0x65, 0x79, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x42, 0x02, 0x18, 0x01, 0x52, 0x15, 0x73, 0x69, - 0x67, 0x6e, 0x65, 0x64, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x4b, 0x65, 0x79, 0x42, 0x75, 0x6e, - 0x64, 0x6c, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x62, 0x6f, - 0x64, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0a, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, - 0x42, 0x6f, 0x64, 0x79, 0x12, 0x35, 0x0a, 0x16, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x18, 0x04, - 0x20, 0x01, 0x28, 0x0c, 0x52, 0x15, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x12, 0x27, 0x0a, 0x0f, 0x69, - 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x05, - 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0e, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x69, 0x6e, 0x62, 0x6f, 0x78, 0x5f, 0x69, 0x64, - 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x69, 0x6e, 0x62, 0x6f, 0x78, 0x49, 0x64, 0x42, - 0xfe, 0x01, 0x0a, 0x33, 0x6f, 0x72, 0x67, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x61, 0x6e, 0x64, - 0x72, 0x6f, 0x69, 0x64, 0x2e, 0x6c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x2e, 0x70, 0x75, 0x73, - 0x68, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x63, - 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x42, 0x0b, 0x46, 0x72, 0x61, 0x6d, 0x65, 0x73, 0x50, - 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x49, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, - 0x6f, 0x6d, 0x2f, 0x78, 0x6d, 0x74, 0x70, 0x2f, 0x65, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x2d, - 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2d, 0x73, 0x65, 0x72, - 0x76, 0x65, 0x72, 0x2d, 0x67, 0x6f, 0x2f, 0x70, 0x6b, 0x67, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x2f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, - 0x73, 0xa2, 0x02, 0x03, 0x58, 0x4d, 0x58, 0xaa, 0x02, 0x14, 0x58, 0x6d, 0x74, 0x70, 0x2e, 0x4d, - 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0xca, 0x02, - 0x14, 0x58, 0x6d, 0x74, 0x70, 0x5c, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x6e, - 0x74, 0x65, 0x6e, 0x74, 0x73, 0xe2, 0x02, 0x20, 0x58, 0x6d, 0x74, 0x70, 0x5c, 0x4d, 0x65, 0x73, - 0x73, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x5c, 0x47, 0x50, 0x42, - 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x15, 0x58, 0x6d, 0x74, 0x70, 0x3a, - 0x3a, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, - 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, -} +const file_message_contents_frames_proto_rawDesc = "" + + "\n" + + "\x1dmessage_contents/frames.proto\x12\x15xmtp.message_contents\x1a!message_contents/public_key.proto\x1a message_contents/signature.proto\"\xd6\x02\n" + + "\x0fFrameActionBody\x12\x1b\n" + + "\tframe_url\x18\x01 \x01(\tR\bframeUrl\x12!\n" + + "\fbutton_index\x18\x02 \x01(\x05R\vbuttonIndex\x12 \n" + + "\ttimestamp\x18\x03 \x01(\x04B\x02\x18\x01R\ttimestamp\x12D\n" + + "\x1eopaque_conversation_identifier\x18\x04 \x01(\tR\x1copaqueConversationIdentifier\x12%\n" + + "\x0eunix_timestamp\x18\x05 \x01(\rR\runixTimestamp\x12\x1d\n" + + "\n" + + "input_text\x18\x06 \x01(\tR\tinputText\x12\x14\n" + + "\x05state\x18\a \x01(\tR\x05state\x12\x18\n" + + "\aaddress\x18\b \x01(\tR\aaddress\x12%\n" + + "\x0etransaction_id\x18\t \x01(\tR\rtransactionId\"\xd8\x02\n" + + "\vFrameAction\x12B\n" + + "\tsignature\x18\x01 \x01(\v2 .xmtp.message_contents.SignatureB\x02\x18\x01R\tsignature\x12i\n" + + "\x18signed_public_key_bundle\x18\x02 \x01(\v2,.xmtp.message_contents.SignedPublicKeyBundleB\x02\x18\x01R\x15signedPublicKeyBundle\x12\x1f\n" + + "\vaction_body\x18\x03 \x01(\fR\n" + + "actionBody\x125\n" + + "\x16installation_signature\x18\x04 \x01(\fR\x15installationSignature\x12'\n" + + "\x0finstallation_id\x18\x05 \x01(\fR\x0einstallationId\x12\x19\n" + + "\binbox_id\x18\x06 \x01(\tR\ainboxIdB\xfe\x01\n" + + "3org.xmtp.android.library.push.xmtp.message_contentsB\vFramesProtoP\x01ZIgithub.com/xmtp/example-notification-server-go/pkg/proto/message_contents\xa2\x02\x03XMX\xaa\x02\x14Xmtp.MessageContents\xca\x02\x14Xmtp\\MessageContents\xe2\x02 Xmtp\\MessageContents\\GPBMetadata\xea\x02\x15Xmtp::MessageContentsb\x06proto3" var ( file_message_contents_frames_proto_rawDescOnce sync.Once - file_message_contents_frames_proto_rawDescData = file_message_contents_frames_proto_rawDesc + file_message_contents_frames_proto_rawDescData []byte ) func file_message_contents_frames_proto_rawDescGZIP() []byte { file_message_contents_frames_proto_rawDescOnce.Do(func() { - file_message_contents_frames_proto_rawDescData = protoimpl.X.CompressGZIP(file_message_contents_frames_proto_rawDescData) + file_message_contents_frames_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_message_contents_frames_proto_rawDesc), len(file_message_contents_frames_proto_rawDesc))) }) return file_message_contents_frames_proto_rawDescData } @@ -357,7 +311,7 @@ func file_message_contents_frames_proto_init() { out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), - RawDescriptor: file_message_contents_frames_proto_rawDesc, + RawDescriptor: unsafe.Slice(unsafe.StringData(file_message_contents_frames_proto_rawDesc), len(file_message_contents_frames_proto_rawDesc)), NumEnums: 0, NumMessages: 2, NumExtensions: 0, @@ -368,7 +322,6 @@ func file_message_contents_frames_proto_init() { MessageInfos: file_message_contents_frames_proto_msgTypes, }.Build() File_message_contents_frames_proto = out.File - file_message_contents_frames_proto_rawDesc = nil file_message_contents_frames_proto_goTypes = nil file_message_contents_frames_proto_depIdxs = nil } diff --git a/pkg/proto/message_contents/invitation.pb.go b/pkg/proto/message_contents/invitation.pb.go index 800c766..b1a7216 100644 --- a/pkg/proto/message_contents/invitation.pb.go +++ b/pkg/proto/message_contents/invitation.pb.go @@ -4,7 +4,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.36.1 +// protoc-gen-go v1.36.10 // protoc (unknown) // source: message_contents/invitation.proto @@ -15,6 +15,7 @@ import ( protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" + unsafe "unsafe" ) const ( @@ -528,123 +529,54 @@ func (x *InvitationV1_Context) GetMetadata() map[string]string { var File_message_contents_invitation_proto protoreflect.FileDescriptor -var file_message_contents_invitation_proto_rawDesc = []byte{ - 0x0a, 0x21, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, - 0x74, 0x73, 0x2f, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x12, 0x15, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, - 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x1a, 0x21, 0x6d, 0x65, 0x73, 0x73, - 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x2f, 0x63, 0x69, 0x70, - 0x68, 0x65, 0x72, 0x74, 0x65, 0x78, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x21, 0x6d, - 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x2f, - 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x5f, 0x6b, 0x65, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x22, 0xbd, 0x04, 0x0a, 0x0c, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x56, - 0x31, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x05, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x12, 0x45, 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, - 0x78, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, - 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, - 0x2e, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x56, 0x31, 0x2e, 0x43, 0x6f, - 0x6e, 0x74, 0x65, 0x78, 0x74, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x12, 0x6e, - 0x0a, 0x16, 0x61, 0x65, 0x73, 0x32, 0x35, 0x36, 0x5f, 0x67, 0x63, 0x6d, 0x5f, 0x68, 0x6b, 0x64, - 0x66, 0x5f, 0x73, 0x68, 0x61, 0x32, 0x35, 0x36, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x37, - 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6f, - 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x2e, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x56, 0x31, 0x2e, 0x41, 0x65, 0x73, 0x32, 0x35, 0x36, 0x67, 0x63, 0x6d, 0x48, 0x6b, 0x64, - 0x66, 0x73, 0x68, 0x61, 0x32, 0x35, 0x36, 0x48, 0x00, 0x52, 0x13, 0x61, 0x65, 0x73, 0x32, 0x35, - 0x36, 0x47, 0x63, 0x6d, 0x48, 0x6b, 0x64, 0x66, 0x53, 0x68, 0x61, 0x32, 0x35, 0x36, 0x12, 0x4f, - 0x0a, 0x0d, 0x63, 0x6f, 0x6e, 0x73, 0x65, 0x6e, 0x74, 0x5f, 0x70, 0x72, 0x6f, 0x6f, 0x66, 0x18, - 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x6d, 0x65, 0x73, - 0x73, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x2e, 0x43, 0x6f, - 0x6e, 0x73, 0x65, 0x6e, 0x74, 0x50, 0x72, 0x6f, 0x6f, 0x66, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, - 0x64, 0x52, 0x0c, 0x63, 0x6f, 0x6e, 0x73, 0x65, 0x6e, 0x74, 0x50, 0x72, 0x6f, 0x6f, 0x66, 0x1a, - 0x38, 0x0a, 0x13, 0x41, 0x65, 0x73, 0x32, 0x35, 0x36, 0x67, 0x63, 0x6d, 0x48, 0x6b, 0x64, 0x66, - 0x73, 0x68, 0x61, 0x32, 0x35, 0x36, 0x12, 0x21, 0x0a, 0x0c, 0x6b, 0x65, 0x79, 0x5f, 0x6d, 0x61, - 0x74, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0b, 0x6b, 0x65, - 0x79, 0x4d, 0x61, 0x74, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x1a, 0xc6, 0x01, 0x0a, 0x07, 0x43, 0x6f, - 0x6e, 0x74, 0x65, 0x78, 0x74, 0x12, 0x27, 0x0a, 0x0f, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, - 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x55, - 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, - 0x32, 0x39, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, - 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x2e, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x56, 0x31, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x2e, 0x4d, 0x65, - 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x08, 0x6d, 0x65, 0x74, - 0x61, 0x64, 0x61, 0x74, 0x61, 0x1a, 0x3b, 0x0a, 0x0d, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, - 0x61, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, - 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, - 0x38, 0x01, 0x42, 0x0c, 0x0a, 0x0a, 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, - 0x22, 0xcb, 0x01, 0x0a, 0x18, 0x53, 0x65, 0x61, 0x6c, 0x65, 0x64, 0x49, 0x6e, 0x76, 0x69, 0x74, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x56, 0x31, 0x12, 0x44, 0x0a, - 0x06, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, - 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x6e, - 0x74, 0x65, 0x6e, 0x74, 0x73, 0x2e, 0x53, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x50, 0x75, 0x62, 0x6c, - 0x69, 0x63, 0x4b, 0x65, 0x79, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x52, 0x06, 0x73, 0x65, 0x6e, - 0x64, 0x65, 0x72, 0x12, 0x4a, 0x0a, 0x09, 0x72, 0x65, 0x63, 0x69, 0x70, 0x69, 0x65, 0x6e, 0x74, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x6d, 0x65, - 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x2e, 0x53, - 0x69, 0x67, 0x6e, 0x65, 0x64, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x4b, 0x65, 0x79, 0x42, 0x75, - 0x6e, 0x64, 0x6c, 0x65, 0x52, 0x09, 0x72, 0x65, 0x63, 0x69, 0x70, 0x69, 0x65, 0x6e, 0x74, 0x12, - 0x1d, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x6e, 0x73, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x04, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x4e, 0x73, 0x22, 0x7a, - 0x0a, 0x12, 0x53, 0x65, 0x61, 0x6c, 0x65, 0x64, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x56, 0x31, 0x12, 0x21, 0x0a, 0x0c, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x5f, 0x62, - 0x79, 0x74, 0x65, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0b, 0x68, 0x65, 0x61, 0x64, - 0x65, 0x72, 0x42, 0x79, 0x74, 0x65, 0x73, 0x12, 0x41, 0x0a, 0x0a, 0x63, 0x69, 0x70, 0x68, 0x65, - 0x72, 0x74, 0x65, 0x78, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x78, 0x6d, - 0x74, 0x70, 0x2e, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, - 0x6e, 0x74, 0x73, 0x2e, 0x43, 0x69, 0x70, 0x68, 0x65, 0x72, 0x74, 0x65, 0x78, 0x74, 0x52, 0x0a, - 0x63, 0x69, 0x70, 0x68, 0x65, 0x72, 0x74, 0x65, 0x78, 0x74, 0x22, 0x60, 0x0a, 0x10, 0x53, 0x65, - 0x61, 0x6c, 0x65, 0x64, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x3b, - 0x0a, 0x02, 0x76, 0x31, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x78, 0x6d, 0x74, - 0x70, 0x2e, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, - 0x74, 0x73, 0x2e, 0x53, 0x65, 0x61, 0x6c, 0x65, 0x64, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x56, 0x31, 0x48, 0x00, 0x52, 0x02, 0x76, 0x31, 0x42, 0x09, 0x0a, 0x07, 0x76, - 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x4a, 0x04, 0x08, 0x02, 0x10, 0x03, 0x22, 0xad, 0x01, 0x0a, - 0x13, 0x43, 0x6f, 0x6e, 0x73, 0x65, 0x6e, 0x74, 0x50, 0x72, 0x6f, 0x6f, 0x66, 0x50, 0x61, 0x79, - 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, - 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, - 0x72, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, - 0x12, 0x5a, 0x0a, 0x0f, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x76, 0x65, 0x72, 0x73, - 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x31, 0x2e, 0x78, 0x6d, 0x74, 0x70, - 0x2e, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, - 0x73, 0x2e, 0x43, 0x6f, 0x6e, 0x73, 0x65, 0x6e, 0x74, 0x50, 0x72, 0x6f, 0x6f, 0x66, 0x50, 0x61, - 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x0e, 0x70, 0x61, - 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x2a, 0x70, 0x0a, 0x1a, - 0x43, 0x6f, 0x6e, 0x73, 0x65, 0x6e, 0x74, 0x50, 0x72, 0x6f, 0x6f, 0x66, 0x50, 0x61, 0x79, 0x6c, - 0x6f, 0x61, 0x64, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x2d, 0x0a, 0x29, 0x43, 0x4f, - 0x4e, 0x53, 0x45, 0x4e, 0x54, 0x5f, 0x50, 0x52, 0x4f, 0x4f, 0x46, 0x5f, 0x50, 0x41, 0x59, 0x4c, - 0x4f, 0x41, 0x44, 0x5f, 0x56, 0x45, 0x52, 0x53, 0x49, 0x4f, 0x4e, 0x5f, 0x55, 0x4e, 0x53, 0x50, - 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x23, 0x0a, 0x1f, 0x43, 0x4f, 0x4e, - 0x53, 0x45, 0x4e, 0x54, 0x5f, 0x50, 0x52, 0x4f, 0x4f, 0x46, 0x5f, 0x50, 0x41, 0x59, 0x4c, 0x4f, - 0x41, 0x44, 0x5f, 0x56, 0x45, 0x52, 0x53, 0x49, 0x4f, 0x4e, 0x5f, 0x31, 0x10, 0x01, 0x42, 0x82, - 0x02, 0x0a, 0x33, 0x6f, 0x72, 0x67, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x61, 0x6e, 0x64, 0x72, - 0x6f, 0x69, 0x64, 0x2e, 0x6c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x2e, 0x70, 0x75, 0x73, 0x68, - 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6f, - 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x42, 0x0f, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x49, 0x67, 0x69, 0x74, 0x68, 0x75, - 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x78, 0x6d, 0x74, 0x70, 0x2f, 0x65, 0x78, 0x61, 0x6d, 0x70, - 0x6c, 0x65, 0x2d, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2d, - 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2d, 0x67, 0x6f, 0x2f, 0x70, 0x6b, 0x67, 0x2f, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x2f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x74, - 0x65, 0x6e, 0x74, 0x73, 0xa2, 0x02, 0x03, 0x58, 0x4d, 0x58, 0xaa, 0x02, 0x14, 0x58, 0x6d, 0x74, - 0x70, 0x2e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, - 0x73, 0xca, 0x02, 0x14, 0x58, 0x6d, 0x74, 0x70, 0x5c, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, - 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0xe2, 0x02, 0x20, 0x58, 0x6d, 0x74, 0x70, 0x5c, - 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x5c, - 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x15, 0x58, 0x6d, - 0x74, 0x70, 0x3a, 0x3a, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, - 0x6e, 0x74, 0x73, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, -} +const file_message_contents_invitation_proto_rawDesc = "" + + "\n" + + "!message_contents/invitation.proto\x12\x15xmtp.message_contents\x1a!message_contents/ciphertext.proto\x1a!message_contents/public_key.proto\"\xbd\x04\n" + + "\fInvitationV1\x12\x14\n" + + "\x05topic\x18\x01 \x01(\tR\x05topic\x12E\n" + + "\acontext\x18\x02 \x01(\v2+.xmtp.message_contents.InvitationV1.ContextR\acontext\x12n\n" + + "\x16aes256_gcm_hkdf_sha256\x18\x03 \x01(\v27.xmtp.message_contents.InvitationV1.Aes256gcmHkdfsha256H\x00R\x13aes256GcmHkdfSha256\x12O\n" + + "\rconsent_proof\x18\x04 \x01(\v2*.xmtp.message_contents.ConsentProofPayloadR\fconsentProof\x1a8\n" + + "\x13Aes256gcmHkdfsha256\x12!\n" + + "\fkey_material\x18\x01 \x01(\fR\vkeyMaterial\x1a\xc6\x01\n" + + "\aContext\x12'\n" + + "\x0fconversation_id\x18\x01 \x01(\tR\x0econversationId\x12U\n" + + "\bmetadata\x18\x02 \x03(\v29.xmtp.message_contents.InvitationV1.Context.MetadataEntryR\bmetadata\x1a;\n" + + "\rMetadataEntry\x12\x10\n" + + "\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n" + + "\x05value\x18\x02 \x01(\tR\x05value:\x028\x01B\f\n" + + "\n" + + "encryption\"\xcb\x01\n" + + "\x18SealedInvitationHeaderV1\x12D\n" + + "\x06sender\x18\x01 \x01(\v2,.xmtp.message_contents.SignedPublicKeyBundleR\x06sender\x12J\n" + + "\trecipient\x18\x02 \x01(\v2,.xmtp.message_contents.SignedPublicKeyBundleR\trecipient\x12\x1d\n" + + "\n" + + "created_ns\x18\x03 \x01(\x04R\tcreatedNs\"z\n" + + "\x12SealedInvitationV1\x12!\n" + + "\fheader_bytes\x18\x01 \x01(\fR\vheaderBytes\x12A\n" + + "\n" + + "ciphertext\x18\x02 \x01(\v2!.xmtp.message_contents.CiphertextR\n" + + "ciphertext\"`\n" + + "\x10SealedInvitation\x12;\n" + + "\x02v1\x18\x01 \x01(\v2).xmtp.message_contents.SealedInvitationV1H\x00R\x02v1B\t\n" + + "\aversionJ\x04\b\x02\x10\x03\"\xad\x01\n" + + "\x13ConsentProofPayload\x12\x1c\n" + + "\tsignature\x18\x01 \x01(\tR\tsignature\x12\x1c\n" + + "\ttimestamp\x18\x02 \x01(\x04R\ttimestamp\x12Z\n" + + "\x0fpayload_version\x18\x03 \x01(\x0e21.xmtp.message_contents.ConsentProofPayloadVersionR\x0epayloadVersion*p\n" + + "\x1aConsentProofPayloadVersion\x12-\n" + + ")CONSENT_PROOF_PAYLOAD_VERSION_UNSPECIFIED\x10\x00\x12#\n" + + "\x1fCONSENT_PROOF_PAYLOAD_VERSION_1\x10\x01B\x82\x02\n" + + "3org.xmtp.android.library.push.xmtp.message_contentsB\x0fInvitationProtoP\x01ZIgithub.com/xmtp/example-notification-server-go/pkg/proto/message_contents\xa2\x02\x03XMX\xaa\x02\x14Xmtp.MessageContents\xca\x02\x14Xmtp\\MessageContents\xe2\x02 Xmtp\\MessageContents\\GPBMetadata\xea\x02\x15Xmtp::MessageContentsb\x06proto3" var ( file_message_contents_invitation_proto_rawDescOnce sync.Once - file_message_contents_invitation_proto_rawDescData = file_message_contents_invitation_proto_rawDesc + file_message_contents_invitation_proto_rawDescData []byte ) func file_message_contents_invitation_proto_rawDescGZIP() []byte { file_message_contents_invitation_proto_rawDescOnce.Do(func() { - file_message_contents_invitation_proto_rawDescData = protoimpl.X.CompressGZIP(file_message_contents_invitation_proto_rawDescData) + file_message_contents_invitation_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_message_contents_invitation_proto_rawDesc), len(file_message_contents_invitation_proto_rawDesc))) }) return file_message_contents_invitation_proto_rawDescData } @@ -698,7 +630,7 @@ func file_message_contents_invitation_proto_init() { out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), - RawDescriptor: file_message_contents_invitation_proto_rawDesc, + RawDescriptor: unsafe.Slice(unsafe.StringData(file_message_contents_invitation_proto_rawDesc), len(file_message_contents_invitation_proto_rawDesc)), NumEnums: 1, NumMessages: 8, NumExtensions: 0, @@ -710,7 +642,6 @@ func file_message_contents_invitation_proto_init() { MessageInfos: file_message_contents_invitation_proto_msgTypes, }.Build() File_message_contents_invitation_proto = out.File - file_message_contents_invitation_proto_rawDesc = nil file_message_contents_invitation_proto_goTypes = nil file_message_contents_invitation_proto_depIdxs = nil } diff --git a/pkg/proto/message_contents/message.pb.go b/pkg/proto/message_contents/message.pb.go index b9873a9..ceb1f61 100644 --- a/pkg/proto/message_contents/message.pb.go +++ b/pkg/proto/message_contents/message.pb.go @@ -2,7 +2,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.36.1 +// protoc-gen-go v1.36.10 // protoc (unknown) // source: message_contents/message.proto @@ -13,6 +13,7 @@ import ( protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" + unsafe "unsafe" ) const ( @@ -460,113 +461,57 @@ func (x *DecodedMessage) GetContentBytes() []byte { var File_message_contents_message_proto protoreflect.FileDescriptor -var file_message_contents_message_proto_rawDesc = []byte{ - 0x0a, 0x1e, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, - 0x74, 0x73, 0x2f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x12, 0x15, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x63, - 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x1a, 0x21, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, - 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x2f, 0x63, 0x69, 0x70, 0x68, 0x65, 0x72, - 0x74, 0x65, 0x78, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x2d, 0x6d, 0x65, 0x73, 0x73, - 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x2f, 0x63, 0x6f, 0x6e, - 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, - 0x6e, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x21, 0x6d, 0x65, 0x73, 0x73, 0x61, - 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x2f, 0x70, 0x75, 0x62, 0x6c, - 0x69, 0x63, 0x5f, 0x6b, 0x65, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xb5, 0x01, 0x0a, - 0x0f, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x56, 0x31, - 0x12, 0x3e, 0x0a, 0x06, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x26, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, - 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x2e, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x4b, - 0x65, 0x79, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x52, 0x06, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, - 0x12, 0x44, 0x0a, 0x09, 0x72, 0x65, 0x63, 0x69, 0x70, 0x69, 0x65, 0x6e, 0x74, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x6d, 0x65, 0x73, 0x73, 0x61, - 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x2e, 0x50, 0x75, 0x62, 0x6c, - 0x69, 0x63, 0x4b, 0x65, 0x79, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x52, 0x09, 0x72, 0x65, 0x63, - 0x69, 0x70, 0x69, 0x65, 0x6e, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, - 0x61, 0x6d, 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, - 0x74, 0x61, 0x6d, 0x70, 0x22, 0x71, 0x0a, 0x09, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x56, - 0x31, 0x12, 0x21, 0x0a, 0x0c, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x74, 0x65, - 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0b, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x42, - 0x79, 0x74, 0x65, 0x73, 0x12, 0x41, 0x0a, 0x0a, 0x63, 0x69, 0x70, 0x68, 0x65, 0x72, 0x74, 0x65, - 0x78, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, - 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, - 0x2e, 0x43, 0x69, 0x70, 0x68, 0x65, 0x72, 0x74, 0x65, 0x78, 0x74, 0x52, 0x0a, 0x63, 0x69, 0x70, - 0x68, 0x65, 0x72, 0x74, 0x65, 0x78, 0x74, 0x22, 0x46, 0x0a, 0x0f, 0x4d, 0x65, 0x73, 0x73, 0x61, - 0x67, 0x65, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x56, 0x32, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x72, - 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, - 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x4e, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x70, - 0x69, 0x63, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x22, - 0xdd, 0x01, 0x0a, 0x09, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x56, 0x32, 0x12, 0x21, 0x0a, - 0x0c, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x0c, 0x52, 0x0b, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x42, 0x79, 0x74, 0x65, 0x73, - 0x12, 0x41, 0x0a, 0x0a, 0x63, 0x69, 0x70, 0x68, 0x65, 0x72, 0x74, 0x65, 0x78, 0x74, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x6d, 0x65, 0x73, 0x73, - 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x2e, 0x43, 0x69, 0x70, - 0x68, 0x65, 0x72, 0x74, 0x65, 0x78, 0x74, 0x52, 0x0a, 0x63, 0x69, 0x70, 0x68, 0x65, 0x72, 0x74, - 0x65, 0x78, 0x74, 0x12, 0x24, 0x0a, 0x0b, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x5f, 0x68, 0x6d, - 0x61, 0x63, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x48, 0x00, 0x52, 0x0a, 0x73, 0x65, 0x6e, 0x64, - 0x65, 0x72, 0x48, 0x6d, 0x61, 0x63, 0x88, 0x01, 0x01, 0x12, 0x24, 0x0a, 0x0b, 0x73, 0x68, 0x6f, - 0x75, 0x6c, 0x64, 0x5f, 0x70, 0x75, 0x73, 0x68, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x48, 0x01, - 0x52, 0x0a, 0x73, 0x68, 0x6f, 0x75, 0x6c, 0x64, 0x50, 0x75, 0x73, 0x68, 0x88, 0x01, 0x01, 0x42, - 0x0e, 0x0a, 0x0c, 0x5f, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x5f, 0x68, 0x6d, 0x61, 0x63, 0x42, - 0x0e, 0x0a, 0x0c, 0x5f, 0x73, 0x68, 0x6f, 0x75, 0x6c, 0x64, 0x5f, 0x70, 0x75, 0x73, 0x68, 0x22, - 0x7c, 0x0a, 0x07, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x32, 0x0a, 0x02, 0x76, 0x31, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x6d, 0x65, - 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x2e, 0x4d, - 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x56, 0x31, 0x48, 0x00, 0x52, 0x02, 0x76, 0x31, 0x12, 0x32, - 0x0a, 0x02, 0x76, 0x32, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x78, 0x6d, 0x74, - 0x70, 0x2e, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, - 0x74, 0x73, 0x2e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x56, 0x32, 0x48, 0x00, 0x52, 0x02, - 0x76, 0x32, 0x42, 0x09, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0xed, 0x02, - 0x0a, 0x0e, 0x44, 0x65, 0x63, 0x6f, 0x64, 0x65, 0x64, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, - 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, - 0x12, 0x27, 0x0a, 0x0f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x76, 0x65, 0x72, 0x73, - 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x6d, 0x65, 0x73, 0x73, 0x61, - 0x67, 0x65, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x25, 0x0a, 0x0e, 0x73, 0x65, 0x6e, - 0x64, 0x65, 0x72, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x0d, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, - 0x12, 0x30, 0x0a, 0x11, 0x72, 0x65, 0x63, 0x69, 0x70, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x61, 0x64, - 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x10, 0x72, - 0x65, 0x63, 0x69, 0x70, 0x69, 0x65, 0x6e, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x88, - 0x01, 0x01, 0x12, 0x17, 0x0a, 0x07, 0x73, 0x65, 0x6e, 0x74, 0x5f, 0x6e, 0x73, 0x18, 0x05, 0x20, - 0x01, 0x28, 0x04, 0x52, 0x06, 0x73, 0x65, 0x6e, 0x74, 0x4e, 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x63, - 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x5f, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x18, 0x06, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x0c, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x70, 0x69, 0x63, - 0x12, 0x50, 0x0a, 0x0c, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x6d, 0x65, - 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x2e, 0x43, - 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x66, 0x65, 0x72, - 0x65, 0x6e, 0x63, 0x65, 0x52, 0x0c, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x12, 0x23, 0x0a, 0x0d, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x5f, 0x62, 0x79, - 0x74, 0x65, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0c, 0x63, 0x6f, 0x6e, 0x74, 0x65, - 0x6e, 0x74, 0x42, 0x79, 0x74, 0x65, 0x73, 0x42, 0x14, 0x0a, 0x12, 0x5f, 0x72, 0x65, 0x63, 0x69, - 0x70, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x42, 0xff, 0x01, - 0x0a, 0x33, 0x6f, 0x72, 0x67, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x61, 0x6e, 0x64, 0x72, 0x6f, - 0x69, 0x64, 0x2e, 0x6c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x2e, 0x70, 0x75, 0x73, 0x68, 0x2e, - 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x6e, - 0x74, 0x65, 0x6e, 0x74, 0x73, 0x42, 0x0c, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x50, 0x72, - 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x49, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, - 0x6d, 0x2f, 0x78, 0x6d, 0x74, 0x70, 0x2f, 0x65, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x2d, 0x6e, - 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2d, 0x73, 0x65, 0x72, 0x76, - 0x65, 0x72, 0x2d, 0x67, 0x6f, 0x2f, 0x70, 0x6b, 0x67, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, - 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, - 0xa2, 0x02, 0x03, 0x58, 0x4d, 0x58, 0xaa, 0x02, 0x14, 0x58, 0x6d, 0x74, 0x70, 0x2e, 0x4d, 0x65, - 0x73, 0x73, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0xca, 0x02, 0x14, - 0x58, 0x6d, 0x74, 0x70, 0x5c, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x6e, 0x74, - 0x65, 0x6e, 0x74, 0x73, 0xe2, 0x02, 0x20, 0x58, 0x6d, 0x74, 0x70, 0x5c, 0x4d, 0x65, 0x73, 0x73, - 0x61, 0x67, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x5c, 0x47, 0x50, 0x42, 0x4d, - 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x15, 0x58, 0x6d, 0x74, 0x70, 0x3a, 0x3a, - 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x62, - 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, -} +const file_message_contents_message_proto_rawDesc = "" + + "\n" + + "\x1emessage_contents/message.proto\x12\x15xmtp.message_contents\x1a!message_contents/ciphertext.proto\x1a-message_contents/conversation_reference.proto\x1a!message_contents/public_key.proto\"\xb5\x01\n" + + "\x0fMessageHeaderV1\x12>\n" + + "\x06sender\x18\x01 \x01(\v2&.xmtp.message_contents.PublicKeyBundleR\x06sender\x12D\n" + + "\trecipient\x18\x02 \x01(\v2&.xmtp.message_contents.PublicKeyBundleR\trecipient\x12\x1c\n" + + "\ttimestamp\x18\x03 \x01(\x04R\ttimestamp\"q\n" + + "\tMessageV1\x12!\n" + + "\fheader_bytes\x18\x01 \x01(\fR\vheaderBytes\x12A\n" + + "\n" + + "ciphertext\x18\x02 \x01(\v2!.xmtp.message_contents.CiphertextR\n" + + "ciphertext\"F\n" + + "\x0fMessageHeaderV2\x12\x1d\n" + + "\n" + + "created_ns\x18\x01 \x01(\x04R\tcreatedNs\x12\x14\n" + + "\x05topic\x18\x02 \x01(\tR\x05topic\"\xdd\x01\n" + + "\tMessageV2\x12!\n" + + "\fheader_bytes\x18\x01 \x01(\fR\vheaderBytes\x12A\n" + + "\n" + + "ciphertext\x18\x02 \x01(\v2!.xmtp.message_contents.CiphertextR\n" + + "ciphertext\x12$\n" + + "\vsender_hmac\x18\x03 \x01(\fH\x00R\n" + + "senderHmac\x88\x01\x01\x12$\n" + + "\vshould_push\x18\x04 \x01(\bH\x01R\n" + + "shouldPush\x88\x01\x01B\x0e\n" + + "\f_sender_hmacB\x0e\n" + + "\f_should_push\"|\n" + + "\aMessage\x122\n" + + "\x02v1\x18\x01 \x01(\v2 .xmtp.message_contents.MessageV1H\x00R\x02v1\x122\n" + + "\x02v2\x18\x02 \x01(\v2 .xmtp.message_contents.MessageV2H\x00R\x02v2B\t\n" + + "\aversion\"\xed\x02\n" + + "\x0eDecodedMessage\x12\x0e\n" + + "\x02id\x18\x01 \x01(\tR\x02id\x12'\n" + + "\x0fmessage_version\x18\x02 \x01(\tR\x0emessageVersion\x12%\n" + + "\x0esender_address\x18\x03 \x01(\tR\rsenderAddress\x120\n" + + "\x11recipient_address\x18\x04 \x01(\tH\x00R\x10recipientAddress\x88\x01\x01\x12\x17\n" + + "\asent_ns\x18\x05 \x01(\x04R\x06sentNs\x12#\n" + + "\rcontent_topic\x18\x06 \x01(\tR\fcontentTopic\x12P\n" + + "\fconversation\x18\a \x01(\v2,.xmtp.message_contents.ConversationReferenceR\fconversation\x12#\n" + + "\rcontent_bytes\x18\b \x01(\fR\fcontentBytesB\x14\n" + + "\x12_recipient_addressB\xff\x01\n" + + "3org.xmtp.android.library.push.xmtp.message_contentsB\fMessageProtoP\x01ZIgithub.com/xmtp/example-notification-server-go/pkg/proto/message_contents\xa2\x02\x03XMX\xaa\x02\x14Xmtp.MessageContents\xca\x02\x14Xmtp\\MessageContents\xe2\x02 Xmtp\\MessageContents\\GPBMetadata\xea\x02\x15Xmtp::MessageContentsb\x06proto3" var ( file_message_contents_message_proto_rawDescOnce sync.Once - file_message_contents_message_proto_rawDescData = file_message_contents_message_proto_rawDesc + file_message_contents_message_proto_rawDescData []byte ) func file_message_contents_message_proto_rawDescGZIP() []byte { file_message_contents_message_proto_rawDescOnce.Do(func() { - file_message_contents_message_proto_rawDescData = protoimpl.X.CompressGZIP(file_message_contents_message_proto_rawDescData) + file_message_contents_message_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_message_contents_message_proto_rawDesc), len(file_message_contents_message_proto_rawDesc))) }) return file_message_contents_message_proto_rawDescData } @@ -616,7 +561,7 @@ func file_message_contents_message_proto_init() { out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), - RawDescriptor: file_message_contents_message_proto_rawDesc, + RawDescriptor: unsafe.Slice(unsafe.StringData(file_message_contents_message_proto_rawDesc), len(file_message_contents_message_proto_rawDesc)), NumEnums: 0, NumMessages: 6, NumExtensions: 0, @@ -627,7 +572,6 @@ func file_message_contents_message_proto_init() { MessageInfos: file_message_contents_message_proto_msgTypes, }.Build() File_message_contents_message_proto = out.File - file_message_contents_message_proto_rawDesc = nil file_message_contents_message_proto_goTypes = nil file_message_contents_message_proto_depIdxs = nil } diff --git a/pkg/proto/message_contents/private_key.pb.go b/pkg/proto/message_contents/private_key.pb.go index c9114ba..17aeaf4 100644 --- a/pkg/proto/message_contents/private_key.pb.go +++ b/pkg/proto/message_contents/private_key.pb.go @@ -5,7 +5,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.36.1 +// protoc-gen-go v1.36.10 // protoc (unknown) // source: message_contents/private_key.proto @@ -16,6 +16,7 @@ import ( protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" + unsafe "unsafe" ) const ( @@ -609,118 +610,55 @@ func (x *PrivateKey_Secp256K1) GetBytes() []byte { var File_message_contents_private_key_proto protoreflect.FileDescriptor -var file_message_contents_private_key_proto_rawDesc = []byte{ - 0x0a, 0x22, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, - 0x74, 0x73, 0x2f, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x5f, 0x6b, 0x65, 0x79, 0x2e, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x15, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x6d, 0x65, 0x73, 0x73, 0x61, - 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x1a, 0x21, 0x6d, 0x65, 0x73, - 0x73, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x2f, 0x63, 0x69, - 0x70, 0x68, 0x65, 0x72, 0x74, 0x65, 0x78, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x21, - 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, - 0x2f, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x5f, 0x6b, 0x65, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x22, 0xf7, 0x01, 0x0a, 0x10, 0x53, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x50, 0x72, 0x69, 0x76, - 0x61, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, - 0x64, 0x5f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, - 0x74, 0x65, 0x64, 0x4e, 0x73, 0x12, 0x51, 0x0a, 0x09, 0x73, 0x65, 0x63, 0x70, 0x32, 0x35, 0x36, - 0x6b, 0x31, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, - 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, - 0x2e, 0x53, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x4b, 0x65, - 0x79, 0x2e, 0x53, 0x65, 0x63, 0x70, 0x32, 0x35, 0x36, 0x6b, 0x31, 0x48, 0x00, 0x52, 0x09, 0x73, - 0x65, 0x63, 0x70, 0x32, 0x35, 0x36, 0x6b, 0x31, 0x12, 0x45, 0x0a, 0x0a, 0x70, 0x75, 0x62, 0x6c, - 0x69, 0x63, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x78, - 0x6d, 0x74, 0x70, 0x2e, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x74, - 0x65, 0x6e, 0x74, 0x73, 0x2e, 0x53, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x50, 0x75, 0x62, 0x6c, 0x69, - 0x63, 0x4b, 0x65, 0x79, 0x52, 0x09, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x4b, 0x65, 0x79, 0x1a, - 0x21, 0x0a, 0x09, 0x53, 0x65, 0x63, 0x70, 0x32, 0x35, 0x36, 0x6b, 0x31, 0x12, 0x14, 0x0a, 0x05, - 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x05, 0x62, 0x79, 0x74, - 0x65, 0x73, 0x42, 0x07, 0x0a, 0x05, 0x75, 0x6e, 0x69, 0x6f, 0x6e, 0x22, 0xa4, 0x01, 0x0a, 0x12, - 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, - 0x56, 0x32, 0x12, 0x4a, 0x0a, 0x0c, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x6b, - 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, - 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, - 0x2e, 0x53, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x4b, 0x65, - 0x79, 0x52, 0x0b, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x4b, 0x65, 0x79, 0x12, 0x42, - 0x0a, 0x08, 0x70, 0x72, 0x65, 0x5f, 0x6b, 0x65, 0x79, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, - 0x32, 0x27, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, - 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x2e, 0x53, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x50, - 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x52, 0x07, 0x70, 0x72, 0x65, 0x4b, 0x65, - 0x79, 0x73, 0x22, 0xe4, 0x01, 0x0a, 0x0a, 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x4b, 0x65, - 0x79, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, - 0x4b, 0x0a, 0x09, 0x73, 0x65, 0x63, 0x70, 0x32, 0x35, 0x36, 0x6b, 0x31, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, - 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x2e, 0x50, 0x72, 0x69, 0x76, 0x61, - 0x74, 0x65, 0x4b, 0x65, 0x79, 0x2e, 0x53, 0x65, 0x63, 0x70, 0x32, 0x35, 0x36, 0x6b, 0x31, 0x48, - 0x00, 0x52, 0x09, 0x73, 0x65, 0x63, 0x70, 0x32, 0x35, 0x36, 0x6b, 0x31, 0x12, 0x3f, 0x0a, 0x0a, - 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x20, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, - 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x2e, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x4b, - 0x65, 0x79, 0x52, 0x09, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x4b, 0x65, 0x79, 0x1a, 0x21, 0x0a, - 0x09, 0x53, 0x65, 0x63, 0x70, 0x32, 0x35, 0x36, 0x6b, 0x31, 0x12, 0x14, 0x0a, 0x05, 0x62, 0x79, - 0x74, 0x65, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x05, 0x62, 0x79, 0x74, 0x65, 0x73, - 0x42, 0x07, 0x0a, 0x05, 0x75, 0x6e, 0x69, 0x6f, 0x6e, 0x22, 0x98, 0x01, 0x0a, 0x12, 0x50, 0x72, - 0x69, 0x76, 0x61, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x56, 0x31, - 0x12, 0x44, 0x0a, 0x0c, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x6b, 0x65, 0x79, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x6d, 0x65, - 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x2e, 0x50, - 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x52, 0x0b, 0x69, 0x64, 0x65, 0x6e, 0x74, - 0x69, 0x74, 0x79, 0x4b, 0x65, 0x79, 0x12, 0x3c, 0x0a, 0x08, 0x70, 0x72, 0x65, 0x5f, 0x6b, 0x65, - 0x79, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, - 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, - 0x2e, 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x52, 0x07, 0x70, 0x72, 0x65, - 0x4b, 0x65, 0x79, 0x73, 0x22, 0x9d, 0x01, 0x0a, 0x10, 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, - 0x4b, 0x65, 0x79, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x12, 0x3b, 0x0a, 0x02, 0x76, 0x31, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x6d, 0x65, 0x73, - 0x73, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x2e, 0x50, 0x72, - 0x69, 0x76, 0x61, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x56, 0x31, - 0x48, 0x00, 0x52, 0x02, 0x76, 0x31, 0x12, 0x3b, 0x0a, 0x02, 0x76, 0x32, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, - 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x2e, 0x50, 0x72, 0x69, 0x76, 0x61, - 0x74, 0x65, 0x4b, 0x65, 0x79, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x56, 0x32, 0x48, 0x00, 0x52, - 0x02, 0x76, 0x32, 0x42, 0x09, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x4a, 0x04, - 0x08, 0x03, 0x10, 0x04, 0x22, 0x86, 0x01, 0x0a, 0x1b, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, - 0x65, 0x64, 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x42, 0x75, 0x6e, 0x64, - 0x6c, 0x65, 0x56, 0x31, 0x12, 0x24, 0x0a, 0x0e, 0x77, 0x61, 0x6c, 0x6c, 0x65, 0x74, 0x5f, 0x70, - 0x72, 0x65, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0c, 0x77, 0x61, - 0x6c, 0x6c, 0x65, 0x74, 0x50, 0x72, 0x65, 0x4b, 0x65, 0x79, 0x12, 0x41, 0x0a, 0x0a, 0x63, 0x69, - 0x70, 0x68, 0x65, 0x72, 0x74, 0x65, 0x78, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, - 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6f, - 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x2e, 0x43, 0x69, 0x70, 0x68, 0x65, 0x72, 0x74, 0x65, 0x78, - 0x74, 0x52, 0x0a, 0x63, 0x69, 0x70, 0x68, 0x65, 0x72, 0x74, 0x65, 0x78, 0x74, 0x22, 0x6c, 0x0a, - 0x19, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x65, 0x64, 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, - 0x65, 0x4b, 0x65, 0x79, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x12, 0x44, 0x0a, 0x02, 0x76, 0x31, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x6d, 0x65, - 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x2e, 0x45, - 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x65, 0x64, 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x4b, - 0x65, 0x79, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x56, 0x31, 0x48, 0x00, 0x52, 0x02, 0x76, 0x31, - 0x42, 0x09, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x42, 0x82, 0x02, 0x0a, 0x33, - 0x6f, 0x72, 0x67, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x61, 0x6e, 0x64, 0x72, 0x6f, 0x69, 0x64, - 0x2e, 0x6c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x2e, 0x70, 0x75, 0x73, 0x68, 0x2e, 0x78, 0x6d, - 0x74, 0x70, 0x2e, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, - 0x6e, 0x74, 0x73, 0x42, 0x0f, 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x50, - 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x49, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, - 0x6f, 0x6d, 0x2f, 0x78, 0x6d, 0x74, 0x70, 0x2f, 0x65, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x2d, - 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2d, 0x73, 0x65, 0x72, - 0x76, 0x65, 0x72, 0x2d, 0x67, 0x6f, 0x2f, 0x70, 0x6b, 0x67, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x2f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, - 0x73, 0xa2, 0x02, 0x03, 0x58, 0x4d, 0x58, 0xaa, 0x02, 0x14, 0x58, 0x6d, 0x74, 0x70, 0x2e, 0x4d, - 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0xca, 0x02, - 0x14, 0x58, 0x6d, 0x74, 0x70, 0x5c, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x6e, - 0x74, 0x65, 0x6e, 0x74, 0x73, 0xe2, 0x02, 0x20, 0x58, 0x6d, 0x74, 0x70, 0x5c, 0x4d, 0x65, 0x73, - 0x73, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x5c, 0x47, 0x50, 0x42, - 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x15, 0x58, 0x6d, 0x74, 0x70, 0x3a, - 0x3a, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, - 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, -} +const file_message_contents_private_key_proto_rawDesc = "" + + "\n" + + "\"message_contents/private_key.proto\x12\x15xmtp.message_contents\x1a!message_contents/ciphertext.proto\x1a!message_contents/public_key.proto\"\xf7\x01\n" + + "\x10SignedPrivateKey\x12\x1d\n" + + "\n" + + "created_ns\x18\x01 \x01(\x04R\tcreatedNs\x12Q\n" + + "\tsecp256k1\x18\x02 \x01(\v21.xmtp.message_contents.SignedPrivateKey.Secp256k1H\x00R\tsecp256k1\x12E\n" + + "\n" + + "public_key\x18\x03 \x01(\v2&.xmtp.message_contents.SignedPublicKeyR\tpublicKey\x1a!\n" + + "\tSecp256k1\x12\x14\n" + + "\x05bytes\x18\x01 \x01(\fR\x05bytesB\a\n" + + "\x05union\"\xa4\x01\n" + + "\x12PrivateKeyBundleV2\x12J\n" + + "\fidentity_key\x18\x01 \x01(\v2'.xmtp.message_contents.SignedPrivateKeyR\videntityKey\x12B\n" + + "\bpre_keys\x18\x02 \x03(\v2'.xmtp.message_contents.SignedPrivateKeyR\apreKeys\"\xe4\x01\n" + + "\n" + + "PrivateKey\x12\x1c\n" + + "\ttimestamp\x18\x01 \x01(\x04R\ttimestamp\x12K\n" + + "\tsecp256k1\x18\x02 \x01(\v2+.xmtp.message_contents.PrivateKey.Secp256k1H\x00R\tsecp256k1\x12?\n" + + "\n" + + "public_key\x18\x03 \x01(\v2 .xmtp.message_contents.PublicKeyR\tpublicKey\x1a!\n" + + "\tSecp256k1\x12\x14\n" + + "\x05bytes\x18\x01 \x01(\fR\x05bytesB\a\n" + + "\x05union\"\x98\x01\n" + + "\x12PrivateKeyBundleV1\x12D\n" + + "\fidentity_key\x18\x01 \x01(\v2!.xmtp.message_contents.PrivateKeyR\videntityKey\x12<\n" + + "\bpre_keys\x18\x02 \x03(\v2!.xmtp.message_contents.PrivateKeyR\apreKeys\"\x9d\x01\n" + + "\x10PrivateKeyBundle\x12;\n" + + "\x02v1\x18\x01 \x01(\v2).xmtp.message_contents.PrivateKeyBundleV1H\x00R\x02v1\x12;\n" + + "\x02v2\x18\x02 \x01(\v2).xmtp.message_contents.PrivateKeyBundleV2H\x00R\x02v2B\t\n" + + "\aversionJ\x04\b\x03\x10\x04\"\x86\x01\n" + + "\x1bEncryptedPrivateKeyBundleV1\x12$\n" + + "\x0ewallet_pre_key\x18\x01 \x01(\fR\fwalletPreKey\x12A\n" + + "\n" + + "ciphertext\x18\x02 \x01(\v2!.xmtp.message_contents.CiphertextR\n" + + "ciphertext\"l\n" + + "\x19EncryptedPrivateKeyBundle\x12D\n" + + "\x02v1\x18\x01 \x01(\v22.xmtp.message_contents.EncryptedPrivateKeyBundleV1H\x00R\x02v1B\t\n" + + "\aversionB\x82\x02\n" + + "3org.xmtp.android.library.push.xmtp.message_contentsB\x0fPrivateKeyProtoP\x01ZIgithub.com/xmtp/example-notification-server-go/pkg/proto/message_contents\xa2\x02\x03XMX\xaa\x02\x14Xmtp.MessageContents\xca\x02\x14Xmtp\\MessageContents\xe2\x02 Xmtp\\MessageContents\\GPBMetadata\xea\x02\x15Xmtp::MessageContentsb\x06proto3" var ( file_message_contents_private_key_proto_rawDescOnce sync.Once - file_message_contents_private_key_proto_rawDescData = file_message_contents_private_key_proto_rawDesc + file_message_contents_private_key_proto_rawDescData []byte ) func file_message_contents_private_key_proto_rawDescGZIP() []byte { file_message_contents_private_key_proto_rawDescOnce.Do(func() { - file_message_contents_private_key_proto_rawDescData = protoimpl.X.CompressGZIP(file_message_contents_private_key_proto_rawDescData) + file_message_contents_private_key_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_message_contents_private_key_proto_rawDesc), len(file_message_contents_private_key_proto_rawDesc))) }) return file_message_contents_private_key_proto_rawDescData } @@ -784,7 +722,7 @@ func file_message_contents_private_key_proto_init() { out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), - RawDescriptor: file_message_contents_private_key_proto_rawDesc, + RawDescriptor: unsafe.Slice(unsafe.StringData(file_message_contents_private_key_proto_rawDesc), len(file_message_contents_private_key_proto_rawDesc)), NumEnums: 0, NumMessages: 9, NumExtensions: 0, @@ -795,7 +733,6 @@ func file_message_contents_private_key_proto_init() { MessageInfos: file_message_contents_private_key_proto_msgTypes, }.Build() File_message_contents_private_key_proto = out.File - file_message_contents_private_key_proto_rawDesc = nil file_message_contents_private_key_proto_goTypes = nil file_message_contents_private_key_proto_depIdxs = nil } diff --git a/pkg/proto/message_contents/private_preferences.pb.go b/pkg/proto/message_contents/private_preferences.pb.go index 0141807..7eb9180 100644 --- a/pkg/proto/message_contents/private_preferences.pb.go +++ b/pkg/proto/message_contents/private_preferences.pb.go @@ -5,7 +5,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.36.1 +// protoc-gen-go v1.36.10 // protoc (unknown) // source: message_contents/private_preferences.proto @@ -16,6 +16,7 @@ import ( protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" + unsafe "unsafe" ) const ( @@ -518,105 +519,45 @@ func (x *PrivatePreferencesAction_DenyGroup) GetGroupIds() []string { var File_message_contents_private_preferences_proto protoreflect.FileDescriptor -var file_message_contents_private_preferences_proto_rawDesc = []byte{ - 0x0a, 0x2a, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, - 0x74, 0x73, 0x2f, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x65, - 0x72, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x15, 0x78, 0x6d, - 0x74, 0x70, 0x2e, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, - 0x6e, 0x74, 0x73, 0x1a, 0x21, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x6e, - 0x74, 0x65, 0x6e, 0x74, 0x73, 0x2f, 0x63, 0x69, 0x70, 0x68, 0x65, 0x72, 0x74, 0x65, 0x78, 0x74, - 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x98, 0x07, 0x0a, 0x18, 0x50, 0x72, 0x69, 0x76, 0x61, - 0x74, 0x65, 0x50, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x41, 0x63, 0x74, - 0x69, 0x6f, 0x6e, 0x12, 0x63, 0x0a, 0x0d, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x5f, 0x61, 0x64, 0x64, - 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3c, 0x2e, 0x78, 0x6d, 0x74, - 0x70, 0x2e, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, - 0x74, 0x73, 0x2e, 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x50, 0x72, 0x65, 0x66, 0x65, 0x72, - 0x65, 0x6e, 0x63, 0x65, 0x73, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x41, 0x6c, 0x6c, 0x6f, - 0x77, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x48, 0x00, 0x52, 0x0c, 0x61, 0x6c, 0x6c, 0x6f, - 0x77, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x60, 0x0a, 0x0c, 0x64, 0x65, 0x6e, 0x79, - 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3b, - 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6f, - 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x2e, 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x50, 0x72, - 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, - 0x44, 0x65, 0x6e, 0x79, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x48, 0x00, 0x52, 0x0b, 0x64, - 0x65, 0x6e, 0x79, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x5d, 0x0a, 0x0b, 0x61, 0x6c, - 0x6c, 0x6f, 0x77, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x3a, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x63, - 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x2e, 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x50, - 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, - 0x2e, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x48, 0x00, 0x52, 0x0a, 0x61, - 0x6c, 0x6c, 0x6f, 0x77, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x5a, 0x0a, 0x0a, 0x64, 0x65, 0x6e, - 0x79, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x39, 0x2e, - 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x6e, - 0x74, 0x65, 0x6e, 0x74, 0x73, 0x2e, 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x50, 0x72, 0x65, - 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x44, - 0x65, 0x6e, 0x79, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x48, 0x00, 0x52, 0x09, 0x64, 0x65, 0x6e, 0x79, - 0x47, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x64, 0x0a, 0x0e, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x5f, 0x69, - 0x6e, 0x62, 0x6f, 0x78, 0x5f, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3c, 0x2e, - 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x6e, - 0x74, 0x65, 0x6e, 0x74, 0x73, 0x2e, 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x50, 0x72, 0x65, - 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x41, - 0x6c, 0x6c, 0x6f, 0x77, 0x49, 0x6e, 0x62, 0x6f, 0x78, 0x49, 0x64, 0x48, 0x00, 0x52, 0x0c, 0x61, - 0x6c, 0x6c, 0x6f, 0x77, 0x49, 0x6e, 0x62, 0x6f, 0x78, 0x49, 0x64, 0x12, 0x61, 0x0a, 0x0d, 0x64, - 0x65, 0x6e, 0x79, 0x5f, 0x69, 0x6e, 0x62, 0x6f, 0x78, 0x5f, 0x69, 0x64, 0x18, 0x06, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x3b, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, - 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x2e, 0x50, 0x72, 0x69, 0x76, 0x61, - 0x74, 0x65, 0x50, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x41, 0x63, 0x74, - 0x69, 0x6f, 0x6e, 0x2e, 0x44, 0x65, 0x6e, 0x79, 0x49, 0x6e, 0x62, 0x6f, 0x78, 0x49, 0x64, 0x48, - 0x00, 0x52, 0x0b, 0x64, 0x65, 0x6e, 0x79, 0x49, 0x6e, 0x62, 0x6f, 0x78, 0x49, 0x64, 0x1a, 0x39, - 0x0a, 0x0c, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x29, - 0x0a, 0x10, 0x77, 0x61, 0x6c, 0x6c, 0x65, 0x74, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, - 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0f, 0x77, 0x61, 0x6c, 0x6c, 0x65, 0x74, - 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x65, 0x73, 0x1a, 0x38, 0x0a, 0x0b, 0x44, 0x65, 0x6e, - 0x79, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x29, 0x0a, 0x10, 0x77, 0x61, 0x6c, 0x6c, - 0x65, 0x74, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, - 0x28, 0x09, 0x52, 0x0f, 0x77, 0x61, 0x6c, 0x6c, 0x65, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, - 0x73, 0x65, 0x73, 0x1a, 0x2b, 0x0a, 0x0c, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x49, 0x6e, 0x62, 0x6f, - 0x78, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x69, 0x6e, 0x62, 0x6f, 0x78, 0x5f, 0x69, 0x64, 0x73, - 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x08, 0x69, 0x6e, 0x62, 0x6f, 0x78, 0x49, 0x64, 0x73, - 0x1a, 0x2a, 0x0a, 0x0b, 0x44, 0x65, 0x6e, 0x79, 0x49, 0x6e, 0x62, 0x6f, 0x78, 0x49, 0x64, 0x12, - 0x1b, 0x0a, 0x09, 0x69, 0x6e, 0x62, 0x6f, 0x78, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, - 0x28, 0x09, 0x52, 0x08, 0x69, 0x6e, 0x62, 0x6f, 0x78, 0x49, 0x64, 0x73, 0x1a, 0x29, 0x0a, 0x0a, - 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x1b, 0x0a, 0x09, 0x67, 0x72, - 0x6f, 0x75, 0x70, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x08, 0x67, - 0x72, 0x6f, 0x75, 0x70, 0x49, 0x64, 0x73, 0x1a, 0x28, 0x0a, 0x09, 0x44, 0x65, 0x6e, 0x79, 0x47, - 0x72, 0x6f, 0x75, 0x70, 0x12, 0x1b, 0x0a, 0x09, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x69, 0x64, - 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x08, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x64, - 0x73, 0x42, 0x0e, 0x0a, 0x0c, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x79, 0x70, - 0x65, 0x22, 0x5b, 0x0a, 0x19, 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x50, 0x72, 0x65, 0x66, - 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x33, - 0x0a, 0x02, 0x76, 0x31, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x78, 0x6d, 0x74, - 0x70, 0x2e, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, - 0x74, 0x73, 0x2e, 0x43, 0x69, 0x70, 0x68, 0x65, 0x72, 0x74, 0x65, 0x78, 0x74, 0x48, 0x00, 0x52, - 0x02, 0x76, 0x31, 0x42, 0x09, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x42, 0x8a, - 0x02, 0x0a, 0x33, 0x6f, 0x72, 0x67, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x61, 0x6e, 0x64, 0x72, - 0x6f, 0x69, 0x64, 0x2e, 0x6c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x2e, 0x70, 0x75, 0x73, 0x68, - 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6f, - 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x42, 0x17, 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x50, - 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, - 0x01, 0x5a, 0x49, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x78, 0x6d, - 0x74, 0x70, 0x2f, 0x65, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x2d, 0x6e, 0x6f, 0x74, 0x69, 0x66, - 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2d, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2d, 0x67, - 0x6f, 0x2f, 0x70, 0x6b, 0x67, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x6d, 0x65, 0x73, 0x73, - 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0xa2, 0x02, 0x03, 0x58, - 0x4d, 0x58, 0xaa, 0x02, 0x14, 0x58, 0x6d, 0x74, 0x70, 0x2e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, - 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0xca, 0x02, 0x14, 0x58, 0x6d, 0x74, 0x70, - 0x5c, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, - 0xe2, 0x02, 0x20, 0x58, 0x6d, 0x74, 0x70, 0x5c, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x43, - 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, - 0x61, 0x74, 0x61, 0xea, 0x02, 0x15, 0x58, 0x6d, 0x74, 0x70, 0x3a, 0x3a, 0x4d, 0x65, 0x73, 0x73, - 0x61, 0x67, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x62, 0x06, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x33, -} +const file_message_contents_private_preferences_proto_rawDesc = "" + + "\n" + + "*message_contents/private_preferences.proto\x12\x15xmtp.message_contents\x1a!message_contents/ciphertext.proto\"\x98\a\n" + + "\x18PrivatePreferencesAction\x12c\n" + + "\rallow_address\x18\x01 \x01(\v2<.xmtp.message_contents.PrivatePreferencesAction.AllowAddressH\x00R\fallowAddress\x12`\n" + + "\fdeny_address\x18\x02 \x01(\v2;.xmtp.message_contents.PrivatePreferencesAction.DenyAddressH\x00R\vdenyAddress\x12]\n" + + "\vallow_group\x18\x03 \x01(\v2:.xmtp.message_contents.PrivatePreferencesAction.AllowGroupH\x00R\n" + + "allowGroup\x12Z\n" + + "\n" + + "deny_group\x18\x04 \x01(\v29.xmtp.message_contents.PrivatePreferencesAction.DenyGroupH\x00R\tdenyGroup\x12d\n" + + "\x0eallow_inbox_id\x18\x05 \x01(\v2<.xmtp.message_contents.PrivatePreferencesAction.AllowInboxIdH\x00R\fallowInboxId\x12a\n" + + "\rdeny_inbox_id\x18\x06 \x01(\v2;.xmtp.message_contents.PrivatePreferencesAction.DenyInboxIdH\x00R\vdenyInboxId\x1a9\n" + + "\fAllowAddress\x12)\n" + + "\x10wallet_addresses\x18\x01 \x03(\tR\x0fwalletAddresses\x1a8\n" + + "\vDenyAddress\x12)\n" + + "\x10wallet_addresses\x18\x01 \x03(\tR\x0fwalletAddresses\x1a+\n" + + "\fAllowInboxId\x12\x1b\n" + + "\tinbox_ids\x18\x01 \x03(\tR\binboxIds\x1a*\n" + + "\vDenyInboxId\x12\x1b\n" + + "\tinbox_ids\x18\x01 \x03(\tR\binboxIds\x1a)\n" + + "\n" + + "AllowGroup\x12\x1b\n" + + "\tgroup_ids\x18\x01 \x03(\tR\bgroupIds\x1a(\n" + + "\tDenyGroup\x12\x1b\n" + + "\tgroup_ids\x18\x01 \x03(\tR\bgroupIdsB\x0e\n" + + "\fmessage_type\"[\n" + + "\x19PrivatePreferencesPayload\x123\n" + + "\x02v1\x18\x01 \x01(\v2!.xmtp.message_contents.CiphertextH\x00R\x02v1B\t\n" + + "\aversionB\x8a\x02\n" + + "3org.xmtp.android.library.push.xmtp.message_contentsB\x17PrivatePreferencesProtoP\x01ZIgithub.com/xmtp/example-notification-server-go/pkg/proto/message_contents\xa2\x02\x03XMX\xaa\x02\x14Xmtp.MessageContents\xca\x02\x14Xmtp\\MessageContents\xe2\x02 Xmtp\\MessageContents\\GPBMetadata\xea\x02\x15Xmtp::MessageContentsb\x06proto3" var ( file_message_contents_private_preferences_proto_rawDescOnce sync.Once - file_message_contents_private_preferences_proto_rawDescData = file_message_contents_private_preferences_proto_rawDesc + file_message_contents_private_preferences_proto_rawDescData []byte ) func file_message_contents_private_preferences_proto_rawDescGZIP() []byte { file_message_contents_private_preferences_proto_rawDescOnce.Do(func() { - file_message_contents_private_preferences_proto_rawDescData = protoimpl.X.CompressGZIP(file_message_contents_private_preferences_proto_rawDescData) + file_message_contents_private_preferences_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_message_contents_private_preferences_proto_rawDesc), len(file_message_contents_private_preferences_proto_rawDesc))) }) return file_message_contents_private_preferences_proto_rawDescData } @@ -669,7 +610,7 @@ func file_message_contents_private_preferences_proto_init() { out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), - RawDescriptor: file_message_contents_private_preferences_proto_rawDesc, + RawDescriptor: unsafe.Slice(unsafe.StringData(file_message_contents_private_preferences_proto_rawDesc), len(file_message_contents_private_preferences_proto_rawDesc)), NumEnums: 0, NumMessages: 8, NumExtensions: 0, @@ -680,7 +621,6 @@ func file_message_contents_private_preferences_proto_init() { MessageInfos: file_message_contents_private_preferences_proto_msgTypes, }.Build() File_message_contents_private_preferences_proto = out.File - file_message_contents_private_preferences_proto_rawDesc = nil file_message_contents_private_preferences_proto_goTypes = nil file_message_contents_private_preferences_proto_depIdxs = nil } diff --git a/pkg/proto/message_contents/public_key.pb.go b/pkg/proto/message_contents/public_key.pb.go index e4c2bac..23aaf02 100644 --- a/pkg/proto/message_contents/public_key.pb.go +++ b/pkg/proto/message_contents/public_key.pb.go @@ -3,7 +3,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.36.1 +// protoc-gen-go v1.36.10 // protoc (unknown) // source: message_contents/public_key.proto @@ -14,6 +14,7 @@ import ( protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" + unsafe "unsafe" ) const ( @@ -441,99 +442,44 @@ func (x *PublicKey_Secp256K1Uncompressed) GetBytes() []byte { var File_message_contents_public_key_proto protoreflect.FileDescriptor -var file_message_contents_public_key_proto_rawDesc = []byte{ - 0x0a, 0x21, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, - 0x74, 0x73, 0x2f, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x5f, 0x6b, 0x65, 0x79, 0x2e, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x12, 0x15, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, - 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x1a, 0x20, 0x6d, 0x65, 0x73, 0x73, - 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x2f, 0x73, 0x69, 0x67, - 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xe3, 0x01, 0x0a, - 0x11, 0x55, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x4b, - 0x65, 0x79, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x6e, 0x73, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x4e, - 0x73, 0x12, 0x77, 0x0a, 0x16, 0x73, 0x65, 0x63, 0x70, 0x32, 0x35, 0x36, 0x6b, 0x31, 0x5f, 0x75, - 0x6e, 0x63, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x65, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x3e, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, - 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x2e, 0x55, 0x6e, 0x73, 0x69, 0x67, 0x6e, - 0x65, 0x64, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x4b, 0x65, 0x79, 0x2e, 0x53, 0x65, 0x63, 0x70, - 0x32, 0x35, 0x36, 0x6b, 0x31, 0x55, 0x6e, 0x63, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x65, - 0x64, 0x48, 0x00, 0x52, 0x15, 0x73, 0x65, 0x63, 0x70, 0x32, 0x35, 0x36, 0x6b, 0x31, 0x55, 0x6e, - 0x63, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x65, 0x64, 0x1a, 0x2d, 0x0a, 0x15, 0x53, 0x65, - 0x63, 0x70, 0x32, 0x35, 0x36, 0x6b, 0x31, 0x55, 0x6e, 0x63, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, - 0x73, 0x65, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x0c, 0x52, 0x05, 0x62, 0x79, 0x74, 0x65, 0x73, 0x42, 0x07, 0x0a, 0x05, 0x75, 0x6e, 0x69, - 0x6f, 0x6e, 0x22, 0x6e, 0x0a, 0x0f, 0x53, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x50, 0x75, 0x62, 0x6c, - 0x69, 0x63, 0x4b, 0x65, 0x79, 0x12, 0x1b, 0x0a, 0x09, 0x6b, 0x65, 0x79, 0x5f, 0x62, 0x79, 0x74, - 0x65, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x08, 0x6b, 0x65, 0x79, 0x42, 0x79, 0x74, - 0x65, 0x73, 0x12, 0x3e, 0x0a, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x6d, 0x65, 0x73, - 0x73, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x2e, 0x53, 0x69, - 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x52, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, - 0x72, 0x65, 0x22, 0xa3, 0x01, 0x0a, 0x15, 0x53, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x50, 0x75, 0x62, - 0x6c, 0x69, 0x63, 0x4b, 0x65, 0x79, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x12, 0x49, 0x0a, 0x0c, - 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, - 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x2e, 0x53, 0x69, 0x67, 0x6e, 0x65, - 0x64, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x4b, 0x65, 0x79, 0x52, 0x0b, 0x69, 0x64, 0x65, 0x6e, - 0x74, 0x69, 0x74, 0x79, 0x4b, 0x65, 0x79, 0x12, 0x3f, 0x0a, 0x07, 0x70, 0x72, 0x65, 0x5f, 0x6b, - 0x65, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, - 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, - 0x2e, 0x53, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x4b, 0x65, 0x79, - 0x52, 0x06, 0x70, 0x72, 0x65, 0x4b, 0x65, 0x79, 0x22, 0xa5, 0x02, 0x0a, 0x09, 0x50, 0x75, 0x62, - 0x6c, 0x69, 0x63, 0x4b, 0x65, 0x79, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, - 0x61, 0x6d, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, - 0x74, 0x61, 0x6d, 0x70, 0x12, 0x43, 0x0a, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, - 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x6d, - 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x2e, - 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x48, 0x01, 0x52, 0x09, 0x73, 0x69, 0x67, - 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x88, 0x01, 0x01, 0x12, 0x6f, 0x0a, 0x16, 0x73, 0x65, 0x63, - 0x70, 0x32, 0x35, 0x36, 0x6b, 0x31, 0x5f, 0x75, 0x6e, 0x63, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, - 0x73, 0x65, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x36, 0x2e, 0x78, 0x6d, 0x74, 0x70, - 0x2e, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, - 0x73, 0x2e, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x4b, 0x65, 0x79, 0x2e, 0x53, 0x65, 0x63, 0x70, - 0x32, 0x35, 0x36, 0x6b, 0x31, 0x55, 0x6e, 0x63, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x65, - 0x64, 0x48, 0x00, 0x52, 0x15, 0x73, 0x65, 0x63, 0x70, 0x32, 0x35, 0x36, 0x6b, 0x31, 0x55, 0x6e, - 0x63, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x65, 0x64, 0x1a, 0x2d, 0x0a, 0x15, 0x53, 0x65, - 0x63, 0x70, 0x32, 0x35, 0x36, 0x6b, 0x31, 0x55, 0x6e, 0x63, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, - 0x73, 0x65, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x0c, 0x52, 0x05, 0x62, 0x79, 0x74, 0x65, 0x73, 0x42, 0x07, 0x0a, 0x05, 0x75, 0x6e, 0x69, - 0x6f, 0x6e, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, - 0x22, 0x91, 0x01, 0x0a, 0x0f, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x4b, 0x65, 0x79, 0x42, 0x75, - 0x6e, 0x64, 0x6c, 0x65, 0x12, 0x43, 0x0a, 0x0c, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, - 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x78, 0x6d, 0x74, - 0x70, 0x2e, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, - 0x74, 0x73, 0x2e, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x4b, 0x65, 0x79, 0x52, 0x0b, 0x69, 0x64, - 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x4b, 0x65, 0x79, 0x12, 0x39, 0x0a, 0x07, 0x70, 0x72, 0x65, - 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x78, 0x6d, 0x74, - 0x70, 0x2e, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, - 0x74, 0x73, 0x2e, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x4b, 0x65, 0x79, 0x52, 0x06, 0x70, 0x72, - 0x65, 0x4b, 0x65, 0x79, 0x42, 0x81, 0x02, 0x0a, 0x33, 0x6f, 0x72, 0x67, 0x2e, 0x78, 0x6d, 0x74, - 0x70, 0x2e, 0x61, 0x6e, 0x64, 0x72, 0x6f, 0x69, 0x64, 0x2e, 0x6c, 0x69, 0x62, 0x72, 0x61, 0x72, - 0x79, 0x2e, 0x70, 0x75, 0x73, 0x68, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x6d, 0x65, 0x73, 0x73, - 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x42, 0x0e, 0x50, 0x75, - 0x62, 0x6c, 0x69, 0x63, 0x4b, 0x65, 0x79, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x49, - 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x78, 0x6d, 0x74, 0x70, 0x2f, - 0x65, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x2d, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x2d, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2d, 0x67, 0x6f, 0x2f, 0x70, - 0x6b, 0x67, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, - 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0xa2, 0x02, 0x03, 0x58, 0x4d, 0x58, 0xaa, - 0x02, 0x14, 0x58, 0x6d, 0x74, 0x70, 0x2e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x43, 0x6f, - 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0xca, 0x02, 0x14, 0x58, 0x6d, 0x74, 0x70, 0x5c, 0x4d, 0x65, - 0x73, 0x73, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0xe2, 0x02, 0x20, - 0x58, 0x6d, 0x74, 0x70, 0x5c, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x6e, 0x74, - 0x65, 0x6e, 0x74, 0x73, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, - 0xea, 0x02, 0x15, 0x58, 0x6d, 0x74, 0x70, 0x3a, 0x3a, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, - 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, -} +const file_message_contents_public_key_proto_rawDesc = "" + + "\n" + + "!message_contents/public_key.proto\x12\x15xmtp.message_contents\x1a message_contents/signature.proto\"\xe3\x01\n" + + "\x11UnsignedPublicKey\x12\x1d\n" + + "\n" + + "created_ns\x18\x01 \x01(\x04R\tcreatedNs\x12w\n" + + "\x16secp256k1_uncompressed\x18\x03 \x01(\v2>.xmtp.message_contents.UnsignedPublicKey.Secp256k1UncompressedH\x00R\x15secp256k1Uncompressed\x1a-\n" + + "\x15Secp256k1Uncompressed\x12\x14\n" + + "\x05bytes\x18\x01 \x01(\fR\x05bytesB\a\n" + + "\x05union\"n\n" + + "\x0fSignedPublicKey\x12\x1b\n" + + "\tkey_bytes\x18\x01 \x01(\fR\bkeyBytes\x12>\n" + + "\tsignature\x18\x02 \x01(\v2 .xmtp.message_contents.SignatureR\tsignature\"\xa3\x01\n" + + "\x15SignedPublicKeyBundle\x12I\n" + + "\fidentity_key\x18\x01 \x01(\v2&.xmtp.message_contents.SignedPublicKeyR\videntityKey\x12?\n" + + "\apre_key\x18\x02 \x01(\v2&.xmtp.message_contents.SignedPublicKeyR\x06preKey\"\xa5\x02\n" + + "\tPublicKey\x12\x1c\n" + + "\ttimestamp\x18\x01 \x01(\x04R\ttimestamp\x12C\n" + + "\tsignature\x18\x02 \x01(\v2 .xmtp.message_contents.SignatureH\x01R\tsignature\x88\x01\x01\x12o\n" + + "\x16secp256k1_uncompressed\x18\x03 \x01(\v26.xmtp.message_contents.PublicKey.Secp256k1UncompressedH\x00R\x15secp256k1Uncompressed\x1a-\n" + + "\x15Secp256k1Uncompressed\x12\x14\n" + + "\x05bytes\x18\x01 \x01(\fR\x05bytesB\a\n" + + "\x05unionB\f\n" + + "\n" + + "_signature\"\x91\x01\n" + + "\x0fPublicKeyBundle\x12C\n" + + "\fidentity_key\x18\x01 \x01(\v2 .xmtp.message_contents.PublicKeyR\videntityKey\x129\n" + + "\apre_key\x18\x02 \x01(\v2 .xmtp.message_contents.PublicKeyR\x06preKeyB\x81\x02\n" + + "3org.xmtp.android.library.push.xmtp.message_contentsB\x0ePublicKeyProtoP\x01ZIgithub.com/xmtp/example-notification-server-go/pkg/proto/message_contents\xa2\x02\x03XMX\xaa\x02\x14Xmtp.MessageContents\xca\x02\x14Xmtp\\MessageContents\xe2\x02 Xmtp\\MessageContents\\GPBMetadata\xea\x02\x15Xmtp::MessageContentsb\x06proto3" var ( file_message_contents_public_key_proto_rawDescOnce sync.Once - file_message_contents_public_key_proto_rawDescData = file_message_contents_public_key_proto_rawDesc + file_message_contents_public_key_proto_rawDescData []byte ) func file_message_contents_public_key_proto_rawDescGZIP() []byte { file_message_contents_public_key_proto_rawDescOnce.Do(func() { - file_message_contents_public_key_proto_rawDescData = protoimpl.X.CompressGZIP(file_message_contents_public_key_proto_rawDescData) + file_message_contents_public_key_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_message_contents_public_key_proto_rawDesc), len(file_message_contents_public_key_proto_rawDesc))) }) return file_message_contents_public_key_proto_rawDescData } @@ -581,7 +527,7 @@ func file_message_contents_public_key_proto_init() { out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), - RawDescriptor: file_message_contents_public_key_proto_rawDesc, + RawDescriptor: unsafe.Slice(unsafe.StringData(file_message_contents_public_key_proto_rawDesc), len(file_message_contents_public_key_proto_rawDesc)), NumEnums: 0, NumMessages: 7, NumExtensions: 0, @@ -592,7 +538,6 @@ func file_message_contents_public_key_proto_init() { MessageInfos: file_message_contents_public_key_proto_msgTypes, }.Build() File_message_contents_public_key_proto = out.File - file_message_contents_public_key_proto_rawDesc = nil file_message_contents_public_key_proto_goTypes = nil file_message_contents_public_key_proto_depIdxs = nil } diff --git a/pkg/proto/message_contents/signature.pb.go b/pkg/proto/message_contents/signature.pb.go index 397268c..b38447e 100644 --- a/pkg/proto/message_contents/signature.pb.go +++ b/pkg/proto/message_contents/signature.pb.go @@ -2,7 +2,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.36.1 +// protoc-gen-go v1.36.10 // protoc (unknown) // source: message_contents/signature.proto @@ -13,6 +13,7 @@ import ( protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" + unsafe "unsafe" ) const ( @@ -217,60 +218,29 @@ func (x *Signature_WalletECDSACompact) GetRecovery() uint32 { var File_message_contents_signature_proto protoreflect.FileDescriptor -var file_message_contents_signature_proto_rawDesc = []byte{ - 0x0a, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, - 0x74, 0x73, 0x2f, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x2e, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x12, 0x15, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, - 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x22, 0xdd, 0x02, 0x0a, 0x09, 0x53, 0x69, - 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x12, 0x54, 0x0a, 0x0d, 0x65, 0x63, 0x64, 0x73, 0x61, - 0x5f, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x63, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, - 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6f, - 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x2e, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, - 0x2e, 0x45, 0x43, 0x44, 0x53, 0x41, 0x43, 0x6f, 0x6d, 0x70, 0x61, 0x63, 0x74, 0x48, 0x00, 0x52, - 0x0c, 0x65, 0x63, 0x64, 0x73, 0x61, 0x43, 0x6f, 0x6d, 0x70, 0x61, 0x63, 0x74, 0x12, 0x67, 0x0a, - 0x14, 0x77, 0x61, 0x6c, 0x6c, 0x65, 0x74, 0x5f, 0x65, 0x63, 0x64, 0x73, 0x61, 0x5f, 0x63, 0x6f, - 0x6d, 0x70, 0x61, 0x63, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x78, 0x6d, - 0x74, 0x70, 0x2e, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, - 0x6e, 0x74, 0x73, 0x2e, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x2e, 0x57, 0x61, - 0x6c, 0x6c, 0x65, 0x74, 0x45, 0x43, 0x44, 0x53, 0x41, 0x43, 0x6f, 0x6d, 0x70, 0x61, 0x63, 0x74, - 0x48, 0x00, 0x52, 0x12, 0x77, 0x61, 0x6c, 0x6c, 0x65, 0x74, 0x45, 0x63, 0x64, 0x73, 0x61, 0x43, - 0x6f, 0x6d, 0x70, 0x61, 0x63, 0x74, 0x1a, 0x40, 0x0a, 0x0c, 0x45, 0x43, 0x44, 0x53, 0x41, 0x43, - 0x6f, 0x6d, 0x70, 0x61, 0x63, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x05, 0x62, 0x79, 0x74, 0x65, 0x73, 0x12, 0x1a, 0x0a, 0x08, - 0x72, 0x65, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, - 0x72, 0x65, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x1a, 0x46, 0x0a, 0x12, 0x57, 0x61, 0x6c, 0x6c, - 0x65, 0x74, 0x45, 0x43, 0x44, 0x53, 0x41, 0x43, 0x6f, 0x6d, 0x70, 0x61, 0x63, 0x74, 0x12, 0x14, - 0x0a, 0x05, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x05, 0x62, - 0x79, 0x74, 0x65, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x72, 0x65, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x72, 0x65, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, - 0x42, 0x07, 0x0a, 0x05, 0x75, 0x6e, 0x69, 0x6f, 0x6e, 0x42, 0x81, 0x02, 0x0a, 0x33, 0x6f, 0x72, - 0x67, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x61, 0x6e, 0x64, 0x72, 0x6f, 0x69, 0x64, 0x2e, 0x6c, - 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x2e, 0x70, 0x75, 0x73, 0x68, 0x2e, 0x78, 0x6d, 0x74, 0x70, - 0x2e, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, - 0x73, 0x42, 0x0e, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x50, 0x72, 0x6f, 0x74, - 0x6f, 0x50, 0x01, 0x5a, 0x49, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, - 0x78, 0x6d, 0x74, 0x70, 0x2f, 0x65, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x2d, 0x6e, 0x6f, 0x74, - 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2d, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, - 0x2d, 0x67, 0x6f, 0x2f, 0x70, 0x6b, 0x67, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x6d, 0x65, - 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0xa2, 0x02, - 0x03, 0x58, 0x4d, 0x58, 0xaa, 0x02, 0x14, 0x58, 0x6d, 0x74, 0x70, 0x2e, 0x4d, 0x65, 0x73, 0x73, - 0x61, 0x67, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0xca, 0x02, 0x14, 0x58, 0x6d, - 0x74, 0x70, 0x5c, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, - 0x74, 0x73, 0xe2, 0x02, 0x20, 0x58, 0x6d, 0x74, 0x70, 0x5c, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, - 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, - 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x15, 0x58, 0x6d, 0x74, 0x70, 0x3a, 0x3a, 0x4d, 0x65, - 0x73, 0x73, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x62, 0x06, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x33, -} +const file_message_contents_signature_proto_rawDesc = "" + + "\n" + + " message_contents/signature.proto\x12\x15xmtp.message_contents\"\xdd\x02\n" + + "\tSignature\x12T\n" + + "\recdsa_compact\x18\x01 \x01(\v2-.xmtp.message_contents.Signature.ECDSACompactH\x00R\fecdsaCompact\x12g\n" + + "\x14wallet_ecdsa_compact\x18\x02 \x01(\v23.xmtp.message_contents.Signature.WalletECDSACompactH\x00R\x12walletEcdsaCompact\x1a@\n" + + "\fECDSACompact\x12\x14\n" + + "\x05bytes\x18\x01 \x01(\fR\x05bytes\x12\x1a\n" + + "\brecovery\x18\x02 \x01(\rR\brecovery\x1aF\n" + + "\x12WalletECDSACompact\x12\x14\n" + + "\x05bytes\x18\x01 \x01(\fR\x05bytes\x12\x1a\n" + + "\brecovery\x18\x02 \x01(\rR\brecoveryB\a\n" + + "\x05unionB\x81\x02\n" + + "3org.xmtp.android.library.push.xmtp.message_contentsB\x0eSignatureProtoP\x01ZIgithub.com/xmtp/example-notification-server-go/pkg/proto/message_contents\xa2\x02\x03XMX\xaa\x02\x14Xmtp.MessageContents\xca\x02\x14Xmtp\\MessageContents\xe2\x02 Xmtp\\MessageContents\\GPBMetadata\xea\x02\x15Xmtp::MessageContentsb\x06proto3" var ( file_message_contents_signature_proto_rawDescOnce sync.Once - file_message_contents_signature_proto_rawDescData = file_message_contents_signature_proto_rawDesc + file_message_contents_signature_proto_rawDescData []byte ) func file_message_contents_signature_proto_rawDescGZIP() []byte { file_message_contents_signature_proto_rawDescOnce.Do(func() { - file_message_contents_signature_proto_rawDescData = protoimpl.X.CompressGZIP(file_message_contents_signature_proto_rawDescData) + file_message_contents_signature_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_message_contents_signature_proto_rawDesc), len(file_message_contents_signature_proto_rawDesc))) }) return file_message_contents_signature_proto_rawDescData } @@ -304,7 +274,7 @@ func file_message_contents_signature_proto_init() { out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), - RawDescriptor: file_message_contents_signature_proto_rawDesc, + RawDescriptor: unsafe.Slice(unsafe.StringData(file_message_contents_signature_proto_rawDesc), len(file_message_contents_signature_proto_rawDesc)), NumEnums: 0, NumMessages: 3, NumExtensions: 0, @@ -315,7 +285,6 @@ func file_message_contents_signature_proto_init() { MessageInfos: file_message_contents_signature_proto_msgTypes, }.Build() File_message_contents_signature_proto = out.File - file_message_contents_signature_proto_rawDesc = nil file_message_contents_signature_proto_goTypes = nil file_message_contents_signature_proto_depIdxs = nil } diff --git a/pkg/proto/message_contents/signed_payload.pb.go b/pkg/proto/message_contents/signed_payload.pb.go index 08ea775..6c41805 100644 --- a/pkg/proto/message_contents/signed_payload.pb.go +++ b/pkg/proto/message_contents/signed_payload.pb.go @@ -2,7 +2,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.36.1 +// protoc-gen-go v1.36.10 // protoc (unknown) // source: message_contents/signed_payload.proto @@ -13,6 +13,7 @@ import ( protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" + unsafe "unsafe" ) const ( @@ -77,47 +78,22 @@ func (x *SignedPayload) GetSignature() *Signature { var File_message_contents_signed_payload_proto protoreflect.FileDescriptor -var file_message_contents_signed_payload_proto_rawDesc = []byte{ - 0x0a, 0x25, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, - 0x74, 0x73, 0x2f, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x5f, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, - 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x15, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x6d, 0x65, - 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x1a, 0x20, - 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, - 0x2f, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x22, 0x69, 0x0a, 0x0d, 0x53, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, - 0x64, 0x12, 0x18, 0x0a, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x0c, 0x52, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x3e, 0x0a, 0x09, 0x73, - 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, - 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6f, - 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x2e, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, - 0x52, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x42, 0x85, 0x02, 0x0a, 0x33, - 0x6f, 0x72, 0x67, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x61, 0x6e, 0x64, 0x72, 0x6f, 0x69, 0x64, - 0x2e, 0x6c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x2e, 0x70, 0x75, 0x73, 0x68, 0x2e, 0x78, 0x6d, - 0x74, 0x70, 0x2e, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, - 0x6e, 0x74, 0x73, 0x42, 0x12, 0x53, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x50, 0x61, 0x79, 0x6c, 0x6f, - 0x61, 0x64, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x49, 0x67, 0x69, 0x74, 0x68, 0x75, - 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x78, 0x6d, 0x74, 0x70, 0x2f, 0x65, 0x78, 0x61, 0x6d, 0x70, - 0x6c, 0x65, 0x2d, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2d, - 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2d, 0x67, 0x6f, 0x2f, 0x70, 0x6b, 0x67, 0x2f, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x2f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x74, - 0x65, 0x6e, 0x74, 0x73, 0xa2, 0x02, 0x03, 0x58, 0x4d, 0x58, 0xaa, 0x02, 0x14, 0x58, 0x6d, 0x74, - 0x70, 0x2e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, - 0x73, 0xca, 0x02, 0x14, 0x58, 0x6d, 0x74, 0x70, 0x5c, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, - 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0xe2, 0x02, 0x20, 0x58, 0x6d, 0x74, 0x70, 0x5c, - 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x5c, - 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x15, 0x58, 0x6d, - 0x74, 0x70, 0x3a, 0x3a, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, - 0x6e, 0x74, 0x73, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, -} +const file_message_contents_signed_payload_proto_rawDesc = "" + + "\n" + + "%message_contents/signed_payload.proto\x12\x15xmtp.message_contents\x1a message_contents/signature.proto\"i\n" + + "\rSignedPayload\x12\x18\n" + + "\apayload\x18\x01 \x01(\fR\apayload\x12>\n" + + "\tsignature\x18\x02 \x01(\v2 .xmtp.message_contents.SignatureR\tsignatureB\x85\x02\n" + + "3org.xmtp.android.library.push.xmtp.message_contentsB\x12SignedPayloadProtoP\x01ZIgithub.com/xmtp/example-notification-server-go/pkg/proto/message_contents\xa2\x02\x03XMX\xaa\x02\x14Xmtp.MessageContents\xca\x02\x14Xmtp\\MessageContents\xe2\x02 Xmtp\\MessageContents\\GPBMetadata\xea\x02\x15Xmtp::MessageContentsb\x06proto3" var ( file_message_contents_signed_payload_proto_rawDescOnce sync.Once - file_message_contents_signed_payload_proto_rawDescData = file_message_contents_signed_payload_proto_rawDesc + file_message_contents_signed_payload_proto_rawDescData []byte ) func file_message_contents_signed_payload_proto_rawDescGZIP() []byte { file_message_contents_signed_payload_proto_rawDescOnce.Do(func() { - file_message_contents_signed_payload_proto_rawDescData = protoimpl.X.CompressGZIP(file_message_contents_signed_payload_proto_rawDescData) + file_message_contents_signed_payload_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_message_contents_signed_payload_proto_rawDesc), len(file_message_contents_signed_payload_proto_rawDesc))) }) return file_message_contents_signed_payload_proto_rawDescData } @@ -146,7 +122,7 @@ func file_message_contents_signed_payload_proto_init() { out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), - RawDescriptor: file_message_contents_signed_payload_proto_rawDesc, + RawDescriptor: unsafe.Slice(unsafe.StringData(file_message_contents_signed_payload_proto_rawDesc), len(file_message_contents_signed_payload_proto_rawDesc)), NumEnums: 0, NumMessages: 1, NumExtensions: 0, @@ -157,7 +133,6 @@ func file_message_contents_signed_payload_proto_init() { MessageInfos: file_message_contents_signed_payload_proto_msgTypes, }.Build() File_message_contents_signed_payload_proto = out.File - file_message_contents_signed_payload_proto_rawDesc = nil file_message_contents_signed_payload_proto_goTypes = nil file_message_contents_signed_payload_proto_depIdxs = nil } diff --git a/pkg/proto/mls/api/v1/mls.pb.go b/pkg/proto/mls/api/v1/mls.pb.go index b2ac204..cc1ca3b 100644 --- a/pkg/proto/mls/api/v1/mls.pb.go +++ b/pkg/proto/mls/api/v1/mls.pb.go @@ -2,7 +2,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.36.5 +// protoc-gen-go v1.36.10 // protoc (unknown) // source: mls/api/v1/mls.proto @@ -10,7 +10,9 @@ package apiv1 import ( _ "github.com/grpc-ecosystem/grpc-gateway/v2/protoc-gen-openapiv2/options" + associations "github.com/xmtp/example-notification-server-go/pkg/proto/identity/associations" message_contents "github.com/xmtp/example-notification-server-go/pkg/proto/message_contents" + message_contents1 "github.com/xmtp/example-notification-server-go/pkg/proto/mls/message_contents" _ "google.golang.org/genproto/googleapis/api/annotations" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" @@ -83,6 +85,7 @@ type WelcomeMessage struct { // Types that are valid to be assigned to Version: // // *WelcomeMessage_V1_ + // *WelcomeMessage_WelcomePointer_ Version isWelcomeMessage_Version `protobuf_oneof:"version"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache @@ -134,6 +137,15 @@ func (x *WelcomeMessage) GetV1() *WelcomeMessage_V1 { return nil } +func (x *WelcomeMessage) GetWelcomePointer() *WelcomeMessage_WelcomePointer { + if x != nil { + if x, ok := x.Version.(*WelcomeMessage_WelcomePointer_); ok { + return x.WelcomePointer + } + } + return nil +} + type isWelcomeMessage_Version interface { isWelcomeMessage_Version() } @@ -142,14 +154,21 @@ type WelcomeMessage_V1_ struct { V1 *WelcomeMessage_V1 `protobuf:"bytes,1,opt,name=v1,proto3,oneof"` } +type WelcomeMessage_WelcomePointer_ struct { + WelcomePointer *WelcomeMessage_WelcomePointer `protobuf:"bytes,2,opt,name=welcome_pointer,json=welcomePointer,proto3,oneof"` +} + func (*WelcomeMessage_V1_) isWelcomeMessage_Version() {} +func (*WelcomeMessage_WelcomePointer_) isWelcomeMessage_Version() {} + // Input type for a welcome message type WelcomeMessageInput struct { state protoimpl.MessageState `protogen:"open.v1"` // Types that are valid to be assigned to Version: // // *WelcomeMessageInput_V1_ + // *WelcomeMessageInput_WelcomePointer_ Version isWelcomeMessageInput_Version `protobuf_oneof:"version"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache @@ -201,6 +220,15 @@ func (x *WelcomeMessageInput) GetV1() *WelcomeMessageInput_V1 { return nil } +func (x *WelcomeMessageInput) GetWelcomePointer() *WelcomeMessageInput_WelcomePointer { + if x != nil { + if x, ok := x.Version.(*WelcomeMessageInput_WelcomePointer_); ok { + return x.WelcomePointer + } + } + return nil +} + type isWelcomeMessageInput_Version interface { isWelcomeMessageInput_Version() } @@ -209,8 +237,59 @@ type WelcomeMessageInput_V1_ struct { V1 *WelcomeMessageInput_V1 `protobuf:"bytes,1,opt,name=v1,proto3,oneof"` } +type WelcomeMessageInput_WelcomePointer_ struct { + WelcomePointer *WelcomeMessageInput_WelcomePointer `protobuf:"bytes,2,opt,name=welcome_pointer,json=welcomePointer,proto3,oneof"` +} + func (*WelcomeMessageInput_V1_) isWelcomeMessageInput_Version() {} +func (*WelcomeMessageInput_WelcomePointer_) isWelcomeMessageInput_Version() {} + +// This field is encrypted along with the `data` field on the welcome message. +type WelcomeMetadata struct { + state protoimpl.MessageState `protogen:"open.v1"` + MessageCursor uint64 `protobuf:"varint,1,opt,name=message_cursor,json=messageCursor,proto3" json:"message_cursor,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *WelcomeMetadata) Reset() { + *x = WelcomeMetadata{} + mi := &file_mls_api_v1_mls_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *WelcomeMetadata) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*WelcomeMetadata) ProtoMessage() {} + +func (x *WelcomeMetadata) ProtoReflect() protoreflect.Message { + mi := &file_mls_api_v1_mls_proto_msgTypes[2] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use WelcomeMetadata.ProtoReflect.Descriptor instead. +func (*WelcomeMetadata) Descriptor() ([]byte, []int) { + return file_mls_api_v1_mls_proto_rawDescGZIP(), []int{2} +} + +func (x *WelcomeMetadata) GetMessageCursor() uint64 { + if x != nil { + return x.MessageCursor + } + return 0 +} + // Full representation of a group message type GroupMessage struct { state protoimpl.MessageState `protogen:"open.v1"` @@ -224,7 +303,7 @@ type GroupMessage struct { func (x *GroupMessage) Reset() { *x = GroupMessage{} - mi := &file_mls_api_v1_mls_proto_msgTypes[2] + mi := &file_mls_api_v1_mls_proto_msgTypes[3] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -236,7 +315,7 @@ func (x *GroupMessage) String() string { func (*GroupMessage) ProtoMessage() {} func (x *GroupMessage) ProtoReflect() protoreflect.Message { - mi := &file_mls_api_v1_mls_proto_msgTypes[2] + mi := &file_mls_api_v1_mls_proto_msgTypes[3] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -249,7 +328,7 @@ func (x *GroupMessage) ProtoReflect() protoreflect.Message { // Deprecated: Use GroupMessage.ProtoReflect.Descriptor instead. func (*GroupMessage) Descriptor() ([]byte, []int) { - return file_mls_api_v1_mls_proto_rawDescGZIP(), []int{2} + return file_mls_api_v1_mls_proto_rawDescGZIP(), []int{3} } func (x *GroupMessage) GetVersion() isGroupMessage_Version { @@ -291,7 +370,7 @@ type GroupMessageInput struct { func (x *GroupMessageInput) Reset() { *x = GroupMessageInput{} - mi := &file_mls_api_v1_mls_proto_msgTypes[3] + mi := &file_mls_api_v1_mls_proto_msgTypes[4] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -303,7 +382,7 @@ func (x *GroupMessageInput) String() string { func (*GroupMessageInput) ProtoMessage() {} func (x *GroupMessageInput) ProtoReflect() protoreflect.Message { - mi := &file_mls_api_v1_mls_proto_msgTypes[3] + mi := &file_mls_api_v1_mls_proto_msgTypes[4] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -316,7 +395,7 @@ func (x *GroupMessageInput) ProtoReflect() protoreflect.Message { // Deprecated: Use GroupMessageInput.ProtoReflect.Descriptor instead. func (*GroupMessageInput) Descriptor() ([]byte, []int) { - return file_mls_api_v1_mls_proto_rawDescGZIP(), []int{3} + return file_mls_api_v1_mls_proto_rawDescGZIP(), []int{4} } func (x *GroupMessageInput) GetVersion() isGroupMessageInput_Version { @@ -355,7 +434,7 @@ type SendGroupMessagesRequest struct { func (x *SendGroupMessagesRequest) Reset() { *x = SendGroupMessagesRequest{} - mi := &file_mls_api_v1_mls_proto_msgTypes[4] + mi := &file_mls_api_v1_mls_proto_msgTypes[5] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -367,7 +446,7 @@ func (x *SendGroupMessagesRequest) String() string { func (*SendGroupMessagesRequest) ProtoMessage() {} func (x *SendGroupMessagesRequest) ProtoReflect() protoreflect.Message { - mi := &file_mls_api_v1_mls_proto_msgTypes[4] + mi := &file_mls_api_v1_mls_proto_msgTypes[5] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -380,7 +459,7 @@ func (x *SendGroupMessagesRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use SendGroupMessagesRequest.ProtoReflect.Descriptor instead. func (*SendGroupMessagesRequest) Descriptor() ([]byte, []int) { - return file_mls_api_v1_mls_proto_rawDescGZIP(), []int{4} + return file_mls_api_v1_mls_proto_rawDescGZIP(), []int{5} } func (x *SendGroupMessagesRequest) GetMessages() []*GroupMessageInput { @@ -400,7 +479,7 @@ type SendWelcomeMessagesRequest struct { func (x *SendWelcomeMessagesRequest) Reset() { *x = SendWelcomeMessagesRequest{} - mi := &file_mls_api_v1_mls_proto_msgTypes[5] + mi := &file_mls_api_v1_mls_proto_msgTypes[6] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -412,7 +491,7 @@ func (x *SendWelcomeMessagesRequest) String() string { func (*SendWelcomeMessagesRequest) ProtoMessage() {} func (x *SendWelcomeMessagesRequest) ProtoReflect() protoreflect.Message { - mi := &file_mls_api_v1_mls_proto_msgTypes[5] + mi := &file_mls_api_v1_mls_proto_msgTypes[6] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -425,7 +504,7 @@ func (x *SendWelcomeMessagesRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use SendWelcomeMessagesRequest.ProtoReflect.Descriptor instead. func (*SendWelcomeMessagesRequest) Descriptor() ([]byte, []int) { - return file_mls_api_v1_mls_proto_rawDescGZIP(), []int{5} + return file_mls_api_v1_mls_proto_rawDescGZIP(), []int{6} } func (x *SendWelcomeMessagesRequest) GetMessages() []*WelcomeMessageInput { @@ -447,7 +526,7 @@ type KeyPackageUpload struct { func (x *KeyPackageUpload) Reset() { *x = KeyPackageUpload{} - mi := &file_mls_api_v1_mls_proto_msgTypes[6] + mi := &file_mls_api_v1_mls_proto_msgTypes[7] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -459,7 +538,7 @@ func (x *KeyPackageUpload) String() string { func (*KeyPackageUpload) ProtoMessage() {} func (x *KeyPackageUpload) ProtoReflect() protoreflect.Message { - mi := &file_mls_api_v1_mls_proto_msgTypes[6] + mi := &file_mls_api_v1_mls_proto_msgTypes[7] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -472,7 +551,7 @@ func (x *KeyPackageUpload) ProtoReflect() protoreflect.Message { // Deprecated: Use KeyPackageUpload.ProtoReflect.Descriptor instead. func (*KeyPackageUpload) Descriptor() ([]byte, []int) { - return file_mls_api_v1_mls_proto_rawDescGZIP(), []int{6} + return file_mls_api_v1_mls_proto_rawDescGZIP(), []int{7} } func (x *KeyPackageUpload) GetKeyPackageTlsSerialized() []byte { @@ -494,7 +573,7 @@ type RegisterInstallationRequest struct { func (x *RegisterInstallationRequest) Reset() { *x = RegisterInstallationRequest{} - mi := &file_mls_api_v1_mls_proto_msgTypes[7] + mi := &file_mls_api_v1_mls_proto_msgTypes[8] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -506,7 +585,7 @@ func (x *RegisterInstallationRequest) String() string { func (*RegisterInstallationRequest) ProtoMessage() {} func (x *RegisterInstallationRequest) ProtoReflect() protoreflect.Message { - mi := &file_mls_api_v1_mls_proto_msgTypes[7] + mi := &file_mls_api_v1_mls_proto_msgTypes[8] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -519,7 +598,7 @@ func (x *RegisterInstallationRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use RegisterInstallationRequest.ProtoReflect.Descriptor instead. func (*RegisterInstallationRequest) Descriptor() ([]byte, []int) { - return file_mls_api_v1_mls_proto_rawDescGZIP(), []int{7} + return file_mls_api_v1_mls_proto_rawDescGZIP(), []int{8} } func (x *RegisterInstallationRequest) GetKeyPackage() *KeyPackageUpload { @@ -546,7 +625,7 @@ type RegisterInstallationResponse struct { func (x *RegisterInstallationResponse) Reset() { *x = RegisterInstallationResponse{} - mi := &file_mls_api_v1_mls_proto_msgTypes[8] + mi := &file_mls_api_v1_mls_proto_msgTypes[9] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -558,7 +637,7 @@ func (x *RegisterInstallationResponse) String() string { func (*RegisterInstallationResponse) ProtoMessage() {} func (x *RegisterInstallationResponse) ProtoReflect() protoreflect.Message { - mi := &file_mls_api_v1_mls_proto_msgTypes[8] + mi := &file_mls_api_v1_mls_proto_msgTypes[9] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -571,7 +650,7 @@ func (x *RegisterInstallationResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use RegisterInstallationResponse.ProtoReflect.Descriptor instead. func (*RegisterInstallationResponse) Descriptor() ([]byte, []int) { - return file_mls_api_v1_mls_proto_rawDescGZIP(), []int{8} + return file_mls_api_v1_mls_proto_rawDescGZIP(), []int{9} } func (x *RegisterInstallationResponse) GetInstallationKey() []byte { @@ -593,7 +672,7 @@ type UploadKeyPackageRequest struct { func (x *UploadKeyPackageRequest) Reset() { *x = UploadKeyPackageRequest{} - mi := &file_mls_api_v1_mls_proto_msgTypes[9] + mi := &file_mls_api_v1_mls_proto_msgTypes[10] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -605,7 +684,7 @@ func (x *UploadKeyPackageRequest) String() string { func (*UploadKeyPackageRequest) ProtoMessage() {} func (x *UploadKeyPackageRequest) ProtoReflect() protoreflect.Message { - mi := &file_mls_api_v1_mls_proto_msgTypes[9] + mi := &file_mls_api_v1_mls_proto_msgTypes[10] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -618,7 +697,7 @@ func (x *UploadKeyPackageRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use UploadKeyPackageRequest.ProtoReflect.Descriptor instead. func (*UploadKeyPackageRequest) Descriptor() ([]byte, []int) { - return file_mls_api_v1_mls_proto_rawDescGZIP(), []int{9} + return file_mls_api_v1_mls_proto_rawDescGZIP(), []int{10} } func (x *UploadKeyPackageRequest) GetKeyPackage() *KeyPackageUpload { @@ -648,7 +727,7 @@ type FetchKeyPackagesRequest struct { func (x *FetchKeyPackagesRequest) Reset() { *x = FetchKeyPackagesRequest{} - mi := &file_mls_api_v1_mls_proto_msgTypes[10] + mi := &file_mls_api_v1_mls_proto_msgTypes[11] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -660,7 +739,7 @@ func (x *FetchKeyPackagesRequest) String() string { func (*FetchKeyPackagesRequest) ProtoMessage() {} func (x *FetchKeyPackagesRequest) ProtoReflect() protoreflect.Message { - mi := &file_mls_api_v1_mls_proto_msgTypes[10] + mi := &file_mls_api_v1_mls_proto_msgTypes[11] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -673,7 +752,7 @@ func (x *FetchKeyPackagesRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use FetchKeyPackagesRequest.ProtoReflect.Descriptor instead. func (*FetchKeyPackagesRequest) Descriptor() ([]byte, []int) { - return file_mls_api_v1_mls_proto_rawDescGZIP(), []int{10} + return file_mls_api_v1_mls_proto_rawDescGZIP(), []int{11} } func (x *FetchKeyPackagesRequest) GetInstallationKeys() [][]byte { @@ -696,7 +775,7 @@ type FetchKeyPackagesResponse struct { func (x *FetchKeyPackagesResponse) Reset() { *x = FetchKeyPackagesResponse{} - mi := &file_mls_api_v1_mls_proto_msgTypes[11] + mi := &file_mls_api_v1_mls_proto_msgTypes[12] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -708,7 +787,7 @@ func (x *FetchKeyPackagesResponse) String() string { func (*FetchKeyPackagesResponse) ProtoMessage() {} func (x *FetchKeyPackagesResponse) ProtoReflect() protoreflect.Message { - mi := &file_mls_api_v1_mls_proto_msgTypes[11] + mi := &file_mls_api_v1_mls_proto_msgTypes[12] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -721,7 +800,7 @@ func (x *FetchKeyPackagesResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use FetchKeyPackagesResponse.ProtoReflect.Descriptor instead. func (*FetchKeyPackagesResponse) Descriptor() ([]byte, []int) { - return file_mls_api_v1_mls_proto_rawDescGZIP(), []int{11} + return file_mls_api_v1_mls_proto_rawDescGZIP(), []int{12} } func (x *FetchKeyPackagesResponse) GetKeyPackages() []*FetchKeyPackagesResponse_KeyPackage { @@ -744,7 +823,7 @@ type RevokeInstallationRequest struct { func (x *RevokeInstallationRequest) Reset() { *x = RevokeInstallationRequest{} - mi := &file_mls_api_v1_mls_proto_msgTypes[12] + mi := &file_mls_api_v1_mls_proto_msgTypes[13] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -756,7 +835,7 @@ func (x *RevokeInstallationRequest) String() string { func (*RevokeInstallationRequest) ProtoMessage() {} func (x *RevokeInstallationRequest) ProtoReflect() protoreflect.Message { - mi := &file_mls_api_v1_mls_proto_msgTypes[12] + mi := &file_mls_api_v1_mls_proto_msgTypes[13] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -769,7 +848,7 @@ func (x *RevokeInstallationRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use RevokeInstallationRequest.ProtoReflect.Descriptor instead. func (*RevokeInstallationRequest) Descriptor() ([]byte, []int) { - return file_mls_api_v1_mls_proto_rawDescGZIP(), []int{12} + return file_mls_api_v1_mls_proto_rawDescGZIP(), []int{13} } func (x *RevokeInstallationRequest) GetInstallationKey() []byte { @@ -797,7 +876,7 @@ type GetIdentityUpdatesRequest struct { func (x *GetIdentityUpdatesRequest) Reset() { *x = GetIdentityUpdatesRequest{} - mi := &file_mls_api_v1_mls_proto_msgTypes[13] + mi := &file_mls_api_v1_mls_proto_msgTypes[14] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -809,7 +888,7 @@ func (x *GetIdentityUpdatesRequest) String() string { func (*GetIdentityUpdatesRequest) ProtoMessage() {} func (x *GetIdentityUpdatesRequest) ProtoReflect() protoreflect.Message { - mi := &file_mls_api_v1_mls_proto_msgTypes[13] + mi := &file_mls_api_v1_mls_proto_msgTypes[14] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -822,7 +901,7 @@ func (x *GetIdentityUpdatesRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetIdentityUpdatesRequest.ProtoReflect.Descriptor instead. func (*GetIdentityUpdatesRequest) Descriptor() ([]byte, []int) { - return file_mls_api_v1_mls_proto_rawDescGZIP(), []int{13} + return file_mls_api_v1_mls_proto_rawDescGZIP(), []int{14} } func (x *GetIdentityUpdatesRequest) GetAccountAddresses() []string { @@ -851,7 +930,7 @@ type GetIdentityUpdatesResponse struct { func (x *GetIdentityUpdatesResponse) Reset() { *x = GetIdentityUpdatesResponse{} - mi := &file_mls_api_v1_mls_proto_msgTypes[14] + mi := &file_mls_api_v1_mls_proto_msgTypes[15] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -863,7 +942,7 @@ func (x *GetIdentityUpdatesResponse) String() string { func (*GetIdentityUpdatesResponse) ProtoMessage() {} func (x *GetIdentityUpdatesResponse) ProtoReflect() protoreflect.Message { - mi := &file_mls_api_v1_mls_proto_msgTypes[14] + mi := &file_mls_api_v1_mls_proto_msgTypes[15] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -876,7 +955,7 @@ func (x *GetIdentityUpdatesResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use GetIdentityUpdatesResponse.ProtoReflect.Descriptor instead. func (*GetIdentityUpdatesResponse) Descriptor() ([]byte, []int) { - return file_mls_api_v1_mls_proto_rawDescGZIP(), []int{14} + return file_mls_api_v1_mls_proto_rawDescGZIP(), []int{15} } func (x *GetIdentityUpdatesResponse) GetUpdates() []*GetIdentityUpdatesResponse_WalletUpdates { @@ -898,7 +977,7 @@ type PagingInfo struct { func (x *PagingInfo) Reset() { *x = PagingInfo{} - mi := &file_mls_api_v1_mls_proto_msgTypes[15] + mi := &file_mls_api_v1_mls_proto_msgTypes[16] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -910,7 +989,7 @@ func (x *PagingInfo) String() string { func (*PagingInfo) ProtoMessage() {} func (x *PagingInfo) ProtoReflect() protoreflect.Message { - mi := &file_mls_api_v1_mls_proto_msgTypes[15] + mi := &file_mls_api_v1_mls_proto_msgTypes[16] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -923,7 +1002,7 @@ func (x *PagingInfo) ProtoReflect() protoreflect.Message { // Deprecated: Use PagingInfo.ProtoReflect.Descriptor instead. func (*PagingInfo) Descriptor() ([]byte, []int) { - return file_mls_api_v1_mls_proto_rawDescGZIP(), []int{15} + return file_mls_api_v1_mls_proto_rawDescGZIP(), []int{16} } func (x *PagingInfo) GetDirection() SortDirection { @@ -958,7 +1037,7 @@ type QueryGroupMessagesRequest struct { func (x *QueryGroupMessagesRequest) Reset() { *x = QueryGroupMessagesRequest{} - mi := &file_mls_api_v1_mls_proto_msgTypes[16] + mi := &file_mls_api_v1_mls_proto_msgTypes[17] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -970,7 +1049,7 @@ func (x *QueryGroupMessagesRequest) String() string { func (*QueryGroupMessagesRequest) ProtoMessage() {} func (x *QueryGroupMessagesRequest) ProtoReflect() protoreflect.Message { - mi := &file_mls_api_v1_mls_proto_msgTypes[16] + mi := &file_mls_api_v1_mls_proto_msgTypes[17] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -983,7 +1062,7 @@ func (x *QueryGroupMessagesRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use QueryGroupMessagesRequest.ProtoReflect.Descriptor instead. func (*QueryGroupMessagesRequest) Descriptor() ([]byte, []int) { - return file_mls_api_v1_mls_proto_rawDescGZIP(), []int{16} + return file_mls_api_v1_mls_proto_rawDescGZIP(), []int{17} } func (x *QueryGroupMessagesRequest) GetGroupId() []byte { @@ -1011,7 +1090,7 @@ type QueryGroupMessagesResponse struct { func (x *QueryGroupMessagesResponse) Reset() { *x = QueryGroupMessagesResponse{} - mi := &file_mls_api_v1_mls_proto_msgTypes[17] + mi := &file_mls_api_v1_mls_proto_msgTypes[18] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1023,7 +1102,7 @@ func (x *QueryGroupMessagesResponse) String() string { func (*QueryGroupMessagesResponse) ProtoMessage() {} func (x *QueryGroupMessagesResponse) ProtoReflect() protoreflect.Message { - mi := &file_mls_api_v1_mls_proto_msgTypes[17] + mi := &file_mls_api_v1_mls_proto_msgTypes[18] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1036,7 +1115,7 @@ func (x *QueryGroupMessagesResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use QueryGroupMessagesResponse.ProtoReflect.Descriptor instead. func (*QueryGroupMessagesResponse) Descriptor() ([]byte, []int) { - return file_mls_api_v1_mls_proto_rawDescGZIP(), []int{17} + return file_mls_api_v1_mls_proto_rawDescGZIP(), []int{18} } func (x *QueryGroupMessagesResponse) GetMessages() []*GroupMessage { @@ -1064,7 +1143,7 @@ type QueryWelcomeMessagesRequest struct { func (x *QueryWelcomeMessagesRequest) Reset() { *x = QueryWelcomeMessagesRequest{} - mi := &file_mls_api_v1_mls_proto_msgTypes[18] + mi := &file_mls_api_v1_mls_proto_msgTypes[19] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1076,7 +1155,7 @@ func (x *QueryWelcomeMessagesRequest) String() string { func (*QueryWelcomeMessagesRequest) ProtoMessage() {} func (x *QueryWelcomeMessagesRequest) ProtoReflect() protoreflect.Message { - mi := &file_mls_api_v1_mls_proto_msgTypes[18] + mi := &file_mls_api_v1_mls_proto_msgTypes[19] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1089,7 +1168,7 @@ func (x *QueryWelcomeMessagesRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use QueryWelcomeMessagesRequest.ProtoReflect.Descriptor instead. func (*QueryWelcomeMessagesRequest) Descriptor() ([]byte, []int) { - return file_mls_api_v1_mls_proto_rawDescGZIP(), []int{18} + return file_mls_api_v1_mls_proto_rawDescGZIP(), []int{19} } func (x *QueryWelcomeMessagesRequest) GetInstallationKey() []byte { @@ -1117,7 +1196,7 @@ type QueryWelcomeMessagesResponse struct { func (x *QueryWelcomeMessagesResponse) Reset() { *x = QueryWelcomeMessagesResponse{} - mi := &file_mls_api_v1_mls_proto_msgTypes[19] + mi := &file_mls_api_v1_mls_proto_msgTypes[20] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1129,7 +1208,7 @@ func (x *QueryWelcomeMessagesResponse) String() string { func (*QueryWelcomeMessagesResponse) ProtoMessage() {} func (x *QueryWelcomeMessagesResponse) ProtoReflect() protoreflect.Message { - mi := &file_mls_api_v1_mls_proto_msgTypes[19] + mi := &file_mls_api_v1_mls_proto_msgTypes[20] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1142,7 +1221,7 @@ func (x *QueryWelcomeMessagesResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use QueryWelcomeMessagesResponse.ProtoReflect.Descriptor instead. func (*QueryWelcomeMessagesResponse) Descriptor() ([]byte, []int) { - return file_mls_api_v1_mls_proto_rawDescGZIP(), []int{19} + return file_mls_api_v1_mls_proto_rawDescGZIP(), []int{20} } func (x *QueryWelcomeMessagesResponse) GetMessages() []*WelcomeMessage { @@ -1169,7 +1248,7 @@ type SubscribeGroupMessagesRequest struct { func (x *SubscribeGroupMessagesRequest) Reset() { *x = SubscribeGroupMessagesRequest{} - mi := &file_mls_api_v1_mls_proto_msgTypes[20] + mi := &file_mls_api_v1_mls_proto_msgTypes[21] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1181,7 +1260,7 @@ func (x *SubscribeGroupMessagesRequest) String() string { func (*SubscribeGroupMessagesRequest) ProtoMessage() {} func (x *SubscribeGroupMessagesRequest) ProtoReflect() protoreflect.Message { - mi := &file_mls_api_v1_mls_proto_msgTypes[20] + mi := &file_mls_api_v1_mls_proto_msgTypes[21] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1194,7 +1273,7 @@ func (x *SubscribeGroupMessagesRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use SubscribeGroupMessagesRequest.ProtoReflect.Descriptor instead. func (*SubscribeGroupMessagesRequest) Descriptor() ([]byte, []int) { - return file_mls_api_v1_mls_proto_rawDescGZIP(), []int{20} + return file_mls_api_v1_mls_proto_rawDescGZIP(), []int{21} } func (x *SubscribeGroupMessagesRequest) GetFilters() []*SubscribeGroupMessagesRequest_Filter { @@ -1214,7 +1293,7 @@ type SubscribeWelcomeMessagesRequest struct { func (x *SubscribeWelcomeMessagesRequest) Reset() { *x = SubscribeWelcomeMessagesRequest{} - mi := &file_mls_api_v1_mls_proto_msgTypes[21] + mi := &file_mls_api_v1_mls_proto_msgTypes[22] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1226,7 +1305,7 @@ func (x *SubscribeWelcomeMessagesRequest) String() string { func (*SubscribeWelcomeMessagesRequest) ProtoMessage() {} func (x *SubscribeWelcomeMessagesRequest) ProtoReflect() protoreflect.Message { - mi := &file_mls_api_v1_mls_proto_msgTypes[21] + mi := &file_mls_api_v1_mls_proto_msgTypes[22] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1239,7 +1318,7 @@ func (x *SubscribeWelcomeMessagesRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use SubscribeWelcomeMessagesRequest.ProtoReflect.Descriptor instead. func (*SubscribeWelcomeMessagesRequest) Descriptor() ([]byte, []int) { - return file_mls_api_v1_mls_proto_rawDescGZIP(), []int{21} + return file_mls_api_v1_mls_proto_rawDescGZIP(), []int{22} } func (x *SubscribeWelcomeMessagesRequest) GetFilters() []*SubscribeWelcomeMessagesRequest_Filter { @@ -1249,33 +1328,28 @@ func (x *SubscribeWelcomeMessagesRequest) GetFilters() []*SubscribeWelcomeMessag return nil } -// Version 1 of the WelcomeMessage format -type WelcomeMessage_V1 struct { - state protoimpl.MessageState `protogen:"open.v1"` - Id uint64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` - CreatedNs uint64 `protobuf:"varint,2,opt,name=created_ns,json=createdNs,proto3" json:"created_ns,omitempty"` - InstallationKey []byte `protobuf:"bytes,3,opt,name=installation_key,json=installationKey,proto3" json:"installation_key,omitempty"` - Data []byte `protobuf:"bytes,4,opt,name=data,proto3" json:"data,omitempty"` - HpkePublicKey []byte `protobuf:"bytes,5,opt,name=hpke_public_key,json=hpkePublicKey,proto3" json:"hpke_public_key,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache +type BatchPublishCommitLogRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + Requests []*PublishCommitLogRequest `protobuf:"bytes,1,rep,name=requests,proto3" json:"requests,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } -func (x *WelcomeMessage_V1) Reset() { - *x = WelcomeMessage_V1{} - mi := &file_mls_api_v1_mls_proto_msgTypes[22] +func (x *BatchPublishCommitLogRequest) Reset() { + *x = BatchPublishCommitLogRequest{} + mi := &file_mls_api_v1_mls_proto_msgTypes[23] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } -func (x *WelcomeMessage_V1) String() string { +func (x *BatchPublishCommitLogRequest) String() string { return protoimpl.X.MessageStringOf(x) } -func (*WelcomeMessage_V1) ProtoMessage() {} +func (*BatchPublishCommitLogRequest) ProtoMessage() {} -func (x *WelcomeMessage_V1) ProtoReflect() protoreflect.Message { - mi := &file_mls_api_v1_mls_proto_msgTypes[22] +func (x *BatchPublishCommitLogRequest) ProtoReflect() protoreflect.Message { + mi := &file_mls_api_v1_mls_proto_msgTypes[23] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1286,71 +1360,101 @@ func (x *WelcomeMessage_V1) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use WelcomeMessage_V1.ProtoReflect.Descriptor instead. -func (*WelcomeMessage_V1) Descriptor() ([]byte, []int) { - return file_mls_api_v1_mls_proto_rawDescGZIP(), []int{0, 0} +// Deprecated: Use BatchPublishCommitLogRequest.ProtoReflect.Descriptor instead. +func (*BatchPublishCommitLogRequest) Descriptor() ([]byte, []int) { + return file_mls_api_v1_mls_proto_rawDescGZIP(), []int{23} } -func (x *WelcomeMessage_V1) GetId() uint64 { +func (x *BatchPublishCommitLogRequest) GetRequests() []*PublishCommitLogRequest { if x != nil { - return x.Id + return x.Requests } - return 0 + return nil } -func (x *WelcomeMessage_V1) GetCreatedNs() uint64 { +type PublishCommitLogRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + GroupId []byte `protobuf:"bytes,1,opt,name=group_id,json=groupId,proto3" json:"group_id,omitempty"` + SerializedCommitLogEntry []byte `protobuf:"bytes,2,opt,name=serialized_commit_log_entry,json=serializedCommitLogEntry,proto3" json:"serialized_commit_log_entry,omitempty"` + Signature *associations.RecoverableEd25519Signature `protobuf:"bytes,3,opt,name=signature,proto3" json:"signature,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *PublishCommitLogRequest) Reset() { + *x = PublishCommitLogRequest{} + mi := &file_mls_api_v1_mls_proto_msgTypes[24] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *PublishCommitLogRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PublishCommitLogRequest) ProtoMessage() {} + +func (x *PublishCommitLogRequest) ProtoReflect() protoreflect.Message { + mi := &file_mls_api_v1_mls_proto_msgTypes[24] if x != nil { - return x.CreatedNs + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms } - return 0 + return mi.MessageOf(x) } -func (x *WelcomeMessage_V1) GetInstallationKey() []byte { +// Deprecated: Use PublishCommitLogRequest.ProtoReflect.Descriptor instead. +func (*PublishCommitLogRequest) Descriptor() ([]byte, []int) { + return file_mls_api_v1_mls_proto_rawDescGZIP(), []int{24} +} + +func (x *PublishCommitLogRequest) GetGroupId() []byte { if x != nil { - return x.InstallationKey + return x.GroupId } return nil } -func (x *WelcomeMessage_V1) GetData() []byte { +func (x *PublishCommitLogRequest) GetSerializedCommitLogEntry() []byte { if x != nil { - return x.Data + return x.SerializedCommitLogEntry } return nil } -func (x *WelcomeMessage_V1) GetHpkePublicKey() []byte { +func (x *PublishCommitLogRequest) GetSignature() *associations.RecoverableEd25519Signature { if x != nil { - return x.HpkePublicKey + return x.Signature } return nil } -// Version 1 of the WelcomeMessageInput format -type WelcomeMessageInput_V1 struct { - state protoimpl.MessageState `protogen:"open.v1"` - InstallationKey []byte `protobuf:"bytes,1,opt,name=installation_key,json=installationKey,proto3" json:"installation_key,omitempty"` - Data []byte `protobuf:"bytes,2,opt,name=data,proto3" json:"data,omitempty"` - HpkePublicKey []byte `protobuf:"bytes,3,opt,name=hpke_public_key,json=hpkePublicKey,proto3" json:"hpke_public_key,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache +type QueryCommitLogRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + GroupId []byte `protobuf:"bytes,1,opt,name=group_id,json=groupId,proto3" json:"group_id,omitempty"` + PagingInfo *PagingInfo `protobuf:"bytes,2,opt,name=paging_info,json=pagingInfo,proto3" json:"paging_info,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } -func (x *WelcomeMessageInput_V1) Reset() { - *x = WelcomeMessageInput_V1{} - mi := &file_mls_api_v1_mls_proto_msgTypes[23] +func (x *QueryCommitLogRequest) Reset() { + *x = QueryCommitLogRequest{} + mi := &file_mls_api_v1_mls_proto_msgTypes[25] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } -func (x *WelcomeMessageInput_V1) String() string { +func (x *QueryCommitLogRequest) String() string { return protoimpl.X.MessageStringOf(x) } -func (*WelcomeMessageInput_V1) ProtoMessage() {} +func (*QueryCommitLogRequest) ProtoMessage() {} -func (x *WelcomeMessageInput_V1) ProtoReflect() protoreflect.Message { - mi := &file_mls_api_v1_mls_proto_msgTypes[23] +func (x *QueryCommitLogRequest) ProtoReflect() protoreflect.Message { + mi := &file_mls_api_v1_mls_proto_msgTypes[25] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1361,30 +1465,611 @@ func (x *WelcomeMessageInput_V1) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use WelcomeMessageInput_V1.ProtoReflect.Descriptor instead. -func (*WelcomeMessageInput_V1) Descriptor() ([]byte, []int) { - return file_mls_api_v1_mls_proto_rawDescGZIP(), []int{1, 0} +// Deprecated: Use QueryCommitLogRequest.ProtoReflect.Descriptor instead. +func (*QueryCommitLogRequest) Descriptor() ([]byte, []int) { + return file_mls_api_v1_mls_proto_rawDescGZIP(), []int{25} } -func (x *WelcomeMessageInput_V1) GetInstallationKey() []byte { +func (x *QueryCommitLogRequest) GetGroupId() []byte { if x != nil { - return x.InstallationKey + return x.GroupId } return nil } -func (x *WelcomeMessageInput_V1) GetData() []byte { +func (x *QueryCommitLogRequest) GetPagingInfo() *PagingInfo { if x != nil { - return x.Data + return x.PagingInfo } return nil } -func (x *WelcomeMessageInput_V1) GetHpkePublicKey() []byte { - if x != nil { - return x.HpkePublicKey - } - return nil +type QueryCommitLogResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + GroupId []byte `protobuf:"bytes,1,opt,name=group_id,json=groupId,proto3" json:"group_id,omitempty"` + CommitLogEntries []*message_contents1.CommitLogEntry `protobuf:"bytes,2,rep,name=commit_log_entries,json=commitLogEntries,proto3" json:"commit_log_entries,omitempty"` + PagingInfo *PagingInfo `protobuf:"bytes,3,opt,name=paging_info,json=pagingInfo,proto3" json:"paging_info,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *QueryCommitLogResponse) Reset() { + *x = QueryCommitLogResponse{} + mi := &file_mls_api_v1_mls_proto_msgTypes[26] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *QueryCommitLogResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*QueryCommitLogResponse) ProtoMessage() {} + +func (x *QueryCommitLogResponse) ProtoReflect() protoreflect.Message { + mi := &file_mls_api_v1_mls_proto_msgTypes[26] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use QueryCommitLogResponse.ProtoReflect.Descriptor instead. +func (*QueryCommitLogResponse) Descriptor() ([]byte, []int) { + return file_mls_api_v1_mls_proto_rawDescGZIP(), []int{26} +} + +func (x *QueryCommitLogResponse) GetGroupId() []byte { + if x != nil { + return x.GroupId + } + return nil +} + +func (x *QueryCommitLogResponse) GetCommitLogEntries() []*message_contents1.CommitLogEntry { + if x != nil { + return x.CommitLogEntries + } + return nil +} + +func (x *QueryCommitLogResponse) GetPagingInfo() *PagingInfo { + if x != nil { + return x.PagingInfo + } + return nil +} + +type BatchQueryCommitLogRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + Requests []*QueryCommitLogRequest `protobuf:"bytes,1,rep,name=requests,proto3" json:"requests,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *BatchQueryCommitLogRequest) Reset() { + *x = BatchQueryCommitLogRequest{} + mi := &file_mls_api_v1_mls_proto_msgTypes[27] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *BatchQueryCommitLogRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*BatchQueryCommitLogRequest) ProtoMessage() {} + +func (x *BatchQueryCommitLogRequest) ProtoReflect() protoreflect.Message { + mi := &file_mls_api_v1_mls_proto_msgTypes[27] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use BatchQueryCommitLogRequest.ProtoReflect.Descriptor instead. +func (*BatchQueryCommitLogRequest) Descriptor() ([]byte, []int) { + return file_mls_api_v1_mls_proto_rawDescGZIP(), []int{27} +} + +func (x *BatchQueryCommitLogRequest) GetRequests() []*QueryCommitLogRequest { + if x != nil { + return x.Requests + } + return nil +} + +type BatchQueryCommitLogResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + Responses []*QueryCommitLogResponse `protobuf:"bytes,1,rep,name=responses,proto3" json:"responses,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *BatchQueryCommitLogResponse) Reset() { + *x = BatchQueryCommitLogResponse{} + mi := &file_mls_api_v1_mls_proto_msgTypes[28] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *BatchQueryCommitLogResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*BatchQueryCommitLogResponse) ProtoMessage() {} + +func (x *BatchQueryCommitLogResponse) ProtoReflect() protoreflect.Message { + mi := &file_mls_api_v1_mls_proto_msgTypes[28] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use BatchQueryCommitLogResponse.ProtoReflect.Descriptor instead. +func (*BatchQueryCommitLogResponse) Descriptor() ([]byte, []int) { + return file_mls_api_v1_mls_proto_rawDescGZIP(), []int{28} +} + +func (x *BatchQueryCommitLogResponse) GetResponses() []*QueryCommitLogResponse { + if x != nil { + return x.Responses + } + return nil +} + +// Request to get the newest group message from a range of topics +type GetNewestGroupMessageRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + // Get the newest message from each of these topics + GroupIds [][]byte `protobuf:"bytes,1,rep,name=group_ids,json=groupIds,proto3" json:"group_ids,omitempty"` + IncludeContent bool `protobuf:"varint,2,opt,name=include_content,json=includeContent,proto3" json:"include_content,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *GetNewestGroupMessageRequest) Reset() { + *x = GetNewestGroupMessageRequest{} + mi := &file_mls_api_v1_mls_proto_msgTypes[29] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GetNewestGroupMessageRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetNewestGroupMessageRequest) ProtoMessage() {} + +func (x *GetNewestGroupMessageRequest) ProtoReflect() protoreflect.Message { + mi := &file_mls_api_v1_mls_proto_msgTypes[29] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetNewestGroupMessageRequest.ProtoReflect.Descriptor instead. +func (*GetNewestGroupMessageRequest) Descriptor() ([]byte, []int) { + return file_mls_api_v1_mls_proto_rawDescGZIP(), []int{29} +} + +func (x *GetNewestGroupMessageRequest) GetGroupIds() [][]byte { + if x != nil { + return x.GroupIds + } + return nil +} + +func (x *GetNewestGroupMessageRequest) GetIncludeContent() bool { + if x != nil { + return x.IncludeContent + } + return false +} + +// Returns a list of responses that will always be the same length as the +// request +type GetNewestGroupMessageResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + Responses []*GetNewestGroupMessageResponse_Response `protobuf:"bytes,1,rep,name=responses,proto3" json:"responses,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *GetNewestGroupMessageResponse) Reset() { + *x = GetNewestGroupMessageResponse{} + mi := &file_mls_api_v1_mls_proto_msgTypes[30] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GetNewestGroupMessageResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetNewestGroupMessageResponse) ProtoMessage() {} + +func (x *GetNewestGroupMessageResponse) ProtoReflect() protoreflect.Message { + mi := &file_mls_api_v1_mls_proto_msgTypes[30] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetNewestGroupMessageResponse.ProtoReflect.Descriptor instead. +func (*GetNewestGroupMessageResponse) Descriptor() ([]byte, []int) { + return file_mls_api_v1_mls_proto_rawDescGZIP(), []int{30} +} + +func (x *GetNewestGroupMessageResponse) GetResponses() []*GetNewestGroupMessageResponse_Response { + if x != nil { + return x.Responses + } + return nil +} + +// Version 1 of the WelcomeMessage format +type WelcomeMessage_V1 struct { + state protoimpl.MessageState `protogen:"open.v1"` + Id uint64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` + CreatedNs uint64 `protobuf:"varint,2,opt,name=created_ns,json=createdNs,proto3" json:"created_ns,omitempty"` + InstallationKey []byte `protobuf:"bytes,3,opt,name=installation_key,json=installationKey,proto3" json:"installation_key,omitempty"` + Data []byte `protobuf:"bytes,4,opt,name=data,proto3" json:"data,omitempty"` + HpkePublicKey []byte `protobuf:"bytes,5,opt,name=hpke_public_key,json=hpkePublicKey,proto3" json:"hpke_public_key,omitempty"` + WrapperAlgorithm message_contents1.WelcomeWrapperAlgorithm `protobuf:"varint,6,opt,name=wrapper_algorithm,json=wrapperAlgorithm,proto3,enum=xmtp.mls.message_contents.WelcomeWrapperAlgorithm" json:"wrapper_algorithm,omitempty"` + WelcomeMetadata []byte `protobuf:"bytes,7,opt,name=welcome_metadata,json=welcomeMetadata,proto3" json:"welcome_metadata,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *WelcomeMessage_V1) Reset() { + *x = WelcomeMessage_V1{} + mi := &file_mls_api_v1_mls_proto_msgTypes[31] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *WelcomeMessage_V1) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*WelcomeMessage_V1) ProtoMessage() {} + +func (x *WelcomeMessage_V1) ProtoReflect() protoreflect.Message { + mi := &file_mls_api_v1_mls_proto_msgTypes[31] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use WelcomeMessage_V1.ProtoReflect.Descriptor instead. +func (*WelcomeMessage_V1) Descriptor() ([]byte, []int) { + return file_mls_api_v1_mls_proto_rawDescGZIP(), []int{0, 0} +} + +func (x *WelcomeMessage_V1) GetId() uint64 { + if x != nil { + return x.Id + } + return 0 +} + +func (x *WelcomeMessage_V1) GetCreatedNs() uint64 { + if x != nil { + return x.CreatedNs + } + return 0 +} + +func (x *WelcomeMessage_V1) GetInstallationKey() []byte { + if x != nil { + return x.InstallationKey + } + return nil +} + +func (x *WelcomeMessage_V1) GetData() []byte { + if x != nil { + return x.Data + } + return nil +} + +func (x *WelcomeMessage_V1) GetHpkePublicKey() []byte { + if x != nil { + return x.HpkePublicKey + } + return nil +} + +func (x *WelcomeMessage_V1) GetWrapperAlgorithm() message_contents1.WelcomeWrapperAlgorithm { + if x != nil { + return x.WrapperAlgorithm + } + return message_contents1.WelcomeWrapperAlgorithm(0) +} + +func (x *WelcomeMessage_V1) GetWelcomeMetadata() []byte { + if x != nil { + return x.WelcomeMetadata + } + return nil +} + +type WelcomeMessage_WelcomePointer struct { + state protoimpl.MessageState `protogen:"open.v1"` + Id uint64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` + CreatedNs uint64 `protobuf:"varint,2,opt,name=created_ns,json=createdNs,proto3" json:"created_ns,omitempty"` + // The topic of the welcome message (generally the installation id) + InstallationKey []byte `protobuf:"bytes,3,opt,name=installation_key,json=installationKey,proto3" json:"installation_key,omitempty"` + // A WelcomePointer encrypted using the algorithm specified by + // wrapper_algorithm + WelcomePointer []byte `protobuf:"bytes,4,opt,name=welcome_pointer,json=welcomePointer,proto3" json:"welcome_pointer,omitempty"` + // The public key used to encrypt the welcome pointer + HpkePublicKey []byte `protobuf:"bytes,5,opt,name=hpke_public_key,json=hpkePublicKey,proto3" json:"hpke_public_key,omitempty"` + // The algorithm used to encrypt the welcome pointer + WrapperAlgorithm message_contents1.WelcomePointerWrapperAlgorithm `protobuf:"varint,6,opt,name=wrapper_algorithm,json=wrapperAlgorithm,proto3,enum=xmtp.mls.message_contents.WelcomePointerWrapperAlgorithm" json:"wrapper_algorithm,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *WelcomeMessage_WelcomePointer) Reset() { + *x = WelcomeMessage_WelcomePointer{} + mi := &file_mls_api_v1_mls_proto_msgTypes[32] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *WelcomeMessage_WelcomePointer) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*WelcomeMessage_WelcomePointer) ProtoMessage() {} + +func (x *WelcomeMessage_WelcomePointer) ProtoReflect() protoreflect.Message { + mi := &file_mls_api_v1_mls_proto_msgTypes[32] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use WelcomeMessage_WelcomePointer.ProtoReflect.Descriptor instead. +func (*WelcomeMessage_WelcomePointer) Descriptor() ([]byte, []int) { + return file_mls_api_v1_mls_proto_rawDescGZIP(), []int{0, 1} +} + +func (x *WelcomeMessage_WelcomePointer) GetId() uint64 { + if x != nil { + return x.Id + } + return 0 +} + +func (x *WelcomeMessage_WelcomePointer) GetCreatedNs() uint64 { + if x != nil { + return x.CreatedNs + } + return 0 +} + +func (x *WelcomeMessage_WelcomePointer) GetInstallationKey() []byte { + if x != nil { + return x.InstallationKey + } + return nil +} + +func (x *WelcomeMessage_WelcomePointer) GetWelcomePointer() []byte { + if x != nil { + return x.WelcomePointer + } + return nil +} + +func (x *WelcomeMessage_WelcomePointer) GetHpkePublicKey() []byte { + if x != nil { + return x.HpkePublicKey + } + return nil +} + +func (x *WelcomeMessage_WelcomePointer) GetWrapperAlgorithm() message_contents1.WelcomePointerWrapperAlgorithm { + if x != nil { + return x.WrapperAlgorithm + } + return message_contents1.WelcomePointerWrapperAlgorithm(0) +} + +// Version 1 of the WelcomeMessageInput format, if used as the pointee of a +// WelcomePointer then the hpke_public_key will be unset, and the +// wrapper_algorithm will be WELCOME_WRAPPER_ALGORITHM_SYMMETRIC_KEY +type WelcomeMessageInput_V1 struct { + state protoimpl.MessageState `protogen:"open.v1"` + // The topic of the welcome message (generally the installation id) + InstallationKey []byte `protobuf:"bytes,1,opt,name=installation_key,json=installationKey,proto3" json:"installation_key,omitempty"` + // An encrypted mls `Welcome` struct + Data []byte `protobuf:"bytes,2,opt,name=data,proto3" json:"data,omitempty"` + // The public key of the welcome message + HpkePublicKey []byte `protobuf:"bytes,3,opt,name=hpke_public_key,json=hpkePublicKey,proto3" json:"hpke_public_key,omitempty"` + // The algorithm used to encrypt the welcome message + WrapperAlgorithm message_contents1.WelcomeWrapperAlgorithm `protobuf:"varint,4,opt,name=wrapper_algorithm,json=wrapperAlgorithm,proto3,enum=xmtp.mls.message_contents.WelcomeWrapperAlgorithm" json:"wrapper_algorithm,omitempty"` + // The metadata of the welcome message + WelcomeMetadata []byte `protobuf:"bytes,7,opt,name=welcome_metadata,json=welcomeMetadata,proto3" json:"welcome_metadata,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *WelcomeMessageInput_V1) Reset() { + *x = WelcomeMessageInput_V1{} + mi := &file_mls_api_v1_mls_proto_msgTypes[33] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *WelcomeMessageInput_V1) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*WelcomeMessageInput_V1) ProtoMessage() {} + +func (x *WelcomeMessageInput_V1) ProtoReflect() protoreflect.Message { + mi := &file_mls_api_v1_mls_proto_msgTypes[33] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use WelcomeMessageInput_V1.ProtoReflect.Descriptor instead. +func (*WelcomeMessageInput_V1) Descriptor() ([]byte, []int) { + return file_mls_api_v1_mls_proto_rawDescGZIP(), []int{1, 0} +} + +func (x *WelcomeMessageInput_V1) GetInstallationKey() []byte { + if x != nil { + return x.InstallationKey + } + return nil +} + +func (x *WelcomeMessageInput_V1) GetData() []byte { + if x != nil { + return x.Data + } + return nil +} + +func (x *WelcomeMessageInput_V1) GetHpkePublicKey() []byte { + if x != nil { + return x.HpkePublicKey + } + return nil +} + +func (x *WelcomeMessageInput_V1) GetWrapperAlgorithm() message_contents1.WelcomeWrapperAlgorithm { + if x != nil { + return x.WrapperAlgorithm + } + return message_contents1.WelcomeWrapperAlgorithm(0) +} + +func (x *WelcomeMessageInput_V1) GetWelcomeMetadata() []byte { + if x != nil { + return x.WelcomeMetadata + } + return nil +} + +// Version 2 of the WelcomeMessageInput format which uses a WelcomePointer +// to point to the welcome message for several installations at once +type WelcomeMessageInput_WelcomePointer struct { + state protoimpl.MessageState `protogen:"open.v1"` + // The topic of the welcome message (generally the installation id) + InstallationKey []byte `protobuf:"bytes,1,opt,name=installation_key,json=installationKey,proto3" json:"installation_key,omitempty"` + // A WelcomePointer encrypted using the wrapper_algorithm + WelcomePointer []byte `protobuf:"bytes,2,opt,name=welcome_pointer,json=welcomePointer,proto3" json:"welcome_pointer,omitempty"` + // The public key used to encrypt the welcome pointer + HpkePublicKey []byte `protobuf:"bytes,3,opt,name=hpke_public_key,json=hpkePublicKey,proto3" json:"hpke_public_key,omitempty"` + // The algorithm used to encrypt the welcome pointer + WrapperAlgorithm message_contents1.WelcomePointerWrapperAlgorithm `protobuf:"varint,4,opt,name=wrapper_algorithm,json=wrapperAlgorithm,proto3,enum=xmtp.mls.message_contents.WelcomePointerWrapperAlgorithm" json:"wrapper_algorithm,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *WelcomeMessageInput_WelcomePointer) Reset() { + *x = WelcomeMessageInput_WelcomePointer{} + mi := &file_mls_api_v1_mls_proto_msgTypes[34] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *WelcomeMessageInput_WelcomePointer) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*WelcomeMessageInput_WelcomePointer) ProtoMessage() {} + +func (x *WelcomeMessageInput_WelcomePointer) ProtoReflect() protoreflect.Message { + mi := &file_mls_api_v1_mls_proto_msgTypes[34] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use WelcomeMessageInput_WelcomePointer.ProtoReflect.Descriptor instead. +func (*WelcomeMessageInput_WelcomePointer) Descriptor() ([]byte, []int) { + return file_mls_api_v1_mls_proto_rawDescGZIP(), []int{1, 1} +} + +func (x *WelcomeMessageInput_WelcomePointer) GetInstallationKey() []byte { + if x != nil { + return x.InstallationKey + } + return nil +} + +func (x *WelcomeMessageInput_WelcomePointer) GetWelcomePointer() []byte { + if x != nil { + return x.WelcomePointer + } + return nil +} + +func (x *WelcomeMessageInput_WelcomePointer) GetHpkePublicKey() []byte { + if x != nil { + return x.HpkePublicKey + } + return nil +} + +func (x *WelcomeMessageInput_WelcomePointer) GetWrapperAlgorithm() message_contents1.WelcomePointerWrapperAlgorithm { + if x != nil { + return x.WrapperAlgorithm + } + return message_contents1.WelcomePointerWrapperAlgorithm(0) } // Version 1 of the GroupMessage format @@ -1396,13 +2081,14 @@ type GroupMessage_V1 struct { Data []byte `protobuf:"bytes,4,opt,name=data,proto3" json:"data,omitempty"` SenderHmac []byte `protobuf:"bytes,5,opt,name=sender_hmac,json=senderHmac,proto3" json:"sender_hmac,omitempty"` ShouldPush bool `protobuf:"varint,6,opt,name=should_push,json=shouldPush,proto3" json:"should_push,omitempty"` + IsCommit bool `protobuf:"varint,7,opt,name=is_commit,json=isCommit,proto3" json:"is_commit,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *GroupMessage_V1) Reset() { *x = GroupMessage_V1{} - mi := &file_mls_api_v1_mls_proto_msgTypes[24] + mi := &file_mls_api_v1_mls_proto_msgTypes[35] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1414,7 +2100,7 @@ func (x *GroupMessage_V1) String() string { func (*GroupMessage_V1) ProtoMessage() {} func (x *GroupMessage_V1) ProtoReflect() protoreflect.Message { - mi := &file_mls_api_v1_mls_proto_msgTypes[24] + mi := &file_mls_api_v1_mls_proto_msgTypes[35] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1427,7 +2113,7 @@ func (x *GroupMessage_V1) ProtoReflect() protoreflect.Message { // Deprecated: Use GroupMessage_V1.ProtoReflect.Descriptor instead. func (*GroupMessage_V1) Descriptor() ([]byte, []int) { - return file_mls_api_v1_mls_proto_rawDescGZIP(), []int{2, 0} + return file_mls_api_v1_mls_proto_rawDescGZIP(), []int{3, 0} } func (x *GroupMessage_V1) GetId() uint64 { @@ -1472,6 +2158,13 @@ func (x *GroupMessage_V1) GetShouldPush() bool { return false } +func (x *GroupMessage_V1) GetIsCommit() bool { + if x != nil { + return x.IsCommit + } + return false +} + // Version 1 of the GroupMessageInput payload format type GroupMessageInput_V1 struct { state protoimpl.MessageState `protogen:"open.v1"` @@ -1484,7 +2177,7 @@ type GroupMessageInput_V1 struct { func (x *GroupMessageInput_V1) Reset() { *x = GroupMessageInput_V1{} - mi := &file_mls_api_v1_mls_proto_msgTypes[25] + mi := &file_mls_api_v1_mls_proto_msgTypes[36] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1496,7 +2189,7 @@ func (x *GroupMessageInput_V1) String() string { func (*GroupMessageInput_V1) ProtoMessage() {} func (x *GroupMessageInput_V1) ProtoReflect() protoreflect.Message { - mi := &file_mls_api_v1_mls_proto_msgTypes[25] + mi := &file_mls_api_v1_mls_proto_msgTypes[36] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1509,7 +2202,7 @@ func (x *GroupMessageInput_V1) ProtoReflect() protoreflect.Message { // Deprecated: Use GroupMessageInput_V1.ProtoReflect.Descriptor instead. func (*GroupMessageInput_V1) Descriptor() ([]byte, []int) { - return file_mls_api_v1_mls_proto_rawDescGZIP(), []int{3, 0} + return file_mls_api_v1_mls_proto_rawDescGZIP(), []int{4, 0} } func (x *GroupMessageInput_V1) GetData() []byte { @@ -1543,7 +2236,7 @@ type FetchKeyPackagesResponse_KeyPackage struct { func (x *FetchKeyPackagesResponse_KeyPackage) Reset() { *x = FetchKeyPackagesResponse_KeyPackage{} - mi := &file_mls_api_v1_mls_proto_msgTypes[26] + mi := &file_mls_api_v1_mls_proto_msgTypes[37] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1555,7 +2248,7 @@ func (x *FetchKeyPackagesResponse_KeyPackage) String() string { func (*FetchKeyPackagesResponse_KeyPackage) ProtoMessage() {} func (x *FetchKeyPackagesResponse_KeyPackage) ProtoReflect() protoreflect.Message { - mi := &file_mls_api_v1_mls_proto_msgTypes[26] + mi := &file_mls_api_v1_mls_proto_msgTypes[37] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1568,7 +2261,7 @@ func (x *FetchKeyPackagesResponse_KeyPackage) ProtoReflect() protoreflect.Messag // Deprecated: Use FetchKeyPackagesResponse_KeyPackage.ProtoReflect.Descriptor instead. func (*FetchKeyPackagesResponse_KeyPackage) Descriptor() ([]byte, []int) { - return file_mls_api_v1_mls_proto_rawDescGZIP(), []int{11, 0} + return file_mls_api_v1_mls_proto_rawDescGZIP(), []int{12, 0} } func (x *FetchKeyPackagesResponse_KeyPackage) GetKeyPackageTlsSerialized() []byte { @@ -1589,7 +2282,7 @@ type GetIdentityUpdatesResponse_NewInstallationUpdate struct { func (x *GetIdentityUpdatesResponse_NewInstallationUpdate) Reset() { *x = GetIdentityUpdatesResponse_NewInstallationUpdate{} - mi := &file_mls_api_v1_mls_proto_msgTypes[27] + mi := &file_mls_api_v1_mls_proto_msgTypes[38] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1601,7 +2294,7 @@ func (x *GetIdentityUpdatesResponse_NewInstallationUpdate) String() string { func (*GetIdentityUpdatesResponse_NewInstallationUpdate) ProtoMessage() {} func (x *GetIdentityUpdatesResponse_NewInstallationUpdate) ProtoReflect() protoreflect.Message { - mi := &file_mls_api_v1_mls_proto_msgTypes[27] + mi := &file_mls_api_v1_mls_proto_msgTypes[38] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1614,7 +2307,7 @@ func (x *GetIdentityUpdatesResponse_NewInstallationUpdate) ProtoReflect() protor // Deprecated: Use GetIdentityUpdatesResponse_NewInstallationUpdate.ProtoReflect.Descriptor instead. func (*GetIdentityUpdatesResponse_NewInstallationUpdate) Descriptor() ([]byte, []int) { - return file_mls_api_v1_mls_proto_rawDescGZIP(), []int{14, 0} + return file_mls_api_v1_mls_proto_rawDescGZIP(), []int{15, 0} } func (x *GetIdentityUpdatesResponse_NewInstallationUpdate) GetInstallationKey() []byte { @@ -1641,7 +2334,7 @@ type GetIdentityUpdatesResponse_RevokedInstallationUpdate struct { func (x *GetIdentityUpdatesResponse_RevokedInstallationUpdate) Reset() { *x = GetIdentityUpdatesResponse_RevokedInstallationUpdate{} - mi := &file_mls_api_v1_mls_proto_msgTypes[28] + mi := &file_mls_api_v1_mls_proto_msgTypes[39] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1653,7 +2346,7 @@ func (x *GetIdentityUpdatesResponse_RevokedInstallationUpdate) String() string { func (*GetIdentityUpdatesResponse_RevokedInstallationUpdate) ProtoMessage() {} func (x *GetIdentityUpdatesResponse_RevokedInstallationUpdate) ProtoReflect() protoreflect.Message { - mi := &file_mls_api_v1_mls_proto_msgTypes[28] + mi := &file_mls_api_v1_mls_proto_msgTypes[39] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1666,7 +2359,7 @@ func (x *GetIdentityUpdatesResponse_RevokedInstallationUpdate) ProtoReflect() pr // Deprecated: Use GetIdentityUpdatesResponse_RevokedInstallationUpdate.ProtoReflect.Descriptor instead. func (*GetIdentityUpdatesResponse_RevokedInstallationUpdate) Descriptor() ([]byte, []int) { - return file_mls_api_v1_mls_proto_rawDescGZIP(), []int{14, 1} + return file_mls_api_v1_mls_proto_rawDescGZIP(), []int{15, 1} } func (x *GetIdentityUpdatesResponse_RevokedInstallationUpdate) GetInstallationKey() []byte { @@ -1691,7 +2384,7 @@ type GetIdentityUpdatesResponse_Update struct { func (x *GetIdentityUpdatesResponse_Update) Reset() { *x = GetIdentityUpdatesResponse_Update{} - mi := &file_mls_api_v1_mls_proto_msgTypes[29] + mi := &file_mls_api_v1_mls_proto_msgTypes[40] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1703,7 +2396,7 @@ func (x *GetIdentityUpdatesResponse_Update) String() string { func (*GetIdentityUpdatesResponse_Update) ProtoMessage() {} func (x *GetIdentityUpdatesResponse_Update) ProtoReflect() protoreflect.Message { - mi := &file_mls_api_v1_mls_proto_msgTypes[29] + mi := &file_mls_api_v1_mls_proto_msgTypes[40] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1716,7 +2409,7 @@ func (x *GetIdentityUpdatesResponse_Update) ProtoReflect() protoreflect.Message // Deprecated: Use GetIdentityUpdatesResponse_Update.ProtoReflect.Descriptor instead. func (*GetIdentityUpdatesResponse_Update) Descriptor() ([]byte, []int) { - return file_mls_api_v1_mls_proto_rawDescGZIP(), []int{14, 2} + return file_mls_api_v1_mls_proto_rawDescGZIP(), []int{15, 2} } func (x *GetIdentityUpdatesResponse_Update) GetTimestampNs() uint64 { @@ -1779,7 +2472,7 @@ type GetIdentityUpdatesResponse_WalletUpdates struct { func (x *GetIdentityUpdatesResponse_WalletUpdates) Reset() { *x = GetIdentityUpdatesResponse_WalletUpdates{} - mi := &file_mls_api_v1_mls_proto_msgTypes[30] + mi := &file_mls_api_v1_mls_proto_msgTypes[41] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1791,7 +2484,7 @@ func (x *GetIdentityUpdatesResponse_WalletUpdates) String() string { func (*GetIdentityUpdatesResponse_WalletUpdates) ProtoMessage() {} func (x *GetIdentityUpdatesResponse_WalletUpdates) ProtoReflect() protoreflect.Message { - mi := &file_mls_api_v1_mls_proto_msgTypes[30] + mi := &file_mls_api_v1_mls_proto_msgTypes[41] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1804,7 +2497,7 @@ func (x *GetIdentityUpdatesResponse_WalletUpdates) ProtoReflect() protoreflect.M // Deprecated: Use GetIdentityUpdatesResponse_WalletUpdates.ProtoReflect.Descriptor instead. func (*GetIdentityUpdatesResponse_WalletUpdates) Descriptor() ([]byte, []int) { - return file_mls_api_v1_mls_proto_rawDescGZIP(), []int{14, 3} + return file_mls_api_v1_mls_proto_rawDescGZIP(), []int{15, 3} } func (x *GetIdentityUpdatesResponse_WalletUpdates) GetUpdates() []*GetIdentityUpdatesResponse_Update { @@ -1825,7 +2518,7 @@ type SubscribeGroupMessagesRequest_Filter struct { func (x *SubscribeGroupMessagesRequest_Filter) Reset() { *x = SubscribeGroupMessagesRequest_Filter{} - mi := &file_mls_api_v1_mls_proto_msgTypes[31] + mi := &file_mls_api_v1_mls_proto_msgTypes[42] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1837,7 +2530,7 @@ func (x *SubscribeGroupMessagesRequest_Filter) String() string { func (*SubscribeGroupMessagesRequest_Filter) ProtoMessage() {} func (x *SubscribeGroupMessagesRequest_Filter) ProtoReflect() protoreflect.Message { - mi := &file_mls_api_v1_mls_proto_msgTypes[31] + mi := &file_mls_api_v1_mls_proto_msgTypes[42] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1850,7 +2543,7 @@ func (x *SubscribeGroupMessagesRequest_Filter) ProtoReflect() protoreflect.Messa // Deprecated: Use SubscribeGroupMessagesRequest_Filter.ProtoReflect.Descriptor instead. func (*SubscribeGroupMessagesRequest_Filter) Descriptor() ([]byte, []int) { - return file_mls_api_v1_mls_proto_rawDescGZIP(), []int{20, 0} + return file_mls_api_v1_mls_proto_rawDescGZIP(), []int{21, 0} } func (x *SubscribeGroupMessagesRequest_Filter) GetGroupId() []byte { @@ -1878,7 +2571,7 @@ type SubscribeWelcomeMessagesRequest_Filter struct { func (x *SubscribeWelcomeMessagesRequest_Filter) Reset() { *x = SubscribeWelcomeMessagesRequest_Filter{} - mi := &file_mls_api_v1_mls_proto_msgTypes[32] + mi := &file_mls_api_v1_mls_proto_msgTypes[43] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1890,7 +2583,7 @@ func (x *SubscribeWelcomeMessagesRequest_Filter) String() string { func (*SubscribeWelcomeMessagesRequest_Filter) ProtoMessage() {} func (x *SubscribeWelcomeMessagesRequest_Filter) ProtoReflect() protoreflect.Message { - mi := &file_mls_api_v1_mls_proto_msgTypes[32] + mi := &file_mls_api_v1_mls_proto_msgTypes[43] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1903,7 +2596,7 @@ func (x *SubscribeWelcomeMessagesRequest_Filter) ProtoReflect() protoreflect.Mes // Deprecated: Use SubscribeWelcomeMessagesRequest_Filter.ProtoReflect.Descriptor instead. func (*SubscribeWelcomeMessagesRequest_Filter) Descriptor() ([]byte, []int) { - return file_mls_api_v1_mls_proto_rawDescGZIP(), []int{21, 0} + return file_mls_api_v1_mls_proto_rawDescGZIP(), []int{22, 0} } func (x *SubscribeWelcomeMessagesRequest_Filter) GetInstallationKey() []byte { @@ -1920,383 +2613,239 @@ func (x *SubscribeWelcomeMessagesRequest_Filter) GetIdCursor() uint64 { return 0 } +type GetNewestGroupMessageResponse_Response struct { + state protoimpl.MessageState `protogen:"open.v1"` + // If no message is found on the topic, will be nil + GroupMessage *GroupMessage `protobuf:"bytes,1,opt,name=group_message,json=groupMessage,proto3,oneof" json:"group_message,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *GetNewestGroupMessageResponse_Response) Reset() { + *x = GetNewestGroupMessageResponse_Response{} + mi := &file_mls_api_v1_mls_proto_msgTypes[44] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GetNewestGroupMessageResponse_Response) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetNewestGroupMessageResponse_Response) ProtoMessage() {} + +func (x *GetNewestGroupMessageResponse_Response) ProtoReflect() protoreflect.Message { + mi := &file_mls_api_v1_mls_proto_msgTypes[44] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetNewestGroupMessageResponse_Response.ProtoReflect.Descriptor instead. +func (*GetNewestGroupMessageResponse_Response) Descriptor() ([]byte, []int) { + return file_mls_api_v1_mls_proto_rawDescGZIP(), []int{30, 0} +} + +func (x *GetNewestGroupMessageResponse_Response) GetGroupMessage() *GroupMessage { + if x != nil { + return x.GroupMessage + } + return nil +} + var File_mls_api_v1_mls_proto protoreflect.FileDescriptor -var file_mls_api_v1_mls_proto_rawDesc = string([]byte{ - 0x0a, 0x14, 0x6d, 0x6c, 0x73, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x6d, 0x6c, 0x73, - 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x0f, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x6d, 0x6c, 0x73, - 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, - 0x61, 0x70, 0x69, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1b, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x2e, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x1a, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x74, - 0x65, 0x6e, 0x74, 0x73, 0x2f, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x2e, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x2d, 0x67, 0x65, 0x6e, - 0x2d, 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, 0x76, 0x32, 0x2f, 0x6f, 0x70, 0x74, 0x69, 0x6f, - 0x6e, 0x73, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xee, 0x01, 0x0a, 0x0e, 0x57, 0x65, 0x6c, 0x63, 0x6f, 0x6d, 0x65, - 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x34, 0x0a, 0x02, 0x76, 0x31, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x6d, 0x6c, 0x73, 0x2e, 0x61, - 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x65, 0x6c, 0x63, 0x6f, 0x6d, 0x65, 0x4d, 0x65, 0x73, - 0x73, 0x61, 0x67, 0x65, 0x2e, 0x56, 0x31, 0x48, 0x00, 0x52, 0x02, 0x76, 0x31, 0x1a, 0x9a, 0x01, - 0x0a, 0x02, 0x56, 0x31, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, - 0x52, 0x02, 0x69, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, - 0x6e, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, - 0x64, 0x4e, 0x73, 0x12, 0x29, 0x0a, 0x10, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0f, 0x69, - 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4b, 0x65, 0x79, 0x12, 0x12, - 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x64, 0x61, - 0x74, 0x61, 0x12, 0x26, 0x0a, 0x0f, 0x68, 0x70, 0x6b, 0x65, 0x5f, 0x70, 0x75, 0x62, 0x6c, 0x69, - 0x63, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0d, 0x68, 0x70, 0x6b, - 0x65, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x4b, 0x65, 0x79, 0x42, 0x09, 0x0a, 0x07, 0x76, 0x65, - 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0xc8, 0x01, 0x0a, 0x13, 0x57, 0x65, 0x6c, 0x63, 0x6f, 0x6d, - 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x12, 0x39, 0x0a, - 0x02, 0x76, 0x31, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x78, 0x6d, 0x74, 0x70, - 0x2e, 0x6d, 0x6c, 0x73, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x65, 0x6c, 0x63, - 0x6f, 0x6d, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x2e, - 0x56, 0x31, 0x48, 0x00, 0x52, 0x02, 0x76, 0x31, 0x1a, 0x6b, 0x0a, 0x02, 0x56, 0x31, 0x12, 0x29, - 0x0a, 0x10, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6b, - 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6c, - 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4b, 0x65, 0x79, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x61, 0x74, - 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x12, 0x26, 0x0a, - 0x0f, 0x68, 0x70, 0x6b, 0x65, 0x5f, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x5f, 0x6b, 0x65, 0x79, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0d, 0x68, 0x70, 0x6b, 0x65, 0x50, 0x75, 0x62, 0x6c, - 0x69, 0x63, 0x4b, 0x65, 0x79, 0x42, 0x09, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, - 0x22, 0xf4, 0x01, 0x0a, 0x0c, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, - 0x65, 0x12, 0x32, 0x0a, 0x02, 0x76, 0x31, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, - 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x6d, 0x6c, 0x73, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, - 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x2e, 0x56, 0x31, 0x48, - 0x00, 0x52, 0x02, 0x76, 0x31, 0x1a, 0xa4, 0x01, 0x0a, 0x02, 0x56, 0x31, 0x12, 0x0e, 0x0a, 0x02, - 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x02, 0x69, 0x64, 0x12, 0x1d, 0x0a, 0x0a, - 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, - 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x4e, 0x73, 0x12, 0x19, 0x0a, 0x08, 0x67, - 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x07, 0x67, - 0x72, 0x6f, 0x75, 0x70, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x04, - 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x65, - 0x6e, 0x64, 0x65, 0x72, 0x5f, 0x68, 0x6d, 0x61, 0x63, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0c, 0x52, - 0x0a, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x48, 0x6d, 0x61, 0x63, 0x12, 0x1f, 0x0a, 0x0b, 0x73, - 0x68, 0x6f, 0x75, 0x6c, 0x64, 0x5f, 0x70, 0x75, 0x73, 0x68, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, - 0x52, 0x0a, 0x73, 0x68, 0x6f, 0x75, 0x6c, 0x64, 0x50, 0x75, 0x73, 0x68, 0x42, 0x09, 0x0a, 0x07, - 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0xb3, 0x01, 0x0a, 0x11, 0x47, 0x72, 0x6f, 0x75, - 0x70, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x12, 0x37, 0x0a, - 0x02, 0x76, 0x31, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x78, 0x6d, 0x74, 0x70, - 0x2e, 0x6d, 0x6c, 0x73, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x72, 0x6f, 0x75, - 0x70, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x2e, 0x56, 0x31, - 0x48, 0x00, 0x52, 0x02, 0x76, 0x31, 0x1a, 0x5a, 0x0a, 0x02, 0x56, 0x31, 0x12, 0x12, 0x0a, 0x04, - 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, - 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x5f, 0x68, 0x6d, 0x61, 0x63, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0a, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x48, 0x6d, 0x61, - 0x63, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x68, 0x6f, 0x75, 0x6c, 0x64, 0x5f, 0x70, 0x75, 0x73, 0x68, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x73, 0x68, 0x6f, 0x75, 0x6c, 0x64, 0x50, 0x75, - 0x73, 0x68, 0x42, 0x09, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0x5a, 0x0a, - 0x18, 0x53, 0x65, 0x6e, 0x64, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, - 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3e, 0x0a, 0x08, 0x6d, 0x65, 0x73, - 0x73, 0x61, 0x67, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x78, 0x6d, - 0x74, 0x70, 0x2e, 0x6d, 0x6c, 0x73, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x72, - 0x6f, 0x75, 0x70, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x52, - 0x08, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x22, 0x5e, 0x0a, 0x1a, 0x53, 0x65, 0x6e, - 0x64, 0x57, 0x65, 0x6c, 0x63, 0x6f, 0x6d, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x40, 0x0a, 0x08, 0x6d, 0x65, 0x73, 0x73, 0x61, - 0x67, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x78, 0x6d, 0x74, 0x70, - 0x2e, 0x6d, 0x6c, 0x73, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x65, 0x6c, 0x63, - 0x6f, 0x6d, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x52, - 0x08, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x22, 0x4f, 0x0a, 0x10, 0x4b, 0x65, 0x79, - 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x3b, 0x0a, - 0x1a, 0x6b, 0x65, 0x79, 0x5f, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6c, 0x73, - 0x5f, 0x73, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x0c, 0x52, 0x17, 0x6b, 0x65, 0x79, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x54, 0x6c, 0x73, - 0x53, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x22, 0x96, 0x01, 0x0a, 0x1b, 0x52, - 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x42, 0x0a, 0x0b, 0x6b, 0x65, - 0x79, 0x5f, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x21, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x6d, 0x6c, 0x73, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, - 0x31, 0x2e, 0x4b, 0x65, 0x79, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x55, 0x70, 0x6c, 0x6f, - 0x61, 0x64, 0x52, 0x0a, 0x6b, 0x65, 0x79, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x12, 0x33, - 0x0a, 0x16, 0x69, 0x73, 0x5f, 0x69, 0x6e, 0x62, 0x6f, 0x78, 0x5f, 0x69, 0x64, 0x5f, 0x63, 0x72, - 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x13, - 0x69, 0x73, 0x49, 0x6e, 0x62, 0x6f, 0x78, 0x49, 0x64, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, - 0x69, 0x61, 0x6c, 0x22, 0x49, 0x0a, 0x1c, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x49, - 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x12, 0x29, 0x0a, 0x10, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0f, 0x69, - 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4b, 0x65, 0x79, 0x22, 0x92, - 0x01, 0x0a, 0x17, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x4b, 0x65, 0x79, 0x50, 0x61, 0x63, 0x6b, - 0x61, 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x42, 0x0a, 0x0b, 0x6b, 0x65, - 0x79, 0x5f, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x21, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x6d, 0x6c, 0x73, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, - 0x31, 0x2e, 0x4b, 0x65, 0x79, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x55, 0x70, 0x6c, 0x6f, - 0x61, 0x64, 0x52, 0x0a, 0x6b, 0x65, 0x79, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x12, 0x33, - 0x0a, 0x16, 0x69, 0x73, 0x5f, 0x69, 0x6e, 0x62, 0x6f, 0x78, 0x5f, 0x69, 0x64, 0x5f, 0x63, 0x72, - 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x13, - 0x69, 0x73, 0x49, 0x6e, 0x62, 0x6f, 0x78, 0x49, 0x64, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, - 0x69, 0x61, 0x6c, 0x22, 0x46, 0x0a, 0x17, 0x46, 0x65, 0x74, 0x63, 0x68, 0x4b, 0x65, 0x79, 0x50, - 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2b, - 0x0a, 0x11, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6b, - 0x65, 0x79, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0c, 0x52, 0x10, 0x69, 0x6e, 0x73, 0x74, 0x61, - 0x6c, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4b, 0x65, 0x79, 0x73, 0x22, 0xbe, 0x01, 0x0a, 0x18, - 0x46, 0x65, 0x74, 0x63, 0x68, 0x4b, 0x65, 0x79, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x73, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x57, 0x0a, 0x0c, 0x6b, 0x65, 0x79, 0x5f, - 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x34, - 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x6d, 0x6c, 0x73, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, - 0x2e, 0x46, 0x65, 0x74, 0x63, 0x68, 0x4b, 0x65, 0x79, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, - 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x4b, 0x65, 0x79, 0x50, 0x61, 0x63, - 0x6b, 0x61, 0x67, 0x65, 0x52, 0x0b, 0x6b, 0x65, 0x79, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, - 0x73, 0x1a, 0x49, 0x0a, 0x0a, 0x4b, 0x65, 0x79, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x12, - 0x3b, 0x0a, 0x1a, 0x6b, 0x65, 0x79, 0x5f, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x5f, 0x74, - 0x6c, 0x73, 0x5f, 0x73, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x0c, 0x52, 0x17, 0x6b, 0x65, 0x79, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x54, - 0x6c, 0x73, 0x53, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x22, 0x93, 0x01, 0x0a, - 0x19, 0x52, 0x65, 0x76, 0x6f, 0x6b, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x29, 0x0a, 0x10, 0x69, 0x6e, - 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x4b, 0x65, 0x79, 0x12, 0x4b, 0x0a, 0x10, 0x77, 0x61, 0x6c, 0x6c, 0x65, 0x74, 0x5f, - 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x20, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x63, - 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x2e, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, - 0x65, 0x52, 0x0f, 0x77, 0x61, 0x6c, 0x6c, 0x65, 0x74, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, - 0x72, 0x65, 0x22, 0x6c, 0x0a, 0x19, 0x47, 0x65, 0x74, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, - 0x79, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, - 0x2b, 0x0a, 0x11, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, - 0x73, 0x73, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x10, 0x61, 0x63, 0x63, 0x6f, - 0x75, 0x6e, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x65, 0x73, 0x12, 0x22, 0x0a, 0x0d, - 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x6e, 0x73, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x04, 0x52, 0x0b, 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x4e, 0x73, - 0x22, 0xaf, 0x05, 0x0a, 0x1a, 0x47, 0x65, 0x74, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, - 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, - 0x53, 0x0a, 0x07, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, - 0x32, 0x39, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x6d, 0x6c, 0x73, 0x2e, 0x61, 0x70, 0x69, 0x2e, - 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x55, 0x70, - 0x64, 0x61, 0x74, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x57, 0x61, - 0x6c, 0x6c, 0x65, 0x74, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x73, 0x52, 0x07, 0x75, 0x70, 0x64, - 0x61, 0x74, 0x65, 0x73, 0x1a, 0x73, 0x0a, 0x15, 0x4e, 0x65, 0x77, 0x49, 0x6e, 0x73, 0x74, 0x61, - 0x6c, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x12, 0x29, 0x0a, - 0x10, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6b, 0x65, - 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4b, 0x65, 0x79, 0x12, 0x2f, 0x0a, 0x13, 0x63, 0x72, 0x65, 0x64, - 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x12, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, - 0x6c, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x1a, 0x46, 0x0a, 0x19, 0x52, 0x65, 0x76, - 0x6f, 0x6b, 0x65, 0x64, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x12, 0x29, 0x0a, 0x10, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6c, - 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, - 0x52, 0x0f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4b, 0x65, - 0x79, 0x1a, 0x9f, 0x02, 0x0a, 0x06, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x12, 0x21, 0x0a, 0x0c, - 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x5f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x04, 0x52, 0x0b, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x4e, 0x73, 0x12, - 0x6e, 0x0a, 0x10, 0x6e, 0x65, 0x77, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x41, 0x2e, 0x78, 0x6d, 0x74, 0x70, - 0x2e, 0x6d, 0x6c, 0x73, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x49, - 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x73, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x4e, 0x65, 0x77, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, - 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x48, 0x00, 0x52, 0x0f, - 0x6e, 0x65, 0x77, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, - 0x7a, 0x0a, 0x14, 0x72, 0x65, 0x76, 0x6f, 0x6b, 0x65, 0x64, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, - 0x6c, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x45, 0x2e, - 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x6d, 0x6c, 0x73, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, - 0x47, 0x65, 0x74, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x55, 0x70, 0x64, 0x61, 0x74, - 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x52, 0x65, 0x76, 0x6f, 0x6b, - 0x65, 0x64, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x55, 0x70, - 0x64, 0x61, 0x74, 0x65, 0x48, 0x00, 0x52, 0x13, 0x72, 0x65, 0x76, 0x6f, 0x6b, 0x65, 0x64, 0x49, - 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x06, 0x0a, 0x04, 0x6b, - 0x69, 0x6e, 0x64, 0x1a, 0x5d, 0x0a, 0x0d, 0x57, 0x61, 0x6c, 0x6c, 0x65, 0x74, 0x55, 0x70, 0x64, - 0x61, 0x74, 0x65, 0x73, 0x12, 0x4c, 0x0a, 0x07, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x73, 0x18, - 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x6d, 0x6c, 0x73, - 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x49, 0x64, 0x65, 0x6e, 0x74, - 0x69, 0x74, 0x79, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x07, 0x75, 0x70, 0x64, 0x61, 0x74, - 0x65, 0x73, 0x22, 0x7d, 0x0a, 0x0a, 0x50, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x49, 0x6e, 0x66, 0x6f, - 0x12, 0x3c, 0x0a, 0x09, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x0e, 0x32, 0x1e, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x6d, 0x6c, 0x73, 0x2e, 0x61, - 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x6f, 0x72, 0x74, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, - 0x69, 0x6f, 0x6e, 0x52, 0x09, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x14, - 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x6c, - 0x69, 0x6d, 0x69, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x69, 0x64, 0x5f, 0x63, 0x75, 0x72, 0x73, 0x6f, - 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x69, 0x64, 0x43, 0x75, 0x72, 0x73, 0x6f, - 0x72, 0x22, 0x74, 0x0a, 0x19, 0x51, 0x75, 0x65, 0x72, 0x79, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, - 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x19, - 0x0a, 0x08, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, - 0x52, 0x07, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x64, 0x12, 0x3c, 0x0a, 0x0b, 0x70, 0x61, 0x67, - 0x69, 0x6e, 0x67, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, - 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x6d, 0x6c, 0x73, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, - 0x2e, 0x50, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0a, 0x70, 0x61, 0x67, - 0x69, 0x6e, 0x67, 0x49, 0x6e, 0x66, 0x6f, 0x22, 0x95, 0x01, 0x0a, 0x1a, 0x51, 0x75, 0x65, 0x72, - 0x79, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x39, 0x0a, 0x08, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, - 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, - 0x6d, 0x6c, 0x73, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x72, 0x6f, 0x75, 0x70, - 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x08, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, - 0x73, 0x12, 0x3c, 0x0a, 0x0b, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x5f, 0x69, 0x6e, 0x66, 0x6f, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x6d, 0x6c, - 0x73, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x49, - 0x6e, 0x66, 0x6f, 0x52, 0x0a, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x49, 0x6e, 0x66, 0x6f, 0x22, - 0x86, 0x01, 0x0a, 0x1b, 0x51, 0x75, 0x65, 0x72, 0x79, 0x57, 0x65, 0x6c, 0x63, 0x6f, 0x6d, 0x65, - 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, - 0x29, 0x0a, 0x10, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, - 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0f, 0x69, 0x6e, 0x73, 0x74, 0x61, - 0x6c, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4b, 0x65, 0x79, 0x12, 0x3c, 0x0a, 0x0b, 0x70, 0x61, - 0x67, 0x69, 0x6e, 0x67, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x1b, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x6d, 0x6c, 0x73, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, - 0x31, 0x2e, 0x50, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0a, 0x70, 0x61, - 0x67, 0x69, 0x6e, 0x67, 0x49, 0x6e, 0x66, 0x6f, 0x22, 0x99, 0x01, 0x0a, 0x1c, 0x51, 0x75, 0x65, - 0x72, 0x79, 0x57, 0x65, 0x6c, 0x63, 0x6f, 0x6d, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, - 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3b, 0x0a, 0x08, 0x6d, 0x65, 0x73, - 0x73, 0x61, 0x67, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x78, 0x6d, - 0x74, 0x70, 0x2e, 0x6d, 0x6c, 0x73, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x65, - 0x6c, 0x63, 0x6f, 0x6d, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x08, 0x6d, 0x65, - 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x12, 0x3c, 0x0a, 0x0b, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x67, - 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x78, 0x6d, - 0x74, 0x70, 0x2e, 0x6d, 0x6c, 0x73, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x61, - 0x67, 0x69, 0x6e, 0x67, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0a, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x67, - 0x49, 0x6e, 0x66, 0x6f, 0x22, 0xb2, 0x01, 0x0a, 0x1d, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, - 0x62, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x4f, 0x0a, 0x07, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, - 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x6d, - 0x6c, 0x73, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, - 0x69, 0x62, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x52, 0x07, - 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x1a, 0x40, 0x0a, 0x06, 0x46, 0x69, 0x6c, 0x74, 0x65, - 0x72, 0x12, 0x19, 0x0a, 0x08, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x0c, 0x52, 0x07, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, - 0x69, 0x64, 0x5f, 0x63, 0x75, 0x72, 0x73, 0x6f, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, - 0x08, 0x69, 0x64, 0x43, 0x75, 0x72, 0x73, 0x6f, 0x72, 0x22, 0xc6, 0x01, 0x0a, 0x1f, 0x53, 0x75, - 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x57, 0x65, 0x6c, 0x63, 0x6f, 0x6d, 0x65, 0x4d, 0x65, - 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x51, 0x0a, - 0x07, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x37, - 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x6d, 0x6c, 0x73, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, - 0x2e, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x57, 0x65, 0x6c, 0x63, 0x6f, 0x6d, - 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x2e, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x52, 0x07, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, - 0x1a, 0x50, 0x0a, 0x06, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x29, 0x0a, 0x10, 0x69, 0x6e, - 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x4b, 0x65, 0x79, 0x12, 0x1b, 0x0a, 0x09, 0x69, 0x64, 0x5f, 0x63, 0x75, 0x72, 0x73, - 0x6f, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x69, 0x64, 0x43, 0x75, 0x72, 0x73, - 0x6f, 0x72, 0x2a, 0x6c, 0x0a, 0x0d, 0x53, 0x6f, 0x72, 0x74, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, - 0x69, 0x6f, 0x6e, 0x12, 0x1e, 0x0a, 0x1a, 0x53, 0x4f, 0x52, 0x54, 0x5f, 0x44, 0x49, 0x52, 0x45, - 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, - 0x44, 0x10, 0x00, 0x12, 0x1c, 0x0a, 0x18, 0x53, 0x4f, 0x52, 0x54, 0x5f, 0x44, 0x49, 0x52, 0x45, - 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x41, 0x53, 0x43, 0x45, 0x4e, 0x44, 0x49, 0x4e, 0x47, 0x10, - 0x01, 0x12, 0x1d, 0x0a, 0x19, 0x53, 0x4f, 0x52, 0x54, 0x5f, 0x44, 0x49, 0x52, 0x45, 0x43, 0x54, - 0x49, 0x4f, 0x4e, 0x5f, 0x44, 0x45, 0x53, 0x43, 0x45, 0x4e, 0x44, 0x49, 0x4e, 0x47, 0x10, 0x02, - 0x32, 0xcd, 0x0c, 0x0a, 0x06, 0x4d, 0x6c, 0x73, 0x41, 0x70, 0x69, 0x12, 0x7e, 0x0a, 0x11, 0x53, - 0x65, 0x6e, 0x64, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, - 0x12, 0x29, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x6d, 0x6c, 0x73, 0x2e, 0x61, 0x70, 0x69, 0x2e, - 0x76, 0x31, 0x2e, 0x53, 0x65, 0x6e, 0x64, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x65, 0x73, 0x73, - 0x61, 0x67, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, - 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, - 0x70, 0x74, 0x79, 0x22, 0x26, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x20, 0x3a, 0x01, 0x2a, 0x22, 0x1b, - 0x2f, 0x6d, 0x6c, 0x73, 0x2f, 0x76, 0x31, 0x2f, 0x73, 0x65, 0x6e, 0x64, 0x2d, 0x67, 0x72, 0x6f, - 0x75, 0x70, 0x2d, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x12, 0x84, 0x01, 0x0a, 0x13, - 0x53, 0x65, 0x6e, 0x64, 0x57, 0x65, 0x6c, 0x63, 0x6f, 0x6d, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, - 0x67, 0x65, 0x73, 0x12, 0x2b, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x6d, 0x6c, 0x73, 0x2e, 0x61, - 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x6e, 0x64, 0x57, 0x65, 0x6c, 0x63, 0x6f, 0x6d, - 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, - 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x28, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x22, - 0x3a, 0x01, 0x2a, 0x22, 0x1d, 0x2f, 0x6d, 0x6c, 0x73, 0x2f, 0x76, 0x31, 0x2f, 0x73, 0x65, 0x6e, - 0x64, 0x2d, 0x77, 0x65, 0x6c, 0x63, 0x6f, 0x6d, 0x65, 0x2d, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, - 0x65, 0x73, 0x12, 0x9d, 0x01, 0x0a, 0x14, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x49, - 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2c, 0x2e, 0x78, 0x6d, - 0x74, 0x70, 0x2e, 0x6d, 0x6c, 0x73, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, - 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2d, 0x2e, 0x78, 0x6d, 0x74, 0x70, - 0x2e, 0x6d, 0x6c, 0x73, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x67, 0x69, - 0x73, 0x74, 0x65, 0x72, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x28, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x22, - 0x3a, 0x01, 0x2a, 0x22, 0x1d, 0x2f, 0x6d, 0x6c, 0x73, 0x2f, 0x76, 0x31, 0x2f, 0x72, 0x65, 0x67, - 0x69, 0x73, 0x74, 0x65, 0x72, 0x2d, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x12, 0x7b, 0x0a, 0x10, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x4b, 0x65, 0x79, 0x50, - 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x12, 0x28, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x6d, 0x6c, - 0x73, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x4b, - 0x65, 0x79, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, - 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x25, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1f, - 0x3a, 0x01, 0x2a, 0x22, 0x1a, 0x2f, 0x6d, 0x6c, 0x73, 0x2f, 0x76, 0x31, 0x2f, 0x75, 0x70, 0x6c, - 0x6f, 0x61, 0x64, 0x2d, 0x6b, 0x65, 0x79, 0x2d, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x12, - 0x8e, 0x01, 0x0a, 0x10, 0x46, 0x65, 0x74, 0x63, 0x68, 0x4b, 0x65, 0x79, 0x50, 0x61, 0x63, 0x6b, - 0x61, 0x67, 0x65, 0x73, 0x12, 0x28, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x6d, 0x6c, 0x73, 0x2e, - 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x46, 0x65, 0x74, 0x63, 0x68, 0x4b, 0x65, 0x79, 0x50, - 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, - 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x6d, 0x6c, 0x73, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, - 0x2e, 0x46, 0x65, 0x74, 0x63, 0x68, 0x4b, 0x65, 0x79, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, - 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x25, 0x82, 0xd3, 0xe4, 0x93, 0x02, - 0x1f, 0x3a, 0x01, 0x2a, 0x22, 0x1a, 0x2f, 0x6d, 0x6c, 0x73, 0x2f, 0x76, 0x31, 0x2f, 0x66, 0x65, - 0x74, 0x63, 0x68, 0x2d, 0x6b, 0x65, 0x79, 0x2d, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x73, - 0x12, 0x80, 0x01, 0x0a, 0x12, 0x52, 0x65, 0x76, 0x6f, 0x6b, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, - 0x6c, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2a, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x6d, - 0x6c, 0x73, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x76, 0x6f, 0x6b, 0x65, - 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x26, 0x82, 0xd3, 0xe4, - 0x93, 0x02, 0x20, 0x3a, 0x01, 0x2a, 0x22, 0x1b, 0x2f, 0x6d, 0x6c, 0x73, 0x2f, 0x76, 0x31, 0x2f, - 0x72, 0x65, 0x76, 0x6f, 0x6b, 0x65, 0x2d, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x12, 0x96, 0x01, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x49, 0x64, 0x65, 0x6e, 0x74, - 0x69, 0x74, 0x79, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x73, 0x12, 0x2a, 0x2e, 0x78, 0x6d, 0x74, - 0x70, 0x2e, 0x6d, 0x6c, 0x73, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, - 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x73, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x6d, 0x6c, - 0x73, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x49, 0x64, 0x65, 0x6e, - 0x74, 0x69, 0x74, 0x79, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x22, 0x27, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x21, 0x3a, 0x01, 0x2a, 0x22, 0x1c, - 0x2f, 0x6d, 0x6c, 0x73, 0x2f, 0x76, 0x31, 0x2f, 0x67, 0x65, 0x74, 0x2d, 0x69, 0x64, 0x65, 0x6e, - 0x74, 0x69, 0x74, 0x79, 0x2d, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x73, 0x12, 0x96, 0x01, 0x0a, - 0x12, 0x51, 0x75, 0x65, 0x72, 0x79, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x65, 0x73, 0x73, 0x61, - 0x67, 0x65, 0x73, 0x12, 0x2a, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x6d, 0x6c, 0x73, 0x2e, 0x61, - 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x47, 0x72, 0x6f, 0x75, 0x70, - 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, - 0x2b, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x6d, 0x6c, 0x73, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, - 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x65, 0x73, 0x73, - 0x61, 0x67, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x27, 0x82, 0xd3, - 0xe4, 0x93, 0x02, 0x21, 0x3a, 0x01, 0x2a, 0x22, 0x1c, 0x2f, 0x6d, 0x6c, 0x73, 0x2f, 0x76, 0x31, - 0x2f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2d, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x2d, 0x6d, 0x65, 0x73, - 0x73, 0x61, 0x67, 0x65, 0x73, 0x12, 0x9e, 0x01, 0x0a, 0x14, 0x51, 0x75, 0x65, 0x72, 0x79, 0x57, - 0x65, 0x6c, 0x63, 0x6f, 0x6d, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x12, 0x2c, - 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x6d, 0x6c, 0x73, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, - 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x57, 0x65, 0x6c, 0x63, 0x6f, 0x6d, 0x65, 0x4d, 0x65, 0x73, - 0x73, 0x61, 0x67, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2d, 0x2e, 0x78, - 0x6d, 0x74, 0x70, 0x2e, 0x6d, 0x6c, 0x73, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x51, - 0x75, 0x65, 0x72, 0x79, 0x57, 0x65, 0x6c, 0x63, 0x6f, 0x6d, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, - 0x67, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x29, 0x82, 0xd3, 0xe4, - 0x93, 0x02, 0x23, 0x3a, 0x01, 0x2a, 0x22, 0x1e, 0x2f, 0x6d, 0x6c, 0x73, 0x2f, 0x76, 0x31, 0x2f, - 0x71, 0x75, 0x65, 0x72, 0x79, 0x2d, 0x77, 0x65, 0x6c, 0x63, 0x6f, 0x6d, 0x65, 0x2d, 0x6d, 0x65, - 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x12, 0x96, 0x01, 0x0a, 0x16, 0x53, 0x75, 0x62, 0x73, 0x63, - 0x72, 0x69, 0x62, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, - 0x73, 0x12, 0x2e, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x6d, 0x6c, 0x73, 0x2e, 0x61, 0x70, 0x69, - 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x47, 0x72, 0x6f, - 0x75, 0x70, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x1d, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x6d, 0x6c, 0x73, 0x2e, 0x61, 0x70, 0x69, - 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, - 0x22, 0x2b, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x25, 0x3a, 0x01, 0x2a, 0x22, 0x20, 0x2f, 0x6d, 0x6c, - 0x73, 0x2f, 0x76, 0x31, 0x2f, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x2d, 0x67, - 0x72, 0x6f, 0x75, 0x70, 0x2d, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x30, 0x01, 0x12, - 0x9e, 0x01, 0x0a, 0x18, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x57, 0x65, 0x6c, - 0x63, 0x6f, 0x6d, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x12, 0x30, 0x2e, 0x78, - 0x6d, 0x74, 0x70, 0x2e, 0x6d, 0x6c, 0x73, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x53, - 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x57, 0x65, 0x6c, 0x63, 0x6f, 0x6d, 0x65, 0x4d, - 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, - 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x6d, 0x6c, 0x73, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, - 0x2e, 0x57, 0x65, 0x6c, 0x63, 0x6f, 0x6d, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x22, - 0x2d, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x27, 0x3a, 0x01, 0x2a, 0x22, 0x22, 0x2f, 0x6d, 0x6c, 0x73, - 0x2f, 0x76, 0x31, 0x2f, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x2d, 0x77, 0x65, - 0x6c, 0x63, 0x6f, 0x6d, 0x65, 0x2d, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x30, 0x01, - 0x42, 0xf5, 0x01, 0x92, 0x41, 0x0f, 0x12, 0x0d, 0x0a, 0x06, 0x4d, 0x6c, 0x73, 0x41, 0x70, 0x69, - 0x32, 0x03, 0x31, 0x2e, 0x30, 0x0a, 0x2d, 0x6f, 0x72, 0x67, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, - 0x61, 0x6e, 0x64, 0x72, 0x6f, 0x69, 0x64, 0x2e, 0x6c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x2e, - 0x70, 0x75, 0x73, 0x68, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x6d, 0x6c, 0x73, 0x2e, 0x61, 0x70, - 0x69, 0x2e, 0x76, 0x31, 0x42, 0x08, 0x4d, 0x6c, 0x73, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, - 0x5a, 0x49, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x78, 0x6d, 0x74, - 0x70, 0x2f, 0x65, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x2d, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x69, - 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2d, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2d, 0x67, 0x6f, - 0x2f, 0x70, 0x6b, 0x67, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x6d, 0x6c, 0x73, 0x2f, 0x61, - 0x70, 0x69, 0x2f, 0x76, 0x31, 0x3b, 0x61, 0x70, 0x69, 0x76, 0x31, 0xa2, 0x02, 0x03, 0x58, 0x4d, - 0x41, 0xaa, 0x02, 0x0f, 0x58, 0x6d, 0x74, 0x70, 0x2e, 0x4d, 0x6c, 0x73, 0x2e, 0x41, 0x70, 0x69, - 0x2e, 0x56, 0x31, 0xca, 0x02, 0x0f, 0x58, 0x6d, 0x74, 0x70, 0x5c, 0x4d, 0x6c, 0x73, 0x5c, 0x41, - 0x70, 0x69, 0x5c, 0x56, 0x31, 0xe2, 0x02, 0x1b, 0x58, 0x6d, 0x74, 0x70, 0x5c, 0x4d, 0x6c, 0x73, - 0x5c, 0x41, 0x70, 0x69, 0x5c, 0x56, 0x31, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, - 0x61, 0x74, 0x61, 0xea, 0x02, 0x12, 0x58, 0x6d, 0x74, 0x70, 0x3a, 0x3a, 0x4d, 0x6c, 0x73, 0x3a, - 0x3a, 0x41, 0x70, 0x69, 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, -}) +const file_mls_api_v1_mls_proto_rawDesc = "" + + "\n" + + "\x14mls/api/v1/mls.proto\x12\x0fxmtp.mls.api.v1\x1a\x1cgoogle/api/annotations.proto\x1a\x1bgoogle/protobuf/empty.proto\x1a%identity/associations/signature.proto\x1a message_contents/signature.proto\x1a%mls/message_contents/commit_log.proto\x1a*mls/message_contents/welcome_pointer.proto\x1a-mls/message_contents/wrapper_encryption.proto\x1a.protoc-gen-openapiv2/options/annotations.proto\"\xfb\x05\n" + + "\x0eWelcomeMessage\x124\n" + + "\x02v1\x18\x01 \x01(\v2\".xmtp.mls.api.v1.WelcomeMessage.V1H\x00R\x02v1\x12Y\n" + + "\x0fwelcome_pointer\x18\x02 \x01(\v2..xmtp.mls.api.v1.WelcomeMessage.WelcomePointerH\x00R\x0ewelcomePointer\x1a\xa6\x02\n" + + "\x02V1\x12\x0e\n" + + "\x02id\x18\x01 \x01(\x04R\x02id\x12\x1d\n" + + "\n" + + "created_ns\x18\x02 \x01(\x04R\tcreatedNs\x12)\n" + + "\x10installation_key\x18\x03 \x01(\fR\x0finstallationKey\x12\x12\n" + + "\x04data\x18\x04 \x01(\fR\x04data\x12&\n" + + "\x0fhpke_public_key\x18\x05 \x01(\fR\rhpkePublicKey\x12_\n" + + "\x11wrapper_algorithm\x18\x06 \x01(\x0e22.xmtp.mls.message_contents.WelcomeWrapperAlgorithmR\x10wrapperAlgorithm\x12)\n" + + "\x10welcome_metadata\x18\a \x01(\fR\x0fwelcomeMetadata\x1a\xa3\x02\n" + + "\x0eWelcomePointer\x12\x0e\n" + + "\x02id\x18\x01 \x01(\x04R\x02id\x12\x1d\n" + + "\n" + + "created_ns\x18\x02 \x01(\x04R\tcreatedNs\x12)\n" + + "\x10installation_key\x18\x03 \x01(\fR\x0finstallationKey\x12'\n" + + "\x0fwelcome_pointer\x18\x04 \x01(\fR\x0ewelcomePointer\x12&\n" + + "\x0fhpke_public_key\x18\x05 \x01(\fR\rhpkePublicKey\x12f\n" + + "\x11wrapper_algorithm\x18\x06 \x01(\x0e29.xmtp.mls.message_contents.WelcomePointerWrapperAlgorithmR\x10wrapperAlgorithmB\t\n" + + "\aversion\"\xac\x05\n" + + "\x13WelcomeMessageInput\x129\n" + + "\x02v1\x18\x01 \x01(\v2'.xmtp.mls.api.v1.WelcomeMessageInput.V1H\x00R\x02v1\x12^\n" + + "\x0fwelcome_pointer\x18\x02 \x01(\v23.xmtp.mls.api.v1.WelcomeMessageInput.WelcomePointerH\x00R\x0ewelcomePointer\x1a\xf7\x01\n" + + "\x02V1\x12)\n" + + "\x10installation_key\x18\x01 \x01(\fR\x0finstallationKey\x12\x12\n" + + "\x04data\x18\x02 \x01(\fR\x04data\x12&\n" + + "\x0fhpke_public_key\x18\x03 \x01(\fR\rhpkePublicKey\x12_\n" + + "\x11wrapper_algorithm\x18\x04 \x01(\x0e22.xmtp.mls.message_contents.WelcomeWrapperAlgorithmR\x10wrapperAlgorithm\x12)\n" + + "\x10welcome_metadata\x18\a \x01(\fR\x0fwelcomeMetadata\x1a\xf4\x01\n" + + "\x0eWelcomePointer\x12)\n" + + "\x10installation_key\x18\x01 \x01(\fR\x0finstallationKey\x12'\n" + + "\x0fwelcome_pointer\x18\x02 \x01(\fR\x0ewelcomePointer\x12&\n" + + "\x0fhpke_public_key\x18\x03 \x01(\fR\rhpkePublicKey\x12f\n" + + "\x11wrapper_algorithm\x18\x04 \x01(\x0e29.xmtp.mls.message_contents.WelcomePointerWrapperAlgorithmR\x10wrapperAlgorithmB\t\n" + + "\aversion\"8\n" + + "\x0fWelcomeMetadata\x12%\n" + + "\x0emessage_cursor\x18\x01 \x01(\x04R\rmessageCursor\"\x91\x02\n" + + "\fGroupMessage\x122\n" + + "\x02v1\x18\x01 \x01(\v2 .xmtp.mls.api.v1.GroupMessage.V1H\x00R\x02v1\x1a\xc1\x01\n" + + "\x02V1\x12\x0e\n" + + "\x02id\x18\x01 \x01(\x04R\x02id\x12\x1d\n" + + "\n" + + "created_ns\x18\x02 \x01(\x04R\tcreatedNs\x12\x19\n" + + "\bgroup_id\x18\x03 \x01(\fR\agroupId\x12\x12\n" + + "\x04data\x18\x04 \x01(\fR\x04data\x12\x1f\n" + + "\vsender_hmac\x18\x05 \x01(\fR\n" + + "senderHmac\x12\x1f\n" + + "\vshould_push\x18\x06 \x01(\bR\n" + + "shouldPush\x12\x1b\n" + + "\tis_commit\x18\a \x01(\bR\bisCommitB\t\n" + + "\aversion\"\xb3\x01\n" + + "\x11GroupMessageInput\x127\n" + + "\x02v1\x18\x01 \x01(\v2%.xmtp.mls.api.v1.GroupMessageInput.V1H\x00R\x02v1\x1aZ\n" + + "\x02V1\x12\x12\n" + + "\x04data\x18\x01 \x01(\fR\x04data\x12\x1f\n" + + "\vsender_hmac\x18\x02 \x01(\fR\n" + + "senderHmac\x12\x1f\n" + + "\vshould_push\x18\x03 \x01(\bR\n" + + "shouldPushB\t\n" + + "\aversion\"Z\n" + + "\x18SendGroupMessagesRequest\x12>\n" + + "\bmessages\x18\x01 \x03(\v2\".xmtp.mls.api.v1.GroupMessageInputR\bmessages\"^\n" + + "\x1aSendWelcomeMessagesRequest\x12@\n" + + "\bmessages\x18\x01 \x03(\v2$.xmtp.mls.api.v1.WelcomeMessageInputR\bmessages\"O\n" + + "\x10KeyPackageUpload\x12;\n" + + "\x1akey_package_tls_serialized\x18\x01 \x01(\fR\x17keyPackageTlsSerialized\"\x96\x01\n" + + "\x1bRegisterInstallationRequest\x12B\n" + + "\vkey_package\x18\x01 \x01(\v2!.xmtp.mls.api.v1.KeyPackageUploadR\n" + + "keyPackage\x123\n" + + "\x16is_inbox_id_credential\x18\x02 \x01(\bR\x13isInboxIdCredential\"I\n" + + "\x1cRegisterInstallationResponse\x12)\n" + + "\x10installation_key\x18\x01 \x01(\fR\x0finstallationKey\"\x92\x01\n" + + "\x17UploadKeyPackageRequest\x12B\n" + + "\vkey_package\x18\x01 \x01(\v2!.xmtp.mls.api.v1.KeyPackageUploadR\n" + + "keyPackage\x123\n" + + "\x16is_inbox_id_credential\x18\x02 \x01(\bR\x13isInboxIdCredential\"F\n" + + "\x17FetchKeyPackagesRequest\x12+\n" + + "\x11installation_keys\x18\x01 \x03(\fR\x10installationKeys\"\xbe\x01\n" + + "\x18FetchKeyPackagesResponse\x12W\n" + + "\fkey_packages\x18\x01 \x03(\v24.xmtp.mls.api.v1.FetchKeyPackagesResponse.KeyPackageR\vkeyPackages\x1aI\n" + + "\n" + + "KeyPackage\x12;\n" + + "\x1akey_package_tls_serialized\x18\x01 \x01(\fR\x17keyPackageTlsSerialized\"\x93\x01\n" + + "\x19RevokeInstallationRequest\x12)\n" + + "\x10installation_key\x18\x01 \x01(\fR\x0finstallationKey\x12K\n" + + "\x10wallet_signature\x18\x02 \x01(\v2 .xmtp.message_contents.SignatureR\x0fwalletSignature\"l\n" + + "\x19GetIdentityUpdatesRequest\x12+\n" + + "\x11account_addresses\x18\x01 \x03(\tR\x10accountAddresses\x12\"\n" + + "\rstart_time_ns\x18\x02 \x01(\x04R\vstartTimeNs\"\xaf\x05\n" + + "\x1aGetIdentityUpdatesResponse\x12S\n" + + "\aupdates\x18\x01 \x03(\v29.xmtp.mls.api.v1.GetIdentityUpdatesResponse.WalletUpdatesR\aupdates\x1as\n" + + "\x15NewInstallationUpdate\x12)\n" + + "\x10installation_key\x18\x01 \x01(\fR\x0finstallationKey\x12/\n" + + "\x13credential_identity\x18\x02 \x01(\fR\x12credentialIdentity\x1aF\n" + + "\x19RevokedInstallationUpdate\x12)\n" + + "\x10installation_key\x18\x01 \x01(\fR\x0finstallationKey\x1a\x9f\x02\n" + + "\x06Update\x12!\n" + + "\ftimestamp_ns\x18\x01 \x01(\x04R\vtimestampNs\x12n\n" + + "\x10new_installation\x18\x02 \x01(\v2A.xmtp.mls.api.v1.GetIdentityUpdatesResponse.NewInstallationUpdateH\x00R\x0fnewInstallation\x12z\n" + + "\x14revoked_installation\x18\x03 \x01(\v2E.xmtp.mls.api.v1.GetIdentityUpdatesResponse.RevokedInstallationUpdateH\x00R\x13revokedInstallationB\x06\n" + + "\x04kind\x1a]\n" + + "\rWalletUpdates\x12L\n" + + "\aupdates\x18\x01 \x03(\v22.xmtp.mls.api.v1.GetIdentityUpdatesResponse.UpdateR\aupdates\"}\n" + + "\n" + + "PagingInfo\x12<\n" + + "\tdirection\x18\x01 \x01(\x0e2\x1e.xmtp.mls.api.v1.SortDirectionR\tdirection\x12\x14\n" + + "\x05limit\x18\x02 \x01(\rR\x05limit\x12\x1b\n" + + "\tid_cursor\x18\x03 \x01(\x04R\bidCursor\"t\n" + + "\x19QueryGroupMessagesRequest\x12\x19\n" + + "\bgroup_id\x18\x01 \x01(\fR\agroupId\x12<\n" + + "\vpaging_info\x18\x02 \x01(\v2\x1b.xmtp.mls.api.v1.PagingInfoR\n" + + "pagingInfo\"\x95\x01\n" + + "\x1aQueryGroupMessagesResponse\x129\n" + + "\bmessages\x18\x01 \x03(\v2\x1d.xmtp.mls.api.v1.GroupMessageR\bmessages\x12<\n" + + "\vpaging_info\x18\x02 \x01(\v2\x1b.xmtp.mls.api.v1.PagingInfoR\n" + + "pagingInfo\"\x86\x01\n" + + "\x1bQueryWelcomeMessagesRequest\x12)\n" + + "\x10installation_key\x18\x01 \x01(\fR\x0finstallationKey\x12<\n" + + "\vpaging_info\x18\x02 \x01(\v2\x1b.xmtp.mls.api.v1.PagingInfoR\n" + + "pagingInfo\"\x99\x01\n" + + "\x1cQueryWelcomeMessagesResponse\x12;\n" + + "\bmessages\x18\x01 \x03(\v2\x1f.xmtp.mls.api.v1.WelcomeMessageR\bmessages\x12<\n" + + "\vpaging_info\x18\x02 \x01(\v2\x1b.xmtp.mls.api.v1.PagingInfoR\n" + + "pagingInfo\"\xb2\x01\n" + + "\x1dSubscribeGroupMessagesRequest\x12O\n" + + "\afilters\x18\x01 \x03(\v25.xmtp.mls.api.v1.SubscribeGroupMessagesRequest.FilterR\afilters\x1a@\n" + + "\x06Filter\x12\x19\n" + + "\bgroup_id\x18\x01 \x01(\fR\agroupId\x12\x1b\n" + + "\tid_cursor\x18\x02 \x01(\x04R\bidCursor\"\xc6\x01\n" + + "\x1fSubscribeWelcomeMessagesRequest\x12Q\n" + + "\afilters\x18\x01 \x03(\v27.xmtp.mls.api.v1.SubscribeWelcomeMessagesRequest.FilterR\afilters\x1aP\n" + + "\x06Filter\x12)\n" + + "\x10installation_key\x18\x01 \x01(\fR\x0finstallationKey\x12\x1b\n" + + "\tid_cursor\x18\x02 \x01(\x04R\bidCursor\"d\n" + + "\x1cBatchPublishCommitLogRequest\x12D\n" + + "\brequests\x18\x01 \x03(\v2(.xmtp.mls.api.v1.PublishCommitLogRequestR\brequests\"\xca\x01\n" + + "\x17PublishCommitLogRequest\x12\x19\n" + + "\bgroup_id\x18\x01 \x01(\fR\agroupId\x12=\n" + + "\x1bserialized_commit_log_entry\x18\x02 \x01(\fR\x18serializedCommitLogEntry\x12U\n" + + "\tsignature\x18\x03 \x01(\v27.xmtp.identity.associations.RecoverableEd25519SignatureR\tsignature\"p\n" + + "\x15QueryCommitLogRequest\x12\x19\n" + + "\bgroup_id\x18\x01 \x01(\fR\agroupId\x12<\n" + + "\vpaging_info\x18\x02 \x01(\v2\x1b.xmtp.mls.api.v1.PagingInfoR\n" + + "pagingInfo\"\xca\x01\n" + + "\x16QueryCommitLogResponse\x12\x19\n" + + "\bgroup_id\x18\x01 \x01(\fR\agroupId\x12W\n" + + "\x12commit_log_entries\x18\x02 \x03(\v2).xmtp.mls.message_contents.CommitLogEntryR\x10commitLogEntries\x12<\n" + + "\vpaging_info\x18\x03 \x01(\v2\x1b.xmtp.mls.api.v1.PagingInfoR\n" + + "pagingInfo\"`\n" + + "\x1aBatchQueryCommitLogRequest\x12B\n" + + "\brequests\x18\x01 \x03(\v2&.xmtp.mls.api.v1.QueryCommitLogRequestR\brequests\"d\n" + + "\x1bBatchQueryCommitLogResponse\x12E\n" + + "\tresponses\x18\x01 \x03(\v2'.xmtp.mls.api.v1.QueryCommitLogResponseR\tresponses\"d\n" + + "\x1cGetNewestGroupMessageRequest\x12\x1b\n" + + "\tgroup_ids\x18\x01 \x03(\fR\bgroupIds\x12'\n" + + "\x0finclude_content\x18\x02 \x01(\bR\x0eincludeContent\"\xdd\x01\n" + + "\x1dGetNewestGroupMessageResponse\x12U\n" + + "\tresponses\x18\x01 \x03(\v27.xmtp.mls.api.v1.GetNewestGroupMessageResponse.ResponseR\tresponses\x1ae\n" + + "\bResponse\x12G\n" + + "\rgroup_message\x18\x01 \x01(\v2\x1d.xmtp.mls.api.v1.GroupMessageH\x00R\fgroupMessage\x88\x01\x01B\x10\n" + + "\x0e_group_message*l\n" + + "\rSortDirection\x12\x1e\n" + + "\x1aSORT_DIRECTION_UNSPECIFIED\x10\x00\x12\x1c\n" + + "\x18SORT_DIRECTION_ASCENDING\x10\x01\x12\x1d\n" + + "\x19SORT_DIRECTION_DESCENDING\x10\x022\x9c\x10\n" + + "\x06MlsApi\x12~\n" + + "\x11SendGroupMessages\x12).xmtp.mls.api.v1.SendGroupMessagesRequest\x1a\x16.google.protobuf.Empty\"&\x82\xd3\xe4\x93\x02 :\x01*\"\x1b/mls/v1/send-group-messages\x12\x84\x01\n" + + "\x13SendWelcomeMessages\x12+.xmtp.mls.api.v1.SendWelcomeMessagesRequest\x1a\x16.google.protobuf.Empty\"(\x82\xd3\xe4\x93\x02\":\x01*\"\x1d/mls/v1/send-welcome-messages\x12\x9d\x01\n" + + "\x14RegisterInstallation\x12,.xmtp.mls.api.v1.RegisterInstallationRequest\x1a-.xmtp.mls.api.v1.RegisterInstallationResponse\"(\x82\xd3\xe4\x93\x02\":\x01*\"\x1d/mls/v1/register-installation\x12{\n" + + "\x10UploadKeyPackage\x12(.xmtp.mls.api.v1.UploadKeyPackageRequest\x1a\x16.google.protobuf.Empty\"%\x82\xd3\xe4\x93\x02\x1f:\x01*\"\x1a/mls/v1/upload-key-package\x12\x8e\x01\n" + + "\x10FetchKeyPackages\x12(.xmtp.mls.api.v1.FetchKeyPackagesRequest\x1a).xmtp.mls.api.v1.FetchKeyPackagesResponse\"%\x82\xd3\xe4\x93\x02\x1f:\x01*\"\x1a/mls/v1/fetch-key-packages\x12\x80\x01\n" + + "\x12RevokeInstallation\x12*.xmtp.mls.api.v1.RevokeInstallationRequest\x1a\x16.google.protobuf.Empty\"&\x82\xd3\xe4\x93\x02 :\x01*\"\x1b/mls/v1/revoke-installation\x12\x96\x01\n" + + "\x12GetIdentityUpdates\x12*.xmtp.mls.api.v1.GetIdentityUpdatesRequest\x1a+.xmtp.mls.api.v1.GetIdentityUpdatesResponse\"'\x82\xd3\xe4\x93\x02!:\x01*\"\x1c/mls/v1/get-identity-updates\x12\x96\x01\n" + + "\x12QueryGroupMessages\x12*.xmtp.mls.api.v1.QueryGroupMessagesRequest\x1a+.xmtp.mls.api.v1.QueryGroupMessagesResponse\"'\x82\xd3\xe4\x93\x02!:\x01*\"\x1c/mls/v1/query-group-messages\x12\x9e\x01\n" + + "\x14QueryWelcomeMessages\x12,.xmtp.mls.api.v1.QueryWelcomeMessagesRequest\x1a-.xmtp.mls.api.v1.QueryWelcomeMessagesResponse\")\x82\xd3\xe4\x93\x02#:\x01*\"\x1e/mls/v1/query-welcome-messages\x12\x96\x01\n" + + "\x16SubscribeGroupMessages\x12..xmtp.mls.api.v1.SubscribeGroupMessagesRequest\x1a\x1d.xmtp.mls.api.v1.GroupMessage\"+\x82\xd3\xe4\x93\x02%:\x01*\" /mls/v1/subscribe-group-messages0\x01\x12\x9e\x01\n" + + "\x18SubscribeWelcomeMessages\x120.xmtp.mls.api.v1.SubscribeWelcomeMessagesRequest\x1a\x1f.xmtp.mls.api.v1.WelcomeMessage\"-\x82\xd3\xe4\x93\x02':\x01*\"\"/mls/v1/subscribe-welcome-messages0\x01\x12\x8b\x01\n" + + "\x15BatchPublishCommitLog\x12-.xmtp.mls.api.v1.BatchPublishCommitLogRequest\x1a\x16.google.protobuf.Empty\"+\x82\xd3\xe4\x93\x02%:\x01*\" /mls/v1/batch-publish-commit-log\x12\x9b\x01\n" + + "\x13BatchQueryCommitLog\x12+.xmtp.mls.api.v1.BatchQueryCommitLogRequest\x1a,.xmtp.mls.api.v1.BatchQueryCommitLogResponse\")\x82\xd3\xe4\x93\x02#:\x01*\"\x1e/mls/v1/batch-query-commit-log\x12\xa0\x01\n" + + "\x15GetNewestGroupMessage\x12-.xmtp.mls.api.v1.GetNewestGroupMessageRequest\x1a..xmtp.mls.api.v1.GetNewestGroupMessageResponse\"(\x82\xd3\xe4\x93\x02\"\x12 /mls/v1/get-newest-group-messageB\xf5\x01\x92A\x0f\x12\r\n" + + "\x06MlsApi2\x031.0\n" + + "-org.xmtp.android.library.push.xmtp.mls.api.v1B\bMlsProtoP\x01ZIgithub.com/xmtp/example-notification-server-go/pkg/proto/mls/api/v1;apiv1\xa2\x02\x03XMA\xaa\x02\x0fXmtp.Mls.Api.V1\xca\x02\x0fXmtp\\Mls\\Api\\V1\xe2\x02\x1bXmtp\\Mls\\Api\\V1\\GPBMetadata\xea\x02\x12Xmtp::Mls::Api::V1b\x06proto3" var ( file_mls_api_v1_mls_proto_rawDescOnce sync.Once @@ -2311,96 +2860,133 @@ func file_mls_api_v1_mls_proto_rawDescGZIP() []byte { } var file_mls_api_v1_mls_proto_enumTypes = make([]protoimpl.EnumInfo, 1) -var file_mls_api_v1_mls_proto_msgTypes = make([]protoimpl.MessageInfo, 33) +var file_mls_api_v1_mls_proto_msgTypes = make([]protoimpl.MessageInfo, 45) var file_mls_api_v1_mls_proto_goTypes = []any{ (SortDirection)(0), // 0: xmtp.mls.api.v1.SortDirection (*WelcomeMessage)(nil), // 1: xmtp.mls.api.v1.WelcomeMessage (*WelcomeMessageInput)(nil), // 2: xmtp.mls.api.v1.WelcomeMessageInput - (*GroupMessage)(nil), // 3: xmtp.mls.api.v1.GroupMessage - (*GroupMessageInput)(nil), // 4: xmtp.mls.api.v1.GroupMessageInput - (*SendGroupMessagesRequest)(nil), // 5: xmtp.mls.api.v1.SendGroupMessagesRequest - (*SendWelcomeMessagesRequest)(nil), // 6: xmtp.mls.api.v1.SendWelcomeMessagesRequest - (*KeyPackageUpload)(nil), // 7: xmtp.mls.api.v1.KeyPackageUpload - (*RegisterInstallationRequest)(nil), // 8: xmtp.mls.api.v1.RegisterInstallationRequest - (*RegisterInstallationResponse)(nil), // 9: xmtp.mls.api.v1.RegisterInstallationResponse - (*UploadKeyPackageRequest)(nil), // 10: xmtp.mls.api.v1.UploadKeyPackageRequest - (*FetchKeyPackagesRequest)(nil), // 11: xmtp.mls.api.v1.FetchKeyPackagesRequest - (*FetchKeyPackagesResponse)(nil), // 12: xmtp.mls.api.v1.FetchKeyPackagesResponse - (*RevokeInstallationRequest)(nil), // 13: xmtp.mls.api.v1.RevokeInstallationRequest - (*GetIdentityUpdatesRequest)(nil), // 14: xmtp.mls.api.v1.GetIdentityUpdatesRequest - (*GetIdentityUpdatesResponse)(nil), // 15: xmtp.mls.api.v1.GetIdentityUpdatesResponse - (*PagingInfo)(nil), // 16: xmtp.mls.api.v1.PagingInfo - (*QueryGroupMessagesRequest)(nil), // 17: xmtp.mls.api.v1.QueryGroupMessagesRequest - (*QueryGroupMessagesResponse)(nil), // 18: xmtp.mls.api.v1.QueryGroupMessagesResponse - (*QueryWelcomeMessagesRequest)(nil), // 19: xmtp.mls.api.v1.QueryWelcomeMessagesRequest - (*QueryWelcomeMessagesResponse)(nil), // 20: xmtp.mls.api.v1.QueryWelcomeMessagesResponse - (*SubscribeGroupMessagesRequest)(nil), // 21: xmtp.mls.api.v1.SubscribeGroupMessagesRequest - (*SubscribeWelcomeMessagesRequest)(nil), // 22: xmtp.mls.api.v1.SubscribeWelcomeMessagesRequest - (*WelcomeMessage_V1)(nil), // 23: xmtp.mls.api.v1.WelcomeMessage.V1 - (*WelcomeMessageInput_V1)(nil), // 24: xmtp.mls.api.v1.WelcomeMessageInput.V1 - (*GroupMessage_V1)(nil), // 25: xmtp.mls.api.v1.GroupMessage.V1 - (*GroupMessageInput_V1)(nil), // 26: xmtp.mls.api.v1.GroupMessageInput.V1 - (*FetchKeyPackagesResponse_KeyPackage)(nil), // 27: xmtp.mls.api.v1.FetchKeyPackagesResponse.KeyPackage - (*GetIdentityUpdatesResponse_NewInstallationUpdate)(nil), // 28: xmtp.mls.api.v1.GetIdentityUpdatesResponse.NewInstallationUpdate - (*GetIdentityUpdatesResponse_RevokedInstallationUpdate)(nil), // 29: xmtp.mls.api.v1.GetIdentityUpdatesResponse.RevokedInstallationUpdate - (*GetIdentityUpdatesResponse_Update)(nil), // 30: xmtp.mls.api.v1.GetIdentityUpdatesResponse.Update - (*GetIdentityUpdatesResponse_WalletUpdates)(nil), // 31: xmtp.mls.api.v1.GetIdentityUpdatesResponse.WalletUpdates - (*SubscribeGroupMessagesRequest_Filter)(nil), // 32: xmtp.mls.api.v1.SubscribeGroupMessagesRequest.Filter - (*SubscribeWelcomeMessagesRequest_Filter)(nil), // 33: xmtp.mls.api.v1.SubscribeWelcomeMessagesRequest.Filter - (*message_contents.Signature)(nil), // 34: xmtp.message_contents.Signature - (*emptypb.Empty)(nil), // 35: google.protobuf.Empty + (*WelcomeMetadata)(nil), // 3: xmtp.mls.api.v1.WelcomeMetadata + (*GroupMessage)(nil), // 4: xmtp.mls.api.v1.GroupMessage + (*GroupMessageInput)(nil), // 5: xmtp.mls.api.v1.GroupMessageInput + (*SendGroupMessagesRequest)(nil), // 6: xmtp.mls.api.v1.SendGroupMessagesRequest + (*SendWelcomeMessagesRequest)(nil), // 7: xmtp.mls.api.v1.SendWelcomeMessagesRequest + (*KeyPackageUpload)(nil), // 8: xmtp.mls.api.v1.KeyPackageUpload + (*RegisterInstallationRequest)(nil), // 9: xmtp.mls.api.v1.RegisterInstallationRequest + (*RegisterInstallationResponse)(nil), // 10: xmtp.mls.api.v1.RegisterInstallationResponse + (*UploadKeyPackageRequest)(nil), // 11: xmtp.mls.api.v1.UploadKeyPackageRequest + (*FetchKeyPackagesRequest)(nil), // 12: xmtp.mls.api.v1.FetchKeyPackagesRequest + (*FetchKeyPackagesResponse)(nil), // 13: xmtp.mls.api.v1.FetchKeyPackagesResponse + (*RevokeInstallationRequest)(nil), // 14: xmtp.mls.api.v1.RevokeInstallationRequest + (*GetIdentityUpdatesRequest)(nil), // 15: xmtp.mls.api.v1.GetIdentityUpdatesRequest + (*GetIdentityUpdatesResponse)(nil), // 16: xmtp.mls.api.v1.GetIdentityUpdatesResponse + (*PagingInfo)(nil), // 17: xmtp.mls.api.v1.PagingInfo + (*QueryGroupMessagesRequest)(nil), // 18: xmtp.mls.api.v1.QueryGroupMessagesRequest + (*QueryGroupMessagesResponse)(nil), // 19: xmtp.mls.api.v1.QueryGroupMessagesResponse + (*QueryWelcomeMessagesRequest)(nil), // 20: xmtp.mls.api.v1.QueryWelcomeMessagesRequest + (*QueryWelcomeMessagesResponse)(nil), // 21: xmtp.mls.api.v1.QueryWelcomeMessagesResponse + (*SubscribeGroupMessagesRequest)(nil), // 22: xmtp.mls.api.v1.SubscribeGroupMessagesRequest + (*SubscribeWelcomeMessagesRequest)(nil), // 23: xmtp.mls.api.v1.SubscribeWelcomeMessagesRequest + (*BatchPublishCommitLogRequest)(nil), // 24: xmtp.mls.api.v1.BatchPublishCommitLogRequest + (*PublishCommitLogRequest)(nil), // 25: xmtp.mls.api.v1.PublishCommitLogRequest + (*QueryCommitLogRequest)(nil), // 26: xmtp.mls.api.v1.QueryCommitLogRequest + (*QueryCommitLogResponse)(nil), // 27: xmtp.mls.api.v1.QueryCommitLogResponse + (*BatchQueryCommitLogRequest)(nil), // 28: xmtp.mls.api.v1.BatchQueryCommitLogRequest + (*BatchQueryCommitLogResponse)(nil), // 29: xmtp.mls.api.v1.BatchQueryCommitLogResponse + (*GetNewestGroupMessageRequest)(nil), // 30: xmtp.mls.api.v1.GetNewestGroupMessageRequest + (*GetNewestGroupMessageResponse)(nil), // 31: xmtp.mls.api.v1.GetNewestGroupMessageResponse + (*WelcomeMessage_V1)(nil), // 32: xmtp.mls.api.v1.WelcomeMessage.V1 + (*WelcomeMessage_WelcomePointer)(nil), // 33: xmtp.mls.api.v1.WelcomeMessage.WelcomePointer + (*WelcomeMessageInput_V1)(nil), // 34: xmtp.mls.api.v1.WelcomeMessageInput.V1 + (*WelcomeMessageInput_WelcomePointer)(nil), // 35: xmtp.mls.api.v1.WelcomeMessageInput.WelcomePointer + (*GroupMessage_V1)(nil), // 36: xmtp.mls.api.v1.GroupMessage.V1 + (*GroupMessageInput_V1)(nil), // 37: xmtp.mls.api.v1.GroupMessageInput.V1 + (*FetchKeyPackagesResponse_KeyPackage)(nil), // 38: xmtp.mls.api.v1.FetchKeyPackagesResponse.KeyPackage + (*GetIdentityUpdatesResponse_NewInstallationUpdate)(nil), // 39: xmtp.mls.api.v1.GetIdentityUpdatesResponse.NewInstallationUpdate + (*GetIdentityUpdatesResponse_RevokedInstallationUpdate)(nil), // 40: xmtp.mls.api.v1.GetIdentityUpdatesResponse.RevokedInstallationUpdate + (*GetIdentityUpdatesResponse_Update)(nil), // 41: xmtp.mls.api.v1.GetIdentityUpdatesResponse.Update + (*GetIdentityUpdatesResponse_WalletUpdates)(nil), // 42: xmtp.mls.api.v1.GetIdentityUpdatesResponse.WalletUpdates + (*SubscribeGroupMessagesRequest_Filter)(nil), // 43: xmtp.mls.api.v1.SubscribeGroupMessagesRequest.Filter + (*SubscribeWelcomeMessagesRequest_Filter)(nil), // 44: xmtp.mls.api.v1.SubscribeWelcomeMessagesRequest.Filter + (*GetNewestGroupMessageResponse_Response)(nil), // 45: xmtp.mls.api.v1.GetNewestGroupMessageResponse.Response + (*message_contents.Signature)(nil), // 46: xmtp.message_contents.Signature + (*associations.RecoverableEd25519Signature)(nil), // 47: xmtp.identity.associations.RecoverableEd25519Signature + (*message_contents1.CommitLogEntry)(nil), // 48: xmtp.mls.message_contents.CommitLogEntry + (message_contents1.WelcomeWrapperAlgorithm)(0), // 49: xmtp.mls.message_contents.WelcomeWrapperAlgorithm + (message_contents1.WelcomePointerWrapperAlgorithm)(0), // 50: xmtp.mls.message_contents.WelcomePointerWrapperAlgorithm + (*emptypb.Empty)(nil), // 51: google.protobuf.Empty } var file_mls_api_v1_mls_proto_depIdxs = []int32{ - 23, // 0: xmtp.mls.api.v1.WelcomeMessage.v1:type_name -> xmtp.mls.api.v1.WelcomeMessage.V1 - 24, // 1: xmtp.mls.api.v1.WelcomeMessageInput.v1:type_name -> xmtp.mls.api.v1.WelcomeMessageInput.V1 - 25, // 2: xmtp.mls.api.v1.GroupMessage.v1:type_name -> xmtp.mls.api.v1.GroupMessage.V1 - 26, // 3: xmtp.mls.api.v1.GroupMessageInput.v1:type_name -> xmtp.mls.api.v1.GroupMessageInput.V1 - 4, // 4: xmtp.mls.api.v1.SendGroupMessagesRequest.messages:type_name -> xmtp.mls.api.v1.GroupMessageInput - 2, // 5: xmtp.mls.api.v1.SendWelcomeMessagesRequest.messages:type_name -> xmtp.mls.api.v1.WelcomeMessageInput - 7, // 6: xmtp.mls.api.v1.RegisterInstallationRequest.key_package:type_name -> xmtp.mls.api.v1.KeyPackageUpload - 7, // 7: xmtp.mls.api.v1.UploadKeyPackageRequest.key_package:type_name -> xmtp.mls.api.v1.KeyPackageUpload - 27, // 8: xmtp.mls.api.v1.FetchKeyPackagesResponse.key_packages:type_name -> xmtp.mls.api.v1.FetchKeyPackagesResponse.KeyPackage - 34, // 9: xmtp.mls.api.v1.RevokeInstallationRequest.wallet_signature:type_name -> xmtp.message_contents.Signature - 31, // 10: xmtp.mls.api.v1.GetIdentityUpdatesResponse.updates:type_name -> xmtp.mls.api.v1.GetIdentityUpdatesResponse.WalletUpdates - 0, // 11: xmtp.mls.api.v1.PagingInfo.direction:type_name -> xmtp.mls.api.v1.SortDirection - 16, // 12: xmtp.mls.api.v1.QueryGroupMessagesRequest.paging_info:type_name -> xmtp.mls.api.v1.PagingInfo - 3, // 13: xmtp.mls.api.v1.QueryGroupMessagesResponse.messages:type_name -> xmtp.mls.api.v1.GroupMessage - 16, // 14: xmtp.mls.api.v1.QueryGroupMessagesResponse.paging_info:type_name -> xmtp.mls.api.v1.PagingInfo - 16, // 15: xmtp.mls.api.v1.QueryWelcomeMessagesRequest.paging_info:type_name -> xmtp.mls.api.v1.PagingInfo - 1, // 16: xmtp.mls.api.v1.QueryWelcomeMessagesResponse.messages:type_name -> xmtp.mls.api.v1.WelcomeMessage - 16, // 17: xmtp.mls.api.v1.QueryWelcomeMessagesResponse.paging_info:type_name -> xmtp.mls.api.v1.PagingInfo - 32, // 18: xmtp.mls.api.v1.SubscribeGroupMessagesRequest.filters:type_name -> xmtp.mls.api.v1.SubscribeGroupMessagesRequest.Filter - 33, // 19: xmtp.mls.api.v1.SubscribeWelcomeMessagesRequest.filters:type_name -> xmtp.mls.api.v1.SubscribeWelcomeMessagesRequest.Filter - 28, // 20: xmtp.mls.api.v1.GetIdentityUpdatesResponse.Update.new_installation:type_name -> xmtp.mls.api.v1.GetIdentityUpdatesResponse.NewInstallationUpdate - 29, // 21: xmtp.mls.api.v1.GetIdentityUpdatesResponse.Update.revoked_installation:type_name -> xmtp.mls.api.v1.GetIdentityUpdatesResponse.RevokedInstallationUpdate - 30, // 22: xmtp.mls.api.v1.GetIdentityUpdatesResponse.WalletUpdates.updates:type_name -> xmtp.mls.api.v1.GetIdentityUpdatesResponse.Update - 5, // 23: xmtp.mls.api.v1.MlsApi.SendGroupMessages:input_type -> xmtp.mls.api.v1.SendGroupMessagesRequest - 6, // 24: xmtp.mls.api.v1.MlsApi.SendWelcomeMessages:input_type -> xmtp.mls.api.v1.SendWelcomeMessagesRequest - 8, // 25: xmtp.mls.api.v1.MlsApi.RegisterInstallation:input_type -> xmtp.mls.api.v1.RegisterInstallationRequest - 10, // 26: xmtp.mls.api.v1.MlsApi.UploadKeyPackage:input_type -> xmtp.mls.api.v1.UploadKeyPackageRequest - 11, // 27: xmtp.mls.api.v1.MlsApi.FetchKeyPackages:input_type -> xmtp.mls.api.v1.FetchKeyPackagesRequest - 13, // 28: xmtp.mls.api.v1.MlsApi.RevokeInstallation:input_type -> xmtp.mls.api.v1.RevokeInstallationRequest - 14, // 29: xmtp.mls.api.v1.MlsApi.GetIdentityUpdates:input_type -> xmtp.mls.api.v1.GetIdentityUpdatesRequest - 17, // 30: xmtp.mls.api.v1.MlsApi.QueryGroupMessages:input_type -> xmtp.mls.api.v1.QueryGroupMessagesRequest - 19, // 31: xmtp.mls.api.v1.MlsApi.QueryWelcomeMessages:input_type -> xmtp.mls.api.v1.QueryWelcomeMessagesRequest - 21, // 32: xmtp.mls.api.v1.MlsApi.SubscribeGroupMessages:input_type -> xmtp.mls.api.v1.SubscribeGroupMessagesRequest - 22, // 33: xmtp.mls.api.v1.MlsApi.SubscribeWelcomeMessages:input_type -> xmtp.mls.api.v1.SubscribeWelcomeMessagesRequest - 35, // 34: xmtp.mls.api.v1.MlsApi.SendGroupMessages:output_type -> google.protobuf.Empty - 35, // 35: xmtp.mls.api.v1.MlsApi.SendWelcomeMessages:output_type -> google.protobuf.Empty - 9, // 36: xmtp.mls.api.v1.MlsApi.RegisterInstallation:output_type -> xmtp.mls.api.v1.RegisterInstallationResponse - 35, // 37: xmtp.mls.api.v1.MlsApi.UploadKeyPackage:output_type -> google.protobuf.Empty - 12, // 38: xmtp.mls.api.v1.MlsApi.FetchKeyPackages:output_type -> xmtp.mls.api.v1.FetchKeyPackagesResponse - 35, // 39: xmtp.mls.api.v1.MlsApi.RevokeInstallation:output_type -> google.protobuf.Empty - 15, // 40: xmtp.mls.api.v1.MlsApi.GetIdentityUpdates:output_type -> xmtp.mls.api.v1.GetIdentityUpdatesResponse - 18, // 41: xmtp.mls.api.v1.MlsApi.QueryGroupMessages:output_type -> xmtp.mls.api.v1.QueryGroupMessagesResponse - 20, // 42: xmtp.mls.api.v1.MlsApi.QueryWelcomeMessages:output_type -> xmtp.mls.api.v1.QueryWelcomeMessagesResponse - 3, // 43: xmtp.mls.api.v1.MlsApi.SubscribeGroupMessages:output_type -> xmtp.mls.api.v1.GroupMessage - 1, // 44: xmtp.mls.api.v1.MlsApi.SubscribeWelcomeMessages:output_type -> xmtp.mls.api.v1.WelcomeMessage - 34, // [34:45] is the sub-list for method output_type - 23, // [23:34] is the sub-list for method input_type - 23, // [23:23] is the sub-list for extension type_name - 23, // [23:23] is the sub-list for extension extendee - 0, // [0:23] is the sub-list for field type_name + 32, // 0: xmtp.mls.api.v1.WelcomeMessage.v1:type_name -> xmtp.mls.api.v1.WelcomeMessage.V1 + 33, // 1: xmtp.mls.api.v1.WelcomeMessage.welcome_pointer:type_name -> xmtp.mls.api.v1.WelcomeMessage.WelcomePointer + 34, // 2: xmtp.mls.api.v1.WelcomeMessageInput.v1:type_name -> xmtp.mls.api.v1.WelcomeMessageInput.V1 + 35, // 3: xmtp.mls.api.v1.WelcomeMessageInput.welcome_pointer:type_name -> xmtp.mls.api.v1.WelcomeMessageInput.WelcomePointer + 36, // 4: xmtp.mls.api.v1.GroupMessage.v1:type_name -> xmtp.mls.api.v1.GroupMessage.V1 + 37, // 5: xmtp.mls.api.v1.GroupMessageInput.v1:type_name -> xmtp.mls.api.v1.GroupMessageInput.V1 + 5, // 6: xmtp.mls.api.v1.SendGroupMessagesRequest.messages:type_name -> xmtp.mls.api.v1.GroupMessageInput + 2, // 7: xmtp.mls.api.v1.SendWelcomeMessagesRequest.messages:type_name -> xmtp.mls.api.v1.WelcomeMessageInput + 8, // 8: xmtp.mls.api.v1.RegisterInstallationRequest.key_package:type_name -> xmtp.mls.api.v1.KeyPackageUpload + 8, // 9: xmtp.mls.api.v1.UploadKeyPackageRequest.key_package:type_name -> xmtp.mls.api.v1.KeyPackageUpload + 38, // 10: xmtp.mls.api.v1.FetchKeyPackagesResponse.key_packages:type_name -> xmtp.mls.api.v1.FetchKeyPackagesResponse.KeyPackage + 46, // 11: xmtp.mls.api.v1.RevokeInstallationRequest.wallet_signature:type_name -> xmtp.message_contents.Signature + 42, // 12: xmtp.mls.api.v1.GetIdentityUpdatesResponse.updates:type_name -> xmtp.mls.api.v1.GetIdentityUpdatesResponse.WalletUpdates + 0, // 13: xmtp.mls.api.v1.PagingInfo.direction:type_name -> xmtp.mls.api.v1.SortDirection + 17, // 14: xmtp.mls.api.v1.QueryGroupMessagesRequest.paging_info:type_name -> xmtp.mls.api.v1.PagingInfo + 4, // 15: xmtp.mls.api.v1.QueryGroupMessagesResponse.messages:type_name -> xmtp.mls.api.v1.GroupMessage + 17, // 16: xmtp.mls.api.v1.QueryGroupMessagesResponse.paging_info:type_name -> xmtp.mls.api.v1.PagingInfo + 17, // 17: xmtp.mls.api.v1.QueryWelcomeMessagesRequest.paging_info:type_name -> xmtp.mls.api.v1.PagingInfo + 1, // 18: xmtp.mls.api.v1.QueryWelcomeMessagesResponse.messages:type_name -> xmtp.mls.api.v1.WelcomeMessage + 17, // 19: xmtp.mls.api.v1.QueryWelcomeMessagesResponse.paging_info:type_name -> xmtp.mls.api.v1.PagingInfo + 43, // 20: xmtp.mls.api.v1.SubscribeGroupMessagesRequest.filters:type_name -> xmtp.mls.api.v1.SubscribeGroupMessagesRequest.Filter + 44, // 21: xmtp.mls.api.v1.SubscribeWelcomeMessagesRequest.filters:type_name -> xmtp.mls.api.v1.SubscribeWelcomeMessagesRequest.Filter + 25, // 22: xmtp.mls.api.v1.BatchPublishCommitLogRequest.requests:type_name -> xmtp.mls.api.v1.PublishCommitLogRequest + 47, // 23: xmtp.mls.api.v1.PublishCommitLogRequest.signature:type_name -> xmtp.identity.associations.RecoverableEd25519Signature + 17, // 24: xmtp.mls.api.v1.QueryCommitLogRequest.paging_info:type_name -> xmtp.mls.api.v1.PagingInfo + 48, // 25: xmtp.mls.api.v1.QueryCommitLogResponse.commit_log_entries:type_name -> xmtp.mls.message_contents.CommitLogEntry + 17, // 26: xmtp.mls.api.v1.QueryCommitLogResponse.paging_info:type_name -> xmtp.mls.api.v1.PagingInfo + 26, // 27: xmtp.mls.api.v1.BatchQueryCommitLogRequest.requests:type_name -> xmtp.mls.api.v1.QueryCommitLogRequest + 27, // 28: xmtp.mls.api.v1.BatchQueryCommitLogResponse.responses:type_name -> xmtp.mls.api.v1.QueryCommitLogResponse + 45, // 29: xmtp.mls.api.v1.GetNewestGroupMessageResponse.responses:type_name -> xmtp.mls.api.v1.GetNewestGroupMessageResponse.Response + 49, // 30: xmtp.mls.api.v1.WelcomeMessage.V1.wrapper_algorithm:type_name -> xmtp.mls.message_contents.WelcomeWrapperAlgorithm + 50, // 31: xmtp.mls.api.v1.WelcomeMessage.WelcomePointer.wrapper_algorithm:type_name -> xmtp.mls.message_contents.WelcomePointerWrapperAlgorithm + 49, // 32: xmtp.mls.api.v1.WelcomeMessageInput.V1.wrapper_algorithm:type_name -> xmtp.mls.message_contents.WelcomeWrapperAlgorithm + 50, // 33: xmtp.mls.api.v1.WelcomeMessageInput.WelcomePointer.wrapper_algorithm:type_name -> xmtp.mls.message_contents.WelcomePointerWrapperAlgorithm + 39, // 34: xmtp.mls.api.v1.GetIdentityUpdatesResponse.Update.new_installation:type_name -> xmtp.mls.api.v1.GetIdentityUpdatesResponse.NewInstallationUpdate + 40, // 35: xmtp.mls.api.v1.GetIdentityUpdatesResponse.Update.revoked_installation:type_name -> xmtp.mls.api.v1.GetIdentityUpdatesResponse.RevokedInstallationUpdate + 41, // 36: xmtp.mls.api.v1.GetIdentityUpdatesResponse.WalletUpdates.updates:type_name -> xmtp.mls.api.v1.GetIdentityUpdatesResponse.Update + 4, // 37: xmtp.mls.api.v1.GetNewestGroupMessageResponse.Response.group_message:type_name -> xmtp.mls.api.v1.GroupMessage + 6, // 38: xmtp.mls.api.v1.MlsApi.SendGroupMessages:input_type -> xmtp.mls.api.v1.SendGroupMessagesRequest + 7, // 39: xmtp.mls.api.v1.MlsApi.SendWelcomeMessages:input_type -> xmtp.mls.api.v1.SendWelcomeMessagesRequest + 9, // 40: xmtp.mls.api.v1.MlsApi.RegisterInstallation:input_type -> xmtp.mls.api.v1.RegisterInstallationRequest + 11, // 41: xmtp.mls.api.v1.MlsApi.UploadKeyPackage:input_type -> xmtp.mls.api.v1.UploadKeyPackageRequest + 12, // 42: xmtp.mls.api.v1.MlsApi.FetchKeyPackages:input_type -> xmtp.mls.api.v1.FetchKeyPackagesRequest + 14, // 43: xmtp.mls.api.v1.MlsApi.RevokeInstallation:input_type -> xmtp.mls.api.v1.RevokeInstallationRequest + 15, // 44: xmtp.mls.api.v1.MlsApi.GetIdentityUpdates:input_type -> xmtp.mls.api.v1.GetIdentityUpdatesRequest + 18, // 45: xmtp.mls.api.v1.MlsApi.QueryGroupMessages:input_type -> xmtp.mls.api.v1.QueryGroupMessagesRequest + 20, // 46: xmtp.mls.api.v1.MlsApi.QueryWelcomeMessages:input_type -> xmtp.mls.api.v1.QueryWelcomeMessagesRequest + 22, // 47: xmtp.mls.api.v1.MlsApi.SubscribeGroupMessages:input_type -> xmtp.mls.api.v1.SubscribeGroupMessagesRequest + 23, // 48: xmtp.mls.api.v1.MlsApi.SubscribeWelcomeMessages:input_type -> xmtp.mls.api.v1.SubscribeWelcomeMessagesRequest + 24, // 49: xmtp.mls.api.v1.MlsApi.BatchPublishCommitLog:input_type -> xmtp.mls.api.v1.BatchPublishCommitLogRequest + 28, // 50: xmtp.mls.api.v1.MlsApi.BatchQueryCommitLog:input_type -> xmtp.mls.api.v1.BatchQueryCommitLogRequest + 30, // 51: xmtp.mls.api.v1.MlsApi.GetNewestGroupMessage:input_type -> xmtp.mls.api.v1.GetNewestGroupMessageRequest + 51, // 52: xmtp.mls.api.v1.MlsApi.SendGroupMessages:output_type -> google.protobuf.Empty + 51, // 53: xmtp.mls.api.v1.MlsApi.SendWelcomeMessages:output_type -> google.protobuf.Empty + 10, // 54: xmtp.mls.api.v1.MlsApi.RegisterInstallation:output_type -> xmtp.mls.api.v1.RegisterInstallationResponse + 51, // 55: xmtp.mls.api.v1.MlsApi.UploadKeyPackage:output_type -> google.protobuf.Empty + 13, // 56: xmtp.mls.api.v1.MlsApi.FetchKeyPackages:output_type -> xmtp.mls.api.v1.FetchKeyPackagesResponse + 51, // 57: xmtp.mls.api.v1.MlsApi.RevokeInstallation:output_type -> google.protobuf.Empty + 16, // 58: xmtp.mls.api.v1.MlsApi.GetIdentityUpdates:output_type -> xmtp.mls.api.v1.GetIdentityUpdatesResponse + 19, // 59: xmtp.mls.api.v1.MlsApi.QueryGroupMessages:output_type -> xmtp.mls.api.v1.QueryGroupMessagesResponse + 21, // 60: xmtp.mls.api.v1.MlsApi.QueryWelcomeMessages:output_type -> xmtp.mls.api.v1.QueryWelcomeMessagesResponse + 4, // 61: xmtp.mls.api.v1.MlsApi.SubscribeGroupMessages:output_type -> xmtp.mls.api.v1.GroupMessage + 1, // 62: xmtp.mls.api.v1.MlsApi.SubscribeWelcomeMessages:output_type -> xmtp.mls.api.v1.WelcomeMessage + 51, // 63: xmtp.mls.api.v1.MlsApi.BatchPublishCommitLog:output_type -> google.protobuf.Empty + 29, // 64: xmtp.mls.api.v1.MlsApi.BatchQueryCommitLog:output_type -> xmtp.mls.api.v1.BatchQueryCommitLogResponse + 31, // 65: xmtp.mls.api.v1.MlsApi.GetNewestGroupMessage:output_type -> xmtp.mls.api.v1.GetNewestGroupMessageResponse + 52, // [52:66] is the sub-list for method output_type + 38, // [38:52] is the sub-list for method input_type + 38, // [38:38] is the sub-list for extension type_name + 38, // [38:38] is the sub-list for extension extendee + 0, // [0:38] is the sub-list for field type_name } func init() { file_mls_api_v1_mls_proto_init() } @@ -2410,27 +2996,30 @@ func file_mls_api_v1_mls_proto_init() { } file_mls_api_v1_mls_proto_msgTypes[0].OneofWrappers = []any{ (*WelcomeMessage_V1_)(nil), + (*WelcomeMessage_WelcomePointer_)(nil), } file_mls_api_v1_mls_proto_msgTypes[1].OneofWrappers = []any{ (*WelcomeMessageInput_V1_)(nil), + (*WelcomeMessageInput_WelcomePointer_)(nil), } - file_mls_api_v1_mls_proto_msgTypes[2].OneofWrappers = []any{ + file_mls_api_v1_mls_proto_msgTypes[3].OneofWrappers = []any{ (*GroupMessage_V1_)(nil), } - file_mls_api_v1_mls_proto_msgTypes[3].OneofWrappers = []any{ + file_mls_api_v1_mls_proto_msgTypes[4].OneofWrappers = []any{ (*GroupMessageInput_V1_)(nil), } - file_mls_api_v1_mls_proto_msgTypes[29].OneofWrappers = []any{ + file_mls_api_v1_mls_proto_msgTypes[40].OneofWrappers = []any{ (*GetIdentityUpdatesResponse_Update_NewInstallation)(nil), (*GetIdentityUpdatesResponse_Update_RevokedInstallation)(nil), } + file_mls_api_v1_mls_proto_msgTypes[44].OneofWrappers = []any{} type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: unsafe.Slice(unsafe.StringData(file_mls_api_v1_mls_proto_rawDesc), len(file_mls_api_v1_mls_proto_rawDesc)), NumEnums: 1, - NumMessages: 33, + NumMessages: 45, NumExtensions: 0, NumServices: 1, }, diff --git a/pkg/proto/mls/api/v1/mls_grpc.pb.go b/pkg/proto/mls/api/v1/mls_grpc.pb.go index 6e1e674..dc2e571 100644 --- a/pkg/proto/mls/api/v1/mls_grpc.pb.go +++ b/pkg/proto/mls/api/v1/mls_grpc.pb.go @@ -33,6 +33,9 @@ const ( MlsApi_QueryWelcomeMessages_FullMethodName = "/xmtp.mls.api.v1.MlsApi/QueryWelcomeMessages" MlsApi_SubscribeGroupMessages_FullMethodName = "/xmtp.mls.api.v1.MlsApi/SubscribeGroupMessages" MlsApi_SubscribeWelcomeMessages_FullMethodName = "/xmtp.mls.api.v1.MlsApi/SubscribeWelcomeMessages" + MlsApi_BatchPublishCommitLog_FullMethodName = "/xmtp.mls.api.v1.MlsApi/BatchPublishCommitLog" + MlsApi_BatchQueryCommitLog_FullMethodName = "/xmtp.mls.api.v1.MlsApi/BatchQueryCommitLog" + MlsApi_GetNewestGroupMessage_FullMethodName = "/xmtp.mls.api.v1.MlsApi/GetNewestGroupMessage" ) // MlsApiClient is the client API for MlsApi service. @@ -65,6 +68,9 @@ type MlsApiClient interface { SubscribeGroupMessages(ctx context.Context, in *SubscribeGroupMessagesRequest, opts ...grpc.CallOption) (MlsApi_SubscribeGroupMessagesClient, error) // Subscribe stream of new welcome messages SubscribeWelcomeMessages(ctx context.Context, in *SubscribeWelcomeMessagesRequest, opts ...grpc.CallOption) (MlsApi_SubscribeWelcomeMessagesClient, error) + BatchPublishCommitLog(ctx context.Context, in *BatchPublishCommitLogRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) + BatchQueryCommitLog(ctx context.Context, in *BatchQueryCommitLogRequest, opts ...grpc.CallOption) (*BatchQueryCommitLogResponse, error) + GetNewestGroupMessage(ctx context.Context, in *GetNewestGroupMessageRequest, opts ...grpc.CallOption) (*GetNewestGroupMessageResponse, error) } type mlsApiClient struct { @@ -220,6 +226,33 @@ func (x *mlsApiSubscribeWelcomeMessagesClient) Recv() (*WelcomeMessage, error) { return m, nil } +func (c *mlsApiClient) BatchPublishCommitLog(ctx context.Context, in *BatchPublishCommitLogRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) { + out := new(emptypb.Empty) + err := c.cc.Invoke(ctx, MlsApi_BatchPublishCommitLog_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *mlsApiClient) BatchQueryCommitLog(ctx context.Context, in *BatchQueryCommitLogRequest, opts ...grpc.CallOption) (*BatchQueryCommitLogResponse, error) { + out := new(BatchQueryCommitLogResponse) + err := c.cc.Invoke(ctx, MlsApi_BatchQueryCommitLog_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *mlsApiClient) GetNewestGroupMessage(ctx context.Context, in *GetNewestGroupMessageRequest, opts ...grpc.CallOption) (*GetNewestGroupMessageResponse, error) { + out := new(GetNewestGroupMessageResponse) + err := c.cc.Invoke(ctx, MlsApi_GetNewestGroupMessage_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + // MlsApiServer is the server API for MlsApi service. // All implementations must embed UnimplementedMlsApiServer // for forward compatibility @@ -250,6 +283,9 @@ type MlsApiServer interface { SubscribeGroupMessages(*SubscribeGroupMessagesRequest, MlsApi_SubscribeGroupMessagesServer) error // Subscribe stream of new welcome messages SubscribeWelcomeMessages(*SubscribeWelcomeMessagesRequest, MlsApi_SubscribeWelcomeMessagesServer) error + BatchPublishCommitLog(context.Context, *BatchPublishCommitLogRequest) (*emptypb.Empty, error) + BatchQueryCommitLog(context.Context, *BatchQueryCommitLogRequest) (*BatchQueryCommitLogResponse, error) + GetNewestGroupMessage(context.Context, *GetNewestGroupMessageRequest) (*GetNewestGroupMessageResponse, error) mustEmbedUnimplementedMlsApiServer() } @@ -290,6 +326,15 @@ func (UnimplementedMlsApiServer) SubscribeGroupMessages(*SubscribeGroupMessagesR func (UnimplementedMlsApiServer) SubscribeWelcomeMessages(*SubscribeWelcomeMessagesRequest, MlsApi_SubscribeWelcomeMessagesServer) error { return status.Errorf(codes.Unimplemented, "method SubscribeWelcomeMessages not implemented") } +func (UnimplementedMlsApiServer) BatchPublishCommitLog(context.Context, *BatchPublishCommitLogRequest) (*emptypb.Empty, error) { + return nil, status.Errorf(codes.Unimplemented, "method BatchPublishCommitLog not implemented") +} +func (UnimplementedMlsApiServer) BatchQueryCommitLog(context.Context, *BatchQueryCommitLogRequest) (*BatchQueryCommitLogResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method BatchQueryCommitLog not implemented") +} +func (UnimplementedMlsApiServer) GetNewestGroupMessage(context.Context, *GetNewestGroupMessageRequest) (*GetNewestGroupMessageResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetNewestGroupMessage not implemented") +} func (UnimplementedMlsApiServer) mustEmbedUnimplementedMlsApiServer() {} // UnsafeMlsApiServer may be embedded to opt out of forward compatibility for this service. @@ -507,6 +552,60 @@ func (x *mlsApiSubscribeWelcomeMessagesServer) Send(m *WelcomeMessage) error { return x.ServerStream.SendMsg(m) } +func _MlsApi_BatchPublishCommitLog_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(BatchPublishCommitLogRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(MlsApiServer).BatchPublishCommitLog(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: MlsApi_BatchPublishCommitLog_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MlsApiServer).BatchPublishCommitLog(ctx, req.(*BatchPublishCommitLogRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _MlsApi_BatchQueryCommitLog_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(BatchQueryCommitLogRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(MlsApiServer).BatchQueryCommitLog(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: MlsApi_BatchQueryCommitLog_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MlsApiServer).BatchQueryCommitLog(ctx, req.(*BatchQueryCommitLogRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _MlsApi_GetNewestGroupMessage_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(GetNewestGroupMessageRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(MlsApiServer).GetNewestGroupMessage(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: MlsApi_GetNewestGroupMessage_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MlsApiServer).GetNewestGroupMessage(ctx, req.(*GetNewestGroupMessageRequest)) + } + return interceptor(ctx, in, info, handler) +} + // MlsApi_ServiceDesc is the grpc.ServiceDesc for MlsApi service. // It's only intended for direct use with grpc.RegisterService, // and not to be introspected or modified (even as a copy) @@ -550,6 +649,18 @@ var MlsApi_ServiceDesc = grpc.ServiceDesc{ MethodName: "QueryWelcomeMessages", Handler: _MlsApi_QueryWelcomeMessages_Handler, }, + { + MethodName: "BatchPublishCommitLog", + Handler: _MlsApi_BatchPublishCommitLog_Handler, + }, + { + MethodName: "BatchQueryCommitLog", + Handler: _MlsApi_BatchQueryCommitLog_Handler, + }, + { + MethodName: "GetNewestGroupMessage", + Handler: _MlsApi_GetNewestGroupMessage_Handler, + }, }, Streams: []grpc.StreamDesc{ { diff --git a/pkg/proto/mls/database/intents.pb.go b/pkg/proto/mls/database/intents.pb.go index 409e4f7..8904a1b 100644 --- a/pkg/proto/mls/database/intents.pb.go +++ b/pkg/proto/mls/database/intents.pb.go @@ -1,14 +1,15 @@ -// V3 invite message structure +// Intent protos that are stored in the libxmtp database // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.36.5 +// protoc-gen-go v1.36.10 // protoc (unknown) // source: mls/database/intents.proto package database import ( + message_contents "github.com/xmtp/example-notification-server-go/pkg/proto/mls/message_contents" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" @@ -436,6 +437,7 @@ func (*AddressesOrInstallationIds_AccountAddresses) isAddressesOrInstallationIds func (*AddressesOrInstallationIds_InstallationIds) isAddressesOrInstallationIds_AddressesOrInstallationIds() { } +// DEPRECATED // The data required to add members to a group type AddMembersData struct { state protoimpl.MessageState `protogen:"open.v1"` @@ -503,6 +505,7 @@ type AddMembersData_V1_ struct { func (*AddMembersData_V1_) isAddMembersData_Version() {} +// DEPRECATED // The data required to remove members from a group type RemoveMembersData struct { state protoimpl.MessageState `protogen:"open.v1"` @@ -638,6 +641,75 @@ type UpdateGroupMembershipData_V1_ struct { func (*UpdateGroupMembershipData_V1_) isUpdateGroupMembershipData_Version() {} +// The data required to remove and readd existing leaf nodes +// on the MLS tree. Does not change or update the members list. +// Used for fork recovery +type ReaddInstallationsData struct { + state protoimpl.MessageState `protogen:"open.v1"` + // Types that are valid to be assigned to Version: + // + // *ReaddInstallationsData_V1_ + Version isReaddInstallationsData_Version `protobuf_oneof:"version"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ReaddInstallationsData) Reset() { + *x = ReaddInstallationsData{} + mi := &file_mls_database_intents_proto_msgTypes[7] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ReaddInstallationsData) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ReaddInstallationsData) ProtoMessage() {} + +func (x *ReaddInstallationsData) ProtoReflect() protoreflect.Message { + mi := &file_mls_database_intents_proto_msgTypes[7] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ReaddInstallationsData.ProtoReflect.Descriptor instead. +func (*ReaddInstallationsData) Descriptor() ([]byte, []int) { + return file_mls_database_intents_proto_rawDescGZIP(), []int{7} +} + +func (x *ReaddInstallationsData) GetVersion() isReaddInstallationsData_Version { + if x != nil { + return x.Version + } + return nil +} + +func (x *ReaddInstallationsData) GetV1() *ReaddInstallationsData_V1 { + if x != nil { + if x, ok := x.Version.(*ReaddInstallationsData_V1_); ok { + return x.V1 + } + } + return nil +} + +type isReaddInstallationsData_Version interface { + isReaddInstallationsData_Version() +} + +type ReaddInstallationsData_V1_ struct { + V1 *ReaddInstallationsData_V1 `protobuf:"bytes,1,opt,name=v1,proto3,oneof"` +} + +func (*ReaddInstallationsData_V1_) isReaddInstallationsData_Version() {} + // The data required to update group metadata type UpdateMetadataData struct { state protoimpl.MessageState `protogen:"open.v1"` @@ -651,7 +723,7 @@ type UpdateMetadataData struct { func (x *UpdateMetadataData) Reset() { *x = UpdateMetadataData{} - mi := &file_mls_database_intents_proto_msgTypes[7] + mi := &file_mls_database_intents_proto_msgTypes[8] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -663,7 +735,7 @@ func (x *UpdateMetadataData) String() string { func (*UpdateMetadataData) ProtoMessage() {} func (x *UpdateMetadataData) ProtoReflect() protoreflect.Message { - mi := &file_mls_database_intents_proto_msgTypes[7] + mi := &file_mls_database_intents_proto_msgTypes[8] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -676,7 +748,7 @@ func (x *UpdateMetadataData) ProtoReflect() protoreflect.Message { // Deprecated: Use UpdateMetadataData.ProtoReflect.Descriptor instead. func (*UpdateMetadataData) Descriptor() ([]byte, []int) { - return file_mls_database_intents_proto_rawDescGZIP(), []int{7} + return file_mls_database_intents_proto_rawDescGZIP(), []int{8} } func (x *UpdateMetadataData) GetVersion() isUpdateMetadataData_Version { @@ -718,7 +790,7 @@ type UpdateAdminListsData struct { func (x *UpdateAdminListsData) Reset() { *x = UpdateAdminListsData{} - mi := &file_mls_database_intents_proto_msgTypes[8] + mi := &file_mls_database_intents_proto_msgTypes[9] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -730,7 +802,7 @@ func (x *UpdateAdminListsData) String() string { func (*UpdateAdminListsData) ProtoMessage() {} func (x *UpdateAdminListsData) ProtoReflect() protoreflect.Message { - mi := &file_mls_database_intents_proto_msgTypes[8] + mi := &file_mls_database_intents_proto_msgTypes[9] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -743,7 +815,7 @@ func (x *UpdateAdminListsData) ProtoReflect() protoreflect.Message { // Deprecated: Use UpdateAdminListsData.ProtoReflect.Descriptor instead. func (*UpdateAdminListsData) Descriptor() ([]byte, []int) { - return file_mls_database_intents_proto_rawDescGZIP(), []int{8} + return file_mls_database_intents_proto_rawDescGZIP(), []int{9} } func (x *UpdateAdminListsData) GetVersion() isUpdateAdminListsData_Version { @@ -785,7 +857,7 @@ type UpdatePermissionData struct { func (x *UpdatePermissionData) Reset() { *x = UpdatePermissionData{} - mi := &file_mls_database_intents_proto_msgTypes[9] + mi := &file_mls_database_intents_proto_msgTypes[10] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -797,7 +869,7 @@ func (x *UpdatePermissionData) String() string { func (*UpdatePermissionData) ProtoMessage() {} func (x *UpdatePermissionData) ProtoReflect() protoreflect.Message { - mi := &file_mls_database_intents_proto_msgTypes[9] + mi := &file_mls_database_intents_proto_msgTypes[10] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -810,7 +882,7 @@ func (x *UpdatePermissionData) ProtoReflect() protoreflect.Message { // Deprecated: Use UpdatePermissionData.ProtoReflect.Descriptor instead. func (*UpdatePermissionData) Descriptor() ([]byte, []int) { - return file_mls_database_intents_proto_rawDescGZIP(), []int{9} + return file_mls_database_intents_proto_rawDescGZIP(), []int{10} } func (x *UpdatePermissionData) GetVersion() isUpdatePermissionData_Version { @@ -852,7 +924,7 @@ type PostCommitAction struct { func (x *PostCommitAction) Reset() { *x = PostCommitAction{} - mi := &file_mls_database_intents_proto_msgTypes[10] + mi := &file_mls_database_intents_proto_msgTypes[11] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -864,7 +936,7 @@ func (x *PostCommitAction) String() string { func (*PostCommitAction) ProtoMessage() {} func (x *PostCommitAction) ProtoReflect() protoreflect.Message { - mi := &file_mls_database_intents_proto_msgTypes[10] + mi := &file_mls_database_intents_proto_msgTypes[11] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -877,7 +949,7 @@ func (x *PostCommitAction) ProtoReflect() protoreflect.Message { // Deprecated: Use PostCommitAction.ProtoReflect.Descriptor instead. func (*PostCommitAction) Descriptor() ([]byte, []int) { - return file_mls_database_intents_proto_rawDescGZIP(), []int{10} + return file_mls_database_intents_proto_rawDescGZIP(), []int{11} } func (x *PostCommitAction) GetKind() isPostCommitAction_Kind { @@ -916,7 +988,7 @@ type SendMessageData_V1 struct { func (x *SendMessageData_V1) Reset() { *x = SendMessageData_V1{} - mi := &file_mls_database_intents_proto_msgTypes[11] + mi := &file_mls_database_intents_proto_msgTypes[12] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -928,7 +1000,7 @@ func (x *SendMessageData_V1) String() string { func (*SendMessageData_V1) ProtoMessage() {} func (x *SendMessageData_V1) ProtoReflect() protoreflect.Message { - mi := &file_mls_database_intents_proto_msgTypes[11] + mi := &file_mls_database_intents_proto_msgTypes[12] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -961,7 +1033,7 @@ type AddMembersData_V1 struct { func (x *AddMembersData_V1) Reset() { *x = AddMembersData_V1{} - mi := &file_mls_database_intents_proto_msgTypes[12] + mi := &file_mls_database_intents_proto_msgTypes[13] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -973,7 +1045,7 @@ func (x *AddMembersData_V1) String() string { func (*AddMembersData_V1) ProtoMessage() {} func (x *AddMembersData_V1) ProtoReflect() protoreflect.Message { - mi := &file_mls_database_intents_proto_msgTypes[12] + mi := &file_mls_database_intents_proto_msgTypes[13] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1006,7 +1078,7 @@ type RemoveMembersData_V1 struct { func (x *RemoveMembersData_V1) Reset() { *x = RemoveMembersData_V1{} - mi := &file_mls_database_intents_proto_msgTypes[13] + mi := &file_mls_database_intents_proto_msgTypes[14] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1018,7 +1090,7 @@ func (x *RemoveMembersData_V1) String() string { func (*RemoveMembersData_V1) ProtoMessage() {} func (x *RemoveMembersData_V1) ProtoReflect() protoreflect.Message { - mi := &file_mls_database_intents_proto_msgTypes[13] + mi := &file_mls_database_intents_proto_msgTypes[14] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1056,7 +1128,7 @@ type UpdateGroupMembershipData_V1 struct { func (x *UpdateGroupMembershipData_V1) Reset() { *x = UpdateGroupMembershipData_V1{} - mi := &file_mls_database_intents_proto_msgTypes[14] + mi := &file_mls_database_intents_proto_msgTypes[15] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1068,7 +1140,7 @@ func (x *UpdateGroupMembershipData_V1) String() string { func (*UpdateGroupMembershipData_V1) ProtoMessage() {} func (x *UpdateGroupMembershipData_V1) ProtoReflect() protoreflect.Message { - mi := &file_mls_database_intents_proto_msgTypes[14] + mi := &file_mls_database_intents_proto_msgTypes[15] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1105,6 +1177,50 @@ func (x *UpdateGroupMembershipData_V1) GetFailedInstallations() [][]byte { return nil } +type ReaddInstallationsData_V1 struct { + state protoimpl.MessageState `protogen:"open.v1"` + ReaddedInstallations [][]byte `protobuf:"bytes,1,rep,name=readded_installations,json=readdedInstallations,proto3" json:"readded_installations,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ReaddInstallationsData_V1) Reset() { + *x = ReaddInstallationsData_V1{} + mi := &file_mls_database_intents_proto_msgTypes[17] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ReaddInstallationsData_V1) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ReaddInstallationsData_V1) ProtoMessage() {} + +func (x *ReaddInstallationsData_V1) ProtoReflect() protoreflect.Message { + mi := &file_mls_database_intents_proto_msgTypes[17] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ReaddInstallationsData_V1.ProtoReflect.Descriptor instead. +func (*ReaddInstallationsData_V1) Descriptor() ([]byte, []int) { + return file_mls_database_intents_proto_rawDescGZIP(), []int{7, 0} +} + +func (x *ReaddInstallationsData_V1) GetReaddedInstallations() [][]byte { + if x != nil { + return x.ReaddedInstallations + } + return nil +} + // V1 of UpdateMetadataPublishData type UpdateMetadataData_V1 struct { state protoimpl.MessageState `protogen:"open.v1"` @@ -1116,7 +1232,7 @@ type UpdateMetadataData_V1 struct { func (x *UpdateMetadataData_V1) Reset() { *x = UpdateMetadataData_V1{} - mi := &file_mls_database_intents_proto_msgTypes[16] + mi := &file_mls_database_intents_proto_msgTypes[18] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1128,7 +1244,7 @@ func (x *UpdateMetadataData_V1) String() string { func (*UpdateMetadataData_V1) ProtoMessage() {} func (x *UpdateMetadataData_V1) ProtoReflect() protoreflect.Message { - mi := &file_mls_database_intents_proto_msgTypes[16] + mi := &file_mls_database_intents_proto_msgTypes[18] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1141,7 +1257,7 @@ func (x *UpdateMetadataData_V1) ProtoReflect() protoreflect.Message { // Deprecated: Use UpdateMetadataData_V1.ProtoReflect.Descriptor instead. func (*UpdateMetadataData_V1) Descriptor() ([]byte, []int) { - return file_mls_database_intents_proto_rawDescGZIP(), []int{7, 0} + return file_mls_database_intents_proto_rawDescGZIP(), []int{8, 0} } func (x *UpdateMetadataData_V1) GetFieldName() string { @@ -1169,7 +1285,7 @@ type UpdateAdminListsData_V1 struct { func (x *UpdateAdminListsData_V1) Reset() { *x = UpdateAdminListsData_V1{} - mi := &file_mls_database_intents_proto_msgTypes[17] + mi := &file_mls_database_intents_proto_msgTypes[19] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1181,7 +1297,7 @@ func (x *UpdateAdminListsData_V1) String() string { func (*UpdateAdminListsData_V1) ProtoMessage() {} func (x *UpdateAdminListsData_V1) ProtoReflect() protoreflect.Message { - mi := &file_mls_database_intents_proto_msgTypes[17] + mi := &file_mls_database_intents_proto_msgTypes[19] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1194,7 +1310,7 @@ func (x *UpdateAdminListsData_V1) ProtoReflect() protoreflect.Message { // Deprecated: Use UpdateAdminListsData_V1.ProtoReflect.Descriptor instead. func (*UpdateAdminListsData_V1) Descriptor() ([]byte, []int) { - return file_mls_database_intents_proto_rawDescGZIP(), []int{8, 0} + return file_mls_database_intents_proto_rawDescGZIP(), []int{9, 0} } func (x *UpdateAdminListsData_V1) GetAdminListUpdateType() AdminListUpdateType { @@ -1224,7 +1340,7 @@ type UpdatePermissionData_V1 struct { func (x *UpdatePermissionData_V1) Reset() { *x = UpdatePermissionData_V1{} - mi := &file_mls_database_intents_proto_msgTypes[18] + mi := &file_mls_database_intents_proto_msgTypes[20] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1236,7 +1352,7 @@ func (x *UpdatePermissionData_V1) String() string { func (*UpdatePermissionData_V1) ProtoMessage() {} func (x *UpdatePermissionData_V1) ProtoReflect() protoreflect.Message { - mi := &file_mls_database_intents_proto_msgTypes[18] + mi := &file_mls_database_intents_proto_msgTypes[20] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1249,7 +1365,7 @@ func (x *UpdatePermissionData_V1) ProtoReflect() protoreflect.Message { // Deprecated: Use UpdatePermissionData_V1.ProtoReflect.Descriptor instead. func (*UpdatePermissionData_V1) Descriptor() ([]byte, []int) { - return file_mls_database_intents_proto_rawDescGZIP(), []int{9, 0} + return file_mls_database_intents_proto_rawDescGZIP(), []int{10, 0} } func (x *UpdatePermissionData_V1) GetPermissionUpdateType() PermissionUpdateType { @@ -1275,16 +1391,18 @@ func (x *UpdatePermissionData_V1) GetMetadataFieldName() string { // An installation type PostCommitAction_Installation struct { - state protoimpl.MessageState `protogen:"open.v1"` - InstallationKey []byte `protobuf:"bytes,1,opt,name=installation_key,json=installationKey,proto3" json:"installation_key,omitempty"` - HpkePublicKey []byte `protobuf:"bytes,2,opt,name=hpke_public_key,json=hpkePublicKey,proto3" json:"hpke_public_key,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + InstallationKey []byte `protobuf:"bytes,1,opt,name=installation_key,json=installationKey,proto3" json:"installation_key,omitempty"` + HpkePublicKey []byte `protobuf:"bytes,2,opt,name=hpke_public_key,json=hpkePublicKey,proto3" json:"hpke_public_key,omitempty"` + WelcomeWrapperAlgorithm message_contents.WelcomeWrapperAlgorithm `protobuf:"varint,3,opt,name=welcome_wrapper_algorithm,json=welcomeWrapperAlgorithm,proto3,enum=xmtp.mls.message_contents.WelcomeWrapperAlgorithm" json:"welcome_wrapper_algorithm,omitempty"` + WelcomePointeeEncryptionAeadTypes *message_contents.WelcomePointeeEncryptionAeadTypesExtension `protobuf:"bytes,4,opt,name=welcome_pointee_encryption_aead_types,json=welcomePointeeEncryptionAeadTypes,proto3" json:"welcome_pointee_encryption_aead_types,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *PostCommitAction_Installation) Reset() { *x = PostCommitAction_Installation{} - mi := &file_mls_database_intents_proto_msgTypes[19] + mi := &file_mls_database_intents_proto_msgTypes[21] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1296,7 +1414,7 @@ func (x *PostCommitAction_Installation) String() string { func (*PostCommitAction_Installation) ProtoMessage() {} func (x *PostCommitAction_Installation) ProtoReflect() protoreflect.Message { - mi := &file_mls_database_intents_proto_msgTypes[19] + mi := &file_mls_database_intents_proto_msgTypes[21] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1309,7 +1427,7 @@ func (x *PostCommitAction_Installation) ProtoReflect() protoreflect.Message { // Deprecated: Use PostCommitAction_Installation.ProtoReflect.Descriptor instead. func (*PostCommitAction_Installation) Descriptor() ([]byte, []int) { - return file_mls_database_intents_proto_rawDescGZIP(), []int{10, 0} + return file_mls_database_intents_proto_rawDescGZIP(), []int{11, 0} } func (x *PostCommitAction_Installation) GetInstallationKey() []byte { @@ -1326,6 +1444,20 @@ func (x *PostCommitAction_Installation) GetHpkePublicKey() []byte { return nil } +func (x *PostCommitAction_Installation) GetWelcomeWrapperAlgorithm() message_contents.WelcomeWrapperAlgorithm { + if x != nil { + return x.WelcomeWrapperAlgorithm + } + return message_contents.WelcomeWrapperAlgorithm(0) +} + +func (x *PostCommitAction_Installation) GetWelcomePointeeEncryptionAeadTypes() *message_contents.WelcomePointeeEncryptionAeadTypesExtension { + if x != nil { + return x.WelcomePointeeEncryptionAeadTypes + } + return nil +} + // SendWelcome message type PostCommitAction_SendWelcomes struct { state protoimpl.MessageState `protogen:"open.v1"` @@ -1337,7 +1469,7 @@ type PostCommitAction_SendWelcomes struct { func (x *PostCommitAction_SendWelcomes) Reset() { *x = PostCommitAction_SendWelcomes{} - mi := &file_mls_database_intents_proto_msgTypes[20] + mi := &file_mls_database_intents_proto_msgTypes[22] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1349,7 +1481,7 @@ func (x *PostCommitAction_SendWelcomes) String() string { func (*PostCommitAction_SendWelcomes) ProtoMessage() {} func (x *PostCommitAction_SendWelcomes) ProtoReflect() protoreflect.Message { - mi := &file_mls_database_intents_proto_msgTypes[20] + mi := &file_mls_database_intents_proto_msgTypes[22] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1362,7 +1494,7 @@ func (x *PostCommitAction_SendWelcomes) ProtoReflect() protoreflect.Message { // Deprecated: Use PostCommitAction_SendWelcomes.ProtoReflect.Descriptor instead. func (*PostCommitAction_SendWelcomes) Descriptor() ([]byte, []int) { - return file_mls_database_intents_proto_rawDescGZIP(), []int{10, 1} + return file_mls_database_intents_proto_rawDescGZIP(), []int{11, 1} } func (x *PostCommitAction_SendWelcomes) GetInstallations() []*PostCommitAction_Installation { @@ -1381,224 +1513,100 @@ func (x *PostCommitAction_SendWelcomes) GetWelcomeMessage() []byte { var File_mls_database_intents_proto protoreflect.FileDescriptor -var file_mls_database_intents_proto_rawDesc = string([]byte{ - 0x0a, 0x1a, 0x6d, 0x6c, 0x73, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x2f, 0x69, - 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x11, 0x78, 0x6d, - 0x74, 0x70, 0x2e, 0x6d, 0x6c, 0x73, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x22, - 0x80, 0x01, 0x0a, 0x0f, 0x53, 0x65, 0x6e, 0x64, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x44, - 0x61, 0x74, 0x61, 0x12, 0x37, 0x0a, 0x02, 0x76, 0x31, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x25, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x6d, 0x6c, 0x73, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x62, - 0x61, 0x73, 0x65, 0x2e, 0x53, 0x65, 0x6e, 0x64, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x44, - 0x61, 0x74, 0x61, 0x2e, 0x56, 0x31, 0x48, 0x00, 0x52, 0x02, 0x76, 0x31, 0x1a, 0x29, 0x0a, 0x02, - 0x56, 0x31, 0x12, 0x23, 0x0a, 0x0d, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x62, 0x79, - 0x74, 0x65, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0c, 0x70, 0x61, 0x79, 0x6c, 0x6f, - 0x61, 0x64, 0x42, 0x79, 0x74, 0x65, 0x73, 0x42, 0x09, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, - 0x6f, 0x6e, 0x22, 0x3f, 0x0a, 0x10, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x64, 0x64, - 0x72, 0x65, 0x73, 0x73, 0x65, 0x73, 0x12, 0x2b, 0x0a, 0x11, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, - 0x74, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, - 0x09, 0x52, 0x10, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, - 0x73, 0x65, 0x73, 0x22, 0x3c, 0x0a, 0x0f, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x73, 0x12, 0x29, 0x0a, 0x10, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6c, - 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0c, - 0x52, 0x0f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, - 0x73, 0x22, 0xe2, 0x01, 0x0a, 0x1a, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x65, 0x73, 0x4f, - 0x72, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x73, - 0x12, 0x52, 0x0a, 0x11, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x61, 0x64, 0x64, 0x72, - 0x65, 0x73, 0x73, 0x65, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x78, 0x6d, - 0x74, 0x70, 0x2e, 0x6d, 0x6c, 0x73, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x2e, - 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x65, 0x73, - 0x48, 0x00, 0x52, 0x10, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, - 0x73, 0x73, 0x65, 0x73, 0x12, 0x4f, 0x0a, 0x10, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, - 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x6d, 0x6c, 0x73, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, - 0x73, 0x65, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, - 0x64, 0x73, 0x48, 0x00, 0x52, 0x0f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x49, 0x64, 0x73, 0x42, 0x1f, 0x0a, 0x1d, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, - 0x65, 0x73, 0x5f, 0x6f, 0x72, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x73, 0x22, 0xcb, 0x01, 0x0a, 0x0e, 0x41, 0x64, 0x64, 0x4d, 0x65, - 0x6d, 0x62, 0x65, 0x72, 0x73, 0x44, 0x61, 0x74, 0x61, 0x12, 0x36, 0x0a, 0x02, 0x76, 0x31, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x6d, 0x6c, 0x73, - 0x2e, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x41, 0x64, 0x64, 0x4d, 0x65, 0x6d, - 0x62, 0x65, 0x72, 0x73, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x56, 0x31, 0x48, 0x00, 0x52, 0x02, 0x76, - 0x31, 0x1a, 0x76, 0x0a, 0x02, 0x56, 0x31, 0x12, 0x70, 0x0a, 0x1d, 0x61, 0x64, 0x64, 0x72, 0x65, - 0x73, 0x73, 0x65, 0x73, 0x5f, 0x6f, 0x72, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, - 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x6d, 0x6c, 0x73, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, - 0x73, 0x65, 0x2e, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x65, 0x73, 0x4f, 0x72, 0x49, 0x6e, - 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x73, 0x52, 0x1a, 0x61, - 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x65, 0x73, 0x4f, 0x72, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, - 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x73, 0x42, 0x09, 0x0a, 0x07, 0x76, 0x65, 0x72, - 0x73, 0x69, 0x6f, 0x6e, 0x22, 0xd1, 0x01, 0x0a, 0x11, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x4d, - 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x44, 0x61, 0x74, 0x61, 0x12, 0x39, 0x0a, 0x02, 0x76, 0x31, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x6d, 0x6c, - 0x73, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76, - 0x65, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x56, 0x31, 0x48, - 0x00, 0x52, 0x02, 0x76, 0x31, 0x1a, 0x76, 0x0a, 0x02, 0x56, 0x31, 0x12, 0x70, 0x0a, 0x1d, 0x61, - 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x65, 0x73, 0x5f, 0x6f, 0x72, 0x5f, 0x69, 0x6e, 0x73, 0x74, - 0x61, 0x6c, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x6d, 0x6c, 0x73, 0x2e, 0x64, 0x61, - 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x65, 0x73, - 0x4f, 0x72, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, - 0x73, 0x52, 0x1a, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x65, 0x73, 0x4f, 0x72, 0x49, 0x6e, - 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x73, 0x42, 0x09, 0x0a, - 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0x89, 0x03, 0x0a, 0x19, 0x55, 0x70, 0x64, - 0x61, 0x74, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x68, - 0x69, 0x70, 0x44, 0x61, 0x74, 0x61, 0x12, 0x41, 0x0a, 0x02, 0x76, 0x31, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x6d, 0x6c, 0x73, 0x2e, 0x64, 0x61, - 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x47, 0x72, 0x6f, - 0x75, 0x70, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x68, 0x69, 0x70, 0x44, 0x61, 0x74, 0x61, - 0x2e, 0x56, 0x31, 0x48, 0x00, 0x52, 0x02, 0x76, 0x31, 0x1a, 0x9d, 0x02, 0x0a, 0x02, 0x56, 0x31, - 0x12, 0x75, 0x0a, 0x12, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x68, 0x69, 0x70, 0x5f, 0x75, - 0x70, 0x64, 0x61, 0x74, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x46, 0x2e, 0x78, - 0x6d, 0x74, 0x70, 0x2e, 0x6d, 0x6c, 0x73, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, - 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x65, 0x6d, 0x62, - 0x65, 0x72, 0x73, 0x68, 0x69, 0x70, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x56, 0x31, 0x2e, 0x4d, 0x65, - 0x6d, 0x62, 0x65, 0x72, 0x73, 0x68, 0x69, 0x70, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x73, 0x45, - 0x6e, 0x74, 0x72, 0x79, 0x52, 0x11, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x68, 0x69, 0x70, - 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x73, 0x12, 0x27, 0x0a, 0x0f, 0x72, 0x65, 0x6d, 0x6f, 0x76, - 0x65, 0x64, 0x5f, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, - 0x52, 0x0e, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x64, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, - 0x12, 0x31, 0x0a, 0x14, 0x66, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, - 0x6c, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0c, 0x52, 0x13, - 0x66, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x73, 0x1a, 0x44, 0x0a, 0x16, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x68, 0x69, - 0x70, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, - 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, - 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, - 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42, 0x09, 0x0a, 0x07, 0x76, 0x65, 0x72, - 0x73, 0x69, 0x6f, 0x6e, 0x22, 0xa1, 0x01, 0x0a, 0x12, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, - 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x44, 0x61, 0x74, 0x61, 0x12, 0x3a, 0x0a, 0x02, 0x76, - 0x31, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x6d, - 0x6c, 0x73, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x55, 0x70, 0x64, 0x61, - 0x74, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x56, - 0x31, 0x48, 0x00, 0x52, 0x02, 0x76, 0x31, 0x1a, 0x44, 0x0a, 0x02, 0x56, 0x31, 0x12, 0x1d, 0x0a, - 0x0a, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x09, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1f, 0x0a, 0x0b, - 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x0a, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x09, 0x0a, - 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0xdd, 0x01, 0x0a, 0x14, 0x55, 0x70, 0x64, - 0x61, 0x74, 0x65, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x4c, 0x69, 0x73, 0x74, 0x73, 0x44, 0x61, 0x74, - 0x61, 0x12, 0x3c, 0x0a, 0x02, 0x76, 0x31, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, - 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x6d, 0x6c, 0x73, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, - 0x65, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x4c, 0x69, 0x73, - 0x74, 0x73, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x56, 0x31, 0x48, 0x00, 0x52, 0x02, 0x76, 0x31, 0x1a, - 0x7c, 0x0a, 0x02, 0x56, 0x31, 0x12, 0x5b, 0x0a, 0x16, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x5f, 0x6c, - 0x69, 0x73, 0x74, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x26, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x6d, 0x6c, 0x73, - 0x2e, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x4c, - 0x69, 0x73, 0x74, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x79, 0x70, 0x65, 0x52, 0x13, 0x61, - 0x64, 0x6d, 0x69, 0x6e, 0x4c, 0x69, 0x73, 0x74, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x79, - 0x70, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x69, 0x6e, 0x62, 0x6f, 0x78, 0x5f, 0x69, 0x64, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x69, 0x6e, 0x62, 0x6f, 0x78, 0x49, 0x64, 0x42, 0x09, 0x0a, - 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0xf7, 0x02, 0x0a, 0x14, 0x55, 0x70, 0x64, - 0x61, 0x74, 0x65, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74, - 0x61, 0x12, 0x3c, 0x0a, 0x02, 0x76, 0x31, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, - 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x6d, 0x6c, 0x73, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, - 0x65, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, - 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x56, 0x31, 0x48, 0x00, 0x52, 0x02, 0x76, 0x31, 0x1a, - 0x95, 0x02, 0x0a, 0x02, 0x56, 0x31, 0x12, 0x5d, 0x0a, 0x16, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, - 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x27, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x6d, 0x6c, - 0x73, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x50, 0x65, 0x72, 0x6d, 0x69, - 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x79, 0x70, 0x65, 0x52, - 0x14, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x55, 0x70, 0x64, 0x61, 0x74, - 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x63, 0x0a, 0x18, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, - 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, - 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x29, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x6d, - 0x6c, 0x73, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x50, 0x65, 0x72, 0x6d, - 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x4f, 0x70, 0x74, 0x69, - 0x6f, 0x6e, 0x52, 0x16, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x50, 0x6f, - 0x6c, 0x69, 0x63, 0x79, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x33, 0x0a, 0x13, 0x6d, 0x65, - 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x6e, 0x61, 0x6d, - 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x11, 0x6d, 0x65, 0x74, 0x61, 0x64, - 0x61, 0x74, 0x61, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4e, 0x61, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x42, - 0x16, 0x0a, 0x14, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x66, 0x69, 0x65, - 0x6c, 0x64, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x42, 0x09, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, - 0x6f, 0x6e, 0x22, 0xe8, 0x02, 0x0a, 0x10, 0x50, 0x6f, 0x73, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x69, - 0x74, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x57, 0x0a, 0x0d, 0x73, 0x65, 0x6e, 0x64, 0x5f, - 0x77, 0x65, 0x6c, 0x63, 0x6f, 0x6d, 0x65, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x30, - 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x6d, 0x6c, 0x73, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, - 0x73, 0x65, 0x2e, 0x50, 0x6f, 0x73, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x41, 0x63, 0x74, - 0x69, 0x6f, 0x6e, 0x2e, 0x53, 0x65, 0x6e, 0x64, 0x57, 0x65, 0x6c, 0x63, 0x6f, 0x6d, 0x65, 0x73, - 0x48, 0x00, 0x52, 0x0c, 0x73, 0x65, 0x6e, 0x64, 0x57, 0x65, 0x6c, 0x63, 0x6f, 0x6d, 0x65, 0x73, - 0x1a, 0x61, 0x0a, 0x0c, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x12, 0x29, 0x0a, 0x10, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0f, 0x69, 0x6e, 0x73, 0x74, - 0x61, 0x6c, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4b, 0x65, 0x79, 0x12, 0x26, 0x0a, 0x0f, 0x68, - 0x70, 0x6b, 0x65, 0x5f, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0d, 0x68, 0x70, 0x6b, 0x65, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, - 0x4b, 0x65, 0x79, 0x1a, 0x8f, 0x01, 0x0a, 0x0c, 0x53, 0x65, 0x6e, 0x64, 0x57, 0x65, 0x6c, 0x63, - 0x6f, 0x6d, 0x65, 0x73, 0x12, 0x56, 0x0a, 0x0d, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x78, 0x6d, - 0x74, 0x70, 0x2e, 0x6d, 0x6c, 0x73, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x2e, - 0x50, 0x6f, 0x73, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, - 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0d, 0x69, - 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x27, 0x0a, 0x0f, - 0x77, 0x65, 0x6c, 0x63, 0x6f, 0x6d, 0x65, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0e, 0x77, 0x65, 0x6c, 0x63, 0x6f, 0x6d, 0x65, 0x4d, 0x65, - 0x73, 0x73, 0x61, 0x67, 0x65, 0x42, 0x06, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x2a, 0xe7, 0x01, - 0x0a, 0x13, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x4c, 0x69, 0x73, 0x74, 0x55, 0x70, 0x64, 0x61, 0x74, - 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x26, 0x0a, 0x22, 0x41, 0x44, 0x4d, 0x49, 0x4e, 0x5f, 0x4c, - 0x49, 0x53, 0x54, 0x5f, 0x55, 0x50, 0x44, 0x41, 0x54, 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, - 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x24, 0x0a, - 0x20, 0x41, 0x44, 0x4d, 0x49, 0x4e, 0x5f, 0x4c, 0x49, 0x53, 0x54, 0x5f, 0x55, 0x50, 0x44, 0x41, - 0x54, 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x41, 0x44, 0x44, 0x5f, 0x41, 0x44, 0x4d, 0x49, - 0x4e, 0x10, 0x01, 0x12, 0x27, 0x0a, 0x23, 0x41, 0x44, 0x4d, 0x49, 0x4e, 0x5f, 0x4c, 0x49, 0x53, - 0x54, 0x5f, 0x55, 0x50, 0x44, 0x41, 0x54, 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x52, 0x45, - 0x4d, 0x4f, 0x56, 0x45, 0x5f, 0x41, 0x44, 0x4d, 0x49, 0x4e, 0x10, 0x02, 0x12, 0x2a, 0x0a, 0x26, - 0x41, 0x44, 0x4d, 0x49, 0x4e, 0x5f, 0x4c, 0x49, 0x53, 0x54, 0x5f, 0x55, 0x50, 0x44, 0x41, 0x54, - 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x41, 0x44, 0x44, 0x5f, 0x53, 0x55, 0x50, 0x45, 0x52, - 0x5f, 0x41, 0x44, 0x4d, 0x49, 0x4e, 0x10, 0x03, 0x12, 0x2d, 0x0a, 0x29, 0x41, 0x44, 0x4d, 0x49, - 0x4e, 0x5f, 0x4c, 0x49, 0x53, 0x54, 0x5f, 0x55, 0x50, 0x44, 0x41, 0x54, 0x45, 0x5f, 0x54, 0x59, - 0x50, 0x45, 0x5f, 0x52, 0x45, 0x4d, 0x4f, 0x56, 0x45, 0x5f, 0x53, 0x55, 0x50, 0x45, 0x52, 0x5f, - 0x41, 0x44, 0x4d, 0x49, 0x4e, 0x10, 0x04, 0x2a, 0x8a, 0x02, 0x0a, 0x14, 0x50, 0x65, 0x72, 0x6d, - 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x79, 0x70, 0x65, - 0x12, 0x26, 0x0a, 0x22, 0x50, 0x45, 0x52, 0x4d, 0x49, 0x53, 0x53, 0x49, 0x4f, 0x4e, 0x5f, 0x55, - 0x50, 0x44, 0x41, 0x54, 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, - 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x25, 0x0a, 0x21, 0x50, 0x45, 0x52, 0x4d, - 0x49, 0x53, 0x53, 0x49, 0x4f, 0x4e, 0x5f, 0x55, 0x50, 0x44, 0x41, 0x54, 0x45, 0x5f, 0x54, 0x59, - 0x50, 0x45, 0x5f, 0x41, 0x44, 0x44, 0x5f, 0x4d, 0x45, 0x4d, 0x42, 0x45, 0x52, 0x10, 0x01, 0x12, - 0x28, 0x0a, 0x24, 0x50, 0x45, 0x52, 0x4d, 0x49, 0x53, 0x53, 0x49, 0x4f, 0x4e, 0x5f, 0x55, 0x50, - 0x44, 0x41, 0x54, 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x52, 0x45, 0x4d, 0x4f, 0x56, 0x45, - 0x5f, 0x4d, 0x45, 0x4d, 0x42, 0x45, 0x52, 0x10, 0x02, 0x12, 0x24, 0x0a, 0x20, 0x50, 0x45, 0x52, - 0x4d, 0x49, 0x53, 0x53, 0x49, 0x4f, 0x4e, 0x5f, 0x55, 0x50, 0x44, 0x41, 0x54, 0x45, 0x5f, 0x54, - 0x59, 0x50, 0x45, 0x5f, 0x41, 0x44, 0x44, 0x5f, 0x41, 0x44, 0x4d, 0x49, 0x4e, 0x10, 0x03, 0x12, - 0x27, 0x0a, 0x23, 0x50, 0x45, 0x52, 0x4d, 0x49, 0x53, 0x53, 0x49, 0x4f, 0x4e, 0x5f, 0x55, 0x50, - 0x44, 0x41, 0x54, 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x52, 0x45, 0x4d, 0x4f, 0x56, 0x45, - 0x5f, 0x41, 0x44, 0x4d, 0x49, 0x4e, 0x10, 0x04, 0x12, 0x2a, 0x0a, 0x26, 0x50, 0x45, 0x52, 0x4d, - 0x49, 0x53, 0x53, 0x49, 0x4f, 0x4e, 0x5f, 0x55, 0x50, 0x44, 0x41, 0x54, 0x45, 0x5f, 0x54, 0x59, - 0x50, 0x45, 0x5f, 0x55, 0x50, 0x44, 0x41, 0x54, 0x45, 0x5f, 0x4d, 0x45, 0x54, 0x41, 0x44, 0x41, - 0x54, 0x41, 0x10, 0x05, 0x2a, 0xe1, 0x01, 0x0a, 0x16, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, - 0x69, 0x6f, 0x6e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, - 0x28, 0x0a, 0x24, 0x50, 0x45, 0x52, 0x4d, 0x49, 0x53, 0x53, 0x49, 0x4f, 0x4e, 0x5f, 0x50, 0x4f, - 0x4c, 0x49, 0x43, 0x59, 0x5f, 0x4f, 0x50, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x55, 0x4e, 0x53, 0x50, - 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x22, 0x0a, 0x1e, 0x50, 0x45, 0x52, - 0x4d, 0x49, 0x53, 0x53, 0x49, 0x4f, 0x4e, 0x5f, 0x50, 0x4f, 0x4c, 0x49, 0x43, 0x59, 0x5f, 0x4f, - 0x50, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x41, 0x4c, 0x4c, 0x4f, 0x57, 0x10, 0x01, 0x12, 0x21, 0x0a, - 0x1d, 0x50, 0x45, 0x52, 0x4d, 0x49, 0x53, 0x53, 0x49, 0x4f, 0x4e, 0x5f, 0x50, 0x4f, 0x4c, 0x49, - 0x43, 0x59, 0x5f, 0x4f, 0x50, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x44, 0x45, 0x4e, 0x59, 0x10, 0x02, - 0x12, 0x27, 0x0a, 0x23, 0x50, 0x45, 0x52, 0x4d, 0x49, 0x53, 0x53, 0x49, 0x4f, 0x4e, 0x5f, 0x50, - 0x4f, 0x4c, 0x49, 0x43, 0x59, 0x5f, 0x4f, 0x50, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x41, 0x44, 0x4d, - 0x49, 0x4e, 0x5f, 0x4f, 0x4e, 0x4c, 0x59, 0x10, 0x03, 0x12, 0x2d, 0x0a, 0x29, 0x50, 0x45, 0x52, - 0x4d, 0x49, 0x53, 0x53, 0x49, 0x4f, 0x4e, 0x5f, 0x50, 0x4f, 0x4c, 0x49, 0x43, 0x59, 0x5f, 0x4f, - 0x50, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x53, 0x55, 0x50, 0x45, 0x52, 0x5f, 0x41, 0x44, 0x4d, 0x49, - 0x4e, 0x5f, 0x4f, 0x4e, 0x4c, 0x59, 0x10, 0x04, 0x42, 0xec, 0x01, 0x0a, 0x2f, 0x6f, 0x72, 0x67, - 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x61, 0x6e, 0x64, 0x72, 0x6f, 0x69, 0x64, 0x2e, 0x6c, 0x69, - 0x62, 0x72, 0x61, 0x72, 0x79, 0x2e, 0x70, 0x75, 0x73, 0x68, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, - 0x6d, 0x6c, 0x73, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x42, 0x0c, 0x49, 0x6e, - 0x74, 0x65, 0x6e, 0x74, 0x73, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x45, 0x67, 0x69, - 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x78, 0x6d, 0x74, 0x70, 0x2f, 0x65, 0x78, - 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x2d, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x2d, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2d, 0x67, 0x6f, 0x2f, 0x70, 0x6b, 0x67, - 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x6d, 0x6c, 0x73, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x62, - 0x61, 0x73, 0x65, 0xa2, 0x02, 0x03, 0x58, 0x4d, 0x44, 0xaa, 0x02, 0x11, 0x58, 0x6d, 0x74, 0x70, - 0x2e, 0x4d, 0x6c, 0x73, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0xca, 0x02, 0x11, - 0x58, 0x6d, 0x74, 0x70, 0x5c, 0x4d, 0x6c, 0x73, 0x5c, 0x44, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, - 0x65, 0xe2, 0x02, 0x1d, 0x58, 0x6d, 0x74, 0x70, 0x5c, 0x4d, 0x6c, 0x73, 0x5c, 0x44, 0x61, 0x74, - 0x61, 0x62, 0x61, 0x73, 0x65, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, - 0x61, 0xea, 0x02, 0x13, 0x58, 0x6d, 0x74, 0x70, 0x3a, 0x3a, 0x4d, 0x6c, 0x73, 0x3a, 0x3a, 0x44, - 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, -}) +const file_mls_database_intents_proto_rawDesc = "" + + "\n" + + "\x1amls/database/intents.proto\x12\x11xmtp.mls.database\x1a*mls/message_contents/welcome_pointer.proto\x1a-mls/message_contents/wrapper_encryption.proto\"\x80\x01\n" + + "\x0fSendMessageData\x127\n" + + "\x02v1\x18\x01 \x01(\v2%.xmtp.mls.database.SendMessageData.V1H\x00R\x02v1\x1a)\n" + + "\x02V1\x12#\n" + + "\rpayload_bytes\x18\x01 \x01(\fR\fpayloadBytesB\t\n" + + "\aversion\"?\n" + + "\x10AccountAddresses\x12+\n" + + "\x11account_addresses\x18\x01 \x03(\tR\x10accountAddresses\"<\n" + + "\x0fInstallationIds\x12)\n" + + "\x10installation_ids\x18\x01 \x03(\fR\x0finstallationIds\"\xe2\x01\n" + + "\x1aAddressesOrInstallationIds\x12R\n" + + "\x11account_addresses\x18\x01 \x01(\v2#.xmtp.mls.database.AccountAddressesH\x00R\x10accountAddresses\x12O\n" + + "\x10installation_ids\x18\x02 \x01(\v2\".xmtp.mls.database.InstallationIdsH\x00R\x0finstallationIdsB\x1f\n" + + "\x1daddresses_or_installation_ids\"\xcb\x01\n" + + "\x0eAddMembersData\x126\n" + + "\x02v1\x18\x01 \x01(\v2$.xmtp.mls.database.AddMembersData.V1H\x00R\x02v1\x1av\n" + + "\x02V1\x12p\n" + + "\x1daddresses_or_installation_ids\x18\x01 \x01(\v2-.xmtp.mls.database.AddressesOrInstallationIdsR\x1aaddressesOrInstallationIdsB\t\n" + + "\aversion\"\xd1\x01\n" + + "\x11RemoveMembersData\x129\n" + + "\x02v1\x18\x01 \x01(\v2'.xmtp.mls.database.RemoveMembersData.V1H\x00R\x02v1\x1av\n" + + "\x02V1\x12p\n" + + "\x1daddresses_or_installation_ids\x18\x01 \x01(\v2-.xmtp.mls.database.AddressesOrInstallationIdsR\x1aaddressesOrInstallationIdsB\t\n" + + "\aversion\"\x89\x03\n" + + "\x19UpdateGroupMembershipData\x12A\n" + + "\x02v1\x18\x01 \x01(\v2/.xmtp.mls.database.UpdateGroupMembershipData.V1H\x00R\x02v1\x1a\x9d\x02\n" + + "\x02V1\x12u\n" + + "\x12membership_updates\x18\x01 \x03(\v2F.xmtp.mls.database.UpdateGroupMembershipData.V1.MembershipUpdatesEntryR\x11membershipUpdates\x12'\n" + + "\x0fremoved_members\x18\x02 \x03(\tR\x0eremovedMembers\x121\n" + + "\x14failed_installations\x18\x03 \x03(\fR\x13failedInstallations\x1aD\n" + + "\x16MembershipUpdatesEntry\x12\x10\n" + + "\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n" + + "\x05value\x18\x02 \x01(\x04R\x05value:\x028\x01B\t\n" + + "\aversion\"\x9e\x01\n" + + "\x16ReaddInstallationsData\x12>\n" + + "\x02v1\x18\x01 \x01(\v2,.xmtp.mls.database.ReaddInstallationsData.V1H\x00R\x02v1\x1a9\n" + + "\x02V1\x123\n" + + "\x15readded_installations\x18\x01 \x03(\fR\x14readdedInstallationsB\t\n" + + "\aversion\"\xa1\x01\n" + + "\x12UpdateMetadataData\x12:\n" + + "\x02v1\x18\x01 \x01(\v2(.xmtp.mls.database.UpdateMetadataData.V1H\x00R\x02v1\x1aD\n" + + "\x02V1\x12\x1d\n" + + "\n" + + "field_name\x18\x01 \x01(\tR\tfieldName\x12\x1f\n" + + "\vfield_value\x18\x02 \x01(\tR\n" + + "fieldValueB\t\n" + + "\aversion\"\xdd\x01\n" + + "\x14UpdateAdminListsData\x12<\n" + + "\x02v1\x18\x01 \x01(\v2*.xmtp.mls.database.UpdateAdminListsData.V1H\x00R\x02v1\x1a|\n" + + "\x02V1\x12[\n" + + "\x16admin_list_update_type\x18\x01 \x01(\x0e2&.xmtp.mls.database.AdminListUpdateTypeR\x13adminListUpdateType\x12\x19\n" + + "\binbox_id\x18\x02 \x01(\tR\ainboxIdB\t\n" + + "\aversion\"\xf7\x02\n" + + "\x14UpdatePermissionData\x12<\n" + + "\x02v1\x18\x01 \x01(\v2*.xmtp.mls.database.UpdatePermissionData.V1H\x00R\x02v1\x1a\x95\x02\n" + + "\x02V1\x12]\n" + + "\x16permission_update_type\x18\x01 \x01(\x0e2'.xmtp.mls.database.PermissionUpdateTypeR\x14permissionUpdateType\x12c\n" + + "\x18permission_policy_option\x18\x02 \x01(\x0e2).xmtp.mls.database.PermissionPolicyOptionR\x16permissionPolicyOption\x123\n" + + "\x13metadata_field_name\x18\x03 \x01(\tH\x00R\x11metadataFieldName\x88\x01\x01B\x16\n" + + "\x14_metadata_field_nameB\t\n" + + "\aversion\"\xf3\x04\n" + + "\x10PostCommitAction\x12W\n" + + "\rsend_welcomes\x18\x01 \x01(\v20.xmtp.mls.database.PostCommitAction.SendWelcomesH\x00R\fsendWelcomes\x1a\xeb\x02\n" + + "\fInstallation\x12)\n" + + "\x10installation_key\x18\x01 \x01(\fR\x0finstallationKey\x12&\n" + + "\x0fhpke_public_key\x18\x02 \x01(\fR\rhpkePublicKey\x12n\n" + + "\x19welcome_wrapper_algorithm\x18\x03 \x01(\x0e22.xmtp.mls.message_contents.WelcomeWrapperAlgorithmR\x17welcomeWrapperAlgorithm\x12\x97\x01\n" + + "%welcome_pointee_encryption_aead_types\x18\x04 \x01(\v2E.xmtp.mls.message_contents.WelcomePointeeEncryptionAeadTypesExtensionR!welcomePointeeEncryptionAeadTypes\x1a\x8f\x01\n" + + "\fSendWelcomes\x12V\n" + + "\rinstallations\x18\x01 \x03(\v20.xmtp.mls.database.PostCommitAction.InstallationR\rinstallations\x12'\n" + + "\x0fwelcome_message\x18\x02 \x01(\fR\x0ewelcomeMessageB\x06\n" + + "\x04kind*\xe7\x01\n" + + "\x13AdminListUpdateType\x12&\n" + + "\"ADMIN_LIST_UPDATE_TYPE_UNSPECIFIED\x10\x00\x12$\n" + + " ADMIN_LIST_UPDATE_TYPE_ADD_ADMIN\x10\x01\x12'\n" + + "#ADMIN_LIST_UPDATE_TYPE_REMOVE_ADMIN\x10\x02\x12*\n" + + "&ADMIN_LIST_UPDATE_TYPE_ADD_SUPER_ADMIN\x10\x03\x12-\n" + + ")ADMIN_LIST_UPDATE_TYPE_REMOVE_SUPER_ADMIN\x10\x04*\x8a\x02\n" + + "\x14PermissionUpdateType\x12&\n" + + "\"PERMISSION_UPDATE_TYPE_UNSPECIFIED\x10\x00\x12%\n" + + "!PERMISSION_UPDATE_TYPE_ADD_MEMBER\x10\x01\x12(\n" + + "$PERMISSION_UPDATE_TYPE_REMOVE_MEMBER\x10\x02\x12$\n" + + " PERMISSION_UPDATE_TYPE_ADD_ADMIN\x10\x03\x12'\n" + + "#PERMISSION_UPDATE_TYPE_REMOVE_ADMIN\x10\x04\x12*\n" + + "&PERMISSION_UPDATE_TYPE_UPDATE_METADATA\x10\x05*\xe1\x01\n" + + "\x16PermissionPolicyOption\x12(\n" + + "$PERMISSION_POLICY_OPTION_UNSPECIFIED\x10\x00\x12\"\n" + + "\x1ePERMISSION_POLICY_OPTION_ALLOW\x10\x01\x12!\n" + + "\x1dPERMISSION_POLICY_OPTION_DENY\x10\x02\x12'\n" + + "#PERMISSION_POLICY_OPTION_ADMIN_ONLY\x10\x03\x12-\n" + + ")PERMISSION_POLICY_OPTION_SUPER_ADMIN_ONLY\x10\x04B\xec\x01\n" + + "/org.xmtp.android.library.push.xmtp.mls.databaseB\fIntentsProtoP\x01ZEgithub.com/xmtp/example-notification-server-go/pkg/proto/mls/database\xa2\x02\x03XMD\xaa\x02\x11Xmtp.Mls.Database\xca\x02\x11Xmtp\\Mls\\Database\xe2\x02\x1dXmtp\\Mls\\Database\\GPBMetadata\xea\x02\x13Xmtp::Mls::Databaseb\x06proto3" var ( file_mls_database_intents_proto_rawDescOnce sync.Once @@ -1613,56 +1621,63 @@ func file_mls_database_intents_proto_rawDescGZIP() []byte { } var file_mls_database_intents_proto_enumTypes = make([]protoimpl.EnumInfo, 3) -var file_mls_database_intents_proto_msgTypes = make([]protoimpl.MessageInfo, 21) +var file_mls_database_intents_proto_msgTypes = make([]protoimpl.MessageInfo, 23) var file_mls_database_intents_proto_goTypes = []any{ - (AdminListUpdateType)(0), // 0: xmtp.mls.database.AdminListUpdateType - (PermissionUpdateType)(0), // 1: xmtp.mls.database.PermissionUpdateType - (PermissionPolicyOption)(0), // 2: xmtp.mls.database.PermissionPolicyOption - (*SendMessageData)(nil), // 3: xmtp.mls.database.SendMessageData - (*AccountAddresses)(nil), // 4: xmtp.mls.database.AccountAddresses - (*InstallationIds)(nil), // 5: xmtp.mls.database.InstallationIds - (*AddressesOrInstallationIds)(nil), // 6: xmtp.mls.database.AddressesOrInstallationIds - (*AddMembersData)(nil), // 7: xmtp.mls.database.AddMembersData - (*RemoveMembersData)(nil), // 8: xmtp.mls.database.RemoveMembersData - (*UpdateGroupMembershipData)(nil), // 9: xmtp.mls.database.UpdateGroupMembershipData - (*UpdateMetadataData)(nil), // 10: xmtp.mls.database.UpdateMetadataData - (*UpdateAdminListsData)(nil), // 11: xmtp.mls.database.UpdateAdminListsData - (*UpdatePermissionData)(nil), // 12: xmtp.mls.database.UpdatePermissionData - (*PostCommitAction)(nil), // 13: xmtp.mls.database.PostCommitAction - (*SendMessageData_V1)(nil), // 14: xmtp.mls.database.SendMessageData.V1 - (*AddMembersData_V1)(nil), // 15: xmtp.mls.database.AddMembersData.V1 - (*RemoveMembersData_V1)(nil), // 16: xmtp.mls.database.RemoveMembersData.V1 - (*UpdateGroupMembershipData_V1)(nil), // 17: xmtp.mls.database.UpdateGroupMembershipData.V1 - nil, // 18: xmtp.mls.database.UpdateGroupMembershipData.V1.MembershipUpdatesEntry - (*UpdateMetadataData_V1)(nil), // 19: xmtp.mls.database.UpdateMetadataData.V1 - (*UpdateAdminListsData_V1)(nil), // 20: xmtp.mls.database.UpdateAdminListsData.V1 - (*UpdatePermissionData_V1)(nil), // 21: xmtp.mls.database.UpdatePermissionData.V1 - (*PostCommitAction_Installation)(nil), // 22: xmtp.mls.database.PostCommitAction.Installation - (*PostCommitAction_SendWelcomes)(nil), // 23: xmtp.mls.database.PostCommitAction.SendWelcomes + (AdminListUpdateType)(0), // 0: xmtp.mls.database.AdminListUpdateType + (PermissionUpdateType)(0), // 1: xmtp.mls.database.PermissionUpdateType + (PermissionPolicyOption)(0), // 2: xmtp.mls.database.PermissionPolicyOption + (*SendMessageData)(nil), // 3: xmtp.mls.database.SendMessageData + (*AccountAddresses)(nil), // 4: xmtp.mls.database.AccountAddresses + (*InstallationIds)(nil), // 5: xmtp.mls.database.InstallationIds + (*AddressesOrInstallationIds)(nil), // 6: xmtp.mls.database.AddressesOrInstallationIds + (*AddMembersData)(nil), // 7: xmtp.mls.database.AddMembersData + (*RemoveMembersData)(nil), // 8: xmtp.mls.database.RemoveMembersData + (*UpdateGroupMembershipData)(nil), // 9: xmtp.mls.database.UpdateGroupMembershipData + (*ReaddInstallationsData)(nil), // 10: xmtp.mls.database.ReaddInstallationsData + (*UpdateMetadataData)(nil), // 11: xmtp.mls.database.UpdateMetadataData + (*UpdateAdminListsData)(nil), // 12: xmtp.mls.database.UpdateAdminListsData + (*UpdatePermissionData)(nil), // 13: xmtp.mls.database.UpdatePermissionData + (*PostCommitAction)(nil), // 14: xmtp.mls.database.PostCommitAction + (*SendMessageData_V1)(nil), // 15: xmtp.mls.database.SendMessageData.V1 + (*AddMembersData_V1)(nil), // 16: xmtp.mls.database.AddMembersData.V1 + (*RemoveMembersData_V1)(nil), // 17: xmtp.mls.database.RemoveMembersData.V1 + (*UpdateGroupMembershipData_V1)(nil), // 18: xmtp.mls.database.UpdateGroupMembershipData.V1 + nil, // 19: xmtp.mls.database.UpdateGroupMembershipData.V1.MembershipUpdatesEntry + (*ReaddInstallationsData_V1)(nil), // 20: xmtp.mls.database.ReaddInstallationsData.V1 + (*UpdateMetadataData_V1)(nil), // 21: xmtp.mls.database.UpdateMetadataData.V1 + (*UpdateAdminListsData_V1)(nil), // 22: xmtp.mls.database.UpdateAdminListsData.V1 + (*UpdatePermissionData_V1)(nil), // 23: xmtp.mls.database.UpdatePermissionData.V1 + (*PostCommitAction_Installation)(nil), // 24: xmtp.mls.database.PostCommitAction.Installation + (*PostCommitAction_SendWelcomes)(nil), // 25: xmtp.mls.database.PostCommitAction.SendWelcomes + (message_contents.WelcomeWrapperAlgorithm)(0), // 26: xmtp.mls.message_contents.WelcomeWrapperAlgorithm + (*message_contents.WelcomePointeeEncryptionAeadTypesExtension)(nil), // 27: xmtp.mls.message_contents.WelcomePointeeEncryptionAeadTypesExtension } var file_mls_database_intents_proto_depIdxs = []int32{ - 14, // 0: xmtp.mls.database.SendMessageData.v1:type_name -> xmtp.mls.database.SendMessageData.V1 + 15, // 0: xmtp.mls.database.SendMessageData.v1:type_name -> xmtp.mls.database.SendMessageData.V1 4, // 1: xmtp.mls.database.AddressesOrInstallationIds.account_addresses:type_name -> xmtp.mls.database.AccountAddresses 5, // 2: xmtp.mls.database.AddressesOrInstallationIds.installation_ids:type_name -> xmtp.mls.database.InstallationIds - 15, // 3: xmtp.mls.database.AddMembersData.v1:type_name -> xmtp.mls.database.AddMembersData.V1 - 16, // 4: xmtp.mls.database.RemoveMembersData.v1:type_name -> xmtp.mls.database.RemoveMembersData.V1 - 17, // 5: xmtp.mls.database.UpdateGroupMembershipData.v1:type_name -> xmtp.mls.database.UpdateGroupMembershipData.V1 - 19, // 6: xmtp.mls.database.UpdateMetadataData.v1:type_name -> xmtp.mls.database.UpdateMetadataData.V1 - 20, // 7: xmtp.mls.database.UpdateAdminListsData.v1:type_name -> xmtp.mls.database.UpdateAdminListsData.V1 - 21, // 8: xmtp.mls.database.UpdatePermissionData.v1:type_name -> xmtp.mls.database.UpdatePermissionData.V1 - 23, // 9: xmtp.mls.database.PostCommitAction.send_welcomes:type_name -> xmtp.mls.database.PostCommitAction.SendWelcomes - 6, // 10: xmtp.mls.database.AddMembersData.V1.addresses_or_installation_ids:type_name -> xmtp.mls.database.AddressesOrInstallationIds - 6, // 11: xmtp.mls.database.RemoveMembersData.V1.addresses_or_installation_ids:type_name -> xmtp.mls.database.AddressesOrInstallationIds - 18, // 12: xmtp.mls.database.UpdateGroupMembershipData.V1.membership_updates:type_name -> xmtp.mls.database.UpdateGroupMembershipData.V1.MembershipUpdatesEntry - 0, // 13: xmtp.mls.database.UpdateAdminListsData.V1.admin_list_update_type:type_name -> xmtp.mls.database.AdminListUpdateType - 1, // 14: xmtp.mls.database.UpdatePermissionData.V1.permission_update_type:type_name -> xmtp.mls.database.PermissionUpdateType - 2, // 15: xmtp.mls.database.UpdatePermissionData.V1.permission_policy_option:type_name -> xmtp.mls.database.PermissionPolicyOption - 22, // 16: xmtp.mls.database.PostCommitAction.SendWelcomes.installations:type_name -> xmtp.mls.database.PostCommitAction.Installation - 17, // [17:17] is the sub-list for method output_type - 17, // [17:17] 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 + 16, // 3: xmtp.mls.database.AddMembersData.v1:type_name -> xmtp.mls.database.AddMembersData.V1 + 17, // 4: xmtp.mls.database.RemoveMembersData.v1:type_name -> xmtp.mls.database.RemoveMembersData.V1 + 18, // 5: xmtp.mls.database.UpdateGroupMembershipData.v1:type_name -> xmtp.mls.database.UpdateGroupMembershipData.V1 + 20, // 6: xmtp.mls.database.ReaddInstallationsData.v1:type_name -> xmtp.mls.database.ReaddInstallationsData.V1 + 21, // 7: xmtp.mls.database.UpdateMetadataData.v1:type_name -> xmtp.mls.database.UpdateMetadataData.V1 + 22, // 8: xmtp.mls.database.UpdateAdminListsData.v1:type_name -> xmtp.mls.database.UpdateAdminListsData.V1 + 23, // 9: xmtp.mls.database.UpdatePermissionData.v1:type_name -> xmtp.mls.database.UpdatePermissionData.V1 + 25, // 10: xmtp.mls.database.PostCommitAction.send_welcomes:type_name -> xmtp.mls.database.PostCommitAction.SendWelcomes + 6, // 11: xmtp.mls.database.AddMembersData.V1.addresses_or_installation_ids:type_name -> xmtp.mls.database.AddressesOrInstallationIds + 6, // 12: xmtp.mls.database.RemoveMembersData.V1.addresses_or_installation_ids:type_name -> xmtp.mls.database.AddressesOrInstallationIds + 19, // 13: xmtp.mls.database.UpdateGroupMembershipData.V1.membership_updates:type_name -> xmtp.mls.database.UpdateGroupMembershipData.V1.MembershipUpdatesEntry + 0, // 14: xmtp.mls.database.UpdateAdminListsData.V1.admin_list_update_type:type_name -> xmtp.mls.database.AdminListUpdateType + 1, // 15: xmtp.mls.database.UpdatePermissionData.V1.permission_update_type:type_name -> xmtp.mls.database.PermissionUpdateType + 2, // 16: xmtp.mls.database.UpdatePermissionData.V1.permission_policy_option:type_name -> xmtp.mls.database.PermissionPolicyOption + 26, // 17: xmtp.mls.database.PostCommitAction.Installation.welcome_wrapper_algorithm:type_name -> xmtp.mls.message_contents.WelcomeWrapperAlgorithm + 27, // 18: xmtp.mls.database.PostCommitAction.Installation.welcome_pointee_encryption_aead_types:type_name -> xmtp.mls.message_contents.WelcomePointeeEncryptionAeadTypesExtension + 24, // 19: xmtp.mls.database.PostCommitAction.SendWelcomes.installations:type_name -> xmtp.mls.database.PostCommitAction.Installation + 20, // [20:20] is the sub-list for method output_type + 20, // [20:20] is the sub-list for method input_type + 20, // [20:20] is the sub-list for extension type_name + 20, // [20:20] is the sub-list for extension extendee + 0, // [0:20] is the sub-list for field type_name } func init() { file_mls_database_intents_proto_init() } @@ -1687,25 +1702,28 @@ func file_mls_database_intents_proto_init() { (*UpdateGroupMembershipData_V1_)(nil), } file_mls_database_intents_proto_msgTypes[7].OneofWrappers = []any{ - (*UpdateMetadataData_V1_)(nil), + (*ReaddInstallationsData_V1_)(nil), } file_mls_database_intents_proto_msgTypes[8].OneofWrappers = []any{ - (*UpdateAdminListsData_V1_)(nil), + (*UpdateMetadataData_V1_)(nil), } file_mls_database_intents_proto_msgTypes[9].OneofWrappers = []any{ - (*UpdatePermissionData_V1_)(nil), + (*UpdateAdminListsData_V1_)(nil), } file_mls_database_intents_proto_msgTypes[10].OneofWrappers = []any{ + (*UpdatePermissionData_V1_)(nil), + } + file_mls_database_intents_proto_msgTypes[11].OneofWrappers = []any{ (*PostCommitAction_SendWelcomes_)(nil), } - file_mls_database_intents_proto_msgTypes[18].OneofWrappers = []any{} + file_mls_database_intents_proto_msgTypes[20].OneofWrappers = []any{} type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: unsafe.Slice(unsafe.StringData(file_mls_database_intents_proto_rawDesc), len(file_mls_database_intents_proto_rawDesc)), NumEnums: 3, - NumMessages: 21, + NumMessages: 23, NumExtensions: 0, NumServices: 0, }, diff --git a/pkg/proto/mls/database/task.pb.go b/pkg/proto/mls/database/task.pb.go new file mode 100644 index 0000000..ecc47af --- /dev/null +++ b/pkg/proto/mls/database/task.pb.go @@ -0,0 +1,154 @@ +// Intent protos that are stored in the libxmtp database + +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.36.10 +// protoc (unknown) +// source: mls/database/task.proto + +package database + +import ( + message_contents "github.com/xmtp/example-notification-server-go/pkg/proto/mls/message_contents" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + reflect "reflect" + sync "sync" + unsafe "unsafe" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +type Task struct { + state protoimpl.MessageState `protogen:"open.v1"` + // Types that are valid to be assigned to Task: + // + // *Task_ProcessWelcomePointer + Task isTask_Task `protobuf_oneof:"task"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *Task) Reset() { + *x = Task{} + mi := &file_mls_database_task_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *Task) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Task) ProtoMessage() {} + +func (x *Task) ProtoReflect() protoreflect.Message { + mi := &file_mls_database_task_proto_msgTypes[0] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Task.ProtoReflect.Descriptor instead. +func (*Task) Descriptor() ([]byte, []int) { + return file_mls_database_task_proto_rawDescGZIP(), []int{0} +} + +func (x *Task) GetTask() isTask_Task { + if x != nil { + return x.Task + } + return nil +} + +func (x *Task) GetProcessWelcomePointer() *message_contents.WelcomePointer { + if x != nil { + if x, ok := x.Task.(*Task_ProcessWelcomePointer); ok { + return x.ProcessWelcomePointer + } + } + return nil +} + +type isTask_Task interface { + isTask_Task() +} + +type Task_ProcessWelcomePointer struct { + ProcessWelcomePointer *message_contents.WelcomePointer `protobuf:"bytes,1,opt,name=process_welcome_pointer,json=processWelcomePointer,proto3,oneof"` +} + +func (*Task_ProcessWelcomePointer) isTask_Task() {} + +var File_mls_database_task_proto protoreflect.FileDescriptor + +const file_mls_database_task_proto_rawDesc = "" + + "\n" + + "\x17mls/database/task.proto\x12\x11xmtp.mls.database\x1a*mls/message_contents/welcome_pointer.proto\"s\n" + + "\x04Task\x12c\n" + + "\x17process_welcome_pointer\x18\x01 \x01(\v2).xmtp.mls.message_contents.WelcomePointerH\x00R\x15processWelcomePointerB\x06\n" + + "\x04taskB\xe9\x01\n" + + "/org.xmtp.android.library.push.xmtp.mls.databaseB\tTaskProtoP\x01ZEgithub.com/xmtp/example-notification-server-go/pkg/proto/mls/database\xa2\x02\x03XMD\xaa\x02\x11Xmtp.Mls.Database\xca\x02\x11Xmtp\\Mls\\Database\xe2\x02\x1dXmtp\\Mls\\Database\\GPBMetadata\xea\x02\x13Xmtp::Mls::Databaseb\x06proto3" + +var ( + file_mls_database_task_proto_rawDescOnce sync.Once + file_mls_database_task_proto_rawDescData []byte +) + +func file_mls_database_task_proto_rawDescGZIP() []byte { + file_mls_database_task_proto_rawDescOnce.Do(func() { + file_mls_database_task_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_mls_database_task_proto_rawDesc), len(file_mls_database_task_proto_rawDesc))) + }) + return file_mls_database_task_proto_rawDescData +} + +var file_mls_database_task_proto_msgTypes = make([]protoimpl.MessageInfo, 1) +var file_mls_database_task_proto_goTypes = []any{ + (*Task)(nil), // 0: xmtp.mls.database.Task + (*message_contents.WelcomePointer)(nil), // 1: xmtp.mls.message_contents.WelcomePointer +} +var file_mls_database_task_proto_depIdxs = []int32{ + 1, // 0: xmtp.mls.database.Task.process_welcome_pointer:type_name -> xmtp.mls.message_contents.WelcomePointer + 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_mls_database_task_proto_init() } +func file_mls_database_task_proto_init() { + if File_mls_database_task_proto != nil { + return + } + file_mls_database_task_proto_msgTypes[0].OneofWrappers = []any{ + (*Task_ProcessWelcomePointer)(nil), + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: unsafe.Slice(unsafe.StringData(file_mls_database_task_proto_rawDesc), len(file_mls_database_task_proto_rawDesc)), + NumEnums: 0, + NumMessages: 1, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_mls_database_task_proto_goTypes, + DependencyIndexes: file_mls_database_task_proto_depIdxs, + MessageInfos: file_mls_database_task_proto_msgTypes, + }.Build() + File_mls_database_task_proto = out.File + file_mls_database_task_proto_goTypes = nil + file_mls_database_task_proto_depIdxs = nil +} diff --git a/pkg/proto/mls/message_contents/commit_log.pb.go b/pkg/proto/mls/message_contents/commit_log.pb.go new file mode 100644 index 0000000..902c79a --- /dev/null +++ b/pkg/proto/mls/message_contents/commit_log.pb.go @@ -0,0 +1,313 @@ +// Defines entries on the commit log, used for fork detection and recovery +// XIP: https://community.xmtp.org/t/xip-68-draft-automated-fork-recovery/951 + +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.36.10 +// protoc (unknown) +// source: mls/message_contents/commit_log.proto + +package message_contents + +import ( + associations "github.com/xmtp/example-notification-server-go/pkg/proto/identity/associations" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + reflect "reflect" + sync "sync" + unsafe "unsafe" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +type CommitResult int32 + +const ( + CommitResult_COMMIT_RESULT_UNSPECIFIED CommitResult = 0 + CommitResult_COMMIT_RESULT_APPLIED CommitResult = 1 + CommitResult_COMMIT_RESULT_WRONG_EPOCH CommitResult = 2 + CommitResult_COMMIT_RESULT_UNDECRYPTABLE CommitResult = 3 + CommitResult_COMMIT_RESULT_INVALID CommitResult = 4 +) + +// Enum value maps for CommitResult. +var ( + CommitResult_name = map[int32]string{ + 0: "COMMIT_RESULT_UNSPECIFIED", + 1: "COMMIT_RESULT_APPLIED", + 2: "COMMIT_RESULT_WRONG_EPOCH", + 3: "COMMIT_RESULT_UNDECRYPTABLE", + 4: "COMMIT_RESULT_INVALID", + } + CommitResult_value = map[string]int32{ + "COMMIT_RESULT_UNSPECIFIED": 0, + "COMMIT_RESULT_APPLIED": 1, + "COMMIT_RESULT_WRONG_EPOCH": 2, + "COMMIT_RESULT_UNDECRYPTABLE": 3, + "COMMIT_RESULT_INVALID": 4, + } +) + +func (x CommitResult) Enum() *CommitResult { + p := new(CommitResult) + *p = x + return p +} + +func (x CommitResult) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (CommitResult) Descriptor() protoreflect.EnumDescriptor { + return file_mls_message_contents_commit_log_proto_enumTypes[0].Descriptor() +} + +func (CommitResult) Type() protoreflect.EnumType { + return &file_mls_message_contents_commit_log_proto_enumTypes[0] +} + +func (x CommitResult) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use CommitResult.Descriptor instead. +func (CommitResult) EnumDescriptor() ([]byte, []int) { + return file_mls_message_contents_commit_log_proto_rawDescGZIP(), []int{0} +} + +// PlaintextCommitLogEntry indicates whether a commit was successful or not, +// when applied on top of the indicated `last_epoch_authenticator`. +type PlaintextCommitLogEntry struct { + state protoimpl.MessageState `protogen:"open.v1"` + // The group_id of the group that the commit belongs to. + GroupId []byte `protobuf:"bytes,1,opt,name=group_id,json=groupId,proto3" json:"group_id,omitempty"` + // The sequence ID of the commit payload being validated. + CommitSequenceId uint64 `protobuf:"varint,2,opt,name=commit_sequence_id,json=commitSequenceId,proto3" json:"commit_sequence_id,omitempty"` + // The encryption state before the commit was applied. + LastEpochAuthenticator []byte `protobuf:"bytes,3,opt,name=last_epoch_authenticator,json=lastEpochAuthenticator,proto3" json:"last_epoch_authenticator,omitempty"` + // Indicates whether the commit was successful, or why it failed. + CommitResult CommitResult `protobuf:"varint,4,opt,name=commit_result,json=commitResult,proto3,enum=xmtp.mls.message_contents.CommitResult" json:"commit_result,omitempty"` + // The epoch number after the commit was applied, if successful. + AppliedEpochNumber uint64 `protobuf:"varint,5,opt,name=applied_epoch_number,json=appliedEpochNumber,proto3" json:"applied_epoch_number,omitempty"` + // The encryption state after the commit was applied, if successful. + AppliedEpochAuthenticator []byte `protobuf:"bytes,6,opt,name=applied_epoch_authenticator,json=appliedEpochAuthenticator,proto3" json:"applied_epoch_authenticator,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *PlaintextCommitLogEntry) Reset() { + *x = PlaintextCommitLogEntry{} + mi := &file_mls_message_contents_commit_log_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *PlaintextCommitLogEntry) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PlaintextCommitLogEntry) ProtoMessage() {} + +func (x *PlaintextCommitLogEntry) ProtoReflect() protoreflect.Message { + mi := &file_mls_message_contents_commit_log_proto_msgTypes[0] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use PlaintextCommitLogEntry.ProtoReflect.Descriptor instead. +func (*PlaintextCommitLogEntry) Descriptor() ([]byte, []int) { + return file_mls_message_contents_commit_log_proto_rawDescGZIP(), []int{0} +} + +func (x *PlaintextCommitLogEntry) GetGroupId() []byte { + if x != nil { + return x.GroupId + } + return nil +} + +func (x *PlaintextCommitLogEntry) GetCommitSequenceId() uint64 { + if x != nil { + return x.CommitSequenceId + } + return 0 +} + +func (x *PlaintextCommitLogEntry) GetLastEpochAuthenticator() []byte { + if x != nil { + return x.LastEpochAuthenticator + } + return nil +} + +func (x *PlaintextCommitLogEntry) GetCommitResult() CommitResult { + if x != nil { + return x.CommitResult + } + return CommitResult_COMMIT_RESULT_UNSPECIFIED +} + +func (x *PlaintextCommitLogEntry) GetAppliedEpochNumber() uint64 { + if x != nil { + return x.AppliedEpochNumber + } + return 0 +} + +func (x *PlaintextCommitLogEntry) GetAppliedEpochAuthenticator() []byte { + if x != nil { + return x.AppliedEpochAuthenticator + } + return nil +} + +type CommitLogEntry struct { + state protoimpl.MessageState `protogen:"open.v1"` + SequenceId uint64 `protobuf:"varint,1,opt,name=sequence_id,json=sequenceId,proto3" json:"sequence_id,omitempty"` + SerializedCommitLogEntry []byte `protobuf:"bytes,2,opt,name=serialized_commit_log_entry,json=serializedCommitLogEntry,proto3" json:"serialized_commit_log_entry,omitempty"` + Signature *associations.RecoverableEd25519Signature `protobuf:"bytes,3,opt,name=signature,proto3" json:"signature,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *CommitLogEntry) Reset() { + *x = CommitLogEntry{} + mi := &file_mls_message_contents_commit_log_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *CommitLogEntry) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CommitLogEntry) ProtoMessage() {} + +func (x *CommitLogEntry) ProtoReflect() protoreflect.Message { + mi := &file_mls_message_contents_commit_log_proto_msgTypes[1] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CommitLogEntry.ProtoReflect.Descriptor instead. +func (*CommitLogEntry) Descriptor() ([]byte, []int) { + return file_mls_message_contents_commit_log_proto_rawDescGZIP(), []int{1} +} + +func (x *CommitLogEntry) GetSequenceId() uint64 { + if x != nil { + return x.SequenceId + } + return 0 +} + +func (x *CommitLogEntry) GetSerializedCommitLogEntry() []byte { + if x != nil { + return x.SerializedCommitLogEntry + } + return nil +} + +func (x *CommitLogEntry) GetSignature() *associations.RecoverableEd25519Signature { + if x != nil { + return x.Signature + } + return nil +} + +var File_mls_message_contents_commit_log_proto protoreflect.FileDescriptor + +const file_mls_message_contents_commit_log_proto_rawDesc = "" + + "\n" + + "%mls/message_contents/commit_log.proto\x12\x19xmtp.mls.message_contents\x1a%identity/associations/signature.proto\"\xdc\x02\n" + + "\x17PlaintextCommitLogEntry\x12\x19\n" + + "\bgroup_id\x18\x01 \x01(\fR\agroupId\x12,\n" + + "\x12commit_sequence_id\x18\x02 \x01(\x04R\x10commitSequenceId\x128\n" + + "\x18last_epoch_authenticator\x18\x03 \x01(\fR\x16lastEpochAuthenticator\x12L\n" + + "\rcommit_result\x18\x04 \x01(\x0e2'.xmtp.mls.message_contents.CommitResultR\fcommitResult\x120\n" + + "\x14applied_epoch_number\x18\x05 \x01(\x04R\x12appliedEpochNumber\x12>\n" + + "\x1bapplied_epoch_authenticator\x18\x06 \x01(\fR\x19appliedEpochAuthenticator\"\xc7\x01\n" + + "\x0eCommitLogEntry\x12\x1f\n" + + "\vsequence_id\x18\x01 \x01(\x04R\n" + + "sequenceId\x12=\n" + + "\x1bserialized_commit_log_entry\x18\x02 \x01(\fR\x18serializedCommitLogEntry\x12U\n" + + "\tsignature\x18\x03 \x01(\v27.xmtp.identity.associations.RecoverableEd25519SignatureR\tsignature*\xa3\x01\n" + + "\fCommitResult\x12\x1d\n" + + "\x19COMMIT_RESULT_UNSPECIFIED\x10\x00\x12\x19\n" + + "\x15COMMIT_RESULT_APPLIED\x10\x01\x12\x1d\n" + + "\x19COMMIT_RESULT_WRONG_EPOCH\x10\x02\x12\x1f\n" + + "\x1bCOMMIT_RESULT_UNDECRYPTABLE\x10\x03\x12\x19\n" + + "\x15COMMIT_RESULT_INVALID\x10\x04B\x9a\x02\n" + + "7org.xmtp.android.library.push.xmtp.mls.message_contentsB\x0eCommitLogProtoP\x01ZMgithub.com/xmtp/example-notification-server-go/pkg/proto/mls/message_contents\xa2\x02\x03XMM\xaa\x02\x18Xmtp.Mls.MessageContents\xca\x02\x18Xmtp\\Mls\\MessageContents\xe2\x02$Xmtp\\Mls\\MessageContents\\GPBMetadata\xea\x02\x1aXmtp::Mls::MessageContentsb\x06proto3" + +var ( + file_mls_message_contents_commit_log_proto_rawDescOnce sync.Once + file_mls_message_contents_commit_log_proto_rawDescData []byte +) + +func file_mls_message_contents_commit_log_proto_rawDescGZIP() []byte { + file_mls_message_contents_commit_log_proto_rawDescOnce.Do(func() { + file_mls_message_contents_commit_log_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_mls_message_contents_commit_log_proto_rawDesc), len(file_mls_message_contents_commit_log_proto_rawDesc))) + }) + return file_mls_message_contents_commit_log_proto_rawDescData +} + +var file_mls_message_contents_commit_log_proto_enumTypes = make([]protoimpl.EnumInfo, 1) +var file_mls_message_contents_commit_log_proto_msgTypes = make([]protoimpl.MessageInfo, 2) +var file_mls_message_contents_commit_log_proto_goTypes = []any{ + (CommitResult)(0), // 0: xmtp.mls.message_contents.CommitResult + (*PlaintextCommitLogEntry)(nil), // 1: xmtp.mls.message_contents.PlaintextCommitLogEntry + (*CommitLogEntry)(nil), // 2: xmtp.mls.message_contents.CommitLogEntry + (*associations.RecoverableEd25519Signature)(nil), // 3: xmtp.identity.associations.RecoverableEd25519Signature +} +var file_mls_message_contents_commit_log_proto_depIdxs = []int32{ + 0, // 0: xmtp.mls.message_contents.PlaintextCommitLogEntry.commit_result:type_name -> xmtp.mls.message_contents.CommitResult + 3, // 1: xmtp.mls.message_contents.CommitLogEntry.signature:type_name -> xmtp.identity.associations.RecoverableEd25519Signature + 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_mls_message_contents_commit_log_proto_init() } +func file_mls_message_contents_commit_log_proto_init() { + if File_mls_message_contents_commit_log_proto != nil { + return + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: unsafe.Slice(unsafe.StringData(file_mls_message_contents_commit_log_proto_rawDesc), len(file_mls_message_contents_commit_log_proto_rawDesc)), + NumEnums: 1, + NumMessages: 2, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_mls_message_contents_commit_log_proto_goTypes, + DependencyIndexes: file_mls_message_contents_commit_log_proto_depIdxs, + EnumInfos: file_mls_message_contents_commit_log_proto_enumTypes, + MessageInfos: file_mls_message_contents_commit_log_proto_msgTypes, + }.Build() + File_mls_message_contents_commit_log_proto = out.File + file_mls_message_contents_commit_log_proto_goTypes = nil + file_mls_message_contents_commit_log_proto_depIdxs = nil +} diff --git a/pkg/proto/mls/message_contents/content.pb.go b/pkg/proto/mls/message_contents/content.pb.go index 7ce1c5f..4dec039 100644 --- a/pkg/proto/mls/message_contents/content.pb.go +++ b/pkg/proto/mls/message_contents/content.pb.go @@ -3,13 +3,14 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.36.5 +// protoc-gen-go v1.36.10 // protoc (unknown) // source: mls/message_contents/content.proto package message_contents import ( + device_sync "github.com/xmtp/example-notification-server-go/pkg/proto/device_sync" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" @@ -72,56 +73,6 @@ func (Compression) EnumDescriptor() ([]byte, []int) { return file_mls_message_contents_content_proto_rawDescGZIP(), []int{0} } -// The kind of device sync payload being sent -type DeviceSyncKind int32 - -const ( - DeviceSyncKind_DEVICE_SYNC_KIND_UNSPECIFIED DeviceSyncKind = 0 - DeviceSyncKind_DEVICE_SYNC_KIND_MESSAGE_HISTORY DeviceSyncKind = 1 - DeviceSyncKind_DEVICE_SYNC_KIND_CONSENT DeviceSyncKind = 2 -) - -// Enum value maps for DeviceSyncKind. -var ( - DeviceSyncKind_name = map[int32]string{ - 0: "DEVICE_SYNC_KIND_UNSPECIFIED", - 1: "DEVICE_SYNC_KIND_MESSAGE_HISTORY", - 2: "DEVICE_SYNC_KIND_CONSENT", - } - DeviceSyncKind_value = map[string]int32{ - "DEVICE_SYNC_KIND_UNSPECIFIED": 0, - "DEVICE_SYNC_KIND_MESSAGE_HISTORY": 1, - "DEVICE_SYNC_KIND_CONSENT": 2, - } -) - -func (x DeviceSyncKind) Enum() *DeviceSyncKind { - p := new(DeviceSyncKind) - *p = x - return p -} - -func (x DeviceSyncKind) String() string { - return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) -} - -func (DeviceSyncKind) Descriptor() protoreflect.EnumDescriptor { - return file_mls_message_contents_content_proto_enumTypes[1].Descriptor() -} - -func (DeviceSyncKind) Type() protoreflect.EnumType { - return &file_mls_message_contents_content_proto_enumTypes[1] -} - -func (x DeviceSyncKind) Number() protoreflect.EnumNumber { - return protoreflect.EnumNumber(x) -} - -// Deprecated: Use DeviceSyncKind.Descriptor instead. -func (DeviceSyncKind) EnumDescriptor() ([]byte, []int) { - return file_mls_message_contents_content_proto_rawDescGZIP(), []int{1} -} - // ContentTypeId is used to identify the type of content stored in a Message. type ContentTypeId struct { state protoimpl.MessageState `protogen:"open.v1"` @@ -363,263 +314,6 @@ func (*PlaintextEnvelope_V1_) isPlaintextEnvelope_Content() {} func (*PlaintextEnvelope_V2_) isPlaintextEnvelope_Content() {} -// Initiator or new installation id requesting a sync payload send a request -type DeviceSyncRequest struct { - state protoimpl.MessageState `protogen:"open.v1"` - // Unique identifier for each request - RequestId string `protobuf:"bytes,1,opt,name=request_id,json=requestId,proto3" json:"request_id,omitempty"` - // Ensures a human is in the loop - PinCode string `protobuf:"bytes,2,opt,name=pin_code,json=pinCode,proto3" json:"pin_code,omitempty"` - // request kind - Kind DeviceSyncKind `protobuf:"varint,3,opt,name=kind,proto3,enum=xmtp.mls.message_contents.DeviceSyncKind" json:"kind,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *DeviceSyncRequest) Reset() { - *x = DeviceSyncRequest{} - mi := &file_mls_message_contents_content_proto_msgTypes[3] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *DeviceSyncRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*DeviceSyncRequest) ProtoMessage() {} - -func (x *DeviceSyncRequest) ProtoReflect() protoreflect.Message { - mi := &file_mls_message_contents_content_proto_msgTypes[3] - if x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use DeviceSyncRequest.ProtoReflect.Descriptor instead. -func (*DeviceSyncRequest) Descriptor() ([]byte, []int) { - return file_mls_message_contents_content_proto_rawDescGZIP(), []int{3} -} - -func (x *DeviceSyncRequest) GetRequestId() string { - if x != nil { - return x.RequestId - } - return "" -} - -func (x *DeviceSyncRequest) GetPinCode() string { - if x != nil { - return x.PinCode - } - return "" -} - -func (x *DeviceSyncRequest) GetKind() DeviceSyncKind { - if x != nil { - return x.Kind - } - return DeviceSyncKind_DEVICE_SYNC_KIND_UNSPECIFIED -} - -// Pre-existing installation id capable of supplying a sync payload sends this reply -type DeviceSyncReply struct { - state protoimpl.MessageState `protogen:"open.v1"` - // Must match an existing request_id from a message history request - RequestId string `protobuf:"bytes,1,opt,name=request_id,json=requestId,proto3" json:"request_id,omitempty"` - // Where the messages can be retrieved from - Url string `protobuf:"bytes,2,opt,name=url,proto3" json:"url,omitempty"` - // Generated input 'secret' for the AES Key used to encrypt the message-bundle - EncryptionKey *DeviceSyncKeyType `protobuf:"bytes,3,opt,name=encryption_key,json=encryptionKey,proto3" json:"encryption_key,omitempty"` - // ns unix timestamp of when the reply was sent - TimestampNs uint64 `protobuf:"varint,4,opt,name=timestamp_ns,json=timestampNs,proto3" json:"timestamp_ns,omitempty"` - // request kind - Kind DeviceSyncKind `protobuf:"varint,5,opt,name=kind,proto3,enum=xmtp.mls.message_contents.DeviceSyncKind" json:"kind,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *DeviceSyncReply) Reset() { - *x = DeviceSyncReply{} - mi := &file_mls_message_contents_content_proto_msgTypes[4] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *DeviceSyncReply) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*DeviceSyncReply) ProtoMessage() {} - -func (x *DeviceSyncReply) ProtoReflect() protoreflect.Message { - mi := &file_mls_message_contents_content_proto_msgTypes[4] - if x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use DeviceSyncReply.ProtoReflect.Descriptor instead. -func (*DeviceSyncReply) Descriptor() ([]byte, []int) { - return file_mls_message_contents_content_proto_rawDescGZIP(), []int{4} -} - -func (x *DeviceSyncReply) GetRequestId() string { - if x != nil { - return x.RequestId - } - return "" -} - -func (x *DeviceSyncReply) GetUrl() string { - if x != nil { - return x.Url - } - return "" -} - -func (x *DeviceSyncReply) GetEncryptionKey() *DeviceSyncKeyType { - if x != nil { - return x.EncryptionKey - } - return nil -} - -func (x *DeviceSyncReply) GetTimestampNs() uint64 { - if x != nil { - return x.TimestampNs - } - return 0 -} - -func (x *DeviceSyncReply) GetKind() DeviceSyncKind { - if x != nil { - return x.Kind - } - return DeviceSyncKind_DEVICE_SYNC_KIND_UNSPECIFIED -} - -// Key used to encrypt the message-bundle -type DeviceSyncKeyType struct { - state protoimpl.MessageState `protogen:"open.v1"` - // Types that are valid to be assigned to Key: - // - // *DeviceSyncKeyType_Aes_256Gcm - Key isDeviceSyncKeyType_Key `protobuf_oneof:"key"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *DeviceSyncKeyType) Reset() { - *x = DeviceSyncKeyType{} - mi := &file_mls_message_contents_content_proto_msgTypes[5] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *DeviceSyncKeyType) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*DeviceSyncKeyType) ProtoMessage() {} - -func (x *DeviceSyncKeyType) ProtoReflect() protoreflect.Message { - mi := &file_mls_message_contents_content_proto_msgTypes[5] - if x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use DeviceSyncKeyType.ProtoReflect.Descriptor instead. -func (*DeviceSyncKeyType) Descriptor() ([]byte, []int) { - return file_mls_message_contents_content_proto_rawDescGZIP(), []int{5} -} - -func (x *DeviceSyncKeyType) GetKey() isDeviceSyncKeyType_Key { - if x != nil { - return x.Key - } - return nil -} - -func (x *DeviceSyncKeyType) GetAes_256Gcm() []byte { - if x != nil { - if x, ok := x.Key.(*DeviceSyncKeyType_Aes_256Gcm); ok { - return x.Aes_256Gcm - } - } - return nil -} - -type isDeviceSyncKeyType_Key interface { - isDeviceSyncKeyType_Key() -} - -type DeviceSyncKeyType_Aes_256Gcm struct { - Aes_256Gcm []byte `protobuf:"bytes,1,opt,name=aes_256_gcm,json=aes256Gcm,proto3,oneof"` -} - -func (*DeviceSyncKeyType_Aes_256Gcm) isDeviceSyncKeyType_Key() {} - -type UserPreferenceUpdate struct { - state protoimpl.MessageState `protogen:"open.v1"` - Contents [][]byte `protobuf:"bytes,1,rep,name=contents,proto3" json:"contents,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *UserPreferenceUpdate) Reset() { - *x = UserPreferenceUpdate{} - mi := &file_mls_message_contents_content_proto_msgTypes[6] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *UserPreferenceUpdate) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*UserPreferenceUpdate) ProtoMessage() {} - -func (x *UserPreferenceUpdate) ProtoReflect() protoreflect.Message { - mi := &file_mls_message_contents_content_proto_msgTypes[6] - if x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use UserPreferenceUpdate.ProtoReflect.Descriptor instead. -func (*UserPreferenceUpdate) Descriptor() ([]byte, []int) { - return file_mls_message_contents_content_proto_rawDescGZIP(), []int{6} -} - -func (x *UserPreferenceUpdate) GetContents() [][]byte { - if x != nil { - return x.Contents - } - return nil -} - // Version 1 of the encrypted envelope type PlaintextEnvelope_V1 struct { state protoimpl.MessageState `protogen:"open.v1"` @@ -634,7 +328,7 @@ type PlaintextEnvelope_V1 struct { func (x *PlaintextEnvelope_V1) Reset() { *x = PlaintextEnvelope_V1{} - mi := &file_mls_message_contents_content_proto_msgTypes[8] + mi := &file_mls_message_contents_content_proto_msgTypes[4] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -646,7 +340,7 @@ func (x *PlaintextEnvelope_V1) String() string { func (*PlaintextEnvelope_V1) ProtoMessage() {} func (x *PlaintextEnvelope_V1) ProtoReflect() protoreflect.Message { - mi := &file_mls_message_contents_content_proto_msgTypes[8] + mi := &file_mls_message_contents_content_proto_msgTypes[4] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -695,7 +389,7 @@ type PlaintextEnvelope_V2 struct { func (x *PlaintextEnvelope_V2) Reset() { *x = PlaintextEnvelope_V2{} - mi := &file_mls_message_contents_content_proto_msgTypes[9] + mi := &file_mls_message_contents_content_proto_msgTypes[5] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -707,7 +401,7 @@ func (x *PlaintextEnvelope_V2) String() string { func (*PlaintextEnvelope_V2) ProtoMessage() {} func (x *PlaintextEnvelope_V2) ProtoReflect() protoreflect.Message { - mi := &file_mls_message_contents_content_proto_msgTypes[9] + mi := &file_mls_message_contents_content_proto_msgTypes[5] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -746,7 +440,7 @@ func (x *PlaintextEnvelope_V2) GetContent() []byte { return nil } -func (x *PlaintextEnvelope_V2) GetDeviceSyncRequest() *DeviceSyncRequest { +func (x *PlaintextEnvelope_V2) GetDeviceSyncRequest() *device_sync.DeviceSyncRequest { if x != nil { if x, ok := x.MessageType.(*PlaintextEnvelope_V2_DeviceSyncRequest); ok { return x.DeviceSyncRequest @@ -755,7 +449,7 @@ func (x *PlaintextEnvelope_V2) GetDeviceSyncRequest() *DeviceSyncRequest { return nil } -func (x *PlaintextEnvelope_V2) GetDeviceSyncReply() *DeviceSyncReply { +func (x *PlaintextEnvelope_V2) GetDeviceSyncReply() *device_sync.DeviceSyncReply { if x != nil { if x, ok := x.MessageType.(*PlaintextEnvelope_V2_DeviceSyncReply); ok { return x.DeviceSyncReply @@ -764,7 +458,7 @@ func (x *PlaintextEnvelope_V2) GetDeviceSyncReply() *DeviceSyncReply { return nil } -func (x *PlaintextEnvelope_V2) GetUserPreferenceUpdate() *UserPreferenceUpdate { +func (x *PlaintextEnvelope_V2) GetUserPreferenceUpdate() *device_sync.V1UserPreferenceUpdate { if x != nil { if x, ok := x.MessageType.(*PlaintextEnvelope_V2_UserPreferenceUpdate); ok { return x.UserPreferenceUpdate @@ -784,17 +478,17 @@ type PlaintextEnvelope_V2_Content struct { type PlaintextEnvelope_V2_DeviceSyncRequest struct { // Initiator sends a request to receive sync payload - DeviceSyncRequest *DeviceSyncRequest `protobuf:"bytes,3,opt,name=device_sync_request,json=deviceSyncRequest,proto3,oneof"` + DeviceSyncRequest *device_sync.DeviceSyncRequest `protobuf:"bytes,3,opt,name=device_sync_request,json=deviceSyncRequest,proto3,oneof"` } type PlaintextEnvelope_V2_DeviceSyncReply struct { // Some other authorized installation sends a reply with a link to payload - DeviceSyncReply *DeviceSyncReply `protobuf:"bytes,4,opt,name=device_sync_reply,json=deviceSyncReply,proto3,oneof"` + DeviceSyncReply *device_sync.DeviceSyncReply `protobuf:"bytes,4,opt,name=device_sync_reply,json=deviceSyncReply,proto3,oneof"` } type PlaintextEnvelope_V2_UserPreferenceUpdate struct { // A serialized user preference update - UserPreferenceUpdate *UserPreferenceUpdate `protobuf:"bytes,5,opt,name=user_preference_update,json=userPreferenceUpdate,proto3,oneof"` + UserPreferenceUpdate *device_sync.V1UserPreferenceUpdate `protobuf:"bytes,5,opt,name=user_preference_update,json=userPreferenceUpdate,proto3,oneof"` } func (*PlaintextEnvelope_V2_Content) isPlaintextEnvelope_V2_MessageType() {} @@ -807,147 +501,45 @@ func (*PlaintextEnvelope_V2_UserPreferenceUpdate) isPlaintextEnvelope_V2_Message var File_mls_message_contents_content_proto protoreflect.FileDescriptor -var file_mls_message_contents_content_proto_rawDesc = string([]byte{ - 0x0a, 0x22, 0x6d, 0x6c, 0x73, 0x2f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6f, - 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x2f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x2e, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x19, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x6d, 0x6c, 0x73, 0x2e, 0x6d, - 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x22, - 0x95, 0x01, 0x0a, 0x0d, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x49, - 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x5f, 0x69, - 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, - 0x74, 0x79, 0x49, 0x64, 0x12, 0x17, 0x0a, 0x07, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x69, 0x64, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x74, 0x79, 0x70, 0x65, 0x49, 0x64, 0x12, 0x23, 0x0a, - 0x0d, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x61, 0x6a, 0x6f, 0x72, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x4d, 0x61, 0x6a, - 0x6f, 0x72, 0x12, 0x23, 0x0a, 0x0d, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x69, - 0x6e, 0x6f, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x76, 0x65, 0x72, 0x73, 0x69, - 0x6f, 0x6e, 0x4d, 0x69, 0x6e, 0x6f, 0x72, 0x22, 0x8f, 0x03, 0x0a, 0x0e, 0x45, 0x6e, 0x63, 0x6f, - 0x64, 0x65, 0x64, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x12, 0x3c, 0x0a, 0x04, 0x74, 0x79, - 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, - 0x6d, 0x6c, 0x73, 0x2e, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x74, - 0x65, 0x6e, 0x74, 0x73, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, - 0x49, 0x64, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x59, 0x0a, 0x0a, 0x70, 0x61, 0x72, 0x61, - 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x39, 0x2e, 0x78, - 0x6d, 0x74, 0x70, 0x2e, 0x6d, 0x6c, 0x73, 0x2e, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, - 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x2e, 0x45, 0x6e, 0x63, 0x6f, 0x64, 0x65, 0x64, - 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x2e, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, - 0x72, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0a, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, - 0x65, 0x72, 0x73, 0x12, 0x1f, 0x0a, 0x08, 0x66, 0x61, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x08, 0x66, 0x61, 0x6c, 0x6c, 0x62, 0x61, 0x63, - 0x6b, 0x88, 0x01, 0x01, 0x12, 0x4d, 0x0a, 0x0b, 0x63, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, - 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x26, 0x2e, 0x78, 0x6d, 0x74, 0x70, - 0x2e, 0x6d, 0x6c, 0x73, 0x2e, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x6e, - 0x74, 0x65, 0x6e, 0x74, 0x73, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, - 0x6e, 0x48, 0x01, 0x52, 0x0b, 0x63, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, - 0x88, 0x01, 0x01, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x18, 0x04, - 0x20, 0x01, 0x28, 0x0c, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x1a, 0x3d, 0x0a, - 0x0f, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, - 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, - 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42, 0x0b, 0x0a, 0x09, - 0x5f, 0x66, 0x61, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x63, 0x6f, - 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0xec, 0x04, 0x0a, 0x11, 0x50, 0x6c, - 0x61, 0x69, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x45, 0x6e, 0x76, 0x65, 0x6c, 0x6f, 0x70, 0x65, 0x12, - 0x41, 0x0a, 0x02, 0x76, 0x31, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x78, 0x6d, - 0x74, 0x70, 0x2e, 0x6d, 0x6c, 0x73, 0x2e, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x63, - 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x2e, 0x50, 0x6c, 0x61, 0x69, 0x6e, 0x74, 0x65, 0x78, - 0x74, 0x45, 0x6e, 0x76, 0x65, 0x6c, 0x6f, 0x70, 0x65, 0x2e, 0x56, 0x31, 0x48, 0x00, 0x52, 0x02, - 0x76, 0x31, 0x12, 0x41, 0x0a, 0x02, 0x76, 0x32, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, - 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x6d, 0x6c, 0x73, 0x2e, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, - 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x2e, 0x50, 0x6c, 0x61, 0x69, 0x6e, - 0x74, 0x65, 0x78, 0x74, 0x45, 0x6e, 0x76, 0x65, 0x6c, 0x6f, 0x70, 0x65, 0x2e, 0x56, 0x32, 0x48, - 0x00, 0x52, 0x02, 0x76, 0x32, 0x1a, 0x47, 0x0a, 0x02, 0x56, 0x31, 0x12, 0x18, 0x0a, 0x07, 0x63, - 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x07, 0x63, 0x6f, - 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x12, 0x27, 0x0a, 0x0f, 0x69, 0x64, 0x65, 0x6d, 0x70, 0x6f, 0x74, - 0x65, 0x6e, 0x63, 0x79, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, - 0x69, 0x64, 0x65, 0x6d, 0x70, 0x6f, 0x74, 0x65, 0x6e, 0x63, 0x79, 0x4b, 0x65, 0x79, 0x1a, 0xfc, - 0x02, 0x0a, 0x02, 0x56, 0x32, 0x12, 0x27, 0x0a, 0x0f, 0x69, 0x64, 0x65, 0x6d, 0x70, 0x6f, 0x74, - 0x65, 0x6e, 0x63, 0x79, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, - 0x69, 0x64, 0x65, 0x6d, 0x70, 0x6f, 0x74, 0x65, 0x6e, 0x63, 0x79, 0x4b, 0x65, 0x79, 0x12, 0x1a, - 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x48, - 0x00, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x12, 0x5e, 0x0a, 0x13, 0x64, 0x65, - 0x76, 0x69, 0x63, 0x65, 0x5f, 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x6d, - 0x6c, 0x73, 0x2e, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, - 0x6e, 0x74, 0x73, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x53, 0x79, 0x6e, 0x63, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x11, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x53, - 0x79, 0x6e, 0x63, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x58, 0x0a, 0x11, 0x64, 0x65, - 0x76, 0x69, 0x63, 0x65, 0x5f, 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x72, 0x65, 0x70, 0x6c, 0x79, 0x18, - 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x6d, 0x6c, 0x73, - 0x2e, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, - 0x73, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x53, 0x79, 0x6e, 0x63, 0x52, 0x65, 0x70, 0x6c, - 0x79, 0x48, 0x00, 0x52, 0x0f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x53, 0x79, 0x6e, 0x63, 0x52, - 0x65, 0x70, 0x6c, 0x79, 0x12, 0x67, 0x0a, 0x16, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x70, 0x72, 0x65, - 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x18, 0x05, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x6d, 0x6c, 0x73, 0x2e, - 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, - 0x2e, 0x55, 0x73, 0x65, 0x72, 0x50, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x55, - 0x70, 0x64, 0x61, 0x74, 0x65, 0x48, 0x00, 0x52, 0x14, 0x75, 0x73, 0x65, 0x72, 0x50, 0x72, 0x65, - 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x42, 0x0e, 0x0a, - 0x0c, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x42, 0x09, 0x0a, - 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x22, 0x8c, 0x01, 0x0a, 0x11, 0x44, 0x65, 0x76, - 0x69, 0x63, 0x65, 0x53, 0x79, 0x6e, 0x63, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 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, 0x19, 0x0a, - 0x08, 0x70, 0x69, 0x6e, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x07, 0x70, 0x69, 0x6e, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x3d, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x29, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x6d, 0x6c, - 0x73, 0x2e, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, - 0x74, 0x73, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x53, 0x79, 0x6e, 0x63, 0x4b, 0x69, 0x6e, - 0x64, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x22, 0xf9, 0x01, 0x0a, 0x0f, 0x44, 0x65, 0x76, 0x69, - 0x63, 0x65, 0x53, 0x79, 0x6e, 0x63, 0x52, 0x65, 0x70, 0x6c, 0x79, 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, 0x10, 0x0a, 0x03, 0x75, 0x72, - 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x72, 0x6c, 0x12, 0x53, 0x0a, 0x0e, - 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x6d, 0x6c, 0x73, 0x2e, - 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, - 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x53, 0x79, 0x6e, 0x63, 0x4b, 0x65, 0x79, 0x54, 0x79, - 0x70, 0x65, 0x52, 0x0d, 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x4b, 0x65, - 0x79, 0x12, 0x21, 0x0a, 0x0c, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x5f, 0x6e, - 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0b, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, - 0x6d, 0x70, 0x4e, 0x73, 0x12, 0x3d, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x05, 0x20, 0x01, - 0x28, 0x0e, 0x32, 0x29, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x6d, 0x6c, 0x73, 0x2e, 0x6d, 0x65, - 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x2e, 0x44, - 0x65, 0x76, 0x69, 0x63, 0x65, 0x53, 0x79, 0x6e, 0x63, 0x4b, 0x69, 0x6e, 0x64, 0x52, 0x04, 0x6b, - 0x69, 0x6e, 0x64, 0x22, 0x3c, 0x0a, 0x11, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x53, 0x79, 0x6e, - 0x63, 0x4b, 0x65, 0x79, 0x54, 0x79, 0x70, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x61, 0x65, 0x73, 0x5f, - 0x32, 0x35, 0x36, 0x5f, 0x67, 0x63, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x48, 0x00, 0x52, - 0x09, 0x61, 0x65, 0x73, 0x32, 0x35, 0x36, 0x47, 0x63, 0x6d, 0x42, 0x05, 0x0a, 0x03, 0x6b, 0x65, - 0x79, 0x22, 0x32, 0x0a, 0x14, 0x55, 0x73, 0x65, 0x72, 0x50, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, - 0x6e, 0x63, 0x65, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x6f, 0x6e, - 0x74, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0c, 0x52, 0x08, 0x63, 0x6f, 0x6e, - 0x74, 0x65, 0x6e, 0x74, 0x73, 0x2a, 0x3c, 0x0a, 0x0b, 0x43, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, - 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x17, 0x0a, 0x13, 0x43, 0x4f, 0x4d, 0x50, 0x52, 0x45, 0x53, 0x53, - 0x49, 0x4f, 0x4e, 0x5f, 0x44, 0x45, 0x46, 0x4c, 0x41, 0x54, 0x45, 0x10, 0x00, 0x12, 0x14, 0x0a, - 0x10, 0x43, 0x4f, 0x4d, 0x50, 0x52, 0x45, 0x53, 0x53, 0x49, 0x4f, 0x4e, 0x5f, 0x47, 0x5a, 0x49, - 0x50, 0x10, 0x01, 0x2a, 0x76, 0x0a, 0x0e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x53, 0x79, 0x6e, - 0x63, 0x4b, 0x69, 0x6e, 0x64, 0x12, 0x20, 0x0a, 0x1c, 0x44, 0x45, 0x56, 0x49, 0x43, 0x45, 0x5f, - 0x53, 0x59, 0x4e, 0x43, 0x5f, 0x4b, 0x49, 0x4e, 0x44, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, - 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x24, 0x0a, 0x20, 0x44, 0x45, 0x56, 0x49, 0x43, - 0x45, 0x5f, 0x53, 0x59, 0x4e, 0x43, 0x5f, 0x4b, 0x49, 0x4e, 0x44, 0x5f, 0x4d, 0x45, 0x53, 0x53, - 0x41, 0x47, 0x45, 0x5f, 0x48, 0x49, 0x53, 0x54, 0x4f, 0x52, 0x59, 0x10, 0x01, 0x12, 0x1c, 0x0a, - 0x18, 0x44, 0x45, 0x56, 0x49, 0x43, 0x45, 0x5f, 0x53, 0x59, 0x4e, 0x43, 0x5f, 0x4b, 0x49, 0x4e, - 0x44, 0x5f, 0x43, 0x4f, 0x4e, 0x53, 0x45, 0x4e, 0x54, 0x10, 0x02, 0x42, 0x98, 0x02, 0x0a, 0x37, - 0x6f, 0x72, 0x67, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x61, 0x6e, 0x64, 0x72, 0x6f, 0x69, 0x64, - 0x2e, 0x6c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x2e, 0x70, 0x75, 0x73, 0x68, 0x2e, 0x78, 0x6d, - 0x74, 0x70, 0x2e, 0x6d, 0x6c, 0x73, 0x2e, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x63, - 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x42, 0x0c, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, - 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x4d, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, - 0x63, 0x6f, 0x6d, 0x2f, 0x78, 0x6d, 0x74, 0x70, 0x2f, 0x65, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, - 0x2d, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2d, 0x73, 0x65, - 0x72, 0x76, 0x65, 0x72, 0x2d, 0x67, 0x6f, 0x2f, 0x70, 0x6b, 0x67, 0x2f, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x2f, 0x6d, 0x6c, 0x73, 0x2f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6f, - 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0xa2, 0x02, 0x03, 0x58, 0x4d, 0x4d, 0xaa, 0x02, 0x18, 0x58, - 0x6d, 0x74, 0x70, 0x2e, 0x4d, 0x6c, 0x73, 0x2e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x43, - 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0xca, 0x02, 0x18, 0x58, 0x6d, 0x74, 0x70, 0x5c, 0x4d, - 0x6c, 0x73, 0x5c, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, - 0x74, 0x73, 0xe2, 0x02, 0x24, 0x58, 0x6d, 0x74, 0x70, 0x5c, 0x4d, 0x6c, 0x73, 0x5c, 0x4d, 0x65, - 0x73, 0x73, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x5c, 0x47, 0x50, - 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x1a, 0x58, 0x6d, 0x74, 0x70, - 0x3a, 0x3a, 0x4d, 0x6c, 0x73, 0x3a, 0x3a, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x43, 0x6f, - 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, -}) +const file_mls_message_contents_content_proto_rawDesc = "" + + "\n" + + "\"mls/message_contents/content.proto\x12\x19xmtp.mls.message_contents\x1a\x19device_sync/content.proto\"\x95\x01\n" + + "\rContentTypeId\x12!\n" + + "\fauthority_id\x18\x01 \x01(\tR\vauthorityId\x12\x17\n" + + "\atype_id\x18\x02 \x01(\tR\x06typeId\x12#\n" + + "\rversion_major\x18\x03 \x01(\rR\fversionMajor\x12#\n" + + "\rversion_minor\x18\x04 \x01(\rR\fversionMinor\"\x8f\x03\n" + + "\x0eEncodedContent\x12<\n" + + "\x04type\x18\x01 \x01(\v2(.xmtp.mls.message_contents.ContentTypeIdR\x04type\x12Y\n" + + "\n" + + "parameters\x18\x02 \x03(\v29.xmtp.mls.message_contents.EncodedContent.ParametersEntryR\n" + + "parameters\x12\x1f\n" + + "\bfallback\x18\x03 \x01(\tH\x00R\bfallback\x88\x01\x01\x12M\n" + + "\vcompression\x18\x05 \x01(\x0e2&.xmtp.mls.message_contents.CompressionH\x01R\vcompression\x88\x01\x01\x12\x18\n" + + "\acontent\x18\x04 \x01(\fR\acontent\x1a=\n" + + "\x0fParametersEntry\x12\x10\n" + + "\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n" + + "\x05value\x18\x02 \x01(\tR\x05value:\x028\x01B\v\n" + + "\t_fallbackB\x0e\n" + + "\f_compression\"\x80\x05\n" + + "\x11PlaintextEnvelope\x12A\n" + + "\x02v1\x18\x01 \x01(\v2/.xmtp.mls.message_contents.PlaintextEnvelope.V1H\x00R\x02v1\x12A\n" + + "\x02v2\x18\x02 \x01(\v2/.xmtp.mls.message_contents.PlaintextEnvelope.V2H\x00R\x02v2\x1aG\n" + + "\x02V1\x12\x18\n" + + "\acontent\x18\x01 \x01(\fR\acontent\x12'\n" + + "\x0fidempotency_key\x18\x02 \x01(\tR\x0eidempotencyKey\x1a\x90\x03\n" + + "\x02V2\x12'\n" + + "\x0fidempotency_key\x18\x01 \x01(\tR\x0eidempotencyKey\x12\x1a\n" + + "\acontent\x18\x02 \x01(\fH\x00R\acontent\x12]\n" + + "\x13device_sync_request\x18\x03 \x01(\v2+.xmtp.device_sync.content.DeviceSyncRequestH\x00R\x11deviceSyncRequest\x12W\n" + + "\x11device_sync_reply\x18\x04 \x01(\v2).xmtp.device_sync.content.DeviceSyncReplyH\x00R\x0fdeviceSyncReply\x12h\n" + + "\x16user_preference_update\x18\x05 \x01(\v20.xmtp.device_sync.content.V1UserPreferenceUpdateH\x00R\x14userPreferenceUpdateB\x0e\n" + + "\fmessage_typeJ\x04\b\x06\x10\aR\rreadd_requestB\t\n" + + "\acontent*<\n" + + "\vCompression\x12\x17\n" + + "\x13COMPRESSION_DEFLATE\x10\x00\x12\x14\n" + + "\x10COMPRESSION_GZIP\x10\x01B\x98\x02\n" + + "7org.xmtp.android.library.push.xmtp.mls.message_contentsB\fContentProtoP\x01ZMgithub.com/xmtp/example-notification-server-go/pkg/proto/mls/message_contents\xa2\x02\x03XMM\xaa\x02\x18Xmtp.Mls.MessageContents\xca\x02\x18Xmtp\\Mls\\MessageContents\xe2\x02$Xmtp\\Mls\\MessageContents\\GPBMetadata\xea\x02\x1aXmtp::Mls::MessageContentsb\x06proto3" var ( file_mls_message_contents_content_proto_rawDescOnce sync.Once @@ -961,39 +553,34 @@ func file_mls_message_contents_content_proto_rawDescGZIP() []byte { return file_mls_message_contents_content_proto_rawDescData } -var file_mls_message_contents_content_proto_enumTypes = make([]protoimpl.EnumInfo, 2) -var file_mls_message_contents_content_proto_msgTypes = make([]protoimpl.MessageInfo, 10) +var file_mls_message_contents_content_proto_enumTypes = make([]protoimpl.EnumInfo, 1) +var file_mls_message_contents_content_proto_msgTypes = make([]protoimpl.MessageInfo, 6) var file_mls_message_contents_content_proto_goTypes = []any{ - (Compression)(0), // 0: xmtp.mls.message_contents.Compression - (DeviceSyncKind)(0), // 1: xmtp.mls.message_contents.DeviceSyncKind - (*ContentTypeId)(nil), // 2: xmtp.mls.message_contents.ContentTypeId - (*EncodedContent)(nil), // 3: xmtp.mls.message_contents.EncodedContent - (*PlaintextEnvelope)(nil), // 4: xmtp.mls.message_contents.PlaintextEnvelope - (*DeviceSyncRequest)(nil), // 5: xmtp.mls.message_contents.DeviceSyncRequest - (*DeviceSyncReply)(nil), // 6: xmtp.mls.message_contents.DeviceSyncReply - (*DeviceSyncKeyType)(nil), // 7: xmtp.mls.message_contents.DeviceSyncKeyType - (*UserPreferenceUpdate)(nil), // 8: xmtp.mls.message_contents.UserPreferenceUpdate - nil, // 9: xmtp.mls.message_contents.EncodedContent.ParametersEntry - (*PlaintextEnvelope_V1)(nil), // 10: xmtp.mls.message_contents.PlaintextEnvelope.V1 - (*PlaintextEnvelope_V2)(nil), // 11: xmtp.mls.message_contents.PlaintextEnvelope.V2 + (Compression)(0), // 0: xmtp.mls.message_contents.Compression + (*ContentTypeId)(nil), // 1: xmtp.mls.message_contents.ContentTypeId + (*EncodedContent)(nil), // 2: xmtp.mls.message_contents.EncodedContent + (*PlaintextEnvelope)(nil), // 3: xmtp.mls.message_contents.PlaintextEnvelope + nil, // 4: xmtp.mls.message_contents.EncodedContent.ParametersEntry + (*PlaintextEnvelope_V1)(nil), // 5: xmtp.mls.message_contents.PlaintextEnvelope.V1 + (*PlaintextEnvelope_V2)(nil), // 6: xmtp.mls.message_contents.PlaintextEnvelope.V2 + (*device_sync.DeviceSyncRequest)(nil), // 7: xmtp.device_sync.content.DeviceSyncRequest + (*device_sync.DeviceSyncReply)(nil), // 8: xmtp.device_sync.content.DeviceSyncReply + (*device_sync.V1UserPreferenceUpdate)(nil), // 9: xmtp.device_sync.content.V1UserPreferenceUpdate } var file_mls_message_contents_content_proto_depIdxs = []int32{ - 2, // 0: xmtp.mls.message_contents.EncodedContent.type:type_name -> xmtp.mls.message_contents.ContentTypeId - 9, // 1: xmtp.mls.message_contents.EncodedContent.parameters:type_name -> xmtp.mls.message_contents.EncodedContent.ParametersEntry - 0, // 2: xmtp.mls.message_contents.EncodedContent.compression:type_name -> xmtp.mls.message_contents.Compression - 10, // 3: xmtp.mls.message_contents.PlaintextEnvelope.v1:type_name -> xmtp.mls.message_contents.PlaintextEnvelope.V1 - 11, // 4: xmtp.mls.message_contents.PlaintextEnvelope.v2:type_name -> xmtp.mls.message_contents.PlaintextEnvelope.V2 - 1, // 5: xmtp.mls.message_contents.DeviceSyncRequest.kind:type_name -> xmtp.mls.message_contents.DeviceSyncKind - 7, // 6: xmtp.mls.message_contents.DeviceSyncReply.encryption_key:type_name -> xmtp.mls.message_contents.DeviceSyncKeyType - 1, // 7: xmtp.mls.message_contents.DeviceSyncReply.kind:type_name -> xmtp.mls.message_contents.DeviceSyncKind - 5, // 8: xmtp.mls.message_contents.PlaintextEnvelope.V2.device_sync_request:type_name -> xmtp.mls.message_contents.DeviceSyncRequest - 6, // 9: xmtp.mls.message_contents.PlaintextEnvelope.V2.device_sync_reply:type_name -> xmtp.mls.message_contents.DeviceSyncReply - 8, // 10: xmtp.mls.message_contents.PlaintextEnvelope.V2.user_preference_update:type_name -> xmtp.mls.message_contents.UserPreferenceUpdate - 11, // [11:11] is the sub-list for method output_type - 11, // [11:11] is the sub-list for method input_type - 11, // [11:11] is the sub-list for extension type_name - 11, // [11:11] is the sub-list for extension extendee - 0, // [0:11] is the sub-list for field type_name + 1, // 0: xmtp.mls.message_contents.EncodedContent.type:type_name -> xmtp.mls.message_contents.ContentTypeId + 4, // 1: xmtp.mls.message_contents.EncodedContent.parameters:type_name -> xmtp.mls.message_contents.EncodedContent.ParametersEntry + 0, // 2: xmtp.mls.message_contents.EncodedContent.compression:type_name -> xmtp.mls.message_contents.Compression + 5, // 3: xmtp.mls.message_contents.PlaintextEnvelope.v1:type_name -> xmtp.mls.message_contents.PlaintextEnvelope.V1 + 6, // 4: xmtp.mls.message_contents.PlaintextEnvelope.v2:type_name -> xmtp.mls.message_contents.PlaintextEnvelope.V2 + 7, // 5: xmtp.mls.message_contents.PlaintextEnvelope.V2.device_sync_request:type_name -> xmtp.device_sync.content.DeviceSyncRequest + 8, // 6: xmtp.mls.message_contents.PlaintextEnvelope.V2.device_sync_reply:type_name -> xmtp.device_sync.content.DeviceSyncReply + 9, // 7: xmtp.mls.message_contents.PlaintextEnvelope.V2.user_preference_update:type_name -> xmtp.device_sync.content.V1UserPreferenceUpdate + 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 } func init() { file_mls_message_contents_content_proto_init() } @@ -1007,9 +594,6 @@ func file_mls_message_contents_content_proto_init() { (*PlaintextEnvelope_V2_)(nil), } file_mls_message_contents_content_proto_msgTypes[5].OneofWrappers = []any{ - (*DeviceSyncKeyType_Aes_256Gcm)(nil), - } - file_mls_message_contents_content_proto_msgTypes[9].OneofWrappers = []any{ (*PlaintextEnvelope_V2_Content)(nil), (*PlaintextEnvelope_V2_DeviceSyncRequest)(nil), (*PlaintextEnvelope_V2_DeviceSyncReply)(nil), @@ -1020,8 +604,8 @@ func file_mls_message_contents_content_proto_init() { File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: unsafe.Slice(unsafe.StringData(file_mls_message_contents_content_proto_rawDesc), len(file_mls_message_contents_content_proto_rawDesc)), - NumEnums: 2, - NumMessages: 10, + NumEnums: 1, + NumMessages: 6, NumExtensions: 0, NumServices: 0, }, diff --git a/pkg/proto/mls/message_contents/content_types/leave_request.pb.go b/pkg/proto/mls/message_contents/content_types/leave_request.pb.go new file mode 100644 index 0000000..d2319c7 --- /dev/null +++ b/pkg/proto/mls/message_contents/content_types/leave_request.pb.go @@ -0,0 +1,138 @@ +// leave_request.proto +// This file defines the LeaveRequest message type and is associated with the following ContentTypeId: +// +// ContentTypeId { +// authority_id: "xmtp.org", +// type_id: "leaveRequest", +// version_major: 1, +// version_minor: 0, +// } +// + +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.36.10 +// protoc (unknown) +// source: mls/message_contents/content_types/leave_request.proto + +package content_types + +import ( + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + reflect "reflect" + sync "sync" + unsafe "unsafe" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// LeaveRequest message type +type LeaveRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + // A serialized AuthenticatedNote containing the sender's signed, member-only verifiable statement + AuthenticatedNote []byte `protobuf:"bytes,1,opt,name=authenticated_note,json=authenticatedNote,proto3,oneof" json:"authenticated_note,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *LeaveRequest) Reset() { + *x = LeaveRequest{} + mi := &file_mls_message_contents_content_types_leave_request_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *LeaveRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*LeaveRequest) ProtoMessage() {} + +func (x *LeaveRequest) ProtoReflect() protoreflect.Message { + mi := &file_mls_message_contents_content_types_leave_request_proto_msgTypes[0] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use LeaveRequest.ProtoReflect.Descriptor instead. +func (*LeaveRequest) Descriptor() ([]byte, []int) { + return file_mls_message_contents_content_types_leave_request_proto_rawDescGZIP(), []int{0} +} + +func (x *LeaveRequest) GetAuthenticatedNote() []byte { + if x != nil { + return x.AuthenticatedNote + } + return nil +} + +var File_mls_message_contents_content_types_leave_request_proto protoreflect.FileDescriptor + +const file_mls_message_contents_content_types_leave_request_proto_rawDesc = "" + + "\n" + + "6mls/message_contents/content_types/leave_request.proto\x12'xmtp.mls.message_contents.content_types\"Y\n" + + "\fLeaveRequest\x122\n" + + "\x12authenticated_note\x18\x01 \x01(\fH\x00R\x11authenticatedNote\x88\x01\x01B\x15\n" + + "\x13_authenticated_noteB\xef\x02\n" + + "Eorg.xmtp.android.library.push.xmtp.mls.message_contents.content_typesB\x11LeaveRequestProtoP\x01Z[github.com/xmtp/example-notification-server-go/pkg/proto/mls/message_contents/content_types\xa2\x02\x04XMMC\xaa\x02%Xmtp.Mls.MessageContents.ContentTypes\xca\x02%Xmtp\\Mls\\MessageContents\\ContentTypes\xe2\x021Xmtp\\Mls\\MessageContents\\ContentTypes\\GPBMetadata\xea\x02(Xmtp::Mls::MessageContents::ContentTypesb\x06proto3" + +var ( + file_mls_message_contents_content_types_leave_request_proto_rawDescOnce sync.Once + file_mls_message_contents_content_types_leave_request_proto_rawDescData []byte +) + +func file_mls_message_contents_content_types_leave_request_proto_rawDescGZIP() []byte { + file_mls_message_contents_content_types_leave_request_proto_rawDescOnce.Do(func() { + file_mls_message_contents_content_types_leave_request_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_mls_message_contents_content_types_leave_request_proto_rawDesc), len(file_mls_message_contents_content_types_leave_request_proto_rawDesc))) + }) + return file_mls_message_contents_content_types_leave_request_proto_rawDescData +} + +var file_mls_message_contents_content_types_leave_request_proto_msgTypes = make([]protoimpl.MessageInfo, 1) +var file_mls_message_contents_content_types_leave_request_proto_goTypes = []any{ + (*LeaveRequest)(nil), // 0: xmtp.mls.message_contents.content_types.LeaveRequest +} +var file_mls_message_contents_content_types_leave_request_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 +} + +func init() { file_mls_message_contents_content_types_leave_request_proto_init() } +func file_mls_message_contents_content_types_leave_request_proto_init() { + if File_mls_message_contents_content_types_leave_request_proto != nil { + return + } + file_mls_message_contents_content_types_leave_request_proto_msgTypes[0].OneofWrappers = []any{} + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: unsafe.Slice(unsafe.StringData(file_mls_message_contents_content_types_leave_request_proto_rawDesc), len(file_mls_message_contents_content_types_leave_request_proto_rawDesc)), + NumEnums: 0, + NumMessages: 1, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_mls_message_contents_content_types_leave_request_proto_goTypes, + DependencyIndexes: file_mls_message_contents_content_types_leave_request_proto_depIdxs, + MessageInfos: file_mls_message_contents_content_types_leave_request_proto_msgTypes, + }.Build() + File_mls_message_contents_content_types_leave_request_proto = out.File + file_mls_message_contents_content_types_leave_request_proto_goTypes = nil + file_mls_message_contents_content_types_leave_request_proto_depIdxs = nil +} diff --git a/pkg/proto/mls/message_contents/content_types/multi_remote_attachment.pb.go b/pkg/proto/mls/message_contents/content_types/multi_remote_attachment.pb.go new file mode 100644 index 0000000..197fa56 --- /dev/null +++ b/pkg/proto/mls/message_contents/content_types/multi_remote_attachment.pb.go @@ -0,0 +1,258 @@ +// multi_remote_attachment.proto +// This file defines the MultiRemoteAttachment message type and is associated with the following ContentTypeId: +// +// ContentTypeId { +// authority_id: "xmtp.org", +// type_id: "multiRemoteStaticContent", +// version_major: 1, +// version_minor: 0, +// } +// + +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.36.10 +// protoc (unknown) +// source: mls/message_contents/content_types/multi_remote_attachment.proto + +package content_types + +import ( + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + reflect "reflect" + sync "sync" + unsafe "unsafe" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// MultiRemoteAttachment message type +type MultiRemoteAttachment struct { + state protoimpl.MessageState `protogen:"open.v1"` + // Array of attachment information + Attachments []*RemoteAttachmentInfo `protobuf:"bytes,1,rep,name=attachments,proto3" json:"attachments,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *MultiRemoteAttachment) Reset() { + *x = MultiRemoteAttachment{} + mi := &file_mls_message_contents_content_types_multi_remote_attachment_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *MultiRemoteAttachment) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*MultiRemoteAttachment) ProtoMessage() {} + +func (x *MultiRemoteAttachment) ProtoReflect() protoreflect.Message { + mi := &file_mls_message_contents_content_types_multi_remote_attachment_proto_msgTypes[0] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use MultiRemoteAttachment.ProtoReflect.Descriptor instead. +func (*MultiRemoteAttachment) Descriptor() ([]byte, []int) { + return file_mls_message_contents_content_types_multi_remote_attachment_proto_rawDescGZIP(), []int{0} +} + +func (x *MultiRemoteAttachment) GetAttachments() []*RemoteAttachmentInfo { + if x != nil { + return x.Attachments + } + return nil +} + +type RemoteAttachmentInfo struct { + state protoimpl.MessageState `protogen:"open.v1"` + // The SHA256 hash of the remote content + ContentDigest string `protobuf:"bytes,1,opt,name=content_digest,json=contentDigest,proto3" json:"content_digest,omitempty"` + // A 32 byte array for decrypting the remote content payload + Secret []byte `protobuf:"bytes,2,opt,name=secret,proto3" json:"secret,omitempty"` + // A byte array for the nonce used to encrypt the remote content payload + Nonce []byte `protobuf:"bytes,3,opt,name=nonce,proto3" json:"nonce,omitempty"` + // A byte array for the salt used to encrypt the remote content payload + Salt []byte `protobuf:"bytes,4,opt,name=salt,proto3" json:"salt,omitempty"` + // The scheme of the URL. Must be "https://" + Scheme string `protobuf:"bytes,5,opt,name=scheme,proto3" json:"scheme,omitempty"` + // The URL of the remote content + Url string `protobuf:"bytes,6,opt,name=url,proto3" json:"url,omitempty"` + // The size of the encrypted content in bytes (max size of 4GB) + ContentLength *uint32 `protobuf:"varint,7,opt,name=content_length,json=contentLength,proto3,oneof" json:"content_length,omitempty"` + // The filename of the remote content + Filename *string `protobuf:"bytes,8,opt,name=filename,proto3,oneof" json:"filename,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *RemoteAttachmentInfo) Reset() { + *x = RemoteAttachmentInfo{} + mi := &file_mls_message_contents_content_types_multi_remote_attachment_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *RemoteAttachmentInfo) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RemoteAttachmentInfo) ProtoMessage() {} + +func (x *RemoteAttachmentInfo) ProtoReflect() protoreflect.Message { + mi := &file_mls_message_contents_content_types_multi_remote_attachment_proto_msgTypes[1] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use RemoteAttachmentInfo.ProtoReflect.Descriptor instead. +func (*RemoteAttachmentInfo) Descriptor() ([]byte, []int) { + return file_mls_message_contents_content_types_multi_remote_attachment_proto_rawDescGZIP(), []int{1} +} + +func (x *RemoteAttachmentInfo) GetContentDigest() string { + if x != nil { + return x.ContentDigest + } + return "" +} + +func (x *RemoteAttachmentInfo) GetSecret() []byte { + if x != nil { + return x.Secret + } + return nil +} + +func (x *RemoteAttachmentInfo) GetNonce() []byte { + if x != nil { + return x.Nonce + } + return nil +} + +func (x *RemoteAttachmentInfo) GetSalt() []byte { + if x != nil { + return x.Salt + } + return nil +} + +func (x *RemoteAttachmentInfo) GetScheme() string { + if x != nil { + return x.Scheme + } + return "" +} + +func (x *RemoteAttachmentInfo) GetUrl() string { + if x != nil { + return x.Url + } + return "" +} + +func (x *RemoteAttachmentInfo) GetContentLength() uint32 { + if x != nil && x.ContentLength != nil { + return *x.ContentLength + } + return 0 +} + +func (x *RemoteAttachmentInfo) GetFilename() string { + if x != nil && x.Filename != nil { + return *x.Filename + } + return "" +} + +var File_mls_message_contents_content_types_multi_remote_attachment_proto protoreflect.FileDescriptor + +const file_mls_message_contents_content_types_multi_remote_attachment_proto_rawDesc = "" + + "\n" + + "@mls/message_contents/content_types/multi_remote_attachment.proto\x12'xmtp.mls.message_contents.content_types\"x\n" + + "\x15MultiRemoteAttachment\x12_\n" + + "\vattachments\x18\x01 \x03(\v2=.xmtp.mls.message_contents.content_types.RemoteAttachmentInfoR\vattachments\"\x96\x02\n" + + "\x14RemoteAttachmentInfo\x12%\n" + + "\x0econtent_digest\x18\x01 \x01(\tR\rcontentDigest\x12\x16\n" + + "\x06secret\x18\x02 \x01(\fR\x06secret\x12\x14\n" + + "\x05nonce\x18\x03 \x01(\fR\x05nonce\x12\x12\n" + + "\x04salt\x18\x04 \x01(\fR\x04salt\x12\x16\n" + + "\x06scheme\x18\x05 \x01(\tR\x06scheme\x12\x10\n" + + "\x03url\x18\x06 \x01(\tR\x03url\x12*\n" + + "\x0econtent_length\x18\a \x01(\rH\x00R\rcontentLength\x88\x01\x01\x12\x1f\n" + + "\bfilename\x18\b \x01(\tH\x01R\bfilename\x88\x01\x01B\x11\n" + + "\x0f_content_lengthB\v\n" + + "\t_filenameB\xf8\x02\n" + + "Eorg.xmtp.android.library.push.xmtp.mls.message_contents.content_typesB\x1aMultiRemoteAttachmentProtoP\x01Z[github.com/xmtp/example-notification-server-go/pkg/proto/mls/message_contents/content_types\xa2\x02\x04XMMC\xaa\x02%Xmtp.Mls.MessageContents.ContentTypes\xca\x02%Xmtp\\Mls\\MessageContents\\ContentTypes\xe2\x021Xmtp\\Mls\\MessageContents\\ContentTypes\\GPBMetadata\xea\x02(Xmtp::Mls::MessageContents::ContentTypesb\x06proto3" + +var ( + file_mls_message_contents_content_types_multi_remote_attachment_proto_rawDescOnce sync.Once + file_mls_message_contents_content_types_multi_remote_attachment_proto_rawDescData []byte +) + +func file_mls_message_contents_content_types_multi_remote_attachment_proto_rawDescGZIP() []byte { + file_mls_message_contents_content_types_multi_remote_attachment_proto_rawDescOnce.Do(func() { + file_mls_message_contents_content_types_multi_remote_attachment_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_mls_message_contents_content_types_multi_remote_attachment_proto_rawDesc), len(file_mls_message_contents_content_types_multi_remote_attachment_proto_rawDesc))) + }) + return file_mls_message_contents_content_types_multi_remote_attachment_proto_rawDescData +} + +var file_mls_message_contents_content_types_multi_remote_attachment_proto_msgTypes = make([]protoimpl.MessageInfo, 2) +var file_mls_message_contents_content_types_multi_remote_attachment_proto_goTypes = []any{ + (*MultiRemoteAttachment)(nil), // 0: xmtp.mls.message_contents.content_types.MultiRemoteAttachment + (*RemoteAttachmentInfo)(nil), // 1: xmtp.mls.message_contents.content_types.RemoteAttachmentInfo +} +var file_mls_message_contents_content_types_multi_remote_attachment_proto_depIdxs = []int32{ + 1, // 0: xmtp.mls.message_contents.content_types.MultiRemoteAttachment.attachments:type_name -> xmtp.mls.message_contents.content_types.RemoteAttachmentInfo + 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_mls_message_contents_content_types_multi_remote_attachment_proto_init() } +func file_mls_message_contents_content_types_multi_remote_attachment_proto_init() { + if File_mls_message_contents_content_types_multi_remote_attachment_proto != nil { + return + } + file_mls_message_contents_content_types_multi_remote_attachment_proto_msgTypes[1].OneofWrappers = []any{} + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: unsafe.Slice(unsafe.StringData(file_mls_message_contents_content_types_multi_remote_attachment_proto_rawDesc), len(file_mls_message_contents_content_types_multi_remote_attachment_proto_rawDesc)), + NumEnums: 0, + NumMessages: 2, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_mls_message_contents_content_types_multi_remote_attachment_proto_goTypes, + DependencyIndexes: file_mls_message_contents_content_types_multi_remote_attachment_proto_depIdxs, + MessageInfos: file_mls_message_contents_content_types_multi_remote_attachment_proto_msgTypes, + }.Build() + File_mls_message_contents_content_types_multi_remote_attachment_proto = out.File + file_mls_message_contents_content_types_multi_remote_attachment_proto_goTypes = nil + file_mls_message_contents_content_types_multi_remote_attachment_proto_depIdxs = nil +} diff --git a/pkg/proto/mls/message_contents/content_types/reaction.pb.go b/pkg/proto/mls/message_contents/content_types/reaction.pb.go index 4645584..7323276 100644 --- a/pkg/proto/mls/message_contents/content_types/reaction.pb.go +++ b/pkg/proto/mls/message_contents/content_types/reaction.pb.go @@ -11,7 +11,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.36.5 +// protoc-gen-go v1.36.10 // protoc (unknown) // source: mls/message_contents/content_types/reaction.proto @@ -220,70 +220,26 @@ func (x *ReactionV2) GetSchema() ReactionSchema { var File_mls_message_contents_content_types_reaction_proto protoreflect.FileDescriptor -var file_mls_message_contents_content_types_reaction_proto_rawDesc = string([]byte{ - 0x0a, 0x31, 0x6d, 0x6c, 0x73, 0x2f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6f, - 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x2f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x5f, 0x74, - 0x79, 0x70, 0x65, 0x73, 0x2f, 0x72, 0x65, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x12, 0x27, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x6d, 0x6c, 0x73, 0x2e, 0x6d, 0x65, - 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x2e, 0x63, - 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x22, 0x94, 0x02, 0x0a, - 0x0a, 0x52, 0x65, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x56, 0x32, 0x12, 0x1c, 0x0a, 0x09, 0x72, - 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, - 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x2c, 0x0a, 0x12, 0x72, 0x65, 0x66, - 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x5f, 0x69, 0x6e, 0x62, 0x6f, 0x78, 0x5f, 0x69, 0x64, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, - 0x49, 0x6e, 0x62, 0x6f, 0x78, 0x49, 0x64, 0x12, 0x4f, 0x0a, 0x06, 0x61, 0x63, 0x74, 0x69, 0x6f, - 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x37, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x6d, - 0x6c, 0x73, 0x2e, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, - 0x6e, 0x74, 0x73, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, - 0x73, 0x2e, 0x52, 0x65, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, - 0x52, 0x06, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x74, - 0x65, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, - 0x6e, 0x74, 0x12, 0x4f, 0x0a, 0x06, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x18, 0x05, 0x20, 0x01, - 0x28, 0x0e, 0x32, 0x37, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x6d, 0x6c, 0x73, 0x2e, 0x6d, 0x65, - 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x2e, 0x63, - 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x52, 0x65, 0x61, - 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x52, 0x06, 0x73, 0x63, 0x68, - 0x65, 0x6d, 0x61, 0x2a, 0x69, 0x0a, 0x0e, 0x52, 0x65, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x41, - 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1f, 0x0a, 0x1b, 0x52, 0x45, 0x41, 0x43, 0x54, 0x49, 0x4f, - 0x4e, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, - 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x19, 0x0a, 0x15, 0x52, 0x45, 0x41, 0x43, 0x54, 0x49, - 0x4f, 0x4e, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x41, 0x44, 0x44, 0x45, 0x44, 0x10, - 0x01, 0x12, 0x1b, 0x0a, 0x17, 0x52, 0x45, 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x41, 0x43, - 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x52, 0x45, 0x4d, 0x4f, 0x56, 0x45, 0x44, 0x10, 0x02, 0x2a, 0x89, - 0x01, 0x0a, 0x0e, 0x52, 0x65, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x63, 0x68, 0x65, 0x6d, - 0x61, 0x12, 0x1f, 0x0a, 0x1b, 0x52, 0x45, 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x53, 0x43, - 0x48, 0x45, 0x4d, 0x41, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, - 0x10, 0x00, 0x12, 0x1b, 0x0a, 0x17, 0x52, 0x45, 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x53, - 0x43, 0x48, 0x45, 0x4d, 0x41, 0x5f, 0x55, 0x4e, 0x49, 0x43, 0x4f, 0x44, 0x45, 0x10, 0x01, 0x12, - 0x1d, 0x0a, 0x19, 0x52, 0x45, 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x53, 0x43, 0x48, 0x45, - 0x4d, 0x41, 0x5f, 0x53, 0x48, 0x4f, 0x52, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x10, 0x02, 0x12, 0x1a, - 0x0a, 0x16, 0x52, 0x45, 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x53, 0x43, 0x48, 0x45, 0x4d, - 0x41, 0x5f, 0x43, 0x55, 0x53, 0x54, 0x4f, 0x4d, 0x10, 0x03, 0x42, 0xeb, 0x02, 0x0a, 0x45, 0x6f, - 0x72, 0x67, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x61, 0x6e, 0x64, 0x72, 0x6f, 0x69, 0x64, 0x2e, - 0x6c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x2e, 0x70, 0x75, 0x73, 0x68, 0x2e, 0x78, 0x6d, 0x74, - 0x70, 0x2e, 0x6d, 0x6c, 0x73, 0x2e, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6f, - 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x5f, 0x74, - 0x79, 0x70, 0x65, 0x73, 0x42, 0x0d, 0x52, 0x65, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x72, - 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x5b, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, - 0x6d, 0x2f, 0x78, 0x6d, 0x74, 0x70, 0x2f, 0x65, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x2d, 0x6e, - 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2d, 0x73, 0x65, 0x72, 0x76, - 0x65, 0x72, 0x2d, 0x67, 0x6f, 0x2f, 0x70, 0x6b, 0x67, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, - 0x6d, 0x6c, 0x73, 0x2f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x74, - 0x65, 0x6e, 0x74, 0x73, 0x2f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x5f, 0x74, 0x79, 0x70, - 0x65, 0x73, 0xa2, 0x02, 0x04, 0x58, 0x4d, 0x4d, 0x43, 0xaa, 0x02, 0x25, 0x58, 0x6d, 0x74, 0x70, - 0x2e, 0x4d, 0x6c, 0x73, 0x2e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x6e, 0x74, - 0x65, 0x6e, 0x74, 0x73, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, - 0x73, 0xca, 0x02, 0x25, 0x58, 0x6d, 0x74, 0x70, 0x5c, 0x4d, 0x6c, 0x73, 0x5c, 0x4d, 0x65, 0x73, - 0x73, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x5c, 0x43, 0x6f, 0x6e, - 0x74, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x73, 0xe2, 0x02, 0x31, 0x58, 0x6d, 0x74, 0x70, - 0x5c, 0x4d, 0x6c, 0x73, 0x5c, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x6e, 0x74, - 0x65, 0x6e, 0x74, 0x73, 0x5c, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, - 0x73, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x28, - 0x58, 0x6d, 0x74, 0x70, 0x3a, 0x3a, 0x4d, 0x6c, 0x73, 0x3a, 0x3a, 0x4d, 0x65, 0x73, 0x73, 0x61, - 0x67, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x3a, 0x3a, 0x43, 0x6f, 0x6e, 0x74, - 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x73, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, -}) +const file_mls_message_contents_content_types_reaction_proto_rawDesc = "" + + "\n" + + "1mls/message_contents/content_types/reaction.proto\x12'xmtp.mls.message_contents.content_types\"\x94\x02\n" + + "\n" + + "ReactionV2\x12\x1c\n" + + "\treference\x18\x01 \x01(\tR\treference\x12,\n" + + "\x12reference_inbox_id\x18\x02 \x01(\tR\x10referenceInboxId\x12O\n" + + "\x06action\x18\x03 \x01(\x0e27.xmtp.mls.message_contents.content_types.ReactionActionR\x06action\x12\x18\n" + + "\acontent\x18\x04 \x01(\tR\acontent\x12O\n" + + "\x06schema\x18\x05 \x01(\x0e27.xmtp.mls.message_contents.content_types.ReactionSchemaR\x06schema*i\n" + + "\x0eReactionAction\x12\x1f\n" + + "\x1bREACTION_ACTION_UNSPECIFIED\x10\x00\x12\x19\n" + + "\x15REACTION_ACTION_ADDED\x10\x01\x12\x1b\n" + + "\x17REACTION_ACTION_REMOVED\x10\x02*\x89\x01\n" + + "\x0eReactionSchema\x12\x1f\n" + + "\x1bREACTION_SCHEMA_UNSPECIFIED\x10\x00\x12\x1b\n" + + "\x17REACTION_SCHEMA_UNICODE\x10\x01\x12\x1d\n" + + "\x19REACTION_SCHEMA_SHORTCODE\x10\x02\x12\x1a\n" + + "\x16REACTION_SCHEMA_CUSTOM\x10\x03B\xeb\x02\n" + + "Eorg.xmtp.android.library.push.xmtp.mls.message_contents.content_typesB\rReactionProtoP\x01Z[github.com/xmtp/example-notification-server-go/pkg/proto/mls/message_contents/content_types\xa2\x02\x04XMMC\xaa\x02%Xmtp.Mls.MessageContents.ContentTypes\xca\x02%Xmtp\\Mls\\MessageContents\\ContentTypes\xe2\x021Xmtp\\Mls\\MessageContents\\ContentTypes\\GPBMetadata\xea\x02(Xmtp::Mls::MessageContents::ContentTypesb\x06proto3" var ( file_mls_message_contents_content_types_reaction_proto_rawDescOnce sync.Once diff --git a/pkg/proto/mls/message_contents/content_types/wallet_send_calls.pb.go b/pkg/proto/mls/message_contents/content_types/wallet_send_calls.pb.go new file mode 100644 index 0000000..fa479ef --- /dev/null +++ b/pkg/proto/mls/message_contents/content_types/wallet_send_calls.pb.go @@ -0,0 +1,274 @@ +// wallet_send_calls.proto +// This file defines the WalletSendCalls message type and is associated with the following ContentTypeId: +// +// ContentTypeId { +// authority_id: "xmtp.org", +// type_id: "walletSendCalls", +// version_major: 1, +// version_minor: 0, +// } +// + +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.36.10 +// protoc (unknown) +// source: mls/message_contents/content_types/wallet_send_calls.proto + +package content_types + +import ( + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + reflect "reflect" + sync "sync" + unsafe "unsafe" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// WalletSendCalls represents parameters for sending wallet calls +type WalletSendCalls struct { + state protoimpl.MessageState `protogen:"open.v1"` + Version string `protobuf:"bytes,1,opt,name=version,proto3" json:"version,omitempty"` + // hex chain id, e.g., "0x1" + ChainId string `protobuf:"bytes,2,opt,name=chain_id,json=chainId,proto3" json:"chain_id,omitempty"` + // hex address of the sender, e.g., "0xabc..." + From string `protobuf:"bytes,3,opt,name=from,proto3" json:"from,omitempty"` + Calls []*Call `protobuf:"bytes,4,rep,name=calls,proto3" json:"calls,omitempty"` + // wallet capabilities to request or configure + Capabilities map[string]string `protobuf:"bytes,5,rep,name=capabilities,proto3" json:"capabilities,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *WalletSendCalls) Reset() { + *x = WalletSendCalls{} + mi := &file_mls_message_contents_content_types_wallet_send_calls_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *WalletSendCalls) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*WalletSendCalls) ProtoMessage() {} + +func (x *WalletSendCalls) ProtoReflect() protoreflect.Message { + mi := &file_mls_message_contents_content_types_wallet_send_calls_proto_msgTypes[0] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use WalletSendCalls.ProtoReflect.Descriptor instead. +func (*WalletSendCalls) Descriptor() ([]byte, []int) { + return file_mls_message_contents_content_types_wallet_send_calls_proto_rawDescGZIP(), []int{0} +} + +func (x *WalletSendCalls) GetVersion() string { + if x != nil { + return x.Version + } + return "" +} + +func (x *WalletSendCalls) GetChainId() string { + if x != nil { + return x.ChainId + } + return "" +} + +func (x *WalletSendCalls) GetFrom() string { + if x != nil { + return x.From + } + return "" +} + +func (x *WalletSendCalls) GetCalls() []*Call { + if x != nil { + return x.Calls + } + return nil +} + +func (x *WalletSendCalls) GetCapabilities() map[string]string { + if x != nil { + return x.Capabilities + } + return nil +} + +// Call represents an individual transaction call +type Call struct { + state protoimpl.MessageState `protogen:"open.v1"` + // destination address + To string `protobuf:"bytes,1,opt,name=to,proto3" json:"to,omitempty"` + // call data payload + Data string `protobuf:"bytes,2,opt,name=data,proto3" json:"data,omitempty"` + // hex value to send + Value string `protobuf:"bytes,3,opt,name=value,proto3" json:"value,omitempty"` + // hex gas limit + Gas string `protobuf:"bytes,4,opt,name=gas,proto3" json:"gas,omitempty"` + // metadata for the call + Metadata map[string]string `protobuf:"bytes,5,rep,name=metadata,proto3" json:"metadata,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *Call) Reset() { + *x = Call{} + mi := &file_mls_message_contents_content_types_wallet_send_calls_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *Call) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Call) ProtoMessage() {} + +func (x *Call) ProtoReflect() protoreflect.Message { + mi := &file_mls_message_contents_content_types_wallet_send_calls_proto_msgTypes[1] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Call.ProtoReflect.Descriptor instead. +func (*Call) Descriptor() ([]byte, []int) { + return file_mls_message_contents_content_types_wallet_send_calls_proto_rawDescGZIP(), []int{1} +} + +func (x *Call) GetTo() string { + if x != nil { + return x.To + } + return "" +} + +func (x *Call) GetData() string { + if x != nil { + return x.Data + } + return "" +} + +func (x *Call) GetValue() string { + if x != nil { + return x.Value + } + return "" +} + +func (x *Call) GetGas() string { + if x != nil { + return x.Gas + } + return "" +} + +func (x *Call) GetMetadata() map[string]string { + if x != nil { + return x.Metadata + } + return nil +} + +var File_mls_message_contents_content_types_wallet_send_calls_proto protoreflect.FileDescriptor + +const file_mls_message_contents_content_types_wallet_send_calls_proto_rawDesc = "" + + "\n" + + ":mls/message_contents/content_types/wallet_send_calls.proto\x12'xmtp.mls.message_contents.content_types\"\xd0\x02\n" + + "\x0fWalletSendCalls\x12\x18\n" + + "\aversion\x18\x01 \x01(\tR\aversion\x12\x19\n" + + "\bchain_id\x18\x02 \x01(\tR\achainId\x12\x12\n" + + "\x04from\x18\x03 \x01(\tR\x04from\x12C\n" + + "\x05calls\x18\x04 \x03(\v2-.xmtp.mls.message_contents.content_types.CallR\x05calls\x12n\n" + + "\fcapabilities\x18\x05 \x03(\v2J.xmtp.mls.message_contents.content_types.WalletSendCalls.CapabilitiesEntryR\fcapabilities\x1a?\n" + + "\x11CapabilitiesEntry\x12\x10\n" + + "\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n" + + "\x05value\x18\x02 \x01(\tR\x05value:\x028\x01\"\xe8\x01\n" + + "\x04Call\x12\x0e\n" + + "\x02to\x18\x01 \x01(\tR\x02to\x12\x12\n" + + "\x04data\x18\x02 \x01(\tR\x04data\x12\x14\n" + + "\x05value\x18\x03 \x01(\tR\x05value\x12\x10\n" + + "\x03gas\x18\x04 \x01(\tR\x03gas\x12W\n" + + "\bmetadata\x18\x05 \x03(\v2;.xmtp.mls.message_contents.content_types.Call.MetadataEntryR\bmetadata\x1a;\n" + + "\rMetadataEntry\x12\x10\n" + + "\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n" + + "\x05value\x18\x02 \x01(\tR\x05value:\x028\x01B\xf2\x02\n" + + "Eorg.xmtp.android.library.push.xmtp.mls.message_contents.content_typesB\x14WalletSendCallsProtoP\x01Z[github.com/xmtp/example-notification-server-go/pkg/proto/mls/message_contents/content_types\xa2\x02\x04XMMC\xaa\x02%Xmtp.Mls.MessageContents.ContentTypes\xca\x02%Xmtp\\Mls\\MessageContents\\ContentTypes\xe2\x021Xmtp\\Mls\\MessageContents\\ContentTypes\\GPBMetadata\xea\x02(Xmtp::Mls::MessageContents::ContentTypesb\x06proto3" + +var ( + file_mls_message_contents_content_types_wallet_send_calls_proto_rawDescOnce sync.Once + file_mls_message_contents_content_types_wallet_send_calls_proto_rawDescData []byte +) + +func file_mls_message_contents_content_types_wallet_send_calls_proto_rawDescGZIP() []byte { + file_mls_message_contents_content_types_wallet_send_calls_proto_rawDescOnce.Do(func() { + file_mls_message_contents_content_types_wallet_send_calls_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_mls_message_contents_content_types_wallet_send_calls_proto_rawDesc), len(file_mls_message_contents_content_types_wallet_send_calls_proto_rawDesc))) + }) + return file_mls_message_contents_content_types_wallet_send_calls_proto_rawDescData +} + +var file_mls_message_contents_content_types_wallet_send_calls_proto_msgTypes = make([]protoimpl.MessageInfo, 4) +var file_mls_message_contents_content_types_wallet_send_calls_proto_goTypes = []any{ + (*WalletSendCalls)(nil), // 0: xmtp.mls.message_contents.content_types.WalletSendCalls + (*Call)(nil), // 1: xmtp.mls.message_contents.content_types.Call + nil, // 2: xmtp.mls.message_contents.content_types.WalletSendCalls.CapabilitiesEntry + nil, // 3: xmtp.mls.message_contents.content_types.Call.MetadataEntry +} +var file_mls_message_contents_content_types_wallet_send_calls_proto_depIdxs = []int32{ + 1, // 0: xmtp.mls.message_contents.content_types.WalletSendCalls.calls:type_name -> xmtp.mls.message_contents.content_types.Call + 2, // 1: xmtp.mls.message_contents.content_types.WalletSendCalls.capabilities:type_name -> xmtp.mls.message_contents.content_types.WalletSendCalls.CapabilitiesEntry + 3, // 2: xmtp.mls.message_contents.content_types.Call.metadata:type_name -> xmtp.mls.message_contents.content_types.Call.MetadataEntry + 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_mls_message_contents_content_types_wallet_send_calls_proto_init() } +func file_mls_message_contents_content_types_wallet_send_calls_proto_init() { + if File_mls_message_contents_content_types_wallet_send_calls_proto != nil { + return + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: unsafe.Slice(unsafe.StringData(file_mls_message_contents_content_types_wallet_send_calls_proto_rawDesc), len(file_mls_message_contents_content_types_wallet_send_calls_proto_rawDesc)), + NumEnums: 0, + NumMessages: 4, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_mls_message_contents_content_types_wallet_send_calls_proto_goTypes, + DependencyIndexes: file_mls_message_contents_content_types_wallet_send_calls_proto_depIdxs, + MessageInfos: file_mls_message_contents_content_types_wallet_send_calls_proto_msgTypes, + }.Build() + File_mls_message_contents_content_types_wallet_send_calls_proto = out.File + file_mls_message_contents_content_types_wallet_send_calls_proto_goTypes = nil + file_mls_message_contents_content_types_wallet_send_calls_proto_depIdxs = nil +} diff --git a/pkg/proto/mls/message_contents/group_membership.pb.go b/pkg/proto/mls/message_contents/group_membership.pb.go index 152264e..236811b 100644 --- a/pkg/proto/mls/message_contents/group_membership.pb.go +++ b/pkg/proto/mls/message_contents/group_membership.pb.go @@ -2,7 +2,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.36.5 +// protoc-gen-go v1.36.10 // protoc (unknown) // source: mls/message_contents/group_membership.proto @@ -80,45 +80,16 @@ func (x *GroupMembership) GetFailedInstallations() [][]byte { var File_mls_message_contents_group_membership_proto protoreflect.FileDescriptor -var file_mls_message_contents_group_membership_proto_rawDesc = string([]byte{ - 0x0a, 0x2b, 0x6d, 0x6c, 0x73, 0x2f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6f, - 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x2f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x6d, 0x65, 0x6d, - 0x62, 0x65, 0x72, 0x73, 0x68, 0x69, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x19, 0x78, - 0x6d, 0x74, 0x70, 0x2e, 0x6d, 0x6c, 0x73, 0x2e, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, - 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x22, 0xd3, 0x01, 0x0a, 0x0f, 0x47, 0x72, 0x6f, - 0x75, 0x70, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x68, 0x69, 0x70, 0x12, 0x51, 0x0a, 0x07, - 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x37, 0x2e, - 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x6d, 0x6c, 0x73, 0x2e, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, - 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x2e, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, - 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x68, 0x69, 0x70, 0x2e, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, - 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x07, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x12, - 0x31, 0x0a, 0x14, 0x66, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6c, - 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0c, 0x52, 0x13, 0x66, - 0x61, 0x69, 0x6c, 0x65, 0x64, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x73, 0x1a, 0x3a, 0x0a, 0x0c, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x45, 0x6e, 0x74, - 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x04, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42, 0xa0, - 0x02, 0x0a, 0x37, 0x6f, 0x72, 0x67, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x61, 0x6e, 0x64, 0x72, - 0x6f, 0x69, 0x64, 0x2e, 0x6c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x2e, 0x70, 0x75, 0x73, 0x68, - 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x6d, 0x6c, 0x73, 0x2e, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, - 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x42, 0x14, 0x47, 0x72, 0x6f, 0x75, - 0x70, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x68, 0x69, 0x70, 0x50, 0x72, 0x6f, 0x74, 0x6f, - 0x50, 0x01, 0x5a, 0x4d, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x78, - 0x6d, 0x74, 0x70, 0x2f, 0x65, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x2d, 0x6e, 0x6f, 0x74, 0x69, - 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2d, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2d, - 0x67, 0x6f, 0x2f, 0x70, 0x6b, 0x67, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x6d, 0x6c, 0x73, - 0x2f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, - 0x73, 0xa2, 0x02, 0x03, 0x58, 0x4d, 0x4d, 0xaa, 0x02, 0x18, 0x58, 0x6d, 0x74, 0x70, 0x2e, 0x4d, - 0x6c, 0x73, 0x2e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, - 0x74, 0x73, 0xca, 0x02, 0x18, 0x58, 0x6d, 0x74, 0x70, 0x5c, 0x4d, 0x6c, 0x73, 0x5c, 0x4d, 0x65, - 0x73, 0x73, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0xe2, 0x02, 0x24, - 0x58, 0x6d, 0x74, 0x70, 0x5c, 0x4d, 0x6c, 0x73, 0x5c, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, - 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, - 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x1a, 0x58, 0x6d, 0x74, 0x70, 0x3a, 0x3a, 0x4d, 0x6c, 0x73, - 0x3a, 0x3a, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, - 0x73, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, -}) +const file_mls_message_contents_group_membership_proto_rawDesc = "" + + "\n" + + "+mls/message_contents/group_membership.proto\x12\x19xmtp.mls.message_contents\"\xd3\x01\n" + + "\x0fGroupMembership\x12Q\n" + + "\amembers\x18\x01 \x03(\v27.xmtp.mls.message_contents.GroupMembership.MembersEntryR\amembers\x121\n" + + "\x14failed_installations\x18\x02 \x03(\fR\x13failedInstallations\x1a:\n" + + "\fMembersEntry\x12\x10\n" + + "\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n" + + "\x05value\x18\x02 \x01(\x04R\x05value:\x028\x01B\xa0\x02\n" + + "7org.xmtp.android.library.push.xmtp.mls.message_contentsB\x14GroupMembershipProtoP\x01ZMgithub.com/xmtp/example-notification-server-go/pkg/proto/mls/message_contents\xa2\x02\x03XMM\xaa\x02\x18Xmtp.Mls.MessageContents\xca\x02\x18Xmtp\\Mls\\MessageContents\xe2\x02$Xmtp\\Mls\\MessageContents\\GPBMetadata\xea\x02\x1aXmtp::Mls::MessageContentsb\x06proto3" var ( file_mls_message_contents_group_membership_proto_rawDescOnce sync.Once diff --git a/pkg/proto/mls/message_contents/group_metadata.pb.go b/pkg/proto/mls/message_contents/group_metadata.pb.go index a6a5cbd..9f1faba 100644 --- a/pkg/proto/mls/message_contents/group_metadata.pb.go +++ b/pkg/proto/mls/message_contents/group_metadata.pb.go @@ -2,7 +2,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.36.5 +// protoc-gen-go v1.36.10 // protoc (unknown) // source: mls/message_contents/group_metadata.proto @@ -31,6 +31,7 @@ const ( ConversationType_CONVERSATION_TYPE_GROUP ConversationType = 1 ConversationType_CONVERSATION_TYPE_DM ConversationType = 2 ConversationType_CONVERSATION_TYPE_SYNC ConversationType = 3 + ConversationType_CONVERSATION_TYPE_ONESHOT ConversationType = 4 ) // Enum value maps for ConversationType. @@ -40,12 +41,14 @@ var ( 1: "CONVERSATION_TYPE_GROUP", 2: "CONVERSATION_TYPE_DM", 3: "CONVERSATION_TYPE_SYNC", + 4: "CONVERSATION_TYPE_ONESHOT", } ConversationType_value = map[string]int32{ "CONVERSATION_TYPE_UNSPECIFIED": 0, "CONVERSATION_TYPE_GROUP": 1, "CONVERSATION_TYPE_DM": 2, "CONVERSATION_TYPE_SYNC": 3, + "CONVERSATION_TYPE_ONESHOT": 4, } ) @@ -84,9 +87,11 @@ type GroupMetadataV1 struct { CreatorAccountAddress string `protobuf:"bytes,2,opt,name=creator_account_address,json=creatorAccountAddress,proto3" json:"creator_account_address,omitempty"` CreatorInboxId string `protobuf:"bytes,3,opt,name=creator_inbox_id,json=creatorInboxId,proto3" json:"creator_inbox_id,omitempty"` // Should only be present for CONVERSATION_TYPE_DM - DmMembers *DmMembers `protobuf:"bytes,4,opt,name=dm_members,json=dmMembers,proto3,oneof" json:"dm_members,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache + DmMembers *DmMembers `protobuf:"bytes,4,opt,name=dm_members,json=dmMembers,proto3,oneof" json:"dm_members,omitempty"` + // Should only be present for CONVERSATION_TYPE_ONESHOT + OneshotMessage *OneshotMessage `protobuf:"bytes,5,opt,name=oneshot_message,json=oneshotMessage,proto3,oneof" json:"oneshot_message,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *GroupMetadataV1) Reset() { @@ -147,6 +152,13 @@ func (x *GroupMetadataV1) GetDmMembers() *DmMembers { return nil } +func (x *GroupMetadataV1) GetOneshotMessage() *OneshotMessage { + if x != nil { + return x.OneshotMessage + } + return nil +} + // Wrapper around an Inbox Id type Inbox struct { state protoimpl.MessageState `protogen:"open.v1"` @@ -247,71 +259,30 @@ func (x *DmMembers) GetDmMemberTwo() *Inbox { var File_mls_message_contents_group_metadata_proto protoreflect.FileDescriptor -var file_mls_message_contents_group_metadata_proto_rawDesc = string([]byte{ - 0x0a, 0x29, 0x6d, 0x6c, 0x73, 0x2f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6f, - 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x2f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x6d, 0x65, 0x74, - 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x19, 0x78, 0x6d, 0x74, - 0x70, 0x2e, 0x6d, 0x6c, 0x73, 0x2e, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6f, - 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x22, 0xa6, 0x02, 0x0a, 0x0f, 0x47, 0x72, 0x6f, 0x75, 0x70, - 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x56, 0x31, 0x12, 0x58, 0x0a, 0x11, 0x63, 0x6f, - 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2b, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x6d, 0x6c, 0x73, - 0x2e, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, - 0x73, 0x2e, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, - 0x70, 0x65, 0x52, 0x10, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x54, 0x79, 0x70, 0x65, 0x12, 0x36, 0x0a, 0x17, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x5f, - 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x15, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x41, 0x63, - 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x28, 0x0a, 0x10, - 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x5f, 0x69, 0x6e, 0x62, 0x6f, 0x78, 0x5f, 0x69, 0x64, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x49, - 0x6e, 0x62, 0x6f, 0x78, 0x49, 0x64, 0x12, 0x48, 0x0a, 0x0a, 0x64, 0x6d, 0x5f, 0x6d, 0x65, 0x6d, - 0x62, 0x65, 0x72, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x78, 0x6d, 0x74, - 0x70, 0x2e, 0x6d, 0x6c, 0x73, 0x2e, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6f, - 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x2e, 0x44, 0x6d, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, - 0x48, 0x00, 0x52, 0x09, 0x64, 0x6d, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x88, 0x01, 0x01, - 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x64, 0x6d, 0x5f, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x22, - 0x22, 0x0a, 0x05, 0x49, 0x6e, 0x62, 0x6f, 0x78, 0x12, 0x19, 0x0a, 0x08, 0x69, 0x6e, 0x62, 0x6f, - 0x78, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x69, 0x6e, 0x62, 0x6f, - 0x78, 0x49, 0x64, 0x22, 0x97, 0x01, 0x0a, 0x09, 0x44, 0x6d, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, - 0x73, 0x12, 0x44, 0x0a, 0x0d, 0x64, 0x6d, 0x5f, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x5f, 0x6f, - 0x6e, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, - 0x6d, 0x6c, 0x73, 0x2e, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x74, - 0x65, 0x6e, 0x74, 0x73, 0x2e, 0x49, 0x6e, 0x62, 0x6f, 0x78, 0x52, 0x0b, 0x64, 0x6d, 0x4d, 0x65, - 0x6d, 0x62, 0x65, 0x72, 0x4f, 0x6e, 0x65, 0x12, 0x44, 0x0a, 0x0d, 0x64, 0x6d, 0x5f, 0x6d, 0x65, - 0x6d, 0x62, 0x65, 0x72, 0x5f, 0x74, 0x77, 0x6f, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, - 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x6d, 0x6c, 0x73, 0x2e, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, - 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x2e, 0x49, 0x6e, 0x62, 0x6f, 0x78, - 0x52, 0x0b, 0x64, 0x6d, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x54, 0x77, 0x6f, 0x2a, 0x88, 0x01, - 0x0a, 0x10, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, - 0x70, 0x65, 0x12, 0x21, 0x0a, 0x1d, 0x43, 0x4f, 0x4e, 0x56, 0x45, 0x52, 0x53, 0x41, 0x54, 0x49, - 0x4f, 0x4e, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, - 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x1b, 0x0a, 0x17, 0x43, 0x4f, 0x4e, 0x56, 0x45, 0x52, 0x53, - 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x47, 0x52, 0x4f, 0x55, 0x50, - 0x10, 0x01, 0x12, 0x18, 0x0a, 0x14, 0x43, 0x4f, 0x4e, 0x56, 0x45, 0x52, 0x53, 0x41, 0x54, 0x49, - 0x4f, 0x4e, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x44, 0x4d, 0x10, 0x02, 0x12, 0x1a, 0x0a, 0x16, - 0x43, 0x4f, 0x4e, 0x56, 0x45, 0x52, 0x53, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x54, 0x59, 0x50, - 0x45, 0x5f, 0x53, 0x59, 0x4e, 0x43, 0x10, 0x03, 0x42, 0x9e, 0x02, 0x0a, 0x37, 0x6f, 0x72, 0x67, - 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x61, 0x6e, 0x64, 0x72, 0x6f, 0x69, 0x64, 0x2e, 0x6c, 0x69, - 0x62, 0x72, 0x61, 0x72, 0x79, 0x2e, 0x70, 0x75, 0x73, 0x68, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, - 0x6d, 0x6c, 0x73, 0x2e, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x74, - 0x65, 0x6e, 0x74, 0x73, 0x42, 0x12, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x65, 0x74, 0x61, 0x64, - 0x61, 0x74, 0x61, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x4d, 0x67, 0x69, 0x74, 0x68, - 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x78, 0x6d, 0x74, 0x70, 0x2f, 0x65, 0x78, 0x61, 0x6d, - 0x70, 0x6c, 0x65, 0x2d, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x2d, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2d, 0x67, 0x6f, 0x2f, 0x70, 0x6b, 0x67, 0x2f, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x6d, 0x6c, 0x73, 0x2f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, - 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0xa2, 0x02, 0x03, 0x58, 0x4d, 0x4d, 0xaa, - 0x02, 0x18, 0x58, 0x6d, 0x74, 0x70, 0x2e, 0x4d, 0x6c, 0x73, 0x2e, 0x4d, 0x65, 0x73, 0x73, 0x61, - 0x67, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0xca, 0x02, 0x18, 0x58, 0x6d, 0x74, - 0x70, 0x5c, 0x4d, 0x6c, 0x73, 0x5c, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x6e, - 0x74, 0x65, 0x6e, 0x74, 0x73, 0xe2, 0x02, 0x24, 0x58, 0x6d, 0x74, 0x70, 0x5c, 0x4d, 0x6c, 0x73, - 0x5c, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, - 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x1a, 0x58, - 0x6d, 0x74, 0x70, 0x3a, 0x3a, 0x4d, 0x6c, 0x73, 0x3a, 0x3a, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, - 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x33, -}) +const file_mls_message_contents_group_metadata_proto_rawDesc = "" + + "\n" + + ")mls/message_contents/group_metadata.proto\x12\x19xmtp.mls.message_contents\x1a\"mls/message_contents/oneshot.proto\"\x93\x03\n" + + "\x0fGroupMetadataV1\x12X\n" + + "\x11conversation_type\x18\x01 \x01(\x0e2+.xmtp.mls.message_contents.ConversationTypeR\x10conversationType\x126\n" + + "\x17creator_account_address\x18\x02 \x01(\tR\x15creatorAccountAddress\x12(\n" + + "\x10creator_inbox_id\x18\x03 \x01(\tR\x0ecreatorInboxId\x12H\n" + + "\n" + + "dm_members\x18\x04 \x01(\v2$.xmtp.mls.message_contents.DmMembersH\x00R\tdmMembers\x88\x01\x01\x12W\n" + + "\x0foneshot_message\x18\x05 \x01(\v2).xmtp.mls.message_contents.OneshotMessageH\x01R\x0eoneshotMessage\x88\x01\x01B\r\n" + + "\v_dm_membersB\x12\n" + + "\x10_oneshot_message\"\"\n" + + "\x05Inbox\x12\x19\n" + + "\binbox_id\x18\x01 \x01(\tR\ainboxId\"\x97\x01\n" + + "\tDmMembers\x12D\n" + + "\rdm_member_one\x18\x01 \x01(\v2 .xmtp.mls.message_contents.InboxR\vdmMemberOne\x12D\n" + + "\rdm_member_two\x18\x02 \x01(\v2 .xmtp.mls.message_contents.InboxR\vdmMemberTwo*\xa7\x01\n" + + "\x10ConversationType\x12!\n" + + "\x1dCONVERSATION_TYPE_UNSPECIFIED\x10\x00\x12\x1b\n" + + "\x17CONVERSATION_TYPE_GROUP\x10\x01\x12\x18\n" + + "\x14CONVERSATION_TYPE_DM\x10\x02\x12\x1a\n" + + "\x16CONVERSATION_TYPE_SYNC\x10\x03\x12\x1d\n" + + "\x19CONVERSATION_TYPE_ONESHOT\x10\x04B\x9e\x02\n" + + "7org.xmtp.android.library.push.xmtp.mls.message_contentsB\x12GroupMetadataProtoP\x01ZMgithub.com/xmtp/example-notification-server-go/pkg/proto/mls/message_contents\xa2\x02\x03XMM\xaa\x02\x18Xmtp.Mls.MessageContents\xca\x02\x18Xmtp\\Mls\\MessageContents\xe2\x02$Xmtp\\Mls\\MessageContents\\GPBMetadata\xea\x02\x1aXmtp::Mls::MessageContentsb\x06proto3" var ( file_mls_message_contents_group_metadata_proto_rawDescOnce sync.Once @@ -332,17 +303,19 @@ var file_mls_message_contents_group_metadata_proto_goTypes = []any{ (*GroupMetadataV1)(nil), // 1: xmtp.mls.message_contents.GroupMetadataV1 (*Inbox)(nil), // 2: xmtp.mls.message_contents.Inbox (*DmMembers)(nil), // 3: xmtp.mls.message_contents.DmMembers + (*OneshotMessage)(nil), // 4: xmtp.mls.message_contents.OneshotMessage } var file_mls_message_contents_group_metadata_proto_depIdxs = []int32{ 0, // 0: xmtp.mls.message_contents.GroupMetadataV1.conversation_type:type_name -> xmtp.mls.message_contents.ConversationType 3, // 1: xmtp.mls.message_contents.GroupMetadataV1.dm_members:type_name -> xmtp.mls.message_contents.DmMembers - 2, // 2: xmtp.mls.message_contents.DmMembers.dm_member_one:type_name -> xmtp.mls.message_contents.Inbox - 2, // 3: xmtp.mls.message_contents.DmMembers.dm_member_two:type_name -> xmtp.mls.message_contents.Inbox - 4, // [4:4] is the sub-list for method output_type - 4, // [4:4] is the sub-list for method input_type - 4, // [4:4] is the sub-list for extension type_name - 4, // [4:4] is the sub-list for extension extendee - 0, // [0:4] is the sub-list for field type_name + 4, // 2: xmtp.mls.message_contents.GroupMetadataV1.oneshot_message:type_name -> xmtp.mls.message_contents.OneshotMessage + 2, // 3: xmtp.mls.message_contents.DmMembers.dm_member_one:type_name -> xmtp.mls.message_contents.Inbox + 2, // 4: xmtp.mls.message_contents.DmMembers.dm_member_two:type_name -> xmtp.mls.message_contents.Inbox + 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_mls_message_contents_group_metadata_proto_init() } @@ -350,6 +323,7 @@ func file_mls_message_contents_group_metadata_proto_init() { if File_mls_message_contents_group_metadata_proto != nil { return } + file_mls_message_contents_oneshot_proto_init() file_mls_message_contents_group_metadata_proto_msgTypes[0].OneofWrappers = []any{} type x struct{} out := protoimpl.TypeBuilder{ diff --git a/pkg/proto/mls/message_contents/group_mutable_metadata.pb.go b/pkg/proto/mls/message_contents/group_mutable_metadata.pb.go index d500a8e..d16494a 100644 --- a/pkg/proto/mls/message_contents/group_mutable_metadata.pb.go +++ b/pkg/proto/mls/message_contents/group_mutable_metadata.pb.go @@ -2,7 +2,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.36.5 +// protoc-gen-go v1.36.10 // protoc (unknown) // source: mls/message_contents/group_mutable_metadata.proto @@ -134,56 +134,22 @@ func (x *Inboxes) GetInboxIds() []string { var File_mls_message_contents_group_mutable_metadata_proto protoreflect.FileDescriptor -var file_mls_message_contents_group_mutable_metadata_proto_rawDesc = string([]byte{ - 0x0a, 0x31, 0x6d, 0x6c, 0x73, 0x2f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6f, - 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x2f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x6d, 0x75, 0x74, - 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x12, 0x19, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x6d, 0x6c, 0x73, 0x2e, 0x6d, 0x65, - 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x22, 0xcb, - 0x02, 0x0a, 0x16, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x75, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x4d, - 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x56, 0x31, 0x12, 0x61, 0x0a, 0x0a, 0x61, 0x74, 0x74, - 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x41, 0x2e, - 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x6d, 0x6c, 0x73, 0x2e, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, - 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x2e, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, - 0x75, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x56, 0x31, - 0x2e, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, - 0x52, 0x0a, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x12, 0x41, 0x0a, 0x0a, - 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x22, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x6d, 0x6c, 0x73, 0x2e, 0x6d, 0x65, 0x73, 0x73, - 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x2e, 0x49, 0x6e, 0x62, - 0x6f, 0x78, 0x65, 0x73, 0x52, 0x09, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x4c, 0x69, 0x73, 0x74, 0x12, - 0x4c, 0x0a, 0x10, 0x73, 0x75, 0x70, 0x65, 0x72, 0x5f, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x5f, 0x6c, - 0x69, 0x73, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x78, 0x6d, 0x74, 0x70, - 0x2e, 0x6d, 0x6c, 0x73, 0x2e, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x6e, - 0x74, 0x65, 0x6e, 0x74, 0x73, 0x2e, 0x49, 0x6e, 0x62, 0x6f, 0x78, 0x65, 0x73, 0x52, 0x0e, 0x73, - 0x75, 0x70, 0x65, 0x72, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x4c, 0x69, 0x73, 0x74, 0x1a, 0x3d, 0x0a, - 0x0f, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, - 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, - 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x26, 0x0a, 0x07, - 0x49, 0x6e, 0x62, 0x6f, 0x78, 0x65, 0x73, 0x12, 0x1b, 0x0a, 0x09, 0x69, 0x6e, 0x62, 0x6f, 0x78, - 0x5f, 0x69, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x08, 0x69, 0x6e, 0x62, 0x6f, - 0x78, 0x49, 0x64, 0x73, 0x42, 0xa5, 0x02, 0x0a, 0x37, 0x6f, 0x72, 0x67, 0x2e, 0x78, 0x6d, 0x74, - 0x70, 0x2e, 0x61, 0x6e, 0x64, 0x72, 0x6f, 0x69, 0x64, 0x2e, 0x6c, 0x69, 0x62, 0x72, 0x61, 0x72, - 0x79, 0x2e, 0x70, 0x75, 0x73, 0x68, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x6d, 0x6c, 0x73, 0x2e, - 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, - 0x42, 0x19, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x75, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x4d, 0x65, - 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x4d, 0x67, - 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x78, 0x6d, 0x74, 0x70, 0x2f, 0x65, - 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x2d, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x2d, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2d, 0x67, 0x6f, 0x2f, 0x70, 0x6b, - 0x67, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x6d, 0x6c, 0x73, 0x2f, 0x6d, 0x65, 0x73, 0x73, - 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0xa2, 0x02, 0x03, 0x58, - 0x4d, 0x4d, 0xaa, 0x02, 0x18, 0x58, 0x6d, 0x74, 0x70, 0x2e, 0x4d, 0x6c, 0x73, 0x2e, 0x4d, 0x65, - 0x73, 0x73, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0xca, 0x02, 0x18, - 0x58, 0x6d, 0x74, 0x70, 0x5c, 0x4d, 0x6c, 0x73, 0x5c, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, - 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0xe2, 0x02, 0x24, 0x58, 0x6d, 0x74, 0x70, 0x5c, - 0x4d, 0x6c, 0x73, 0x5c, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, - 0x6e, 0x74, 0x73, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, - 0x02, 0x1a, 0x58, 0x6d, 0x74, 0x70, 0x3a, 0x3a, 0x4d, 0x6c, 0x73, 0x3a, 0x3a, 0x4d, 0x65, 0x73, - 0x73, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x62, 0x06, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x33, -}) +const file_mls_message_contents_group_mutable_metadata_proto_rawDesc = "" + + "\n" + + "1mls/message_contents/group_mutable_metadata.proto\x12\x19xmtp.mls.message_contents\"\xe4\x02\n" + + "\x16GroupMutableMetadataV1\x12a\n" + + "\n" + + "attributes\x18\x01 \x03(\v2A.xmtp.mls.message_contents.GroupMutableMetadataV1.AttributesEntryR\n" + + "attributes\x12A\n" + + "\n" + + "admin_list\x18\x02 \x01(\v2\".xmtp.mls.message_contents.InboxesR\tadminList\x12L\n" + + "\x10super_admin_list\x18\x03 \x01(\v2\".xmtp.mls.message_contents.InboxesR\x0esuperAdminList\x1a=\n" + + "\x0fAttributesEntry\x12\x10\n" + + "\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n" + + "\x05value\x18\x02 \x01(\tR\x05value:\x028\x01J\x04\b\x04\x10\x05R\x11commit_log_signer\"&\n" + + "\aInboxes\x12\x1b\n" + + "\tinbox_ids\x18\x01 \x03(\tR\binboxIdsB\xa5\x02\n" + + "7org.xmtp.android.library.push.xmtp.mls.message_contentsB\x19GroupMutableMetadataProtoP\x01ZMgithub.com/xmtp/example-notification-server-go/pkg/proto/mls/message_contents\xa2\x02\x03XMM\xaa\x02\x18Xmtp.Mls.MessageContents\xca\x02\x18Xmtp\\Mls\\MessageContents\xe2\x02$Xmtp\\Mls\\MessageContents\\GPBMetadata\xea\x02\x1aXmtp::Mls::MessageContentsb\x06proto3" var ( file_mls_message_contents_group_mutable_metadata_proto_rawDescOnce sync.Once diff --git a/pkg/proto/mls/message_contents/group_permissions.pb.go b/pkg/proto/mls/message_contents/group_permissions.pb.go index cceac13..0cd0bdb 100644 --- a/pkg/proto/mls/message_contents/group_permissions.pb.go +++ b/pkg/proto/mls/message_contents/group_permissions.pb.go @@ -2,7 +2,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.36.5 +// protoc-gen-go v1.36.10 // protoc (unknown) // source: mls/message_contents/group_permissions.proto @@ -887,213 +887,67 @@ func (x *PermissionsUpdatePolicy_AnyCondition) GetPolicies() []*PermissionsUpdat var File_mls_message_contents_group_permissions_proto protoreflect.FileDescriptor -var file_mls_message_contents_group_permissions_proto_rawDesc = string([]byte{ - 0x0a, 0x2c, 0x6d, 0x6c, 0x73, 0x2f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6f, - 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x2f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x70, 0x65, 0x72, - 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x19, - 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x6d, 0x6c, 0x73, 0x2e, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, - 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x22, 0x5d, 0x0a, 0x19, 0x47, 0x72, 0x6f, - 0x75, 0x70, 0x4d, 0x75, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, - 0x69, 0x6f, 0x6e, 0x73, 0x56, 0x31, 0x12, 0x40, 0x0a, 0x08, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x69, - 0x65, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, - 0x6d, 0x6c, 0x73, 0x2e, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x74, - 0x65, 0x6e, 0x74, 0x73, 0x2e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x53, 0x65, 0x74, 0x52, 0x08, - 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x22, 0xdf, 0x05, 0x0a, 0x09, 0x50, 0x6f, 0x6c, - 0x69, 0x63, 0x79, 0x53, 0x65, 0x74, 0x12, 0x57, 0x0a, 0x11, 0x61, 0x64, 0x64, 0x5f, 0x6d, 0x65, - 0x6d, 0x62, 0x65, 0x72, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x2b, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x6d, 0x6c, 0x73, 0x2e, 0x6d, 0x65, 0x73, - 0x73, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x2e, 0x4d, 0x65, - 0x6d, 0x62, 0x65, 0x72, 0x73, 0x68, 0x69, 0x70, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x0f, - 0x61, 0x64, 0x64, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, - 0x5d, 0x0a, 0x14, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x5f, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, - 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, - 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x6d, 0x6c, 0x73, 0x2e, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, - 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x2e, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, - 0x73, 0x68, 0x69, 0x70, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x12, 0x72, 0x65, 0x6d, 0x6f, - 0x76, 0x65, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x74, - 0x0a, 0x16, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, - 0x61, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3e, - 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x6d, 0x6c, 0x73, 0x2e, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, - 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x2e, 0x50, 0x6f, 0x6c, 0x69, 0x63, - 0x79, 0x53, 0x65, 0x74, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x64, - 0x61, 0x74, 0x61, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x14, - 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x50, 0x6f, - 0x6c, 0x69, 0x63, 0x79, 0x12, 0x5c, 0x0a, 0x10, 0x61, 0x64, 0x64, 0x5f, 0x61, 0x64, 0x6d, 0x69, - 0x6e, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x32, - 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x6d, 0x6c, 0x73, 0x2e, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, - 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x2e, 0x50, 0x65, 0x72, 0x6d, 0x69, - 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x6f, 0x6c, 0x69, - 0x63, 0x79, 0x52, 0x0e, 0x61, 0x64, 0x64, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x50, 0x6f, 0x6c, 0x69, - 0x63, 0x79, 0x12, 0x62, 0x0a, 0x13, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x5f, 0x61, 0x64, 0x6d, - 0x69, 0x6e, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x32, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x6d, 0x6c, 0x73, 0x2e, 0x6d, 0x65, 0x73, 0x73, 0x61, - 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x2e, 0x50, 0x65, 0x72, 0x6d, - 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x6f, 0x6c, - 0x69, 0x63, 0x79, 0x52, 0x11, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x41, 0x64, 0x6d, 0x69, 0x6e, - 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x6e, 0x0a, 0x19, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, - 0x5f, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x5f, 0x70, 0x6f, 0x6c, - 0x69, 0x63, 0x79, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x78, 0x6d, 0x74, 0x70, - 0x2e, 0x6d, 0x6c, 0x73, 0x2e, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x6e, - 0x74, 0x65, 0x6e, 0x74, 0x73, 0x2e, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, - 0x73, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x17, 0x75, - 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, - 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x1a, 0x72, 0x0a, 0x19, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, - 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x45, 0x6e, - 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x3f, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x6d, 0x6c, 0x73, 0x2e, - 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, - 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, - 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x8a, 0x05, 0x0a, 0x10, 0x4d, - 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x68, 0x69, 0x70, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, - 0x4c, 0x0a, 0x04, 0x62, 0x61, 0x73, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x36, 0x2e, - 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x6d, 0x6c, 0x73, 0x2e, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, - 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x2e, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, - 0x73, 0x68, 0x69, 0x70, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x42, 0x61, 0x73, 0x65, 0x50, - 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x48, 0x00, 0x52, 0x04, 0x62, 0x61, 0x73, 0x65, 0x12, 0x5f, 0x0a, - 0x0d, 0x61, 0x6e, 0x64, 0x5f, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x38, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x6d, 0x6c, 0x73, 0x2e, - 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, - 0x2e, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x68, 0x69, 0x70, 0x50, 0x6f, 0x6c, 0x69, 0x63, - 0x79, 0x2e, 0x41, 0x6e, 0x64, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, - 0x52, 0x0c, 0x61, 0x6e, 0x64, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x5f, - 0x0a, 0x0d, 0x61, 0x6e, 0x79, 0x5f, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x38, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x6d, 0x6c, 0x73, - 0x2e, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, - 0x73, 0x2e, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x68, 0x69, 0x70, 0x50, 0x6f, 0x6c, 0x69, - 0x63, 0x79, 0x2e, 0x41, 0x6e, 0x79, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x48, - 0x00, 0x52, 0x0c, 0x61, 0x6e, 0x79, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x1a, - 0x57, 0x0a, 0x0c, 0x41, 0x6e, 0x64, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, - 0x47, 0x0a, 0x08, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, - 0x0b, 0x32, 0x2b, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x6d, 0x6c, 0x73, 0x2e, 0x6d, 0x65, 0x73, - 0x73, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x2e, 0x4d, 0x65, - 0x6d, 0x62, 0x65, 0x72, 0x73, 0x68, 0x69, 0x70, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x08, - 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x1a, 0x57, 0x0a, 0x0c, 0x41, 0x6e, 0x79, 0x43, - 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x47, 0x0a, 0x08, 0x70, 0x6f, 0x6c, 0x69, - 0x63, 0x69, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x78, 0x6d, 0x74, - 0x70, 0x2e, 0x6d, 0x6c, 0x73, 0x2e, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6f, - 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x2e, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x68, 0x69, - 0x70, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x08, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, - 0x73, 0x22, 0xab, 0x01, 0x0a, 0x0a, 0x42, 0x61, 0x73, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, - 0x12, 0x1b, 0x0a, 0x17, 0x42, 0x41, 0x53, 0x45, 0x5f, 0x50, 0x4f, 0x4c, 0x49, 0x43, 0x59, 0x5f, - 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x15, 0x0a, - 0x11, 0x42, 0x41, 0x53, 0x45, 0x5f, 0x50, 0x4f, 0x4c, 0x49, 0x43, 0x59, 0x5f, 0x41, 0x4c, 0x4c, - 0x4f, 0x57, 0x10, 0x01, 0x12, 0x14, 0x0a, 0x10, 0x42, 0x41, 0x53, 0x45, 0x5f, 0x50, 0x4f, 0x4c, - 0x49, 0x43, 0x59, 0x5f, 0x44, 0x45, 0x4e, 0x59, 0x10, 0x02, 0x12, 0x2d, 0x0a, 0x29, 0x42, 0x41, - 0x53, 0x45, 0x5f, 0x50, 0x4f, 0x4c, 0x49, 0x43, 0x59, 0x5f, 0x41, 0x4c, 0x4c, 0x4f, 0x57, 0x5f, - 0x49, 0x46, 0x5f, 0x41, 0x44, 0x4d, 0x49, 0x4e, 0x5f, 0x4f, 0x52, 0x5f, 0x53, 0x55, 0x50, 0x45, - 0x52, 0x5f, 0x41, 0x44, 0x4d, 0x49, 0x4e, 0x10, 0x03, 0x12, 0x24, 0x0a, 0x20, 0x42, 0x41, 0x53, - 0x45, 0x5f, 0x50, 0x4f, 0x4c, 0x49, 0x43, 0x59, 0x5f, 0x41, 0x4c, 0x4c, 0x4f, 0x57, 0x5f, 0x49, - 0x46, 0x5f, 0x53, 0x55, 0x50, 0x45, 0x52, 0x5f, 0x41, 0x44, 0x4d, 0x49, 0x4e, 0x10, 0x04, 0x42, - 0x06, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x22, 0xac, 0x05, 0x0a, 0x0e, 0x4d, 0x65, 0x74, 0x61, - 0x64, 0x61, 0x74, 0x61, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x52, 0x0a, 0x04, 0x62, 0x61, - 0x73, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x3c, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, - 0x6d, 0x6c, 0x73, 0x2e, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x74, - 0x65, 0x6e, 0x74, 0x73, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x50, 0x6f, 0x6c, - 0x69, 0x63, 0x79, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x42, 0x61, 0x73, 0x65, - 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x48, 0x00, 0x52, 0x04, 0x62, 0x61, 0x73, 0x65, 0x12, 0x5d, - 0x0a, 0x0d, 0x61, 0x6e, 0x64, 0x5f, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x36, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x6d, 0x6c, 0x73, - 0x2e, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, - 0x73, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, - 0x2e, 0x41, 0x6e, 0x64, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, - 0x0c, 0x61, 0x6e, 0x64, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x5d, 0x0a, - 0x0d, 0x61, 0x6e, 0x79, 0x5f, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x36, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x6d, 0x6c, 0x73, 0x2e, - 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, - 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, - 0x41, 0x6e, 0x79, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x0c, - 0x61, 0x6e, 0x79, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x1a, 0x55, 0x0a, 0x0c, - 0x41, 0x6e, 0x64, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x45, 0x0a, 0x08, - 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x29, - 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x6d, 0x6c, 0x73, 0x2e, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, - 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, - 0x61, 0x74, 0x61, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x08, 0x70, 0x6f, 0x6c, 0x69, 0x63, - 0x69, 0x65, 0x73, 0x1a, 0x55, 0x0a, 0x0c, 0x41, 0x6e, 0x79, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, - 0x69, 0x6f, 0x6e, 0x12, 0x45, 0x0a, 0x08, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x18, - 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x6d, 0x6c, 0x73, - 0x2e, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, - 0x73, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, - 0x52, 0x08, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x22, 0xd1, 0x01, 0x0a, 0x12, 0x4d, - 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x42, 0x61, 0x73, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, - 0x79, 0x12, 0x24, 0x0a, 0x20, 0x4d, 0x45, 0x54, 0x41, 0x44, 0x41, 0x54, 0x41, 0x5f, 0x42, 0x41, - 0x53, 0x45, 0x5f, 0x50, 0x4f, 0x4c, 0x49, 0x43, 0x59, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, - 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x1e, 0x0a, 0x1a, 0x4d, 0x45, 0x54, 0x41, 0x44, - 0x41, 0x54, 0x41, 0x5f, 0x42, 0x41, 0x53, 0x45, 0x5f, 0x50, 0x4f, 0x4c, 0x49, 0x43, 0x59, 0x5f, - 0x41, 0x4c, 0x4c, 0x4f, 0x57, 0x10, 0x01, 0x12, 0x1d, 0x0a, 0x19, 0x4d, 0x45, 0x54, 0x41, 0x44, - 0x41, 0x54, 0x41, 0x5f, 0x42, 0x41, 0x53, 0x45, 0x5f, 0x50, 0x4f, 0x4c, 0x49, 0x43, 0x59, 0x5f, - 0x44, 0x45, 0x4e, 0x59, 0x10, 0x02, 0x12, 0x27, 0x0a, 0x23, 0x4d, 0x45, 0x54, 0x41, 0x44, 0x41, - 0x54, 0x41, 0x5f, 0x42, 0x41, 0x53, 0x45, 0x5f, 0x50, 0x4f, 0x4c, 0x49, 0x43, 0x59, 0x5f, 0x41, - 0x4c, 0x4c, 0x4f, 0x57, 0x5f, 0x49, 0x46, 0x5f, 0x41, 0x44, 0x4d, 0x49, 0x4e, 0x10, 0x03, 0x12, - 0x2d, 0x0a, 0x29, 0x4d, 0x45, 0x54, 0x41, 0x44, 0x41, 0x54, 0x41, 0x5f, 0x42, 0x41, 0x53, 0x45, - 0x5f, 0x50, 0x4f, 0x4c, 0x49, 0x43, 0x59, 0x5f, 0x41, 0x4c, 0x4c, 0x4f, 0x57, 0x5f, 0x49, 0x46, - 0x5f, 0x53, 0x55, 0x50, 0x45, 0x52, 0x5f, 0x41, 0x44, 0x4d, 0x49, 0x4e, 0x10, 0x04, 0x42, 0x06, - 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x22, 0xd4, 0x05, 0x0a, 0x17, 0x50, 0x65, 0x72, 0x6d, 0x69, - 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x6f, 0x6c, 0x69, - 0x63, 0x79, 0x12, 0x5e, 0x0a, 0x04, 0x62, 0x61, 0x73, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, - 0x32, 0x48, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x6d, 0x6c, 0x73, 0x2e, 0x6d, 0x65, 0x73, 0x73, - 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x2e, 0x50, 0x65, 0x72, - 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x6f, - 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, - 0x42, 0x61, 0x73, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x48, 0x00, 0x52, 0x04, 0x62, 0x61, - 0x73, 0x65, 0x12, 0x66, 0x0a, 0x0d, 0x61, 0x6e, 0x64, 0x5f, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, - 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3f, 0x2e, 0x78, 0x6d, 0x74, 0x70, - 0x2e, 0x6d, 0x6c, 0x73, 0x2e, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x6e, - 0x74, 0x65, 0x6e, 0x74, 0x73, 0x2e, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, - 0x73, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x41, 0x6e, - 0x64, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x0c, 0x61, 0x6e, - 0x64, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x66, 0x0a, 0x0d, 0x61, 0x6e, - 0x79, 0x5f, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x3f, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x6d, 0x6c, 0x73, 0x2e, 0x6d, 0x65, 0x73, - 0x73, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x2e, 0x50, 0x65, - 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, - 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x41, 0x6e, 0x79, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, - 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x0c, 0x61, 0x6e, 0x79, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, - 0x6f, 0x6e, 0x1a, 0x5e, 0x0a, 0x0c, 0x41, 0x6e, 0x64, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, - 0x6f, 0x6e, 0x12, 0x4e, 0x0a, 0x08, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x18, 0x01, - 0x20, 0x03, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x6d, 0x6c, 0x73, 0x2e, - 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, - 0x2e, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x55, 0x70, 0x64, 0x61, - 0x74, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x08, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x69, - 0x65, 0x73, 0x1a, 0x5e, 0x0a, 0x0c, 0x41, 0x6e, 0x79, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, - 0x6f, 0x6e, 0x12, 0x4e, 0x0a, 0x08, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x18, 0x01, - 0x20, 0x03, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x6d, 0x6c, 0x73, 0x2e, - 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, - 0x2e, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x55, 0x70, 0x64, 0x61, - 0x74, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x08, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x69, - 0x65, 0x73, 0x22, 0xc0, 0x01, 0x0a, 0x15, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, - 0x6e, 0x73, 0x42, 0x61, 0x73, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x27, 0x0a, 0x23, - 0x50, 0x45, 0x52, 0x4d, 0x49, 0x53, 0x53, 0x49, 0x4f, 0x4e, 0x53, 0x5f, 0x42, 0x41, 0x53, 0x45, - 0x5f, 0x50, 0x4f, 0x4c, 0x49, 0x43, 0x59, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, - 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x20, 0x0a, 0x1c, 0x50, 0x45, 0x52, 0x4d, 0x49, 0x53, 0x53, - 0x49, 0x4f, 0x4e, 0x53, 0x5f, 0x42, 0x41, 0x53, 0x45, 0x5f, 0x50, 0x4f, 0x4c, 0x49, 0x43, 0x59, - 0x5f, 0x44, 0x45, 0x4e, 0x59, 0x10, 0x01, 0x12, 0x2a, 0x0a, 0x26, 0x50, 0x45, 0x52, 0x4d, 0x49, - 0x53, 0x53, 0x49, 0x4f, 0x4e, 0x53, 0x5f, 0x42, 0x41, 0x53, 0x45, 0x5f, 0x50, 0x4f, 0x4c, 0x49, - 0x43, 0x59, 0x5f, 0x41, 0x4c, 0x4c, 0x4f, 0x57, 0x5f, 0x49, 0x46, 0x5f, 0x41, 0x44, 0x4d, 0x49, - 0x4e, 0x10, 0x02, 0x12, 0x30, 0x0a, 0x2c, 0x50, 0x45, 0x52, 0x4d, 0x49, 0x53, 0x53, 0x49, 0x4f, - 0x4e, 0x53, 0x5f, 0x42, 0x41, 0x53, 0x45, 0x5f, 0x50, 0x4f, 0x4c, 0x49, 0x43, 0x59, 0x5f, 0x41, - 0x4c, 0x4c, 0x4f, 0x57, 0x5f, 0x49, 0x46, 0x5f, 0x53, 0x55, 0x50, 0x45, 0x52, 0x5f, 0x41, 0x44, - 0x4d, 0x49, 0x4e, 0x10, 0x03, 0x42, 0x06, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x42, 0xa1, 0x02, - 0x0a, 0x37, 0x6f, 0x72, 0x67, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x61, 0x6e, 0x64, 0x72, 0x6f, - 0x69, 0x64, 0x2e, 0x6c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x2e, 0x70, 0x75, 0x73, 0x68, 0x2e, - 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x6d, 0x6c, 0x73, 0x2e, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, - 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x42, 0x15, 0x47, 0x72, 0x6f, 0x75, 0x70, - 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x50, 0x72, 0x6f, 0x74, 0x6f, - 0x50, 0x01, 0x5a, 0x4d, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x78, - 0x6d, 0x74, 0x70, 0x2f, 0x65, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x2d, 0x6e, 0x6f, 0x74, 0x69, - 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2d, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2d, - 0x67, 0x6f, 0x2f, 0x70, 0x6b, 0x67, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x6d, 0x6c, 0x73, - 0x2f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, - 0x73, 0xa2, 0x02, 0x03, 0x58, 0x4d, 0x4d, 0xaa, 0x02, 0x18, 0x58, 0x6d, 0x74, 0x70, 0x2e, 0x4d, - 0x6c, 0x73, 0x2e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, - 0x74, 0x73, 0xca, 0x02, 0x18, 0x58, 0x6d, 0x74, 0x70, 0x5c, 0x4d, 0x6c, 0x73, 0x5c, 0x4d, 0x65, - 0x73, 0x73, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0xe2, 0x02, 0x24, - 0x58, 0x6d, 0x74, 0x70, 0x5c, 0x4d, 0x6c, 0x73, 0x5c, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, - 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, - 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x1a, 0x58, 0x6d, 0x74, 0x70, 0x3a, 0x3a, 0x4d, 0x6c, 0x73, - 0x3a, 0x3a, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, - 0x73, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, -}) +const file_mls_message_contents_group_permissions_proto_rawDesc = "" + + "\n" + + ",mls/message_contents/group_permissions.proto\x12\x19xmtp.mls.message_contents\"]\n" + + "\x19GroupMutablePermissionsV1\x12@\n" + + "\bpolicies\x18\x01 \x01(\v2$.xmtp.mls.message_contents.PolicySetR\bpolicies\"\xdf\x05\n" + + "\tPolicySet\x12W\n" + + "\x11add_member_policy\x18\x01 \x01(\v2+.xmtp.mls.message_contents.MembershipPolicyR\x0faddMemberPolicy\x12]\n" + + "\x14remove_member_policy\x18\x02 \x01(\v2+.xmtp.mls.message_contents.MembershipPolicyR\x12removeMemberPolicy\x12t\n" + + "\x16update_metadata_policy\x18\x03 \x03(\v2>.xmtp.mls.message_contents.PolicySet.UpdateMetadataPolicyEntryR\x14updateMetadataPolicy\x12\\\n" + + "\x10add_admin_policy\x18\x04 \x01(\v22.xmtp.mls.message_contents.PermissionsUpdatePolicyR\x0eaddAdminPolicy\x12b\n" + + "\x13remove_admin_policy\x18\x05 \x01(\v22.xmtp.mls.message_contents.PermissionsUpdatePolicyR\x11removeAdminPolicy\x12n\n" + + "\x19update_permissions_policy\x18\x06 \x01(\v22.xmtp.mls.message_contents.PermissionsUpdatePolicyR\x17updatePermissionsPolicy\x1ar\n" + + "\x19UpdateMetadataPolicyEntry\x12\x10\n" + + "\x03key\x18\x01 \x01(\tR\x03key\x12?\n" + + "\x05value\x18\x02 \x01(\v2).xmtp.mls.message_contents.MetadataPolicyR\x05value:\x028\x01\"\x8a\x05\n" + + "\x10MembershipPolicy\x12L\n" + + "\x04base\x18\x01 \x01(\x0e26.xmtp.mls.message_contents.MembershipPolicy.BasePolicyH\x00R\x04base\x12_\n" + + "\rand_condition\x18\x02 \x01(\v28.xmtp.mls.message_contents.MembershipPolicy.AndConditionH\x00R\fandCondition\x12_\n" + + "\rany_condition\x18\x03 \x01(\v28.xmtp.mls.message_contents.MembershipPolicy.AnyConditionH\x00R\fanyCondition\x1aW\n" + + "\fAndCondition\x12G\n" + + "\bpolicies\x18\x01 \x03(\v2+.xmtp.mls.message_contents.MembershipPolicyR\bpolicies\x1aW\n" + + "\fAnyCondition\x12G\n" + + "\bpolicies\x18\x01 \x03(\v2+.xmtp.mls.message_contents.MembershipPolicyR\bpolicies\"\xab\x01\n" + + "\n" + + "BasePolicy\x12\x1b\n" + + "\x17BASE_POLICY_UNSPECIFIED\x10\x00\x12\x15\n" + + "\x11BASE_POLICY_ALLOW\x10\x01\x12\x14\n" + + "\x10BASE_POLICY_DENY\x10\x02\x12-\n" + + ")BASE_POLICY_ALLOW_IF_ADMIN_OR_SUPER_ADMIN\x10\x03\x12$\n" + + " BASE_POLICY_ALLOW_IF_SUPER_ADMIN\x10\x04B\x06\n" + + "\x04kind\"\xac\x05\n" + + "\x0eMetadataPolicy\x12R\n" + + "\x04base\x18\x01 \x01(\x0e2<.xmtp.mls.message_contents.MetadataPolicy.MetadataBasePolicyH\x00R\x04base\x12]\n" + + "\rand_condition\x18\x02 \x01(\v26.xmtp.mls.message_contents.MetadataPolicy.AndConditionH\x00R\fandCondition\x12]\n" + + "\rany_condition\x18\x03 \x01(\v26.xmtp.mls.message_contents.MetadataPolicy.AnyConditionH\x00R\fanyCondition\x1aU\n" + + "\fAndCondition\x12E\n" + + "\bpolicies\x18\x01 \x03(\v2).xmtp.mls.message_contents.MetadataPolicyR\bpolicies\x1aU\n" + + "\fAnyCondition\x12E\n" + + "\bpolicies\x18\x01 \x03(\v2).xmtp.mls.message_contents.MetadataPolicyR\bpolicies\"\xd1\x01\n" + + "\x12MetadataBasePolicy\x12$\n" + + " METADATA_BASE_POLICY_UNSPECIFIED\x10\x00\x12\x1e\n" + + "\x1aMETADATA_BASE_POLICY_ALLOW\x10\x01\x12\x1d\n" + + "\x19METADATA_BASE_POLICY_DENY\x10\x02\x12'\n" + + "#METADATA_BASE_POLICY_ALLOW_IF_ADMIN\x10\x03\x12-\n" + + ")METADATA_BASE_POLICY_ALLOW_IF_SUPER_ADMIN\x10\x04B\x06\n" + + "\x04kind\"\xd4\x05\n" + + "\x17PermissionsUpdatePolicy\x12^\n" + + "\x04base\x18\x01 \x01(\x0e2H.xmtp.mls.message_contents.PermissionsUpdatePolicy.PermissionsBasePolicyH\x00R\x04base\x12f\n" + + "\rand_condition\x18\x02 \x01(\v2?.xmtp.mls.message_contents.PermissionsUpdatePolicy.AndConditionH\x00R\fandCondition\x12f\n" + + "\rany_condition\x18\x03 \x01(\v2?.xmtp.mls.message_contents.PermissionsUpdatePolicy.AnyConditionH\x00R\fanyCondition\x1a^\n" + + "\fAndCondition\x12N\n" + + "\bpolicies\x18\x01 \x03(\v22.xmtp.mls.message_contents.PermissionsUpdatePolicyR\bpolicies\x1a^\n" + + "\fAnyCondition\x12N\n" + + "\bpolicies\x18\x01 \x03(\v22.xmtp.mls.message_contents.PermissionsUpdatePolicyR\bpolicies\"\xc0\x01\n" + + "\x15PermissionsBasePolicy\x12'\n" + + "#PERMISSIONS_BASE_POLICY_UNSPECIFIED\x10\x00\x12 \n" + + "\x1cPERMISSIONS_BASE_POLICY_DENY\x10\x01\x12*\n" + + "&PERMISSIONS_BASE_POLICY_ALLOW_IF_ADMIN\x10\x02\x120\n" + + ",PERMISSIONS_BASE_POLICY_ALLOW_IF_SUPER_ADMIN\x10\x03B\x06\n" + + "\x04kindB\xa1\x02\n" + + "7org.xmtp.android.library.push.xmtp.mls.message_contentsB\x15GroupPermissionsProtoP\x01ZMgithub.com/xmtp/example-notification-server-go/pkg/proto/mls/message_contents\xa2\x02\x03XMM\xaa\x02\x18Xmtp.Mls.MessageContents\xca\x02\x18Xmtp\\Mls\\MessageContents\xe2\x02$Xmtp\\Mls\\MessageContents\\GPBMetadata\xea\x02\x1aXmtp::Mls::MessageContentsb\x06proto3" var ( file_mls_message_contents_group_permissions_proto_rawDescOnce sync.Once diff --git a/pkg/proto/mls/message_contents/oneshot.pb.go b/pkg/proto/mls/message_contents/oneshot.pb.go new file mode 100644 index 0000000..c554708 --- /dev/null +++ b/pkg/proto/mls/message_contents/oneshot.pb.go @@ -0,0 +1,215 @@ +// Out-of-band signaling payloads that are sent between devices on +// side channels outside of the main group. + +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.36.10 +// protoc (unknown) +// source: mls/message_contents/oneshot.proto + +package message_contents + +import ( + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + reflect "reflect" + sync "sync" + unsafe "unsafe" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +type OneshotMessage struct { + state protoimpl.MessageState `protogen:"open.v1"` + // Types that are valid to be assigned to MessageType: + // + // *OneshotMessage_ReaddRequest + MessageType isOneshotMessage_MessageType `protobuf_oneof:"message_type"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *OneshotMessage) Reset() { + *x = OneshotMessage{} + mi := &file_mls_message_contents_oneshot_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *OneshotMessage) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*OneshotMessage) ProtoMessage() {} + +func (x *OneshotMessage) ProtoReflect() protoreflect.Message { + mi := &file_mls_message_contents_oneshot_proto_msgTypes[0] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use OneshotMessage.ProtoReflect.Descriptor instead. +func (*OneshotMessage) Descriptor() ([]byte, []int) { + return file_mls_message_contents_oneshot_proto_rawDescGZIP(), []int{0} +} + +func (x *OneshotMessage) GetMessageType() isOneshotMessage_MessageType { + if x != nil { + return x.MessageType + } + return nil +} + +func (x *OneshotMessage) GetReaddRequest() *ReaddRequest { + if x != nil { + if x, ok := x.MessageType.(*OneshotMessage_ReaddRequest); ok { + return x.ReaddRequest + } + } + return nil +} + +type isOneshotMessage_MessageType interface { + isOneshotMessage_MessageType() +} + +type OneshotMessage_ReaddRequest struct { + ReaddRequest *ReaddRequest `protobuf:"bytes,1,opt,name=readd_request,json=readdRequest,proto3,oneof"` +} + +func (*OneshotMessage_ReaddRequest) isOneshotMessage_MessageType() {} + +// A request sent by an installation to recover from a fork. Other members +// may remove and readd that installation from the group. +// XIP: https://community.xmtp.org/t/xip-68-draft-automated-fork-recovery/951 +type ReaddRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + GroupId []byte `protobuf:"bytes,1,opt,name=group_id,json=groupId,proto3" json:"group_id,omitempty"` + // The sequence ID of the latest commit log entry at the time the request + // is sent; used to disambiguate cases where an installation forks + // and is readded multiple times. + LatestCommitSequenceId uint64 `protobuf:"varint,2,opt,name=latest_commit_sequence_id,json=latestCommitSequenceId,proto3" json:"latest_commit_sequence_id,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ReaddRequest) Reset() { + *x = ReaddRequest{} + mi := &file_mls_message_contents_oneshot_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ReaddRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ReaddRequest) ProtoMessage() {} + +func (x *ReaddRequest) ProtoReflect() protoreflect.Message { + mi := &file_mls_message_contents_oneshot_proto_msgTypes[1] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ReaddRequest.ProtoReflect.Descriptor instead. +func (*ReaddRequest) Descriptor() ([]byte, []int) { + return file_mls_message_contents_oneshot_proto_rawDescGZIP(), []int{1} +} + +func (x *ReaddRequest) GetGroupId() []byte { + if x != nil { + return x.GroupId + } + return nil +} + +func (x *ReaddRequest) GetLatestCommitSequenceId() uint64 { + if x != nil { + return x.LatestCommitSequenceId + } + return 0 +} + +var File_mls_message_contents_oneshot_proto protoreflect.FileDescriptor + +const file_mls_message_contents_oneshot_proto_rawDesc = "" + + "\n" + + "\"mls/message_contents/oneshot.proto\x12\x19xmtp.mls.message_contents\"p\n" + + "\x0eOneshotMessage\x12N\n" + + "\rreadd_request\x18\x01 \x01(\v2'.xmtp.mls.message_contents.ReaddRequestH\x00R\freaddRequestB\x0e\n" + + "\fmessage_type\"d\n" + + "\fReaddRequest\x12\x19\n" + + "\bgroup_id\x18\x01 \x01(\fR\agroupId\x129\n" + + "\x19latest_commit_sequence_id\x18\x02 \x01(\x04R\x16latestCommitSequenceIdB\x98\x02\n" + + "7org.xmtp.android.library.push.xmtp.mls.message_contentsB\fOneshotProtoP\x01ZMgithub.com/xmtp/example-notification-server-go/pkg/proto/mls/message_contents\xa2\x02\x03XMM\xaa\x02\x18Xmtp.Mls.MessageContents\xca\x02\x18Xmtp\\Mls\\MessageContents\xe2\x02$Xmtp\\Mls\\MessageContents\\GPBMetadata\xea\x02\x1aXmtp::Mls::MessageContentsb\x06proto3" + +var ( + file_mls_message_contents_oneshot_proto_rawDescOnce sync.Once + file_mls_message_contents_oneshot_proto_rawDescData []byte +) + +func file_mls_message_contents_oneshot_proto_rawDescGZIP() []byte { + file_mls_message_contents_oneshot_proto_rawDescOnce.Do(func() { + file_mls_message_contents_oneshot_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_mls_message_contents_oneshot_proto_rawDesc), len(file_mls_message_contents_oneshot_proto_rawDesc))) + }) + return file_mls_message_contents_oneshot_proto_rawDescData +} + +var file_mls_message_contents_oneshot_proto_msgTypes = make([]protoimpl.MessageInfo, 2) +var file_mls_message_contents_oneshot_proto_goTypes = []any{ + (*OneshotMessage)(nil), // 0: xmtp.mls.message_contents.OneshotMessage + (*ReaddRequest)(nil), // 1: xmtp.mls.message_contents.ReaddRequest +} +var file_mls_message_contents_oneshot_proto_depIdxs = []int32{ + 1, // 0: xmtp.mls.message_contents.OneshotMessage.readd_request:type_name -> xmtp.mls.message_contents.ReaddRequest + 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_mls_message_contents_oneshot_proto_init() } +func file_mls_message_contents_oneshot_proto_init() { + if File_mls_message_contents_oneshot_proto != nil { + return + } + file_mls_message_contents_oneshot_proto_msgTypes[0].OneofWrappers = []any{ + (*OneshotMessage_ReaddRequest)(nil), + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: unsafe.Slice(unsafe.StringData(file_mls_message_contents_oneshot_proto_rawDesc), len(file_mls_message_contents_oneshot_proto_rawDesc)), + NumEnums: 0, + NumMessages: 2, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_mls_message_contents_oneshot_proto_goTypes, + DependencyIndexes: file_mls_message_contents_oneshot_proto_depIdxs, + MessageInfos: file_mls_message_contents_oneshot_proto_msgTypes, + }.Build() + File_mls_message_contents_oneshot_proto = out.File + file_mls_message_contents_oneshot_proto_goTypes = nil + file_mls_message_contents_oneshot_proto_depIdxs = nil +} diff --git a/pkg/proto/mls/message_contents/transcript_messages.pb.go b/pkg/proto/mls/message_contents/transcript_messages.pb.go index 56b3156..df6837a 100644 --- a/pkg/proto/mls/message_contents/transcript_messages.pb.go +++ b/pkg/proto/mls/message_contents/transcript_messages.pb.go @@ -2,7 +2,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.36.5 +// protoc-gen-go v1.36.10 // protoc (unknown) // source: mls/message_contents/transcript_messages.proto @@ -168,8 +168,10 @@ type GroupUpdated struct { RemovedInboxes []*GroupUpdated_Inbox `protobuf:"bytes,3,rep,name=removed_inboxes,json=removedInboxes,proto3" json:"removed_inboxes,omitempty"` // The metadata changes in the commit MetadataFieldChanges []*GroupUpdated_MetadataFieldChange `protobuf:"bytes,4,rep,name=metadata_field_changes,json=metadataFieldChanges,proto3" json:"metadata_field_changes,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache + // / The inboxes that were removed from the group in response to pending-remove/self-remove requests + LeftInboxes []*GroupUpdated_Inbox `protobuf:"bytes,5,rep,name=left_inboxes,json=leftInboxes,proto3" json:"left_inboxes,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *GroupUpdated) Reset() { @@ -230,6 +232,13 @@ func (x *GroupUpdated) GetMetadataFieldChanges() []*GroupUpdated_MetadataFieldCh return nil } +func (x *GroupUpdated) GetLeftInboxes() []*GroupUpdated_Inbox { + if x != nil { + return x.LeftInboxes + } + return nil +} + // An inbox that was added or removed in this commit type GroupUpdated_Inbox struct { state protoimpl.MessageState `protogen:"open.v1"` @@ -341,101 +350,36 @@ func (x *GroupUpdated_MetadataFieldChange) GetNewValue() string { var File_mls_message_contents_transcript_messages_proto protoreflect.FileDescriptor -var file_mls_message_contents_transcript_messages_proto_rawDesc = string([]byte{ - 0x0a, 0x2e, 0x6d, 0x6c, 0x73, 0x2f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6f, - 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x2f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x63, 0x72, 0x69, 0x70, - 0x74, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x12, 0x19, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x6d, 0x6c, 0x73, 0x2e, 0x6d, 0x65, 0x73, 0x73, 0x61, - 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x22, 0xa7, 0x01, 0x0a, 0x10, - 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x68, 0x69, 0x70, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, - 0x12, 0x29, 0x0a, 0x10, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x5f, 0x69, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0c, 0x52, 0x0f, 0x69, 0x6e, 0x73, 0x74, - 0x61, 0x6c, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x73, 0x12, 0x27, 0x0a, 0x0f, 0x61, - 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x64, 0x64, - 0x72, 0x65, 0x73, 0x73, 0x12, 0x3f, 0x0a, 0x1c, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x74, 0x65, - 0x64, 0x5f, 0x62, 0x79, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x61, 0x64, 0x64, - 0x72, 0x65, 0x73, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x19, 0x69, 0x6e, 0x69, 0x74, - 0x69, 0x61, 0x74, 0x65, 0x64, 0x42, 0x79, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x64, - 0x64, 0x72, 0x65, 0x73, 0x73, 0x22, 0x80, 0x03, 0x0a, 0x16, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, - 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x68, 0x69, 0x70, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x73, - 0x12, 0x50, 0x0a, 0x0d, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x5f, 0x61, 0x64, 0x64, 0x65, - 0x64, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x6d, - 0x6c, 0x73, 0x2e, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, - 0x6e, 0x74, 0x73, 0x2e, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x68, 0x69, 0x70, 0x43, 0x68, - 0x61, 0x6e, 0x67, 0x65, 0x52, 0x0c, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x41, 0x64, 0x64, - 0x65, 0x64, 0x12, 0x54, 0x0a, 0x0f, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x5f, 0x72, 0x65, - 0x6d, 0x6f, 0x76, 0x65, 0x64, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x78, 0x6d, - 0x74, 0x70, 0x2e, 0x6d, 0x6c, 0x73, 0x2e, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x63, - 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x2e, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x68, - 0x69, 0x70, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x52, 0x0e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, - 0x73, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x64, 0x12, 0x5c, 0x0a, 0x13, 0x69, 0x6e, 0x73, 0x74, - 0x61, 0x6c, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x5f, 0x61, 0x64, 0x64, 0x65, 0x64, 0x18, - 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x6d, 0x6c, 0x73, - 0x2e, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, - 0x73, 0x2e, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x68, 0x69, 0x70, 0x43, 0x68, 0x61, 0x6e, - 0x67, 0x65, 0x52, 0x12, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x73, 0x41, 0x64, 0x64, 0x65, 0x64, 0x12, 0x60, 0x0a, 0x15, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6c, - 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x5f, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x64, 0x18, - 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x6d, 0x6c, 0x73, - 0x2e, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, - 0x73, 0x2e, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x68, 0x69, 0x70, 0x43, 0x68, 0x61, 0x6e, - 0x67, 0x65, 0x52, 0x14, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x73, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x64, 0x22, 0x9b, 0x04, 0x0a, 0x0c, 0x47, 0x72, 0x6f, - 0x75, 0x70, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x12, 0x31, 0x0a, 0x15, 0x69, 0x6e, 0x69, - 0x74, 0x69, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x62, 0x79, 0x5f, 0x69, 0x6e, 0x62, 0x6f, 0x78, 0x5f, - 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x12, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, - 0x74, 0x65, 0x64, 0x42, 0x79, 0x49, 0x6e, 0x62, 0x6f, 0x78, 0x49, 0x64, 0x12, 0x52, 0x0a, 0x0d, - 0x61, 0x64, 0x64, 0x65, 0x64, 0x5f, 0x69, 0x6e, 0x62, 0x6f, 0x78, 0x65, 0x73, 0x18, 0x02, 0x20, - 0x03, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x6d, 0x6c, 0x73, 0x2e, 0x6d, - 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x2e, - 0x47, 0x72, 0x6f, 0x75, 0x70, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x2e, 0x49, 0x6e, 0x62, - 0x6f, 0x78, 0x52, 0x0c, 0x61, 0x64, 0x64, 0x65, 0x64, 0x49, 0x6e, 0x62, 0x6f, 0x78, 0x65, 0x73, - 0x12, 0x56, 0x0a, 0x0f, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x64, 0x5f, 0x69, 0x6e, 0x62, 0x6f, - 0x78, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x78, 0x6d, 0x74, 0x70, - 0x2e, 0x6d, 0x6c, 0x73, 0x2e, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x6e, - 0x74, 0x65, 0x6e, 0x74, 0x73, 0x2e, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x55, 0x70, 0x64, 0x61, 0x74, - 0x65, 0x64, 0x2e, 0x49, 0x6e, 0x62, 0x6f, 0x78, 0x52, 0x0e, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, - 0x64, 0x49, 0x6e, 0x62, 0x6f, 0x78, 0x65, 0x73, 0x12, 0x71, 0x0a, 0x16, 0x6d, 0x65, 0x74, 0x61, - 0x64, 0x61, 0x74, 0x61, 0x5f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x67, - 0x65, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3b, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, - 0x6d, 0x6c, 0x73, 0x2e, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x74, - 0x65, 0x6e, 0x74, 0x73, 0x2e, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, - 0x64, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x43, - 0x68, 0x61, 0x6e, 0x67, 0x65, 0x52, 0x14, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x46, - 0x69, 0x65, 0x6c, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x1a, 0x22, 0x0a, 0x05, 0x49, - 0x6e, 0x62, 0x6f, 0x78, 0x12, 0x19, 0x0a, 0x08, 0x69, 0x6e, 0x62, 0x6f, 0x78, 0x5f, 0x69, 0x64, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x69, 0x6e, 0x62, 0x6f, 0x78, 0x49, 0x64, 0x1a, - 0x94, 0x01, 0x0a, 0x13, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x46, 0x69, 0x65, 0x6c, - 0x64, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x66, 0x69, 0x65, 0x6c, 0x64, - 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x66, 0x69, 0x65, - 0x6c, 0x64, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x09, 0x6f, 0x6c, 0x64, 0x5f, 0x76, 0x61, - 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x08, 0x6f, 0x6c, 0x64, - 0x56, 0x61, 0x6c, 0x75, 0x65, 0x88, 0x01, 0x01, 0x12, 0x20, 0x0a, 0x09, 0x6e, 0x65, 0x77, 0x5f, - 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x08, 0x6e, - 0x65, 0x77, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x88, 0x01, 0x01, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x6f, - 0x6c, 0x64, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x6e, 0x65, 0x77, - 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x42, 0xa3, 0x02, 0x0a, 0x37, 0x6f, 0x72, 0x67, 0x2e, 0x78, - 0x6d, 0x74, 0x70, 0x2e, 0x61, 0x6e, 0x64, 0x72, 0x6f, 0x69, 0x64, 0x2e, 0x6c, 0x69, 0x62, 0x72, - 0x61, 0x72, 0x79, 0x2e, 0x70, 0x75, 0x73, 0x68, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x6d, 0x6c, - 0x73, 0x2e, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, - 0x74, 0x73, 0x42, 0x17, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x4d, 0x65, - 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x4d, 0x67, - 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x78, 0x6d, 0x74, 0x70, 0x2f, 0x65, - 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x2d, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x2d, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2d, 0x67, 0x6f, 0x2f, 0x70, 0x6b, - 0x67, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x6d, 0x6c, 0x73, 0x2f, 0x6d, 0x65, 0x73, 0x73, - 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0xa2, 0x02, 0x03, 0x58, - 0x4d, 0x4d, 0xaa, 0x02, 0x18, 0x58, 0x6d, 0x74, 0x70, 0x2e, 0x4d, 0x6c, 0x73, 0x2e, 0x4d, 0x65, - 0x73, 0x73, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0xca, 0x02, 0x18, - 0x58, 0x6d, 0x74, 0x70, 0x5c, 0x4d, 0x6c, 0x73, 0x5c, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, - 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0xe2, 0x02, 0x24, 0x58, 0x6d, 0x74, 0x70, 0x5c, - 0x4d, 0x6c, 0x73, 0x5c, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, - 0x6e, 0x74, 0x73, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, - 0x02, 0x1a, 0x58, 0x6d, 0x74, 0x70, 0x3a, 0x3a, 0x4d, 0x6c, 0x73, 0x3a, 0x3a, 0x4d, 0x65, 0x73, - 0x73, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x62, 0x06, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x33, -}) +const file_mls_message_contents_transcript_messages_proto_rawDesc = "" + + "\n" + + ".mls/message_contents/transcript_messages.proto\x12\x19xmtp.mls.message_contents\"\xa7\x01\n" + + "\x10MembershipChange\x12)\n" + + "\x10installation_ids\x18\x01 \x03(\fR\x0finstallationIds\x12'\n" + + "\x0faccount_address\x18\x02 \x01(\tR\x0eaccountAddress\x12?\n" + + "\x1cinitiated_by_account_address\x18\x03 \x01(\tR\x19initiatedByAccountAddress\"\x80\x03\n" + + "\x16GroupMembershipChanges\x12P\n" + + "\rmembers_added\x18\x01 \x03(\v2+.xmtp.mls.message_contents.MembershipChangeR\fmembersAdded\x12T\n" + + "\x0fmembers_removed\x18\x02 \x03(\v2+.xmtp.mls.message_contents.MembershipChangeR\x0emembersRemoved\x12\\\n" + + "\x13installations_added\x18\x03 \x03(\v2+.xmtp.mls.message_contents.MembershipChangeR\x12installationsAdded\x12`\n" + + "\x15installations_removed\x18\x04 \x03(\v2+.xmtp.mls.message_contents.MembershipChangeR\x14installationsRemoved\"\xed\x04\n" + + "\fGroupUpdated\x121\n" + + "\x15initiated_by_inbox_id\x18\x01 \x01(\tR\x12initiatedByInboxId\x12R\n" + + "\radded_inboxes\x18\x02 \x03(\v2-.xmtp.mls.message_contents.GroupUpdated.InboxR\faddedInboxes\x12V\n" + + "\x0fremoved_inboxes\x18\x03 \x03(\v2-.xmtp.mls.message_contents.GroupUpdated.InboxR\x0eremovedInboxes\x12q\n" + + "\x16metadata_field_changes\x18\x04 \x03(\v2;.xmtp.mls.message_contents.GroupUpdated.MetadataFieldChangeR\x14metadataFieldChanges\x12P\n" + + "\fleft_inboxes\x18\x05 \x03(\v2-.xmtp.mls.message_contents.GroupUpdated.InboxR\vleftInboxes\x1a\"\n" + + "\x05Inbox\x12\x19\n" + + "\binbox_id\x18\x01 \x01(\tR\ainboxId\x1a\x94\x01\n" + + "\x13MetadataFieldChange\x12\x1d\n" + + "\n" + + "field_name\x18\x01 \x01(\tR\tfieldName\x12 \n" + + "\told_value\x18\x02 \x01(\tH\x00R\boldValue\x88\x01\x01\x12 \n" + + "\tnew_value\x18\x03 \x01(\tH\x01R\bnewValue\x88\x01\x01B\f\n" + + "\n" + + "_old_valueB\f\n" + + "\n" + + "_new_valueB\xa3\x02\n" + + "7org.xmtp.android.library.push.xmtp.mls.message_contentsB\x17TranscriptMessagesProtoP\x01ZMgithub.com/xmtp/example-notification-server-go/pkg/proto/mls/message_contents\xa2\x02\x03XMM\xaa\x02\x18Xmtp.Mls.MessageContents\xca\x02\x18Xmtp\\Mls\\MessageContents\xe2\x02$Xmtp\\Mls\\MessageContents\\GPBMetadata\xea\x02\x1aXmtp::Mls::MessageContentsb\x06proto3" var ( file_mls_message_contents_transcript_messages_proto_rawDescOnce sync.Once @@ -465,11 +409,12 @@ var file_mls_message_contents_transcript_messages_proto_depIdxs = []int32{ 3, // 4: xmtp.mls.message_contents.GroupUpdated.added_inboxes:type_name -> xmtp.mls.message_contents.GroupUpdated.Inbox 3, // 5: xmtp.mls.message_contents.GroupUpdated.removed_inboxes:type_name -> xmtp.mls.message_contents.GroupUpdated.Inbox 4, // 6: xmtp.mls.message_contents.GroupUpdated.metadata_field_changes:type_name -> xmtp.mls.message_contents.GroupUpdated.MetadataFieldChange - 7, // [7:7] is the sub-list for method output_type - 7, // [7:7] is the sub-list for method input_type - 7, // [7:7] is the sub-list for extension type_name - 7, // [7:7] is the sub-list for extension extendee - 0, // [0:7] is the sub-list for field type_name + 3, // 7: xmtp.mls.message_contents.GroupUpdated.left_inboxes:type_name -> xmtp.mls.message_contents.GroupUpdated.Inbox + 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 } func init() { file_mls_message_contents_transcript_messages_proto_init() } diff --git a/pkg/proto/mls/message_contents/welcome_pointer.pb.go b/pkg/proto/mls/message_contents/welcome_pointer.pb.go new file mode 100644 index 0000000..204b8ba --- /dev/null +++ b/pkg/proto/mls/message_contents/welcome_pointer.pb.go @@ -0,0 +1,397 @@ +// WelcomePointer is used to point to the welcome message for several installations at once to save overhead + +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.36.10 +// protoc (unknown) +// source: mls/message_contents/welcome_pointer.proto + +package message_contents + +import ( + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + reflect "reflect" + sync "sync" + unsafe "unsafe" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +type WelcomePointeeEncryptionAeadType int32 + +const ( + WelcomePointeeEncryptionAeadType_WELCOME_POINTEE_ENCRYPTION_AEAD_TYPE_UNSPECIFIED WelcomePointeeEncryptionAeadType = 0 + // Use same encoding as openmls::AeadType + WelcomePointeeEncryptionAeadType_WELCOME_POINTEE_ENCRYPTION_AEAD_TYPE_CHACHA20_POLY1305 WelcomePointeeEncryptionAeadType = 3 +) + +// Enum value maps for WelcomePointeeEncryptionAeadType. +var ( + WelcomePointeeEncryptionAeadType_name = map[int32]string{ + 0: "WELCOME_POINTEE_ENCRYPTION_AEAD_TYPE_UNSPECIFIED", + 3: "WELCOME_POINTEE_ENCRYPTION_AEAD_TYPE_CHACHA20_POLY1305", + } + WelcomePointeeEncryptionAeadType_value = map[string]int32{ + "WELCOME_POINTEE_ENCRYPTION_AEAD_TYPE_UNSPECIFIED": 0, + "WELCOME_POINTEE_ENCRYPTION_AEAD_TYPE_CHACHA20_POLY1305": 3, + } +) + +func (x WelcomePointeeEncryptionAeadType) Enum() *WelcomePointeeEncryptionAeadType { + p := new(WelcomePointeeEncryptionAeadType) + *p = x + return p +} + +func (x WelcomePointeeEncryptionAeadType) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (WelcomePointeeEncryptionAeadType) Descriptor() protoreflect.EnumDescriptor { + return file_mls_message_contents_welcome_pointer_proto_enumTypes[0].Descriptor() +} + +func (WelcomePointeeEncryptionAeadType) Type() protoreflect.EnumType { + return &file_mls_message_contents_welcome_pointer_proto_enumTypes[0] +} + +func (x WelcomePointeeEncryptionAeadType) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use WelcomePointeeEncryptionAeadType.Descriptor instead. +func (WelcomePointeeEncryptionAeadType) EnumDescriptor() ([]byte, []int) { + return file_mls_message_contents_welcome_pointer_proto_rawDescGZIP(), []int{0} +} + +// MUST match the WelcomeWrapperAlgorithm enum values without 25519 so that the i32 transformations are compatible +type WelcomePointerWrapperAlgorithm int32 + +const ( + WelcomePointerWrapperAlgorithm_WELCOME_POINTER_WRAPPER_ALGORITHM_UNSPECIFIED WelcomePointerWrapperAlgorithm = 0 + WelcomePointerWrapperAlgorithm_WELCOME_POINTER_WRAPPER_ALGORITHM_XWING_MLKEM_768_DRAFT_6 WelcomePointerWrapperAlgorithm = 2 +) + +// Enum value maps for WelcomePointerWrapperAlgorithm. +var ( + WelcomePointerWrapperAlgorithm_name = map[int32]string{ + 0: "WELCOME_POINTER_WRAPPER_ALGORITHM_UNSPECIFIED", + 2: "WELCOME_POINTER_WRAPPER_ALGORITHM_XWING_MLKEM_768_DRAFT_6", + } + WelcomePointerWrapperAlgorithm_value = map[string]int32{ + "WELCOME_POINTER_WRAPPER_ALGORITHM_UNSPECIFIED": 0, + "WELCOME_POINTER_WRAPPER_ALGORITHM_XWING_MLKEM_768_DRAFT_6": 2, + } +) + +func (x WelcomePointerWrapperAlgorithm) Enum() *WelcomePointerWrapperAlgorithm { + p := new(WelcomePointerWrapperAlgorithm) + *p = x + return p +} + +func (x WelcomePointerWrapperAlgorithm) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (WelcomePointerWrapperAlgorithm) Descriptor() protoreflect.EnumDescriptor { + return file_mls_message_contents_welcome_pointer_proto_enumTypes[1].Descriptor() +} + +func (WelcomePointerWrapperAlgorithm) Type() protoreflect.EnumType { + return &file_mls_message_contents_welcome_pointer_proto_enumTypes[1] +} + +func (x WelcomePointerWrapperAlgorithm) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use WelcomePointerWrapperAlgorithm.Descriptor instead. +func (WelcomePointerWrapperAlgorithm) EnumDescriptor() ([]byte, []int) { + return file_mls_message_contents_welcome_pointer_proto_rawDescGZIP(), []int{1} +} + +// A WelcomePointer is used to point to the welcome message for several installations at once to save overhead +type WelcomePointer struct { + state protoimpl.MessageState `protogen:"open.v1"` + // Types that are valid to be assigned to Version: + // + // *WelcomePointer_WelcomeV1Pointer_ + Version isWelcomePointer_Version `protobuf_oneof:"version"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *WelcomePointer) Reset() { + *x = WelcomePointer{} + mi := &file_mls_message_contents_welcome_pointer_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *WelcomePointer) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*WelcomePointer) ProtoMessage() {} + +func (x *WelcomePointer) ProtoReflect() protoreflect.Message { + mi := &file_mls_message_contents_welcome_pointer_proto_msgTypes[0] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use WelcomePointer.ProtoReflect.Descriptor instead. +func (*WelcomePointer) Descriptor() ([]byte, []int) { + return file_mls_message_contents_welcome_pointer_proto_rawDescGZIP(), []int{0} +} + +func (x *WelcomePointer) GetVersion() isWelcomePointer_Version { + if x != nil { + return x.Version + } + return nil +} + +func (x *WelcomePointer) GetWelcomeV1Pointer() *WelcomePointer_WelcomeV1Pointer { + if x != nil { + if x, ok := x.Version.(*WelcomePointer_WelcomeV1Pointer_); ok { + return x.WelcomeV1Pointer + } + } + return nil +} + +type isWelcomePointer_Version interface { + isWelcomePointer_Version() +} + +type WelcomePointer_WelcomeV1Pointer_ struct { + WelcomeV1Pointer *WelcomePointer_WelcomeV1Pointer `protobuf:"bytes,1,opt,name=welcome_v1_pointer,json=welcomeV1Pointer,proto3,oneof"` +} + +func (*WelcomePointer_WelcomeV1Pointer_) isWelcomePointer_Version() {} + +// Extension message that indicates the types of encryption supported by a client +type WelcomePointeeEncryptionAeadTypesExtension struct { + state protoimpl.MessageState `protogen:"open.v1"` + SupportedAeadTypes []WelcomePointeeEncryptionAeadType `protobuf:"varint,1,rep,packed,name=supported_aead_types,json=supportedAeadTypes,proto3,enum=xmtp.mls.message_contents.WelcomePointeeEncryptionAeadType" json:"supported_aead_types,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *WelcomePointeeEncryptionAeadTypesExtension) Reset() { + *x = WelcomePointeeEncryptionAeadTypesExtension{} + mi := &file_mls_message_contents_welcome_pointer_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *WelcomePointeeEncryptionAeadTypesExtension) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*WelcomePointeeEncryptionAeadTypesExtension) ProtoMessage() {} + +func (x *WelcomePointeeEncryptionAeadTypesExtension) ProtoReflect() protoreflect.Message { + mi := &file_mls_message_contents_welcome_pointer_proto_msgTypes[1] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use WelcomePointeeEncryptionAeadTypesExtension.ProtoReflect.Descriptor instead. +func (*WelcomePointeeEncryptionAeadTypesExtension) Descriptor() ([]byte, []int) { + return file_mls_message_contents_welcome_pointer_proto_rawDescGZIP(), []int{1} +} + +func (x *WelcomePointeeEncryptionAeadTypesExtension) GetSupportedAeadTypes() []WelcomePointeeEncryptionAeadType { + if x != nil { + return x.SupportedAeadTypes + } + return nil +} + +// Points to a V1 WelcomeMessage +type WelcomePointer_WelcomeV1Pointer struct { + state protoimpl.MessageState `protogen:"open.v1"` + // The topic of the welcome message. For V1, this means that it will be the first message in the topic, so no other identifier is required + Destination []byte `protobuf:"bytes,1,opt,name=destination,proto3" json:"destination,omitempty"` + // The algorithm used to encrypt the welcome pointer + AeadType WelcomePointeeEncryptionAeadType `protobuf:"varint,2,opt,name=aead_type,json=aeadType,proto3,enum=xmtp.mls.message_contents.WelcomePointeeEncryptionAeadType" json:"aead_type,omitempty"` + // The encryption key of the welcome message. Must match key size specified by the aead_type. + EncryptionKey []byte `protobuf:"bytes,3,opt,name=encryption_key,json=encryptionKey,proto3" json:"encryption_key,omitempty"` + // Nonce used to encrypt the data field. Must match nonce size specified by the aead_type. + DataNonce []byte `protobuf:"bytes,4,opt,name=data_nonce,json=dataNonce,proto3" json:"data_nonce,omitempty"` + // Nonce used to encrypt the welcome_metadata field. Must match nonce size specified by the aead_type. + WelcomeMetadataNonce []byte `protobuf:"bytes,5,opt,name=welcome_metadata_nonce,json=welcomeMetadataNonce,proto3" json:"welcome_metadata_nonce,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *WelcomePointer_WelcomeV1Pointer) Reset() { + *x = WelcomePointer_WelcomeV1Pointer{} + mi := &file_mls_message_contents_welcome_pointer_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *WelcomePointer_WelcomeV1Pointer) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*WelcomePointer_WelcomeV1Pointer) ProtoMessage() {} + +func (x *WelcomePointer_WelcomeV1Pointer) ProtoReflect() protoreflect.Message { + mi := &file_mls_message_contents_welcome_pointer_proto_msgTypes[2] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use WelcomePointer_WelcomeV1Pointer.ProtoReflect.Descriptor instead. +func (*WelcomePointer_WelcomeV1Pointer) Descriptor() ([]byte, []int) { + return file_mls_message_contents_welcome_pointer_proto_rawDescGZIP(), []int{0, 0} +} + +func (x *WelcomePointer_WelcomeV1Pointer) GetDestination() []byte { + if x != nil { + return x.Destination + } + return nil +} + +func (x *WelcomePointer_WelcomeV1Pointer) GetAeadType() WelcomePointeeEncryptionAeadType { + if x != nil { + return x.AeadType + } + return WelcomePointeeEncryptionAeadType_WELCOME_POINTEE_ENCRYPTION_AEAD_TYPE_UNSPECIFIED +} + +func (x *WelcomePointer_WelcomeV1Pointer) GetEncryptionKey() []byte { + if x != nil { + return x.EncryptionKey + } + return nil +} + +func (x *WelcomePointer_WelcomeV1Pointer) GetDataNonce() []byte { + if x != nil { + return x.DataNonce + } + return nil +} + +func (x *WelcomePointer_WelcomeV1Pointer) GetWelcomeMetadataNonce() []byte { + if x != nil { + return x.WelcomeMetadataNonce + } + return nil +} + +var File_mls_message_contents_welcome_pointer_proto protoreflect.FileDescriptor + +const file_mls_message_contents_welcome_pointer_proto_rawDesc = "" + + "\n" + + "*mls/message_contents/welcome_pointer.proto\x12\x19xmtp.mls.message_contents\"\x94\x03\n" + + "\x0eWelcomePointer\x12j\n" + + "\x12welcome_v1_pointer\x18\x01 \x01(\v2:.xmtp.mls.message_contents.WelcomePointer.WelcomeV1PointerH\x00R\x10welcomeV1Pointer\x1a\x8a\x02\n" + + "\x10WelcomeV1Pointer\x12 \n" + + "\vdestination\x18\x01 \x01(\fR\vdestination\x12X\n" + + "\taead_type\x18\x02 \x01(\x0e2;.xmtp.mls.message_contents.WelcomePointeeEncryptionAeadTypeR\baeadType\x12%\n" + + "\x0eencryption_key\x18\x03 \x01(\fR\rencryptionKey\x12\x1d\n" + + "\n" + + "data_nonce\x18\x04 \x01(\fR\tdataNonce\x124\n" + + "\x16welcome_metadata_nonce\x18\x05 \x01(\fR\x14welcomeMetadataNonceB\t\n" + + "\aversion\"\x9b\x01\n" + + "*WelcomePointeeEncryptionAeadTypesExtension\x12m\n" + + "\x14supported_aead_types\x18\x01 \x03(\x0e2;.xmtp.mls.message_contents.WelcomePointeeEncryptionAeadTypeR\x12supportedAeadTypes*\x94\x01\n" + + " WelcomePointeeEncryptionAeadType\x124\n" + + "0WELCOME_POINTEE_ENCRYPTION_AEAD_TYPE_UNSPECIFIED\x10\x00\x12:\n" + + "6WELCOME_POINTEE_ENCRYPTION_AEAD_TYPE_CHACHA20_POLY1305\x10\x03*\x92\x01\n" + + "\x1eWelcomePointerWrapperAlgorithm\x121\n" + + "-WELCOME_POINTER_WRAPPER_ALGORITHM_UNSPECIFIED\x10\x00\x12=\n" + + "9WELCOME_POINTER_WRAPPER_ALGORITHM_XWING_MLKEM_768_DRAFT_6\x10\x02B\x9f\x02\n" + + "7org.xmtp.android.library.push.xmtp.mls.message_contentsB\x13WelcomePointerProtoP\x01ZMgithub.com/xmtp/example-notification-server-go/pkg/proto/mls/message_contents\xa2\x02\x03XMM\xaa\x02\x18Xmtp.Mls.MessageContents\xca\x02\x18Xmtp\\Mls\\MessageContents\xe2\x02$Xmtp\\Mls\\MessageContents\\GPBMetadata\xea\x02\x1aXmtp::Mls::MessageContentsb\x06proto3" + +var ( + file_mls_message_contents_welcome_pointer_proto_rawDescOnce sync.Once + file_mls_message_contents_welcome_pointer_proto_rawDescData []byte +) + +func file_mls_message_contents_welcome_pointer_proto_rawDescGZIP() []byte { + file_mls_message_contents_welcome_pointer_proto_rawDescOnce.Do(func() { + file_mls_message_contents_welcome_pointer_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_mls_message_contents_welcome_pointer_proto_rawDesc), len(file_mls_message_contents_welcome_pointer_proto_rawDesc))) + }) + return file_mls_message_contents_welcome_pointer_proto_rawDescData +} + +var file_mls_message_contents_welcome_pointer_proto_enumTypes = make([]protoimpl.EnumInfo, 2) +var file_mls_message_contents_welcome_pointer_proto_msgTypes = make([]protoimpl.MessageInfo, 3) +var file_mls_message_contents_welcome_pointer_proto_goTypes = []any{ + (WelcomePointeeEncryptionAeadType)(0), // 0: xmtp.mls.message_contents.WelcomePointeeEncryptionAeadType + (WelcomePointerWrapperAlgorithm)(0), // 1: xmtp.mls.message_contents.WelcomePointerWrapperAlgorithm + (*WelcomePointer)(nil), // 2: xmtp.mls.message_contents.WelcomePointer + (*WelcomePointeeEncryptionAeadTypesExtension)(nil), // 3: xmtp.mls.message_contents.WelcomePointeeEncryptionAeadTypesExtension + (*WelcomePointer_WelcomeV1Pointer)(nil), // 4: xmtp.mls.message_contents.WelcomePointer.WelcomeV1Pointer +} +var file_mls_message_contents_welcome_pointer_proto_depIdxs = []int32{ + 4, // 0: xmtp.mls.message_contents.WelcomePointer.welcome_v1_pointer:type_name -> xmtp.mls.message_contents.WelcomePointer.WelcomeV1Pointer + 0, // 1: xmtp.mls.message_contents.WelcomePointeeEncryptionAeadTypesExtension.supported_aead_types:type_name -> xmtp.mls.message_contents.WelcomePointeeEncryptionAeadType + 0, // 2: xmtp.mls.message_contents.WelcomePointer.WelcomeV1Pointer.aead_type:type_name -> xmtp.mls.message_contents.WelcomePointeeEncryptionAeadType + 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_mls_message_contents_welcome_pointer_proto_init() } +func file_mls_message_contents_welcome_pointer_proto_init() { + if File_mls_message_contents_welcome_pointer_proto != nil { + return + } + file_mls_message_contents_welcome_pointer_proto_msgTypes[0].OneofWrappers = []any{ + (*WelcomePointer_WelcomeV1Pointer_)(nil), + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: unsafe.Slice(unsafe.StringData(file_mls_message_contents_welcome_pointer_proto_rawDesc), len(file_mls_message_contents_welcome_pointer_proto_rawDesc)), + NumEnums: 2, + NumMessages: 3, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_mls_message_contents_welcome_pointer_proto_goTypes, + DependencyIndexes: file_mls_message_contents_welcome_pointer_proto_depIdxs, + EnumInfos: file_mls_message_contents_welcome_pointer_proto_enumTypes, + MessageInfos: file_mls_message_contents_welcome_pointer_proto_msgTypes, + }.Build() + File_mls_message_contents_welcome_pointer_proto = out.File + file_mls_message_contents_welcome_pointer_proto_goTypes = nil + file_mls_message_contents_welcome_pointer_proto_depIdxs = nil +} diff --git a/pkg/proto/mls/message_contents/wrapper_encryption.pb.go b/pkg/proto/mls/message_contents/wrapper_encryption.pb.go new file mode 100644 index 0000000..3a8943d --- /dev/null +++ b/pkg/proto/mls/message_contents/wrapper_encryption.pb.go @@ -0,0 +1,198 @@ +// Encryption algorithms for the Welcome Wrapper + +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.36.10 +// protoc (unknown) +// source: mls/message_contents/wrapper_encryption.proto + +package message_contents + +import ( + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + reflect "reflect" + sync "sync" + unsafe "unsafe" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// Describes the algorithm used to encrypt the Welcome Wrapper +type WelcomeWrapperAlgorithm int32 + +const ( + WelcomeWrapperAlgorithm_WELCOME_WRAPPER_ALGORITHM_UNSPECIFIED WelcomeWrapperAlgorithm = 0 + WelcomeWrapperAlgorithm_WELCOME_WRAPPER_ALGORITHM_CURVE25519 WelcomeWrapperAlgorithm = 1 + WelcomeWrapperAlgorithm_WELCOME_WRAPPER_ALGORITHM_XWING_MLKEM_768_DRAFT_6 WelcomeWrapperAlgorithm = 2 + // Only used for WelcomePointee's + WelcomeWrapperAlgorithm_WELCOME_WRAPPER_ALGORITHM_SYMMETRIC_KEY WelcomeWrapperAlgorithm = 3 +) + +// Enum value maps for WelcomeWrapperAlgorithm. +var ( + WelcomeWrapperAlgorithm_name = map[int32]string{ + 0: "WELCOME_WRAPPER_ALGORITHM_UNSPECIFIED", + 1: "WELCOME_WRAPPER_ALGORITHM_CURVE25519", + 2: "WELCOME_WRAPPER_ALGORITHM_XWING_MLKEM_768_DRAFT_6", + 3: "WELCOME_WRAPPER_ALGORITHM_SYMMETRIC_KEY", + } + WelcomeWrapperAlgorithm_value = map[string]int32{ + "WELCOME_WRAPPER_ALGORITHM_UNSPECIFIED": 0, + "WELCOME_WRAPPER_ALGORITHM_CURVE25519": 1, + "WELCOME_WRAPPER_ALGORITHM_XWING_MLKEM_768_DRAFT_6": 2, + "WELCOME_WRAPPER_ALGORITHM_SYMMETRIC_KEY": 3, + } +) + +func (x WelcomeWrapperAlgorithm) Enum() *WelcomeWrapperAlgorithm { + p := new(WelcomeWrapperAlgorithm) + *p = x + return p +} + +func (x WelcomeWrapperAlgorithm) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (WelcomeWrapperAlgorithm) Descriptor() protoreflect.EnumDescriptor { + return file_mls_message_contents_wrapper_encryption_proto_enumTypes[0].Descriptor() +} + +func (WelcomeWrapperAlgorithm) Type() protoreflect.EnumType { + return &file_mls_message_contents_wrapper_encryption_proto_enumTypes[0] +} + +func (x WelcomeWrapperAlgorithm) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use WelcomeWrapperAlgorithm.Descriptor instead. +func (WelcomeWrapperAlgorithm) EnumDescriptor() ([]byte, []int) { + return file_mls_message_contents_wrapper_encryption_proto_rawDescGZIP(), []int{0} +} + +// The KeyPackageExtension that stores the PubKey and the WelcomeWrapperEncryption +type WelcomeWrapperEncryption struct { + state protoimpl.MessageState `protogen:"open.v1"` + PubKey []byte `protobuf:"bytes,1,opt,name=pub_key,json=pubKey,proto3" json:"pub_key,omitempty"` + Algorithm WelcomeWrapperAlgorithm `protobuf:"varint,2,opt,name=algorithm,proto3,enum=xmtp.mls.message_contents.WelcomeWrapperAlgorithm" json:"algorithm,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *WelcomeWrapperEncryption) Reset() { + *x = WelcomeWrapperEncryption{} + mi := &file_mls_message_contents_wrapper_encryption_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *WelcomeWrapperEncryption) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*WelcomeWrapperEncryption) ProtoMessage() {} + +func (x *WelcomeWrapperEncryption) ProtoReflect() protoreflect.Message { + mi := &file_mls_message_contents_wrapper_encryption_proto_msgTypes[0] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use WelcomeWrapperEncryption.ProtoReflect.Descriptor instead. +func (*WelcomeWrapperEncryption) Descriptor() ([]byte, []int) { + return file_mls_message_contents_wrapper_encryption_proto_rawDescGZIP(), []int{0} +} + +func (x *WelcomeWrapperEncryption) GetPubKey() []byte { + if x != nil { + return x.PubKey + } + return nil +} + +func (x *WelcomeWrapperEncryption) GetAlgorithm() WelcomeWrapperAlgorithm { + if x != nil { + return x.Algorithm + } + return WelcomeWrapperAlgorithm_WELCOME_WRAPPER_ALGORITHM_UNSPECIFIED +} + +var File_mls_message_contents_wrapper_encryption_proto protoreflect.FileDescriptor + +const file_mls_message_contents_wrapper_encryption_proto_rawDesc = "" + + "\n" + + "-mls/message_contents/wrapper_encryption.proto\x12\x19xmtp.mls.message_contents\"\x85\x01\n" + + "\x18WelcomeWrapperEncryption\x12\x17\n" + + "\apub_key\x18\x01 \x01(\fR\x06pubKey\x12P\n" + + "\talgorithm\x18\x02 \x01(\x0e22.xmtp.mls.message_contents.WelcomeWrapperAlgorithmR\talgorithm*\xd2\x01\n" + + "\x17WelcomeWrapperAlgorithm\x12)\n" + + "%WELCOME_WRAPPER_ALGORITHM_UNSPECIFIED\x10\x00\x12(\n" + + "$WELCOME_WRAPPER_ALGORITHM_CURVE25519\x10\x01\x125\n" + + "1WELCOME_WRAPPER_ALGORITHM_XWING_MLKEM_768_DRAFT_6\x10\x02\x12+\n" + + "'WELCOME_WRAPPER_ALGORITHM_SYMMETRIC_KEY\x10\x03B\xa2\x02\n" + + "7org.xmtp.android.library.push.xmtp.mls.message_contentsB\x16WrapperEncryptionProtoP\x01ZMgithub.com/xmtp/example-notification-server-go/pkg/proto/mls/message_contents\xa2\x02\x03XMM\xaa\x02\x18Xmtp.Mls.MessageContents\xca\x02\x18Xmtp\\Mls\\MessageContents\xe2\x02$Xmtp\\Mls\\MessageContents\\GPBMetadata\xea\x02\x1aXmtp::Mls::MessageContentsb\x06proto3" + +var ( + file_mls_message_contents_wrapper_encryption_proto_rawDescOnce sync.Once + file_mls_message_contents_wrapper_encryption_proto_rawDescData []byte +) + +func file_mls_message_contents_wrapper_encryption_proto_rawDescGZIP() []byte { + file_mls_message_contents_wrapper_encryption_proto_rawDescOnce.Do(func() { + file_mls_message_contents_wrapper_encryption_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_mls_message_contents_wrapper_encryption_proto_rawDesc), len(file_mls_message_contents_wrapper_encryption_proto_rawDesc))) + }) + return file_mls_message_contents_wrapper_encryption_proto_rawDescData +} + +var file_mls_message_contents_wrapper_encryption_proto_enumTypes = make([]protoimpl.EnumInfo, 1) +var file_mls_message_contents_wrapper_encryption_proto_msgTypes = make([]protoimpl.MessageInfo, 1) +var file_mls_message_contents_wrapper_encryption_proto_goTypes = []any{ + (WelcomeWrapperAlgorithm)(0), // 0: xmtp.mls.message_contents.WelcomeWrapperAlgorithm + (*WelcomeWrapperEncryption)(nil), // 1: xmtp.mls.message_contents.WelcomeWrapperEncryption +} +var file_mls_message_contents_wrapper_encryption_proto_depIdxs = []int32{ + 0, // 0: xmtp.mls.message_contents.WelcomeWrapperEncryption.algorithm:type_name -> xmtp.mls.message_contents.WelcomeWrapperAlgorithm + 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_mls_message_contents_wrapper_encryption_proto_init() } +func file_mls_message_contents_wrapper_encryption_proto_init() { + if File_mls_message_contents_wrapper_encryption_proto != nil { + return + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: unsafe.Slice(unsafe.StringData(file_mls_message_contents_wrapper_encryption_proto_rawDesc), len(file_mls_message_contents_wrapper_encryption_proto_rawDesc)), + NumEnums: 1, + NumMessages: 1, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_mls_message_contents_wrapper_encryption_proto_goTypes, + DependencyIndexes: file_mls_message_contents_wrapper_encryption_proto_depIdxs, + EnumInfos: file_mls_message_contents_wrapper_encryption_proto_enumTypes, + MessageInfos: file_mls_message_contents_wrapper_encryption_proto_msgTypes, + }.Build() + File_mls_message_contents_wrapper_encryption_proto = out.File + file_mls_message_contents_wrapper_encryption_proto_goTypes = nil + file_mls_message_contents_wrapper_encryption_proto_depIdxs = nil +} diff --git a/pkg/proto/mls_validation/v1/service.pb.go b/pkg/proto/mls_validation/v1/service.pb.go index 552075a..3578eb7 100644 --- a/pkg/proto/mls_validation/v1/service.pb.go +++ b/pkg/proto/mls_validation/v1/service.pb.go @@ -2,7 +2,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.36.5 +// protoc-gen-go v1.36.10 // protoc (unknown) // source: mls_validation/v1/service.proto @@ -350,8 +350,8 @@ func (x *GetAssociationStateRequest) GetNewUpdates() []*associations.IdentityUpd return nil } -// Response to GetAssociationStateRequest, containing the final association state -// for an InboxID +// Response to GetAssociationStateRequest, containing the final association +// state for an InboxID type GetAssociationStateResponse struct { state protoimpl.MessageState `protogen:"open.v1"` AssociationState *associations.AssociationState `protobuf:"bytes,1,opt,name=association_state,json=associationState,proto3" json:"association_state,omitempty"` @@ -723,6 +723,7 @@ type ValidateGroupMessagesResponse_ValidationResponse struct { IsOk bool `protobuf:"varint,1,opt,name=is_ok,json=isOk,proto3" json:"is_ok,omitempty"` ErrorMessage string `protobuf:"bytes,2,opt,name=error_message,json=errorMessage,proto3" json:"error_message,omitempty"` GroupId string `protobuf:"bytes,3,opt,name=group_id,json=groupId,proto3" json:"group_id,omitempty"` + IsCommit bool `protobuf:"varint,4,opt,name=is_commit,json=isCommit,proto3" json:"is_commit,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } @@ -778,212 +779,79 @@ func (x *ValidateGroupMessagesResponse_ValidationResponse) GetGroupId() string { return "" } +func (x *ValidateGroupMessagesResponse_ValidationResponse) GetIsCommit() bool { + if x != nil { + return x.IsCommit + } + return false +} + var File_mls_validation_v1_service_proto protoreflect.FileDescriptor -var file_mls_validation_v1_service_proto_rawDesc = string([]byte{ - 0x0a, 0x1f, 0x6d, 0x6c, 0x73, 0x5f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x2f, 0x76, 0x31, 0x2f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x12, 0x16, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x6d, 0x6c, 0x73, 0x5f, 0x76, 0x61, 0x6c, 0x69, - 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x1a, 0x1e, 0x69, 0x64, 0x65, 0x6e, 0x74, - 0x69, 0x74, 0x79, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x69, 0x64, 0x65, 0x6e, 0x74, - 0x69, 0x74, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x27, 0x69, 0x64, 0x65, 0x6e, 0x74, - 0x69, 0x74, 0x79, 0x2f, 0x61, 0x73, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, - 0x2f, 0x61, 0x73, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x1a, 0x19, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2f, 0x63, 0x72, 0x65, - 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x98, 0x02, - 0x0a, 0x21, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x49, 0x6e, 0x62, 0x6f, 0x78, 0x49, - 0x64, 0x4b, 0x65, 0x79, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x12, 0x67, 0x0a, 0x0c, 0x6b, 0x65, 0x79, 0x5f, 0x70, 0x61, 0x63, 0x6b, 0x61, - 0x67, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x44, 0x2e, 0x78, 0x6d, 0x74, 0x70, - 0x2e, 0x6d, 0x6c, 0x73, 0x5f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, - 0x76, 0x31, 0x2e, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x49, 0x6e, 0x62, 0x6f, 0x78, - 0x49, 0x64, 0x4b, 0x65, 0x79, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x73, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x2e, 0x4b, 0x65, 0x79, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x52, - 0x0b, 0x6b, 0x65, 0x79, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x73, 0x1a, 0x89, 0x01, 0x0a, - 0x0a, 0x4b, 0x65, 0x79, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x12, 0x46, 0x0a, 0x20, 0x6b, - 0x65, 0x79, 0x5f, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, - 0x5f, 0x74, 0x6c, 0x73, 0x5f, 0x73, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x1c, 0x6b, 0x65, 0x79, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, - 0x65, 0x42, 0x79, 0x74, 0x65, 0x73, 0x54, 0x6c, 0x73, 0x53, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x69, - 0x7a, 0x65, 0x64, 0x12, 0x33, 0x0a, 0x16, 0x69, 0x73, 0x5f, 0x69, 0x6e, 0x62, 0x6f, 0x78, 0x5f, - 0x69, 0x64, 0x5f, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x08, 0x52, 0x13, 0x69, 0x73, 0x49, 0x6e, 0x62, 0x6f, 0x78, 0x49, 0x64, 0x43, 0x72, - 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x22, 0xe4, 0x02, 0x0a, 0x22, 0x56, 0x61, 0x6c, - 0x69, 0x64, 0x61, 0x74, 0x65, 0x49, 0x6e, 0x62, 0x6f, 0x78, 0x49, 0x64, 0x4b, 0x65, 0x79, 0x50, - 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, - 0x61, 0x0a, 0x09, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, - 0x28, 0x0b, 0x32, 0x43, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x6d, 0x6c, 0x73, 0x5f, 0x76, 0x61, - 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x56, 0x61, 0x6c, 0x69, - 0x64, 0x61, 0x74, 0x65, 0x49, 0x6e, 0x62, 0x6f, 0x78, 0x49, 0x64, 0x4b, 0x65, 0x79, 0x50, 0x61, - 0x63, 0x6b, 0x61, 0x67, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x09, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x73, 0x1a, 0xda, 0x01, 0x0a, 0x08, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, - 0x13, 0x0a, 0x05, 0x69, 0x73, 0x5f, 0x6f, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x04, - 0x69, 0x73, 0x4f, 0x6b, 0x12, 0x23, 0x0a, 0x0d, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x6d, 0x65, - 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x65, 0x72, 0x72, - 0x6f, 0x72, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x3c, 0x0a, 0x0a, 0x63, 0x72, 0x65, - 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, - 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2e, 0x4d, 0x6c, - 0x73, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x52, 0x0a, 0x63, 0x72, 0x65, - 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x12, 0x36, 0x0a, 0x17, 0x69, 0x6e, 0x73, 0x74, 0x61, - 0x6c, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x5f, 0x6b, - 0x65, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x15, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6c, - 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x4b, 0x65, 0x79, 0x12, - 0x1e, 0x0a, 0x0a, 0x65, 0x78, 0x70, 0x69, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, - 0x01, 0x28, 0x04, 0x52, 0x0a, 0x65, 0x78, 0x70, 0x69, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, - 0x8a, 0x02, 0x0a, 0x1a, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x50, - 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x60, - 0x0a, 0x0c, 0x6b, 0x65, 0x79, 0x5f, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x73, 0x18, 0x01, - 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3d, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x6d, 0x6c, 0x73, 0x5f, - 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x56, 0x61, - 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, - 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x4b, 0x65, 0x79, 0x50, 0x61, 0x63, 0x6b, - 0x61, 0x67, 0x65, 0x52, 0x0b, 0x6b, 0x65, 0x79, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x73, - 0x1a, 0x89, 0x01, 0x0a, 0x0a, 0x4b, 0x65, 0x79, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x12, - 0x46, 0x0a, 0x20, 0x6b, 0x65, 0x79, 0x5f, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x5f, 0x62, - 0x79, 0x74, 0x65, 0x73, 0x5f, 0x74, 0x6c, 0x73, 0x5f, 0x73, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x69, - 0x7a, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x1c, 0x6b, 0x65, 0x79, 0x50, 0x61, - 0x63, 0x6b, 0x61, 0x67, 0x65, 0x42, 0x79, 0x74, 0x65, 0x73, 0x54, 0x6c, 0x73, 0x53, 0x65, 0x72, - 0x69, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x12, 0x33, 0x0a, 0x16, 0x69, 0x73, 0x5f, 0x69, 0x6e, - 0x62, 0x6f, 0x78, 0x5f, 0x69, 0x64, 0x5f, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, - 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x13, 0x69, 0x73, 0x49, 0x6e, 0x62, 0x6f, 0x78, - 0x49, 0x64, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x22, 0x82, 0x03, 0x0a, - 0x1b, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x50, 0x61, 0x63, 0x6b, - 0x61, 0x67, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x64, 0x0a, 0x09, - 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, - 0x46, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x6d, 0x6c, 0x73, 0x5f, 0x76, 0x61, 0x6c, 0x69, 0x64, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, - 0x65, 0x4b, 0x65, 0x79, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x09, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x73, 0x1a, 0xfc, 0x01, 0x0a, 0x12, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x13, 0x0a, 0x05, 0x69, 0x73, 0x5f, - 0x6f, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x04, 0x69, 0x73, 0x4f, 0x6b, 0x12, 0x23, - 0x0a, 0x0d, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x4d, 0x65, 0x73, 0x73, - 0x61, 0x67, 0x65, 0x12, 0x27, 0x0a, 0x0f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0e, 0x69, 0x6e, - 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x27, 0x0a, 0x0f, - 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, - 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x64, - 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x3a, 0x0a, 0x19, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, - 0x69, 0x61, 0x6c, 0x5f, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x62, 0x79, 0x74, - 0x65, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x17, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, - 0x74, 0x69, 0x61, 0x6c, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x42, 0x79, 0x74, 0x65, - 0x73, 0x12, 0x1e, 0x0a, 0x0a, 0x65, 0x78, 0x70, 0x69, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, - 0x06, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0a, 0x65, 0x78, 0x70, 0x69, 0x72, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x22, 0xe4, 0x01, 0x0a, 0x1c, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x47, 0x72, - 0x6f, 0x75, 0x70, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x12, 0x68, 0x0a, 0x0e, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x6d, 0x65, 0x73, 0x73, - 0x61, 0x67, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x41, 0x2e, 0x78, 0x6d, 0x74, - 0x70, 0x2e, 0x6d, 0x6c, 0x73, 0x5f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x2e, 0x76, 0x31, 0x2e, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x47, 0x72, 0x6f, 0x75, - 0x70, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x2e, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x0d, 0x67, - 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x1a, 0x5a, 0x0a, 0x0c, - 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x4a, 0x0a, 0x22, - 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x62, 0x79, - 0x74, 0x65, 0x73, 0x5f, 0x74, 0x6c, 0x73, 0x5f, 0x73, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x69, 0x7a, - 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x1e, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x4d, - 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x42, 0x79, 0x74, 0x65, 0x73, 0x54, 0x6c, 0x73, 0x53, 0x65, - 0x72, 0x69, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x22, 0xf2, 0x01, 0x0a, 0x1d, 0x56, 0x61, 0x6c, - 0x69, 0x64, 0x61, 0x74, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, - 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x66, 0x0a, 0x09, 0x72, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x48, 0x2e, - 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x6d, 0x6c, 0x73, 0x5f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x47, - 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x09, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x73, 0x1a, 0x69, 0x0a, 0x12, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x13, 0x0a, 0x05, 0x69, 0x73, 0x5f, 0x6f, - 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x04, 0x69, 0x73, 0x4f, 0x6b, 0x12, 0x23, 0x0a, - 0x0d, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x4d, 0x65, 0x73, 0x73, 0x61, - 0x67, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x69, 0x64, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x64, 0x22, 0xb6, 0x01, - 0x0a, 0x1a, 0x47, 0x65, 0x74, 0x41, 0x73, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x4b, 0x0a, 0x0b, - 0x6f, 0x6c, 0x64, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, - 0x0b, 0x32, 0x2a, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, - 0x79, 0x2e, 0x61, 0x73, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x49, - 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x0a, 0x6f, - 0x6c, 0x64, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x73, 0x12, 0x4b, 0x0a, 0x0b, 0x6e, 0x65, 0x77, - 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2a, - 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2e, 0x61, - 0x73, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x49, 0x64, 0x65, 0x6e, - 0x74, 0x69, 0x74, 0x79, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x0a, 0x6e, 0x65, 0x77, 0x55, - 0x70, 0x64, 0x61, 0x74, 0x65, 0x73, 0x22, 0xc9, 0x01, 0x0a, 0x1b, 0x47, 0x65, 0x74, 0x41, 0x73, - 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x59, 0x0a, 0x11, 0x61, 0x73, 0x73, 0x6f, 0x63, 0x69, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x2c, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, - 0x79, 0x2e, 0x61, 0x73, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x41, - 0x73, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, - 0x10, 0x61, 0x73, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, - 0x65, 0x12, 0x4f, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x74, 0x65, 0x5f, 0x64, 0x69, 0x66, 0x66, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x69, 0x64, 0x65, - 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2e, 0x61, 0x73, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x73, 0x2e, 0x41, 0x73, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, - 0x61, 0x74, 0x65, 0x44, 0x69, 0x66, 0x66, 0x52, 0x09, 0x73, 0x74, 0x61, 0x74, 0x65, 0x44, 0x69, - 0x66, 0x66, 0x32, 0xdb, 0x04, 0x0a, 0x0d, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x41, 0x70, 0x69, 0x12, 0x86, 0x01, 0x0a, 0x15, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, - 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x12, 0x34, - 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x6d, 0x6c, 0x73, 0x5f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, - 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x35, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x6d, 0x6c, 0x73, 0x5f, - 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x56, 0x61, - 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x65, 0x73, 0x73, 0x61, - 0x67, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x80, 0x01, - 0x0a, 0x13, 0x47, 0x65, 0x74, 0x41, 0x73, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x32, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x6d, 0x6c, 0x73, - 0x5f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x47, - 0x65, 0x74, 0x41, 0x73, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, - 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x33, 0x2e, 0x78, 0x6d, 0x74, 0x70, - 0x2e, 0x6d, 0x6c, 0x73, 0x5f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, - 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x73, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, - 0x12, 0x8e, 0x01, 0x0a, 0x1a, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x49, 0x6e, 0x62, - 0x6f, 0x78, 0x49, 0x64, 0x4b, 0x65, 0x79, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x73, 0x12, - 0x32, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x6d, 0x6c, 0x73, 0x5f, 0x76, 0x61, 0x6c, 0x69, 0x64, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, - 0x65, 0x4b, 0x65, 0x79, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x3a, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x6d, 0x6c, 0x73, 0x5f, 0x76, - 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x56, 0x61, 0x6c, - 0x69, 0x64, 0x61, 0x74, 0x65, 0x49, 0x6e, 0x62, 0x6f, 0x78, 0x49, 0x64, 0x4b, 0x65, 0x79, 0x50, - 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, - 0x00, 0x12, 0xac, 0x01, 0x0a, 0x23, 0x56, 0x65, 0x72, 0x69, 0x66, 0x79, 0x53, 0x6d, 0x61, 0x72, - 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x57, 0x61, 0x6c, 0x6c, 0x65, 0x74, 0x53, - 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x12, 0x40, 0x2e, 0x78, 0x6d, 0x74, 0x70, - 0x2e, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, - 0x2e, 0x56, 0x65, 0x72, 0x69, 0x66, 0x79, 0x53, 0x6d, 0x61, 0x72, 0x74, 0x43, 0x6f, 0x6e, 0x74, - 0x72, 0x61, 0x63, 0x74, 0x57, 0x61, 0x6c, 0x6c, 0x65, 0x74, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, - 0x75, 0x72, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x41, 0x2e, 0x78, 0x6d, - 0x74, 0x70, 0x2e, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, - 0x76, 0x31, 0x2e, 0x56, 0x65, 0x72, 0x69, 0x66, 0x79, 0x53, 0x6d, 0x61, 0x72, 0x74, 0x43, 0x6f, - 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x57, 0x61, 0x6c, 0x6c, 0x65, 0x74, 0x53, 0x69, 0x67, 0x6e, - 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, - 0x42, 0x97, 0x02, 0x0a, 0x34, 0x6f, 0x72, 0x67, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x61, 0x6e, - 0x64, 0x72, 0x6f, 0x69, 0x64, 0x2e, 0x6c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x2e, 0x70, 0x75, - 0x73, 0x68, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x6d, 0x6c, 0x73, 0x5f, 0x76, 0x61, 0x6c, 0x69, - 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x42, 0x0c, 0x53, 0x65, 0x72, 0x76, 0x69, - 0x63, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x5b, 0x67, 0x69, 0x74, 0x68, 0x75, - 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x78, 0x6d, 0x74, 0x70, 0x2f, 0x65, 0x78, 0x61, 0x6d, 0x70, - 0x6c, 0x65, 0x2d, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2d, - 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2d, 0x67, 0x6f, 0x2f, 0x70, 0x6b, 0x67, 0x2f, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x2f, 0x6d, 0x6c, 0x73, 0x5f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x2f, 0x76, 0x31, 0x3b, 0x6d, 0x6c, 0x73, 0x5f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x76, 0x31, 0xa2, 0x02, 0x03, 0x58, 0x4d, 0x58, 0xaa, 0x02, 0x15, 0x58, - 0x6d, 0x74, 0x70, 0x2e, 0x4d, 0x6c, 0x73, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x2e, 0x56, 0x31, 0xca, 0x02, 0x15, 0x58, 0x6d, 0x74, 0x70, 0x5c, 0x4d, 0x6c, 0x73, 0x56, - 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5c, 0x56, 0x31, 0xe2, 0x02, 0x21, 0x58, - 0x6d, 0x74, 0x70, 0x5c, 0x4d, 0x6c, 0x73, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x5c, 0x56, 0x31, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, - 0xea, 0x02, 0x17, 0x58, 0x6d, 0x74, 0x70, 0x3a, 0x3a, 0x4d, 0x6c, 0x73, 0x56, 0x61, 0x6c, 0x69, - 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x33, -}) +const file_mls_validation_v1_service_proto_rawDesc = "" + + "\n" + + "\x1fmls_validation/v1/service.proto\x12\x16xmtp.mls_validation.v1\x1a\x1eidentity/api/v1/identity.proto\x1a'identity/associations/association.proto\x1a\x19identity/credential.proto\"\x98\x02\n" + + "!ValidateInboxIdKeyPackagesRequest\x12g\n" + + "\fkey_packages\x18\x01 \x03(\v2D.xmtp.mls_validation.v1.ValidateInboxIdKeyPackagesRequest.KeyPackageR\vkeyPackages\x1a\x89\x01\n" + + "\n" + + "KeyPackage\x12F\n" + + " key_package_bytes_tls_serialized\x18\x01 \x01(\fR\x1ckeyPackageBytesTlsSerialized\x123\n" + + "\x16is_inbox_id_credential\x18\x02 \x01(\bR\x13isInboxIdCredential\"\xe4\x02\n" + + "\"ValidateInboxIdKeyPackagesResponse\x12a\n" + + "\tresponses\x18\x01 \x03(\v2C.xmtp.mls_validation.v1.ValidateInboxIdKeyPackagesResponse.ResponseR\tresponses\x1a\xda\x01\n" + + "\bResponse\x12\x13\n" + + "\x05is_ok\x18\x01 \x01(\bR\x04isOk\x12#\n" + + "\rerror_message\x18\x02 \x01(\tR\ferrorMessage\x12<\n" + + "\n" + + "credential\x18\x03 \x01(\v2\x1c.xmtp.identity.MlsCredentialR\n" + + "credential\x126\n" + + "\x17installation_public_key\x18\x04 \x01(\fR\x15installationPublicKey\x12\x1e\n" + + "\n" + + "expiration\x18\x05 \x01(\x04R\n" + + "expiration\"\x8a\x02\n" + + "\x1aValidateKeyPackagesRequest\x12`\n" + + "\fkey_packages\x18\x01 \x03(\v2=.xmtp.mls_validation.v1.ValidateKeyPackagesRequest.KeyPackageR\vkeyPackages\x1a\x89\x01\n" + + "\n" + + "KeyPackage\x12F\n" + + " key_package_bytes_tls_serialized\x18\x01 \x01(\fR\x1ckeyPackageBytesTlsSerialized\x123\n" + + "\x16is_inbox_id_credential\x18\x02 \x01(\bR\x13isInboxIdCredential\"\x82\x03\n" + + "\x1bValidateKeyPackagesResponse\x12d\n" + + "\tresponses\x18\x01 \x03(\v2F.xmtp.mls_validation.v1.ValidateKeyPackagesResponse.ValidationResponseR\tresponses\x1a\xfc\x01\n" + + "\x12ValidationResponse\x12\x13\n" + + "\x05is_ok\x18\x01 \x01(\bR\x04isOk\x12#\n" + + "\rerror_message\x18\x02 \x01(\tR\ferrorMessage\x12'\n" + + "\x0finstallation_id\x18\x03 \x01(\fR\x0einstallationId\x12'\n" + + "\x0faccount_address\x18\x04 \x01(\tR\x0eaccountAddress\x12:\n" + + "\x19credential_identity_bytes\x18\x05 \x01(\fR\x17credentialIdentityBytes\x12\x1e\n" + + "\n" + + "expiration\x18\x06 \x01(\x04R\n" + + "expiration\"\xe4\x01\n" + + "\x1cValidateGroupMessagesRequest\x12h\n" + + "\x0egroup_messages\x18\x01 \x03(\v2A.xmtp.mls_validation.v1.ValidateGroupMessagesRequest.GroupMessageR\rgroupMessages\x1aZ\n" + + "\fGroupMessage\x12J\n" + + "\"group_message_bytes_tls_serialized\x18\x01 \x01(\fR\x1egroupMessageBytesTlsSerialized\"\x90\x02\n" + + "\x1dValidateGroupMessagesResponse\x12f\n" + + "\tresponses\x18\x01 \x03(\v2H.xmtp.mls_validation.v1.ValidateGroupMessagesResponse.ValidationResponseR\tresponses\x1a\x86\x01\n" + + "\x12ValidationResponse\x12\x13\n" + + "\x05is_ok\x18\x01 \x01(\bR\x04isOk\x12#\n" + + "\rerror_message\x18\x02 \x01(\tR\ferrorMessage\x12\x19\n" + + "\bgroup_id\x18\x03 \x01(\tR\agroupId\x12\x1b\n" + + "\tis_commit\x18\x04 \x01(\bR\bisCommit\"\xb6\x01\n" + + "\x1aGetAssociationStateRequest\x12K\n" + + "\vold_updates\x18\x01 \x03(\v2*.xmtp.identity.associations.IdentityUpdateR\n" + + "oldUpdates\x12K\n" + + "\vnew_updates\x18\x02 \x03(\v2*.xmtp.identity.associations.IdentityUpdateR\n" + + "newUpdates\"\xc9\x01\n" + + "\x1bGetAssociationStateResponse\x12Y\n" + + "\x11association_state\x18\x01 \x01(\v2,.xmtp.identity.associations.AssociationStateR\x10associationState\x12O\n" + + "\n" + + "state_diff\x18\x02 \x01(\v20.xmtp.identity.associations.AssociationStateDiffR\tstateDiff2\xdb\x04\n" + + "\rValidationApi\x12\x86\x01\n" + + "\x15ValidateGroupMessages\x124.xmtp.mls_validation.v1.ValidateGroupMessagesRequest\x1a5.xmtp.mls_validation.v1.ValidateGroupMessagesResponse\"\x00\x12\x80\x01\n" + + "\x13GetAssociationState\x122.xmtp.mls_validation.v1.GetAssociationStateRequest\x1a3.xmtp.mls_validation.v1.GetAssociationStateResponse\"\x00\x12\x8e\x01\n" + + "\x1aValidateInboxIdKeyPackages\x122.xmtp.mls_validation.v1.ValidateKeyPackagesRequest\x1a:.xmtp.mls_validation.v1.ValidateInboxIdKeyPackagesResponse\"\x00\x12\xac\x01\n" + + "#VerifySmartContractWalletSignatures\x12@.xmtp.identity.api.v1.VerifySmartContractWalletSignaturesRequest\x1aA.xmtp.identity.api.v1.VerifySmartContractWalletSignaturesResponse\"\x00B\x97\x02\n" + + "4org.xmtp.android.library.push.xmtp.mls_validation.v1B\fServiceProtoP\x01Z[github.com/xmtp/example-notification-server-go/pkg/proto/mls_validation/v1;mls_validationv1\xa2\x02\x03XMX\xaa\x02\x15Xmtp.MlsValidation.V1\xca\x02\x15Xmtp\\MlsValidation\\V1\xe2\x02!Xmtp\\MlsValidation\\V1\\GPBMetadata\xea\x02\x17Xmtp::MlsValidation::V1b\x06proto3" var ( file_mls_validation_v1_service_proto_rawDescOnce sync.Once diff --git a/pkg/proto/mls_validation/v1/service_grpc.pb.go b/pkg/proto/mls_validation/v1/service_grpc.pb.go index e642510..1eea03b 100644 --- a/pkg/proto/mls_validation/v1/service_grpc.pb.go +++ b/pkg/proto/mls_validation/v1/service_grpc.pb.go @@ -36,8 +36,9 @@ type ValidationApiClient interface { ValidateGroupMessages(ctx context.Context, in *ValidateGroupMessagesRequest, opts ...grpc.CallOption) (*ValidateGroupMessagesResponse, error) // Gets the final association state for a batch of identity updates GetAssociationState(ctx context.Context, in *GetAssociationStateRequest, opts ...grpc.CallOption) (*GetAssociationStateResponse, error) - // Validates InboxID key packages and returns credential information for them, without checking - // whether an InboxId <> InstallationPublicKey pair is really valid. + // Validates InboxID key packages and returns credential information for them, + // without checking whether an InboxId <> InstallationPublicKey pair is really + // valid. ValidateInboxIdKeyPackages(ctx context.Context, in *ValidateKeyPackagesRequest, opts ...grpc.CallOption) (*ValidateInboxIdKeyPackagesResponse, error) // Verifies smart contracts // This request is proxied from the node, so we'll reuse those messages. @@ -96,8 +97,9 @@ type ValidationApiServer interface { ValidateGroupMessages(context.Context, *ValidateGroupMessagesRequest) (*ValidateGroupMessagesResponse, error) // Gets the final association state for a batch of identity updates GetAssociationState(context.Context, *GetAssociationStateRequest) (*GetAssociationStateResponse, error) - // Validates InboxID key packages and returns credential information for them, without checking - // whether an InboxId <> InstallationPublicKey pair is really valid. + // Validates InboxID key packages and returns credential information for them, + // without checking whether an InboxId <> InstallationPublicKey pair is really + // valid. ValidateInboxIdKeyPackages(context.Context, *ValidateKeyPackagesRequest) (*ValidateInboxIdKeyPackagesResponse, error) // Verifies smart contracts // This request is proxied from the node, so we'll reuse those messages. diff --git a/pkg/proto/xmtpv4/envelopes/envelopes.pb.go b/pkg/proto/xmtpv4/envelopes/envelopes.pb.go index e388829..2293a0d 100644 --- a/pkg/proto/xmtpv4/envelopes/envelopes.pb.go +++ b/pkg/proto/xmtpv4/envelopes/envelopes.pb.go @@ -2,7 +2,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.36.5 +// protoc-gen-go v1.36.10 // protoc (unknown) // source: xmtpv4/envelopes/envelopes.proto @@ -73,13 +73,11 @@ func (x *Cursor) GetNodeIdToSequenceId() map[uint32]uint64 { // Data visible to the server that has been authenticated by the client. type AuthenticatedData struct { state protoimpl.MessageState `protogen:"open.v1"` - // Deprecated: Marked as deprecated in xmtpv4/envelopes/envelopes.proto. - TargetOriginator *uint32 `protobuf:"varint,1,opt,name=target_originator,json=targetOriginator,proto3,oneof" json:"target_originator,omitempty"` - TargetTopic []byte `protobuf:"bytes,2,opt,name=target_topic,json=targetTopic,proto3" json:"target_topic,omitempty"` - DependsOn *Cursor `protobuf:"bytes,3,opt,name=depends_on,json=dependsOn,proto3" json:"depends_on,omitempty"` - IsCommit bool `protobuf:"varint,4,opt,name=is_commit,json=isCommit,proto3" json:"is_commit,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache + // Do NOT reuse tag 1 — previously used by target_originator + TargetTopic []byte `protobuf:"bytes,2,opt,name=target_topic,json=targetTopic,proto3" json:"target_topic,omitempty"` + DependsOn *Cursor `protobuf:"bytes,3,opt,name=depends_on,json=dependsOn,proto3" json:"depends_on,omitempty"` // Do NOT reuse tag 4 — previously used by is_commit + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *AuthenticatedData) Reset() { @@ -112,14 +110,6 @@ func (*AuthenticatedData) Descriptor() ([]byte, []int) { return file_xmtpv4_envelopes_envelopes_proto_rawDescGZIP(), []int{1} } -// Deprecated: Marked as deprecated in xmtpv4/envelopes/envelopes.proto. -func (x *AuthenticatedData) GetTargetOriginator() uint32 { - if x != nil && x.TargetOriginator != nil { - return *x.TargetOriginator - } - return 0 -} - func (x *AuthenticatedData) GetTargetTopic() []byte { if x != nil { return x.TargetTopic @@ -134,13 +124,6 @@ func (x *AuthenticatedData) GetDependsOn() *Cursor { return nil } -func (x *AuthenticatedData) GetIsCommit() bool { - if x != nil { - return x.IsCommit - } - return false -} - type ClientEnvelope struct { state protoimpl.MessageState `protogen:"open.v1"` Aad *AuthenticatedData `protobuf:"bytes,1,opt,name=aad,proto3" json:"aad,omitempty"` @@ -150,6 +133,8 @@ type ClientEnvelope struct { // *ClientEnvelope_WelcomeMessage // *ClientEnvelope_UploadKeyPackage // *ClientEnvelope_IdentityUpdate + // *ClientEnvelope_PayerReport + // *ClientEnvelope_PayerReportAttestation Payload isClientEnvelope_Payload `protobuf_oneof:"payload"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache @@ -235,6 +220,24 @@ func (x *ClientEnvelope) GetIdentityUpdate() *associations.IdentityUpdate { return nil } +func (x *ClientEnvelope) GetPayerReport() *PayerReport { + if x != nil { + if x, ok := x.Payload.(*ClientEnvelope_PayerReport); ok { + return x.PayerReport + } + } + return nil +} + +func (x *ClientEnvelope) GetPayerReportAttestation() *PayerReportAttestation { + if x != nil { + if x, ok := x.Payload.(*ClientEnvelope_PayerReportAttestation); ok { + return x.PayerReportAttestation + } + } + return nil +} + type isClientEnvelope_Payload interface { isClientEnvelope_Payload() } @@ -255,6 +258,14 @@ type ClientEnvelope_IdentityUpdate struct { IdentityUpdate *associations.IdentityUpdate `protobuf:"bytes,5,opt,name=identity_update,json=identityUpdate,proto3,oneof"` } +type ClientEnvelope_PayerReport struct { + PayerReport *PayerReport `protobuf:"bytes,6,opt,name=payer_report,json=payerReport,proto3,oneof"` +} + +type ClientEnvelope_PayerReportAttestation struct { + PayerReportAttestation *PayerReportAttestation `protobuf:"bytes,7,opt,name=payer_report_attestation,json=payerReportAttestation,proto3,oneof"` +} + func (*ClientEnvelope_GroupMessage) isClientEnvelope_Payload() {} func (*ClientEnvelope_WelcomeMessage) isClientEnvelope_Payload() {} @@ -263,12 +274,17 @@ func (*ClientEnvelope_UploadKeyPackage) isClientEnvelope_Payload() {} func (*ClientEnvelope_IdentityUpdate) isClientEnvelope_Payload() {} +func (*ClientEnvelope_PayerReport) isClientEnvelope_Payload() {} + +func (*ClientEnvelope_PayerReportAttestation) isClientEnvelope_Payload() {} + // Wraps client envelope with payer signature type PayerEnvelope struct { state protoimpl.MessageState `protogen:"open.v1"` UnsignedClientEnvelope []byte `protobuf:"bytes,1,opt,name=unsigned_client_envelope,json=unsignedClientEnvelope,proto3" json:"unsigned_client_envelope,omitempty"` // Protobuf serialized PayerSignature *associations.RecoverableEcdsaSignature `protobuf:"bytes,2,opt,name=payer_signature,json=payerSignature,proto3" json:"payer_signature,omitempty"` TargetOriginator uint32 `protobuf:"varint,3,opt,name=target_originator,json=targetOriginator,proto3" json:"target_originator,omitempty"` + MessageRetentionDays uint32 `protobuf:"varint,4,opt,name=message_retention_days,json=messageRetentionDays,proto3" json:"message_retention_days,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } @@ -324,6 +340,13 @@ func (x *PayerEnvelope) GetTargetOriginator() uint32 { return 0 } +func (x *PayerEnvelope) GetMessageRetentionDays() uint32 { + if x != nil { + return x.MessageRetentionDays + } + return 0 +} + // For blockchain envelopes, these fields are set by the smart contract type UnsignedOriginatorEnvelope struct { state protoimpl.MessageState `protogen:"open.v1"` @@ -333,6 +356,7 @@ type UnsignedOriginatorEnvelope struct { PayerEnvelopeBytes []byte `protobuf:"bytes,4,opt,name=payer_envelope_bytes,json=payerEnvelopeBytes,proto3" json:"payer_envelope_bytes,omitempty"` BaseFeePicodollars uint64 `protobuf:"varint,5,opt,name=base_fee_picodollars,json=baseFeePicodollars,proto3" json:"base_fee_picodollars,omitempty"` // The base fee for the message in picodollars CongestionFeePicodollars uint64 `protobuf:"varint,6,opt,name=congestion_fee_picodollars,json=congestionFeePicodollars,proto3" json:"congestion_fee_picodollars,omitempty"` // The congestion fee for the message in picodollars + ExpiryUnixtime uint64 `protobuf:"varint,7,opt,name=expiry_unixtime,json=expiryUnixtime,proto3" json:"expiry_unixtime,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } @@ -409,6 +433,13 @@ func (x *UnsignedOriginatorEnvelope) GetCongestionFeePicodollars() uint64 { return 0 } +func (x *UnsignedOriginatorEnvelope) GetExpiryUnixtime() uint64 { + if x != nil { + return x.ExpiryUnixtime + } + return 0 +} + // An alternative to a signature for blockchain payloads type BlockchainProof struct { state protoimpl.MessageState `protogen:"open.v1"` @@ -547,144 +578,48 @@ func (*OriginatorEnvelope_BlockchainProof) isOriginatorEnvelope_Proof() {} var File_xmtpv4_envelopes_envelopes_proto protoreflect.FileDescriptor -var file_xmtpv4_envelopes_envelopes_proto_rawDesc = string([]byte{ - 0x0a, 0x20, 0x78, 0x6d, 0x74, 0x70, 0x76, 0x34, 0x2f, 0x65, 0x6e, 0x76, 0x65, 0x6c, 0x6f, 0x70, - 0x65, 0x73, 0x2f, 0x65, 0x6e, 0x76, 0x65, 0x6c, 0x6f, 0x70, 0x65, 0x73, 0x2e, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x12, 0x15, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x76, 0x34, 0x2e, - 0x65, 0x6e, 0x76, 0x65, 0x6c, 0x6f, 0x70, 0x65, 0x73, 0x1a, 0x27, 0x69, 0x64, 0x65, 0x6e, 0x74, - 0x69, 0x74, 0x79, 0x2f, 0x61, 0x73, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, - 0x2f, 0x61, 0x73, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x1a, 0x25, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2f, 0x61, 0x73, 0x73, - 0x6f, 0x63, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, - 0x75, 0x72, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x14, 0x6d, 0x6c, 0x73, 0x2f, 0x61, - 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x6d, 0x6c, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, - 0xba, 0x01, 0x0a, 0x06, 0x43, 0x75, 0x72, 0x73, 0x6f, 0x72, 0x12, 0x69, 0x0a, 0x16, 0x6e, 0x6f, - 0x64, 0x65, 0x5f, 0x69, 0x64, 0x5f, 0x74, 0x6f, 0x5f, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, - 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x78, 0x6d, 0x74, - 0x70, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x76, 0x34, 0x2e, 0x65, 0x6e, 0x76, 0x65, 0x6c, 0x6f, 0x70, - 0x65, 0x73, 0x2e, 0x43, 0x75, 0x72, 0x73, 0x6f, 0x72, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x49, 0x64, - 0x54, 0x6f, 0x53, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x49, 0x64, 0x45, 0x6e, 0x74, 0x72, - 0x79, 0x52, 0x12, 0x6e, 0x6f, 0x64, 0x65, 0x49, 0x64, 0x54, 0x6f, 0x53, 0x65, 0x71, 0x75, 0x65, - 0x6e, 0x63, 0x65, 0x49, 0x64, 0x1a, 0x45, 0x0a, 0x17, 0x4e, 0x6f, 0x64, 0x65, 0x49, 0x64, 0x54, - 0x6f, 0x53, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x49, 0x64, 0x45, 0x6e, 0x74, 0x72, 0x79, - 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x6b, - 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x04, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0xdd, 0x01, 0x0a, - 0x11, 0x41, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61, 0x74, 0x65, 0x64, 0x44, 0x61, - 0x74, 0x61, 0x12, 0x34, 0x0a, 0x11, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x6f, 0x72, 0x69, - 0x67, 0x69, 0x6e, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x42, 0x02, 0x18, - 0x01, 0x48, 0x00, 0x52, 0x10, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x4f, 0x72, 0x69, 0x67, 0x69, - 0x6e, 0x61, 0x74, 0x6f, 0x72, 0x88, 0x01, 0x01, 0x12, 0x21, 0x0a, 0x0c, 0x74, 0x61, 0x72, 0x67, - 0x65, 0x74, 0x5f, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0b, - 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x12, 0x3c, 0x0a, 0x0a, 0x64, - 0x65, 0x70, 0x65, 0x6e, 0x64, 0x73, 0x5f, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x1d, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x76, 0x34, 0x2e, 0x65, 0x6e, - 0x76, 0x65, 0x6c, 0x6f, 0x70, 0x65, 0x73, 0x2e, 0x43, 0x75, 0x72, 0x73, 0x6f, 0x72, 0x52, 0x09, - 0x64, 0x65, 0x70, 0x65, 0x6e, 0x64, 0x73, 0x4f, 0x6e, 0x12, 0x1b, 0x0a, 0x09, 0x69, 0x73, 0x5f, - 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x69, 0x73, - 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x42, 0x14, 0x0a, 0x12, 0x5f, 0x74, 0x61, 0x72, 0x67, 0x65, - 0x74, 0x5f, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x6f, 0x72, 0x22, 0xa4, 0x03, 0x0a, - 0x0e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x45, 0x6e, 0x76, 0x65, 0x6c, 0x6f, 0x70, 0x65, 0x12, - 0x3a, 0x0a, 0x03, 0x61, 0x61, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x78, - 0x6d, 0x74, 0x70, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x76, 0x34, 0x2e, 0x65, 0x6e, 0x76, 0x65, 0x6c, - 0x6f, 0x70, 0x65, 0x73, 0x2e, 0x41, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61, 0x74, - 0x65, 0x64, 0x44, 0x61, 0x74, 0x61, 0x52, 0x03, 0x61, 0x61, 0x64, 0x12, 0x49, 0x0a, 0x0d, 0x67, - 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x6d, 0x6c, 0x73, 0x2e, 0x61, 0x70, - 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, - 0x65, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x48, 0x00, 0x52, 0x0c, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x4d, - 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x4f, 0x0a, 0x0f, 0x77, 0x65, 0x6c, 0x63, 0x6f, 0x6d, - 0x65, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x24, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x6d, 0x6c, 0x73, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, - 0x31, 0x2e, 0x57, 0x65, 0x6c, 0x63, 0x6f, 0x6d, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, - 0x49, 0x6e, 0x70, 0x75, 0x74, 0x48, 0x00, 0x52, 0x0e, 0x77, 0x65, 0x6c, 0x63, 0x6f, 0x6d, 0x65, - 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x58, 0x0a, 0x12, 0x75, 0x70, 0x6c, 0x6f, 0x61, - 0x64, 0x5f, 0x6b, 0x65, 0x79, 0x5f, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x18, 0x04, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x6d, 0x6c, 0x73, 0x2e, 0x61, - 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x4b, 0x65, 0x79, 0x50, - 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, - 0x10, 0x75, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x4b, 0x65, 0x79, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, - 0x65, 0x12, 0x55, 0x0a, 0x0f, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x75, 0x70, - 0x64, 0x61, 0x74, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x78, 0x6d, 0x74, - 0x70, 0x2e, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2e, 0x61, 0x73, 0x73, 0x6f, 0x63, - 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, - 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x48, 0x00, 0x52, 0x0e, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, - 0x74, 0x79, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x42, 0x09, 0x0a, 0x07, 0x70, 0x61, 0x79, 0x6c, - 0x6f, 0x61, 0x64, 0x22, 0xd6, 0x01, 0x0a, 0x0d, 0x50, 0x61, 0x79, 0x65, 0x72, 0x45, 0x6e, 0x76, - 0x65, 0x6c, 0x6f, 0x70, 0x65, 0x12, 0x38, 0x0a, 0x18, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, - 0x64, 0x5f, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x65, 0x6e, 0x76, 0x65, 0x6c, 0x6f, 0x70, - 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x16, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, - 0x64, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x45, 0x6e, 0x76, 0x65, 0x6c, 0x6f, 0x70, 0x65, 0x12, - 0x5e, 0x0a, 0x0f, 0x70, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, - 0x72, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, - 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2e, 0x61, 0x73, 0x73, 0x6f, 0x63, 0x69, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x52, 0x65, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x61, 0x62, 0x6c, - 0x65, 0x45, 0x63, 0x64, 0x73, 0x61, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x52, - 0x0e, 0x70, 0x61, 0x79, 0x65, 0x72, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x12, - 0x2b, 0x0a, 0x11, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, - 0x61, 0x74, 0x6f, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x10, 0x74, 0x61, 0x72, 0x67, - 0x65, 0x74, 0x4f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x6f, 0x72, 0x22, 0xc7, 0x02, 0x0a, - 0x1a, 0x55, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x4f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x61, - 0x74, 0x6f, 0x72, 0x45, 0x6e, 0x76, 0x65, 0x6c, 0x6f, 0x70, 0x65, 0x12, 0x2c, 0x0a, 0x12, 0x6f, - 0x72, 0x69, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x6f, 0x72, 0x5f, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x69, - 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x10, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x61, - 0x74, 0x6f, 0x72, 0x4e, 0x6f, 0x64, 0x65, 0x49, 0x64, 0x12, 0x34, 0x0a, 0x16, 0x6f, 0x72, 0x69, - 0x67, 0x69, 0x6e, 0x61, 0x74, 0x6f, 0x72, 0x5f, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, - 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x14, 0x6f, 0x72, 0x69, 0x67, 0x69, - 0x6e, 0x61, 0x74, 0x6f, 0x72, 0x53, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x49, 0x64, 0x12, - 0x23, 0x0a, 0x0d, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x6f, 0x72, 0x5f, 0x6e, 0x73, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0c, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x61, 0x74, - 0x6f, 0x72, 0x4e, 0x73, 0x12, 0x30, 0x0a, 0x14, 0x70, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x65, 0x6e, - 0x76, 0x65, 0x6c, 0x6f, 0x70, 0x65, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x04, 0x20, 0x01, - 0x28, 0x0c, 0x52, 0x12, 0x70, 0x61, 0x79, 0x65, 0x72, 0x45, 0x6e, 0x76, 0x65, 0x6c, 0x6f, 0x70, - 0x65, 0x42, 0x79, 0x74, 0x65, 0x73, 0x12, 0x30, 0x0a, 0x14, 0x62, 0x61, 0x73, 0x65, 0x5f, 0x66, - 0x65, 0x65, 0x5f, 0x70, 0x69, 0x63, 0x6f, 0x64, 0x6f, 0x6c, 0x6c, 0x61, 0x72, 0x73, 0x18, 0x05, - 0x20, 0x01, 0x28, 0x04, 0x52, 0x12, 0x62, 0x61, 0x73, 0x65, 0x46, 0x65, 0x65, 0x50, 0x69, 0x63, - 0x6f, 0x64, 0x6f, 0x6c, 0x6c, 0x61, 0x72, 0x73, 0x12, 0x3c, 0x0a, 0x1a, 0x63, 0x6f, 0x6e, 0x67, - 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x66, 0x65, 0x65, 0x5f, 0x70, 0x69, 0x63, 0x6f, 0x64, - 0x6f, 0x6c, 0x6c, 0x61, 0x72, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x04, 0x52, 0x18, 0x63, 0x6f, - 0x6e, 0x67, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x46, 0x65, 0x65, 0x50, 0x69, 0x63, 0x6f, 0x64, - 0x6f, 0x6c, 0x6c, 0x61, 0x72, 0x73, 0x22, 0x3c, 0x0a, 0x0f, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x63, - 0x68, 0x61, 0x69, 0x6e, 0x50, 0x72, 0x6f, 0x6f, 0x66, 0x12, 0x29, 0x0a, 0x10, 0x74, 0x72, 0x61, - 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x0c, 0x52, 0x0f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, - 0x48, 0x61, 0x73, 0x68, 0x22, 0xa0, 0x02, 0x0a, 0x12, 0x4f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x61, - 0x74, 0x6f, 0x72, 0x45, 0x6e, 0x76, 0x65, 0x6c, 0x6f, 0x70, 0x65, 0x12, 0x40, 0x0a, 0x1c, 0x75, - 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x5f, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x61, 0x74, - 0x6f, 0x72, 0x5f, 0x65, 0x6e, 0x76, 0x65, 0x6c, 0x6f, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x0c, 0x52, 0x1a, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x4f, 0x72, 0x69, 0x67, 0x69, - 0x6e, 0x61, 0x74, 0x6f, 0x72, 0x45, 0x6e, 0x76, 0x65, 0x6c, 0x6f, 0x70, 0x65, 0x12, 0x6a, 0x0a, - 0x14, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x6f, 0x72, 0x5f, 0x73, 0x69, 0x67, 0x6e, - 0x61, 0x74, 0x75, 0x72, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x78, 0x6d, - 0x74, 0x70, 0x2e, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2e, 0x61, 0x73, 0x73, 0x6f, - 0x63, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x52, 0x65, 0x63, 0x6f, 0x76, 0x65, 0x72, - 0x61, 0x62, 0x6c, 0x65, 0x45, 0x63, 0x64, 0x73, 0x61, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, - 0x72, 0x65, 0x48, 0x00, 0x52, 0x13, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x6f, 0x72, - 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x12, 0x53, 0x0a, 0x10, 0x62, 0x6c, 0x6f, - 0x63, 0x6b, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5f, 0x70, 0x72, 0x6f, 0x6f, 0x66, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x76, - 0x34, 0x2e, 0x65, 0x6e, 0x76, 0x65, 0x6c, 0x6f, 0x70, 0x65, 0x73, 0x2e, 0x42, 0x6c, 0x6f, 0x63, - 0x6b, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x50, 0x72, 0x6f, 0x6f, 0x66, 0x48, 0x00, 0x52, 0x0f, 0x62, - 0x6c, 0x6f, 0x63, 0x6b, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x50, 0x72, 0x6f, 0x6f, 0x66, 0x42, 0x07, - 0x0a, 0x05, 0x70, 0x72, 0x6f, 0x6f, 0x66, 0x42, 0x86, 0x02, 0x0a, 0x33, 0x6f, 0x72, 0x67, 0x2e, - 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x61, 0x6e, 0x64, 0x72, 0x6f, 0x69, 0x64, 0x2e, 0x6c, 0x69, 0x62, - 0x72, 0x61, 0x72, 0x79, 0x2e, 0x70, 0x75, 0x73, 0x68, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x78, - 0x6d, 0x74, 0x70, 0x76, 0x34, 0x2e, 0x65, 0x6e, 0x76, 0x65, 0x6c, 0x6f, 0x70, 0x65, 0x73, 0x42, - 0x0e, 0x45, 0x6e, 0x76, 0x65, 0x6c, 0x6f, 0x70, 0x65, 0x73, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, - 0x01, 0x5a, 0x49, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x78, 0x6d, - 0x74, 0x70, 0x2f, 0x65, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x2d, 0x6e, 0x6f, 0x74, 0x69, 0x66, - 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2d, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2d, 0x67, - 0x6f, 0x2f, 0x70, 0x6b, 0x67, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x78, 0x6d, 0x74, 0x70, - 0x76, 0x34, 0x2f, 0x65, 0x6e, 0x76, 0x65, 0x6c, 0x6f, 0x70, 0x65, 0x73, 0xa2, 0x02, 0x03, 0x58, - 0x58, 0x45, 0xaa, 0x02, 0x15, 0x58, 0x6d, 0x74, 0x70, 0x2e, 0x58, 0x6d, 0x74, 0x70, 0x76, 0x34, - 0x2e, 0x45, 0x6e, 0x76, 0x65, 0x6c, 0x6f, 0x70, 0x65, 0x73, 0xca, 0x02, 0x15, 0x58, 0x6d, 0x74, - 0x70, 0x5c, 0x58, 0x6d, 0x74, 0x70, 0x76, 0x34, 0x5c, 0x45, 0x6e, 0x76, 0x65, 0x6c, 0x6f, 0x70, - 0x65, 0x73, 0xe2, 0x02, 0x21, 0x58, 0x6d, 0x74, 0x70, 0x5c, 0x58, 0x6d, 0x74, 0x70, 0x76, 0x34, - 0x5c, 0x45, 0x6e, 0x76, 0x65, 0x6c, 0x6f, 0x70, 0x65, 0x73, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, - 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x17, 0x58, 0x6d, 0x74, 0x70, 0x3a, 0x3a, 0x58, - 0x6d, 0x74, 0x70, 0x76, 0x34, 0x3a, 0x3a, 0x45, 0x6e, 0x76, 0x65, 0x6c, 0x6f, 0x70, 0x65, 0x73, - 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, -}) +const file_xmtpv4_envelopes_envelopes_proto_rawDesc = "" + + "\n" + + " xmtpv4/envelopes/envelopes.proto\x12\x15xmtp.xmtpv4.envelopes\x1a'identity/associations/association.proto\x1a%identity/associations/signature.proto\x1a\x14mls/api/v1/mls.proto\x1a#xmtpv4/envelopes/payer_report.proto\"\xba\x01\n" + + "\x06Cursor\x12i\n" + + "\x16node_id_to_sequence_id\x18\x01 \x03(\v25.xmtp.xmtpv4.envelopes.Cursor.NodeIdToSequenceIdEntryR\x12nodeIdToSequenceId\x1aE\n" + + "\x17NodeIdToSequenceIdEntry\x12\x10\n" + + "\x03key\x18\x01 \x01(\rR\x03key\x12\x14\n" + + "\x05value\x18\x02 \x01(\x04R\x05value:\x028\x01\"t\n" + + "\x11AuthenticatedData\x12!\n" + + "\ftarget_topic\x18\x02 \x01(\fR\vtargetTopic\x12<\n" + + "\n" + + "depends_on\x18\x03 \x01(\v2\x1d.xmtp.xmtpv4.envelopes.CursorR\tdependsOn\"\xd8\x04\n" + + "\x0eClientEnvelope\x12:\n" + + "\x03aad\x18\x01 \x01(\v2(.xmtp.xmtpv4.envelopes.AuthenticatedDataR\x03aad\x12I\n" + + "\rgroup_message\x18\x02 \x01(\v2\".xmtp.mls.api.v1.GroupMessageInputH\x00R\fgroupMessage\x12O\n" + + "\x0fwelcome_message\x18\x03 \x01(\v2$.xmtp.mls.api.v1.WelcomeMessageInputH\x00R\x0ewelcomeMessage\x12X\n" + + "\x12upload_key_package\x18\x04 \x01(\v2(.xmtp.mls.api.v1.UploadKeyPackageRequestH\x00R\x10uploadKeyPackage\x12U\n" + + "\x0fidentity_update\x18\x05 \x01(\v2*.xmtp.identity.associations.IdentityUpdateH\x00R\x0eidentityUpdate\x12G\n" + + "\fpayer_report\x18\x06 \x01(\v2\".xmtp.xmtpv4.envelopes.PayerReportH\x00R\vpayerReport\x12i\n" + + "\x18payer_report_attestation\x18\a \x01(\v2-.xmtp.xmtpv4.envelopes.PayerReportAttestationH\x00R\x16payerReportAttestationB\t\n" + + "\apayload\"\x8c\x02\n" + + "\rPayerEnvelope\x128\n" + + "\x18unsigned_client_envelope\x18\x01 \x01(\fR\x16unsignedClientEnvelope\x12^\n" + + "\x0fpayer_signature\x18\x02 \x01(\v25.xmtp.identity.associations.RecoverableEcdsaSignatureR\x0epayerSignature\x12+\n" + + "\x11target_originator\x18\x03 \x01(\rR\x10targetOriginator\x124\n" + + "\x16message_retention_days\x18\x04 \x01(\rR\x14messageRetentionDays\"\xf0\x02\n" + + "\x1aUnsignedOriginatorEnvelope\x12,\n" + + "\x12originator_node_id\x18\x01 \x01(\rR\x10originatorNodeId\x124\n" + + "\x16originator_sequence_id\x18\x02 \x01(\x04R\x14originatorSequenceId\x12#\n" + + "\roriginator_ns\x18\x03 \x01(\x03R\foriginatorNs\x120\n" + + "\x14payer_envelope_bytes\x18\x04 \x01(\fR\x12payerEnvelopeBytes\x120\n" + + "\x14base_fee_picodollars\x18\x05 \x01(\x04R\x12baseFeePicodollars\x12<\n" + + "\x1acongestion_fee_picodollars\x18\x06 \x01(\x04R\x18congestionFeePicodollars\x12'\n" + + "\x0fexpiry_unixtime\x18\a \x01(\x04R\x0eexpiryUnixtime\"<\n" + + "\x0fBlockchainProof\x12)\n" + + "\x10transaction_hash\x18\x01 \x01(\fR\x0ftransactionHash\"\xa0\x02\n" + + "\x12OriginatorEnvelope\x12@\n" + + "\x1cunsigned_originator_envelope\x18\x01 \x01(\fR\x1aunsignedOriginatorEnvelope\x12j\n" + + "\x14originator_signature\x18\x02 \x01(\v25.xmtp.identity.associations.RecoverableEcdsaSignatureH\x00R\x13originatorSignature\x12S\n" + + "\x10blockchain_proof\x18\x03 \x01(\v2&.xmtp.xmtpv4.envelopes.BlockchainProofH\x00R\x0fblockchainProofB\a\n" + + "\x05proofB\x86\x02\n" + + "3org.xmtp.android.library.push.xmtp.xmtpv4.envelopesB\x0eEnvelopesProtoP\x01ZIgithub.com/xmtp/example-notification-server-go/pkg/proto/xmtpv4/envelopes\xa2\x02\x03XXE\xaa\x02\x15Xmtp.Xmtpv4.Envelopes\xca\x02\x15Xmtp\\Xmtpv4\\Envelopes\xe2\x02!Xmtp\\Xmtpv4\\Envelopes\\GPBMetadata\xea\x02\x17Xmtp::Xmtpv4::Envelopesb\x06proto3" var ( file_xmtpv4_envelopes_envelopes_proto_rawDescOnce sync.Once @@ -712,7 +647,9 @@ var file_xmtpv4_envelopes_envelopes_proto_goTypes = []any{ (*v1.WelcomeMessageInput)(nil), // 9: xmtp.mls.api.v1.WelcomeMessageInput (*v1.UploadKeyPackageRequest)(nil), // 10: xmtp.mls.api.v1.UploadKeyPackageRequest (*associations.IdentityUpdate)(nil), // 11: xmtp.identity.associations.IdentityUpdate - (*associations.RecoverableEcdsaSignature)(nil), // 12: xmtp.identity.associations.RecoverableEcdsaSignature + (*PayerReport)(nil), // 12: xmtp.xmtpv4.envelopes.PayerReport + (*PayerReportAttestation)(nil), // 13: xmtp.xmtpv4.envelopes.PayerReportAttestation + (*associations.RecoverableEcdsaSignature)(nil), // 14: xmtp.identity.associations.RecoverableEcdsaSignature } var file_xmtpv4_envelopes_envelopes_proto_depIdxs = []int32{ 7, // 0: xmtp.xmtpv4.envelopes.Cursor.node_id_to_sequence_id:type_name -> xmtp.xmtpv4.envelopes.Cursor.NodeIdToSequenceIdEntry @@ -722,14 +659,16 @@ var file_xmtpv4_envelopes_envelopes_proto_depIdxs = []int32{ 9, // 4: xmtp.xmtpv4.envelopes.ClientEnvelope.welcome_message:type_name -> xmtp.mls.api.v1.WelcomeMessageInput 10, // 5: xmtp.xmtpv4.envelopes.ClientEnvelope.upload_key_package:type_name -> xmtp.mls.api.v1.UploadKeyPackageRequest 11, // 6: xmtp.xmtpv4.envelopes.ClientEnvelope.identity_update:type_name -> xmtp.identity.associations.IdentityUpdate - 12, // 7: xmtp.xmtpv4.envelopes.PayerEnvelope.payer_signature:type_name -> xmtp.identity.associations.RecoverableEcdsaSignature - 12, // 8: xmtp.xmtpv4.envelopes.OriginatorEnvelope.originator_signature:type_name -> xmtp.identity.associations.RecoverableEcdsaSignature - 5, // 9: xmtp.xmtpv4.envelopes.OriginatorEnvelope.blockchain_proof:type_name -> xmtp.xmtpv4.envelopes.BlockchainProof - 10, // [10:10] is the sub-list for method output_type - 10, // [10:10] is the sub-list for method input_type - 10, // [10:10] is the sub-list for extension type_name - 10, // [10:10] is the sub-list for extension extendee - 0, // [0:10] is the sub-list for field type_name + 12, // 7: xmtp.xmtpv4.envelopes.ClientEnvelope.payer_report:type_name -> xmtp.xmtpv4.envelopes.PayerReport + 13, // 8: xmtp.xmtpv4.envelopes.ClientEnvelope.payer_report_attestation:type_name -> xmtp.xmtpv4.envelopes.PayerReportAttestation + 14, // 9: xmtp.xmtpv4.envelopes.PayerEnvelope.payer_signature:type_name -> xmtp.identity.associations.RecoverableEcdsaSignature + 14, // 10: xmtp.xmtpv4.envelopes.OriginatorEnvelope.originator_signature:type_name -> xmtp.identity.associations.RecoverableEcdsaSignature + 5, // 11: xmtp.xmtpv4.envelopes.OriginatorEnvelope.blockchain_proof:type_name -> xmtp.xmtpv4.envelopes.BlockchainProof + 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_xmtpv4_envelopes_envelopes_proto_init() } @@ -737,12 +676,14 @@ func file_xmtpv4_envelopes_envelopes_proto_init() { if File_xmtpv4_envelopes_envelopes_proto != nil { return } - file_xmtpv4_envelopes_envelopes_proto_msgTypes[1].OneofWrappers = []any{} + file_xmtpv4_envelopes_payer_report_proto_init() file_xmtpv4_envelopes_envelopes_proto_msgTypes[2].OneofWrappers = []any{ (*ClientEnvelope_GroupMessage)(nil), (*ClientEnvelope_WelcomeMessage)(nil), (*ClientEnvelope_UploadKeyPackage)(nil), (*ClientEnvelope_IdentityUpdate)(nil), + (*ClientEnvelope_PayerReport)(nil), + (*ClientEnvelope_PayerReportAttestation)(nil), } file_xmtpv4_envelopes_envelopes_proto_msgTypes[6].OneofWrappers = []any{ (*OriginatorEnvelope_OriginatorSignature)(nil), diff --git a/pkg/proto/xmtpv4/envelopes/payer_report.pb.go b/pkg/proto/xmtpv4/envelopes/payer_report.pb.go new file mode 100644 index 0000000..a19b95e --- /dev/null +++ b/pkg/proto/xmtpv4/envelopes/payer_report.pb.go @@ -0,0 +1,296 @@ +// Message API for XMTP V4 + +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.36.10 +// protoc (unknown) +// source: xmtpv4/envelopes/payer_report.proto + +package envelopes + +import ( + associations "github.com/xmtp/example-notification-server-go/pkg/proto/identity/associations" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + reflect "reflect" + sync "sync" + unsafe "unsafe" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// A report of the payers and nodes that sent messages in a given range of messages +type PayerReport struct { + state protoimpl.MessageState `protogen:"open.v1"` + // The originator this report is referring to + OriginatorNodeId uint32 `protobuf:"varint,1,opt,name=originator_node_id,json=originatorNodeId,proto3" json:"originator_node_id,omitempty"` + // The sequence_id that the report starts at [exclusive] + StartSequenceId uint64 `protobuf:"varint,2,opt,name=start_sequence_id,json=startSequenceId,proto3" json:"start_sequence_id,omitempty"` + // The sequence_id that the report ends at [inclusive] + EndSequenceId uint64 `protobuf:"varint,3,opt,name=end_sequence_id,json=endSequenceId,proto3" json:"end_sequence_id,omitempty"` + // The end timestamp of the report + EndMinuteSinceEpoch uint32 `protobuf:"varint,4,opt,name=end_minute_since_epoch,json=endMinuteSinceEpoch,proto3" json:"end_minute_since_epoch,omitempty"` + // The merkle root of the payer balance diff tree + PayersMerkleRoot []byte `protobuf:"bytes,5,opt,name=payers_merkle_root,json=payersMerkleRoot,proto3" json:"payers_merkle_root,omitempty"` + // The node IDs that are active in the network at the time of the report + ActiveNodeIds []uint32 `protobuf:"varint,6,rep,packed,name=active_node_ids,json=activeNodeIds,proto3" json:"active_node_ids,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *PayerReport) Reset() { + *x = PayerReport{} + mi := &file_xmtpv4_envelopes_payer_report_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *PayerReport) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PayerReport) ProtoMessage() {} + +func (x *PayerReport) ProtoReflect() protoreflect.Message { + mi := &file_xmtpv4_envelopes_payer_report_proto_msgTypes[0] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use PayerReport.ProtoReflect.Descriptor instead. +func (*PayerReport) Descriptor() ([]byte, []int) { + return file_xmtpv4_envelopes_payer_report_proto_rawDescGZIP(), []int{0} +} + +func (x *PayerReport) GetOriginatorNodeId() uint32 { + if x != nil { + return x.OriginatorNodeId + } + return 0 +} + +func (x *PayerReport) GetStartSequenceId() uint64 { + if x != nil { + return x.StartSequenceId + } + return 0 +} + +func (x *PayerReport) GetEndSequenceId() uint64 { + if x != nil { + return x.EndSequenceId + } + return 0 +} + +func (x *PayerReport) GetEndMinuteSinceEpoch() uint32 { + if x != nil { + return x.EndMinuteSinceEpoch + } + return 0 +} + +func (x *PayerReport) GetPayersMerkleRoot() []byte { + if x != nil { + return x.PayersMerkleRoot + } + return nil +} + +func (x *PayerReport) GetActiveNodeIds() []uint32 { + if x != nil { + return x.ActiveNodeIds + } + return nil +} + +type NodeSignature struct { + state protoimpl.MessageState `protogen:"open.v1"` + NodeId uint32 `protobuf:"varint,1,opt,name=node_id,json=nodeId,proto3" json:"node_id,omitempty"` + Signature *associations.RecoverableEcdsaSignature `protobuf:"bytes,2,opt,name=signature,proto3" json:"signature,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *NodeSignature) Reset() { + *x = NodeSignature{} + mi := &file_xmtpv4_envelopes_payer_report_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *NodeSignature) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*NodeSignature) ProtoMessage() {} + +func (x *NodeSignature) ProtoReflect() protoreflect.Message { + mi := &file_xmtpv4_envelopes_payer_report_proto_msgTypes[1] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use NodeSignature.ProtoReflect.Descriptor instead. +func (*NodeSignature) Descriptor() ([]byte, []int) { + return file_xmtpv4_envelopes_payer_report_proto_rawDescGZIP(), []int{1} +} + +func (x *NodeSignature) GetNodeId() uint32 { + if x != nil { + return x.NodeId + } + return 0 +} + +func (x *NodeSignature) GetSignature() *associations.RecoverableEcdsaSignature { + if x != nil { + return x.Signature + } + return nil +} + +// An attestation of a payer report +type PayerReportAttestation struct { + state protoimpl.MessageState `protogen:"open.v1"` + // The ID of the report, determined by hashing the report contents + ReportId []byte `protobuf:"bytes,1,opt,name=report_id,json=reportId,proto3" json:"report_id,omitempty"` + // The signature of the attester + Signature *NodeSignature `protobuf:"bytes,2,opt,name=signature,proto3" json:"signature,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *PayerReportAttestation) Reset() { + *x = PayerReportAttestation{} + mi := &file_xmtpv4_envelopes_payer_report_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *PayerReportAttestation) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PayerReportAttestation) ProtoMessage() {} + +func (x *PayerReportAttestation) ProtoReflect() protoreflect.Message { + mi := &file_xmtpv4_envelopes_payer_report_proto_msgTypes[2] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use PayerReportAttestation.ProtoReflect.Descriptor instead. +func (*PayerReportAttestation) Descriptor() ([]byte, []int) { + return file_xmtpv4_envelopes_payer_report_proto_rawDescGZIP(), []int{2} +} + +func (x *PayerReportAttestation) GetReportId() []byte { + if x != nil { + return x.ReportId + } + return nil +} + +func (x *PayerReportAttestation) GetSignature() *NodeSignature { + if x != nil { + return x.Signature + } + return nil +} + +var File_xmtpv4_envelopes_payer_report_proto protoreflect.FileDescriptor + +const file_xmtpv4_envelopes_payer_report_proto_rawDesc = "" + + "\n" + + "#xmtpv4/envelopes/payer_report.proto\x12\x15xmtp.xmtpv4.envelopes\x1a%identity/associations/signature.proto\"\x9a\x02\n" + + "\vPayerReport\x12,\n" + + "\x12originator_node_id\x18\x01 \x01(\rR\x10originatorNodeId\x12*\n" + + "\x11start_sequence_id\x18\x02 \x01(\x04R\x0fstartSequenceId\x12&\n" + + "\x0fend_sequence_id\x18\x03 \x01(\x04R\rendSequenceId\x123\n" + + "\x16end_minute_since_epoch\x18\x04 \x01(\rR\x13endMinuteSinceEpoch\x12,\n" + + "\x12payers_merkle_root\x18\x05 \x01(\fR\x10payersMerkleRoot\x12&\n" + + "\x0factive_node_ids\x18\x06 \x03(\rR\ractiveNodeIds\"}\n" + + "\rNodeSignature\x12\x17\n" + + "\anode_id\x18\x01 \x01(\rR\x06nodeId\x12S\n" + + "\tsignature\x18\x02 \x01(\v25.xmtp.identity.associations.RecoverableEcdsaSignatureR\tsignature\"y\n" + + "\x16PayerReportAttestation\x12\x1b\n" + + "\treport_id\x18\x01 \x01(\fR\breportId\x12B\n" + + "\tsignature\x18\x02 \x01(\v2$.xmtp.xmtpv4.envelopes.NodeSignatureR\tsignatureB\x88\x02\n" + + "3org.xmtp.android.library.push.xmtp.xmtpv4.envelopesB\x10PayerReportProtoP\x01ZIgithub.com/xmtp/example-notification-server-go/pkg/proto/xmtpv4/envelopes\xa2\x02\x03XXE\xaa\x02\x15Xmtp.Xmtpv4.Envelopes\xca\x02\x15Xmtp\\Xmtpv4\\Envelopes\xe2\x02!Xmtp\\Xmtpv4\\Envelopes\\GPBMetadata\xea\x02\x17Xmtp::Xmtpv4::Envelopesb\x06proto3" + +var ( + file_xmtpv4_envelopes_payer_report_proto_rawDescOnce sync.Once + file_xmtpv4_envelopes_payer_report_proto_rawDescData []byte +) + +func file_xmtpv4_envelopes_payer_report_proto_rawDescGZIP() []byte { + file_xmtpv4_envelopes_payer_report_proto_rawDescOnce.Do(func() { + file_xmtpv4_envelopes_payer_report_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_xmtpv4_envelopes_payer_report_proto_rawDesc), len(file_xmtpv4_envelopes_payer_report_proto_rawDesc))) + }) + return file_xmtpv4_envelopes_payer_report_proto_rawDescData +} + +var file_xmtpv4_envelopes_payer_report_proto_msgTypes = make([]protoimpl.MessageInfo, 3) +var file_xmtpv4_envelopes_payer_report_proto_goTypes = []any{ + (*PayerReport)(nil), // 0: xmtp.xmtpv4.envelopes.PayerReport + (*NodeSignature)(nil), // 1: xmtp.xmtpv4.envelopes.NodeSignature + (*PayerReportAttestation)(nil), // 2: xmtp.xmtpv4.envelopes.PayerReportAttestation + (*associations.RecoverableEcdsaSignature)(nil), // 3: xmtp.identity.associations.RecoverableEcdsaSignature +} +var file_xmtpv4_envelopes_payer_report_proto_depIdxs = []int32{ + 3, // 0: xmtp.xmtpv4.envelopes.NodeSignature.signature:type_name -> xmtp.identity.associations.RecoverableEcdsaSignature + 1, // 1: xmtp.xmtpv4.envelopes.PayerReportAttestation.signature:type_name -> xmtp.xmtpv4.envelopes.NodeSignature + 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_xmtpv4_envelopes_payer_report_proto_init() } +func file_xmtpv4_envelopes_payer_report_proto_init() { + if File_xmtpv4_envelopes_payer_report_proto != nil { + return + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: unsafe.Slice(unsafe.StringData(file_xmtpv4_envelopes_payer_report_proto_rawDesc), len(file_xmtpv4_envelopes_payer_report_proto_rawDesc)), + NumEnums: 0, + NumMessages: 3, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_xmtpv4_envelopes_payer_report_proto_goTypes, + DependencyIndexes: file_xmtpv4_envelopes_payer_report_proto_depIdxs, + MessageInfos: file_xmtpv4_envelopes_payer_report_proto_msgTypes, + }.Build() + File_xmtpv4_envelopes_payer_report_proto = out.File + file_xmtpv4_envelopes_payer_report_proto_goTypes = nil + file_xmtpv4_envelopes_payer_report_proto_depIdxs = nil +} diff --git a/pkg/proto/xmtpv4/message_api/message_api.pb.go b/pkg/proto/xmtpv4/message_api/message_api.pb.go index ee51f6d..fee7a61 100644 --- a/pkg/proto/xmtpv4/message_api/message_api.pb.go +++ b/pkg/proto/xmtpv4/message_api/message_api.pb.go @@ -2,13 +2,14 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.36.5 +// protoc-gen-go v1.36.10 // protoc (unknown) // source: xmtpv4/message_api/message_api.proto package message_api import ( + associations "github.com/xmtp/example-notification-server-go/pkg/proto/identity/associations" envelopes "github.com/xmtp/example-notification-server-go/pkg/proto/xmtpv4/envelopes" _ "google.golang.org/genproto/googleapis/api/annotations" protoreflect "google.golang.org/protobuf/reflect/protoreflect" @@ -455,17 +456,109 @@ func (x *GetInboxIdsResponse) GetResponses() []*GetInboxIdsResponse_Response { return nil } -// A single request for a given address -type GetInboxIdsRequest_Request struct { +// Request to get the newest envelope for a given topic +type GetNewestEnvelopeRequest struct { state protoimpl.MessageState `protogen:"open.v1"` - Address string `protobuf:"bytes,1,opt,name=address,proto3" json:"address,omitempty"` + Topics [][]byte `protobuf:"bytes,1,rep,name=topics,proto3" json:"topics,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *GetNewestEnvelopeRequest) Reset() { + *x = GetNewestEnvelopeRequest{} + mi := &file_xmtpv4_message_api_message_api_proto_msgTypes[9] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GetNewestEnvelopeRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetNewestEnvelopeRequest) ProtoMessage() {} + +func (x *GetNewestEnvelopeRequest) ProtoReflect() protoreflect.Message { + mi := &file_xmtpv4_message_api_message_api_proto_msgTypes[9] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetNewestEnvelopeRequest.ProtoReflect.Descriptor instead. +func (*GetNewestEnvelopeRequest) Descriptor() ([]byte, []int) { + return file_xmtpv4_message_api_message_api_proto_rawDescGZIP(), []int{9} +} + +func (x *GetNewestEnvelopeRequest) GetTopics() [][]byte { + if x != nil { + return x.Topics + } + return nil +} + +// Response to GetNewestEnvelopeRequest +type GetNewestEnvelopeResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + // The newest envelope for the given topic OR null if there are no envelopes on the topic + Results []*GetNewestEnvelopeResponse_Response `protobuf:"bytes,1,rep,name=results,proto3" json:"results,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } +func (x *GetNewestEnvelopeResponse) Reset() { + *x = GetNewestEnvelopeResponse{} + mi := &file_xmtpv4_message_api_message_api_proto_msgTypes[10] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GetNewestEnvelopeResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetNewestEnvelopeResponse) ProtoMessage() {} + +func (x *GetNewestEnvelopeResponse) ProtoReflect() protoreflect.Message { + mi := &file_xmtpv4_message_api_message_api_proto_msgTypes[10] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetNewestEnvelopeResponse.ProtoReflect.Descriptor instead. +func (*GetNewestEnvelopeResponse) Descriptor() ([]byte, []int) { + return file_xmtpv4_message_api_message_api_proto_rawDescGZIP(), []int{10} +} + +func (x *GetNewestEnvelopeResponse) GetResults() []*GetNewestEnvelopeResponse_Response { + if x != nil { + return x.Results + } + return nil +} + +// A single request for a given address +type GetInboxIdsRequest_Request struct { + state protoimpl.MessageState `protogen:"open.v1"` + Identifier string `protobuf:"bytes,1,opt,name=identifier,proto3" json:"identifier,omitempty"` + IdentifierKind associations.IdentifierKind `protobuf:"varint,2,opt,name=identifier_kind,json=identifierKind,proto3,enum=xmtp.identity.associations.IdentifierKind" json:"identifier_kind,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + func (x *GetInboxIdsRequest_Request) Reset() { *x = GetInboxIdsRequest_Request{} - mi := &file_xmtpv4_message_api_message_api_proto_msgTypes[9] + mi := &file_xmtpv4_message_api_message_api_proto_msgTypes[11] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -477,7 +570,7 @@ func (x *GetInboxIdsRequest_Request) String() string { func (*GetInboxIdsRequest_Request) ProtoMessage() {} func (x *GetInboxIdsRequest_Request) ProtoReflect() protoreflect.Message { - mi := &file_xmtpv4_message_api_message_api_proto_msgTypes[9] + mi := &file_xmtpv4_message_api_message_api_proto_msgTypes[11] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -493,25 +586,33 @@ func (*GetInboxIdsRequest_Request) Descriptor() ([]byte, []int) { return file_xmtpv4_message_api_message_api_proto_rawDescGZIP(), []int{7, 0} } -func (x *GetInboxIdsRequest_Request) GetAddress() string { +func (x *GetInboxIdsRequest_Request) GetIdentifier() string { if x != nil { - return x.Address + return x.Identifier } return "" } +func (x *GetInboxIdsRequest_Request) GetIdentifierKind() associations.IdentifierKind { + if x != nil { + return x.IdentifierKind + } + return associations.IdentifierKind(0) +} + // A single response for a given address type GetInboxIdsResponse_Response struct { - state protoimpl.MessageState `protogen:"open.v1"` - Address string `protobuf:"bytes,1,opt,name=address,proto3" json:"address,omitempty"` - InboxId *string `protobuf:"bytes,2,opt,name=inbox_id,json=inboxId,proto3,oneof" json:"inbox_id,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Identifier string `protobuf:"bytes,1,opt,name=identifier,proto3" json:"identifier,omitempty"` + InboxId *string `protobuf:"bytes,2,opt,name=inbox_id,json=inboxId,proto3,oneof" json:"inbox_id,omitempty"` + IdentifierKind associations.IdentifierKind `protobuf:"varint,3,opt,name=identifier_kind,json=identifierKind,proto3,enum=xmtp.identity.associations.IdentifierKind" json:"identifier_kind,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *GetInboxIdsResponse_Response) Reset() { *x = GetInboxIdsResponse_Response{} - mi := &file_xmtpv4_message_api_message_api_proto_msgTypes[10] + mi := &file_xmtpv4_message_api_message_api_proto_msgTypes[12] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -523,7 +624,7 @@ func (x *GetInboxIdsResponse_Response) String() string { func (*GetInboxIdsResponse_Response) ProtoMessage() {} func (x *GetInboxIdsResponse_Response) ProtoReflect() protoreflect.Message { - mi := &file_xmtpv4_message_api_message_api_proto_msgTypes[10] + mi := &file_xmtpv4_message_api_message_api_proto_msgTypes[12] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -539,9 +640,9 @@ func (*GetInboxIdsResponse_Response) Descriptor() ([]byte, []int) { return file_xmtpv4_message_api_message_api_proto_rawDescGZIP(), []int{8, 0} } -func (x *GetInboxIdsResponse_Response) GetAddress() string { +func (x *GetInboxIdsResponse_Response) GetIdentifier() string { if x != nil { - return x.Address + return x.Identifier } return "" } @@ -553,148 +654,109 @@ func (x *GetInboxIdsResponse_Response) GetInboxId() string { return "" } +func (x *GetInboxIdsResponse_Response) GetIdentifierKind() associations.IdentifierKind { + if x != nil { + return x.IdentifierKind + } + return associations.IdentifierKind(0) +} + +type GetNewestEnvelopeResponse_Response struct { + state protoimpl.MessageState `protogen:"open.v1"` + OriginatorEnvelope *envelopes.OriginatorEnvelope `protobuf:"bytes,1,opt,name=originator_envelope,json=originatorEnvelope,proto3,oneof" json:"originator_envelope,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *GetNewestEnvelopeResponse_Response) Reset() { + *x = GetNewestEnvelopeResponse_Response{} + mi := &file_xmtpv4_message_api_message_api_proto_msgTypes[13] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GetNewestEnvelopeResponse_Response) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetNewestEnvelopeResponse_Response) ProtoMessage() {} + +func (x *GetNewestEnvelopeResponse_Response) ProtoReflect() protoreflect.Message { + mi := &file_xmtpv4_message_api_message_api_proto_msgTypes[13] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetNewestEnvelopeResponse_Response.ProtoReflect.Descriptor instead. +func (*GetNewestEnvelopeResponse_Response) Descriptor() ([]byte, []int) { + return file_xmtpv4_message_api_message_api_proto_rawDescGZIP(), []int{10, 0} +} + +func (x *GetNewestEnvelopeResponse_Response) GetOriginatorEnvelope() *envelopes.OriginatorEnvelope { + if x != nil { + return x.OriginatorEnvelope + } + return nil +} + var File_xmtpv4_message_api_message_api_proto protoreflect.FileDescriptor -var file_xmtpv4_message_api_message_api_proto_rawDesc = string([]byte{ - 0x0a, 0x24, 0x78, 0x6d, 0x74, 0x70, 0x76, 0x34, 0x2f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, - 0x5f, 0x61, 0x70, 0x69, 0x2f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x61, 0x70, 0x69, - 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x17, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x78, 0x6d, 0x74, - 0x70, 0x76, 0x34, 0x2e, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x61, 0x70, 0x69, 0x1a, - 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, - 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x20, 0x78, - 0x6d, 0x74, 0x70, 0x76, 0x34, 0x2f, 0x65, 0x6e, 0x76, 0x65, 0x6c, 0x6f, 0x70, 0x65, 0x73, 0x2f, - 0x65, 0x6e, 0x76, 0x65, 0x6c, 0x6f, 0x70, 0x65, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, - 0x94, 0x01, 0x0a, 0x0e, 0x45, 0x6e, 0x76, 0x65, 0x6c, 0x6f, 0x70, 0x65, 0x73, 0x51, 0x75, 0x65, - 0x72, 0x79, 0x12, 0x16, 0x0a, 0x06, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x73, 0x18, 0x01, 0x20, 0x03, - 0x28, 0x0c, 0x52, 0x06, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x73, 0x12, 0x2e, 0x0a, 0x13, 0x6f, 0x72, - 0x69, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x6f, 0x72, 0x5f, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x69, 0x64, - 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x11, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x61, - 0x74, 0x6f, 0x72, 0x4e, 0x6f, 0x64, 0x65, 0x49, 0x64, 0x73, 0x12, 0x3a, 0x0a, 0x09, 0x6c, 0x61, - 0x73, 0x74, 0x5f, 0x73, 0x65, 0x65, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, - 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x76, 0x34, 0x2e, 0x65, 0x6e, 0x76, 0x65, - 0x6c, 0x6f, 0x70, 0x65, 0x73, 0x2e, 0x43, 0x75, 0x72, 0x73, 0x6f, 0x72, 0x52, 0x08, 0x6c, 0x61, - 0x73, 0x74, 0x53, 0x65, 0x65, 0x6e, 0x22, 0x5a, 0x0a, 0x19, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, - 0x69, 0x62, 0x65, 0x45, 0x6e, 0x76, 0x65, 0x6c, 0x6f, 0x70, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x12, 0x3d, 0x0a, 0x05, 0x71, 0x75, 0x65, 0x72, 0x79, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x76, 0x34, - 0x2e, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x45, 0x6e, 0x76, - 0x65, 0x6c, 0x6f, 0x70, 0x65, 0x73, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x05, 0x71, 0x75, 0x65, - 0x72, 0x79, 0x22, 0x65, 0x0a, 0x1a, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x45, - 0x6e, 0x76, 0x65, 0x6c, 0x6f, 0x70, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x12, 0x47, 0x0a, 0x09, 0x65, 0x6e, 0x76, 0x65, 0x6c, 0x6f, 0x70, 0x65, 0x73, 0x18, 0x01, 0x20, - 0x03, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x76, - 0x34, 0x2e, 0x65, 0x6e, 0x76, 0x65, 0x6c, 0x6f, 0x70, 0x65, 0x73, 0x2e, 0x4f, 0x72, 0x69, 0x67, - 0x69, 0x6e, 0x61, 0x74, 0x6f, 0x72, 0x45, 0x6e, 0x76, 0x65, 0x6c, 0x6f, 0x70, 0x65, 0x52, 0x09, - 0x65, 0x6e, 0x76, 0x65, 0x6c, 0x6f, 0x70, 0x65, 0x73, 0x22, 0x6c, 0x0a, 0x15, 0x51, 0x75, 0x65, - 0x72, 0x79, 0x45, 0x6e, 0x76, 0x65, 0x6c, 0x6f, 0x70, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x12, 0x3d, 0x0a, 0x05, 0x71, 0x75, 0x65, 0x72, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x27, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x76, 0x34, 0x2e, - 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x45, 0x6e, 0x76, 0x65, - 0x6c, 0x6f, 0x70, 0x65, 0x73, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x05, 0x71, 0x75, 0x65, 0x72, - 0x79, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, - 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x22, 0x61, 0x0a, 0x16, 0x51, 0x75, 0x65, 0x72, 0x79, - 0x45, 0x6e, 0x76, 0x65, 0x6c, 0x6f, 0x70, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x12, 0x47, 0x0a, 0x09, 0x65, 0x6e, 0x76, 0x65, 0x6c, 0x6f, 0x70, 0x65, 0x73, 0x18, 0x01, - 0x20, 0x03, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x78, 0x6d, 0x74, 0x70, - 0x76, 0x34, 0x2e, 0x65, 0x6e, 0x76, 0x65, 0x6c, 0x6f, 0x70, 0x65, 0x73, 0x2e, 0x4f, 0x72, 0x69, - 0x67, 0x69, 0x6e, 0x61, 0x74, 0x6f, 0x72, 0x45, 0x6e, 0x76, 0x65, 0x6c, 0x6f, 0x70, 0x65, 0x52, - 0x09, 0x65, 0x6e, 0x76, 0x65, 0x6c, 0x6f, 0x70, 0x65, 0x73, 0x22, 0x6d, 0x0a, 0x1c, 0x50, 0x75, - 0x62, 0x6c, 0x69, 0x73, 0x68, 0x50, 0x61, 0x79, 0x65, 0x72, 0x45, 0x6e, 0x76, 0x65, 0x6c, 0x6f, - 0x70, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x4d, 0x0a, 0x0f, 0x70, 0x61, - 0x79, 0x65, 0x72, 0x5f, 0x65, 0x6e, 0x76, 0x65, 0x6c, 0x6f, 0x70, 0x65, 0x73, 0x18, 0x01, 0x20, - 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x76, - 0x34, 0x2e, 0x65, 0x6e, 0x76, 0x65, 0x6c, 0x6f, 0x70, 0x65, 0x73, 0x2e, 0x50, 0x61, 0x79, 0x65, - 0x72, 0x45, 0x6e, 0x76, 0x65, 0x6c, 0x6f, 0x70, 0x65, 0x52, 0x0e, 0x70, 0x61, 0x79, 0x65, 0x72, - 0x45, 0x6e, 0x76, 0x65, 0x6c, 0x6f, 0x70, 0x65, 0x73, 0x22, 0x7d, 0x0a, 0x1d, 0x50, 0x75, 0x62, - 0x6c, 0x69, 0x73, 0x68, 0x50, 0x61, 0x79, 0x65, 0x72, 0x45, 0x6e, 0x76, 0x65, 0x6c, 0x6f, 0x70, - 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5c, 0x0a, 0x14, 0x6f, 0x72, - 0x69, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x6f, 0x72, 0x5f, 0x65, 0x6e, 0x76, 0x65, 0x6c, 0x6f, 0x70, - 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, - 0x78, 0x6d, 0x74, 0x70, 0x76, 0x34, 0x2e, 0x65, 0x6e, 0x76, 0x65, 0x6c, 0x6f, 0x70, 0x65, 0x73, - 0x2e, 0x4f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x6f, 0x72, 0x45, 0x6e, 0x76, 0x65, 0x6c, - 0x6f, 0x70, 0x65, 0x52, 0x13, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x6f, 0x72, 0x45, - 0x6e, 0x76, 0x65, 0x6c, 0x6f, 0x70, 0x65, 0x73, 0x22, 0x8a, 0x01, 0x0a, 0x12, 0x47, 0x65, 0x74, - 0x49, 0x6e, 0x62, 0x6f, 0x78, 0x49, 0x64, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, - 0x4f, 0x0a, 0x08, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, - 0x0b, 0x32, 0x33, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x76, 0x34, 0x2e, - 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x49, - 0x6e, 0x62, 0x6f, 0x78, 0x49, 0x64, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x08, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, - 0x1a, 0x23, 0x0a, 0x07, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x61, - 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x64, - 0x64, 0x72, 0x65, 0x73, 0x73, 0x22, 0xbd, 0x01, 0x0a, 0x13, 0x47, 0x65, 0x74, 0x49, 0x6e, 0x62, - 0x6f, 0x78, 0x49, 0x64, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x53, 0x0a, - 0x09, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, - 0x32, 0x35, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x76, 0x34, 0x2e, 0x6d, - 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x49, 0x6e, - 0x62, 0x6f, 0x78, 0x49, 0x64, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x09, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x73, 0x1a, 0x51, 0x0a, 0x08, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x18, - 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x1e, 0x0a, 0x08, 0x69, 0x6e, 0x62, 0x6f, - 0x78, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x07, 0x69, 0x6e, - 0x62, 0x6f, 0x78, 0x49, 0x64, 0x88, 0x01, 0x01, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x69, 0x6e, 0x62, - 0x6f, 0x78, 0x5f, 0x69, 0x64, 0x32, 0x94, 0x05, 0x0a, 0x0e, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x70, 0x69, 0x12, 0xa7, 0x01, 0x0a, 0x12, 0x53, 0x75, 0x62, - 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x45, 0x6e, 0x76, 0x65, 0x6c, 0x6f, 0x70, 0x65, 0x73, 0x12, - 0x32, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x76, 0x34, 0x2e, 0x6d, 0x65, - 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, - 0x69, 0x62, 0x65, 0x45, 0x6e, 0x76, 0x65, 0x6c, 0x6f, 0x70, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x33, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x76, - 0x34, 0x2e, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x53, 0x75, - 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x45, 0x6e, 0x76, 0x65, 0x6c, 0x6f, 0x70, 0x65, 0x73, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x26, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x20, - 0x3a, 0x01, 0x2a, 0x22, 0x1b, 0x2f, 0x6d, 0x6c, 0x73, 0x2f, 0x76, 0x32, 0x2f, 0x73, 0x75, 0x62, - 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x2d, 0x65, 0x6e, 0x76, 0x65, 0x6c, 0x6f, 0x70, 0x65, 0x73, - 0x30, 0x01, 0x12, 0x95, 0x01, 0x0a, 0x0e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x45, 0x6e, 0x76, 0x65, - 0x6c, 0x6f, 0x70, 0x65, 0x73, 0x12, 0x2e, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x78, 0x6d, 0x74, - 0x70, 0x76, 0x34, 0x2e, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x61, 0x70, 0x69, 0x2e, - 0x51, 0x75, 0x65, 0x72, 0x79, 0x45, 0x6e, 0x76, 0x65, 0x6c, 0x6f, 0x70, 0x65, 0x73, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x78, 0x6d, 0x74, - 0x70, 0x76, 0x34, 0x2e, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x61, 0x70, 0x69, 0x2e, - 0x51, 0x75, 0x65, 0x72, 0x79, 0x45, 0x6e, 0x76, 0x65, 0x6c, 0x6f, 0x70, 0x65, 0x73, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x22, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1c, 0x3a, 0x01, - 0x2a, 0x22, 0x17, 0x2f, 0x6d, 0x6c, 0x73, 0x2f, 0x76, 0x32, 0x2f, 0x71, 0x75, 0x65, 0x72, 0x79, - 0x2d, 0x65, 0x6e, 0x76, 0x65, 0x6c, 0x6f, 0x70, 0x65, 0x73, 0x12, 0xb2, 0x01, 0x0a, 0x15, 0x50, - 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x50, 0x61, 0x79, 0x65, 0x72, 0x45, 0x6e, 0x76, 0x65, 0x6c, - 0x6f, 0x70, 0x65, 0x73, 0x12, 0x35, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x78, 0x6d, 0x74, 0x70, - 0x76, 0x34, 0x2e, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x50, - 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x50, 0x61, 0x79, 0x65, 0x72, 0x45, 0x6e, 0x76, 0x65, 0x6c, - 0x6f, 0x70, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x36, 0x2e, 0x78, 0x6d, - 0x74, 0x70, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x76, 0x34, 0x2e, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, - 0x65, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x50, 0x61, 0x79, - 0x65, 0x72, 0x45, 0x6e, 0x76, 0x65, 0x6c, 0x6f, 0x70, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x22, 0x2a, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x24, 0x3a, 0x01, 0x2a, 0x22, 0x1f, - 0x2f, 0x6d, 0x6c, 0x73, 0x2f, 0x76, 0x32, 0x2f, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x2d, - 0x70, 0x61, 0x79, 0x65, 0x72, 0x2d, 0x65, 0x6e, 0x76, 0x65, 0x6c, 0x6f, 0x70, 0x65, 0x73, 0x12, - 0x8a, 0x01, 0x0a, 0x0b, 0x47, 0x65, 0x74, 0x49, 0x6e, 0x62, 0x6f, 0x78, 0x49, 0x64, 0x73, 0x12, - 0x2b, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x76, 0x34, 0x2e, 0x6d, 0x65, - 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x49, 0x6e, 0x62, - 0x6f, 0x78, 0x49, 0x64, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2c, 0x2e, 0x78, - 0x6d, 0x74, 0x70, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x76, 0x34, 0x2e, 0x6d, 0x65, 0x73, 0x73, 0x61, - 0x67, 0x65, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x49, 0x6e, 0x62, 0x6f, 0x78, 0x49, - 0x64, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x20, 0x82, 0xd3, 0xe4, 0x93, - 0x02, 0x1a, 0x3a, 0x01, 0x2a, 0x22, 0x15, 0x2f, 0x6d, 0x6c, 0x73, 0x2f, 0x76, 0x32, 0x2f, 0x67, - 0x65, 0x74, 0x2d, 0x69, 0x6e, 0x62, 0x6f, 0x78, 0x2d, 0x69, 0x64, 0x73, 0x42, 0x8f, 0x02, 0x0a, - 0x35, 0x6f, 0x72, 0x67, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x61, 0x6e, 0x64, 0x72, 0x6f, 0x69, - 0x64, 0x2e, 0x6c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x2e, 0x70, 0x75, 0x73, 0x68, 0x2e, 0x78, - 0x6d, 0x74, 0x70, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x76, 0x34, 0x2e, 0x6d, 0x65, 0x73, 0x73, 0x61, - 0x67, 0x65, 0x5f, 0x61, 0x70, 0x69, 0x42, 0x0f, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x41, - 0x70, 0x69, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x4b, 0x67, 0x69, 0x74, 0x68, 0x75, - 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x78, 0x6d, 0x74, 0x70, 0x2f, 0x65, 0x78, 0x61, 0x6d, 0x70, - 0x6c, 0x65, 0x2d, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2d, - 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2d, 0x67, 0x6f, 0x2f, 0x70, 0x6b, 0x67, 0x2f, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x2f, 0x78, 0x6d, 0x74, 0x70, 0x76, 0x34, 0x2f, 0x6d, 0x65, 0x73, 0x73, 0x61, - 0x67, 0x65, 0x5f, 0x61, 0x70, 0x69, 0xa2, 0x02, 0x03, 0x58, 0x58, 0x4d, 0xaa, 0x02, 0x16, 0x58, - 0x6d, 0x74, 0x70, 0x2e, 0x58, 0x6d, 0x74, 0x70, 0x76, 0x34, 0x2e, 0x4d, 0x65, 0x73, 0x73, 0x61, - 0x67, 0x65, 0x41, 0x70, 0x69, 0xca, 0x02, 0x16, 0x58, 0x6d, 0x74, 0x70, 0x5c, 0x58, 0x6d, 0x74, - 0x70, 0x76, 0x34, 0x5c, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x41, 0x70, 0x69, 0xe2, 0x02, - 0x22, 0x58, 0x6d, 0x74, 0x70, 0x5c, 0x58, 0x6d, 0x74, 0x70, 0x76, 0x34, 0x5c, 0x4d, 0x65, 0x73, - 0x73, 0x61, 0x67, 0x65, 0x41, 0x70, 0x69, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, - 0x61, 0x74, 0x61, 0xea, 0x02, 0x18, 0x58, 0x6d, 0x74, 0x70, 0x3a, 0x3a, 0x58, 0x6d, 0x74, 0x70, - 0x76, 0x34, 0x3a, 0x3a, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x41, 0x70, 0x69, 0x62, 0x06, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, -}) +const file_xmtpv4_message_api_message_api_proto_rawDesc = "" + + "\n" + + "$xmtpv4/message_api/message_api.proto\x12\x17xmtp.xmtpv4.message_api\x1a\x1cgoogle/api/annotations.proto\x1a'identity/associations/association.proto\x1a xmtpv4/envelopes/envelopes.proto\"\x94\x01\n" + + "\x0eEnvelopesQuery\x12\x16\n" + + "\x06topics\x18\x01 \x03(\fR\x06topics\x12.\n" + + "\x13originator_node_ids\x18\x02 \x03(\rR\x11originatorNodeIds\x12:\n" + + "\tlast_seen\x18\x03 \x01(\v2\x1d.xmtp.xmtpv4.envelopes.CursorR\blastSeen\"Z\n" + + "\x19SubscribeEnvelopesRequest\x12=\n" + + "\x05query\x18\x01 \x01(\v2'.xmtp.xmtpv4.message_api.EnvelopesQueryR\x05query\"e\n" + + "\x1aSubscribeEnvelopesResponse\x12G\n" + + "\tenvelopes\x18\x01 \x03(\v2).xmtp.xmtpv4.envelopes.OriginatorEnvelopeR\tenvelopes\"l\n" + + "\x15QueryEnvelopesRequest\x12=\n" + + "\x05query\x18\x01 \x01(\v2'.xmtp.xmtpv4.message_api.EnvelopesQueryR\x05query\x12\x14\n" + + "\x05limit\x18\x02 \x01(\rR\x05limit\"a\n" + + "\x16QueryEnvelopesResponse\x12G\n" + + "\tenvelopes\x18\x01 \x03(\v2).xmtp.xmtpv4.envelopes.OriginatorEnvelopeR\tenvelopes\"m\n" + + "\x1cPublishPayerEnvelopesRequest\x12M\n" + + "\x0fpayer_envelopes\x18\x01 \x03(\v2$.xmtp.xmtpv4.envelopes.PayerEnvelopeR\x0epayerEnvelopes\"}\n" + + "\x1dPublishPayerEnvelopesResponse\x12\\\n" + + "\x14originator_envelopes\x18\x01 \x03(\v2).xmtp.xmtpv4.envelopes.OriginatorEnvelopeR\x13originatorEnvelopes\"\xe5\x01\n" + + "\x12GetInboxIdsRequest\x12O\n" + + "\brequests\x18\x01 \x03(\v23.xmtp.xmtpv4.message_api.GetInboxIdsRequest.RequestR\brequests\x1a~\n" + + "\aRequest\x12\x1e\n" + + "\n" + + "identifier\x18\x01 \x01(\tR\n" + + "identifier\x12S\n" + + "\x0fidentifier_kind\x18\x02 \x01(\x0e2*.xmtp.identity.associations.IdentifierKindR\x0eidentifierKind\"\x99\x02\n" + + "\x13GetInboxIdsResponse\x12S\n" + + "\tresponses\x18\x01 \x03(\v25.xmtp.xmtpv4.message_api.GetInboxIdsResponse.ResponseR\tresponses\x1a\xac\x01\n" + + "\bResponse\x12\x1e\n" + + "\n" + + "identifier\x18\x01 \x01(\tR\n" + + "identifier\x12\x1e\n" + + "\binbox_id\x18\x02 \x01(\tH\x00R\ainboxId\x88\x01\x01\x12S\n" + + "\x0fidentifier_kind\x18\x03 \x01(\x0e2*.xmtp.identity.associations.IdentifierKindR\x0eidentifierKindB\v\n" + + "\t_inbox_id\"2\n" + + "\x18GetNewestEnvelopeRequest\x12\x16\n" + + "\x06topics\x18\x01 \x03(\fR\x06topics\"\xf8\x01\n" + + "\x19GetNewestEnvelopeResponse\x12U\n" + + "\aresults\x18\x01 \x03(\v2;.xmtp.xmtpv4.message_api.GetNewestEnvelopeResponse.ResponseR\aresults\x1a\x83\x01\n" + + "\bResponse\x12_\n" + + "\x13originator_envelope\x18\x01 \x01(\v2).xmtp.xmtpv4.envelopes.OriginatorEnvelopeH\x00R\x12originatorEnvelope\x88\x01\x01B\x16\n" + + "\x14_originator_envelope2\xb9\x06\n" + + "\x0eReplicationApi\x12\xa7\x01\n" + + "\x12SubscribeEnvelopes\x122.xmtp.xmtpv4.message_api.SubscribeEnvelopesRequest\x1a3.xmtp.xmtpv4.message_api.SubscribeEnvelopesResponse\"&\x82\xd3\xe4\x93\x02 :\x01*\"\x1b/mls/v2/subscribe-envelopes0\x01\x12\x95\x01\n" + + "\x0eQueryEnvelopes\x12..xmtp.xmtpv4.message_api.QueryEnvelopesRequest\x1a/.xmtp.xmtpv4.message_api.QueryEnvelopesResponse\"\"\x82\xd3\xe4\x93\x02\x1c:\x01*\"\x17/mls/v2/query-envelopes\x12\xb2\x01\n" + + "\x15PublishPayerEnvelopes\x125.xmtp.xmtpv4.message_api.PublishPayerEnvelopesRequest\x1a6.xmtp.xmtpv4.message_api.PublishPayerEnvelopesResponse\"*\x82\xd3\xe4\x93\x02$:\x01*\"\x1f/mls/v2/publish-payer-envelopes\x12\x8a\x01\n" + + "\vGetInboxIds\x12+.xmtp.xmtpv4.message_api.GetInboxIdsRequest\x1a,.xmtp.xmtpv4.message_api.GetInboxIdsResponse\" \x82\xd3\xe4\x93\x02\x1a:\x01*\"\x15/mls/v2/get-inbox-ids\x12\xa2\x01\n" + + "\x11GetNewestEnvelope\x121.xmtp.xmtpv4.message_api.GetNewestEnvelopeRequest\x1a2.xmtp.xmtpv4.message_api.GetNewestEnvelopeResponse\"&\x82\xd3\xe4\x93\x02 :\x01*\"\x1b/mls/v2/get-newest-envelopeB\x8f\x02\n" + + "5org.xmtp.android.library.push.xmtp.xmtpv4.message_apiB\x0fMessageApiProtoP\x01ZKgithub.com/xmtp/example-notification-server-go/pkg/proto/xmtpv4/message_api\xa2\x02\x03XXM\xaa\x02\x16Xmtp.Xmtpv4.MessageApi\xca\x02\x16Xmtp\\Xmtpv4\\MessageApi\xe2\x02\"Xmtp\\Xmtpv4\\MessageApi\\GPBMetadata\xea\x02\x18Xmtp::Xmtpv4::MessageApib\x06proto3" var ( file_xmtpv4_message_api_message_api_proto_rawDescOnce sync.Once @@ -708,46 +770,56 @@ func file_xmtpv4_message_api_message_api_proto_rawDescGZIP() []byte { return file_xmtpv4_message_api_message_api_proto_rawDescData } -var file_xmtpv4_message_api_message_api_proto_msgTypes = make([]protoimpl.MessageInfo, 11) +var file_xmtpv4_message_api_message_api_proto_msgTypes = make([]protoimpl.MessageInfo, 14) var file_xmtpv4_message_api_message_api_proto_goTypes = []any{ - (*EnvelopesQuery)(nil), // 0: xmtp.xmtpv4.message_api.EnvelopesQuery - (*SubscribeEnvelopesRequest)(nil), // 1: xmtp.xmtpv4.message_api.SubscribeEnvelopesRequest - (*SubscribeEnvelopesResponse)(nil), // 2: xmtp.xmtpv4.message_api.SubscribeEnvelopesResponse - (*QueryEnvelopesRequest)(nil), // 3: xmtp.xmtpv4.message_api.QueryEnvelopesRequest - (*QueryEnvelopesResponse)(nil), // 4: xmtp.xmtpv4.message_api.QueryEnvelopesResponse - (*PublishPayerEnvelopesRequest)(nil), // 5: xmtp.xmtpv4.message_api.PublishPayerEnvelopesRequest - (*PublishPayerEnvelopesResponse)(nil), // 6: xmtp.xmtpv4.message_api.PublishPayerEnvelopesResponse - (*GetInboxIdsRequest)(nil), // 7: xmtp.xmtpv4.message_api.GetInboxIdsRequest - (*GetInboxIdsResponse)(nil), // 8: xmtp.xmtpv4.message_api.GetInboxIdsResponse - (*GetInboxIdsRequest_Request)(nil), // 9: xmtp.xmtpv4.message_api.GetInboxIdsRequest.Request - (*GetInboxIdsResponse_Response)(nil), // 10: xmtp.xmtpv4.message_api.GetInboxIdsResponse.Response - (*envelopes.Cursor)(nil), // 11: xmtp.xmtpv4.envelopes.Cursor - (*envelopes.OriginatorEnvelope)(nil), // 12: xmtp.xmtpv4.envelopes.OriginatorEnvelope - (*envelopes.PayerEnvelope)(nil), // 13: xmtp.xmtpv4.envelopes.PayerEnvelope + (*EnvelopesQuery)(nil), // 0: xmtp.xmtpv4.message_api.EnvelopesQuery + (*SubscribeEnvelopesRequest)(nil), // 1: xmtp.xmtpv4.message_api.SubscribeEnvelopesRequest + (*SubscribeEnvelopesResponse)(nil), // 2: xmtp.xmtpv4.message_api.SubscribeEnvelopesResponse + (*QueryEnvelopesRequest)(nil), // 3: xmtp.xmtpv4.message_api.QueryEnvelopesRequest + (*QueryEnvelopesResponse)(nil), // 4: xmtp.xmtpv4.message_api.QueryEnvelopesResponse + (*PublishPayerEnvelopesRequest)(nil), // 5: xmtp.xmtpv4.message_api.PublishPayerEnvelopesRequest + (*PublishPayerEnvelopesResponse)(nil), // 6: xmtp.xmtpv4.message_api.PublishPayerEnvelopesResponse + (*GetInboxIdsRequest)(nil), // 7: xmtp.xmtpv4.message_api.GetInboxIdsRequest + (*GetInboxIdsResponse)(nil), // 8: xmtp.xmtpv4.message_api.GetInboxIdsResponse + (*GetNewestEnvelopeRequest)(nil), // 9: xmtp.xmtpv4.message_api.GetNewestEnvelopeRequest + (*GetNewestEnvelopeResponse)(nil), // 10: xmtp.xmtpv4.message_api.GetNewestEnvelopeResponse + (*GetInboxIdsRequest_Request)(nil), // 11: xmtp.xmtpv4.message_api.GetInboxIdsRequest.Request + (*GetInboxIdsResponse_Response)(nil), // 12: xmtp.xmtpv4.message_api.GetInboxIdsResponse.Response + (*GetNewestEnvelopeResponse_Response)(nil), // 13: xmtp.xmtpv4.message_api.GetNewestEnvelopeResponse.Response + (*envelopes.Cursor)(nil), // 14: xmtp.xmtpv4.envelopes.Cursor + (*envelopes.OriginatorEnvelope)(nil), // 15: xmtp.xmtpv4.envelopes.OriginatorEnvelope + (*envelopes.PayerEnvelope)(nil), // 16: xmtp.xmtpv4.envelopes.PayerEnvelope + (associations.IdentifierKind)(0), // 17: xmtp.identity.associations.IdentifierKind } var file_xmtpv4_message_api_message_api_proto_depIdxs = []int32{ - 11, // 0: xmtp.xmtpv4.message_api.EnvelopesQuery.last_seen:type_name -> xmtp.xmtpv4.envelopes.Cursor + 14, // 0: xmtp.xmtpv4.message_api.EnvelopesQuery.last_seen:type_name -> xmtp.xmtpv4.envelopes.Cursor 0, // 1: xmtp.xmtpv4.message_api.SubscribeEnvelopesRequest.query:type_name -> xmtp.xmtpv4.message_api.EnvelopesQuery - 12, // 2: xmtp.xmtpv4.message_api.SubscribeEnvelopesResponse.envelopes:type_name -> xmtp.xmtpv4.envelopes.OriginatorEnvelope + 15, // 2: xmtp.xmtpv4.message_api.SubscribeEnvelopesResponse.envelopes:type_name -> xmtp.xmtpv4.envelopes.OriginatorEnvelope 0, // 3: xmtp.xmtpv4.message_api.QueryEnvelopesRequest.query:type_name -> xmtp.xmtpv4.message_api.EnvelopesQuery - 12, // 4: xmtp.xmtpv4.message_api.QueryEnvelopesResponse.envelopes:type_name -> xmtp.xmtpv4.envelopes.OriginatorEnvelope - 13, // 5: xmtp.xmtpv4.message_api.PublishPayerEnvelopesRequest.payer_envelopes:type_name -> xmtp.xmtpv4.envelopes.PayerEnvelope - 12, // 6: xmtp.xmtpv4.message_api.PublishPayerEnvelopesResponse.originator_envelopes:type_name -> xmtp.xmtpv4.envelopes.OriginatorEnvelope - 9, // 7: xmtp.xmtpv4.message_api.GetInboxIdsRequest.requests:type_name -> xmtp.xmtpv4.message_api.GetInboxIdsRequest.Request - 10, // 8: xmtp.xmtpv4.message_api.GetInboxIdsResponse.responses:type_name -> xmtp.xmtpv4.message_api.GetInboxIdsResponse.Response - 1, // 9: xmtp.xmtpv4.message_api.ReplicationApi.SubscribeEnvelopes:input_type -> xmtp.xmtpv4.message_api.SubscribeEnvelopesRequest - 3, // 10: xmtp.xmtpv4.message_api.ReplicationApi.QueryEnvelopes:input_type -> xmtp.xmtpv4.message_api.QueryEnvelopesRequest - 5, // 11: xmtp.xmtpv4.message_api.ReplicationApi.PublishPayerEnvelopes:input_type -> xmtp.xmtpv4.message_api.PublishPayerEnvelopesRequest - 7, // 12: xmtp.xmtpv4.message_api.ReplicationApi.GetInboxIds:input_type -> xmtp.xmtpv4.message_api.GetInboxIdsRequest - 2, // 13: xmtp.xmtpv4.message_api.ReplicationApi.SubscribeEnvelopes:output_type -> xmtp.xmtpv4.message_api.SubscribeEnvelopesResponse - 4, // 14: xmtp.xmtpv4.message_api.ReplicationApi.QueryEnvelopes:output_type -> xmtp.xmtpv4.message_api.QueryEnvelopesResponse - 6, // 15: xmtp.xmtpv4.message_api.ReplicationApi.PublishPayerEnvelopes:output_type -> xmtp.xmtpv4.message_api.PublishPayerEnvelopesResponse - 8, // 16: xmtp.xmtpv4.message_api.ReplicationApi.GetInboxIds:output_type -> xmtp.xmtpv4.message_api.GetInboxIdsResponse - 13, // [13:17] is the sub-list for method output_type - 9, // [9:13] is the sub-list for method input_type - 9, // [9:9] is the sub-list for extension type_name - 9, // [9:9] is the sub-list for extension extendee - 0, // [0:9] is the sub-list for field type_name + 15, // 4: xmtp.xmtpv4.message_api.QueryEnvelopesResponse.envelopes:type_name -> xmtp.xmtpv4.envelopes.OriginatorEnvelope + 16, // 5: xmtp.xmtpv4.message_api.PublishPayerEnvelopesRequest.payer_envelopes:type_name -> xmtp.xmtpv4.envelopes.PayerEnvelope + 15, // 6: xmtp.xmtpv4.message_api.PublishPayerEnvelopesResponse.originator_envelopes:type_name -> xmtp.xmtpv4.envelopes.OriginatorEnvelope + 11, // 7: xmtp.xmtpv4.message_api.GetInboxIdsRequest.requests:type_name -> xmtp.xmtpv4.message_api.GetInboxIdsRequest.Request + 12, // 8: xmtp.xmtpv4.message_api.GetInboxIdsResponse.responses:type_name -> xmtp.xmtpv4.message_api.GetInboxIdsResponse.Response + 13, // 9: xmtp.xmtpv4.message_api.GetNewestEnvelopeResponse.results:type_name -> xmtp.xmtpv4.message_api.GetNewestEnvelopeResponse.Response + 17, // 10: xmtp.xmtpv4.message_api.GetInboxIdsRequest.Request.identifier_kind:type_name -> xmtp.identity.associations.IdentifierKind + 17, // 11: xmtp.xmtpv4.message_api.GetInboxIdsResponse.Response.identifier_kind:type_name -> xmtp.identity.associations.IdentifierKind + 15, // 12: xmtp.xmtpv4.message_api.GetNewestEnvelopeResponse.Response.originator_envelope:type_name -> xmtp.xmtpv4.envelopes.OriginatorEnvelope + 1, // 13: xmtp.xmtpv4.message_api.ReplicationApi.SubscribeEnvelopes:input_type -> xmtp.xmtpv4.message_api.SubscribeEnvelopesRequest + 3, // 14: xmtp.xmtpv4.message_api.ReplicationApi.QueryEnvelopes:input_type -> xmtp.xmtpv4.message_api.QueryEnvelopesRequest + 5, // 15: xmtp.xmtpv4.message_api.ReplicationApi.PublishPayerEnvelopes:input_type -> xmtp.xmtpv4.message_api.PublishPayerEnvelopesRequest + 7, // 16: xmtp.xmtpv4.message_api.ReplicationApi.GetInboxIds:input_type -> xmtp.xmtpv4.message_api.GetInboxIdsRequest + 9, // 17: xmtp.xmtpv4.message_api.ReplicationApi.GetNewestEnvelope:input_type -> xmtp.xmtpv4.message_api.GetNewestEnvelopeRequest + 2, // 18: xmtp.xmtpv4.message_api.ReplicationApi.SubscribeEnvelopes:output_type -> xmtp.xmtpv4.message_api.SubscribeEnvelopesResponse + 4, // 19: xmtp.xmtpv4.message_api.ReplicationApi.QueryEnvelopes:output_type -> xmtp.xmtpv4.message_api.QueryEnvelopesResponse + 6, // 20: xmtp.xmtpv4.message_api.ReplicationApi.PublishPayerEnvelopes:output_type -> xmtp.xmtpv4.message_api.PublishPayerEnvelopesResponse + 8, // 21: xmtp.xmtpv4.message_api.ReplicationApi.GetInboxIds:output_type -> xmtp.xmtpv4.message_api.GetInboxIdsResponse + 10, // 22: xmtp.xmtpv4.message_api.ReplicationApi.GetNewestEnvelope:output_type -> xmtp.xmtpv4.message_api.GetNewestEnvelopeResponse + 18, // [18:23] is the sub-list for method output_type + 13, // [13:18] is the sub-list for method input_type + 13, // [13:13] is the sub-list for extension type_name + 13, // [13:13] is the sub-list for extension extendee + 0, // [0:13] is the sub-list for field type_name } func init() { file_xmtpv4_message_api_message_api_proto_init() } @@ -755,14 +827,15 @@ func file_xmtpv4_message_api_message_api_proto_init() { if File_xmtpv4_message_api_message_api_proto != nil { return } - file_xmtpv4_message_api_message_api_proto_msgTypes[10].OneofWrappers = []any{} + file_xmtpv4_message_api_message_api_proto_msgTypes[12].OneofWrappers = []any{} + file_xmtpv4_message_api_message_api_proto_msgTypes[13].OneofWrappers = []any{} type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: unsafe.Slice(unsafe.StringData(file_xmtpv4_message_api_message_api_proto_rawDesc), len(file_xmtpv4_message_api_message_api_proto_rawDesc)), NumEnums: 0, - NumMessages: 11, + NumMessages: 14, NumExtensions: 0, NumServices: 1, }, diff --git a/pkg/proto/xmtpv4/message_api/message_api_grpc.pb.go b/pkg/proto/xmtpv4/message_api/message_api_grpc.pb.go index 60f3560..d003ee7 100644 --- a/pkg/proto/xmtpv4/message_api/message_api_grpc.pb.go +++ b/pkg/proto/xmtpv4/message_api/message_api_grpc.pb.go @@ -25,6 +25,7 @@ const ( ReplicationApi_QueryEnvelopes_FullMethodName = "/xmtp.xmtpv4.message_api.ReplicationApi/QueryEnvelopes" ReplicationApi_PublishPayerEnvelopes_FullMethodName = "/xmtp.xmtpv4.message_api.ReplicationApi/PublishPayerEnvelopes" ReplicationApi_GetInboxIds_FullMethodName = "/xmtp.xmtpv4.message_api.ReplicationApi/GetInboxIds" + ReplicationApi_GetNewestEnvelope_FullMethodName = "/xmtp.xmtpv4.message_api.ReplicationApi/GetNewestEnvelope" ) // ReplicationApiClient is the client API for ReplicationApi service. @@ -35,6 +36,8 @@ type ReplicationApiClient interface { QueryEnvelopes(ctx context.Context, in *QueryEnvelopesRequest, opts ...grpc.CallOption) (*QueryEnvelopesResponse, error) PublishPayerEnvelopes(ctx context.Context, in *PublishPayerEnvelopesRequest, opts ...grpc.CallOption) (*PublishPayerEnvelopesResponse, error) GetInboxIds(ctx context.Context, in *GetInboxIdsRequest, opts ...grpc.CallOption) (*GetInboxIdsResponse, error) + // Get the newest envelope for each topic + GetNewestEnvelope(ctx context.Context, in *GetNewestEnvelopeRequest, opts ...grpc.CallOption) (*GetNewestEnvelopeResponse, error) } type replicationApiClient struct { @@ -104,6 +107,15 @@ func (c *replicationApiClient) GetInboxIds(ctx context.Context, in *GetInboxIdsR return out, nil } +func (c *replicationApiClient) GetNewestEnvelope(ctx context.Context, in *GetNewestEnvelopeRequest, opts ...grpc.CallOption) (*GetNewestEnvelopeResponse, error) { + out := new(GetNewestEnvelopeResponse) + err := c.cc.Invoke(ctx, ReplicationApi_GetNewestEnvelope_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + // ReplicationApiServer is the server API for ReplicationApi service. // All implementations must embed UnimplementedReplicationApiServer // for forward compatibility @@ -112,6 +124,8 @@ type ReplicationApiServer interface { QueryEnvelopes(context.Context, *QueryEnvelopesRequest) (*QueryEnvelopesResponse, error) PublishPayerEnvelopes(context.Context, *PublishPayerEnvelopesRequest) (*PublishPayerEnvelopesResponse, error) GetInboxIds(context.Context, *GetInboxIdsRequest) (*GetInboxIdsResponse, error) + // Get the newest envelope for each topic + GetNewestEnvelope(context.Context, *GetNewestEnvelopeRequest) (*GetNewestEnvelopeResponse, error) mustEmbedUnimplementedReplicationApiServer() } @@ -131,6 +145,9 @@ func (UnimplementedReplicationApiServer) PublishPayerEnvelopes(context.Context, func (UnimplementedReplicationApiServer) GetInboxIds(context.Context, *GetInboxIdsRequest) (*GetInboxIdsResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method GetInboxIds not implemented") } +func (UnimplementedReplicationApiServer) GetNewestEnvelope(context.Context, *GetNewestEnvelopeRequest) (*GetNewestEnvelopeResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetNewestEnvelope not implemented") +} func (UnimplementedReplicationApiServer) mustEmbedUnimplementedReplicationApiServer() {} // UnsafeReplicationApiServer may be embedded to opt out of forward compatibility for this service. @@ -219,6 +236,24 @@ func _ReplicationApi_GetInboxIds_Handler(srv interface{}, ctx context.Context, d return interceptor(ctx, in, info, handler) } +func _ReplicationApi_GetNewestEnvelope_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(GetNewestEnvelopeRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(ReplicationApiServer).GetNewestEnvelope(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: ReplicationApi_GetNewestEnvelope_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(ReplicationApiServer).GetNewestEnvelope(ctx, req.(*GetNewestEnvelopeRequest)) + } + return interceptor(ctx, in, info, handler) +} + // ReplicationApi_ServiceDesc is the grpc.ServiceDesc for ReplicationApi service. // It's only intended for direct use with grpc.RegisterService, // and not to be introspected or modified (even as a copy) @@ -238,6 +273,10 @@ var ReplicationApi_ServiceDesc = grpc.ServiceDesc{ MethodName: "GetInboxIds", Handler: _ReplicationApi_GetInboxIds_Handler, }, + { + MethodName: "GetNewestEnvelope", + Handler: _ReplicationApi_GetNewestEnvelope_Handler, + }, }, Streams: []grpc.StreamDesc{ { diff --git a/pkg/proto/xmtpv4/message_api/misbehavior_api.pb.go b/pkg/proto/xmtpv4/message_api/misbehavior_api.pb.go index f7ee3c2..6311518 100644 --- a/pkg/proto/xmtpv4/message_api/misbehavior_api.pb.go +++ b/pkg/proto/xmtpv4/message_api/misbehavior_api.pb.go @@ -2,7 +2,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.36.5 +// protoc-gen-go v1.36.10 // protoc (unknown) // source: xmtpv4/message_api/misbehavior_api.proto @@ -591,165 +591,50 @@ func (x *QueryMisbehaviorReportsResponse) GetReports() []*MisbehaviorReport { var File_xmtpv4_message_api_misbehavior_api_proto protoreflect.FileDescriptor -var file_xmtpv4_message_api_misbehavior_api_proto_rawDesc = string([]byte{ - 0x0a, 0x28, 0x78, 0x6d, 0x74, 0x70, 0x76, 0x34, 0x2f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, - 0x5f, 0x61, 0x70, 0x69, 0x2f, 0x6d, 0x69, 0x73, 0x62, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, - 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x17, 0x78, 0x6d, 0x74, 0x70, - 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x76, 0x34, 0x2e, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, - 0x61, 0x70, 0x69, 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, - 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x1a, 0x25, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2f, 0x61, 0x73, 0x73, 0x6f, - 0x63, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, - 0x72, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x20, 0x78, 0x6d, 0x74, 0x70, 0x76, 0x34, - 0x2f, 0x65, 0x6e, 0x76, 0x65, 0x6c, 0x6f, 0x70, 0x65, 0x73, 0x2f, 0x65, 0x6e, 0x76, 0x65, 0x6c, - 0x6f, 0x70, 0x65, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x24, 0x78, 0x6d, 0x74, 0x70, - 0x76, 0x34, 0x2f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x61, 0x70, 0x69, 0x2f, 0x6d, - 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x22, 0xb5, 0x02, 0x0a, 0x0f, 0x4c, 0x69, 0x76, 0x65, 0x6e, 0x65, 0x73, 0x73, 0x46, 0x61, 0x69, - 0x6c, 0x75, 0x72, 0x65, 0x12, 0x28, 0x0a, 0x10, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, - 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x4e, 0x73, 0x12, 0x52, - 0x0a, 0x09, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x32, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x76, 0x34, 0x2e, - 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x53, 0x75, 0x62, 0x73, - 0x63, 0x72, 0x69, 0x62, 0x65, 0x45, 0x6e, 0x76, 0x65, 0x6c, 0x6f, 0x70, 0x65, 0x73, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x09, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, - 0x62, 0x65, 0x12, 0x46, 0x0a, 0x05, 0x71, 0x75, 0x65, 0x72, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x2e, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x76, 0x34, 0x2e, - 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x51, 0x75, 0x65, 0x72, - 0x79, 0x45, 0x6e, 0x76, 0x65, 0x6c, 0x6f, 0x70, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x48, 0x00, 0x52, 0x05, 0x71, 0x75, 0x65, 0x72, 0x79, 0x12, 0x51, 0x0a, 0x07, 0x70, 0x75, - 0x62, 0x6c, 0x69, 0x73, 0x68, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x78, 0x6d, - 0x74, 0x70, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x76, 0x34, 0x2e, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, - 0x65, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x50, 0x61, 0x79, - 0x65, 0x72, 0x45, 0x6e, 0x76, 0x65, 0x6c, 0x6f, 0x70, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x48, 0x00, 0x52, 0x07, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x42, 0x09, 0x0a, - 0x07, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x58, 0x0a, 0x0d, 0x53, 0x61, 0x66, 0x65, - 0x74, 0x79, 0x46, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x12, 0x47, 0x0a, 0x09, 0x65, 0x6e, 0x76, - 0x65, 0x6c, 0x6f, 0x70, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x78, - 0x6d, 0x74, 0x70, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x76, 0x34, 0x2e, 0x65, 0x6e, 0x76, 0x65, 0x6c, - 0x6f, 0x70, 0x65, 0x73, 0x2e, 0x4f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x6f, 0x72, 0x45, - 0x6e, 0x76, 0x65, 0x6c, 0x6f, 0x70, 0x65, 0x52, 0x09, 0x65, 0x6e, 0x76, 0x65, 0x6c, 0x6f, 0x70, - 0x65, 0x73, 0x22, 0xf0, 0x02, 0x0a, 0x19, 0x55, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x4d, - 0x69, 0x73, 0x62, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, - 0x12, 0x28, 0x0a, 0x10, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x5f, 0x74, 0x69, 0x6d, - 0x65, 0x5f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0e, 0x72, 0x65, 0x70, 0x6f, - 0x72, 0x74, 0x65, 0x72, 0x54, 0x69, 0x6d, 0x65, 0x4e, 0x73, 0x12, 0x2e, 0x0a, 0x13, 0x6d, 0x69, - 0x73, 0x62, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6e, 0x67, 0x5f, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x69, - 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x11, 0x6d, 0x69, 0x73, 0x62, 0x65, 0x68, 0x61, - 0x76, 0x69, 0x6e, 0x67, 0x4e, 0x6f, 0x64, 0x65, 0x49, 0x64, 0x12, 0x38, 0x0a, 0x04, 0x74, 0x79, - 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x24, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, - 0x78, 0x6d, 0x74, 0x70, 0x76, 0x34, 0x2e, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x61, - 0x70, 0x69, 0x2e, 0x4d, 0x69, 0x73, 0x62, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x52, 0x04, - 0x74, 0x79, 0x70, 0x65, 0x12, 0x46, 0x0a, 0x08, 0x6c, 0x69, 0x76, 0x65, 0x6e, 0x65, 0x73, 0x73, - 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x78, 0x6d, - 0x74, 0x70, 0x76, 0x34, 0x2e, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x61, 0x70, 0x69, - 0x2e, 0x4c, 0x69, 0x76, 0x65, 0x6e, 0x65, 0x73, 0x73, 0x46, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, - 0x48, 0x00, 0x52, 0x08, 0x6c, 0x69, 0x76, 0x65, 0x6e, 0x65, 0x73, 0x73, 0x12, 0x40, 0x0a, 0x06, - 0x73, 0x61, 0x66, 0x65, 0x74, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x78, - 0x6d, 0x74, 0x70, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x76, 0x34, 0x2e, 0x6d, 0x65, 0x73, 0x73, 0x61, - 0x67, 0x65, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x53, 0x61, 0x66, 0x65, 0x74, 0x79, 0x46, 0x61, 0x69, - 0x6c, 0x75, 0x72, 0x65, 0x48, 0x00, 0x52, 0x06, 0x73, 0x61, 0x66, 0x65, 0x74, 0x79, 0x12, 0x2a, - 0x0a, 0x11, 0x73, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x64, 0x5f, 0x62, 0x79, 0x5f, 0x6e, - 0x6f, 0x64, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x73, 0x75, 0x62, 0x6d, 0x69, - 0x74, 0x74, 0x65, 0x64, 0x42, 0x79, 0x4e, 0x6f, 0x64, 0x65, 0x42, 0x09, 0x0a, 0x07, 0x66, 0x61, - 0x69, 0x6c, 0x75, 0x72, 0x65, 0x22, 0xce, 0x01, 0x0a, 0x11, 0x4d, 0x69, 0x73, 0x62, 0x65, 0x68, - 0x61, 0x76, 0x69, 0x6f, 0x72, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x24, 0x0a, 0x0e, 0x73, - 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x6e, 0x73, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x04, 0x52, 0x0c, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x54, 0x69, 0x6d, 0x65, 0x4e, - 0x73, 0x12, 0x3e, 0x0a, 0x1b, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x5f, 0x6d, 0x69, - 0x73, 0x62, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x5f, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x19, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, - 0x4d, 0x69, 0x73, 0x62, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x52, 0x65, 0x70, 0x6f, 0x72, - 0x74, 0x12, 0x53, 0x0a, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x69, 0x64, 0x65, 0x6e, - 0x74, 0x69, 0x74, 0x79, 0x2e, 0x61, 0x73, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x73, 0x2e, 0x52, 0x65, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x61, 0x62, 0x6c, 0x65, 0x45, 0x63, 0x64, - 0x73, 0x61, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x52, 0x09, 0x73, 0x69, 0x67, - 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x22, 0x6c, 0x0a, 0x1e, 0x53, 0x75, 0x62, 0x6d, 0x69, 0x74, - 0x4d, 0x69, 0x73, 0x62, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x52, 0x65, 0x70, 0x6f, 0x72, - 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x4a, 0x0a, 0x06, 0x72, 0x65, 0x70, 0x6f, - 0x72, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, - 0x78, 0x6d, 0x74, 0x70, 0x76, 0x34, 0x2e, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x61, - 0x70, 0x69, 0x2e, 0x55, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x4d, 0x69, 0x73, 0x62, 0x65, - 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x06, 0x72, 0x65, - 0x70, 0x6f, 0x72, 0x74, 0x22, 0x21, 0x0a, 0x1f, 0x53, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x4d, 0x69, - 0x73, 0x62, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x3b, 0x0a, 0x1e, 0x51, 0x75, 0x65, 0x72, 0x79, - 0x4d, 0x69, 0x73, 0x62, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x52, 0x65, 0x70, 0x6f, 0x72, - 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x19, 0x0a, 0x08, 0x61, 0x66, 0x74, - 0x65, 0x72, 0x5f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x61, 0x66, 0x74, - 0x65, 0x72, 0x4e, 0x73, 0x22, 0x67, 0x0a, 0x1f, 0x51, 0x75, 0x65, 0x72, 0x79, 0x4d, 0x69, 0x73, - 0x62, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x44, 0x0a, 0x07, 0x72, 0x65, 0x70, 0x6f, 0x72, - 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, - 0x78, 0x6d, 0x74, 0x70, 0x76, 0x34, 0x2e, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x61, - 0x70, 0x69, 0x2e, 0x4d, 0x69, 0x73, 0x62, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x52, 0x65, - 0x70, 0x6f, 0x72, 0x74, 0x52, 0x07, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2a, 0xb9, 0x02, - 0x0a, 0x0b, 0x4d, 0x69, 0x73, 0x62, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x12, 0x1b, 0x0a, - 0x17, 0x4d, 0x49, 0x53, 0x42, 0x45, 0x48, 0x41, 0x56, 0x49, 0x4f, 0x52, 0x5f, 0x55, 0x4e, 0x53, - 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x21, 0x0a, 0x1d, 0x4d, 0x49, - 0x53, 0x42, 0x45, 0x48, 0x41, 0x56, 0x49, 0x4f, 0x52, 0x5f, 0x55, 0x4e, 0x52, 0x45, 0x53, 0x50, - 0x4f, 0x4e, 0x53, 0x49, 0x56, 0x45, 0x5f, 0x4e, 0x4f, 0x44, 0x45, 0x10, 0x01, 0x12, 0x19, 0x0a, - 0x15, 0x4d, 0x49, 0x53, 0x42, 0x45, 0x48, 0x41, 0x56, 0x49, 0x4f, 0x52, 0x5f, 0x53, 0x4c, 0x4f, - 0x57, 0x5f, 0x4e, 0x4f, 0x44, 0x45, 0x10, 0x02, 0x12, 0x1e, 0x0a, 0x1a, 0x4d, 0x49, 0x53, 0x42, - 0x45, 0x48, 0x41, 0x56, 0x49, 0x4f, 0x52, 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x5f, 0x52, - 0x45, 0x51, 0x55, 0x45, 0x53, 0x54, 0x10, 0x03, 0x12, 0x1c, 0x0a, 0x18, 0x4d, 0x49, 0x53, 0x42, - 0x45, 0x48, 0x41, 0x56, 0x49, 0x4f, 0x52, 0x5f, 0x4f, 0x55, 0x54, 0x5f, 0x4f, 0x46, 0x5f, 0x4f, - 0x52, 0x44, 0x45, 0x52, 0x10, 0x04, 0x12, 0x25, 0x0a, 0x21, 0x4d, 0x49, 0x53, 0x42, 0x45, 0x48, - 0x41, 0x56, 0x49, 0x4f, 0x52, 0x5f, 0x44, 0x55, 0x50, 0x4c, 0x49, 0x43, 0x41, 0x54, 0x45, 0x5f, - 0x53, 0x45, 0x51, 0x55, 0x45, 0x4e, 0x43, 0x45, 0x5f, 0x49, 0x44, 0x10, 0x05, 0x12, 0x1f, 0x0a, - 0x1b, 0x4d, 0x49, 0x53, 0x42, 0x45, 0x48, 0x41, 0x56, 0x49, 0x4f, 0x52, 0x5f, 0x43, 0x41, 0x55, - 0x53, 0x41, 0x4c, 0x5f, 0x4f, 0x52, 0x44, 0x45, 0x52, 0x49, 0x4e, 0x47, 0x10, 0x06, 0x12, 0x1f, - 0x0a, 0x1b, 0x4d, 0x49, 0x53, 0x42, 0x45, 0x48, 0x41, 0x56, 0x49, 0x4f, 0x52, 0x5f, 0x49, 0x4e, - 0x56, 0x41, 0x4c, 0x49, 0x44, 0x5f, 0x50, 0x41, 0x59, 0x4c, 0x4f, 0x41, 0x44, 0x10, 0x07, 0x12, - 0x28, 0x0a, 0x24, 0x4d, 0x49, 0x53, 0x42, 0x45, 0x48, 0x41, 0x56, 0x49, 0x4f, 0x52, 0x5f, 0x42, - 0x4c, 0x4f, 0x43, 0x4b, 0x43, 0x48, 0x41, 0x49, 0x4e, 0x5f, 0x49, 0x4e, 0x43, 0x4f, 0x4e, 0x53, - 0x49, 0x53, 0x54, 0x45, 0x4e, 0x43, 0x59, 0x10, 0x08, 0x32, 0x8a, 0x03, 0x0a, 0x0e, 0x4d, 0x69, - 0x73, 0x62, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x41, 0x70, 0x69, 0x12, 0xba, 0x01, 0x0a, - 0x17, 0x53, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x4d, 0x69, 0x73, 0x62, 0x65, 0x68, 0x61, 0x76, 0x69, - 0x6f, 0x72, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x37, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, - 0x78, 0x6d, 0x74, 0x70, 0x76, 0x34, 0x2e, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x61, - 0x70, 0x69, 0x2e, 0x53, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x4d, 0x69, 0x73, 0x62, 0x65, 0x68, 0x61, - 0x76, 0x69, 0x6f, 0x72, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x38, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x76, 0x34, 0x2e, - 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x53, 0x75, 0x62, 0x6d, - 0x69, 0x74, 0x4d, 0x69, 0x73, 0x62, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x52, 0x65, 0x70, - 0x6f, 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x2c, 0x82, 0xd3, 0xe4, - 0x93, 0x02, 0x26, 0x3a, 0x01, 0x2a, 0x22, 0x21, 0x2f, 0x6d, 0x6c, 0x73, 0x2f, 0x76, 0x32, 0x2f, - 0x73, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x2d, 0x6d, 0x69, 0x73, 0x62, 0x65, 0x68, 0x61, 0x76, 0x69, - 0x6f, 0x72, 0x2d, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x12, 0xba, 0x01, 0x0a, 0x17, 0x51, 0x75, - 0x65, 0x72, 0x79, 0x4d, 0x69, 0x73, 0x62, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x52, 0x65, - 0x70, 0x6f, 0x72, 0x74, 0x73, 0x12, 0x37, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x78, 0x6d, 0x74, - 0x70, 0x76, 0x34, 0x2e, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x61, 0x70, 0x69, 0x2e, - 0x51, 0x75, 0x65, 0x72, 0x79, 0x4d, 0x69, 0x73, 0x62, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, - 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x38, - 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x76, 0x34, 0x2e, 0x6d, 0x65, 0x73, - 0x73, 0x61, 0x67, 0x65, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x4d, 0x69, - 0x73, 0x62, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x2c, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x26, - 0x3a, 0x01, 0x2a, 0x22, 0x21, 0x2f, 0x6d, 0x6c, 0x73, 0x2f, 0x76, 0x32, 0x2f, 0x71, 0x75, 0x65, - 0x72, 0x79, 0x2d, 0x6d, 0x69, 0x73, 0x62, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x2d, 0x72, - 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x42, 0x93, 0x02, 0x0a, 0x35, 0x6f, 0x72, 0x67, 0x2e, 0x78, - 0x6d, 0x74, 0x70, 0x2e, 0x61, 0x6e, 0x64, 0x72, 0x6f, 0x69, 0x64, 0x2e, 0x6c, 0x69, 0x62, 0x72, - 0x61, 0x72, 0x79, 0x2e, 0x70, 0x75, 0x73, 0x68, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x78, 0x6d, - 0x74, 0x70, 0x76, 0x34, 0x2e, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x61, 0x70, 0x69, - 0x42, 0x13, 0x4d, 0x69, 0x73, 0x62, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x41, 0x70, 0x69, - 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x4b, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, - 0x63, 0x6f, 0x6d, 0x2f, 0x78, 0x6d, 0x74, 0x70, 0x2f, 0x65, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, - 0x2d, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2d, 0x73, 0x65, - 0x72, 0x76, 0x65, 0x72, 0x2d, 0x67, 0x6f, 0x2f, 0x70, 0x6b, 0x67, 0x2f, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x2f, 0x78, 0x6d, 0x74, 0x70, 0x76, 0x34, 0x2f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, - 0x5f, 0x61, 0x70, 0x69, 0xa2, 0x02, 0x03, 0x58, 0x58, 0x4d, 0xaa, 0x02, 0x16, 0x58, 0x6d, 0x74, - 0x70, 0x2e, 0x58, 0x6d, 0x74, 0x70, 0x76, 0x34, 0x2e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, - 0x41, 0x70, 0x69, 0xca, 0x02, 0x16, 0x58, 0x6d, 0x74, 0x70, 0x5c, 0x58, 0x6d, 0x74, 0x70, 0x76, - 0x34, 0x5c, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x41, 0x70, 0x69, 0xe2, 0x02, 0x22, 0x58, - 0x6d, 0x74, 0x70, 0x5c, 0x58, 0x6d, 0x74, 0x70, 0x76, 0x34, 0x5c, 0x4d, 0x65, 0x73, 0x73, 0x61, - 0x67, 0x65, 0x41, 0x70, 0x69, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, - 0x61, 0xea, 0x02, 0x18, 0x58, 0x6d, 0x74, 0x70, 0x3a, 0x3a, 0x58, 0x6d, 0x74, 0x70, 0x76, 0x34, - 0x3a, 0x3a, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x41, 0x70, 0x69, 0x62, 0x06, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x33, -}) +const file_xmtpv4_message_api_misbehavior_api_proto_rawDesc = "" + + "\n" + + "(xmtpv4/message_api/misbehavior_api.proto\x12\x17xmtp.xmtpv4.message_api\x1a\x1cgoogle/api/annotations.proto\x1a%identity/associations/signature.proto\x1a xmtpv4/envelopes/envelopes.proto\x1a$xmtpv4/message_api/message_api.proto\"\xb5\x02\n" + + "\x0fLivenessFailure\x12(\n" + + "\x10response_time_ns\x18\x01 \x01(\rR\x0eresponseTimeNs\x12R\n" + + "\tsubscribe\x18\x02 \x01(\v22.xmtp.xmtpv4.message_api.SubscribeEnvelopesRequestH\x00R\tsubscribe\x12F\n" + + "\x05query\x18\x03 \x01(\v2..xmtp.xmtpv4.message_api.QueryEnvelopesRequestH\x00R\x05query\x12Q\n" + + "\apublish\x18\x04 \x01(\v25.xmtp.xmtpv4.message_api.PublishPayerEnvelopesRequestH\x00R\apublishB\t\n" + + "\arequest\"X\n" + + "\rSafetyFailure\x12G\n" + + "\tenvelopes\x18\x01 \x03(\v2).xmtp.xmtpv4.envelopes.OriginatorEnvelopeR\tenvelopes\"\xf0\x02\n" + + "\x19UnsignedMisbehaviorReport\x12(\n" + + "\x10reporter_time_ns\x18\x01 \x01(\x04R\x0ereporterTimeNs\x12.\n" + + "\x13misbehaving_node_id\x18\x02 \x01(\rR\x11misbehavingNodeId\x128\n" + + "\x04type\x18\x03 \x01(\x0e2$.xmtp.xmtpv4.message_api.MisbehaviorR\x04type\x12F\n" + + "\bliveness\x18\x04 \x01(\v2(.xmtp.xmtpv4.message_api.LivenessFailureH\x00R\bliveness\x12@\n" + + "\x06safety\x18\x05 \x01(\v2&.xmtp.xmtpv4.message_api.SafetyFailureH\x00R\x06safety\x12*\n" + + "\x11submitted_by_node\x18\x06 \x01(\bR\x0fsubmittedByNodeB\t\n" + + "\afailure\"\xce\x01\n" + + "\x11MisbehaviorReport\x12$\n" + + "\x0eserver_time_ns\x18\x01 \x01(\x04R\fserverTimeNs\x12>\n" + + "\x1bunsigned_misbehavior_report\x18\x02 \x01(\fR\x19unsignedMisbehaviorReport\x12S\n" + + "\tsignature\x18\x03 \x01(\v25.xmtp.identity.associations.RecoverableEcdsaSignatureR\tsignature\"l\n" + + "\x1eSubmitMisbehaviorReportRequest\x12J\n" + + "\x06report\x18\x01 \x01(\v22.xmtp.xmtpv4.message_api.UnsignedMisbehaviorReportR\x06report\"!\n" + + "\x1fSubmitMisbehaviorReportResponse\";\n" + + "\x1eQueryMisbehaviorReportsRequest\x12\x19\n" + + "\bafter_ns\x18\x01 \x01(\x04R\aafterNs\"g\n" + + "\x1fQueryMisbehaviorReportsResponse\x12D\n" + + "\areports\x18\x01 \x03(\v2*.xmtp.xmtpv4.message_api.MisbehaviorReportR\areports*\xb9\x02\n" + + "\vMisbehavior\x12\x1b\n" + + "\x17MISBEHAVIOR_UNSPECIFIED\x10\x00\x12!\n" + + "\x1dMISBEHAVIOR_UNRESPONSIVE_NODE\x10\x01\x12\x19\n" + + "\x15MISBEHAVIOR_SLOW_NODE\x10\x02\x12\x1e\n" + + "\x1aMISBEHAVIOR_FAILED_REQUEST\x10\x03\x12\x1c\n" + + "\x18MISBEHAVIOR_OUT_OF_ORDER\x10\x04\x12%\n" + + "!MISBEHAVIOR_DUPLICATE_SEQUENCE_ID\x10\x05\x12\x1f\n" + + "\x1bMISBEHAVIOR_CAUSAL_ORDERING\x10\x06\x12\x1f\n" + + "\x1bMISBEHAVIOR_INVALID_PAYLOAD\x10\a\x12(\n" + + "$MISBEHAVIOR_BLOCKCHAIN_INCONSISTENCY\x10\b2\x8a\x03\n" + + "\x0eMisbehaviorApi\x12\xba\x01\n" + + "\x17SubmitMisbehaviorReport\x127.xmtp.xmtpv4.message_api.SubmitMisbehaviorReportRequest\x1a8.xmtp.xmtpv4.message_api.SubmitMisbehaviorReportResponse\",\x82\xd3\xe4\x93\x02&:\x01*\"!/mls/v2/submit-misbehavior-report\x12\xba\x01\n" + + "\x17QueryMisbehaviorReports\x127.xmtp.xmtpv4.message_api.QueryMisbehaviorReportsRequest\x1a8.xmtp.xmtpv4.message_api.QueryMisbehaviorReportsResponse\",\x82\xd3\xe4\x93\x02&:\x01*\"!/mls/v2/query-misbehavior-reportsB\x93\x02\n" + + "5org.xmtp.android.library.push.xmtp.xmtpv4.message_apiB\x13MisbehaviorApiProtoP\x01ZKgithub.com/xmtp/example-notification-server-go/pkg/proto/xmtpv4/message_api\xa2\x02\x03XXM\xaa\x02\x16Xmtp.Xmtpv4.MessageApi\xca\x02\x16Xmtp\\Xmtpv4\\MessageApi\xe2\x02\"Xmtp\\Xmtpv4\\MessageApi\\GPBMetadata\xea\x02\x18Xmtp::Xmtpv4::MessageApib\x06proto3" var ( file_xmtpv4_message_api_misbehavior_api_proto_rawDescOnce sync.Once diff --git a/pkg/proto/xmtpv4/metadata_api/metadata_api.pb.go b/pkg/proto/xmtpv4/metadata_api/metadata_api.pb.go new file mode 100644 index 0000000..7eb83c1 --- /dev/null +++ b/pkg/proto/xmtpv4/metadata_api/metadata_api.pb.go @@ -0,0 +1,551 @@ +// Metadata API + +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.36.10 +// protoc (unknown) +// source: xmtpv4/metadata_api/metadata_api.proto + +package metadata_api + +import ( + envelopes "github.com/xmtp/example-notification-server-go/pkg/proto/xmtpv4/envelopes" + _ "google.golang.org/genproto/googleapis/api/annotations" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + reflect "reflect" + sync "sync" + unsafe "unsafe" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// Whether to group spend by hour or day +type PayerInfoGranularity int32 + +const ( + PayerInfoGranularity_PAYER_INFO_GRANULARITY_UNSPECIFIED PayerInfoGranularity = 0 + PayerInfoGranularity_PAYER_INFO_GRANULARITY_HOUR PayerInfoGranularity = 1 + PayerInfoGranularity_PAYER_INFO_GRANULARITY_DAY PayerInfoGranularity = 2 +) + +// Enum value maps for PayerInfoGranularity. +var ( + PayerInfoGranularity_name = map[int32]string{ + 0: "PAYER_INFO_GRANULARITY_UNSPECIFIED", + 1: "PAYER_INFO_GRANULARITY_HOUR", + 2: "PAYER_INFO_GRANULARITY_DAY", + } + PayerInfoGranularity_value = map[string]int32{ + "PAYER_INFO_GRANULARITY_UNSPECIFIED": 0, + "PAYER_INFO_GRANULARITY_HOUR": 1, + "PAYER_INFO_GRANULARITY_DAY": 2, + } +) + +func (x PayerInfoGranularity) Enum() *PayerInfoGranularity { + p := new(PayerInfoGranularity) + *p = x + return p +} + +func (x PayerInfoGranularity) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (PayerInfoGranularity) Descriptor() protoreflect.EnumDescriptor { + return file_xmtpv4_metadata_api_metadata_api_proto_enumTypes[0].Descriptor() +} + +func (PayerInfoGranularity) Type() protoreflect.EnumType { + return &file_xmtpv4_metadata_api_metadata_api_proto_enumTypes[0] +} + +func (x PayerInfoGranularity) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use PayerInfoGranularity.Descriptor instead. +func (PayerInfoGranularity) EnumDescriptor() ([]byte, []int) { + return file_xmtpv4_metadata_api_metadata_api_proto_rawDescGZIP(), []int{0} +} + +type GetSyncCursorRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *GetSyncCursorRequest) Reset() { + *x = GetSyncCursorRequest{} + mi := &file_xmtpv4_metadata_api_metadata_api_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GetSyncCursorRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetSyncCursorRequest) ProtoMessage() {} + +func (x *GetSyncCursorRequest) ProtoReflect() protoreflect.Message { + mi := &file_xmtpv4_metadata_api_metadata_api_proto_msgTypes[0] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetSyncCursorRequest.ProtoReflect.Descriptor instead. +func (*GetSyncCursorRequest) Descriptor() ([]byte, []int) { + return file_xmtpv4_metadata_api_metadata_api_proto_rawDescGZIP(), []int{0} +} + +type GetSyncCursorResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + LatestSync *envelopes.Cursor `protobuf:"bytes,1,opt,name=latest_sync,json=latestSync,proto3" json:"latest_sync,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *GetSyncCursorResponse) Reset() { + *x = GetSyncCursorResponse{} + mi := &file_xmtpv4_metadata_api_metadata_api_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GetSyncCursorResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetSyncCursorResponse) ProtoMessage() {} + +func (x *GetSyncCursorResponse) ProtoReflect() protoreflect.Message { + mi := &file_xmtpv4_metadata_api_metadata_api_proto_msgTypes[1] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetSyncCursorResponse.ProtoReflect.Descriptor instead. +func (*GetSyncCursorResponse) Descriptor() ([]byte, []int) { + return file_xmtpv4_metadata_api_metadata_api_proto_rawDescGZIP(), []int{1} +} + +func (x *GetSyncCursorResponse) GetLatestSync() *envelopes.Cursor { + if x != nil { + return x.LatestSync + } + return nil +} + +type GetVersionRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *GetVersionRequest) Reset() { + *x = GetVersionRequest{} + mi := &file_xmtpv4_metadata_api_metadata_api_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GetVersionRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetVersionRequest) ProtoMessage() {} + +func (x *GetVersionRequest) ProtoReflect() protoreflect.Message { + mi := &file_xmtpv4_metadata_api_metadata_api_proto_msgTypes[2] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetVersionRequest.ProtoReflect.Descriptor instead. +func (*GetVersionRequest) Descriptor() ([]byte, []int) { + return file_xmtpv4_metadata_api_metadata_api_proto_rawDescGZIP(), []int{2} +} + +type GetVersionResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + Version string `protobuf:"bytes,1,opt,name=version,proto3" json:"version,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *GetVersionResponse) Reset() { + *x = GetVersionResponse{} + mi := &file_xmtpv4_metadata_api_metadata_api_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GetVersionResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetVersionResponse) ProtoMessage() {} + +func (x *GetVersionResponse) ProtoReflect() protoreflect.Message { + mi := &file_xmtpv4_metadata_api_metadata_api_proto_msgTypes[3] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetVersionResponse.ProtoReflect.Descriptor instead. +func (*GetVersionResponse) Descriptor() ([]byte, []int) { + return file_xmtpv4_metadata_api_metadata_api_proto_rawDescGZIP(), []int{3} +} + +func (x *GetVersionResponse) GetVersion() string { + if x != nil { + return x.Version + } + return "" +} + +// Get information about payer spend and message counts for a given time period +type GetPayerInfoRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + PayerAddresses []string `protobuf:"bytes,1,rep,name=payer_addresses,json=payerAddresses,proto3" json:"payer_addresses,omitempty"` + Granularity PayerInfoGranularity `protobuf:"varint,2,opt,name=granularity,proto3,enum=xmtp.xmtpv4.metadata_api.PayerInfoGranularity" json:"granularity,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *GetPayerInfoRequest) Reset() { + *x = GetPayerInfoRequest{} + mi := &file_xmtpv4_metadata_api_metadata_api_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GetPayerInfoRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetPayerInfoRequest) ProtoMessage() {} + +func (x *GetPayerInfoRequest) ProtoReflect() protoreflect.Message { + mi := &file_xmtpv4_metadata_api_metadata_api_proto_msgTypes[4] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetPayerInfoRequest.ProtoReflect.Descriptor instead. +func (*GetPayerInfoRequest) Descriptor() ([]byte, []int) { + return file_xmtpv4_metadata_api_metadata_api_proto_rawDescGZIP(), []int{4} +} + +func (x *GetPayerInfoRequest) GetPayerAddresses() []string { + if x != nil { + return x.PayerAddresses + } + return nil +} + +func (x *GetPayerInfoRequest) GetGranularity() PayerInfoGranularity { + if x != nil { + return x.Granularity + } + return PayerInfoGranularity_PAYER_INFO_GRANULARITY_UNSPECIFIED +} + +// Response to GetPayerInfoRequest +type GetPayerInfoResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + // Map of payer address + PayerInfo map[string]*GetPayerInfoResponse_PayerInfo `protobuf:"bytes,1,rep,name=payer_info,json=payerInfo,proto3" json:"payer_info,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *GetPayerInfoResponse) Reset() { + *x = GetPayerInfoResponse{} + mi := &file_xmtpv4_metadata_api_metadata_api_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GetPayerInfoResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetPayerInfoResponse) ProtoMessage() {} + +func (x *GetPayerInfoResponse) ProtoReflect() protoreflect.Message { + mi := &file_xmtpv4_metadata_api_metadata_api_proto_msgTypes[5] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetPayerInfoResponse.ProtoReflect.Descriptor instead. +func (*GetPayerInfoResponse) Descriptor() ([]byte, []int) { + return file_xmtpv4_metadata_api_metadata_api_proto_rawDescGZIP(), []int{5} +} + +func (x *GetPayerInfoResponse) GetPayerInfo() map[string]*GetPayerInfoResponse_PayerInfo { + if x != nil { + return x.PayerInfo + } + return nil +} + +type GetPayerInfoResponse_PeriodSummary struct { + state protoimpl.MessageState `protogen:"open.v1"` + AmountSpentPicodollars uint64 `protobuf:"varint,1,opt,name=amount_spent_picodollars,json=amountSpentPicodollars,proto3" json:"amount_spent_picodollars,omitempty"` + NumMessages uint64 `protobuf:"varint,2,opt,name=num_messages,json=numMessages,proto3" json:"num_messages,omitempty"` + PeriodStartUnixSeconds uint64 `protobuf:"varint,3,opt,name=period_start_unix_seconds,json=periodStartUnixSeconds,proto3" json:"period_start_unix_seconds,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *GetPayerInfoResponse_PeriodSummary) Reset() { + *x = GetPayerInfoResponse_PeriodSummary{} + mi := &file_xmtpv4_metadata_api_metadata_api_proto_msgTypes[6] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GetPayerInfoResponse_PeriodSummary) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetPayerInfoResponse_PeriodSummary) ProtoMessage() {} + +func (x *GetPayerInfoResponse_PeriodSummary) ProtoReflect() protoreflect.Message { + mi := &file_xmtpv4_metadata_api_metadata_api_proto_msgTypes[6] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetPayerInfoResponse_PeriodSummary.ProtoReflect.Descriptor instead. +func (*GetPayerInfoResponse_PeriodSummary) Descriptor() ([]byte, []int) { + return file_xmtpv4_metadata_api_metadata_api_proto_rawDescGZIP(), []int{5, 0} +} + +func (x *GetPayerInfoResponse_PeriodSummary) GetAmountSpentPicodollars() uint64 { + if x != nil { + return x.AmountSpentPicodollars + } + return 0 +} + +func (x *GetPayerInfoResponse_PeriodSummary) GetNumMessages() uint64 { + if x != nil { + return x.NumMessages + } + return 0 +} + +func (x *GetPayerInfoResponse_PeriodSummary) GetPeriodStartUnixSeconds() uint64 { + if x != nil { + return x.PeriodStartUnixSeconds + } + return 0 +} + +type GetPayerInfoResponse_PayerInfo struct { + state protoimpl.MessageState `protogen:"open.v1"` + PeriodSummaries []*GetPayerInfoResponse_PeriodSummary `protobuf:"bytes,1,rep,name=period_summaries,json=periodSummaries,proto3" json:"period_summaries,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *GetPayerInfoResponse_PayerInfo) Reset() { + *x = GetPayerInfoResponse_PayerInfo{} + mi := &file_xmtpv4_metadata_api_metadata_api_proto_msgTypes[7] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GetPayerInfoResponse_PayerInfo) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetPayerInfoResponse_PayerInfo) ProtoMessage() {} + +func (x *GetPayerInfoResponse_PayerInfo) ProtoReflect() protoreflect.Message { + mi := &file_xmtpv4_metadata_api_metadata_api_proto_msgTypes[7] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetPayerInfoResponse_PayerInfo.ProtoReflect.Descriptor instead. +func (*GetPayerInfoResponse_PayerInfo) Descriptor() ([]byte, []int) { + return file_xmtpv4_metadata_api_metadata_api_proto_rawDescGZIP(), []int{5, 1} +} + +func (x *GetPayerInfoResponse_PayerInfo) GetPeriodSummaries() []*GetPayerInfoResponse_PeriodSummary { + if x != nil { + return x.PeriodSummaries + } + return nil +} + +var File_xmtpv4_metadata_api_metadata_api_proto protoreflect.FileDescriptor + +const file_xmtpv4_metadata_api_metadata_api_proto_rawDesc = "" + + "\n" + + "&xmtpv4/metadata_api/metadata_api.proto\x12\x18xmtp.xmtpv4.metadata_api\x1a\x1cgoogle/api/annotations.proto\x1a xmtpv4/envelopes/envelopes.proto\"\x16\n" + + "\x14GetSyncCursorRequest\"W\n" + + "\x15GetSyncCursorResponse\x12>\n" + + "\vlatest_sync\x18\x01 \x01(\v2\x1d.xmtp.xmtpv4.envelopes.CursorR\n" + + "latestSync\"\x13\n" + + "\x11GetVersionRequest\".\n" + + "\x12GetVersionResponse\x12\x18\n" + + "\aversion\x18\x01 \x01(\tR\aversion\"\x90\x01\n" + + "\x13GetPayerInfoRequest\x12'\n" + + "\x0fpayer_addresses\x18\x01 \x03(\tR\x0epayerAddresses\x12P\n" + + "\vgranularity\x18\x02 \x01(\x0e2..xmtp.xmtpv4.metadata_api.PayerInfoGranularityR\vgranularity\"\x8c\x04\n" + + "\x14GetPayerInfoResponse\x12\\\n" + + "\n" + + "payer_info\x18\x01 \x03(\v2=.xmtp.xmtpv4.metadata_api.GetPayerInfoResponse.PayerInfoEntryR\tpayerInfo\x1a\xa7\x01\n" + + "\rPeriodSummary\x128\n" + + "\x18amount_spent_picodollars\x18\x01 \x01(\x04R\x16amountSpentPicodollars\x12!\n" + + "\fnum_messages\x18\x02 \x01(\x04R\vnumMessages\x129\n" + + "\x19period_start_unix_seconds\x18\x03 \x01(\x04R\x16periodStartUnixSeconds\x1at\n" + + "\tPayerInfo\x12g\n" + + "\x10period_summaries\x18\x01 \x03(\v2<.xmtp.xmtpv4.metadata_api.GetPayerInfoResponse.PeriodSummaryR\x0fperiodSummaries\x1av\n" + + "\x0ePayerInfoEntry\x12\x10\n" + + "\x03key\x18\x01 \x01(\tR\x03key\x12N\n" + + "\x05value\x18\x02 \x01(\v28.xmtp.xmtpv4.metadata_api.GetPayerInfoResponse.PayerInfoR\x05value:\x028\x01*\x7f\n" + + "\x14PayerInfoGranularity\x12&\n" + + "\"PAYER_INFO_GRANULARITY_UNSPECIFIED\x10\x00\x12\x1f\n" + + "\x1bPAYER_INFO_GRANULARITY_HOUR\x10\x01\x12\x1e\n" + + "\x1aPAYER_INFO_GRANULARITY_DAY\x10\x022\x86\x05\n" + + "\vMetadataApi\x12\x9d\x01\n" + + "\rGetSyncCursor\x12..xmtp.xmtpv4.metadata_api.GetSyncCursorRequest\x1a/.xmtp.xmtpv4.metadata_api.GetSyncCursorResponse\"+\x82\xd3\xe4\x93\x02%:\x01*\" /mls/v2/metadata/get-sync-cursor\x12\xab\x01\n" + + "\x13SubscribeSyncCursor\x12..xmtp.xmtpv4.metadata_api.GetSyncCursorRequest\x1a/.xmtp.xmtpv4.metadata_api.GetSyncCursorResponse\"1\x82\xd3\xe4\x93\x02+:\x01*\"&/mls/v2/metadata/subscribe-sync-cursor0\x01\x12\x8c\x01\n" + + "\n" + + "GetVersion\x12+.xmtp.xmtpv4.metadata_api.GetVersionRequest\x1a,.xmtp.xmtpv4.metadata_api.GetVersionResponse\"#\x82\xd3\xe4\x93\x02\x1d:\x01*\"\x18/mls/v2/metadata/version\x12\x99\x01\n" + + "\fGetPayerInfo\x12-.xmtp.xmtpv4.metadata_api.GetPayerInfoRequest\x1a..xmtp.xmtpv4.metadata_api.GetPayerInfoResponse\"*\x82\xd3\xe4\x93\x02$:\x01*\"\x1f/mls/v2/metadata/get-payer-infoB\x96\x02\n" + + "6org.xmtp.android.library.push.xmtp.xmtpv4.metadata_apiB\x10MetadataApiProtoP\x01ZLgithub.com/xmtp/example-notification-server-go/pkg/proto/xmtpv4/metadata_api\xa2\x02\x03XXM\xaa\x02\x17Xmtp.Xmtpv4.MetadataApi\xca\x02\x17Xmtp\\Xmtpv4\\MetadataApi\xe2\x02#Xmtp\\Xmtpv4\\MetadataApi\\GPBMetadata\xea\x02\x19Xmtp::Xmtpv4::MetadataApib\x06proto3" + +var ( + file_xmtpv4_metadata_api_metadata_api_proto_rawDescOnce sync.Once + file_xmtpv4_metadata_api_metadata_api_proto_rawDescData []byte +) + +func file_xmtpv4_metadata_api_metadata_api_proto_rawDescGZIP() []byte { + file_xmtpv4_metadata_api_metadata_api_proto_rawDescOnce.Do(func() { + file_xmtpv4_metadata_api_metadata_api_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_xmtpv4_metadata_api_metadata_api_proto_rawDesc), len(file_xmtpv4_metadata_api_metadata_api_proto_rawDesc))) + }) + return file_xmtpv4_metadata_api_metadata_api_proto_rawDescData +} + +var file_xmtpv4_metadata_api_metadata_api_proto_enumTypes = make([]protoimpl.EnumInfo, 1) +var file_xmtpv4_metadata_api_metadata_api_proto_msgTypes = make([]protoimpl.MessageInfo, 9) +var file_xmtpv4_metadata_api_metadata_api_proto_goTypes = []any{ + (PayerInfoGranularity)(0), // 0: xmtp.xmtpv4.metadata_api.PayerInfoGranularity + (*GetSyncCursorRequest)(nil), // 1: xmtp.xmtpv4.metadata_api.GetSyncCursorRequest + (*GetSyncCursorResponse)(nil), // 2: xmtp.xmtpv4.metadata_api.GetSyncCursorResponse + (*GetVersionRequest)(nil), // 3: xmtp.xmtpv4.metadata_api.GetVersionRequest + (*GetVersionResponse)(nil), // 4: xmtp.xmtpv4.metadata_api.GetVersionResponse + (*GetPayerInfoRequest)(nil), // 5: xmtp.xmtpv4.metadata_api.GetPayerInfoRequest + (*GetPayerInfoResponse)(nil), // 6: xmtp.xmtpv4.metadata_api.GetPayerInfoResponse + (*GetPayerInfoResponse_PeriodSummary)(nil), // 7: xmtp.xmtpv4.metadata_api.GetPayerInfoResponse.PeriodSummary + (*GetPayerInfoResponse_PayerInfo)(nil), // 8: xmtp.xmtpv4.metadata_api.GetPayerInfoResponse.PayerInfo + nil, // 9: xmtp.xmtpv4.metadata_api.GetPayerInfoResponse.PayerInfoEntry + (*envelopes.Cursor)(nil), // 10: xmtp.xmtpv4.envelopes.Cursor +} +var file_xmtpv4_metadata_api_metadata_api_proto_depIdxs = []int32{ + 10, // 0: xmtp.xmtpv4.metadata_api.GetSyncCursorResponse.latest_sync:type_name -> xmtp.xmtpv4.envelopes.Cursor + 0, // 1: xmtp.xmtpv4.metadata_api.GetPayerInfoRequest.granularity:type_name -> xmtp.xmtpv4.metadata_api.PayerInfoGranularity + 9, // 2: xmtp.xmtpv4.metadata_api.GetPayerInfoResponse.payer_info:type_name -> xmtp.xmtpv4.metadata_api.GetPayerInfoResponse.PayerInfoEntry + 7, // 3: xmtp.xmtpv4.metadata_api.GetPayerInfoResponse.PayerInfo.period_summaries:type_name -> xmtp.xmtpv4.metadata_api.GetPayerInfoResponse.PeriodSummary + 8, // 4: xmtp.xmtpv4.metadata_api.GetPayerInfoResponse.PayerInfoEntry.value:type_name -> xmtp.xmtpv4.metadata_api.GetPayerInfoResponse.PayerInfo + 1, // 5: xmtp.xmtpv4.metadata_api.MetadataApi.GetSyncCursor:input_type -> xmtp.xmtpv4.metadata_api.GetSyncCursorRequest + 1, // 6: xmtp.xmtpv4.metadata_api.MetadataApi.SubscribeSyncCursor:input_type -> xmtp.xmtpv4.metadata_api.GetSyncCursorRequest + 3, // 7: xmtp.xmtpv4.metadata_api.MetadataApi.GetVersion:input_type -> xmtp.xmtpv4.metadata_api.GetVersionRequest + 5, // 8: xmtp.xmtpv4.metadata_api.MetadataApi.GetPayerInfo:input_type -> xmtp.xmtpv4.metadata_api.GetPayerInfoRequest + 2, // 9: xmtp.xmtpv4.metadata_api.MetadataApi.GetSyncCursor:output_type -> xmtp.xmtpv4.metadata_api.GetSyncCursorResponse + 2, // 10: xmtp.xmtpv4.metadata_api.MetadataApi.SubscribeSyncCursor:output_type -> xmtp.xmtpv4.metadata_api.GetSyncCursorResponse + 4, // 11: xmtp.xmtpv4.metadata_api.MetadataApi.GetVersion:output_type -> xmtp.xmtpv4.metadata_api.GetVersionResponse + 6, // 12: xmtp.xmtpv4.metadata_api.MetadataApi.GetPayerInfo:output_type -> xmtp.xmtpv4.metadata_api.GetPayerInfoResponse + 9, // [9:13] is the sub-list for method output_type + 5, // [5:9] 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_xmtpv4_metadata_api_metadata_api_proto_init() } +func file_xmtpv4_metadata_api_metadata_api_proto_init() { + if File_xmtpv4_metadata_api_metadata_api_proto != nil { + return + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: unsafe.Slice(unsafe.StringData(file_xmtpv4_metadata_api_metadata_api_proto_rawDesc), len(file_xmtpv4_metadata_api_metadata_api_proto_rawDesc)), + NumEnums: 1, + NumMessages: 9, + NumExtensions: 0, + NumServices: 1, + }, + GoTypes: file_xmtpv4_metadata_api_metadata_api_proto_goTypes, + DependencyIndexes: file_xmtpv4_metadata_api_metadata_api_proto_depIdxs, + EnumInfos: file_xmtpv4_metadata_api_metadata_api_proto_enumTypes, + MessageInfos: file_xmtpv4_metadata_api_metadata_api_proto_msgTypes, + }.Build() + File_xmtpv4_metadata_api_metadata_api_proto = out.File + file_xmtpv4_metadata_api_metadata_api_proto_goTypes = nil + file_xmtpv4_metadata_api_metadata_api_proto_depIdxs = nil +} diff --git a/pkg/proto/xmtpv4/metadata_api/metadata_api_grpc.pb.go b/pkg/proto/xmtpv4/metadata_api/metadata_api_grpc.pb.go new file mode 100644 index 0000000..b2d92ac --- /dev/null +++ b/pkg/proto/xmtpv4/metadata_api/metadata_api_grpc.pb.go @@ -0,0 +1,250 @@ +// Metadata API + +// Code generated by protoc-gen-go-grpc. DO NOT EDIT. +// versions: +// - protoc-gen-go-grpc v1.3.0 +// - protoc (unknown) +// source: xmtpv4/metadata_api/metadata_api.proto + +package metadata_api + +import ( + context "context" + grpc "google.golang.org/grpc" + codes "google.golang.org/grpc/codes" + status "google.golang.org/grpc/status" +) + +// This is a compile-time assertion to ensure that this generated file +// is compatible with the grpc package it is being compiled against. +// Requires gRPC-Go v1.32.0 or later. +const _ = grpc.SupportPackageIsVersion7 + +const ( + MetadataApi_GetSyncCursor_FullMethodName = "/xmtp.xmtpv4.metadata_api.MetadataApi/GetSyncCursor" + MetadataApi_SubscribeSyncCursor_FullMethodName = "/xmtp.xmtpv4.metadata_api.MetadataApi/SubscribeSyncCursor" + MetadataApi_GetVersion_FullMethodName = "/xmtp.xmtpv4.metadata_api.MetadataApi/GetVersion" + MetadataApi_GetPayerInfo_FullMethodName = "/xmtp.xmtpv4.metadata_api.MetadataApi/GetPayerInfo" +) + +// MetadataApiClient is the client API for MetadataApi service. +// +// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream. +type MetadataApiClient interface { + GetSyncCursor(ctx context.Context, in *GetSyncCursorRequest, opts ...grpc.CallOption) (*GetSyncCursorResponse, error) + SubscribeSyncCursor(ctx context.Context, in *GetSyncCursorRequest, opts ...grpc.CallOption) (MetadataApi_SubscribeSyncCursorClient, error) + GetVersion(ctx context.Context, in *GetVersionRequest, opts ...grpc.CallOption) (*GetVersionResponse, error) + GetPayerInfo(ctx context.Context, in *GetPayerInfoRequest, opts ...grpc.CallOption) (*GetPayerInfoResponse, error) +} + +type metadataApiClient struct { + cc grpc.ClientConnInterface +} + +func NewMetadataApiClient(cc grpc.ClientConnInterface) MetadataApiClient { + return &metadataApiClient{cc} +} + +func (c *metadataApiClient) GetSyncCursor(ctx context.Context, in *GetSyncCursorRequest, opts ...grpc.CallOption) (*GetSyncCursorResponse, error) { + out := new(GetSyncCursorResponse) + err := c.cc.Invoke(ctx, MetadataApi_GetSyncCursor_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *metadataApiClient) SubscribeSyncCursor(ctx context.Context, in *GetSyncCursorRequest, opts ...grpc.CallOption) (MetadataApi_SubscribeSyncCursorClient, error) { + stream, err := c.cc.NewStream(ctx, &MetadataApi_ServiceDesc.Streams[0], MetadataApi_SubscribeSyncCursor_FullMethodName, opts...) + if err != nil { + return nil, err + } + x := &metadataApiSubscribeSyncCursorClient{stream} + if err := x.ClientStream.SendMsg(in); err != nil { + return nil, err + } + if err := x.ClientStream.CloseSend(); err != nil { + return nil, err + } + return x, nil +} + +type MetadataApi_SubscribeSyncCursorClient interface { + Recv() (*GetSyncCursorResponse, error) + grpc.ClientStream +} + +type metadataApiSubscribeSyncCursorClient struct { + grpc.ClientStream +} + +func (x *metadataApiSubscribeSyncCursorClient) Recv() (*GetSyncCursorResponse, error) { + m := new(GetSyncCursorResponse) + if err := x.ClientStream.RecvMsg(m); err != nil { + return nil, err + } + return m, nil +} + +func (c *metadataApiClient) GetVersion(ctx context.Context, in *GetVersionRequest, opts ...grpc.CallOption) (*GetVersionResponse, error) { + out := new(GetVersionResponse) + err := c.cc.Invoke(ctx, MetadataApi_GetVersion_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *metadataApiClient) GetPayerInfo(ctx context.Context, in *GetPayerInfoRequest, opts ...grpc.CallOption) (*GetPayerInfoResponse, error) { + out := new(GetPayerInfoResponse) + err := c.cc.Invoke(ctx, MetadataApi_GetPayerInfo_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +// MetadataApiServer is the server API for MetadataApi service. +// All implementations must embed UnimplementedMetadataApiServer +// for forward compatibility +type MetadataApiServer interface { + GetSyncCursor(context.Context, *GetSyncCursorRequest) (*GetSyncCursorResponse, error) + SubscribeSyncCursor(*GetSyncCursorRequest, MetadataApi_SubscribeSyncCursorServer) error + GetVersion(context.Context, *GetVersionRequest) (*GetVersionResponse, error) + GetPayerInfo(context.Context, *GetPayerInfoRequest) (*GetPayerInfoResponse, error) + mustEmbedUnimplementedMetadataApiServer() +} + +// UnimplementedMetadataApiServer must be embedded to have forward compatible implementations. +type UnimplementedMetadataApiServer struct { +} + +func (UnimplementedMetadataApiServer) GetSyncCursor(context.Context, *GetSyncCursorRequest) (*GetSyncCursorResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetSyncCursor not implemented") +} +func (UnimplementedMetadataApiServer) SubscribeSyncCursor(*GetSyncCursorRequest, MetadataApi_SubscribeSyncCursorServer) error { + return status.Errorf(codes.Unimplemented, "method SubscribeSyncCursor not implemented") +} +func (UnimplementedMetadataApiServer) GetVersion(context.Context, *GetVersionRequest) (*GetVersionResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetVersion not implemented") +} +func (UnimplementedMetadataApiServer) GetPayerInfo(context.Context, *GetPayerInfoRequest) (*GetPayerInfoResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetPayerInfo not implemented") +} +func (UnimplementedMetadataApiServer) mustEmbedUnimplementedMetadataApiServer() {} + +// UnsafeMetadataApiServer may be embedded to opt out of forward compatibility for this service. +// Use of this interface is not recommended, as added methods to MetadataApiServer will +// result in compilation errors. +type UnsafeMetadataApiServer interface { + mustEmbedUnimplementedMetadataApiServer() +} + +func RegisterMetadataApiServer(s grpc.ServiceRegistrar, srv MetadataApiServer) { + s.RegisterService(&MetadataApi_ServiceDesc, srv) +} + +func _MetadataApi_GetSyncCursor_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(GetSyncCursorRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(MetadataApiServer).GetSyncCursor(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: MetadataApi_GetSyncCursor_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MetadataApiServer).GetSyncCursor(ctx, req.(*GetSyncCursorRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _MetadataApi_SubscribeSyncCursor_Handler(srv interface{}, stream grpc.ServerStream) error { + m := new(GetSyncCursorRequest) + if err := stream.RecvMsg(m); err != nil { + return err + } + return srv.(MetadataApiServer).SubscribeSyncCursor(m, &metadataApiSubscribeSyncCursorServer{stream}) +} + +type MetadataApi_SubscribeSyncCursorServer interface { + Send(*GetSyncCursorResponse) error + grpc.ServerStream +} + +type metadataApiSubscribeSyncCursorServer struct { + grpc.ServerStream +} + +func (x *metadataApiSubscribeSyncCursorServer) Send(m *GetSyncCursorResponse) error { + return x.ServerStream.SendMsg(m) +} + +func _MetadataApi_GetVersion_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(GetVersionRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(MetadataApiServer).GetVersion(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: MetadataApi_GetVersion_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MetadataApiServer).GetVersion(ctx, req.(*GetVersionRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _MetadataApi_GetPayerInfo_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(GetPayerInfoRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(MetadataApiServer).GetPayerInfo(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: MetadataApi_GetPayerInfo_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MetadataApiServer).GetPayerInfo(ctx, req.(*GetPayerInfoRequest)) + } + return interceptor(ctx, in, info, handler) +} + +// MetadataApi_ServiceDesc is the grpc.ServiceDesc for MetadataApi service. +// It's only intended for direct use with grpc.RegisterService, +// and not to be introspected or modified (even as a copy) +var MetadataApi_ServiceDesc = grpc.ServiceDesc{ + ServiceName: "xmtp.xmtpv4.metadata_api.MetadataApi", + HandlerType: (*MetadataApiServer)(nil), + Methods: []grpc.MethodDesc{ + { + MethodName: "GetSyncCursor", + Handler: _MetadataApi_GetSyncCursor_Handler, + }, + { + MethodName: "GetVersion", + Handler: _MetadataApi_GetVersion_Handler, + }, + { + MethodName: "GetPayerInfo", + Handler: _MetadataApi_GetPayerInfo_Handler, + }, + }, + Streams: []grpc.StreamDesc{ + { + StreamName: "SubscribeSyncCursor", + Handler: _MetadataApi_SubscribeSyncCursor_Handler, + ServerStreams: true, + }, + }, + Metadata: "xmtpv4/metadata_api/metadata_api.proto", +} diff --git a/pkg/proto/xmtpv4/payer_api/payer_api.pb.go b/pkg/proto/xmtpv4/payer_api/payer_api.pb.go index d98d248..4a8e898 100644 --- a/pkg/proto/xmtpv4/payer_api/payer_api.pb.go +++ b/pkg/proto/xmtpv4/payer_api/payer_api.pb.go @@ -2,7 +2,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.36.5 +// protoc-gen-go v1.36.10 // protoc (unknown) // source: xmtpv4/payer_api/payer_api.proto @@ -113,62 +113,106 @@ func (x *PublishClientEnvelopesResponse) GetOriginatorEnvelopes() []*envelopes.O return nil } +type GetNodesRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *GetNodesRequest) Reset() { + *x = GetNodesRequest{} + mi := &file_xmtpv4_payer_api_payer_api_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GetNodesRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetNodesRequest) ProtoMessage() {} + +func (x *GetNodesRequest) ProtoReflect() protoreflect.Message { + mi := &file_xmtpv4_payer_api_payer_api_proto_msgTypes[2] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetNodesRequest.ProtoReflect.Descriptor instead. +func (*GetNodesRequest) Descriptor() ([]byte, []int) { + return file_xmtpv4_payer_api_payer_api_proto_rawDescGZIP(), []int{2} +} + +type GetNodesResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + Nodes map[uint32]string `protobuf:"bytes,1,rep,name=nodes,proto3" json:"nodes,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *GetNodesResponse) Reset() { + *x = GetNodesResponse{} + mi := &file_xmtpv4_payer_api_payer_api_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GetNodesResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetNodesResponse) ProtoMessage() {} + +func (x *GetNodesResponse) ProtoReflect() protoreflect.Message { + mi := &file_xmtpv4_payer_api_payer_api_proto_msgTypes[3] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetNodesResponse.ProtoReflect.Descriptor instead. +func (*GetNodesResponse) Descriptor() ([]byte, []int) { + return file_xmtpv4_payer_api_payer_api_proto_rawDescGZIP(), []int{3} +} + +func (x *GetNodesResponse) GetNodes() map[uint32]string { + if x != nil { + return x.Nodes + } + return nil +} + var File_xmtpv4_payer_api_payer_api_proto protoreflect.FileDescriptor -var file_xmtpv4_payer_api_payer_api_proto_rawDesc = string([]byte{ - 0x0a, 0x20, 0x78, 0x6d, 0x74, 0x70, 0x76, 0x34, 0x2f, 0x70, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x61, - 0x70, 0x69, 0x2f, 0x70, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x12, 0x15, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x76, 0x34, 0x2e, - 0x70, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x61, 0x70, 0x69, 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x20, 0x78, 0x6d, 0x74, 0x70, 0x76, 0x34, 0x2f, - 0x65, 0x6e, 0x76, 0x65, 0x6c, 0x6f, 0x70, 0x65, 0x73, 0x2f, 0x65, 0x6e, 0x76, 0x65, 0x6c, 0x6f, - 0x70, 0x65, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x64, 0x0a, 0x1d, 0x50, 0x75, 0x62, - 0x6c, 0x69, 0x73, 0x68, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x45, 0x6e, 0x76, 0x65, 0x6c, 0x6f, - 0x70, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x43, 0x0a, 0x09, 0x65, 0x6e, - 0x76, 0x65, 0x6c, 0x6f, 0x70, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x25, 0x2e, - 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x76, 0x34, 0x2e, 0x65, 0x6e, 0x76, 0x65, - 0x6c, 0x6f, 0x70, 0x65, 0x73, 0x2e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x45, 0x6e, 0x76, 0x65, - 0x6c, 0x6f, 0x70, 0x65, 0x52, 0x09, 0x65, 0x6e, 0x76, 0x65, 0x6c, 0x6f, 0x70, 0x65, 0x73, 0x22, - 0x7e, 0x0a, 0x1e, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, - 0x45, 0x6e, 0x76, 0x65, 0x6c, 0x6f, 0x70, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x12, 0x5c, 0x0a, 0x14, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x6f, 0x72, 0x5f, - 0x65, 0x6e, 0x76, 0x65, 0x6c, 0x6f, 0x70, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, - 0x29, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x76, 0x34, 0x2e, 0x65, 0x6e, - 0x76, 0x65, 0x6c, 0x6f, 0x70, 0x65, 0x73, 0x2e, 0x4f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x61, 0x74, - 0x6f, 0x72, 0x45, 0x6e, 0x76, 0x65, 0x6c, 0x6f, 0x70, 0x65, 0x52, 0x13, 0x6f, 0x72, 0x69, 0x67, - 0x69, 0x6e, 0x61, 0x74, 0x6f, 0x72, 0x45, 0x6e, 0x76, 0x65, 0x6c, 0x6f, 0x70, 0x65, 0x73, 0x32, - 0xc5, 0x01, 0x0a, 0x08, 0x50, 0x61, 0x79, 0x65, 0x72, 0x41, 0x70, 0x69, 0x12, 0xb8, 0x01, 0x0a, - 0x16, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x45, 0x6e, - 0x76, 0x65, 0x6c, 0x6f, 0x70, 0x65, 0x73, 0x12, 0x34, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x78, - 0x6d, 0x74, 0x70, 0x76, 0x34, 0x2e, 0x70, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x61, 0x70, 0x69, 0x2e, - 0x50, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x45, 0x6e, 0x76, - 0x65, 0x6c, 0x6f, 0x70, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x35, 0x2e, - 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x76, 0x34, 0x2e, 0x70, 0x61, 0x79, 0x65, - 0x72, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x43, 0x6c, 0x69, - 0x65, 0x6e, 0x74, 0x45, 0x6e, 0x76, 0x65, 0x6c, 0x6f, 0x70, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x31, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2b, 0x3a, 0x01, 0x2a, 0x22, - 0x26, 0x2f, 0x6d, 0x6c, 0x73, 0x2f, 0x76, 0x32, 0x2f, 0x70, 0x61, 0x79, 0x65, 0x72, 0x2f, 0x70, - 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x2d, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x2d, 0x65, 0x6e, - 0x76, 0x65, 0x6c, 0x6f, 0x70, 0x65, 0x73, 0x42, 0x81, 0x02, 0x0a, 0x33, 0x6f, 0x72, 0x67, 0x2e, - 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x61, 0x6e, 0x64, 0x72, 0x6f, 0x69, 0x64, 0x2e, 0x6c, 0x69, 0x62, - 0x72, 0x61, 0x72, 0x79, 0x2e, 0x70, 0x75, 0x73, 0x68, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x78, - 0x6d, 0x74, 0x70, 0x76, 0x34, 0x2e, 0x70, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x61, 0x70, 0x69, 0x42, - 0x0d, 0x50, 0x61, 0x79, 0x65, 0x72, 0x41, 0x70, 0x69, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, - 0x5a, 0x49, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x78, 0x6d, 0x74, - 0x70, 0x2f, 0x65, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x2d, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x69, - 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2d, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2d, 0x67, 0x6f, - 0x2f, 0x70, 0x6b, 0x67, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x78, 0x6d, 0x74, 0x70, 0x76, - 0x34, 0x2f, 0x70, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x61, 0x70, 0x69, 0xa2, 0x02, 0x03, 0x58, 0x58, - 0x50, 0xaa, 0x02, 0x14, 0x58, 0x6d, 0x74, 0x70, 0x2e, 0x58, 0x6d, 0x74, 0x70, 0x76, 0x34, 0x2e, - 0x50, 0x61, 0x79, 0x65, 0x72, 0x41, 0x70, 0x69, 0xca, 0x02, 0x14, 0x58, 0x6d, 0x74, 0x70, 0x5c, - 0x58, 0x6d, 0x74, 0x70, 0x76, 0x34, 0x5c, 0x50, 0x61, 0x79, 0x65, 0x72, 0x41, 0x70, 0x69, 0xe2, - 0x02, 0x20, 0x58, 0x6d, 0x74, 0x70, 0x5c, 0x58, 0x6d, 0x74, 0x70, 0x76, 0x34, 0x5c, 0x50, 0x61, - 0x79, 0x65, 0x72, 0x41, 0x70, 0x69, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, - 0x74, 0x61, 0xea, 0x02, 0x16, 0x58, 0x6d, 0x74, 0x70, 0x3a, 0x3a, 0x58, 0x6d, 0x74, 0x70, 0x76, - 0x34, 0x3a, 0x3a, 0x50, 0x61, 0x79, 0x65, 0x72, 0x41, 0x70, 0x69, 0x62, 0x06, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x33, -}) +const file_xmtpv4_payer_api_payer_api_proto_rawDesc = "" + + "\n" + + " xmtpv4/payer_api/payer_api.proto\x12\x15xmtp.xmtpv4.payer_api\x1a\x1cgoogle/api/annotations.proto\x1a xmtpv4/envelopes/envelopes.proto\"d\n" + + "\x1dPublishClientEnvelopesRequest\x12C\n" + + "\tenvelopes\x18\x01 \x03(\v2%.xmtp.xmtpv4.envelopes.ClientEnvelopeR\tenvelopes\"~\n" + + "\x1ePublishClientEnvelopesResponse\x12\\\n" + + "\x14originator_envelopes\x18\x01 \x03(\v2).xmtp.xmtpv4.envelopes.OriginatorEnvelopeR\x13originatorEnvelopes\"\x11\n" + + "\x0fGetNodesRequest\"\x96\x01\n" + + "\x10GetNodesResponse\x12H\n" + + "\x05nodes\x18\x01 \x03(\v22.xmtp.xmtpv4.payer_api.GetNodesResponse.NodesEntryR\x05nodes\x1a8\n" + + "\n" + + "NodesEntry\x12\x10\n" + + "\x03key\x18\x01 \x01(\rR\x03key\x12\x14\n" + + "\x05value\x18\x02 \x01(\tR\x05value:\x028\x012\xc6\x02\n" + + "\bPayerApi\x12\xb8\x01\n" + + "\x16PublishClientEnvelopes\x124.xmtp.xmtpv4.payer_api.PublishClientEnvelopesRequest\x1a5.xmtp.xmtpv4.payer_api.PublishClientEnvelopesResponse\"1\x82\xd3\xe4\x93\x02+:\x01*\"&/mls/v2/payer/publish-client-envelopes\x12\x7f\n" + + "\bGetNodes\x12&.xmtp.xmtpv4.payer_api.GetNodesRequest\x1a'.xmtp.xmtpv4.payer_api.GetNodesResponse\"\"\x82\xd3\xe4\x93\x02\x1c:\x01*\"\x17/mls/v2/payer/get-nodesB\x81\x02\n" + + "3org.xmtp.android.library.push.xmtp.xmtpv4.payer_apiB\rPayerApiProtoP\x01ZIgithub.com/xmtp/example-notification-server-go/pkg/proto/xmtpv4/payer_api\xa2\x02\x03XXP\xaa\x02\x14Xmtp.Xmtpv4.PayerApi\xca\x02\x14Xmtp\\Xmtpv4\\PayerApi\xe2\x02 Xmtp\\Xmtpv4\\PayerApi\\GPBMetadata\xea\x02\x16Xmtp::Xmtpv4::PayerApib\x06proto3" var ( file_xmtpv4_payer_api_payer_api_proto_rawDescOnce sync.Once @@ -182,23 +226,29 @@ func file_xmtpv4_payer_api_payer_api_proto_rawDescGZIP() []byte { return file_xmtpv4_payer_api_payer_api_proto_rawDescData } -var file_xmtpv4_payer_api_payer_api_proto_msgTypes = make([]protoimpl.MessageInfo, 2) +var file_xmtpv4_payer_api_payer_api_proto_msgTypes = make([]protoimpl.MessageInfo, 5) var file_xmtpv4_payer_api_payer_api_proto_goTypes = []any{ (*PublishClientEnvelopesRequest)(nil), // 0: xmtp.xmtpv4.payer_api.PublishClientEnvelopesRequest (*PublishClientEnvelopesResponse)(nil), // 1: xmtp.xmtpv4.payer_api.PublishClientEnvelopesResponse - (*envelopes.ClientEnvelope)(nil), // 2: xmtp.xmtpv4.envelopes.ClientEnvelope - (*envelopes.OriginatorEnvelope)(nil), // 3: xmtp.xmtpv4.envelopes.OriginatorEnvelope + (*GetNodesRequest)(nil), // 2: xmtp.xmtpv4.payer_api.GetNodesRequest + (*GetNodesResponse)(nil), // 3: xmtp.xmtpv4.payer_api.GetNodesResponse + nil, // 4: xmtp.xmtpv4.payer_api.GetNodesResponse.NodesEntry + (*envelopes.ClientEnvelope)(nil), // 5: xmtp.xmtpv4.envelopes.ClientEnvelope + (*envelopes.OriginatorEnvelope)(nil), // 6: xmtp.xmtpv4.envelopes.OriginatorEnvelope } var file_xmtpv4_payer_api_payer_api_proto_depIdxs = []int32{ - 2, // 0: xmtp.xmtpv4.payer_api.PublishClientEnvelopesRequest.envelopes:type_name -> xmtp.xmtpv4.envelopes.ClientEnvelope - 3, // 1: xmtp.xmtpv4.payer_api.PublishClientEnvelopesResponse.originator_envelopes:type_name -> xmtp.xmtpv4.envelopes.OriginatorEnvelope - 0, // 2: xmtp.xmtpv4.payer_api.PayerApi.PublishClientEnvelopes:input_type -> xmtp.xmtpv4.payer_api.PublishClientEnvelopesRequest - 1, // 3: xmtp.xmtpv4.payer_api.PayerApi.PublishClientEnvelopes:output_type -> xmtp.xmtpv4.payer_api.PublishClientEnvelopesResponse - 3, // [3:4] is the sub-list for method output_type - 2, // [2:3] 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 + 5, // 0: xmtp.xmtpv4.payer_api.PublishClientEnvelopesRequest.envelopes:type_name -> xmtp.xmtpv4.envelopes.ClientEnvelope + 6, // 1: xmtp.xmtpv4.payer_api.PublishClientEnvelopesResponse.originator_envelopes:type_name -> xmtp.xmtpv4.envelopes.OriginatorEnvelope + 4, // 2: xmtp.xmtpv4.payer_api.GetNodesResponse.nodes:type_name -> xmtp.xmtpv4.payer_api.GetNodesResponse.NodesEntry + 0, // 3: xmtp.xmtpv4.payer_api.PayerApi.PublishClientEnvelopes:input_type -> xmtp.xmtpv4.payer_api.PublishClientEnvelopesRequest + 2, // 4: xmtp.xmtpv4.payer_api.PayerApi.GetNodes:input_type -> xmtp.xmtpv4.payer_api.GetNodesRequest + 1, // 5: xmtp.xmtpv4.payer_api.PayerApi.PublishClientEnvelopes:output_type -> xmtp.xmtpv4.payer_api.PublishClientEnvelopesResponse + 3, // 6: xmtp.xmtpv4.payer_api.PayerApi.GetNodes:output_type -> xmtp.xmtpv4.payer_api.GetNodesResponse + 5, // [5:7] is the sub-list for method output_type + 3, // [3:5] 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_xmtpv4_payer_api_payer_api_proto_init() } @@ -212,7 +262,7 @@ func file_xmtpv4_payer_api_payer_api_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: unsafe.Slice(unsafe.StringData(file_xmtpv4_payer_api_payer_api_proto_rawDesc), len(file_xmtpv4_payer_api_payer_api_proto_rawDesc)), NumEnums: 0, - NumMessages: 2, + NumMessages: 5, NumExtensions: 0, NumServices: 1, }, diff --git a/pkg/proto/xmtpv4/payer_api/payer_api_grpc.pb.go b/pkg/proto/xmtpv4/payer_api/payer_api_grpc.pb.go index dbc2c76..d09720d 100644 --- a/pkg/proto/xmtpv4/payer_api/payer_api_grpc.pb.go +++ b/pkg/proto/xmtpv4/payer_api/payer_api_grpc.pb.go @@ -22,6 +22,7 @@ const _ = grpc.SupportPackageIsVersion7 const ( PayerApi_PublishClientEnvelopes_FullMethodName = "/xmtp.xmtpv4.payer_api.PayerApi/PublishClientEnvelopes" + PayerApi_GetNodes_FullMethodName = "/xmtp.xmtpv4.payer_api.PayerApi/GetNodes" ) // PayerApiClient is the client API for PayerApi service. @@ -30,6 +31,7 @@ const ( type PayerApiClient interface { // Publish envelope PublishClientEnvelopes(ctx context.Context, in *PublishClientEnvelopesRequest, opts ...grpc.CallOption) (*PublishClientEnvelopesResponse, error) + GetNodes(ctx context.Context, in *GetNodesRequest, opts ...grpc.CallOption) (*GetNodesResponse, error) } type payerApiClient struct { @@ -49,12 +51,22 @@ func (c *payerApiClient) PublishClientEnvelopes(ctx context.Context, in *Publish return out, nil } +func (c *payerApiClient) GetNodes(ctx context.Context, in *GetNodesRequest, opts ...grpc.CallOption) (*GetNodesResponse, error) { + out := new(GetNodesResponse) + err := c.cc.Invoke(ctx, PayerApi_GetNodes_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + // PayerApiServer is the server API for PayerApi service. // All implementations must embed UnimplementedPayerApiServer // for forward compatibility type PayerApiServer interface { // Publish envelope PublishClientEnvelopes(context.Context, *PublishClientEnvelopesRequest) (*PublishClientEnvelopesResponse, error) + GetNodes(context.Context, *GetNodesRequest) (*GetNodesResponse, error) mustEmbedUnimplementedPayerApiServer() } @@ -65,6 +77,9 @@ type UnimplementedPayerApiServer struct { func (UnimplementedPayerApiServer) PublishClientEnvelopes(context.Context, *PublishClientEnvelopesRequest) (*PublishClientEnvelopesResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method PublishClientEnvelopes not implemented") } +func (UnimplementedPayerApiServer) GetNodes(context.Context, *GetNodesRequest) (*GetNodesResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetNodes not implemented") +} func (UnimplementedPayerApiServer) mustEmbedUnimplementedPayerApiServer() {} // UnsafePayerApiServer may be embedded to opt out of forward compatibility for this service. @@ -96,6 +111,24 @@ func _PayerApi_PublishClientEnvelopes_Handler(srv interface{}, ctx context.Conte return interceptor(ctx, in, info, handler) } +func _PayerApi_GetNodes_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(GetNodesRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(PayerApiServer).GetNodes(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: PayerApi_GetNodes_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(PayerApiServer).GetNodes(ctx, req.(*GetNodesRequest)) + } + return interceptor(ctx, in, info, handler) +} + // PayerApi_ServiceDesc is the grpc.ServiceDesc for PayerApi service. // It's only intended for direct use with grpc.RegisterService, // and not to be introspected or modified (even as a copy) @@ -107,6 +140,10 @@ var PayerApi_ServiceDesc = grpc.ServiceDesc{ MethodName: "PublishClientEnvelopes", Handler: _PayerApi_PublishClientEnvelopes_Handler, }, + { + MethodName: "GetNodes", + Handler: _PayerApi_GetNodes_Handler, + }, }, Streams: []grpc.StreamDesc{}, Metadata: "xmtpv4/payer_api/payer_api.proto", diff --git a/pkg/xmtp/listener_test.go b/pkg/xmtp/listener_test.go deleted file mode 100644 index ec6e5e1..0000000 --- a/pkg/xmtp/listener_test.go +++ /dev/null @@ -1,112 +0,0 @@ -package xmtp - -import ( - "context" - "errors" - "testing" - "time" - - "github.com/stretchr/testify/mock" - "github.com/stretchr/testify/require" - "github.com/xmtp/example-notification-server-go/mocks" - "github.com/xmtp/example-notification-server-go/pkg/installations" - "github.com/xmtp/example-notification-server-go/pkg/interfaces" - "github.com/xmtp/example-notification-server-go/pkg/logging" - "github.com/xmtp/example-notification-server-go/pkg/options" - v1 "github.com/xmtp/example-notification-server-go/pkg/proto/message_api/v1" - "github.com/xmtp/example-notification-server-go/pkg/subscriptions" - "github.com/xmtp/example-notification-server-go/test" -) - -const ( - XMTP_ADDRESS = "localhost:25556" - INSTALLATION_ID = "test_installation" - INSTALLATION_ID_2 = "test_installation_2" - TEST_TOPIC = "/xmtp/mls/1/g-test_topic/proto" - DELIVERY_TOKEN = "test_token" -) - -func buildTestListener(t *testing.T, deliveryService interfaces.Delivery) (*Listener, func()) { - logger := logging.CreateLogger("console", "info") - ctx, cancel := context.WithCancel(context.Background()) - opts := options.XmtpOptions{ListenerEnabled: true, GrpcAddress: XMTP_ADDRESS, UseTls: false, NumWorkers: 5} - db, cleanup := test.CreateTestDb() - installations := installations.NewInstallationsService(logger, db) - subscriptions := subscriptions.NewSubscriptionsService(logger, db) - - l, err := NewListener(ctx, logger, opts, installations, subscriptions, []interfaces.Delivery{deliveryService}, "test", "test") - if err != nil { - require.NoError(t, err) - } - l.Start() - - return l, func() { - cancel() - l.Stop() - cleanup() - } -} - -func sendMessage(t *testing.T, listener *Listener, topic string, message []byte) { - _, err := listener.xmtpClient.Publish(context.Background(), &v1.PublishRequest{ - Envelopes: []*v1.Envelope{ - { - ContentTopic: topic, - Message: message, - TimestampNs: uint64(time.Now().UnixNano()), - }, - }, - }) - require.NoError(t, err) -} - -func subscribeToTopic(t *testing.T, l *Listener, installationId, topic string, isSilent bool) { - _, err := l.installations.Register(context.Background(), interfaces.Installation{ - Id: installationId, - DeliveryMechanism: interfaces.DeliveryMechanism{ - Kind: interfaces.APNS, - Token: DELIVERY_TOKEN, - }, - }) - require.NoError(t, err) - - err = l.subscriptions.SubscribeWithMetadata(context.Background(), installationId, []interfaces.SubscriptionInput{{Topic: topic, IsSilent: isSilent}}) - require.NoError(t, err) -} - -func Test_BasicDelivery(t *testing.T) { - mockDeliveryService := mocks.NewDelivery(t) - l, cleanup := buildTestListener(t, mockDeliveryService) - defer cleanup() - - mockDeliveryService.On("CanDeliver", mock.Anything).Return(true) - mockDeliveryService.On("Send", mock.Anything, mock.Anything).Return(nil) - - subscribeToTopic(t, l, INSTALLATION_ID, TEST_TOPIC, false) - sendMessage(t, l, TEST_TOPIC, []byte("test")) - time.Sleep(2 * time.Second) - - mockDeliveryService.AssertCalled(t, "CanDeliver", mock.Anything) - mockDeliveryService.AssertCalled(t, "Send", mock.Anything, mock.Anything) - mockDeliveryService.AssertNumberOfCalls(t, "Send", 1) -} - -func Test_MultipleDeliveries(t *testing.T) { - mockDeliveryService := mocks.NewDelivery(t) - l, cleanup := buildTestListener(t, mockDeliveryService) - defer cleanup() - - mockDeliveryService.On("CanDeliver", mock.Anything).Return(true) - mockDeliveryService.On("Send", mock.Anything, mock.Anything).Once().Return(errors.New("failed")) - mockDeliveryService.On("Send", mock.Anything, mock.Anything).Once().Return(nil) - - subscribeToTopic(t, l, INSTALLATION_ID, TEST_TOPIC, false) - subscribeToTopic(t, l, INSTALLATION_ID_2, TEST_TOPIC, false) - - sendMessage(t, l, TEST_TOPIC, []byte("test")) - time.Sleep(2 * time.Second) - - mockDeliveryService.AssertCalled(t, "CanDeliver", mock.Anything) - mockDeliveryService.AssertCalled(t, "Send", mock.Anything, mock.Anything) - mockDeliveryService.AssertNumberOfCalls(t, "Send", 2) -} diff --git a/swift/device_sync/consent_backup.pb.swift b/swift/device_sync/consent_backup.pb.swift new file mode 100644 index 0000000..bd13a67 --- /dev/null +++ b/swift/device_sync/consent_backup.pb.swift @@ -0,0 +1,187 @@ +// DO NOT EDIT. +// swift-format-ignore-file +// swiftlint:disable all +// +// Generated by the Swift generator plugin for the protocol buffer compiler. +// Source: device_sync/consent_backup.proto +// +// For information on using the generated types, please see the documentation: +// https://github.com/apple/swift-protobuf/ + +/// Definitions for backups + +import SwiftProtobuf + +// If the compiler emits an error on this type, it is because this file +// was generated by a version of the `protoc` Swift plug-in that is +// incompatible with the version of SwiftProtobuf to which you are linking. +// Please ensure that you are building against the same version of the API +// that was used to generate this file. +fileprivate struct _GeneratedWithProtocGenSwiftVersion: SwiftProtobuf.ProtobufAPIVersionCheck { + struct _2: SwiftProtobuf.ProtobufAPIVersion_2 {} + typealias Version = _2 +} + +/// Consent record type +public enum Xmtp_DeviceSync_ConsentBackup_ConsentTypeSave: SwiftProtobuf.Enum, Swift.CaseIterable { + public typealias RawValue = Int + case unspecified // = 0 + case conversationID // = 1 + case inboxID // = 2 + + /// NOTE: This enum value was marked as deprecated in the .proto file + case address // = 3 + case UNRECOGNIZED(Int) + + public init() { + self = .unspecified + } + + public init?(rawValue: Int) { + switch rawValue { + case 0: self = .unspecified + case 1: self = .conversationID + case 2: self = .inboxID + case 3: self = .address + default: self = .UNRECOGNIZED(rawValue) + } + } + + public var rawValue: Int { + switch self { + case .unspecified: return 0 + case .conversationID: return 1 + case .inboxID: return 2 + case .address: return 3 + case .UNRECOGNIZED(let i): return i + } + } + + // The compiler won't synthesize support with the UNRECOGNIZED case. + public static let allCases: [Xmtp_DeviceSync_ConsentBackup_ConsentTypeSave] = [ + .unspecified, + .conversationID, + .inboxID, + .address, + ] + +} + +/// Consent record state +public enum Xmtp_DeviceSync_ConsentBackup_ConsentStateSave: SwiftProtobuf.Enum, Swift.CaseIterable { + public typealias RawValue = Int + case unspecified // = 0 + case unknown // = 1 + case allowed // = 2 + case denied // = 3 + case UNRECOGNIZED(Int) + + public init() { + self = .unspecified + } + + public init?(rawValue: Int) { + switch rawValue { + case 0: self = .unspecified + case 1: self = .unknown + case 2: self = .allowed + case 3: self = .denied + default: self = .UNRECOGNIZED(rawValue) + } + } + + public var rawValue: Int { + switch self { + case .unspecified: return 0 + case .unknown: return 1 + case .allowed: return 2 + case .denied: return 3 + case .UNRECOGNIZED(let i): return i + } + } + + // The compiler won't synthesize support with the UNRECOGNIZED case. + public static let allCases: [Xmtp_DeviceSync_ConsentBackup_ConsentStateSave] = [ + .unspecified, + .unknown, + .allowed, + .denied, + ] + +} + +/// Proto representation of a consent record save +public struct Xmtp_DeviceSync_ConsentBackup_ConsentSave: Sendable { + // SwiftProtobuf.Message conformance is added in an extension below. See the + // `Message` and `Message+*Additions` files in the SwiftProtobuf library for + // methods supported on all messages. + + public var entityType: Xmtp_DeviceSync_ConsentBackup_ConsentTypeSave = .unspecified + + public var state: Xmtp_DeviceSync_ConsentBackup_ConsentStateSave = .unspecified + + public var entity: String = String() + + public var consentedAtNs: Int64 = 0 + + public var unknownFields = SwiftProtobuf.UnknownStorage() + + public init() {} +} + +// MARK: - Code below here is support for the SwiftProtobuf runtime. + +fileprivate let _protobuf_package = "xmtp.device_sync.consent_backup" + +extension Xmtp_DeviceSync_ConsentBackup_ConsentTypeSave: SwiftProtobuf._ProtoNameProviding { + public static let _protobuf_nameMap = SwiftProtobuf._NameMap(bytecode: "\0\u{2}\0CONSENT_TYPE_SAVE_UNSPECIFIED\0\u{1}CONSENT_TYPE_SAVE_CONVERSATION_ID\0\u{1}CONSENT_TYPE_SAVE_INBOX_ID\0\u{1}CONSENT_TYPE_SAVE_ADDRESS\0") +} + +extension Xmtp_DeviceSync_ConsentBackup_ConsentStateSave: SwiftProtobuf._ProtoNameProviding { + public static let _protobuf_nameMap = SwiftProtobuf._NameMap(bytecode: "\0\u{2}\0CONSENT_STATE_SAVE_UNSPECIFIED\0\u{1}CONSENT_STATE_SAVE_UNKNOWN\0\u{1}CONSENT_STATE_SAVE_ALLOWED\0\u{1}CONSENT_STATE_SAVE_DENIED\0") +} + +extension Xmtp_DeviceSync_ConsentBackup_ConsentSave: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementationBase, SwiftProtobuf._ProtoNameProviding { + public static let protoMessageName: String = _protobuf_package + ".ConsentSave" + public static let _protobuf_nameMap = SwiftProtobuf._NameMap(bytecode: "\0\u{3}entity_type\0\u{1}state\0\u{1}entity\0\u{3}consented_at_ns\0") + + public mutating func decodeMessage(decoder: inout D) throws { + while let fieldNumber = try decoder.nextFieldNumber() { + // The use of inline closures is to circumvent an issue where the compiler + // allocates stack space for every case branch when no optimizations are + // enabled. https://github.com/apple/swift-protobuf/issues/1034 + switch fieldNumber { + case 1: try { try decoder.decodeSingularEnumField(value: &self.entityType) }() + case 2: try { try decoder.decodeSingularEnumField(value: &self.state) }() + case 3: try { try decoder.decodeSingularStringField(value: &self.entity) }() + case 4: try { try decoder.decodeSingularInt64Field(value: &self.consentedAtNs) }() + default: break + } + } + } + + public func traverse(visitor: inout V) throws { + if self.entityType != .unspecified { + try visitor.visitSingularEnumField(value: self.entityType, fieldNumber: 1) + } + if self.state != .unspecified { + try visitor.visitSingularEnumField(value: self.state, fieldNumber: 2) + } + if !self.entity.isEmpty { + try visitor.visitSingularStringField(value: self.entity, fieldNumber: 3) + } + if self.consentedAtNs != 0 { + try visitor.visitSingularInt64Field(value: self.consentedAtNs, fieldNumber: 4) + } + try unknownFields.traverse(visitor: &visitor) + } + + public static func ==(lhs: Xmtp_DeviceSync_ConsentBackup_ConsentSave, rhs: Xmtp_DeviceSync_ConsentBackup_ConsentSave) -> Bool { + if lhs.entityType != rhs.entityType {return false} + if lhs.state != rhs.state {return false} + if lhs.entity != rhs.entity {return false} + if lhs.consentedAtNs != rhs.consentedAtNs {return false} + if lhs.unknownFields != rhs.unknownFields {return false} + return true + } +} diff --git a/swift/device_sync/content.pb.swift b/swift/device_sync/content.pb.swift new file mode 100644 index 0000000..87cf227 --- /dev/null +++ b/swift/device_sync/content.pb.swift @@ -0,0 +1,718 @@ +// DO NOT EDIT. +// swift-format-ignore-file +// swiftlint:disable all +// +// Generated by the Swift generator plugin for the protocol buffer compiler. +// Source: device_sync/content.proto +// +// For information on using the generated types, please see the documentation: +// https://github.com/apple/swift-protobuf/ + +/// Sync group messages + +import Foundation +import SwiftProtobuf + +// If the compiler emits an error on this type, it is because this file +// was generated by a version of the `protoc` Swift plug-in that is +// incompatible with the version of SwiftProtobuf to which you are linking. +// Please ensure that you are building against the same version of the API +// that was used to generate this file. +fileprivate struct _GeneratedWithProtocGenSwiftVersion: SwiftProtobuf.ProtobufAPIVersionCheck { + struct _2: SwiftProtobuf.ProtobufAPIVersion_2 {} + typealias Version = _2 +} + +/// All potential device sync group messages +public struct Xmtp_DeviceSync_Content_DeviceSyncContent: Sendable { + // SwiftProtobuf.Message conformance is added in an extension below. See the + // `Message` and `Message+*Additions` files in the SwiftProtobuf library for + // methods supported on all messages. + + public var content: Xmtp_DeviceSync_Content_DeviceSyncContent.OneOf_Content? = nil + + public var request: Xmtp_DeviceSync_Content_DeviceSyncRequest { + get { + if case .request(let v)? = content {return v} + return Xmtp_DeviceSync_Content_DeviceSyncRequest() + } + set {content = .request(newValue)} + } + + public var acknowledge: Xmtp_DeviceSync_Content_DeviceSyncAcknowledge { + get { + if case .acknowledge(let v)? = content {return v} + return Xmtp_DeviceSync_Content_DeviceSyncAcknowledge() + } + set {content = .acknowledge(newValue)} + } + + public var reply: Xmtp_DeviceSync_Content_DeviceSyncReply { + get { + if case .reply(let v)? = content {return v} + return Xmtp_DeviceSync_Content_DeviceSyncReply() + } + set {content = .reply(newValue)} + } + + public var preferenceUpdates: Xmtp_DeviceSync_Content_PreferenceUpdates { + get { + if case .preferenceUpdates(let v)? = content {return v} + return Xmtp_DeviceSync_Content_PreferenceUpdates() + } + set {content = .preferenceUpdates(newValue)} + } + + public var unknownFields = SwiftProtobuf.UnknownStorage() + + public enum OneOf_Content: Equatable, Sendable { + case request(Xmtp_DeviceSync_Content_DeviceSyncRequest) + case acknowledge(Xmtp_DeviceSync_Content_DeviceSyncAcknowledge) + case reply(Xmtp_DeviceSync_Content_DeviceSyncReply) + case preferenceUpdates(Xmtp_DeviceSync_Content_PreferenceUpdates) + + } + + public init() {} +} + +/// Acknowledges a request +public struct Xmtp_DeviceSync_Content_DeviceSyncAcknowledge: Sendable { + // SwiftProtobuf.Message conformance is added in an extension below. See the + // `Message` and `Message+*Additions` files in the SwiftProtobuf library for + // methods supported on all messages. + + public var requestID: String = String() + + public var unknownFields = SwiftProtobuf.UnknownStorage() + + public init() {} +} + +/// Preference updates +public struct Xmtp_DeviceSync_Content_PreferenceUpdates: Sendable { + // SwiftProtobuf.Message conformance is added in an extension below. See the + // `Message` and `Message+*Additions` files in the SwiftProtobuf library for + // methods supported on all messages. + + public var updates: [Xmtp_DeviceSync_Content_PreferenceUpdate] = [] + + public var unknownFields = SwiftProtobuf.UnknownStorage() + + public init() {} +} + +/// Preference update +public struct Xmtp_DeviceSync_Content_PreferenceUpdate: Sendable { + // SwiftProtobuf.Message conformance is added in an extension below. See the + // `Message` and `Message+*Additions` files in the SwiftProtobuf library for + // methods supported on all messages. + + public var update: Xmtp_DeviceSync_Content_PreferenceUpdate.OneOf_Update? = nil + + public var consent: Xmtp_DeviceSync_ConsentBackup_ConsentSave { + get { + if case .consent(let v)? = update {return v} + return Xmtp_DeviceSync_ConsentBackup_ConsentSave() + } + set {update = .consent(newValue)} + } + + public var hmac: Xmtp_DeviceSync_Content_HmacKeyUpdate { + get { + if case .hmac(let v)? = update {return v} + return Xmtp_DeviceSync_Content_HmacKeyUpdate() + } + set {update = .hmac(newValue)} + } + + public var unknownFields = SwiftProtobuf.UnknownStorage() + + public enum OneOf_Update: Equatable, Sendable { + case consent(Xmtp_DeviceSync_ConsentBackup_ConsentSave) + case hmac(Xmtp_DeviceSync_Content_HmacKeyUpdate) + + } + + public init() {} +} + +public struct Xmtp_DeviceSync_Content_V1UserPreferenceUpdate: Sendable { + // SwiftProtobuf.Message conformance is added in an extension below. See the + // `Message` and `Message+*Additions` files in the SwiftProtobuf library for + // methods supported on all messages. + + public var contents: [Data] = [] + + public var unknownFields = SwiftProtobuf.UnknownStorage() + + public init() {} +} + +/// Hmac key update +public struct Xmtp_DeviceSync_Content_HmacKeyUpdate: Sendable { + // SwiftProtobuf.Message conformance is added in an extension below. See the + // `Message` and `Message+*Additions` files in the SwiftProtobuf library for + // methods supported on all messages. + + public var key: Data = Data() + + public var cycledAtNs: Int64 = 0 + + public var unknownFields = SwiftProtobuf.UnknownStorage() + + public init() {} +} + +/// Initiator or new installation id requesting a sync payload send a request +public struct Xmtp_DeviceSync_Content_DeviceSyncRequest: Sendable { + // SwiftProtobuf.Message conformance is added in an extension below. See the + // `Message` and `Message+*Additions` files in the SwiftProtobuf library for + // methods supported on all messages. + + /// Unique identifier for each request + public var requestID: String = String() + + /// NOTE: This field was marked as deprecated in the .proto file. + public var pinCode: String = String() + + /// NOTE: This field was marked as deprecated in the .proto file. + public var kind: Xmtp_DeviceSync_BackupElementSelection = .unspecified + + public var options: Xmtp_DeviceSync_BackupOptions { + get {return _options ?? Xmtp_DeviceSync_BackupOptions()} + set {_options = newValue} + } + /// Returns true if `options` has been explicitly set. + public var hasOptions: Bool {return self._options != nil} + /// Clears the value of `options`. Subsequent reads from it will return its default value. + public mutating func clearOptions() {self._options = nil} + + public var unknownFields = SwiftProtobuf.UnknownStorage() + + public init() {} + + fileprivate var _options: Xmtp_DeviceSync_BackupOptions? = nil +} + +/// Pre-existing installation id capable of supplying a sync payload sends this reply +public struct Xmtp_DeviceSync_Content_DeviceSyncReply: Sendable { + // SwiftProtobuf.Message conformance is added in an extension below. See the + // `Message` and `Message+*Additions` files in the SwiftProtobuf library for + // methods supported on all messages. + + /// Must match an existing request_id from a message history request + public var requestID: String = String() + + /// Where the messages can be retrieved from + public var url: String = String() + + /// Encryption key + public var encryptionKey: Xmtp_DeviceSync_Content_DeviceSyncKeyType { + get {return _encryptionKey ?? Xmtp_DeviceSync_Content_DeviceSyncKeyType()} + set {_encryptionKey = newValue} + } + /// Returns true if `encryptionKey` has been explicitly set. + public var hasEncryptionKey: Bool {return self._encryptionKey != nil} + /// Clears the value of `encryptionKey`. Subsequent reads from it will return its default value. + public mutating func clearEncryptionKey() {self._encryptionKey = nil} + + /// ns unix timestamp of when the reply was sent + /// + /// NOTE: This field was marked as deprecated in the .proto file. + public var timestampNs: UInt64 = 0 + + /// request kind + /// + /// NOTE: This field was marked as deprecated in the .proto file. + public var kind: Xmtp_DeviceSync_BackupElementSelection = .unspecified + + /// Metadata about the backup + public var metadata: Xmtp_DeviceSync_BackupMetadataSave { + get {return _metadata ?? Xmtp_DeviceSync_BackupMetadataSave()} + set {_metadata = newValue} + } + /// Returns true if `metadata` has been explicitly set. + public var hasMetadata: Bool {return self._metadata != nil} + /// Clears the value of `metadata`. Subsequent reads from it will return its default value. + public mutating func clearMetadata() {self._metadata = nil} + + public var unknownFields = SwiftProtobuf.UnknownStorage() + + public init() {} + + fileprivate var _encryptionKey: Xmtp_DeviceSync_Content_DeviceSyncKeyType? = nil + fileprivate var _metadata: Xmtp_DeviceSync_BackupMetadataSave? = nil +} + +/// Key used to encrypt the message-bundle +public struct Xmtp_DeviceSync_Content_DeviceSyncKeyType: Sendable { + // SwiftProtobuf.Message conformance is added in an extension below. See the + // `Message` and `Message+*Additions` files in the SwiftProtobuf library for + // methods supported on all messages. + + public var key: Xmtp_DeviceSync_Content_DeviceSyncKeyType.OneOf_Key? = nil + + public var aes256Gcm: Data { + get { + if case .aes256Gcm(let v)? = key {return v} + return Data() + } + set {key = .aes256Gcm(newValue)} + } + + public var unknownFields = SwiftProtobuf.UnknownStorage() + + public enum OneOf_Key: Equatable, Sendable { + case aes256Gcm(Data) + + } + + public init() {} +} + +// MARK: - Code below here is support for the SwiftProtobuf runtime. + +fileprivate let _protobuf_package = "xmtp.device_sync.content" + +extension Xmtp_DeviceSync_Content_DeviceSyncContent: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementationBase, SwiftProtobuf._ProtoNameProviding { + public static let protoMessageName: String = _protobuf_package + ".DeviceSyncContent" + public static let _protobuf_nameMap = SwiftProtobuf._NameMap(bytecode: "\0\u{1}request\0\u{1}acknowledge\0\u{1}reply\0\u{3}preference_updates\0") + + public mutating func decodeMessage(decoder: inout D) throws { + while let fieldNumber = try decoder.nextFieldNumber() { + // The use of inline closures is to circumvent an issue where the compiler + // allocates stack space for every case branch when no optimizations are + // enabled. https://github.com/apple/swift-protobuf/issues/1034 + switch fieldNumber { + case 1: try { + var v: Xmtp_DeviceSync_Content_DeviceSyncRequest? + var hadOneofValue = false + if let current = self.content { + hadOneofValue = true + if case .request(let m) = current {v = m} + } + try decoder.decodeSingularMessageField(value: &v) + if let v = v { + if hadOneofValue {try decoder.handleConflictingOneOf()} + self.content = .request(v) + } + }() + case 2: try { + var v: Xmtp_DeviceSync_Content_DeviceSyncAcknowledge? + var hadOneofValue = false + if let current = self.content { + hadOneofValue = true + if case .acknowledge(let m) = current {v = m} + } + try decoder.decodeSingularMessageField(value: &v) + if let v = v { + if hadOneofValue {try decoder.handleConflictingOneOf()} + self.content = .acknowledge(v) + } + }() + case 3: try { + var v: Xmtp_DeviceSync_Content_DeviceSyncReply? + var hadOneofValue = false + if let current = self.content { + hadOneofValue = true + if case .reply(let m) = current {v = m} + } + try decoder.decodeSingularMessageField(value: &v) + if let v = v { + if hadOneofValue {try decoder.handleConflictingOneOf()} + self.content = .reply(v) + } + }() + case 4: try { + var v: Xmtp_DeviceSync_Content_PreferenceUpdates? + var hadOneofValue = false + if let current = self.content { + hadOneofValue = true + if case .preferenceUpdates(let m) = current {v = m} + } + try decoder.decodeSingularMessageField(value: &v) + if let v = v { + if hadOneofValue {try decoder.handleConflictingOneOf()} + self.content = .preferenceUpdates(v) + } + }() + default: break + } + } + } + + public func traverse(visitor: inout V) throws { + // The use of inline closures is to circumvent an issue where the compiler + // allocates stack space for every if/case branch local when no optimizations + // are enabled. https://github.com/apple/swift-protobuf/issues/1034 and + // https://github.com/apple/swift-protobuf/issues/1182 + switch self.content { + case .request?: try { + guard case .request(let v)? = self.content else { preconditionFailure() } + try visitor.visitSingularMessageField(value: v, fieldNumber: 1) + }() + case .acknowledge?: try { + guard case .acknowledge(let v)? = self.content else { preconditionFailure() } + try visitor.visitSingularMessageField(value: v, fieldNumber: 2) + }() + case .reply?: try { + guard case .reply(let v)? = self.content else { preconditionFailure() } + try visitor.visitSingularMessageField(value: v, fieldNumber: 3) + }() + case .preferenceUpdates?: try { + guard case .preferenceUpdates(let v)? = self.content else { preconditionFailure() } + try visitor.visitSingularMessageField(value: v, fieldNumber: 4) + }() + case nil: break + } + try unknownFields.traverse(visitor: &visitor) + } + + public static func ==(lhs: Xmtp_DeviceSync_Content_DeviceSyncContent, rhs: Xmtp_DeviceSync_Content_DeviceSyncContent) -> Bool { + if lhs.content != rhs.content {return false} + if lhs.unknownFields != rhs.unknownFields {return false} + return true + } +} + +extension Xmtp_DeviceSync_Content_DeviceSyncAcknowledge: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementationBase, SwiftProtobuf._ProtoNameProviding { + public static let protoMessageName: String = _protobuf_package + ".DeviceSyncAcknowledge" + public static let _protobuf_nameMap = SwiftProtobuf._NameMap(bytecode: "\0\u{3}request_id\0") + + public mutating func decodeMessage(decoder: inout D) throws { + while let fieldNumber = try decoder.nextFieldNumber() { + // The use of inline closures is to circumvent an issue where the compiler + // allocates stack space for every case branch when no optimizations are + // enabled. https://github.com/apple/swift-protobuf/issues/1034 + switch fieldNumber { + case 1: try { try decoder.decodeSingularStringField(value: &self.requestID) }() + default: break + } + } + } + + public func traverse(visitor: inout V) throws { + if !self.requestID.isEmpty { + try visitor.visitSingularStringField(value: self.requestID, fieldNumber: 1) + } + try unknownFields.traverse(visitor: &visitor) + } + + public static func ==(lhs: Xmtp_DeviceSync_Content_DeviceSyncAcknowledge, rhs: Xmtp_DeviceSync_Content_DeviceSyncAcknowledge) -> Bool { + if lhs.requestID != rhs.requestID {return false} + if lhs.unknownFields != rhs.unknownFields {return false} + return true + } +} + +extension Xmtp_DeviceSync_Content_PreferenceUpdates: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementationBase, SwiftProtobuf._ProtoNameProviding { + public static let protoMessageName: String = _protobuf_package + ".PreferenceUpdates" + public static let _protobuf_nameMap = SwiftProtobuf._NameMap(bytecode: "\0\u{1}updates\0") + + public mutating func decodeMessage(decoder: inout D) throws { + while let fieldNumber = try decoder.nextFieldNumber() { + // The use of inline closures is to circumvent an issue where the compiler + // allocates stack space for every case branch when no optimizations are + // enabled. https://github.com/apple/swift-protobuf/issues/1034 + switch fieldNumber { + case 1: try { try decoder.decodeRepeatedMessageField(value: &self.updates) }() + default: break + } + } + } + + public func traverse(visitor: inout V) throws { + if !self.updates.isEmpty { + try visitor.visitRepeatedMessageField(value: self.updates, fieldNumber: 1) + } + try unknownFields.traverse(visitor: &visitor) + } + + public static func ==(lhs: Xmtp_DeviceSync_Content_PreferenceUpdates, rhs: Xmtp_DeviceSync_Content_PreferenceUpdates) -> Bool { + if lhs.updates != rhs.updates {return false} + if lhs.unknownFields != rhs.unknownFields {return false} + return true + } +} + +extension Xmtp_DeviceSync_Content_PreferenceUpdate: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementationBase, SwiftProtobuf._ProtoNameProviding { + public static let protoMessageName: String = _protobuf_package + ".PreferenceUpdate" + public static let _protobuf_nameMap = SwiftProtobuf._NameMap(bytecode: "\0\u{1}consent\0\u{1}hmac\0") + + public mutating func decodeMessage(decoder: inout D) throws { + while let fieldNumber = try decoder.nextFieldNumber() { + // The use of inline closures is to circumvent an issue where the compiler + // allocates stack space for every case branch when no optimizations are + // enabled. https://github.com/apple/swift-protobuf/issues/1034 + switch fieldNumber { + case 1: try { + var v: Xmtp_DeviceSync_ConsentBackup_ConsentSave? + var hadOneofValue = false + if let current = self.update { + hadOneofValue = true + if case .consent(let m) = current {v = m} + } + try decoder.decodeSingularMessageField(value: &v) + if let v = v { + if hadOneofValue {try decoder.handleConflictingOneOf()} + self.update = .consent(v) + } + }() + case 2: try { + var v: Xmtp_DeviceSync_Content_HmacKeyUpdate? + var hadOneofValue = false + if let current = self.update { + hadOneofValue = true + if case .hmac(let m) = current {v = m} + } + try decoder.decodeSingularMessageField(value: &v) + if let v = v { + if hadOneofValue {try decoder.handleConflictingOneOf()} + self.update = .hmac(v) + } + }() + default: break + } + } + } + + public func traverse(visitor: inout V) throws { + // The use of inline closures is to circumvent an issue where the compiler + // allocates stack space for every if/case branch local when no optimizations + // are enabled. https://github.com/apple/swift-protobuf/issues/1034 and + // https://github.com/apple/swift-protobuf/issues/1182 + switch self.update { + case .consent?: try { + guard case .consent(let v)? = self.update else { preconditionFailure() } + try visitor.visitSingularMessageField(value: v, fieldNumber: 1) + }() + case .hmac?: try { + guard case .hmac(let v)? = self.update else { preconditionFailure() } + try visitor.visitSingularMessageField(value: v, fieldNumber: 2) + }() + case nil: break + } + try unknownFields.traverse(visitor: &visitor) + } + + public static func ==(lhs: Xmtp_DeviceSync_Content_PreferenceUpdate, rhs: Xmtp_DeviceSync_Content_PreferenceUpdate) -> Bool { + if lhs.update != rhs.update {return false} + if lhs.unknownFields != rhs.unknownFields {return false} + return true + } +} + +extension Xmtp_DeviceSync_Content_V1UserPreferenceUpdate: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementationBase, SwiftProtobuf._ProtoNameProviding { + public static let protoMessageName: String = _protobuf_package + ".V1UserPreferenceUpdate" + public static let _protobuf_nameMap = SwiftProtobuf._NameMap(bytecode: "\0\u{1}contents\0") + + public mutating func decodeMessage(decoder: inout D) throws { + while let fieldNumber = try decoder.nextFieldNumber() { + // The use of inline closures is to circumvent an issue where the compiler + // allocates stack space for every case branch when no optimizations are + // enabled. https://github.com/apple/swift-protobuf/issues/1034 + switch fieldNumber { + case 1: try { try decoder.decodeRepeatedBytesField(value: &self.contents) }() + default: break + } + } + } + + public func traverse(visitor: inout V) throws { + if !self.contents.isEmpty { + try visitor.visitRepeatedBytesField(value: self.contents, fieldNumber: 1) + } + try unknownFields.traverse(visitor: &visitor) + } + + public static func ==(lhs: Xmtp_DeviceSync_Content_V1UserPreferenceUpdate, rhs: Xmtp_DeviceSync_Content_V1UserPreferenceUpdate) -> Bool { + if lhs.contents != rhs.contents {return false} + if lhs.unknownFields != rhs.unknownFields {return false} + return true + } +} + +extension Xmtp_DeviceSync_Content_HmacKeyUpdate: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementationBase, SwiftProtobuf._ProtoNameProviding { + public static let protoMessageName: String = _protobuf_package + ".HmacKeyUpdate" + public static let _protobuf_nameMap = SwiftProtobuf._NameMap(bytecode: "\0\u{1}key\0\u{3}cycled_at_ns\0") + + public mutating func decodeMessage(decoder: inout D) throws { + while let fieldNumber = try decoder.nextFieldNumber() { + // The use of inline closures is to circumvent an issue where the compiler + // allocates stack space for every case branch when no optimizations are + // enabled. https://github.com/apple/swift-protobuf/issues/1034 + switch fieldNumber { + case 1: try { try decoder.decodeSingularBytesField(value: &self.key) }() + case 2: try { try decoder.decodeSingularInt64Field(value: &self.cycledAtNs) }() + default: break + } + } + } + + public func traverse(visitor: inout V) throws { + if !self.key.isEmpty { + try visitor.visitSingularBytesField(value: self.key, fieldNumber: 1) + } + if self.cycledAtNs != 0 { + try visitor.visitSingularInt64Field(value: self.cycledAtNs, fieldNumber: 2) + } + try unknownFields.traverse(visitor: &visitor) + } + + public static func ==(lhs: Xmtp_DeviceSync_Content_HmacKeyUpdate, rhs: Xmtp_DeviceSync_Content_HmacKeyUpdate) -> Bool { + if lhs.key != rhs.key {return false} + if lhs.cycledAtNs != rhs.cycledAtNs {return false} + if lhs.unknownFields != rhs.unknownFields {return false} + return true + } +} + +extension Xmtp_DeviceSync_Content_DeviceSyncRequest: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementationBase, SwiftProtobuf._ProtoNameProviding { + public static let protoMessageName: String = _protobuf_package + ".DeviceSyncRequest" + public static let _protobuf_nameMap = SwiftProtobuf._NameMap(bytecode: "\0\u{3}request_id\0\u{3}pin_code\0\u{1}kind\0\u{1}options\0") + + public mutating func decodeMessage(decoder: inout D) throws { + while let fieldNumber = try decoder.nextFieldNumber() { + // The use of inline closures is to circumvent an issue where the compiler + // allocates stack space for every case branch when no optimizations are + // enabled. https://github.com/apple/swift-protobuf/issues/1034 + switch fieldNumber { + case 1: try { try decoder.decodeSingularStringField(value: &self.requestID) }() + case 2: try { try decoder.decodeSingularStringField(value: &self.pinCode) }() + case 3: try { try decoder.decodeSingularEnumField(value: &self.kind) }() + case 4: try { try decoder.decodeSingularMessageField(value: &self._options) }() + default: break + } + } + } + + public func traverse(visitor: inout V) throws { + // The use of inline closures is to circumvent an issue where the compiler + // allocates stack space for every if/case branch local when no optimizations + // are enabled. https://github.com/apple/swift-protobuf/issues/1034 and + // https://github.com/apple/swift-protobuf/issues/1182 + if !self.requestID.isEmpty { + try visitor.visitSingularStringField(value: self.requestID, fieldNumber: 1) + } + if !self.pinCode.isEmpty { + try visitor.visitSingularStringField(value: self.pinCode, fieldNumber: 2) + } + if self.kind != .unspecified { + try visitor.visitSingularEnumField(value: self.kind, fieldNumber: 3) + } + try { if let v = self._options { + try visitor.visitSingularMessageField(value: v, fieldNumber: 4) + } }() + try unknownFields.traverse(visitor: &visitor) + } + + public static func ==(lhs: Xmtp_DeviceSync_Content_DeviceSyncRequest, rhs: Xmtp_DeviceSync_Content_DeviceSyncRequest) -> Bool { + if lhs.requestID != rhs.requestID {return false} + if lhs.pinCode != rhs.pinCode {return false} + if lhs.kind != rhs.kind {return false} + if lhs._options != rhs._options {return false} + if lhs.unknownFields != rhs.unknownFields {return false} + return true + } +} + +extension Xmtp_DeviceSync_Content_DeviceSyncReply: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementationBase, SwiftProtobuf._ProtoNameProviding { + public static let protoMessageName: String = _protobuf_package + ".DeviceSyncReply" + public static let _protobuf_nameMap = SwiftProtobuf._NameMap(bytecode: "\0\u{3}request_id\0\u{1}url\0\u{3}encryption_key\0\u{3}timestamp_ns\0\u{1}kind\0\u{1}metadata\0") + + public mutating func decodeMessage(decoder: inout D) throws { + while let fieldNumber = try decoder.nextFieldNumber() { + // The use of inline closures is to circumvent an issue where the compiler + // allocates stack space for every case branch when no optimizations are + // enabled. https://github.com/apple/swift-protobuf/issues/1034 + switch fieldNumber { + case 1: try { try decoder.decodeSingularStringField(value: &self.requestID) }() + case 2: try { try decoder.decodeSingularStringField(value: &self.url) }() + case 3: try { try decoder.decodeSingularMessageField(value: &self._encryptionKey) }() + case 4: try { try decoder.decodeSingularUInt64Field(value: &self.timestampNs) }() + case 5: try { try decoder.decodeSingularEnumField(value: &self.kind) }() + case 6: try { try decoder.decodeSingularMessageField(value: &self._metadata) }() + default: break + } + } + } + + public func traverse(visitor: inout V) throws { + // The use of inline closures is to circumvent an issue where the compiler + // allocates stack space for every if/case branch local when no optimizations + // are enabled. https://github.com/apple/swift-protobuf/issues/1034 and + // https://github.com/apple/swift-protobuf/issues/1182 + if !self.requestID.isEmpty { + try visitor.visitSingularStringField(value: self.requestID, fieldNumber: 1) + } + if !self.url.isEmpty { + try visitor.visitSingularStringField(value: self.url, fieldNumber: 2) + } + try { if let v = self._encryptionKey { + try visitor.visitSingularMessageField(value: v, fieldNumber: 3) + } }() + if self.timestampNs != 0 { + try visitor.visitSingularUInt64Field(value: self.timestampNs, fieldNumber: 4) + } + if self.kind != .unspecified { + try visitor.visitSingularEnumField(value: self.kind, fieldNumber: 5) + } + try { if let v = self._metadata { + try visitor.visitSingularMessageField(value: v, fieldNumber: 6) + } }() + try unknownFields.traverse(visitor: &visitor) + } + + public static func ==(lhs: Xmtp_DeviceSync_Content_DeviceSyncReply, rhs: Xmtp_DeviceSync_Content_DeviceSyncReply) -> Bool { + if lhs.requestID != rhs.requestID {return false} + if lhs.url != rhs.url {return false} + if lhs._encryptionKey != rhs._encryptionKey {return false} + if lhs.timestampNs != rhs.timestampNs {return false} + if lhs.kind != rhs.kind {return false} + if lhs._metadata != rhs._metadata {return false} + if lhs.unknownFields != rhs.unknownFields {return false} + return true + } +} + +extension Xmtp_DeviceSync_Content_DeviceSyncKeyType: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementationBase, SwiftProtobuf._ProtoNameProviding { + public static let protoMessageName: String = _protobuf_package + ".DeviceSyncKeyType" + public static let _protobuf_nameMap = SwiftProtobuf._NameMap(bytecode: "\0\u{3}aes_256_gcm\0") + + public mutating func decodeMessage(decoder: inout D) throws { + while let fieldNumber = try decoder.nextFieldNumber() { + // The use of inline closures is to circumvent an issue where the compiler + // allocates stack space for every case branch when no optimizations are + // enabled. https://github.com/apple/swift-protobuf/issues/1034 + switch fieldNumber { + case 1: try { + var v: Data? + try decoder.decodeSingularBytesField(value: &v) + if let v = v { + if self.key != nil {try decoder.handleConflictingOneOf()} + self.key = .aes256Gcm(v) + } + }() + default: break + } + } + } + + public func traverse(visitor: inout V) throws { + // The use of inline closures is to circumvent an issue where the compiler + // allocates stack space for every if/case branch local when no optimizations + // are enabled. https://github.com/apple/swift-protobuf/issues/1034 and + // https://github.com/apple/swift-protobuf/issues/1182 + try { if case .aes256Gcm(let v)? = self.key { + try visitor.visitSingularBytesField(value: v, fieldNumber: 1) + } }() + try unknownFields.traverse(visitor: &visitor) + } + + public static func ==(lhs: Xmtp_DeviceSync_Content_DeviceSyncKeyType, rhs: Xmtp_DeviceSync_Content_DeviceSyncKeyType) -> Bool { + if lhs.key != rhs.key {return false} + if lhs.unknownFields != rhs.unknownFields {return false} + return true + } +} diff --git a/swift/device_sync/device_sync.pb.swift b/swift/device_sync/device_sync.pb.swift new file mode 100644 index 0000000..1352da2 --- /dev/null +++ b/swift/device_sync/device_sync.pb.swift @@ -0,0 +1,418 @@ +// DO NOT EDIT. +// swift-format-ignore-file +// swiftlint:disable all +// +// Generated by the Swift generator plugin for the protocol buffer compiler. +// Source: device_sync/device_sync.proto +// +// For information on using the generated types, please see the documentation: +// https://github.com/apple/swift-protobuf/ + +/// Definitions for backups + +import SwiftProtobuf + +// If the compiler emits an error on this type, it is because this file +// was generated by a version of the `protoc` Swift plug-in that is +// incompatible with the version of SwiftProtobuf to which you are linking. +// Please ensure that you are building against the same version of the API +// that was used to generate this file. +fileprivate struct _GeneratedWithProtocGenSwiftVersion: SwiftProtobuf.ProtobufAPIVersionCheck { + struct _2: SwiftProtobuf.ProtobufAPIVersion_2 {} + typealias Version = _2 +} + +/// Elements selected for backup +public enum Xmtp_DeviceSync_BackupElementSelection: SwiftProtobuf.Enum, Swift.CaseIterable { + public typealias RawValue = Int + case unspecified // = 0 + case messages // = 1 + case consent // = 2 + case event // = 3 + case UNRECOGNIZED(Int) + + public init() { + self = .unspecified + } + + public init?(rawValue: Int) { + switch rawValue { + case 0: self = .unspecified + case 1: self = .messages + case 2: self = .consent + case 3: self = .event + default: self = .UNRECOGNIZED(rawValue) + } + } + + public var rawValue: Int { + switch self { + case .unspecified: return 0 + case .messages: return 1 + case .consent: return 2 + case .event: return 3 + case .UNRECOGNIZED(let i): return i + } + } + + // The compiler won't synthesize support with the UNRECOGNIZED case. + public static let allCases: [Xmtp_DeviceSync_BackupElementSelection] = [ + .unspecified, + .messages, + .consent, + .event, + ] + +} + +/// Union type representing everything that can be serialied and saved in a backup archive. +public struct Xmtp_DeviceSync_BackupElement: Sendable { + // SwiftProtobuf.Message conformance is added in an extension below. See the + // `Message` and `Message+*Additions` files in the SwiftProtobuf library for + // methods supported on all messages. + + public var element: Xmtp_DeviceSync_BackupElement.OneOf_Element? = nil + + public var metadata: Xmtp_DeviceSync_BackupMetadataSave { + get { + if case .metadata(let v)? = element {return v} + return Xmtp_DeviceSync_BackupMetadataSave() + } + set {element = .metadata(newValue)} + } + + public var group: Xmtp_DeviceSync_GroupBackup_GroupSave { + get { + if case .group(let v)? = element {return v} + return Xmtp_DeviceSync_GroupBackup_GroupSave() + } + set {element = .group(newValue)} + } + + public var groupMessage: Xmtp_DeviceSync_MessageBackup_GroupMessageSave { + get { + if case .groupMessage(let v)? = element {return v} + return Xmtp_DeviceSync_MessageBackup_GroupMessageSave() + } + set {element = .groupMessage(newValue)} + } + + public var consent: Xmtp_DeviceSync_ConsentBackup_ConsentSave { + get { + if case .consent(let v)? = element {return v} + return Xmtp_DeviceSync_ConsentBackup_ConsentSave() + } + set {element = .consent(newValue)} + } + + public var event: Xmtp_DeviceSync_EventBackup_EventSave { + get { + if case .event(let v)? = element {return v} + return Xmtp_DeviceSync_EventBackup_EventSave() + } + set {element = .event(newValue)} + } + + public var unknownFields = SwiftProtobuf.UnknownStorage() + + public enum OneOf_Element: Equatable, Sendable { + case metadata(Xmtp_DeviceSync_BackupMetadataSave) + case group(Xmtp_DeviceSync_GroupBackup_GroupSave) + case groupMessage(Xmtp_DeviceSync_MessageBackup_GroupMessageSave) + case consent(Xmtp_DeviceSync_ConsentBackup_ConsentSave) + case event(Xmtp_DeviceSync_EventBackup_EventSave) + + } + + public init() {} +} + +/// Proto representation of backup metadata +/// (Backup version is explicitly missing - it's stored as a header.) +public struct Xmtp_DeviceSync_BackupMetadataSave: Sendable { + // SwiftProtobuf.Message conformance is added in an extension below. See the + // `Message` and `Message+*Additions` files in the SwiftProtobuf library for + // methods supported on all messages. + + public var elements: [Xmtp_DeviceSync_BackupElementSelection] = [] + + public var exportedAtNs: Int64 = 0 + + public var startNs: Int64 { + get {return _startNs ?? 0} + set {_startNs = newValue} + } + /// Returns true if `startNs` has been explicitly set. + public var hasStartNs: Bool {return self._startNs != nil} + /// Clears the value of `startNs`. Subsequent reads from it will return its default value. + public mutating func clearStartNs() {self._startNs = nil} + + public var endNs: Int64 { + get {return _endNs ?? 0} + set {_endNs = newValue} + } + /// Returns true if `endNs` has been explicitly set. + public var hasEndNs: Bool {return self._endNs != nil} + /// Clears the value of `endNs`. Subsequent reads from it will return its default value. + public mutating func clearEndNs() {self._endNs = nil} + + public var unknownFields = SwiftProtobuf.UnknownStorage() + + public init() {} + + fileprivate var _startNs: Int64? = nil + fileprivate var _endNs: Int64? = nil +} + +/// Backup Options +public struct Xmtp_DeviceSync_BackupOptions: Sendable { + // SwiftProtobuf.Message conformance is added in an extension below. See the + // `Message` and `Message+*Additions` files in the SwiftProtobuf library for + // methods supported on all messages. + + public var elements: [Xmtp_DeviceSync_BackupElementSelection] = [] + + public var startNs: Int64 { + get {return _startNs ?? 0} + set {_startNs = newValue} + } + /// Returns true if `startNs` has been explicitly set. + public var hasStartNs: Bool {return self._startNs != nil} + /// Clears the value of `startNs`. Subsequent reads from it will return its default value. + public mutating func clearStartNs() {self._startNs = nil} + + public var endNs: Int64 { + get {return _endNs ?? 0} + set {_endNs = newValue} + } + /// Returns true if `endNs` has been explicitly set. + public var hasEndNs: Bool {return self._endNs != nil} + /// Clears the value of `endNs`. Subsequent reads from it will return its default value. + public mutating func clearEndNs() {self._endNs = nil} + + public var unknownFields = SwiftProtobuf.UnknownStorage() + + public init() {} + + fileprivate var _startNs: Int64? = nil + fileprivate var _endNs: Int64? = nil +} + +// MARK: - Code below here is support for the SwiftProtobuf runtime. + +fileprivate let _protobuf_package = "xmtp.device_sync" + +extension Xmtp_DeviceSync_BackupElementSelection: SwiftProtobuf._ProtoNameProviding { + public static let _protobuf_nameMap = SwiftProtobuf._NameMap(bytecode: "\0\u{2}\0BACKUP_ELEMENT_SELECTION_UNSPECIFIED\0\u{1}BACKUP_ELEMENT_SELECTION_MESSAGES\0\u{1}BACKUP_ELEMENT_SELECTION_CONSENT\0\u{1}BACKUP_ELEMENT_SELECTION_EVENT\0") +} + +extension Xmtp_DeviceSync_BackupElement: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementationBase, SwiftProtobuf._ProtoNameProviding { + public static let protoMessageName: String = _protobuf_package + ".BackupElement" + public static let _protobuf_nameMap = SwiftProtobuf._NameMap(bytecode: "\0\u{1}metadata\0\u{1}group\0\u{3}group_message\0\u{1}consent\0\u{1}event\0") + + public mutating func decodeMessage(decoder: inout D) throws { + while let fieldNumber = try decoder.nextFieldNumber() { + // The use of inline closures is to circumvent an issue where the compiler + // allocates stack space for every case branch when no optimizations are + // enabled. https://github.com/apple/swift-protobuf/issues/1034 + switch fieldNumber { + case 1: try { + var v: Xmtp_DeviceSync_BackupMetadataSave? + var hadOneofValue = false + if let current = self.element { + hadOneofValue = true + if case .metadata(let m) = current {v = m} + } + try decoder.decodeSingularMessageField(value: &v) + if let v = v { + if hadOneofValue {try decoder.handleConflictingOneOf()} + self.element = .metadata(v) + } + }() + case 2: try { + var v: Xmtp_DeviceSync_GroupBackup_GroupSave? + var hadOneofValue = false + if let current = self.element { + hadOneofValue = true + if case .group(let m) = current {v = m} + } + try decoder.decodeSingularMessageField(value: &v) + if let v = v { + if hadOneofValue {try decoder.handleConflictingOneOf()} + self.element = .group(v) + } + }() + case 3: try { + var v: Xmtp_DeviceSync_MessageBackup_GroupMessageSave? + var hadOneofValue = false + if let current = self.element { + hadOneofValue = true + if case .groupMessage(let m) = current {v = m} + } + try decoder.decodeSingularMessageField(value: &v) + if let v = v { + if hadOneofValue {try decoder.handleConflictingOneOf()} + self.element = .groupMessage(v) + } + }() + case 4: try { + var v: Xmtp_DeviceSync_ConsentBackup_ConsentSave? + var hadOneofValue = false + if let current = self.element { + hadOneofValue = true + if case .consent(let m) = current {v = m} + } + try decoder.decodeSingularMessageField(value: &v) + if let v = v { + if hadOneofValue {try decoder.handleConflictingOneOf()} + self.element = .consent(v) + } + }() + case 5: try { + var v: Xmtp_DeviceSync_EventBackup_EventSave? + var hadOneofValue = false + if let current = self.element { + hadOneofValue = true + if case .event(let m) = current {v = m} + } + try decoder.decodeSingularMessageField(value: &v) + if let v = v { + if hadOneofValue {try decoder.handleConflictingOneOf()} + self.element = .event(v) + } + }() + default: break + } + } + } + + public func traverse(visitor: inout V) throws { + // The use of inline closures is to circumvent an issue where the compiler + // allocates stack space for every if/case branch local when no optimizations + // are enabled. https://github.com/apple/swift-protobuf/issues/1034 and + // https://github.com/apple/swift-protobuf/issues/1182 + switch self.element { + case .metadata?: try { + guard case .metadata(let v)? = self.element else { preconditionFailure() } + try visitor.visitSingularMessageField(value: v, fieldNumber: 1) + }() + case .group?: try { + guard case .group(let v)? = self.element else { preconditionFailure() } + try visitor.visitSingularMessageField(value: v, fieldNumber: 2) + }() + case .groupMessage?: try { + guard case .groupMessage(let v)? = self.element else { preconditionFailure() } + try visitor.visitSingularMessageField(value: v, fieldNumber: 3) + }() + case .consent?: try { + guard case .consent(let v)? = self.element else { preconditionFailure() } + try visitor.visitSingularMessageField(value: v, fieldNumber: 4) + }() + case .event?: try { + guard case .event(let v)? = self.element else { preconditionFailure() } + try visitor.visitSingularMessageField(value: v, fieldNumber: 5) + }() + case nil: break + } + try unknownFields.traverse(visitor: &visitor) + } + + public static func ==(lhs: Xmtp_DeviceSync_BackupElement, rhs: Xmtp_DeviceSync_BackupElement) -> Bool { + if lhs.element != rhs.element {return false} + if lhs.unknownFields != rhs.unknownFields {return false} + return true + } +} + +extension Xmtp_DeviceSync_BackupMetadataSave: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementationBase, SwiftProtobuf._ProtoNameProviding { + public static let protoMessageName: String = _protobuf_package + ".BackupMetadataSave" + public static let _protobuf_nameMap = SwiftProtobuf._NameMap(bytecode: "\0\u{2}\u{2}elements\0\u{3}exported_at_ns\0\u{3}start_ns\0\u{3}end_ns\0") + + public mutating func decodeMessage(decoder: inout D) throws { + while let fieldNumber = try decoder.nextFieldNumber() { + // The use of inline closures is to circumvent an issue where the compiler + // allocates stack space for every case branch when no optimizations are + // enabled. https://github.com/apple/swift-protobuf/issues/1034 + switch fieldNumber { + case 2: try { try decoder.decodeRepeatedEnumField(value: &self.elements) }() + case 3: try { try decoder.decodeSingularInt64Field(value: &self.exportedAtNs) }() + case 4: try { try decoder.decodeSingularInt64Field(value: &self._startNs) }() + case 5: try { try decoder.decodeSingularInt64Field(value: &self._endNs) }() + default: break + } + } + } + + public func traverse(visitor: inout V) throws { + // The use of inline closures is to circumvent an issue where the compiler + // allocates stack space for every if/case branch local when no optimizations + // are enabled. https://github.com/apple/swift-protobuf/issues/1034 and + // https://github.com/apple/swift-protobuf/issues/1182 + if !self.elements.isEmpty { + try visitor.visitPackedEnumField(value: self.elements, fieldNumber: 2) + } + if self.exportedAtNs != 0 { + try visitor.visitSingularInt64Field(value: self.exportedAtNs, fieldNumber: 3) + } + try { if let v = self._startNs { + try visitor.visitSingularInt64Field(value: v, fieldNumber: 4) + } }() + try { if let v = self._endNs { + try visitor.visitSingularInt64Field(value: v, fieldNumber: 5) + } }() + try unknownFields.traverse(visitor: &visitor) + } + + public static func ==(lhs: Xmtp_DeviceSync_BackupMetadataSave, rhs: Xmtp_DeviceSync_BackupMetadataSave) -> Bool { + if lhs.elements != rhs.elements {return false} + if lhs.exportedAtNs != rhs.exportedAtNs {return false} + if lhs._startNs != rhs._startNs {return false} + if lhs._endNs != rhs._endNs {return false} + if lhs.unknownFields != rhs.unknownFields {return false} + return true + } +} + +extension Xmtp_DeviceSync_BackupOptions: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementationBase, SwiftProtobuf._ProtoNameProviding { + public static let protoMessageName: String = _protobuf_package + ".BackupOptions" + public static let _protobuf_nameMap = SwiftProtobuf._NameMap(bytecode: "\0\u{1}elements\0\u{3}start_ns\0\u{3}end_ns\0") + + public mutating func decodeMessage(decoder: inout D) throws { + while let fieldNumber = try decoder.nextFieldNumber() { + // The use of inline closures is to circumvent an issue where the compiler + // allocates stack space for every case branch when no optimizations are + // enabled. https://github.com/apple/swift-protobuf/issues/1034 + switch fieldNumber { + case 1: try { try decoder.decodeRepeatedEnumField(value: &self.elements) }() + case 2: try { try decoder.decodeSingularInt64Field(value: &self._startNs) }() + case 3: try { try decoder.decodeSingularInt64Field(value: &self._endNs) }() + default: break + } + } + } + + public func traverse(visitor: inout V) throws { + // The use of inline closures is to circumvent an issue where the compiler + // allocates stack space for every if/case branch local when no optimizations + // are enabled. https://github.com/apple/swift-protobuf/issues/1034 and + // https://github.com/apple/swift-protobuf/issues/1182 + if !self.elements.isEmpty { + try visitor.visitPackedEnumField(value: self.elements, fieldNumber: 1) + } + try { if let v = self._startNs { + try visitor.visitSingularInt64Field(value: v, fieldNumber: 2) + } }() + try { if let v = self._endNs { + try visitor.visitSingularInt64Field(value: v, fieldNumber: 3) + } }() + try unknownFields.traverse(visitor: &visitor) + } + + public static func ==(lhs: Xmtp_DeviceSync_BackupOptions, rhs: Xmtp_DeviceSync_BackupOptions) -> Bool { + if lhs.elements != rhs.elements {return false} + if lhs._startNs != rhs._startNs {return false} + if lhs._endNs != rhs._endNs {return false} + if lhs.unknownFields != rhs.unknownFields {return false} + return true + } +} diff --git a/swift/device_sync/event_backup.pb.swift b/swift/device_sync/event_backup.pb.swift new file mode 100644 index 0000000..ab7479e --- /dev/null +++ b/swift/device_sync/event_backup.pb.swift @@ -0,0 +1,181 @@ +// DO NOT EDIT. +// swift-format-ignore-file +// swiftlint:disable all +// +// Generated by the Swift generator plugin for the protocol buffer compiler. +// Source: device_sync/event_backup.proto +// +// For information on using the generated types, please see the documentation: +// https://github.com/apple/swift-protobuf/ + +/// Definitions for backups + +import Foundation +import SwiftProtobuf + +// If the compiler emits an error on this type, it is because this file +// was generated by a version of the `protoc` Swift plug-in that is +// incompatible with the version of SwiftProtobuf to which you are linking. +// Please ensure that you are building against the same version of the API +// that was used to generate this file. +fileprivate struct _GeneratedWithProtocGenSwiftVersion: SwiftProtobuf.ProtobufAPIVersionCheck { + struct _2: SwiftProtobuf.ProtobufAPIVersion_2 {} + typealias Version = _2 +} + +public enum Xmtp_DeviceSync_EventBackup_EventLevelSave: SwiftProtobuf.Enum, Swift.CaseIterable { + public typealias RawValue = Int + case unspecified // = 0 + case none // = 1 + case success // = 2 + case warn // = 3 + case error // = 4 + case fault // = 5 + case UNRECOGNIZED(Int) + + public init() { + self = .unspecified + } + + public init?(rawValue: Int) { + switch rawValue { + case 0: self = .unspecified + case 1: self = .none + case 2: self = .success + case 3: self = .warn + case 4: self = .error + case 5: self = .fault + default: self = .UNRECOGNIZED(rawValue) + } + } + + public var rawValue: Int { + switch self { + case .unspecified: return 0 + case .none: return 1 + case .success: return 2 + case .warn: return 3 + case .error: return 4 + case .fault: return 5 + case .UNRECOGNIZED(let i): return i + } + } + + // The compiler won't synthesize support with the UNRECOGNIZED case. + public static let allCases: [Xmtp_DeviceSync_EventBackup_EventLevelSave] = [ + .unspecified, + .none, + .success, + .warn, + .error, + .fault, + ] + +} + +/// Proto representation of a client record save +public struct Xmtp_DeviceSync_EventBackup_EventSave: Sendable { + // SwiftProtobuf.Message conformance is added in an extension below. See the + // `Message` and `Message+*Additions` files in the SwiftProtobuf library for + // methods supported on all messages. + + public var createdAtNs: Int64 = 0 + + public var event: String = String() + + public var details: Data = Data() + + public var groupID: Data { + get {return _groupID ?? Data()} + set {_groupID = newValue} + } + /// Returns true if `groupID` has been explicitly set. + public var hasGroupID: Bool {return self._groupID != nil} + /// Clears the value of `groupID`. Subsequent reads from it will return its default value. + public mutating func clearGroupID() {self._groupID = nil} + + public var level: Xmtp_DeviceSync_EventBackup_EventLevelSave = .unspecified + + public var icon: String { + get {return _icon ?? String()} + set {_icon = newValue} + } + /// Returns true if `icon` has been explicitly set. + public var hasIcon: Bool {return self._icon != nil} + /// Clears the value of `icon`. Subsequent reads from it will return its default value. + public mutating func clearIcon() {self._icon = nil} + + public var unknownFields = SwiftProtobuf.UnknownStorage() + + public init() {} + + fileprivate var _groupID: Data? = nil + fileprivate var _icon: String? = nil +} + +// MARK: - Code below here is support for the SwiftProtobuf runtime. + +fileprivate let _protobuf_package = "xmtp.device_sync.event_backup" + +extension Xmtp_DeviceSync_EventBackup_EventLevelSave: SwiftProtobuf._ProtoNameProviding { + public static let _protobuf_nameMap = SwiftProtobuf._NameMap(bytecode: "\0\u{2}\0EVENT_LEVEL_SAVE_UNSPECIFIED\0\u{1}EVENT_LEVEL_SAVE_NONE\0\u{1}EVENT_LEVEL_SAVE_SUCCESS\0\u{1}EVENT_LEVEL_SAVE_WARN\0\u{1}EVENT_LEVEL_SAVE_ERROR\0\u{1}EVENT_LEVEL_SAVE_FAULT\0") +} + +extension Xmtp_DeviceSync_EventBackup_EventSave: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementationBase, SwiftProtobuf._ProtoNameProviding { + public static let protoMessageName: String = _protobuf_package + ".EventSave" + public static let _protobuf_nameMap = SwiftProtobuf._NameMap(bytecode: "\0\u{3}created_at_ns\0\u{1}event\0\u{1}details\0\u{3}group_id\0\u{1}level\0\u{1}icon\0") + + public mutating func decodeMessage(decoder: inout D) throws { + while let fieldNumber = try decoder.nextFieldNumber() { + // The use of inline closures is to circumvent an issue where the compiler + // allocates stack space for every case branch when no optimizations are + // enabled. https://github.com/apple/swift-protobuf/issues/1034 + switch fieldNumber { + case 1: try { try decoder.decodeSingularInt64Field(value: &self.createdAtNs) }() + case 2: try { try decoder.decodeSingularStringField(value: &self.event) }() + case 3: try { try decoder.decodeSingularBytesField(value: &self.details) }() + case 4: try { try decoder.decodeSingularBytesField(value: &self._groupID) }() + case 5: try { try decoder.decodeSingularEnumField(value: &self.level) }() + case 6: try { try decoder.decodeSingularStringField(value: &self._icon) }() + default: break + } + } + } + + public func traverse(visitor: inout V) throws { + // The use of inline closures is to circumvent an issue where the compiler + // allocates stack space for every if/case branch local when no optimizations + // are enabled. https://github.com/apple/swift-protobuf/issues/1034 and + // https://github.com/apple/swift-protobuf/issues/1182 + if self.createdAtNs != 0 { + try visitor.visitSingularInt64Field(value: self.createdAtNs, fieldNumber: 1) + } + if !self.event.isEmpty { + try visitor.visitSingularStringField(value: self.event, fieldNumber: 2) + } + if !self.details.isEmpty { + try visitor.visitSingularBytesField(value: self.details, fieldNumber: 3) + } + try { if let v = self._groupID { + try visitor.visitSingularBytesField(value: v, fieldNumber: 4) + } }() + if self.level != .unspecified { + try visitor.visitSingularEnumField(value: self.level, fieldNumber: 5) + } + try { if let v = self._icon { + try visitor.visitSingularStringField(value: v, fieldNumber: 6) + } }() + try unknownFields.traverse(visitor: &visitor) + } + + public static func ==(lhs: Xmtp_DeviceSync_EventBackup_EventSave, rhs: Xmtp_DeviceSync_EventBackup_EventSave) -> Bool { + if lhs.createdAtNs != rhs.createdAtNs {return false} + if lhs.event != rhs.event {return false} + if lhs.details != rhs.details {return false} + if lhs._groupID != rhs._groupID {return false} + if lhs.level != rhs.level {return false} + if lhs._icon != rhs._icon {return false} + if lhs.unknownFields != rhs.unknownFields {return false} + return true + } +} diff --git a/swift/device_sync/group_backup.pb.swift b/swift/device_sync/group_backup.pb.swift new file mode 100644 index 0000000..b228da9 --- /dev/null +++ b/swift/device_sync/group_backup.pb.swift @@ -0,0 +1,524 @@ +// DO NOT EDIT. +// swift-format-ignore-file +// swiftlint:disable all +// +// Generated by the Swift generator plugin for the protocol buffer compiler. +// Source: device_sync/group_backup.proto +// +// For information on using the generated types, please see the documentation: +// https://github.com/apple/swift-protobuf/ + +/// Definitions for backups + +import Foundation +import SwiftProtobuf + +// If the compiler emits an error on this type, it is because this file +// was generated by a version of the `protoc` Swift plug-in that is +// incompatible with the version of SwiftProtobuf to which you are linking. +// Please ensure that you are building against the same version of the API +// that was used to generate this file. +fileprivate struct _GeneratedWithProtocGenSwiftVersion: SwiftProtobuf.ProtobufAPIVersionCheck { + struct _2: SwiftProtobuf.ProtobufAPIVersion_2 {} + typealias Version = _2 +} + +/// Group membership state +public enum Xmtp_DeviceSync_GroupBackup_GroupMembershipStateSave: SwiftProtobuf.Enum, Swift.CaseIterable { + public typealias RawValue = Int + case unspecified // = 0 + case allowed // = 1 + case rejected // = 2 + case pending // = 3 + + /// A group is marked as this state when it is restored + /// from a backup. This is a non-functional archive state + /// that can be reactivated when the user is re-added to + /// the group. + case restored // = 4 + case pendingRemove // = 5 + case UNRECOGNIZED(Int) + + public init() { + self = .unspecified + } + + public init?(rawValue: Int) { + switch rawValue { + case 0: self = .unspecified + case 1: self = .allowed + case 2: self = .rejected + case 3: self = .pending + case 4: self = .restored + case 5: self = .pendingRemove + default: self = .UNRECOGNIZED(rawValue) + } + } + + public var rawValue: Int { + switch self { + case .unspecified: return 0 + case .allowed: return 1 + case .rejected: return 2 + case .pending: return 3 + case .restored: return 4 + case .pendingRemove: return 5 + case .UNRECOGNIZED(let i): return i + } + } + + // The compiler won't synthesize support with the UNRECOGNIZED case. + public static let allCases: [Xmtp_DeviceSync_GroupBackup_GroupMembershipStateSave] = [ + .unspecified, + .allowed, + .rejected, + .pending, + .restored, + .pendingRemove, + ] + +} + +/// Conversation type +public enum Xmtp_DeviceSync_GroupBackup_ConversationTypeSave: SwiftProtobuf.Enum, Swift.CaseIterable { + public typealias RawValue = Int + case unspecified // = 0 + case group // = 1 + case dm // = 2 + case sync // = 3 + case UNRECOGNIZED(Int) + + public init() { + self = .unspecified + } + + public init?(rawValue: Int) { + switch rawValue { + case 0: self = .unspecified + case 1: self = .group + case 2: self = .dm + case 3: self = .sync + default: self = .UNRECOGNIZED(rawValue) + } + } + + public var rawValue: Int { + switch self { + case .unspecified: return 0 + case .group: return 1 + case .dm: return 2 + case .sync: return 3 + case .UNRECOGNIZED(let i): return i + } + } + + // The compiler won't synthesize support with the UNRECOGNIZED case. + public static let allCases: [Xmtp_DeviceSync_GroupBackup_ConversationTypeSave] = [ + .unspecified, + .group, + .dm, + .sync, + ] + +} + +/// Proto representation of a stored group +public struct Xmtp_DeviceSync_GroupBackup_GroupSave: @unchecked Sendable { + // SwiftProtobuf.Message conformance is added in an extension below. See the + // `Message` and `Message+*Additions` files in the SwiftProtobuf library for + // methods supported on all messages. + + public var id: Data { + get {return _storage._id} + set {_uniqueStorage()._id = newValue} + } + + public var createdAtNs: Int64 { + get {return _storage._createdAtNs} + set {_uniqueStorage()._createdAtNs = newValue} + } + + public var membershipState: Xmtp_DeviceSync_GroupBackup_GroupMembershipStateSave { + get {return _storage._membershipState} + set {_uniqueStorage()._membershipState = newValue} + } + + public var installationsLastChecked: Int64 { + get {return _storage._installationsLastChecked} + set {_uniqueStorage()._installationsLastChecked = newValue} + } + + public var addedByInboxID: String { + get {return _storage._addedByInboxID} + set {_uniqueStorage()._addedByInboxID = newValue} + } + + public var welcomeID: Int64 { + get {return _storage._welcomeID ?? 0} + set {_uniqueStorage()._welcomeID = newValue} + } + /// Returns true if `welcomeID` has been explicitly set. + public var hasWelcomeID: Bool {return _storage._welcomeID != nil} + /// Clears the value of `welcomeID`. Subsequent reads from it will return its default value. + public mutating func clearWelcomeID() {_uniqueStorage()._welcomeID = nil} + + public var rotatedAtNs: Int64 { + get {return _storage._rotatedAtNs} + set {_uniqueStorage()._rotatedAtNs = newValue} + } + + public var conversationType: Xmtp_DeviceSync_GroupBackup_ConversationTypeSave { + get {return _storage._conversationType} + set {_uniqueStorage()._conversationType = newValue} + } + + public var dmID: String { + get {return _storage._dmID ?? String()} + set {_uniqueStorage()._dmID = newValue} + } + /// Returns true if `dmID` has been explicitly set. + public var hasDmID: Bool {return _storage._dmID != nil} + /// Clears the value of `dmID`. Subsequent reads from it will return its default value. + public mutating func clearDmID() {_uniqueStorage()._dmID = nil} + + public var lastMessageNs: Int64 { + get {return _storage._lastMessageNs ?? 0} + set {_uniqueStorage()._lastMessageNs = newValue} + } + /// Returns true if `lastMessageNs` has been explicitly set. + public var hasLastMessageNs: Bool {return _storage._lastMessageNs != nil} + /// Clears the value of `lastMessageNs`. Subsequent reads from it will return its default value. + public mutating func clearLastMessageNs() {_uniqueStorage()._lastMessageNs = nil} + + public var messageDisappearFromNs: Int64 { + get {return _storage._messageDisappearFromNs ?? 0} + set {_uniqueStorage()._messageDisappearFromNs = newValue} + } + /// Returns true if `messageDisappearFromNs` has been explicitly set. + public var hasMessageDisappearFromNs: Bool {return _storage._messageDisappearFromNs != nil} + /// Clears the value of `messageDisappearFromNs`. Subsequent reads from it will return its default value. + public mutating func clearMessageDisappearFromNs() {_uniqueStorage()._messageDisappearFromNs = nil} + + public var messageDisappearInNs: Int64 { + get {return _storage._messageDisappearInNs ?? 0} + set {_uniqueStorage()._messageDisappearInNs = newValue} + } + /// Returns true if `messageDisappearInNs` has been explicitly set. + public var hasMessageDisappearInNs: Bool {return _storage._messageDisappearInNs != nil} + /// Clears the value of `messageDisappearInNs`. Subsequent reads from it will return its default value. + public mutating func clearMessageDisappearInNs() {_uniqueStorage()._messageDisappearInNs = nil} + + /// metadata fields + public var metadata: Xmtp_DeviceSync_GroupBackup_ImmutableMetadataSave { + get {return _storage._metadata ?? Xmtp_DeviceSync_GroupBackup_ImmutableMetadataSave()} + set {_uniqueStorage()._metadata = newValue} + } + /// Returns true if `metadata` has been explicitly set. + public var hasMetadata: Bool {return _storage._metadata != nil} + /// Clears the value of `metadata`. Subsequent reads from it will return its default value. + public mutating func clearMetadata() {_uniqueStorage()._metadata = nil} + + public var mutableMetadata: Xmtp_DeviceSync_GroupBackup_MutableMetadataSave { + get {return _storage._mutableMetadata ?? Xmtp_DeviceSync_GroupBackup_MutableMetadataSave()} + set {_uniqueStorage()._mutableMetadata = newValue} + } + /// Returns true if `mutableMetadata` has been explicitly set. + public var hasMutableMetadata: Bool {return _storage._mutableMetadata != nil} + /// Clears the value of `mutableMetadata`. Subsequent reads from it will return its default value. + public mutating func clearMutableMetadata() {_uniqueStorage()._mutableMetadata = nil} + + public var pausedForVersion: String { + get {return _storage._pausedForVersion ?? String()} + set {_uniqueStorage()._pausedForVersion = newValue} + } + /// Returns true if `pausedForVersion` has been explicitly set. + public var hasPausedForVersion: Bool {return _storage._pausedForVersion != nil} + /// Clears the value of `pausedForVersion`. Subsequent reads from it will return its default value. + public mutating func clearPausedForVersion() {_uniqueStorage()._pausedForVersion = nil} + + public var unknownFields = SwiftProtobuf.UnknownStorage() + + public init() {} + + fileprivate var _storage = _StorageClass.defaultInstance +} + +/// A Groups's mutable metadata +public struct Xmtp_DeviceSync_GroupBackup_MutableMetadataSave: Sendable { + // SwiftProtobuf.Message conformance is added in an extension below. See the + // `Message` and `Message+*Additions` files in the SwiftProtobuf library for + // methods supported on all messages. + + public var attributes: Dictionary = [:] + + public var adminList: [String] = [] + + public var superAdminList: [String] = [] + + public var unknownFields = SwiftProtobuf.UnknownStorage() + + public init() {} +} + +/// A Group's immutable metadata +public struct Xmtp_DeviceSync_GroupBackup_ImmutableMetadataSave: Sendable { + // SwiftProtobuf.Message conformance is added in an extension below. See the + // `Message` and `Message+*Additions` files in the SwiftProtobuf library for + // methods supported on all messages. + + public var creatorInboxID: String = String() + + public var unknownFields = SwiftProtobuf.UnknownStorage() + + public init() {} +} + +// MARK: - Code below here is support for the SwiftProtobuf runtime. + +fileprivate let _protobuf_package = "xmtp.device_sync.group_backup" + +extension Xmtp_DeviceSync_GroupBackup_GroupMembershipStateSave: SwiftProtobuf._ProtoNameProviding { + public static let _protobuf_nameMap = SwiftProtobuf._NameMap(bytecode: "\0\u{2}\0GROUP_MEMBERSHIP_STATE_SAVE_UNSPECIFIED\0\u{1}GROUP_MEMBERSHIP_STATE_SAVE_ALLOWED\0\u{1}GROUP_MEMBERSHIP_STATE_SAVE_REJECTED\0\u{1}GROUP_MEMBERSHIP_STATE_SAVE_PENDING\0\u{1}GROUP_MEMBERSHIP_STATE_SAVE_RESTORED\0\u{1}GROUP_MEMBERSHIP_STATE_SAVE_PENDING_REMOVE\0") +} + +extension Xmtp_DeviceSync_GroupBackup_ConversationTypeSave: SwiftProtobuf._ProtoNameProviding { + public static let _protobuf_nameMap = SwiftProtobuf._NameMap(bytecode: "\0\u{2}\0CONVERSATION_TYPE_SAVE_UNSPECIFIED\0\u{1}CONVERSATION_TYPE_SAVE_GROUP\0\u{1}CONVERSATION_TYPE_SAVE_DM\0\u{1}CONVERSATION_TYPE_SAVE_SYNC\0") +} + +extension Xmtp_DeviceSync_GroupBackup_GroupSave: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementationBase, SwiftProtobuf._ProtoNameProviding { + public static let protoMessageName: String = _protobuf_package + ".GroupSave" + public static let _protobuf_nameMap = SwiftProtobuf._NameMap(bytecode: "\0\u{1}id\0\u{3}created_at_ns\0\u{3}membership_state\0\u{3}installations_last_checked\0\u{3}added_by_inbox_id\0\u{3}welcome_id\0\u{3}rotated_at_ns\0\u{3}conversation_type\0\u{3}dm_id\0\u{3}last_message_ns\0\u{3}message_disappear_from_ns\0\u{3}message_disappear_in_ns\0\u{1}metadata\0\u{3}mutable_metadata\0\u{3}paused_for_version\0") + + fileprivate class _StorageClass { + var _id: Data = Data() + var _createdAtNs: Int64 = 0 + var _membershipState: Xmtp_DeviceSync_GroupBackup_GroupMembershipStateSave = .unspecified + var _installationsLastChecked: Int64 = 0 + var _addedByInboxID: String = String() + var _welcomeID: Int64? = nil + var _rotatedAtNs: Int64 = 0 + var _conversationType: Xmtp_DeviceSync_GroupBackup_ConversationTypeSave = .unspecified + var _dmID: String? = nil + var _lastMessageNs: Int64? = nil + var _messageDisappearFromNs: Int64? = nil + var _messageDisappearInNs: Int64? = nil + var _metadata: Xmtp_DeviceSync_GroupBackup_ImmutableMetadataSave? = nil + var _mutableMetadata: Xmtp_DeviceSync_GroupBackup_MutableMetadataSave? = nil + var _pausedForVersion: String? = nil + + // This property is used as the initial default value for new instances of the type. + // The type itself is protecting the reference to its storage via CoW semantics. + // This will force a copy to be made of this reference when the first mutation occurs; + // hence, it is safe to mark this as `nonisolated(unsafe)`. + static nonisolated(unsafe) let defaultInstance = _StorageClass() + + private init() {} + + init(copying source: _StorageClass) { + _id = source._id + _createdAtNs = source._createdAtNs + _membershipState = source._membershipState + _installationsLastChecked = source._installationsLastChecked + _addedByInboxID = source._addedByInboxID + _welcomeID = source._welcomeID + _rotatedAtNs = source._rotatedAtNs + _conversationType = source._conversationType + _dmID = source._dmID + _lastMessageNs = source._lastMessageNs + _messageDisappearFromNs = source._messageDisappearFromNs + _messageDisappearInNs = source._messageDisappearInNs + _metadata = source._metadata + _mutableMetadata = source._mutableMetadata + _pausedForVersion = source._pausedForVersion + } + } + + fileprivate mutating func _uniqueStorage() -> _StorageClass { + if !isKnownUniquelyReferenced(&_storage) { + _storage = _StorageClass(copying: _storage) + } + return _storage + } + + public mutating func decodeMessage(decoder: inout D) throws { + _ = _uniqueStorage() + try withExtendedLifetime(_storage) { (_storage: _StorageClass) in + while let fieldNumber = try decoder.nextFieldNumber() { + // The use of inline closures is to circumvent an issue where the compiler + // allocates stack space for every case branch when no optimizations are + // enabled. https://github.com/apple/swift-protobuf/issues/1034 + switch fieldNumber { + case 1: try { try decoder.decodeSingularBytesField(value: &_storage._id) }() + case 2: try { try decoder.decodeSingularInt64Field(value: &_storage._createdAtNs) }() + case 3: try { try decoder.decodeSingularEnumField(value: &_storage._membershipState) }() + case 4: try { try decoder.decodeSingularInt64Field(value: &_storage._installationsLastChecked) }() + case 5: try { try decoder.decodeSingularStringField(value: &_storage._addedByInboxID) }() + case 6: try { try decoder.decodeSingularInt64Field(value: &_storage._welcomeID) }() + case 7: try { try decoder.decodeSingularInt64Field(value: &_storage._rotatedAtNs) }() + case 8: try { try decoder.decodeSingularEnumField(value: &_storage._conversationType) }() + case 9: try { try decoder.decodeSingularStringField(value: &_storage._dmID) }() + case 10: try { try decoder.decodeSingularInt64Field(value: &_storage._lastMessageNs) }() + case 11: try { try decoder.decodeSingularInt64Field(value: &_storage._messageDisappearFromNs) }() + case 12: try { try decoder.decodeSingularInt64Field(value: &_storage._messageDisappearInNs) }() + case 13: try { try decoder.decodeSingularMessageField(value: &_storage._metadata) }() + case 14: try { try decoder.decodeSingularMessageField(value: &_storage._mutableMetadata) }() + case 15: try { try decoder.decodeSingularStringField(value: &_storage._pausedForVersion) }() + default: break + } + } + } + } + + public func traverse(visitor: inout V) throws { + try withExtendedLifetime(_storage) { (_storage: _StorageClass) in + // The use of inline closures is to circumvent an issue where the compiler + // allocates stack space for every if/case branch local when no optimizations + // are enabled. https://github.com/apple/swift-protobuf/issues/1034 and + // https://github.com/apple/swift-protobuf/issues/1182 + if !_storage._id.isEmpty { + try visitor.visitSingularBytesField(value: _storage._id, fieldNumber: 1) + } + if _storage._createdAtNs != 0 { + try visitor.visitSingularInt64Field(value: _storage._createdAtNs, fieldNumber: 2) + } + if _storage._membershipState != .unspecified { + try visitor.visitSingularEnumField(value: _storage._membershipState, fieldNumber: 3) + } + if _storage._installationsLastChecked != 0 { + try visitor.visitSingularInt64Field(value: _storage._installationsLastChecked, fieldNumber: 4) + } + if !_storage._addedByInboxID.isEmpty { + try visitor.visitSingularStringField(value: _storage._addedByInboxID, fieldNumber: 5) + } + try { if let v = _storage._welcomeID { + try visitor.visitSingularInt64Field(value: v, fieldNumber: 6) + } }() + if _storage._rotatedAtNs != 0 { + try visitor.visitSingularInt64Field(value: _storage._rotatedAtNs, fieldNumber: 7) + } + if _storage._conversationType != .unspecified { + try visitor.visitSingularEnumField(value: _storage._conversationType, fieldNumber: 8) + } + try { if let v = _storage._dmID { + try visitor.visitSingularStringField(value: v, fieldNumber: 9) + } }() + try { if let v = _storage._lastMessageNs { + try visitor.visitSingularInt64Field(value: v, fieldNumber: 10) + } }() + try { if let v = _storage._messageDisappearFromNs { + try visitor.visitSingularInt64Field(value: v, fieldNumber: 11) + } }() + try { if let v = _storage._messageDisappearInNs { + try visitor.visitSingularInt64Field(value: v, fieldNumber: 12) + } }() + try { if let v = _storage._metadata { + try visitor.visitSingularMessageField(value: v, fieldNumber: 13) + } }() + try { if let v = _storage._mutableMetadata { + try visitor.visitSingularMessageField(value: v, fieldNumber: 14) + } }() + try { if let v = _storage._pausedForVersion { + try visitor.visitSingularStringField(value: v, fieldNumber: 15) + } }() + } + try unknownFields.traverse(visitor: &visitor) + } + + public static func ==(lhs: Xmtp_DeviceSync_GroupBackup_GroupSave, rhs: Xmtp_DeviceSync_GroupBackup_GroupSave) -> Bool { + if lhs._storage !== rhs._storage { + let storagesAreEqual: Bool = withExtendedLifetime((lhs._storage, rhs._storage)) { (_args: (_StorageClass, _StorageClass)) in + let _storage = _args.0 + let rhs_storage = _args.1 + if _storage._id != rhs_storage._id {return false} + if _storage._createdAtNs != rhs_storage._createdAtNs {return false} + if _storage._membershipState != rhs_storage._membershipState {return false} + if _storage._installationsLastChecked != rhs_storage._installationsLastChecked {return false} + if _storage._addedByInboxID != rhs_storage._addedByInboxID {return false} + if _storage._welcomeID != rhs_storage._welcomeID {return false} + if _storage._rotatedAtNs != rhs_storage._rotatedAtNs {return false} + if _storage._conversationType != rhs_storage._conversationType {return false} + if _storage._dmID != rhs_storage._dmID {return false} + if _storage._lastMessageNs != rhs_storage._lastMessageNs {return false} + if _storage._messageDisappearFromNs != rhs_storage._messageDisappearFromNs {return false} + if _storage._messageDisappearInNs != rhs_storage._messageDisappearInNs {return false} + if _storage._metadata != rhs_storage._metadata {return false} + if _storage._mutableMetadata != rhs_storage._mutableMetadata {return false} + if _storage._pausedForVersion != rhs_storage._pausedForVersion {return false} + return true + } + if !storagesAreEqual {return false} + } + if lhs.unknownFields != rhs.unknownFields {return false} + return true + } +} + +extension Xmtp_DeviceSync_GroupBackup_MutableMetadataSave: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementationBase, SwiftProtobuf._ProtoNameProviding { + public static let protoMessageName: String = _protobuf_package + ".MutableMetadataSave" + public static let _protobuf_nameMap = SwiftProtobuf._NameMap(bytecode: "\0\u{1}attributes\0\u{3}admin_list\0\u{3}super_admin_list\0") + + public mutating func decodeMessage(decoder: inout D) throws { + while let fieldNumber = try decoder.nextFieldNumber() { + // The use of inline closures is to circumvent an issue where the compiler + // allocates stack space for every case branch when no optimizations are + // enabled. https://github.com/apple/swift-protobuf/issues/1034 + switch fieldNumber { + case 1: try { try decoder.decodeMapField(fieldType: SwiftProtobuf._ProtobufMap.self, value: &self.attributes) }() + case 2: try { try decoder.decodeRepeatedStringField(value: &self.adminList) }() + case 3: try { try decoder.decodeRepeatedStringField(value: &self.superAdminList) }() + default: break + } + } + } + + public func traverse(visitor: inout V) throws { + if !self.attributes.isEmpty { + try visitor.visitMapField(fieldType: SwiftProtobuf._ProtobufMap.self, value: self.attributes, fieldNumber: 1) + } + if !self.adminList.isEmpty { + try visitor.visitRepeatedStringField(value: self.adminList, fieldNumber: 2) + } + if !self.superAdminList.isEmpty { + try visitor.visitRepeatedStringField(value: self.superAdminList, fieldNumber: 3) + } + try unknownFields.traverse(visitor: &visitor) + } + + public static func ==(lhs: Xmtp_DeviceSync_GroupBackup_MutableMetadataSave, rhs: Xmtp_DeviceSync_GroupBackup_MutableMetadataSave) -> Bool { + if lhs.attributes != rhs.attributes {return false} + if lhs.adminList != rhs.adminList {return false} + if lhs.superAdminList != rhs.superAdminList {return false} + if lhs.unknownFields != rhs.unknownFields {return false} + return true + } +} + +extension Xmtp_DeviceSync_GroupBackup_ImmutableMetadataSave: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementationBase, SwiftProtobuf._ProtoNameProviding { + public static let protoMessageName: String = _protobuf_package + ".ImmutableMetadataSave" + public static let _protobuf_nameMap = SwiftProtobuf._NameMap(bytecode: "\0\u{3}creator_inbox_id\0") + + public mutating func decodeMessage(decoder: inout D) throws { + while let fieldNumber = try decoder.nextFieldNumber() { + // The use of inline closures is to circumvent an issue where the compiler + // allocates stack space for every case branch when no optimizations are + // enabled. https://github.com/apple/swift-protobuf/issues/1034 + switch fieldNumber { + case 1: try { try decoder.decodeSingularStringField(value: &self.creatorInboxID) }() + default: break + } + } + } + + public func traverse(visitor: inout V) throws { + if !self.creatorInboxID.isEmpty { + try visitor.visitSingularStringField(value: self.creatorInboxID, fieldNumber: 1) + } + try unknownFields.traverse(visitor: &visitor) + } + + public static func ==(lhs: Xmtp_DeviceSync_GroupBackup_ImmutableMetadataSave, rhs: Xmtp_DeviceSync_GroupBackup_ImmutableMetadataSave) -> Bool { + if lhs.creatorInboxID != rhs.creatorInboxID {return false} + if lhs.unknownFields != rhs.unknownFields {return false} + return true + } +} diff --git a/swift/device_sync/message_backup.pb.swift b/swift/device_sync/message_backup.pb.swift new file mode 100644 index 0000000..ec4cd90 --- /dev/null +++ b/swift/device_sync/message_backup.pb.swift @@ -0,0 +1,363 @@ +// DO NOT EDIT. +// swift-format-ignore-file +// swiftlint:disable all +// +// Generated by the Swift generator plugin for the protocol buffer compiler. +// Source: device_sync/message_backup.proto +// +// For information on using the generated types, please see the documentation: +// https://github.com/apple/swift-protobuf/ + +/// Definitions for backups + +import Foundation +import SwiftProtobuf + +// If the compiler emits an error on this type, it is because this file +// was generated by a version of the `protoc` Swift plug-in that is +// incompatible with the version of SwiftProtobuf to which you are linking. +// Please ensure that you are building against the same version of the API +// that was used to generate this file. +fileprivate struct _GeneratedWithProtocGenSwiftVersion: SwiftProtobuf.ProtobufAPIVersionCheck { + struct _2: SwiftProtobuf.ProtobufAPIVersion_2 {} + typealias Version = _2 +} + +/// Group message kind +public enum Xmtp_DeviceSync_MessageBackup_GroupMessageKindSave: SwiftProtobuf.Enum, Swift.CaseIterable { + public typealias RawValue = Int + case unspecified // = 0 + case application // = 1 + case membershipChange // = 2 + case UNRECOGNIZED(Int) + + public init() { + self = .unspecified + } + + public init?(rawValue: Int) { + switch rawValue { + case 0: self = .unspecified + case 1: self = .application + case 2: self = .membershipChange + default: self = .UNRECOGNIZED(rawValue) + } + } + + public var rawValue: Int { + switch self { + case .unspecified: return 0 + case .application: return 1 + case .membershipChange: return 2 + case .UNRECOGNIZED(let i): return i + } + } + + // The compiler won't synthesize support with the UNRECOGNIZED case. + public static let allCases: [Xmtp_DeviceSync_MessageBackup_GroupMessageKindSave] = [ + .unspecified, + .application, + .membershipChange, + ] + +} + +/// Group message delivery status +public enum Xmtp_DeviceSync_MessageBackup_DeliveryStatusSave: SwiftProtobuf.Enum, Swift.CaseIterable { + public typealias RawValue = Int + case unspecified // = 0 + case unpublished // = 1 + case published // = 2 + case failed // = 3 + case UNRECOGNIZED(Int) + + public init() { + self = .unspecified + } + + public init?(rawValue: Int) { + switch rawValue { + case 0: self = .unspecified + case 1: self = .unpublished + case 2: self = .published + case 3: self = .failed + default: self = .UNRECOGNIZED(rawValue) + } + } + + public var rawValue: Int { + switch self { + case .unspecified: return 0 + case .unpublished: return 1 + case .published: return 2 + case .failed: return 3 + case .UNRECOGNIZED(let i): return i + } + } + + // The compiler won't synthesize support with the UNRECOGNIZED case. + public static let allCases: [Xmtp_DeviceSync_MessageBackup_DeliveryStatusSave] = [ + .unspecified, + .unpublished, + .published, + .failed, + ] + +} + +/// Group message content type +public enum Xmtp_DeviceSync_MessageBackup_ContentTypeSave: SwiftProtobuf.Enum, Swift.CaseIterable { + public typealias RawValue = Int + case unspecified // = 0 + case unknown // = 1 + case text // = 2 + case groupMembershipChange // = 3 + case groupUpdated // = 4 + case reaction // = 5 + case readReceipt // = 6 + case reply // = 7 + case attachment // = 8 + case remoteAttachment // = 9 + case transactionReference // = 10 + case UNRECOGNIZED(Int) + + public init() { + self = .unspecified + } + + public init?(rawValue: Int) { + switch rawValue { + case 0: self = .unspecified + case 1: self = .unknown + case 2: self = .text + case 3: self = .groupMembershipChange + case 4: self = .groupUpdated + case 5: self = .reaction + case 6: self = .readReceipt + case 7: self = .reply + case 8: self = .attachment + case 9: self = .remoteAttachment + case 10: self = .transactionReference + default: self = .UNRECOGNIZED(rawValue) + } + } + + public var rawValue: Int { + switch self { + case .unspecified: return 0 + case .unknown: return 1 + case .text: return 2 + case .groupMembershipChange: return 3 + case .groupUpdated: return 4 + case .reaction: return 5 + case .readReceipt: return 6 + case .reply: return 7 + case .attachment: return 8 + case .remoteAttachment: return 9 + case .transactionReference: return 10 + case .UNRECOGNIZED(let i): return i + } + } + + // The compiler won't synthesize support with the UNRECOGNIZED case. + public static let allCases: [Xmtp_DeviceSync_MessageBackup_ContentTypeSave] = [ + .unspecified, + .unknown, + .text, + .groupMembershipChange, + .groupUpdated, + .reaction, + .readReceipt, + .reply, + .attachment, + .remoteAttachment, + .transactionReference, + ] + +} + +/// Proto representation of a stored group message +public struct Xmtp_DeviceSync_MessageBackup_GroupMessageSave: Sendable { + // SwiftProtobuf.Message conformance is added in an extension below. See the + // `Message` and `Message+*Additions` files in the SwiftProtobuf library for + // methods supported on all messages. + + public var id: Data = Data() + + public var groupID: Data = Data() + + public var decryptedMessageBytes: Data = Data() + + public var sentAtNs: Int64 = 0 + + public var kind: Xmtp_DeviceSync_MessageBackup_GroupMessageKindSave = .unspecified + + public var senderInstallationID: Data = Data() + + public var senderInboxID: String = String() + + public var deliveryStatus: Xmtp_DeviceSync_MessageBackup_DeliveryStatusSave = .unspecified + + public var contentType: Xmtp_DeviceSync_MessageBackup_ContentTypeSave = .unspecified + + public var versionMajor: Int32 = 0 + + public var versionMinor: Int32 = 0 + + public var authorityID: String = String() + + public var referenceID: Data { + get {return _referenceID ?? Data()} + set {_referenceID = newValue} + } + /// Returns true if `referenceID` has been explicitly set. + public var hasReferenceID: Bool {return self._referenceID != nil} + /// Clears the value of `referenceID`. Subsequent reads from it will return its default value. + public mutating func clearReferenceID() {self._referenceID = nil} + + public var sequenceID: Int64 { + get {return _sequenceID ?? 0} + set {_sequenceID = newValue} + } + /// Returns true if `sequenceID` has been explicitly set. + public var hasSequenceID: Bool {return self._sequenceID != nil} + /// Clears the value of `sequenceID`. Subsequent reads from it will return its default value. + public mutating func clearSequenceID() {self._sequenceID = nil} + + public var originatorID: Int64 { + get {return _originatorID ?? 0} + set {_originatorID = newValue} + } + /// Returns true if `originatorID` has been explicitly set. + public var hasOriginatorID: Bool {return self._originatorID != nil} + /// Clears the value of `originatorID`. Subsequent reads from it will return its default value. + public mutating func clearOriginatorID() {self._originatorID = nil} + + public var unknownFields = SwiftProtobuf.UnknownStorage() + + public init() {} + + fileprivate var _referenceID: Data? = nil + fileprivate var _sequenceID: Int64? = nil + fileprivate var _originatorID: Int64? = nil +} + +// MARK: - Code below here is support for the SwiftProtobuf runtime. + +fileprivate let _protobuf_package = "xmtp.device_sync.message_backup" + +extension Xmtp_DeviceSync_MessageBackup_GroupMessageKindSave: SwiftProtobuf._ProtoNameProviding { + public static let _protobuf_nameMap = SwiftProtobuf._NameMap(bytecode: "\0\u{2}\0GROUP_MESSAGE_KIND_SAVE_UNSPECIFIED\0\u{1}GROUP_MESSAGE_KIND_SAVE_APPLICATION\0\u{1}GROUP_MESSAGE_KIND_SAVE_MEMBERSHIP_CHANGE\0") +} + +extension Xmtp_DeviceSync_MessageBackup_DeliveryStatusSave: SwiftProtobuf._ProtoNameProviding { + public static let _protobuf_nameMap = SwiftProtobuf._NameMap(bytecode: "\0\u{2}\0DELIVERY_STATUS_SAVE_UNSPECIFIED\0\u{1}DELIVERY_STATUS_SAVE_UNPUBLISHED\0\u{1}DELIVERY_STATUS_SAVE_PUBLISHED\0\u{1}DELIVERY_STATUS_SAVE_FAILED\0") +} + +extension Xmtp_DeviceSync_MessageBackup_ContentTypeSave: SwiftProtobuf._ProtoNameProviding { + public static let _protobuf_nameMap = SwiftProtobuf._NameMap(bytecode: "\0\u{2}\0CONTENT_TYPE_SAVE_UNSPECIFIED\0\u{1}CONTENT_TYPE_SAVE_UNKNOWN\0\u{1}CONTENT_TYPE_SAVE_TEXT\0\u{1}CONTENT_TYPE_SAVE_GROUP_MEMBERSHIP_CHANGE\0\u{1}CONTENT_TYPE_SAVE_GROUP_UPDATED\0\u{1}CONTENT_TYPE_SAVE_REACTION\0\u{1}CONTENT_TYPE_SAVE_READ_RECEIPT\0\u{1}CONTENT_TYPE_SAVE_REPLY\0\u{1}CONTENT_TYPE_SAVE_ATTACHMENT\0\u{1}CONTENT_TYPE_SAVE_REMOTE_ATTACHMENT\0\u{1}CONTENT_TYPE_SAVE_TRANSACTION_REFERENCE\0") +} + +extension Xmtp_DeviceSync_MessageBackup_GroupMessageSave: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementationBase, SwiftProtobuf._ProtoNameProviding { + public static let protoMessageName: String = _protobuf_package + ".GroupMessageSave" + public static let _protobuf_nameMap = SwiftProtobuf._NameMap(bytecode: "\0\u{1}id\0\u{3}group_id\0\u{3}decrypted_message_bytes\0\u{3}sent_at_ns\0\u{1}kind\0\u{3}sender_installation_id\0\u{3}sender_inbox_id\0\u{3}delivery_status\0\u{3}content_type\0\u{3}version_major\0\u{3}version_minor\0\u{3}authority_id\0\u{3}reference_id\0\u{3}sequence_id\0\u{3}originator_id\0") + + public mutating func decodeMessage(decoder: inout D) throws { + while let fieldNumber = try decoder.nextFieldNumber() { + // The use of inline closures is to circumvent an issue where the compiler + // allocates stack space for every case branch when no optimizations are + // enabled. https://github.com/apple/swift-protobuf/issues/1034 + switch fieldNumber { + case 1: try { try decoder.decodeSingularBytesField(value: &self.id) }() + case 2: try { try decoder.decodeSingularBytesField(value: &self.groupID) }() + case 3: try { try decoder.decodeSingularBytesField(value: &self.decryptedMessageBytes) }() + case 4: try { try decoder.decodeSingularInt64Field(value: &self.sentAtNs) }() + case 5: try { try decoder.decodeSingularEnumField(value: &self.kind) }() + case 6: try { try decoder.decodeSingularBytesField(value: &self.senderInstallationID) }() + case 7: try { try decoder.decodeSingularStringField(value: &self.senderInboxID) }() + case 8: try { try decoder.decodeSingularEnumField(value: &self.deliveryStatus) }() + case 9: try { try decoder.decodeSingularEnumField(value: &self.contentType) }() + case 10: try { try decoder.decodeSingularInt32Field(value: &self.versionMajor) }() + case 11: try { try decoder.decodeSingularInt32Field(value: &self.versionMinor) }() + case 12: try { try decoder.decodeSingularStringField(value: &self.authorityID) }() + case 13: try { try decoder.decodeSingularBytesField(value: &self._referenceID) }() + case 14: try { try decoder.decodeSingularInt64Field(value: &self._sequenceID) }() + case 15: try { try decoder.decodeSingularInt64Field(value: &self._originatorID) }() + default: break + } + } + } + + public func traverse(visitor: inout V) throws { + // The use of inline closures is to circumvent an issue where the compiler + // allocates stack space for every if/case branch local when no optimizations + // are enabled. https://github.com/apple/swift-protobuf/issues/1034 and + // https://github.com/apple/swift-protobuf/issues/1182 + if !self.id.isEmpty { + try visitor.visitSingularBytesField(value: self.id, fieldNumber: 1) + } + if !self.groupID.isEmpty { + try visitor.visitSingularBytesField(value: self.groupID, fieldNumber: 2) + } + if !self.decryptedMessageBytes.isEmpty { + try visitor.visitSingularBytesField(value: self.decryptedMessageBytes, fieldNumber: 3) + } + if self.sentAtNs != 0 { + try visitor.visitSingularInt64Field(value: self.sentAtNs, fieldNumber: 4) + } + if self.kind != .unspecified { + try visitor.visitSingularEnumField(value: self.kind, fieldNumber: 5) + } + if !self.senderInstallationID.isEmpty { + try visitor.visitSingularBytesField(value: self.senderInstallationID, fieldNumber: 6) + } + if !self.senderInboxID.isEmpty { + try visitor.visitSingularStringField(value: self.senderInboxID, fieldNumber: 7) + } + if self.deliveryStatus != .unspecified { + try visitor.visitSingularEnumField(value: self.deliveryStatus, fieldNumber: 8) + } + if self.contentType != .unspecified { + try visitor.visitSingularEnumField(value: self.contentType, fieldNumber: 9) + } + if self.versionMajor != 0 { + try visitor.visitSingularInt32Field(value: self.versionMajor, fieldNumber: 10) + } + if self.versionMinor != 0 { + try visitor.visitSingularInt32Field(value: self.versionMinor, fieldNumber: 11) + } + if !self.authorityID.isEmpty { + try visitor.visitSingularStringField(value: self.authorityID, fieldNumber: 12) + } + try { if let v = self._referenceID { + try visitor.visitSingularBytesField(value: v, fieldNumber: 13) + } }() + try { if let v = self._sequenceID { + try visitor.visitSingularInt64Field(value: v, fieldNumber: 14) + } }() + try { if let v = self._originatorID { + try visitor.visitSingularInt64Field(value: v, fieldNumber: 15) + } }() + try unknownFields.traverse(visitor: &visitor) + } + + public static func ==(lhs: Xmtp_DeviceSync_MessageBackup_GroupMessageSave, rhs: Xmtp_DeviceSync_MessageBackup_GroupMessageSave) -> Bool { + if lhs.id != rhs.id {return false} + if lhs.groupID != rhs.groupID {return false} + if lhs.decryptedMessageBytes != rhs.decryptedMessageBytes {return false} + if lhs.sentAtNs != rhs.sentAtNs {return false} + if lhs.kind != rhs.kind {return false} + if lhs.senderInstallationID != rhs.senderInstallationID {return false} + if lhs.senderInboxID != rhs.senderInboxID {return false} + if lhs.deliveryStatus != rhs.deliveryStatus {return false} + if lhs.contentType != rhs.contentType {return false} + if lhs.versionMajor != rhs.versionMajor {return false} + if lhs.versionMinor != rhs.versionMinor {return false} + if lhs.authorityID != rhs.authorityID {return false} + if lhs._referenceID != rhs._referenceID {return false} + if lhs._sequenceID != rhs._sequenceID {return false} + if lhs._originatorID != rhs._originatorID {return false} + if lhs.unknownFields != rhs.unknownFields {return false} + return true + } +} diff --git a/swift/identity/api/v1/identity.connect.swift b/swift/identity/api/v1/identity.connect.swift index c5fda62..154e954 100644 --- a/swift/identity/api/v1/identity.connect.swift +++ b/swift/identity/api/v1/identity.connect.swift @@ -1,4 +1,6 @@ // Code generated by protoc-gen-connect-swift. DO NOT EDIT. +// swift-format-ignore-file +// swiftlint:disable all // // Source: identity/api/v1/identity.proto // diff --git a/swift/identity/api/v1/identity.pb.swift b/swift/identity/api/v1/identity.pb.swift index 8dce416..819d91b 100644 --- a/swift/identity/api/v1/identity.pb.swift +++ b/swift/identity/api/v1/identity.pb.swift @@ -35,7 +35,7 @@ public struct Xmtp_Identity_Api_V1_VerifySmartContractWalletSignaturesRequest: S public init() {} } -public struct Xmtp_Identity_Api_V1_VerifySmartContractWalletSignatureRequestSignature: @unchecked Sendable { +public struct Xmtp_Identity_Api_V1_VerifySmartContractWalletSignatureRequestSignature: Sendable { // SwiftProtobuf.Message conformance is added in an extension below. See the // `Message` and `Message+*Additions` files in the SwiftProtobuf library for // methods supported on all messages. @@ -243,7 +243,9 @@ public struct Xmtp_Identity_Api_V1_GetInboxIdsRequest: Sendable { // `Message` and `Message+*Additions` files in the SwiftProtobuf library for // methods supported on all messages. - public var address: String = String() + public var identifier: String = String() + + public var identifierKind: Xmtp_Identity_Associations_IdentifierKind = .unspecified public var unknownFields = SwiftProtobuf.UnknownStorage() @@ -269,7 +271,7 @@ public struct Xmtp_Identity_Api_V1_GetInboxIdsResponse: Sendable { // `Message` and `Message+*Additions` files in the SwiftProtobuf library for // methods supported on all messages. - public var address: String = String() + public var identifier: String = String() public var inboxID: String { get {return _inboxID ?? String()} @@ -280,6 +282,8 @@ public struct Xmtp_Identity_Api_V1_GetInboxIdsResponse: Sendable { /// Clears the value of `inboxID`. Subsequent reads from it will return its default value. public mutating func clearInboxID() {self._inboxID = nil} + public var identifierKind: Xmtp_Identity_Associations_IdentifierKind = .unspecified + public var unknownFields = SwiftProtobuf.UnknownStorage() public init() {} @@ -296,9 +300,7 @@ fileprivate let _protobuf_package = "xmtp.identity.api.v1" extension Xmtp_Identity_Api_V1_VerifySmartContractWalletSignaturesRequest: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementationBase, SwiftProtobuf._ProtoNameProviding { public static let protoMessageName: String = _protobuf_package + ".VerifySmartContractWalletSignaturesRequest" - public static let _protobuf_nameMap: SwiftProtobuf._NameMap = [ - 1: .same(proto: "signatures"), - ] + public static let _protobuf_nameMap = SwiftProtobuf._NameMap(bytecode: "\0\u{1}signatures\0") public mutating func decodeMessage(decoder: inout D) throws { while let fieldNumber = try decoder.nextFieldNumber() { @@ -328,12 +330,7 @@ extension Xmtp_Identity_Api_V1_VerifySmartContractWalletSignaturesRequest: Swift extension Xmtp_Identity_Api_V1_VerifySmartContractWalletSignatureRequestSignature: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementationBase, SwiftProtobuf._ProtoNameProviding { public static let protoMessageName: String = _protobuf_package + ".VerifySmartContractWalletSignatureRequestSignature" - public static let _protobuf_nameMap: SwiftProtobuf._NameMap = [ - 1: .standard(proto: "account_id"), - 2: .standard(proto: "block_number"), - 3: .same(proto: "signature"), - 4: .same(proto: "hash"), - ] + public static let _protobuf_nameMap = SwiftProtobuf._NameMap(bytecode: "\0\u{3}account_id\0\u{3}block_number\0\u{1}signature\0\u{1}hash\0") public mutating func decodeMessage(decoder: inout D) throws { while let fieldNumber = try decoder.nextFieldNumber() { @@ -382,9 +379,7 @@ extension Xmtp_Identity_Api_V1_VerifySmartContractWalletSignatureRequestSignatur extension Xmtp_Identity_Api_V1_VerifySmartContractWalletSignaturesResponse: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementationBase, SwiftProtobuf._ProtoNameProviding { public static let protoMessageName: String = _protobuf_package + ".VerifySmartContractWalletSignaturesResponse" - public static let _protobuf_nameMap: SwiftProtobuf._NameMap = [ - 1: .same(proto: "responses"), - ] + public static let _protobuf_nameMap = SwiftProtobuf._NameMap(bytecode: "\0\u{1}responses\0") public mutating func decodeMessage(decoder: inout D) throws { while let fieldNumber = try decoder.nextFieldNumber() { @@ -414,11 +409,7 @@ extension Xmtp_Identity_Api_V1_VerifySmartContractWalletSignaturesResponse: Swif extension Xmtp_Identity_Api_V1_VerifySmartContractWalletSignaturesResponse.ValidationResponse: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementationBase, SwiftProtobuf._ProtoNameProviding { public static let protoMessageName: String = Xmtp_Identity_Api_V1_VerifySmartContractWalletSignaturesResponse.protoMessageName + ".ValidationResponse" - public static let _protobuf_nameMap: SwiftProtobuf._NameMap = [ - 1: .standard(proto: "is_valid"), - 2: .standard(proto: "block_number"), - 3: .same(proto: "error"), - ] + public static let _protobuf_nameMap = SwiftProtobuf._NameMap(bytecode: "\0\u{3}is_valid\0\u{3}block_number\0\u{1}error\0") public mutating func decodeMessage(decoder: inout D) throws { while let fieldNumber = try decoder.nextFieldNumber() { @@ -462,9 +453,7 @@ extension Xmtp_Identity_Api_V1_VerifySmartContractWalletSignaturesResponse.Valid extension Xmtp_Identity_Api_V1_PublishIdentityUpdateRequest: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementationBase, SwiftProtobuf._ProtoNameProviding { public static let protoMessageName: String = _protobuf_package + ".PublishIdentityUpdateRequest" - public static let _protobuf_nameMap: SwiftProtobuf._NameMap = [ - 1: .standard(proto: "identity_update"), - ] + public static let _protobuf_nameMap = SwiftProtobuf._NameMap(bytecode: "\0\u{3}identity_update\0") public mutating func decodeMessage(decoder: inout D) throws { while let fieldNumber = try decoder.nextFieldNumber() { @@ -517,9 +506,7 @@ extension Xmtp_Identity_Api_V1_PublishIdentityUpdateResponse: SwiftProtobuf.Mess extension Xmtp_Identity_Api_V1_GetIdentityUpdatesRequest: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementationBase, SwiftProtobuf._ProtoNameProviding { public static let protoMessageName: String = _protobuf_package + ".GetIdentityUpdatesRequest" - public static let _protobuf_nameMap: SwiftProtobuf._NameMap = [ - 1: .same(proto: "requests"), - ] + public static let _protobuf_nameMap = SwiftProtobuf._NameMap(bytecode: "\0\u{1}requests\0") public mutating func decodeMessage(decoder: inout D) throws { while let fieldNumber = try decoder.nextFieldNumber() { @@ -549,10 +536,7 @@ extension Xmtp_Identity_Api_V1_GetIdentityUpdatesRequest: SwiftProtobuf.Message, extension Xmtp_Identity_Api_V1_GetIdentityUpdatesRequest.Request: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementationBase, SwiftProtobuf._ProtoNameProviding { public static let protoMessageName: String = Xmtp_Identity_Api_V1_GetIdentityUpdatesRequest.protoMessageName + ".Request" - public static let _protobuf_nameMap: SwiftProtobuf._NameMap = [ - 1: .standard(proto: "inbox_id"), - 2: .standard(proto: "sequence_id"), - ] + public static let _protobuf_nameMap = SwiftProtobuf._NameMap(bytecode: "\0\u{3}inbox_id\0\u{3}sequence_id\0") public mutating func decodeMessage(decoder: inout D) throws { while let fieldNumber = try decoder.nextFieldNumber() { @@ -587,9 +571,7 @@ extension Xmtp_Identity_Api_V1_GetIdentityUpdatesRequest.Request: SwiftProtobuf. extension Xmtp_Identity_Api_V1_GetIdentityUpdatesResponse: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementationBase, SwiftProtobuf._ProtoNameProviding { public static let protoMessageName: String = _protobuf_package + ".GetIdentityUpdatesResponse" - public static let _protobuf_nameMap: SwiftProtobuf._NameMap = [ - 1: .same(proto: "responses"), - ] + public static let _protobuf_nameMap = SwiftProtobuf._NameMap(bytecode: "\0\u{1}responses\0") public mutating func decodeMessage(decoder: inout D) throws { while let fieldNumber = try decoder.nextFieldNumber() { @@ -619,11 +601,7 @@ extension Xmtp_Identity_Api_V1_GetIdentityUpdatesResponse: SwiftProtobuf.Message extension Xmtp_Identity_Api_V1_GetIdentityUpdatesResponse.IdentityUpdateLog: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementationBase, SwiftProtobuf._ProtoNameProviding { public static let protoMessageName: String = Xmtp_Identity_Api_V1_GetIdentityUpdatesResponse.protoMessageName + ".IdentityUpdateLog" - public static let _protobuf_nameMap: SwiftProtobuf._NameMap = [ - 1: .standard(proto: "sequence_id"), - 2: .standard(proto: "server_timestamp_ns"), - 3: .same(proto: "update"), - ] + public static let _protobuf_nameMap = SwiftProtobuf._NameMap(bytecode: "\0\u{3}sequence_id\0\u{3}server_timestamp_ns\0\u{1}update\0") public mutating func decodeMessage(decoder: inout D) throws { while let fieldNumber = try decoder.nextFieldNumber() { @@ -667,10 +645,7 @@ extension Xmtp_Identity_Api_V1_GetIdentityUpdatesResponse.IdentityUpdateLog: Swi extension Xmtp_Identity_Api_V1_GetIdentityUpdatesResponse.Response: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementationBase, SwiftProtobuf._ProtoNameProviding { public static let protoMessageName: String = Xmtp_Identity_Api_V1_GetIdentityUpdatesResponse.protoMessageName + ".Response" - public static let _protobuf_nameMap: SwiftProtobuf._NameMap = [ - 1: .standard(proto: "inbox_id"), - 2: .same(proto: "updates"), - ] + public static let _protobuf_nameMap = SwiftProtobuf._NameMap(bytecode: "\0\u{3}inbox_id\0\u{1}updates\0") public mutating func decodeMessage(decoder: inout D) throws { while let fieldNumber = try decoder.nextFieldNumber() { @@ -705,9 +680,7 @@ extension Xmtp_Identity_Api_V1_GetIdentityUpdatesResponse.Response: SwiftProtobu extension Xmtp_Identity_Api_V1_GetInboxIdsRequest: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementationBase, SwiftProtobuf._ProtoNameProviding { public static let protoMessageName: String = _protobuf_package + ".GetInboxIdsRequest" - public static let _protobuf_nameMap: SwiftProtobuf._NameMap = [ - 1: .same(proto: "requests"), - ] + public static let _protobuf_nameMap = SwiftProtobuf._NameMap(bytecode: "\0\u{1}requests\0") public mutating func decodeMessage(decoder: inout D) throws { while let fieldNumber = try decoder.nextFieldNumber() { @@ -737,9 +710,7 @@ extension Xmtp_Identity_Api_V1_GetInboxIdsRequest: SwiftProtobuf.Message, SwiftP extension Xmtp_Identity_Api_V1_GetInboxIdsRequest.Request: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementationBase, SwiftProtobuf._ProtoNameProviding { public static let protoMessageName: String = Xmtp_Identity_Api_V1_GetInboxIdsRequest.protoMessageName + ".Request" - public static let _protobuf_nameMap: SwiftProtobuf._NameMap = [ - 1: .same(proto: "address"), - ] + public static let _protobuf_nameMap = SwiftProtobuf._NameMap(bytecode: "\0\u{1}identifier\0\u{3}identifier_kind\0") public mutating func decodeMessage(decoder: inout D) throws { while let fieldNumber = try decoder.nextFieldNumber() { @@ -747,21 +718,26 @@ extension Xmtp_Identity_Api_V1_GetInboxIdsRequest.Request: SwiftProtobuf.Message // allocates stack space for every case branch when no optimizations are // enabled. https://github.com/apple/swift-protobuf/issues/1034 switch fieldNumber { - case 1: try { try decoder.decodeSingularStringField(value: &self.address) }() + case 1: try { try decoder.decodeSingularStringField(value: &self.identifier) }() + case 2: try { try decoder.decodeSingularEnumField(value: &self.identifierKind) }() default: break } } } public func traverse(visitor: inout V) throws { - if !self.address.isEmpty { - try visitor.visitSingularStringField(value: self.address, fieldNumber: 1) + if !self.identifier.isEmpty { + try visitor.visitSingularStringField(value: self.identifier, fieldNumber: 1) + } + if self.identifierKind != .unspecified { + try visitor.visitSingularEnumField(value: self.identifierKind, fieldNumber: 2) } try unknownFields.traverse(visitor: &visitor) } public static func ==(lhs: Xmtp_Identity_Api_V1_GetInboxIdsRequest.Request, rhs: Xmtp_Identity_Api_V1_GetInboxIdsRequest.Request) -> Bool { - if lhs.address != rhs.address {return false} + if lhs.identifier != rhs.identifier {return false} + if lhs.identifierKind != rhs.identifierKind {return false} if lhs.unknownFields != rhs.unknownFields {return false} return true } @@ -769,9 +745,7 @@ extension Xmtp_Identity_Api_V1_GetInboxIdsRequest.Request: SwiftProtobuf.Message extension Xmtp_Identity_Api_V1_GetInboxIdsResponse: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementationBase, SwiftProtobuf._ProtoNameProviding { public static let protoMessageName: String = _protobuf_package + ".GetInboxIdsResponse" - public static let _protobuf_nameMap: SwiftProtobuf._NameMap = [ - 1: .same(proto: "responses"), - ] + public static let _protobuf_nameMap = SwiftProtobuf._NameMap(bytecode: "\0\u{1}responses\0") public mutating func decodeMessage(decoder: inout D) throws { while let fieldNumber = try decoder.nextFieldNumber() { @@ -801,10 +775,7 @@ extension Xmtp_Identity_Api_V1_GetInboxIdsResponse: SwiftProtobuf.Message, Swift extension Xmtp_Identity_Api_V1_GetInboxIdsResponse.Response: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementationBase, SwiftProtobuf._ProtoNameProviding { public static let protoMessageName: String = Xmtp_Identity_Api_V1_GetInboxIdsResponse.protoMessageName + ".Response" - public static let _protobuf_nameMap: SwiftProtobuf._NameMap = [ - 1: .same(proto: "address"), - 2: .standard(proto: "inbox_id"), - ] + public static let _protobuf_nameMap = SwiftProtobuf._NameMap(bytecode: "\0\u{1}identifier\0\u{3}inbox_id\0\u{3}identifier_kind\0") public mutating func decodeMessage(decoder: inout D) throws { while let fieldNumber = try decoder.nextFieldNumber() { @@ -812,8 +783,9 @@ extension Xmtp_Identity_Api_V1_GetInboxIdsResponse.Response: SwiftProtobuf.Messa // allocates stack space for every case branch when no optimizations are // enabled. https://github.com/apple/swift-protobuf/issues/1034 switch fieldNumber { - case 1: try { try decoder.decodeSingularStringField(value: &self.address) }() + case 1: try { try decoder.decodeSingularStringField(value: &self.identifier) }() case 2: try { try decoder.decodeSingularStringField(value: &self._inboxID) }() + case 3: try { try decoder.decodeSingularEnumField(value: &self.identifierKind) }() default: break } } @@ -824,18 +796,22 @@ extension Xmtp_Identity_Api_V1_GetInboxIdsResponse.Response: SwiftProtobuf.Messa // allocates stack space for every if/case branch local when no optimizations // are enabled. https://github.com/apple/swift-protobuf/issues/1034 and // https://github.com/apple/swift-protobuf/issues/1182 - if !self.address.isEmpty { - try visitor.visitSingularStringField(value: self.address, fieldNumber: 1) + if !self.identifier.isEmpty { + try visitor.visitSingularStringField(value: self.identifier, fieldNumber: 1) } try { if let v = self._inboxID { try visitor.visitSingularStringField(value: v, fieldNumber: 2) } }() + if self.identifierKind != .unspecified { + try visitor.visitSingularEnumField(value: self.identifierKind, fieldNumber: 3) + } try unknownFields.traverse(visitor: &visitor) } public static func ==(lhs: Xmtp_Identity_Api_V1_GetInboxIdsResponse.Response, rhs: Xmtp_Identity_Api_V1_GetInboxIdsResponse.Response) -> Bool { - if lhs.address != rhs.address {return false} + if lhs.identifier != rhs.identifier {return false} if lhs._inboxID != rhs._inboxID {return false} + if lhs.identifierKind != rhs.identifierKind {return false} if lhs.unknownFields != rhs.unknownFields {return false} return true } diff --git a/swift/identity/associations/association.pb.swift b/swift/identity/associations/association.pb.swift index 647a1e0..9084bfd 100644 --- a/swift/identity/associations/association.pb.swift +++ b/swift/identity/associations/association.pb.swift @@ -23,20 +23,61 @@ fileprivate struct _GeneratedWithProtocGenSwiftVersion: SwiftProtobuf.ProtobufAP typealias Version = _2 } +/// List of identity kinds +public enum Xmtp_Identity_Associations_IdentifierKind: SwiftProtobuf.Enum, Swift.CaseIterable { + public typealias RawValue = Int + + /// Ethereum on old clients + case unspecified // = 0 + case ethereum // = 1 + case passkey // = 2 + case UNRECOGNIZED(Int) + + public init() { + self = .unspecified + } + + public init?(rawValue: Int) { + switch rawValue { + case 0: self = .unspecified + case 1: self = .ethereum + case 2: self = .passkey + default: self = .UNRECOGNIZED(rawValue) + } + } + + public var rawValue: Int { + switch self { + case .unspecified: return 0 + case .ethereum: return 1 + case .passkey: return 2 + case .UNRECOGNIZED(let i): return i + } + } + + // The compiler won't synthesize support with the UNRECOGNIZED case. + public static let allCases: [Xmtp_Identity_Associations_IdentifierKind] = [ + .unspecified, + .ethereum, + .passkey, + ] + +} + /// The identifier for a member of an XID -public struct Xmtp_Identity_Associations_MemberIdentifier: @unchecked Sendable { +public struct Xmtp_Identity_Associations_MemberIdentifier: Sendable { // SwiftProtobuf.Message conformance is added in an extension below. See the // `Message` and `Message+*Additions` files in the SwiftProtobuf library for // methods supported on all messages. public var kind: Xmtp_Identity_Associations_MemberIdentifier.OneOf_Kind? = nil - public var address: String { + public var ethereumAddress: String { get { - if case .address(let v)? = kind {return v} + if case .ethereumAddress(let v)? = kind {return v} return String() } - set {kind = .address(newValue)} + set {kind = .ethereumAddress(newValue)} } public var installationPublicKey: Data { @@ -47,17 +88,50 @@ public struct Xmtp_Identity_Associations_MemberIdentifier: @unchecked Sendable { set {kind = .installationPublicKey(newValue)} } + public var passkey: Xmtp_Identity_Associations_Passkey { + get { + if case .passkey(let v)? = kind {return v} + return Xmtp_Identity_Associations_Passkey() + } + set {kind = .passkey(newValue)} + } + public var unknownFields = SwiftProtobuf.UnknownStorage() - public enum OneOf_Kind: Equatable, @unchecked Sendable { - case address(String) + public enum OneOf_Kind: Equatable, Sendable { + case ethereumAddress(String) case installationPublicKey(Data) + case passkey(Xmtp_Identity_Associations_Passkey) } public init() {} } +/// Passkey identifier +public struct Xmtp_Identity_Associations_Passkey: Sendable { + // SwiftProtobuf.Message conformance is added in an extension below. See the + // `Message` and `Message+*Additions` files in the SwiftProtobuf library for + // methods supported on all messages. + + public var key: Data = Data() + + public var relyingParty: String { + get {return _relyingParty ?? String()} + set {_relyingParty = newValue} + } + /// Returns true if `relyingParty` has been explicitly set. + public var hasRelyingParty: Bool {return self._relyingParty != nil} + /// Clears the value of `relyingParty`. Subsequent reads from it will return its default value. + public mutating func clearRelyingParty() {self._relyingParty = nil} + + public var unknownFields = SwiftProtobuf.UnknownStorage() + + public init() {} + + fileprivate var _relyingParty: String? = nil +} + /// single member that optionally indicates the member that added them public struct Xmtp_Identity_Associations_Member: Sendable { // SwiftProtobuf.Message conformance is added in an extension below. See the @@ -119,25 +193,38 @@ public struct Xmtp_Identity_Associations_CreateInbox: Sendable { // `Message` and `Message+*Additions` files in the SwiftProtobuf library for // methods supported on all messages. - public var initialAddress: String = String() + public var initialIdentifier: String = String() public var nonce: UInt64 = 0 /// Must be an addressable member - public var initialAddressSignature: Xmtp_Identity_Associations_Signature { - get {return _initialAddressSignature ?? Xmtp_Identity_Associations_Signature()} - set {_initialAddressSignature = newValue} + public var initialIdentifierSignature: Xmtp_Identity_Associations_Signature { + get {return _initialIdentifierSignature ?? Xmtp_Identity_Associations_Signature()} + set {_initialIdentifierSignature = newValue} } - /// Returns true if `initialAddressSignature` has been explicitly set. - public var hasInitialAddressSignature: Bool {return self._initialAddressSignature != nil} - /// Clears the value of `initialAddressSignature`. Subsequent reads from it will return its default value. - public mutating func clearInitialAddressSignature() {self._initialAddressSignature = nil} + /// Returns true if `initialIdentifierSignature` has been explicitly set. + public var hasInitialIdentifierSignature: Bool {return self._initialIdentifierSignature != nil} + /// Clears the value of `initialIdentifierSignature`. Subsequent reads from it will return its default value. + public mutating func clearInitialIdentifierSignature() {self._initialIdentifierSignature = nil} + + public var initialIdentifierKind: Xmtp_Identity_Associations_IdentifierKind = .unspecified + + /// Should be provided if identifier kind is passkey + public var relyingParty: String { + get {return _relyingParty ?? String()} + set {_relyingParty = newValue} + } + /// Returns true if `relyingParty` has been explicitly set. + public var hasRelyingParty: Bool {return self._relyingParty != nil} + /// Clears the value of `relyingParty`. Subsequent reads from it will return its default value. + public mutating func clearRelyingParty() {self._relyingParty = nil} public var unknownFields = SwiftProtobuf.UnknownStorage() public init() {} - fileprivate var _initialAddressSignature: Xmtp_Identity_Associations_Signature? = nil + fileprivate var _initialIdentifierSignature: Xmtp_Identity_Associations_Signature? = nil + fileprivate var _relyingParty: String? = nil } /// Adds a new member for an XID - either an addressable member such as a @@ -176,6 +263,16 @@ public struct Xmtp_Identity_Associations_AddAssociation: Sendable { /// Clears the value of `newMemberSignature`. Subsequent reads from it will return its default value. public mutating func clearNewMemberSignature() {self._newMemberSignature = nil} + /// Should be provided if identifier kind is passkey + public var relyingParty: String { + get {return _relyingParty ?? String()} + set {_relyingParty = newValue} + } + /// Returns true if `relyingParty` has been explicitly set. + public var hasRelyingParty: Bool {return self._relyingParty != nil} + /// Clears the value of `relyingParty`. Subsequent reads from it will return its default value. + public mutating func clearRelyingParty() {self._relyingParty = nil} + public var unknownFields = SwiftProtobuf.UnknownStorage() public init() {} @@ -183,6 +280,7 @@ public struct Xmtp_Identity_Associations_AddAssociation: Sendable { fileprivate var _newMemberIdentifier: Xmtp_Identity_Associations_MemberIdentifier? = nil fileprivate var _existingMemberSignature: Xmtp_Identity_Associations_Signature? = nil fileprivate var _newMemberSignature: Xmtp_Identity_Associations_Signature? = nil + fileprivate var _relyingParty: String? = nil } /// Revokes a member from an XID. The recovery address must sign the revocation. @@ -200,47 +298,60 @@ public struct Xmtp_Identity_Associations_RevokeAssociation: Sendable { /// Clears the value of `memberToRevoke`. Subsequent reads from it will return its default value. public mutating func clearMemberToRevoke() {self._memberToRevoke = nil} - public var recoveryAddressSignature: Xmtp_Identity_Associations_Signature { - get {return _recoveryAddressSignature ?? Xmtp_Identity_Associations_Signature()} - set {_recoveryAddressSignature = newValue} + public var recoveryIdentifierSignature: Xmtp_Identity_Associations_Signature { + get {return _recoveryIdentifierSignature ?? Xmtp_Identity_Associations_Signature()} + set {_recoveryIdentifierSignature = newValue} } - /// Returns true if `recoveryAddressSignature` has been explicitly set. - public var hasRecoveryAddressSignature: Bool {return self._recoveryAddressSignature != nil} - /// Clears the value of `recoveryAddressSignature`. Subsequent reads from it will return its default value. - public mutating func clearRecoveryAddressSignature() {self._recoveryAddressSignature = nil} + /// Returns true if `recoveryIdentifierSignature` has been explicitly set. + public var hasRecoveryIdentifierSignature: Bool {return self._recoveryIdentifierSignature != nil} + /// Clears the value of `recoveryIdentifierSignature`. Subsequent reads from it will return its default value. + public mutating func clearRecoveryIdentifierSignature() {self._recoveryIdentifierSignature = nil} public var unknownFields = SwiftProtobuf.UnknownStorage() public init() {} fileprivate var _memberToRevoke: Xmtp_Identity_Associations_MemberIdentifier? = nil - fileprivate var _recoveryAddressSignature: Xmtp_Identity_Associations_Signature? = nil + fileprivate var _recoveryIdentifierSignature: Xmtp_Identity_Associations_Signature? = nil } -/// Changes the recovery address for an XID. The recovery address is not required +/// Changes the recovery identifier for an XID. The recovery identifier is not required /// to be a member of the XID. In addition to being able to add members, the -/// recovery address can also revoke members. +/// recovery identifier can also revoke members. public struct Xmtp_Identity_Associations_ChangeRecoveryAddress: Sendable { // SwiftProtobuf.Message conformance is added in an extension below. See the // `Message` and `Message+*Additions` files in the SwiftProtobuf library for // methods supported on all messages. - public var newRecoveryAddress: String = String() + public var newRecoveryIdentifier: String = String() + + public var existingRecoveryIdentifierSignature: Xmtp_Identity_Associations_Signature { + get {return _existingRecoveryIdentifierSignature ?? Xmtp_Identity_Associations_Signature()} + set {_existingRecoveryIdentifierSignature = newValue} + } + /// Returns true if `existingRecoveryIdentifierSignature` has been explicitly set. + public var hasExistingRecoveryIdentifierSignature: Bool {return self._existingRecoveryIdentifierSignature != nil} + /// Clears the value of `existingRecoveryIdentifierSignature`. Subsequent reads from it will return its default value. + public mutating func clearExistingRecoveryIdentifierSignature() {self._existingRecoveryIdentifierSignature = nil} + + public var newRecoveryIdentifierKind: Xmtp_Identity_Associations_IdentifierKind = .unspecified - public var existingRecoveryAddressSignature: Xmtp_Identity_Associations_Signature { - get {return _existingRecoveryAddressSignature ?? Xmtp_Identity_Associations_Signature()} - set {_existingRecoveryAddressSignature = newValue} + /// Should be provided if identifier kind is passkey + public var relyingParty: String { + get {return _relyingParty ?? String()} + set {_relyingParty = newValue} } - /// Returns true if `existingRecoveryAddressSignature` has been explicitly set. - public var hasExistingRecoveryAddressSignature: Bool {return self._existingRecoveryAddressSignature != nil} - /// Clears the value of `existingRecoveryAddressSignature`. Subsequent reads from it will return its default value. - public mutating func clearExistingRecoveryAddressSignature() {self._existingRecoveryAddressSignature = nil} + /// Returns true if `relyingParty` has been explicitly set. + public var hasRelyingParty: Bool {return self._relyingParty != nil} + /// Clears the value of `relyingParty`. Subsequent reads from it will return its default value. + public mutating func clearRelyingParty() {self._relyingParty = nil} public var unknownFields = SwiftProtobuf.UnknownStorage() public init() {} - fileprivate var _existingRecoveryAddressSignature: Xmtp_Identity_Associations_Signature? = nil + fileprivate var _existingRecoveryIdentifierSignature: Xmtp_Identity_Associations_Signature? = nil + fileprivate var _relyingParty: String? = nil } /// A single identity operation @@ -352,7 +463,7 @@ public struct Xmtp_Identity_Associations_MemberMap: Sendable { } /// A final association state resulting from multiple `IdentityUpdates` -public struct Xmtp_Identity_Associations_AssociationState: @unchecked Sendable { +public struct Xmtp_Identity_Associations_AssociationState: Sendable { // SwiftProtobuf.Message conformance is added in an extension below. See the // `Message` and `Message+*Additions` files in the SwiftProtobuf library for // methods supported on all messages. @@ -361,13 +472,27 @@ public struct Xmtp_Identity_Associations_AssociationState: @unchecked Sendable { public var members: [Xmtp_Identity_Associations_MemberMap] = [] - public var recoveryAddress: String = String() + public var recoveryIdentifier: String = String() public var seenSignatures: [Data] = [] + public var recoveryIdentifierKind: Xmtp_Identity_Associations_IdentifierKind = .unspecified + + /// Should be provided if identifier kind is passkey + public var relyingParty: String { + get {return _relyingParty ?? String()} + set {_relyingParty = newValue} + } + /// Returns true if `relyingParty` has been explicitly set. + public var hasRelyingParty: Bool {return self._relyingParty != nil} + /// Clears the value of `relyingParty`. Subsequent reads from it will return its default value. + public mutating func clearRelyingParty() {self._relyingParty = nil} + public var unknownFields = SwiftProtobuf.UnknownStorage() public init() {} + + fileprivate var _relyingParty: String? = nil } //// state diff between two final AssociationStates @@ -389,12 +514,13 @@ public struct Xmtp_Identity_Associations_AssociationStateDiff: Sendable { fileprivate let _protobuf_package = "xmtp.identity.associations" +extension Xmtp_Identity_Associations_IdentifierKind: SwiftProtobuf._ProtoNameProviding { + public static let _protobuf_nameMap = SwiftProtobuf._NameMap(bytecode: "\0\u{2}\0IDENTIFIER_KIND_UNSPECIFIED\0\u{1}IDENTIFIER_KIND_ETHEREUM\0\u{1}IDENTIFIER_KIND_PASSKEY\0") +} + extension Xmtp_Identity_Associations_MemberIdentifier: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementationBase, SwiftProtobuf._ProtoNameProviding { public static let protoMessageName: String = _protobuf_package + ".MemberIdentifier" - public static let _protobuf_nameMap: SwiftProtobuf._NameMap = [ - 1: .same(proto: "address"), - 2: .standard(proto: "installation_public_key"), - ] + public static let _protobuf_nameMap = SwiftProtobuf._NameMap(bytecode: "\0\u{3}ethereum_address\0\u{3}installation_public_key\0\u{1}passkey\0") public mutating func decodeMessage(decoder: inout D) throws { while let fieldNumber = try decoder.nextFieldNumber() { @@ -407,7 +533,7 @@ extension Xmtp_Identity_Associations_MemberIdentifier: SwiftProtobuf.Message, Sw try decoder.decodeSingularStringField(value: &v) if let v = v { if self.kind != nil {try decoder.handleConflictingOneOf()} - self.kind = .address(v) + self.kind = .ethereumAddress(v) } }() case 2: try { @@ -418,6 +544,19 @@ extension Xmtp_Identity_Associations_MemberIdentifier: SwiftProtobuf.Message, Sw self.kind = .installationPublicKey(v) } }() + case 3: try { + var v: Xmtp_Identity_Associations_Passkey? + var hadOneofValue = false + if let current = self.kind { + hadOneofValue = true + if case .passkey(let m) = current {v = m} + } + try decoder.decodeSingularMessageField(value: &v) + if let v = v { + if hadOneofValue {try decoder.handleConflictingOneOf()} + self.kind = .passkey(v) + } + }() default: break } } @@ -429,14 +568,18 @@ extension Xmtp_Identity_Associations_MemberIdentifier: SwiftProtobuf.Message, Sw // are enabled. https://github.com/apple/swift-protobuf/issues/1034 and // https://github.com/apple/swift-protobuf/issues/1182 switch self.kind { - case .address?: try { - guard case .address(let v)? = self.kind else { preconditionFailure() } + case .ethereumAddress?: try { + guard case .ethereumAddress(let v)? = self.kind else { preconditionFailure() } try visitor.visitSingularStringField(value: v, fieldNumber: 1) }() case .installationPublicKey?: try { guard case .installationPublicKey(let v)? = self.kind else { preconditionFailure() } try visitor.visitSingularBytesField(value: v, fieldNumber: 2) }() + case .passkey?: try { + guard case .passkey(let v)? = self.kind else { preconditionFailure() } + try visitor.visitSingularMessageField(value: v, fieldNumber: 3) + }() case nil: break } try unknownFields.traverse(visitor: &visitor) @@ -449,14 +592,48 @@ extension Xmtp_Identity_Associations_MemberIdentifier: SwiftProtobuf.Message, Sw } } +extension Xmtp_Identity_Associations_Passkey: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementationBase, SwiftProtobuf._ProtoNameProviding { + public static let protoMessageName: String = _protobuf_package + ".Passkey" + public static let _protobuf_nameMap = SwiftProtobuf._NameMap(bytecode: "\0\u{1}key\0\u{3}relying_party\0") + + public mutating func decodeMessage(decoder: inout D) throws { + while let fieldNumber = try decoder.nextFieldNumber() { + // The use of inline closures is to circumvent an issue where the compiler + // allocates stack space for every case branch when no optimizations are + // enabled. https://github.com/apple/swift-protobuf/issues/1034 + switch fieldNumber { + case 1: try { try decoder.decodeSingularBytesField(value: &self.key) }() + case 2: try { try decoder.decodeSingularStringField(value: &self._relyingParty) }() + default: break + } + } + } + + public func traverse(visitor: inout V) throws { + // The use of inline closures is to circumvent an issue where the compiler + // allocates stack space for every if/case branch local when no optimizations + // are enabled. https://github.com/apple/swift-protobuf/issues/1034 and + // https://github.com/apple/swift-protobuf/issues/1182 + if !self.key.isEmpty { + try visitor.visitSingularBytesField(value: self.key, fieldNumber: 1) + } + try { if let v = self._relyingParty { + try visitor.visitSingularStringField(value: v, fieldNumber: 2) + } }() + try unknownFields.traverse(visitor: &visitor) + } + + public static func ==(lhs: Xmtp_Identity_Associations_Passkey, rhs: Xmtp_Identity_Associations_Passkey) -> Bool { + if lhs.key != rhs.key {return false} + if lhs._relyingParty != rhs._relyingParty {return false} + if lhs.unknownFields != rhs.unknownFields {return false} + return true + } +} + extension Xmtp_Identity_Associations_Member: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementationBase, SwiftProtobuf._ProtoNameProviding { public static let protoMessageName: String = _protobuf_package + ".Member" - public static let _protobuf_nameMap: SwiftProtobuf._NameMap = [ - 1: .same(proto: "identifier"), - 2: .standard(proto: "added_by_entity"), - 3: .standard(proto: "client_timestamp_ns"), - 4: .standard(proto: "added_on_chain_id"), - ] + public static let _protobuf_nameMap = SwiftProtobuf._NameMap(bytecode: "\0\u{1}identifier\0\u{3}added_by_entity\0\u{3}client_timestamp_ns\0\u{3}added_on_chain_id\0") public mutating func decodeMessage(decoder: inout D) throws { while let fieldNumber = try decoder.nextFieldNumber() { @@ -505,11 +682,7 @@ extension Xmtp_Identity_Associations_Member: SwiftProtobuf.Message, SwiftProtobu extension Xmtp_Identity_Associations_CreateInbox: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementationBase, SwiftProtobuf._ProtoNameProviding { public static let protoMessageName: String = _protobuf_package + ".CreateInbox" - public static let _protobuf_nameMap: SwiftProtobuf._NameMap = [ - 1: .standard(proto: "initial_address"), - 2: .same(proto: "nonce"), - 3: .standard(proto: "initial_address_signature"), - ] + public static let _protobuf_nameMap = SwiftProtobuf._NameMap(bytecode: "\0\u{3}initial_identifier\0\u{1}nonce\0\u{3}initial_identifier_signature\0\u{3}initial_identifier_kind\0\u{3}relying_party\0") public mutating func decodeMessage(decoder: inout D) throws { while let fieldNumber = try decoder.nextFieldNumber() { @@ -517,9 +690,11 @@ extension Xmtp_Identity_Associations_CreateInbox: SwiftProtobuf.Message, SwiftPr // allocates stack space for every case branch when no optimizations are // enabled. https://github.com/apple/swift-protobuf/issues/1034 switch fieldNumber { - case 1: try { try decoder.decodeSingularStringField(value: &self.initialAddress) }() + case 1: try { try decoder.decodeSingularStringField(value: &self.initialIdentifier) }() case 2: try { try decoder.decodeSingularUInt64Field(value: &self.nonce) }() - case 3: try { try decoder.decodeSingularMessageField(value: &self._initialAddressSignature) }() + case 3: try { try decoder.decodeSingularMessageField(value: &self._initialIdentifierSignature) }() + case 4: try { try decoder.decodeSingularEnumField(value: &self.initialIdentifierKind) }() + case 5: try { try decoder.decodeSingularStringField(value: &self._relyingParty) }() default: break } } @@ -530,22 +705,30 @@ extension Xmtp_Identity_Associations_CreateInbox: SwiftProtobuf.Message, SwiftPr // allocates stack space for every if/case branch local when no optimizations // are enabled. https://github.com/apple/swift-protobuf/issues/1034 and // https://github.com/apple/swift-protobuf/issues/1182 - if !self.initialAddress.isEmpty { - try visitor.visitSingularStringField(value: self.initialAddress, fieldNumber: 1) + if !self.initialIdentifier.isEmpty { + try visitor.visitSingularStringField(value: self.initialIdentifier, fieldNumber: 1) } if self.nonce != 0 { try visitor.visitSingularUInt64Field(value: self.nonce, fieldNumber: 2) } - try { if let v = self._initialAddressSignature { + try { if let v = self._initialIdentifierSignature { try visitor.visitSingularMessageField(value: v, fieldNumber: 3) } }() + if self.initialIdentifierKind != .unspecified { + try visitor.visitSingularEnumField(value: self.initialIdentifierKind, fieldNumber: 4) + } + try { if let v = self._relyingParty { + try visitor.visitSingularStringField(value: v, fieldNumber: 5) + } }() try unknownFields.traverse(visitor: &visitor) } public static func ==(lhs: Xmtp_Identity_Associations_CreateInbox, rhs: Xmtp_Identity_Associations_CreateInbox) -> Bool { - if lhs.initialAddress != rhs.initialAddress {return false} + if lhs.initialIdentifier != rhs.initialIdentifier {return false} if lhs.nonce != rhs.nonce {return false} - if lhs._initialAddressSignature != rhs._initialAddressSignature {return false} + if lhs._initialIdentifierSignature != rhs._initialIdentifierSignature {return false} + if lhs.initialIdentifierKind != rhs.initialIdentifierKind {return false} + if lhs._relyingParty != rhs._relyingParty {return false} if lhs.unknownFields != rhs.unknownFields {return false} return true } @@ -553,11 +736,7 @@ extension Xmtp_Identity_Associations_CreateInbox: SwiftProtobuf.Message, SwiftPr extension Xmtp_Identity_Associations_AddAssociation: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementationBase, SwiftProtobuf._ProtoNameProviding { public static let protoMessageName: String = _protobuf_package + ".AddAssociation" - public static let _protobuf_nameMap: SwiftProtobuf._NameMap = [ - 1: .standard(proto: "new_member_identifier"), - 2: .standard(proto: "existing_member_signature"), - 3: .standard(proto: "new_member_signature"), - ] + public static let _protobuf_nameMap = SwiftProtobuf._NameMap(bytecode: "\0\u{3}new_member_identifier\0\u{3}existing_member_signature\0\u{3}new_member_signature\0\u{3}relying_party\0") public mutating func decodeMessage(decoder: inout D) throws { while let fieldNumber = try decoder.nextFieldNumber() { @@ -568,6 +747,7 @@ extension Xmtp_Identity_Associations_AddAssociation: SwiftProtobuf.Message, Swif case 1: try { try decoder.decodeSingularMessageField(value: &self._newMemberIdentifier) }() case 2: try { try decoder.decodeSingularMessageField(value: &self._existingMemberSignature) }() case 3: try { try decoder.decodeSingularMessageField(value: &self._newMemberSignature) }() + case 4: try { try decoder.decodeSingularStringField(value: &self._relyingParty) }() default: break } } @@ -587,6 +767,9 @@ extension Xmtp_Identity_Associations_AddAssociation: SwiftProtobuf.Message, Swif try { if let v = self._newMemberSignature { try visitor.visitSingularMessageField(value: v, fieldNumber: 3) } }() + try { if let v = self._relyingParty { + try visitor.visitSingularStringField(value: v, fieldNumber: 4) + } }() try unknownFields.traverse(visitor: &visitor) } @@ -594,6 +777,7 @@ extension Xmtp_Identity_Associations_AddAssociation: SwiftProtobuf.Message, Swif if lhs._newMemberIdentifier != rhs._newMemberIdentifier {return false} if lhs._existingMemberSignature != rhs._existingMemberSignature {return false} if lhs._newMemberSignature != rhs._newMemberSignature {return false} + if lhs._relyingParty != rhs._relyingParty {return false} if lhs.unknownFields != rhs.unknownFields {return false} return true } @@ -601,10 +785,7 @@ extension Xmtp_Identity_Associations_AddAssociation: SwiftProtobuf.Message, Swif extension Xmtp_Identity_Associations_RevokeAssociation: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementationBase, SwiftProtobuf._ProtoNameProviding { public static let protoMessageName: String = _protobuf_package + ".RevokeAssociation" - public static let _protobuf_nameMap: SwiftProtobuf._NameMap = [ - 1: .standard(proto: "member_to_revoke"), - 2: .standard(proto: "recovery_address_signature"), - ] + public static let _protobuf_nameMap = SwiftProtobuf._NameMap(bytecode: "\0\u{3}member_to_revoke\0\u{3}recovery_identifier_signature\0") public mutating func decodeMessage(decoder: inout D) throws { while let fieldNumber = try decoder.nextFieldNumber() { @@ -613,7 +794,7 @@ extension Xmtp_Identity_Associations_RevokeAssociation: SwiftProtobuf.Message, S // enabled. https://github.com/apple/swift-protobuf/issues/1034 switch fieldNumber { case 1: try { try decoder.decodeSingularMessageField(value: &self._memberToRevoke) }() - case 2: try { try decoder.decodeSingularMessageField(value: &self._recoveryAddressSignature) }() + case 2: try { try decoder.decodeSingularMessageField(value: &self._recoveryIdentifierSignature) }() default: break } } @@ -627,7 +808,7 @@ extension Xmtp_Identity_Associations_RevokeAssociation: SwiftProtobuf.Message, S try { if let v = self._memberToRevoke { try visitor.visitSingularMessageField(value: v, fieldNumber: 1) } }() - try { if let v = self._recoveryAddressSignature { + try { if let v = self._recoveryIdentifierSignature { try visitor.visitSingularMessageField(value: v, fieldNumber: 2) } }() try unknownFields.traverse(visitor: &visitor) @@ -635,7 +816,7 @@ extension Xmtp_Identity_Associations_RevokeAssociation: SwiftProtobuf.Message, S public static func ==(lhs: Xmtp_Identity_Associations_RevokeAssociation, rhs: Xmtp_Identity_Associations_RevokeAssociation) -> Bool { if lhs._memberToRevoke != rhs._memberToRevoke {return false} - if lhs._recoveryAddressSignature != rhs._recoveryAddressSignature {return false} + if lhs._recoveryIdentifierSignature != rhs._recoveryIdentifierSignature {return false} if lhs.unknownFields != rhs.unknownFields {return false} return true } @@ -643,10 +824,7 @@ extension Xmtp_Identity_Associations_RevokeAssociation: SwiftProtobuf.Message, S extension Xmtp_Identity_Associations_ChangeRecoveryAddress: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementationBase, SwiftProtobuf._ProtoNameProviding { public static let protoMessageName: String = _protobuf_package + ".ChangeRecoveryAddress" - public static let _protobuf_nameMap: SwiftProtobuf._NameMap = [ - 1: .standard(proto: "new_recovery_address"), - 2: .standard(proto: "existing_recovery_address_signature"), - ] + public static let _protobuf_nameMap = SwiftProtobuf._NameMap(bytecode: "\0\u{3}new_recovery_identifier\0\u{3}existing_recovery_identifier_signature\0\u{3}new_recovery_identifier_kind\0\u{3}relying_party\0") public mutating func decodeMessage(decoder: inout D) throws { while let fieldNumber = try decoder.nextFieldNumber() { @@ -654,8 +832,10 @@ extension Xmtp_Identity_Associations_ChangeRecoveryAddress: SwiftProtobuf.Messag // allocates stack space for every case branch when no optimizations are // enabled. https://github.com/apple/swift-protobuf/issues/1034 switch fieldNumber { - case 1: try { try decoder.decodeSingularStringField(value: &self.newRecoveryAddress) }() - case 2: try { try decoder.decodeSingularMessageField(value: &self._existingRecoveryAddressSignature) }() + case 1: try { try decoder.decodeSingularStringField(value: &self.newRecoveryIdentifier) }() + case 2: try { try decoder.decodeSingularMessageField(value: &self._existingRecoveryIdentifierSignature) }() + case 3: try { try decoder.decodeSingularEnumField(value: &self.newRecoveryIdentifierKind) }() + case 4: try { try decoder.decodeSingularStringField(value: &self._relyingParty) }() default: break } } @@ -666,18 +846,26 @@ extension Xmtp_Identity_Associations_ChangeRecoveryAddress: SwiftProtobuf.Messag // allocates stack space for every if/case branch local when no optimizations // are enabled. https://github.com/apple/swift-protobuf/issues/1034 and // https://github.com/apple/swift-protobuf/issues/1182 - if !self.newRecoveryAddress.isEmpty { - try visitor.visitSingularStringField(value: self.newRecoveryAddress, fieldNumber: 1) + if !self.newRecoveryIdentifier.isEmpty { + try visitor.visitSingularStringField(value: self.newRecoveryIdentifier, fieldNumber: 1) } - try { if let v = self._existingRecoveryAddressSignature { + try { if let v = self._existingRecoveryIdentifierSignature { try visitor.visitSingularMessageField(value: v, fieldNumber: 2) } }() + if self.newRecoveryIdentifierKind != .unspecified { + try visitor.visitSingularEnumField(value: self.newRecoveryIdentifierKind, fieldNumber: 3) + } + try { if let v = self._relyingParty { + try visitor.visitSingularStringField(value: v, fieldNumber: 4) + } }() try unknownFields.traverse(visitor: &visitor) } public static func ==(lhs: Xmtp_Identity_Associations_ChangeRecoveryAddress, rhs: Xmtp_Identity_Associations_ChangeRecoveryAddress) -> Bool { - if lhs.newRecoveryAddress != rhs.newRecoveryAddress {return false} - if lhs._existingRecoveryAddressSignature != rhs._existingRecoveryAddressSignature {return false} + if lhs.newRecoveryIdentifier != rhs.newRecoveryIdentifier {return false} + if lhs._existingRecoveryIdentifierSignature != rhs._existingRecoveryIdentifierSignature {return false} + if lhs.newRecoveryIdentifierKind != rhs.newRecoveryIdentifierKind {return false} + if lhs._relyingParty != rhs._relyingParty {return false} if lhs.unknownFields != rhs.unknownFields {return false} return true } @@ -685,12 +873,7 @@ extension Xmtp_Identity_Associations_ChangeRecoveryAddress: SwiftProtobuf.Messag extension Xmtp_Identity_Associations_IdentityAction: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementationBase, SwiftProtobuf._ProtoNameProviding { public static let protoMessageName: String = _protobuf_package + ".IdentityAction" - public static let _protobuf_nameMap: SwiftProtobuf._NameMap = [ - 1: .standard(proto: "create_inbox"), - 2: .same(proto: "add"), - 3: .same(proto: "revoke"), - 4: .standard(proto: "change_recovery_address"), - ] + public static let _protobuf_nameMap = SwiftProtobuf._NameMap(bytecode: "\0\u{3}create_inbox\0\u{1}add\0\u{1}revoke\0\u{3}change_recovery_address\0") public mutating func decodeMessage(decoder: inout D) throws { while let fieldNumber = try decoder.nextFieldNumber() { @@ -791,11 +974,7 @@ extension Xmtp_Identity_Associations_IdentityAction: SwiftProtobuf.Message, Swif extension Xmtp_Identity_Associations_IdentityUpdate: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementationBase, SwiftProtobuf._ProtoNameProviding { public static let protoMessageName: String = _protobuf_package + ".IdentityUpdate" - public static let _protobuf_nameMap: SwiftProtobuf._NameMap = [ - 1: .same(proto: "actions"), - 2: .standard(proto: "client_timestamp_ns"), - 3: .standard(proto: "inbox_id"), - ] + public static let _protobuf_nameMap = SwiftProtobuf._NameMap(bytecode: "\0\u{1}actions\0\u{3}client_timestamp_ns\0\u{3}inbox_id\0") public mutating func decodeMessage(decoder: inout D) throws { while let fieldNumber = try decoder.nextFieldNumber() { @@ -835,10 +1014,7 @@ extension Xmtp_Identity_Associations_IdentityUpdate: SwiftProtobuf.Message, Swif extension Xmtp_Identity_Associations_MemberMap: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementationBase, SwiftProtobuf._ProtoNameProviding { public static let protoMessageName: String = _protobuf_package + ".MemberMap" - public static let _protobuf_nameMap: SwiftProtobuf._NameMap = [ - 1: .same(proto: "key"), - 2: .same(proto: "value"), - ] + public static let _protobuf_nameMap = SwiftProtobuf._NameMap(bytecode: "\0\u{1}key\0\u{1}value\0") public mutating func decodeMessage(decoder: inout D) throws { while let fieldNumber = try decoder.nextFieldNumber() { @@ -877,12 +1053,7 @@ extension Xmtp_Identity_Associations_MemberMap: SwiftProtobuf.Message, SwiftProt extension Xmtp_Identity_Associations_AssociationState: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementationBase, SwiftProtobuf._ProtoNameProviding { public static let protoMessageName: String = _protobuf_package + ".AssociationState" - public static let _protobuf_nameMap: SwiftProtobuf._NameMap = [ - 1: .standard(proto: "inbox_id"), - 2: .same(proto: "members"), - 3: .standard(proto: "recovery_address"), - 4: .standard(proto: "seen_signatures"), - ] + public static let _protobuf_nameMap = SwiftProtobuf._NameMap(bytecode: "\0\u{3}inbox_id\0\u{1}members\0\u{3}recovery_identifier\0\u{3}seen_signatures\0\u{3}recovery_identifier_kind\0\u{3}relying_party\0") public mutating func decodeMessage(decoder: inout D) throws { while let fieldNumber = try decoder.nextFieldNumber() { @@ -892,34 +1063,48 @@ extension Xmtp_Identity_Associations_AssociationState: SwiftProtobuf.Message, Sw switch fieldNumber { case 1: try { try decoder.decodeSingularStringField(value: &self.inboxID) }() case 2: try { try decoder.decodeRepeatedMessageField(value: &self.members) }() - case 3: try { try decoder.decodeSingularStringField(value: &self.recoveryAddress) }() + case 3: try { try decoder.decodeSingularStringField(value: &self.recoveryIdentifier) }() case 4: try { try decoder.decodeRepeatedBytesField(value: &self.seenSignatures) }() + case 5: try { try decoder.decodeSingularEnumField(value: &self.recoveryIdentifierKind) }() + case 6: try { try decoder.decodeSingularStringField(value: &self._relyingParty) }() default: break } } } public func traverse(visitor: inout V) throws { + // The use of inline closures is to circumvent an issue where the compiler + // allocates stack space for every if/case branch local when no optimizations + // are enabled. https://github.com/apple/swift-protobuf/issues/1034 and + // https://github.com/apple/swift-protobuf/issues/1182 if !self.inboxID.isEmpty { try visitor.visitSingularStringField(value: self.inboxID, fieldNumber: 1) } if !self.members.isEmpty { try visitor.visitRepeatedMessageField(value: self.members, fieldNumber: 2) } - if !self.recoveryAddress.isEmpty { - try visitor.visitSingularStringField(value: self.recoveryAddress, fieldNumber: 3) + if !self.recoveryIdentifier.isEmpty { + try visitor.visitSingularStringField(value: self.recoveryIdentifier, fieldNumber: 3) } if !self.seenSignatures.isEmpty { try visitor.visitRepeatedBytesField(value: self.seenSignatures, fieldNumber: 4) } + if self.recoveryIdentifierKind != .unspecified { + try visitor.visitSingularEnumField(value: self.recoveryIdentifierKind, fieldNumber: 5) + } + try { if let v = self._relyingParty { + try visitor.visitSingularStringField(value: v, fieldNumber: 6) + } }() try unknownFields.traverse(visitor: &visitor) } public static func ==(lhs: Xmtp_Identity_Associations_AssociationState, rhs: Xmtp_Identity_Associations_AssociationState) -> Bool { if lhs.inboxID != rhs.inboxID {return false} if lhs.members != rhs.members {return false} - if lhs.recoveryAddress != rhs.recoveryAddress {return false} + if lhs.recoveryIdentifier != rhs.recoveryIdentifier {return false} if lhs.seenSignatures != rhs.seenSignatures {return false} + if lhs.recoveryIdentifierKind != rhs.recoveryIdentifierKind {return false} + if lhs._relyingParty != rhs._relyingParty {return false} if lhs.unknownFields != rhs.unknownFields {return false} return true } @@ -927,10 +1112,7 @@ extension Xmtp_Identity_Associations_AssociationState: SwiftProtobuf.Message, Sw extension Xmtp_Identity_Associations_AssociationStateDiff: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementationBase, SwiftProtobuf._ProtoNameProviding { public static let protoMessageName: String = _protobuf_package + ".AssociationStateDiff" - public static let _protobuf_nameMap: SwiftProtobuf._NameMap = [ - 1: .standard(proto: "new_members"), - 2: .standard(proto: "removed_members"), - ] + public static let _protobuf_nameMap = SwiftProtobuf._NameMap(bytecode: "\0\u{3}new_members\0\u{3}removed_members\0") public mutating func decodeMessage(decoder: inout D) throws { while let fieldNumber = try decoder.nextFieldNumber() { diff --git a/swift/identity/associations/signature.pb.swift b/swift/identity/associations/signature.pb.swift index 24b25e2..9854ec6 100644 --- a/swift/identity/associations/signature.pb.swift +++ b/swift/identity/associations/signature.pb.swift @@ -24,7 +24,7 @@ fileprivate struct _GeneratedWithProtocGenSwiftVersion: SwiftProtobuf.ProtobufAP } /// RecoverableEcdsaSignature for EIP-191 and V2 signatures -public struct Xmtp_Identity_Associations_RecoverableEcdsaSignature: @unchecked Sendable { +public struct Xmtp_Identity_Associations_RecoverableEcdsaSignature: Sendable { // SwiftProtobuf.Message conformance is added in an extension below. See the // `Message` and `Message+*Additions` files in the SwiftProtobuf library for // methods supported on all messages. @@ -38,7 +38,7 @@ public struct Xmtp_Identity_Associations_RecoverableEcdsaSignature: @unchecked S } /// EdDSA signature for 25519 -public struct Xmtp_Identity_Associations_RecoverableEd25519Signature: @unchecked Sendable { +public struct Xmtp_Identity_Associations_RecoverableEd25519Signature: Sendable { // SwiftProtobuf.Message conformance is added in an extension below. See the // `Message` and `Message+*Additions` files in the SwiftProtobuf library for // methods supported on all messages. @@ -55,7 +55,7 @@ public struct Xmtp_Identity_Associations_RecoverableEd25519Signature: @unchecked } /// Smart Contract Wallet signature -public struct Xmtp_Identity_Associations_SmartContractWalletSignature: @unchecked Sendable { +public struct Xmtp_Identity_Associations_SmartContractWalletSignature: Sendable { // SwiftProtobuf.Message conformance is added in an extension below. See the // `Message` and `Message+*Additions` files in the SwiftProtobuf library for // methods supported on all messages. @@ -75,6 +75,25 @@ public struct Xmtp_Identity_Associations_SmartContractWalletSignature: @unchecke public init() {} } +/// Passkey signature +public struct Xmtp_Identity_Associations_RecoverablePasskeySignature: Sendable { + // SwiftProtobuf.Message conformance is added in an extension below. See the + // `Message` and `Message+*Additions` files in the SwiftProtobuf library for + // methods supported on all messages. + + public var publicKey: Data = Data() + + public var signature: Data = Data() + + public var authenticatorData: Data = Data() + + public var clientDataJson: Data = Data() + + public var unknownFields = SwiftProtobuf.UnknownStorage() + + public init() {} +} + /// An existing address on xmtpv2 may have already signed a legacy identity key /// of type SignedPublicKey via the 'Create Identity' signature. /// For migration to xmtpv3, the legacy key is permitted to sign on behalf of the @@ -157,6 +176,14 @@ public struct Xmtp_Identity_Associations_Signature: Sendable { set {signature = .delegatedErc191(newValue)} } + public var passkey: Xmtp_Identity_Associations_RecoverablePasskeySignature { + get { + if case .passkey(let v)? = signature {return v} + return Xmtp_Identity_Associations_RecoverablePasskeySignature() + } + set {signature = .passkey(newValue)} + } + public var unknownFields = SwiftProtobuf.UnknownStorage() /// Must have two properties: @@ -169,6 +196,7 @@ public struct Xmtp_Identity_Associations_Signature: Sendable { case erc6492(Xmtp_Identity_Associations_SmartContractWalletSignature) case installationKey(Xmtp_Identity_Associations_RecoverableEd25519Signature) case delegatedErc191(Xmtp_Identity_Associations_LegacyDelegatedSignature) + case passkey(Xmtp_Identity_Associations_RecoverablePasskeySignature) } @@ -181,9 +209,7 @@ fileprivate let _protobuf_package = "xmtp.identity.associations" extension Xmtp_Identity_Associations_RecoverableEcdsaSignature: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementationBase, SwiftProtobuf._ProtoNameProviding { public static let protoMessageName: String = _protobuf_package + ".RecoverableEcdsaSignature" - public static let _protobuf_nameMap: SwiftProtobuf._NameMap = [ - 1: .same(proto: "bytes"), - ] + public static let _protobuf_nameMap = SwiftProtobuf._NameMap(bytecode: "\0\u{1}bytes\0") public mutating func decodeMessage(decoder: inout D) throws { while let fieldNumber = try decoder.nextFieldNumber() { @@ -213,10 +239,7 @@ extension Xmtp_Identity_Associations_RecoverableEcdsaSignature: SwiftProtobuf.Me extension Xmtp_Identity_Associations_RecoverableEd25519Signature: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementationBase, SwiftProtobuf._ProtoNameProviding { public static let protoMessageName: String = _protobuf_package + ".RecoverableEd25519Signature" - public static let _protobuf_nameMap: SwiftProtobuf._NameMap = [ - 1: .same(proto: "bytes"), - 2: .standard(proto: "public_key"), - ] + public static let _protobuf_nameMap = SwiftProtobuf._NameMap(bytecode: "\0\u{1}bytes\0\u{3}public_key\0") public mutating func decodeMessage(decoder: inout D) throws { while let fieldNumber = try decoder.nextFieldNumber() { @@ -251,11 +274,7 @@ extension Xmtp_Identity_Associations_RecoverableEd25519Signature: SwiftProtobuf. extension Xmtp_Identity_Associations_SmartContractWalletSignature: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementationBase, SwiftProtobuf._ProtoNameProviding { public static let protoMessageName: String = _protobuf_package + ".SmartContractWalletSignature" - public static let _protobuf_nameMap: SwiftProtobuf._NameMap = [ - 1: .standard(proto: "account_id"), - 2: .standard(proto: "block_number"), - 3: .same(proto: "signature"), - ] + public static let _protobuf_nameMap = SwiftProtobuf._NameMap(bytecode: "\0\u{3}account_id\0\u{3}block_number\0\u{1}signature\0") public mutating func decodeMessage(decoder: inout D) throws { while let fieldNumber = try decoder.nextFieldNumber() { @@ -293,12 +312,54 @@ extension Xmtp_Identity_Associations_SmartContractWalletSignature: SwiftProtobuf } } +extension Xmtp_Identity_Associations_RecoverablePasskeySignature: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementationBase, SwiftProtobuf._ProtoNameProviding { + public static let protoMessageName: String = _protobuf_package + ".RecoverablePasskeySignature" + public static let _protobuf_nameMap = SwiftProtobuf._NameMap(bytecode: "\0\u{3}public_key\0\u{1}signature\0\u{3}authenticator_data\0\u{3}client_data_json\0") + + public mutating func decodeMessage(decoder: inout D) throws { + while let fieldNumber = try decoder.nextFieldNumber() { + // The use of inline closures is to circumvent an issue where the compiler + // allocates stack space for every case branch when no optimizations are + // enabled. https://github.com/apple/swift-protobuf/issues/1034 + switch fieldNumber { + case 1: try { try decoder.decodeSingularBytesField(value: &self.publicKey) }() + case 2: try { try decoder.decodeSingularBytesField(value: &self.signature) }() + case 3: try { try decoder.decodeSingularBytesField(value: &self.authenticatorData) }() + case 4: try { try decoder.decodeSingularBytesField(value: &self.clientDataJson) }() + default: break + } + } + } + + public func traverse(visitor: inout V) throws { + if !self.publicKey.isEmpty { + try visitor.visitSingularBytesField(value: self.publicKey, fieldNumber: 1) + } + if !self.signature.isEmpty { + try visitor.visitSingularBytesField(value: self.signature, fieldNumber: 2) + } + if !self.authenticatorData.isEmpty { + try visitor.visitSingularBytesField(value: self.authenticatorData, fieldNumber: 3) + } + if !self.clientDataJson.isEmpty { + try visitor.visitSingularBytesField(value: self.clientDataJson, fieldNumber: 4) + } + try unknownFields.traverse(visitor: &visitor) + } + + public static func ==(lhs: Xmtp_Identity_Associations_RecoverablePasskeySignature, rhs: Xmtp_Identity_Associations_RecoverablePasskeySignature) -> Bool { + if lhs.publicKey != rhs.publicKey {return false} + if lhs.signature != rhs.signature {return false} + if lhs.authenticatorData != rhs.authenticatorData {return false} + if lhs.clientDataJson != rhs.clientDataJson {return false} + if lhs.unknownFields != rhs.unknownFields {return false} + return true + } +} + extension Xmtp_Identity_Associations_LegacyDelegatedSignature: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementationBase, SwiftProtobuf._ProtoNameProviding { public static let protoMessageName: String = _protobuf_package + ".LegacyDelegatedSignature" - public static let _protobuf_nameMap: SwiftProtobuf._NameMap = [ - 1: .standard(proto: "delegated_key"), - 2: .same(proto: "signature"), - ] + public static let _protobuf_nameMap = SwiftProtobuf._NameMap(bytecode: "\0\u{3}delegated_key\0\u{1}signature\0") public mutating func decodeMessage(decoder: inout D) throws { while let fieldNumber = try decoder.nextFieldNumber() { @@ -337,12 +398,7 @@ extension Xmtp_Identity_Associations_LegacyDelegatedSignature: SwiftProtobuf.Mes extension Xmtp_Identity_Associations_Signature: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementationBase, SwiftProtobuf._ProtoNameProviding { public static let protoMessageName: String = _protobuf_package + ".Signature" - public static let _protobuf_nameMap: SwiftProtobuf._NameMap = [ - 1: .standard(proto: "erc_191"), - 2: .standard(proto: "erc_6492"), - 3: .standard(proto: "installation_key"), - 4: .standard(proto: "delegated_erc_191"), - ] + public static let _protobuf_nameMap = SwiftProtobuf._NameMap(bytecode: "\0\u{3}erc_191\0\u{3}erc_6492\0\u{3}installation_key\0\u{3}delegated_erc_191\0\u{1}passkey\0") public mutating func decodeMessage(decoder: inout D) throws { while let fieldNumber = try decoder.nextFieldNumber() { @@ -402,6 +458,19 @@ extension Xmtp_Identity_Associations_Signature: SwiftProtobuf.Message, SwiftProt self.signature = .delegatedErc191(v) } }() + case 5: try { + var v: Xmtp_Identity_Associations_RecoverablePasskeySignature? + var hadOneofValue = false + if let current = self.signature { + hadOneofValue = true + if case .passkey(let m) = current {v = m} + } + try decoder.decodeSingularMessageField(value: &v) + if let v = v { + if hadOneofValue {try decoder.handleConflictingOneOf()} + self.signature = .passkey(v) + } + }() default: break } } @@ -429,6 +498,10 @@ extension Xmtp_Identity_Associations_Signature: SwiftProtobuf.Message, SwiftProt guard case .delegatedErc191(let v)? = self.signature else { preconditionFailure() } try visitor.visitSingularMessageField(value: v, fieldNumber: 4) }() + case .passkey?: try { + guard case .passkey(let v)? = self.signature else { preconditionFailure() } + try visitor.visitSingularMessageField(value: v, fieldNumber: 5) + }() case nil: break } try unknownFields.traverse(visitor: &visitor) diff --git a/swift/identity/credential.pb.swift b/swift/identity/credential.pb.swift index 429dc5d..eb8ddee 100644 --- a/swift/identity/credential.pb.swift +++ b/swift/identity/credential.pb.swift @@ -41,9 +41,7 @@ fileprivate let _protobuf_package = "xmtp.identity" extension Xmtp_Identity_MlsCredential: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementationBase, SwiftProtobuf._ProtoNameProviding { public static let protoMessageName: String = _protobuf_package + ".MlsCredential" - public static let _protobuf_nameMap: SwiftProtobuf._NameMap = [ - 1: .standard(proto: "inbox_id"), - ] + public static let _protobuf_nameMap = SwiftProtobuf._NameMap(bytecode: "\0\u{3}inbox_id\0") public mutating func decodeMessage(decoder: inout D) throws { while let fieldNumber = try decoder.nextFieldNumber() { diff --git a/swift/xmtpv4/envelopes/envelopes.pb.swift b/swift/xmtpv4/envelopes/envelopes.pb.swift index d868e86..83593c0 100644 --- a/swift/xmtpv4/envelopes/envelopes.pb.swift +++ b/swift/xmtpv4/envelopes/envelopes.pb.swift @@ -24,8 +24,7 @@ fileprivate struct _GeneratedWithProtocGenSwiftVersion: SwiftProtobuf.ProtobufAP } /// The last seen entry per originator. Originators that have not been seen are omitted. -/// Entries MUST be sorted in ascending order, so that smaller node ID's appear first. -public struct Xmtp_Xmtpv4_Envelopes_VectorClock: Sendable { +public struct Xmtp_Xmtpv4_Envelopes_Cursor: Sendable { // SwiftProtobuf.Message conformance is added in an extension below. See the // `Message` and `Message+*Additions` files in the SwiftProtobuf library for // methods supported on all messages. @@ -38,29 +37,29 @@ public struct Xmtp_Xmtpv4_Envelopes_VectorClock: Sendable { } /// Data visible to the server that has been authenticated by the client. -public struct Xmtp_Xmtpv4_Envelopes_AuthenticatedData: @unchecked Sendable { +public struct Xmtp_Xmtpv4_Envelopes_AuthenticatedData: Sendable { // SwiftProtobuf.Message conformance is added in an extension below. See the // `Message` and `Message+*Additions` files in the SwiftProtobuf library for // methods supported on all messages. - public var targetOriginator: UInt32 = 0 - + /// Do NOT reuse tag 1 — previously used by target_originator public var targetTopic: Data = Data() - public var lastSeen: Xmtp_Xmtpv4_Envelopes_VectorClock { - get {return _lastSeen ?? Xmtp_Xmtpv4_Envelopes_VectorClock()} - set {_lastSeen = newValue} + /// Do NOT reuse tag 4 — previously used by is_commit + public var dependsOn: Xmtp_Xmtpv4_Envelopes_Cursor { + get {return _dependsOn ?? Xmtp_Xmtpv4_Envelopes_Cursor()} + set {_dependsOn = newValue} } - /// Returns true if `lastSeen` has been explicitly set. - public var hasLastSeen: Bool {return self._lastSeen != nil} - /// Clears the value of `lastSeen`. Subsequent reads from it will return its default value. - public mutating func clearLastSeen() {self._lastSeen = nil} + /// Returns true if `dependsOn` has been explicitly set. + public var hasDependsOn: Bool {return self._dependsOn != nil} + /// Clears the value of `dependsOn`. Subsequent reads from it will return its default value. + public mutating func clearDependsOn() {self._dependsOn = nil} public var unknownFields = SwiftProtobuf.UnknownStorage() public init() {} - fileprivate var _lastSeen: Xmtp_Xmtpv4_Envelopes_VectorClock? = nil + fileprivate var _dependsOn: Xmtp_Xmtpv4_Envelopes_Cursor? = nil } public struct Xmtp_Xmtpv4_Envelopes_ClientEnvelope: Sendable { @@ -111,6 +110,22 @@ public struct Xmtp_Xmtpv4_Envelopes_ClientEnvelope: Sendable { set {payload = .identityUpdate(newValue)} } + public var payerReport: Xmtp_Xmtpv4_Envelopes_PayerReport { + get { + if case .payerReport(let v)? = payload {return v} + return Xmtp_Xmtpv4_Envelopes_PayerReport() + } + set {payload = .payerReport(newValue)} + } + + public var payerReportAttestation: Xmtp_Xmtpv4_Envelopes_PayerReportAttestation { + get { + if case .payerReportAttestation(let v)? = payload {return v} + return Xmtp_Xmtpv4_Envelopes_PayerReportAttestation() + } + set {payload = .payerReportAttestation(newValue)} + } + public var unknownFields = SwiftProtobuf.UnknownStorage() public enum OneOf_Payload: Equatable, Sendable { @@ -118,6 +133,8 @@ public struct Xmtp_Xmtpv4_Envelopes_ClientEnvelope: Sendable { case welcomeMessage(Xmtp_Mls_Api_V1_WelcomeMessageInput) case uploadKeyPackage(Xmtp_Mls_Api_V1_UploadKeyPackageRequest) case identityUpdate(Xmtp_Identity_Associations_IdentityUpdate) + case payerReport(Xmtp_Xmtpv4_Envelopes_PayerReport) + case payerReportAttestation(Xmtp_Xmtpv4_Envelopes_PayerReportAttestation) } @@ -127,7 +144,7 @@ public struct Xmtp_Xmtpv4_Envelopes_ClientEnvelope: Sendable { } /// Wraps client envelope with payer signature -public struct Xmtp_Xmtpv4_Envelopes_PayerEnvelope: @unchecked Sendable { +public struct Xmtp_Xmtpv4_Envelopes_PayerEnvelope: Sendable { // SwiftProtobuf.Message conformance is added in an extension below. See the // `Message` and `Message+*Additions` files in the SwiftProtobuf library for // methods supported on all messages. @@ -144,6 +161,10 @@ public struct Xmtp_Xmtpv4_Envelopes_PayerEnvelope: @unchecked Sendable { /// Clears the value of `payerSignature`. Subsequent reads from it will return its default value. public mutating func clearPayerSignature() {self._payerSignature = nil} + public var targetOriginator: UInt32 = 0 + + public var messageRetentionDays: UInt32 = 0 + public var unknownFields = SwiftProtobuf.UnknownStorage() public init() {} @@ -163,24 +184,23 @@ public struct Xmtp_Xmtpv4_Envelopes_UnsignedOriginatorEnvelope: Sendable { public var originatorNs: Int64 = 0 - public var payerEnvelope: Xmtp_Xmtpv4_Envelopes_PayerEnvelope { - get {return _payerEnvelope ?? Xmtp_Xmtpv4_Envelopes_PayerEnvelope()} - set {_payerEnvelope = newValue} - } - /// Returns true if `payerEnvelope` has been explicitly set. - public var hasPayerEnvelope: Bool {return self._payerEnvelope != nil} - /// Clears the value of `payerEnvelope`. Subsequent reads from it will return its default value. - public mutating func clearPayerEnvelope() {self._payerEnvelope = nil} + public var payerEnvelopeBytes: Data = Data() + + /// The base fee for the message in picodollars + public var baseFeePicodollars: UInt64 = 0 + + /// The congestion fee for the message in picodollars + public var congestionFeePicodollars: UInt64 = 0 + + public var expiryUnixtime: UInt64 = 0 public var unknownFields = SwiftProtobuf.UnknownStorage() public init() {} - - fileprivate var _payerEnvelope: Xmtp_Xmtpv4_Envelopes_PayerEnvelope? = nil } /// An alternative to a signature for blockchain payloads -public struct Xmtp_Xmtpv4_Envelopes_BlockchainProof: @unchecked Sendable { +public struct Xmtp_Xmtpv4_Envelopes_BlockchainProof: Sendable { // SwiftProtobuf.Message conformance is added in an extension below. See the // `Message` and `Message+*Additions` files in the SwiftProtobuf library for // methods supported on all messages. @@ -193,7 +213,7 @@ public struct Xmtp_Xmtpv4_Envelopes_BlockchainProof: @unchecked Sendable { } /// Signed originator envelope -public struct Xmtp_Xmtpv4_Envelopes_OriginatorEnvelope: @unchecked Sendable { +public struct Xmtp_Xmtpv4_Envelopes_OriginatorEnvelope: Sendable { // SwiftProtobuf.Message conformance is added in an extension below. See the // `Message` and `Message+*Additions` files in the SwiftProtobuf library for // methods supported on all messages. @@ -234,11 +254,9 @@ public struct Xmtp_Xmtpv4_Envelopes_OriginatorEnvelope: @unchecked Sendable { fileprivate let _protobuf_package = "xmtp.xmtpv4.envelopes" -extension Xmtp_Xmtpv4_Envelopes_VectorClock: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementationBase, SwiftProtobuf._ProtoNameProviding { - public static let protoMessageName: String = _protobuf_package + ".VectorClock" - public static let _protobuf_nameMap: SwiftProtobuf._NameMap = [ - 1: .standard(proto: "node_id_to_sequence_id"), - ] +extension Xmtp_Xmtpv4_Envelopes_Cursor: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementationBase, SwiftProtobuf._ProtoNameProviding { + public static let protoMessageName: String = _protobuf_package + ".Cursor" + public static let _protobuf_nameMap = SwiftProtobuf._NameMap(bytecode: "\0\u{3}node_id_to_sequence_id\0") public mutating func decodeMessage(decoder: inout D) throws { while let fieldNumber = try decoder.nextFieldNumber() { @@ -259,7 +277,7 @@ extension Xmtp_Xmtpv4_Envelopes_VectorClock: SwiftProtobuf.Message, SwiftProtobu try unknownFields.traverse(visitor: &visitor) } - public static func ==(lhs: Xmtp_Xmtpv4_Envelopes_VectorClock, rhs: Xmtp_Xmtpv4_Envelopes_VectorClock) -> Bool { + public static func ==(lhs: Xmtp_Xmtpv4_Envelopes_Cursor, rhs: Xmtp_Xmtpv4_Envelopes_Cursor) -> Bool { if lhs.nodeIDToSequenceID != rhs.nodeIDToSequenceID {return false} if lhs.unknownFields != rhs.unknownFields {return false} return true @@ -268,11 +286,7 @@ extension Xmtp_Xmtpv4_Envelopes_VectorClock: SwiftProtobuf.Message, SwiftProtobu extension Xmtp_Xmtpv4_Envelopes_AuthenticatedData: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementationBase, SwiftProtobuf._ProtoNameProviding { public static let protoMessageName: String = _protobuf_package + ".AuthenticatedData" - public static let _protobuf_nameMap: SwiftProtobuf._NameMap = [ - 1: .standard(proto: "target_originator"), - 2: .standard(proto: "target_topic"), - 3: .standard(proto: "last_seen"), - ] + public static let _protobuf_nameMap = SwiftProtobuf._NameMap(bytecode: "\0\u{4}\u{2}target_topic\0\u{3}depends_on\0") public mutating func decodeMessage(decoder: inout D) throws { while let fieldNumber = try decoder.nextFieldNumber() { @@ -280,9 +294,8 @@ extension Xmtp_Xmtpv4_Envelopes_AuthenticatedData: SwiftProtobuf.Message, SwiftP // allocates stack space for every case branch when no optimizations are // enabled. https://github.com/apple/swift-protobuf/issues/1034 switch fieldNumber { - case 1: try { try decoder.decodeSingularUInt32Field(value: &self.targetOriginator) }() case 2: try { try decoder.decodeSingularBytesField(value: &self.targetTopic) }() - case 3: try { try decoder.decodeSingularMessageField(value: &self._lastSeen) }() + case 3: try { try decoder.decodeSingularMessageField(value: &self._dependsOn) }() default: break } } @@ -293,22 +306,18 @@ extension Xmtp_Xmtpv4_Envelopes_AuthenticatedData: SwiftProtobuf.Message, SwiftP // allocates stack space for every if/case branch local when no optimizations // are enabled. https://github.com/apple/swift-protobuf/issues/1034 and // https://github.com/apple/swift-protobuf/issues/1182 - if self.targetOriginator != 0 { - try visitor.visitSingularUInt32Field(value: self.targetOriginator, fieldNumber: 1) - } if !self.targetTopic.isEmpty { try visitor.visitSingularBytesField(value: self.targetTopic, fieldNumber: 2) } - try { if let v = self._lastSeen { + try { if let v = self._dependsOn { try visitor.visitSingularMessageField(value: v, fieldNumber: 3) } }() try unknownFields.traverse(visitor: &visitor) } public static func ==(lhs: Xmtp_Xmtpv4_Envelopes_AuthenticatedData, rhs: Xmtp_Xmtpv4_Envelopes_AuthenticatedData) -> Bool { - if lhs.targetOriginator != rhs.targetOriginator {return false} if lhs.targetTopic != rhs.targetTopic {return false} - if lhs._lastSeen != rhs._lastSeen {return false} + if lhs._dependsOn != rhs._dependsOn {return false} if lhs.unknownFields != rhs.unknownFields {return false} return true } @@ -316,13 +325,7 @@ extension Xmtp_Xmtpv4_Envelopes_AuthenticatedData: SwiftProtobuf.Message, SwiftP extension Xmtp_Xmtpv4_Envelopes_ClientEnvelope: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementationBase, SwiftProtobuf._ProtoNameProviding { public static let protoMessageName: String = _protobuf_package + ".ClientEnvelope" - public static let _protobuf_nameMap: SwiftProtobuf._NameMap = [ - 1: .same(proto: "aad"), - 2: .standard(proto: "group_message"), - 3: .standard(proto: "welcome_message"), - 4: .standard(proto: "upload_key_package"), - 5: .standard(proto: "identity_update"), - ] + public static let _protobuf_nameMap = SwiftProtobuf._NameMap(bytecode: "\0\u{1}aad\0\u{3}group_message\0\u{3}welcome_message\0\u{3}upload_key_package\0\u{3}identity_update\0\u{3}payer_report\0\u{3}payer_report_attestation\0") public mutating func decodeMessage(decoder: inout D) throws { while let fieldNumber = try decoder.nextFieldNumber() { @@ -383,6 +386,32 @@ extension Xmtp_Xmtpv4_Envelopes_ClientEnvelope: SwiftProtobuf.Message, SwiftProt self.payload = .identityUpdate(v) } }() + case 6: try { + var v: Xmtp_Xmtpv4_Envelopes_PayerReport? + var hadOneofValue = false + if let current = self.payload { + hadOneofValue = true + if case .payerReport(let m) = current {v = m} + } + try decoder.decodeSingularMessageField(value: &v) + if let v = v { + if hadOneofValue {try decoder.handleConflictingOneOf()} + self.payload = .payerReport(v) + } + }() + case 7: try { + var v: Xmtp_Xmtpv4_Envelopes_PayerReportAttestation? + var hadOneofValue = false + if let current = self.payload { + hadOneofValue = true + if case .payerReportAttestation(let m) = current {v = m} + } + try decoder.decodeSingularMessageField(value: &v) + if let v = v { + if hadOneofValue {try decoder.handleConflictingOneOf()} + self.payload = .payerReportAttestation(v) + } + }() default: break } } @@ -413,6 +442,14 @@ extension Xmtp_Xmtpv4_Envelopes_ClientEnvelope: SwiftProtobuf.Message, SwiftProt guard case .identityUpdate(let v)? = self.payload else { preconditionFailure() } try visitor.visitSingularMessageField(value: v, fieldNumber: 5) }() + case .payerReport?: try { + guard case .payerReport(let v)? = self.payload else { preconditionFailure() } + try visitor.visitSingularMessageField(value: v, fieldNumber: 6) + }() + case .payerReportAttestation?: try { + guard case .payerReportAttestation(let v)? = self.payload else { preconditionFailure() } + try visitor.visitSingularMessageField(value: v, fieldNumber: 7) + }() case nil: break } try unknownFields.traverse(visitor: &visitor) @@ -428,10 +465,7 @@ extension Xmtp_Xmtpv4_Envelopes_ClientEnvelope: SwiftProtobuf.Message, SwiftProt extension Xmtp_Xmtpv4_Envelopes_PayerEnvelope: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementationBase, SwiftProtobuf._ProtoNameProviding { public static let protoMessageName: String = _protobuf_package + ".PayerEnvelope" - public static let _protobuf_nameMap: SwiftProtobuf._NameMap = [ - 1: .standard(proto: "unsigned_client_envelope"), - 2: .standard(proto: "payer_signature"), - ] + public static let _protobuf_nameMap = SwiftProtobuf._NameMap(bytecode: "\0\u{3}unsigned_client_envelope\0\u{3}payer_signature\0\u{3}target_originator\0\u{3}message_retention_days\0") public mutating func decodeMessage(decoder: inout D) throws { while let fieldNumber = try decoder.nextFieldNumber() { @@ -441,6 +475,8 @@ extension Xmtp_Xmtpv4_Envelopes_PayerEnvelope: SwiftProtobuf.Message, SwiftProto switch fieldNumber { case 1: try { try decoder.decodeSingularBytesField(value: &self.unsignedClientEnvelope) }() case 2: try { try decoder.decodeSingularMessageField(value: &self._payerSignature) }() + case 3: try { try decoder.decodeSingularUInt32Field(value: &self.targetOriginator) }() + case 4: try { try decoder.decodeSingularUInt32Field(value: &self.messageRetentionDays) }() default: break } } @@ -457,12 +493,20 @@ extension Xmtp_Xmtpv4_Envelopes_PayerEnvelope: SwiftProtobuf.Message, SwiftProto try { if let v = self._payerSignature { try visitor.visitSingularMessageField(value: v, fieldNumber: 2) } }() + if self.targetOriginator != 0 { + try visitor.visitSingularUInt32Field(value: self.targetOriginator, fieldNumber: 3) + } + if self.messageRetentionDays != 0 { + try visitor.visitSingularUInt32Field(value: self.messageRetentionDays, fieldNumber: 4) + } try unknownFields.traverse(visitor: &visitor) } public static func ==(lhs: Xmtp_Xmtpv4_Envelopes_PayerEnvelope, rhs: Xmtp_Xmtpv4_Envelopes_PayerEnvelope) -> Bool { if lhs.unsignedClientEnvelope != rhs.unsignedClientEnvelope {return false} if lhs._payerSignature != rhs._payerSignature {return false} + if lhs.targetOriginator != rhs.targetOriginator {return false} + if lhs.messageRetentionDays != rhs.messageRetentionDays {return false} if lhs.unknownFields != rhs.unknownFields {return false} return true } @@ -470,12 +514,7 @@ extension Xmtp_Xmtpv4_Envelopes_PayerEnvelope: SwiftProtobuf.Message, SwiftProto extension Xmtp_Xmtpv4_Envelopes_UnsignedOriginatorEnvelope: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementationBase, SwiftProtobuf._ProtoNameProviding { public static let protoMessageName: String = _protobuf_package + ".UnsignedOriginatorEnvelope" - public static let _protobuf_nameMap: SwiftProtobuf._NameMap = [ - 1: .standard(proto: "originator_node_id"), - 2: .standard(proto: "originator_sequence_id"), - 3: .standard(proto: "originator_ns"), - 4: .standard(proto: "payer_envelope"), - ] + public static let _protobuf_nameMap = SwiftProtobuf._NameMap(bytecode: "\0\u{3}originator_node_id\0\u{3}originator_sequence_id\0\u{3}originator_ns\0\u{3}payer_envelope_bytes\0\u{3}base_fee_picodollars\0\u{3}congestion_fee_picodollars\0\u{3}expiry_unixtime\0") public mutating func decodeMessage(decoder: inout D) throws { while let fieldNumber = try decoder.nextFieldNumber() { @@ -486,17 +525,16 @@ extension Xmtp_Xmtpv4_Envelopes_UnsignedOriginatorEnvelope: SwiftProtobuf.Messag case 1: try { try decoder.decodeSingularUInt32Field(value: &self.originatorNodeID) }() case 2: try { try decoder.decodeSingularUInt64Field(value: &self.originatorSequenceID) }() case 3: try { try decoder.decodeSingularInt64Field(value: &self.originatorNs) }() - case 4: try { try decoder.decodeSingularMessageField(value: &self._payerEnvelope) }() + case 4: try { try decoder.decodeSingularBytesField(value: &self.payerEnvelopeBytes) }() + case 5: try { try decoder.decodeSingularUInt64Field(value: &self.baseFeePicodollars) }() + case 6: try { try decoder.decodeSingularUInt64Field(value: &self.congestionFeePicodollars) }() + case 7: try { try decoder.decodeSingularUInt64Field(value: &self.expiryUnixtime) }() default: break } } } public func traverse(visitor: inout V) throws { - // The use of inline closures is to circumvent an issue where the compiler - // allocates stack space for every if/case branch local when no optimizations - // are enabled. https://github.com/apple/swift-protobuf/issues/1034 and - // https://github.com/apple/swift-protobuf/issues/1182 if self.originatorNodeID != 0 { try visitor.visitSingularUInt32Field(value: self.originatorNodeID, fieldNumber: 1) } @@ -506,9 +544,18 @@ extension Xmtp_Xmtpv4_Envelopes_UnsignedOriginatorEnvelope: SwiftProtobuf.Messag if self.originatorNs != 0 { try visitor.visitSingularInt64Field(value: self.originatorNs, fieldNumber: 3) } - try { if let v = self._payerEnvelope { - try visitor.visitSingularMessageField(value: v, fieldNumber: 4) - } }() + if !self.payerEnvelopeBytes.isEmpty { + try visitor.visitSingularBytesField(value: self.payerEnvelopeBytes, fieldNumber: 4) + } + if self.baseFeePicodollars != 0 { + try visitor.visitSingularUInt64Field(value: self.baseFeePicodollars, fieldNumber: 5) + } + if self.congestionFeePicodollars != 0 { + try visitor.visitSingularUInt64Field(value: self.congestionFeePicodollars, fieldNumber: 6) + } + if self.expiryUnixtime != 0 { + try visitor.visitSingularUInt64Field(value: self.expiryUnixtime, fieldNumber: 7) + } try unknownFields.traverse(visitor: &visitor) } @@ -516,7 +563,10 @@ extension Xmtp_Xmtpv4_Envelopes_UnsignedOriginatorEnvelope: SwiftProtobuf.Messag if lhs.originatorNodeID != rhs.originatorNodeID {return false} if lhs.originatorSequenceID != rhs.originatorSequenceID {return false} if lhs.originatorNs != rhs.originatorNs {return false} - if lhs._payerEnvelope != rhs._payerEnvelope {return false} + if lhs.payerEnvelopeBytes != rhs.payerEnvelopeBytes {return false} + if lhs.baseFeePicodollars != rhs.baseFeePicodollars {return false} + if lhs.congestionFeePicodollars != rhs.congestionFeePicodollars {return false} + if lhs.expiryUnixtime != rhs.expiryUnixtime {return false} if lhs.unknownFields != rhs.unknownFields {return false} return true } @@ -524,9 +574,7 @@ extension Xmtp_Xmtpv4_Envelopes_UnsignedOriginatorEnvelope: SwiftProtobuf.Messag extension Xmtp_Xmtpv4_Envelopes_BlockchainProof: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementationBase, SwiftProtobuf._ProtoNameProviding { public static let protoMessageName: String = _protobuf_package + ".BlockchainProof" - public static let _protobuf_nameMap: SwiftProtobuf._NameMap = [ - 1: .standard(proto: "transaction_hash"), - ] + public static let _protobuf_nameMap = SwiftProtobuf._NameMap(bytecode: "\0\u{3}transaction_hash\0") public mutating func decodeMessage(decoder: inout D) throws { while let fieldNumber = try decoder.nextFieldNumber() { @@ -556,11 +604,7 @@ extension Xmtp_Xmtpv4_Envelopes_BlockchainProof: SwiftProtobuf.Message, SwiftPro extension Xmtp_Xmtpv4_Envelopes_OriginatorEnvelope: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementationBase, SwiftProtobuf._ProtoNameProviding { public static let protoMessageName: String = _protobuf_package + ".OriginatorEnvelope" - public static let _protobuf_nameMap: SwiftProtobuf._NameMap = [ - 1: .standard(proto: "unsigned_originator_envelope"), - 2: .standard(proto: "originator_signature"), - 3: .standard(proto: "blockchain_proof"), - ] + public static let _protobuf_nameMap = SwiftProtobuf._NameMap(bytecode: "\0\u{3}unsigned_originator_envelope\0\u{3}originator_signature\0\u{3}blockchain_proof\0") public mutating func decodeMessage(decoder: inout D) throws { while let fieldNumber = try decoder.nextFieldNumber() { diff --git a/swift/xmtpv4/envelopes/payer_report.pb.swift b/swift/xmtpv4/envelopes/payer_report.pb.swift new file mode 100644 index 0000000..0261c10 --- /dev/null +++ b/swift/xmtpv4/envelopes/payer_report.pb.swift @@ -0,0 +1,239 @@ +// DO NOT EDIT. +// swift-format-ignore-file +// swiftlint:disable all +// +// Generated by the Swift generator plugin for the protocol buffer compiler. +// Source: xmtpv4/envelopes/payer_report.proto +// +// For information on using the generated types, please see the documentation: +// https://github.com/apple/swift-protobuf/ + +/// Message API for XMTP V4 + +import Foundation +import SwiftProtobuf + +// If the compiler emits an error on this type, it is because this file +// was generated by a version of the `protoc` Swift plug-in that is +// incompatible with the version of SwiftProtobuf to which you are linking. +// Please ensure that you are building against the same version of the API +// that was used to generate this file. +fileprivate struct _GeneratedWithProtocGenSwiftVersion: SwiftProtobuf.ProtobufAPIVersionCheck { + struct _2: SwiftProtobuf.ProtobufAPIVersion_2 {} + typealias Version = _2 +} + +/// A report of the payers and nodes that sent messages in a given range of messages +public struct Xmtp_Xmtpv4_Envelopes_PayerReport: Sendable { + // SwiftProtobuf.Message conformance is added in an extension below. See the + // `Message` and `Message+*Additions` files in the SwiftProtobuf library for + // methods supported on all messages. + + /// The originator this report is referring to + public var originatorNodeID: UInt32 = 0 + + /// The sequence_id that the report starts at [exclusive] + public var startSequenceID: UInt64 = 0 + + /// The sequence_id that the report ends at [inclusive] + public var endSequenceID: UInt64 = 0 + + /// The end timestamp of the report + public var endMinuteSinceEpoch: UInt32 = 0 + + /// The merkle root of the payer balance diff tree + public var payersMerkleRoot: Data = Data() + + /// The node IDs that are active in the network at the time of the report + public var activeNodeIds: [UInt32] = [] + + public var unknownFields = SwiftProtobuf.UnknownStorage() + + public init() {} +} + +public struct Xmtp_Xmtpv4_Envelopes_NodeSignature: Sendable { + // SwiftProtobuf.Message conformance is added in an extension below. See the + // `Message` and `Message+*Additions` files in the SwiftProtobuf library for + // methods supported on all messages. + + public var nodeID: UInt32 = 0 + + public var signature: Xmtp_Identity_Associations_RecoverableEcdsaSignature { + get {return _signature ?? Xmtp_Identity_Associations_RecoverableEcdsaSignature()} + set {_signature = newValue} + } + /// Returns true if `signature` has been explicitly set. + public var hasSignature: Bool {return self._signature != nil} + /// Clears the value of `signature`. Subsequent reads from it will return its default value. + public mutating func clearSignature() {self._signature = nil} + + public var unknownFields = SwiftProtobuf.UnknownStorage() + + public init() {} + + fileprivate var _signature: Xmtp_Identity_Associations_RecoverableEcdsaSignature? = nil +} + +/// An attestation of a payer report +public struct Xmtp_Xmtpv4_Envelopes_PayerReportAttestation: Sendable { + // SwiftProtobuf.Message conformance is added in an extension below. See the + // `Message` and `Message+*Additions` files in the SwiftProtobuf library for + // methods supported on all messages. + + /// The ID of the report, determined by hashing the report contents + public var reportID: Data = Data() + + /// The signature of the attester + public var signature: Xmtp_Xmtpv4_Envelopes_NodeSignature { + get {return _signature ?? Xmtp_Xmtpv4_Envelopes_NodeSignature()} + set {_signature = newValue} + } + /// Returns true if `signature` has been explicitly set. + public var hasSignature: Bool {return self._signature != nil} + /// Clears the value of `signature`. Subsequent reads from it will return its default value. + public mutating func clearSignature() {self._signature = nil} + + public var unknownFields = SwiftProtobuf.UnknownStorage() + + public init() {} + + fileprivate var _signature: Xmtp_Xmtpv4_Envelopes_NodeSignature? = nil +} + +// MARK: - Code below here is support for the SwiftProtobuf runtime. + +fileprivate let _protobuf_package = "xmtp.xmtpv4.envelopes" + +extension Xmtp_Xmtpv4_Envelopes_PayerReport: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementationBase, SwiftProtobuf._ProtoNameProviding { + public static let protoMessageName: String = _protobuf_package + ".PayerReport" + public static let _protobuf_nameMap = SwiftProtobuf._NameMap(bytecode: "\0\u{3}originator_node_id\0\u{3}start_sequence_id\0\u{3}end_sequence_id\0\u{3}end_minute_since_epoch\0\u{3}payers_merkle_root\0\u{3}active_node_ids\0") + + public mutating func decodeMessage(decoder: inout D) throws { + while let fieldNumber = try decoder.nextFieldNumber() { + // The use of inline closures is to circumvent an issue where the compiler + // allocates stack space for every case branch when no optimizations are + // enabled. https://github.com/apple/swift-protobuf/issues/1034 + switch fieldNumber { + case 1: try { try decoder.decodeSingularUInt32Field(value: &self.originatorNodeID) }() + case 2: try { try decoder.decodeSingularUInt64Field(value: &self.startSequenceID) }() + case 3: try { try decoder.decodeSingularUInt64Field(value: &self.endSequenceID) }() + case 4: try { try decoder.decodeSingularUInt32Field(value: &self.endMinuteSinceEpoch) }() + case 5: try { try decoder.decodeSingularBytesField(value: &self.payersMerkleRoot) }() + case 6: try { try decoder.decodeRepeatedUInt32Field(value: &self.activeNodeIds) }() + default: break + } + } + } + + public func traverse(visitor: inout V) throws { + if self.originatorNodeID != 0 { + try visitor.visitSingularUInt32Field(value: self.originatorNodeID, fieldNumber: 1) + } + if self.startSequenceID != 0 { + try visitor.visitSingularUInt64Field(value: self.startSequenceID, fieldNumber: 2) + } + if self.endSequenceID != 0 { + try visitor.visitSingularUInt64Field(value: self.endSequenceID, fieldNumber: 3) + } + if self.endMinuteSinceEpoch != 0 { + try visitor.visitSingularUInt32Field(value: self.endMinuteSinceEpoch, fieldNumber: 4) + } + if !self.payersMerkleRoot.isEmpty { + try visitor.visitSingularBytesField(value: self.payersMerkleRoot, fieldNumber: 5) + } + if !self.activeNodeIds.isEmpty { + try visitor.visitPackedUInt32Field(value: self.activeNodeIds, fieldNumber: 6) + } + try unknownFields.traverse(visitor: &visitor) + } + + public static func ==(lhs: Xmtp_Xmtpv4_Envelopes_PayerReport, rhs: Xmtp_Xmtpv4_Envelopes_PayerReport) -> Bool { + if lhs.originatorNodeID != rhs.originatorNodeID {return false} + if lhs.startSequenceID != rhs.startSequenceID {return false} + if lhs.endSequenceID != rhs.endSequenceID {return false} + if lhs.endMinuteSinceEpoch != rhs.endMinuteSinceEpoch {return false} + if lhs.payersMerkleRoot != rhs.payersMerkleRoot {return false} + if lhs.activeNodeIds != rhs.activeNodeIds {return false} + if lhs.unknownFields != rhs.unknownFields {return false} + return true + } +} + +extension Xmtp_Xmtpv4_Envelopes_NodeSignature: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementationBase, SwiftProtobuf._ProtoNameProviding { + public static let protoMessageName: String = _protobuf_package + ".NodeSignature" + public static let _protobuf_nameMap = SwiftProtobuf._NameMap(bytecode: "\0\u{3}node_id\0\u{1}signature\0") + + public mutating func decodeMessage(decoder: inout D) throws { + while let fieldNumber = try decoder.nextFieldNumber() { + // The use of inline closures is to circumvent an issue where the compiler + // allocates stack space for every case branch when no optimizations are + // enabled. https://github.com/apple/swift-protobuf/issues/1034 + switch fieldNumber { + case 1: try { try decoder.decodeSingularUInt32Field(value: &self.nodeID) }() + case 2: try { try decoder.decodeSingularMessageField(value: &self._signature) }() + default: break + } + } + } + + public func traverse(visitor: inout V) throws { + // The use of inline closures is to circumvent an issue where the compiler + // allocates stack space for every if/case branch local when no optimizations + // are enabled. https://github.com/apple/swift-protobuf/issues/1034 and + // https://github.com/apple/swift-protobuf/issues/1182 + if self.nodeID != 0 { + try visitor.visitSingularUInt32Field(value: self.nodeID, fieldNumber: 1) + } + try { if let v = self._signature { + try visitor.visitSingularMessageField(value: v, fieldNumber: 2) + } }() + try unknownFields.traverse(visitor: &visitor) + } + + public static func ==(lhs: Xmtp_Xmtpv4_Envelopes_NodeSignature, rhs: Xmtp_Xmtpv4_Envelopes_NodeSignature) -> Bool { + if lhs.nodeID != rhs.nodeID {return false} + if lhs._signature != rhs._signature {return false} + if lhs.unknownFields != rhs.unknownFields {return false} + return true + } +} + +extension Xmtp_Xmtpv4_Envelopes_PayerReportAttestation: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementationBase, SwiftProtobuf._ProtoNameProviding { + public static let protoMessageName: String = _protobuf_package + ".PayerReportAttestation" + public static let _protobuf_nameMap = SwiftProtobuf._NameMap(bytecode: "\0\u{3}report_id\0\u{1}signature\0") + + public mutating func decodeMessage(decoder: inout D) throws { + while let fieldNumber = try decoder.nextFieldNumber() { + // The use of inline closures is to circumvent an issue where the compiler + // allocates stack space for every case branch when no optimizations are + // enabled. https://github.com/apple/swift-protobuf/issues/1034 + switch fieldNumber { + case 1: try { try decoder.decodeSingularBytesField(value: &self.reportID) }() + case 2: try { try decoder.decodeSingularMessageField(value: &self._signature) }() + default: break + } + } + } + + public func traverse(visitor: inout V) throws { + // The use of inline closures is to circumvent an issue where the compiler + // allocates stack space for every if/case branch local when no optimizations + // are enabled. https://github.com/apple/swift-protobuf/issues/1034 and + // https://github.com/apple/swift-protobuf/issues/1182 + if !self.reportID.isEmpty { + try visitor.visitSingularBytesField(value: self.reportID, fieldNumber: 1) + } + try { if let v = self._signature { + try visitor.visitSingularMessageField(value: v, fieldNumber: 2) + } }() + try unknownFields.traverse(visitor: &visitor) + } + + public static func ==(lhs: Xmtp_Xmtpv4_Envelopes_PayerReportAttestation, rhs: Xmtp_Xmtpv4_Envelopes_PayerReportAttestation) -> Bool { + if lhs.reportID != rhs.reportID {return false} + if lhs._signature != rhs._signature {return false} + if lhs.unknownFields != rhs.unknownFields {return false} + return true + } +} diff --git a/swift/xmtpv4/message_api/message_api.connect.swift b/swift/xmtpv4/message_api/message_api.connect.swift index 8ef45f2..af786f2 100644 --- a/swift/xmtpv4/message_api/message_api.connect.swift +++ b/swift/xmtpv4/message_api/message_api.connect.swift @@ -1,4 +1,6 @@ // Code generated by protoc-gen-connect-swift. DO NOT EDIT. +// swift-format-ignore-file +// swiftlint:disable all // // Source: xmtpv4/message_api/message_api.proto // @@ -31,6 +33,14 @@ public protocol Xmtp_Xmtpv4_MessageApi_ReplicationApiClientInterface: Sendable { @available(iOS 13, *) func `getInboxIds`(request: Xmtp_Xmtpv4_MessageApi_GetInboxIdsRequest, headers: Connect.Headers) async -> ResponseMessage + + /// Get the newest envelope for each topic + @discardableResult + func `getNewestEnvelope`(request: Xmtp_Xmtpv4_MessageApi_GetNewestEnvelopeRequest, headers: Connect.Headers, completion: @escaping @Sendable (ResponseMessage) -> Void) -> Connect.Cancelable + + /// Get the newest envelope for each topic + @available(iOS 13, *) + func `getNewestEnvelope`(request: Xmtp_Xmtpv4_MessageApi_GetNewestEnvelopeRequest, headers: Connect.Headers) async -> ResponseMessage } /// Concrete implementation of `Xmtp_Xmtpv4_MessageApi_ReplicationApiClientInterface`. @@ -80,12 +90,23 @@ public final class Xmtp_Xmtpv4_MessageApi_ReplicationApiClient: Xmtp_Xmtpv4_Mess return await self.client.unary(path: "/xmtp.xmtpv4.message_api.ReplicationApi/GetInboxIds", idempotencyLevel: .unknown, request: request, headers: headers) } + @discardableResult + public func `getNewestEnvelope`(request: Xmtp_Xmtpv4_MessageApi_GetNewestEnvelopeRequest, headers: Connect.Headers = [:], completion: @escaping @Sendable (ResponseMessage) -> Void) -> Connect.Cancelable { + return self.client.unary(path: "/xmtp.xmtpv4.message_api.ReplicationApi/GetNewestEnvelope", idempotencyLevel: .unknown, request: request, headers: headers, completion: completion) + } + + @available(iOS 13, *) + public func `getNewestEnvelope`(request: Xmtp_Xmtpv4_MessageApi_GetNewestEnvelopeRequest, headers: Connect.Headers = [:]) async -> ResponseMessage { + return await self.client.unary(path: "/xmtp.xmtpv4.message_api.ReplicationApi/GetNewestEnvelope", idempotencyLevel: .unknown, request: request, headers: headers) + } + public enum Metadata { public enum Methods { public static let subscribeEnvelopes = Connect.MethodSpec(name: "SubscribeEnvelopes", service: "xmtp.xmtpv4.message_api.ReplicationApi", type: .serverStream) public static let queryEnvelopes = Connect.MethodSpec(name: "QueryEnvelopes", service: "xmtp.xmtpv4.message_api.ReplicationApi", type: .unary) public static let publishPayerEnvelopes = Connect.MethodSpec(name: "PublishPayerEnvelopes", service: "xmtp.xmtpv4.message_api.ReplicationApi", type: .unary) public static let getInboxIds = Connect.MethodSpec(name: "GetInboxIds", service: "xmtp.xmtpv4.message_api.ReplicationApi", type: .unary) + public static let getNewestEnvelope = Connect.MethodSpec(name: "GetNewestEnvelope", service: "xmtp.xmtpv4.message_api.ReplicationApi", type: .unary) } } } diff --git a/swift/xmtpv4/message_api/message_api.pb.swift b/swift/xmtpv4/message_api/message_api.pb.swift index 5212784..a9e90d1 100644 --- a/swift/xmtpv4/message_api/message_api.pb.swift +++ b/swift/xmtpv4/message_api/message_api.pb.swift @@ -25,7 +25,7 @@ fileprivate struct _GeneratedWithProtocGenSwiftVersion: SwiftProtobuf.ProtobufAP /// Query for envelopes, shared by query and subscribe endpoints /// Either topics or originator_node_ids may be set, but not both -public struct Xmtp_Xmtpv4_MessageApi_EnvelopesQuery: @unchecked Sendable { +public struct Xmtp_Xmtpv4_MessageApi_EnvelopesQuery: Sendable { // SwiftProtobuf.Message conformance is added in an extension below. See the // `Message` and `Message+*Additions` files in the SwiftProtobuf library for // methods supported on all messages. @@ -36,8 +36,8 @@ public struct Xmtp_Xmtpv4_MessageApi_EnvelopesQuery: @unchecked Sendable { /// Node queries public var originatorNodeIds: [UInt32] = [] - public var lastSeen: Xmtp_Xmtpv4_Envelopes_VectorClock { - get {return _lastSeen ?? Xmtp_Xmtpv4_Envelopes_VectorClock()} + public var lastSeen: Xmtp_Xmtpv4_Envelopes_Cursor { + get {return _lastSeen ?? Xmtp_Xmtpv4_Envelopes_Cursor()} set {_lastSeen = newValue} } /// Returns true if `lastSeen` has been explicitly set. @@ -49,7 +49,7 @@ public struct Xmtp_Xmtpv4_MessageApi_EnvelopesQuery: @unchecked Sendable { public init() {} - fileprivate var _lastSeen: Xmtp_Xmtpv4_Envelopes_VectorClock? = nil + fileprivate var _lastSeen: Xmtp_Xmtpv4_Envelopes_Cursor? = nil } /// Batch subscribe to envelopes @@ -164,7 +164,9 @@ public struct Xmtp_Xmtpv4_MessageApi_GetInboxIdsRequest: Sendable { // `Message` and `Message+*Additions` files in the SwiftProtobuf library for // methods supported on all messages. - public var address: String = String() + public var identifier: String = String() + + public var identifierKind: Xmtp_Identity_Associations_IdentifierKind = .unspecified public var unknownFields = SwiftProtobuf.UnknownStorage() @@ -190,7 +192,7 @@ public struct Xmtp_Xmtpv4_MessageApi_GetInboxIdsResponse: Sendable { // `Message` and `Message+*Additions` files in the SwiftProtobuf library for // methods supported on all messages. - public var address: String = String() + public var identifier: String = String() public var inboxID: String { get {return _inboxID ?? String()} @@ -201,6 +203,8 @@ public struct Xmtp_Xmtpv4_MessageApi_GetInboxIdsResponse: Sendable { /// Clears the value of `inboxID`. Subsequent reads from it will return its default value. public mutating func clearInboxID() {self._inboxID = nil} + public var identifierKind: Xmtp_Identity_Associations_IdentifierKind = .unspecified + public var unknownFields = SwiftProtobuf.UnknownStorage() public init() {} @@ -211,17 +215,61 @@ public struct Xmtp_Xmtpv4_MessageApi_GetInboxIdsResponse: Sendable { public init() {} } +/// Request to get the newest envelope for a given topic +public struct Xmtp_Xmtpv4_MessageApi_GetNewestEnvelopeRequest: Sendable { + // SwiftProtobuf.Message conformance is added in an extension below. See the + // `Message` and `Message+*Additions` files in the SwiftProtobuf library for + // methods supported on all messages. + + public var topics: [Data] = [] + + public var unknownFields = SwiftProtobuf.UnknownStorage() + + public init() {} +} + +/// Response to GetNewestEnvelopeRequest +public struct Xmtp_Xmtpv4_MessageApi_GetNewestEnvelopeResponse: Sendable { + // SwiftProtobuf.Message conformance is added in an extension below. See the + // `Message` and `Message+*Additions` files in the SwiftProtobuf library for + // methods supported on all messages. + + /// The newest envelope for the given topic OR null if there are no envelopes on the topic + public var results: [Xmtp_Xmtpv4_MessageApi_GetNewestEnvelopeResponse.Response] = [] + + public var unknownFields = SwiftProtobuf.UnknownStorage() + + public struct Response: Sendable { + // SwiftProtobuf.Message conformance is added in an extension below. See the + // `Message` and `Message+*Additions` files in the SwiftProtobuf library for + // methods supported on all messages. + + public var originatorEnvelope: Xmtp_Xmtpv4_Envelopes_OriginatorEnvelope { + get {return _originatorEnvelope ?? Xmtp_Xmtpv4_Envelopes_OriginatorEnvelope()} + set {_originatorEnvelope = newValue} + } + /// Returns true if `originatorEnvelope` has been explicitly set. + public var hasOriginatorEnvelope: Bool {return self._originatorEnvelope != nil} + /// Clears the value of `originatorEnvelope`. Subsequent reads from it will return its default value. + public mutating func clearOriginatorEnvelope() {self._originatorEnvelope = nil} + + public var unknownFields = SwiftProtobuf.UnknownStorage() + + public init() {} + + fileprivate var _originatorEnvelope: Xmtp_Xmtpv4_Envelopes_OriginatorEnvelope? = nil + } + + public init() {} +} + // MARK: - Code below here is support for the SwiftProtobuf runtime. fileprivate let _protobuf_package = "xmtp.xmtpv4.message_api" extension Xmtp_Xmtpv4_MessageApi_EnvelopesQuery: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementationBase, SwiftProtobuf._ProtoNameProviding { public static let protoMessageName: String = _protobuf_package + ".EnvelopesQuery" - public static let _protobuf_nameMap: SwiftProtobuf._NameMap = [ - 1: .same(proto: "topics"), - 2: .standard(proto: "originator_node_ids"), - 3: .standard(proto: "last_seen"), - ] + public static let _protobuf_nameMap = SwiftProtobuf._NameMap(bytecode: "\0\u{1}topics\0\u{3}originator_node_ids\0\u{3}last_seen\0") public mutating func decodeMessage(decoder: inout D) throws { while let fieldNumber = try decoder.nextFieldNumber() { @@ -265,9 +313,7 @@ extension Xmtp_Xmtpv4_MessageApi_EnvelopesQuery: SwiftProtobuf.Message, SwiftPro extension Xmtp_Xmtpv4_MessageApi_SubscribeEnvelopesRequest: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementationBase, SwiftProtobuf._ProtoNameProviding { public static let protoMessageName: String = _protobuf_package + ".SubscribeEnvelopesRequest" - public static let _protobuf_nameMap: SwiftProtobuf._NameMap = [ - 1: .same(proto: "query"), - ] + public static let _protobuf_nameMap = SwiftProtobuf._NameMap(bytecode: "\0\u{1}query\0") public mutating func decodeMessage(decoder: inout D) throws { while let fieldNumber = try decoder.nextFieldNumber() { @@ -301,9 +347,7 @@ extension Xmtp_Xmtpv4_MessageApi_SubscribeEnvelopesRequest: SwiftProtobuf.Messag extension Xmtp_Xmtpv4_MessageApi_SubscribeEnvelopesResponse: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementationBase, SwiftProtobuf._ProtoNameProviding { public static let protoMessageName: String = _protobuf_package + ".SubscribeEnvelopesResponse" - public static let _protobuf_nameMap: SwiftProtobuf._NameMap = [ - 1: .same(proto: "envelopes"), - ] + public static let _protobuf_nameMap = SwiftProtobuf._NameMap(bytecode: "\0\u{1}envelopes\0") public mutating func decodeMessage(decoder: inout D) throws { while let fieldNumber = try decoder.nextFieldNumber() { @@ -333,10 +377,7 @@ extension Xmtp_Xmtpv4_MessageApi_SubscribeEnvelopesResponse: SwiftProtobuf.Messa extension Xmtp_Xmtpv4_MessageApi_QueryEnvelopesRequest: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementationBase, SwiftProtobuf._ProtoNameProviding { public static let protoMessageName: String = _protobuf_package + ".QueryEnvelopesRequest" - public static let _protobuf_nameMap: SwiftProtobuf._NameMap = [ - 1: .same(proto: "query"), - 2: .same(proto: "limit"), - ] + public static let _protobuf_nameMap = SwiftProtobuf._NameMap(bytecode: "\0\u{1}query\0\u{1}limit\0") public mutating func decodeMessage(decoder: inout D) throws { while let fieldNumber = try decoder.nextFieldNumber() { @@ -375,9 +416,7 @@ extension Xmtp_Xmtpv4_MessageApi_QueryEnvelopesRequest: SwiftProtobuf.Message, S extension Xmtp_Xmtpv4_MessageApi_QueryEnvelopesResponse: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementationBase, SwiftProtobuf._ProtoNameProviding { public static let protoMessageName: String = _protobuf_package + ".QueryEnvelopesResponse" - public static let _protobuf_nameMap: SwiftProtobuf._NameMap = [ - 1: .same(proto: "envelopes"), - ] + public static let _protobuf_nameMap = SwiftProtobuf._NameMap(bytecode: "\0\u{1}envelopes\0") public mutating func decodeMessage(decoder: inout D) throws { while let fieldNumber = try decoder.nextFieldNumber() { @@ -407,9 +446,7 @@ extension Xmtp_Xmtpv4_MessageApi_QueryEnvelopesResponse: SwiftProtobuf.Message, extension Xmtp_Xmtpv4_MessageApi_PublishPayerEnvelopesRequest: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementationBase, SwiftProtobuf._ProtoNameProviding { public static let protoMessageName: String = _protobuf_package + ".PublishPayerEnvelopesRequest" - public static let _protobuf_nameMap: SwiftProtobuf._NameMap = [ - 1: .standard(proto: "payer_envelopes"), - ] + public static let _protobuf_nameMap = SwiftProtobuf._NameMap(bytecode: "\0\u{3}payer_envelopes\0") public mutating func decodeMessage(decoder: inout D) throws { while let fieldNumber = try decoder.nextFieldNumber() { @@ -439,9 +476,7 @@ extension Xmtp_Xmtpv4_MessageApi_PublishPayerEnvelopesRequest: SwiftProtobuf.Mes extension Xmtp_Xmtpv4_MessageApi_PublishPayerEnvelopesResponse: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementationBase, SwiftProtobuf._ProtoNameProviding { public static let protoMessageName: String = _protobuf_package + ".PublishPayerEnvelopesResponse" - public static let _protobuf_nameMap: SwiftProtobuf._NameMap = [ - 1: .standard(proto: "originator_envelopes"), - ] + public static let _protobuf_nameMap = SwiftProtobuf._NameMap(bytecode: "\0\u{3}originator_envelopes\0") public mutating func decodeMessage(decoder: inout D) throws { while let fieldNumber = try decoder.nextFieldNumber() { @@ -471,9 +506,7 @@ extension Xmtp_Xmtpv4_MessageApi_PublishPayerEnvelopesResponse: SwiftProtobuf.Me extension Xmtp_Xmtpv4_MessageApi_GetInboxIdsRequest: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementationBase, SwiftProtobuf._ProtoNameProviding { public static let protoMessageName: String = _protobuf_package + ".GetInboxIdsRequest" - public static let _protobuf_nameMap: SwiftProtobuf._NameMap = [ - 1: .same(proto: "requests"), - ] + public static let _protobuf_nameMap = SwiftProtobuf._NameMap(bytecode: "\0\u{1}requests\0") public mutating func decodeMessage(decoder: inout D) throws { while let fieldNumber = try decoder.nextFieldNumber() { @@ -503,9 +536,7 @@ extension Xmtp_Xmtpv4_MessageApi_GetInboxIdsRequest: SwiftProtobuf.Message, Swif extension Xmtp_Xmtpv4_MessageApi_GetInboxIdsRequest.Request: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementationBase, SwiftProtobuf._ProtoNameProviding { public static let protoMessageName: String = Xmtp_Xmtpv4_MessageApi_GetInboxIdsRequest.protoMessageName + ".Request" - public static let _protobuf_nameMap: SwiftProtobuf._NameMap = [ - 1: .same(proto: "address"), - ] + public static let _protobuf_nameMap = SwiftProtobuf._NameMap(bytecode: "\0\u{1}identifier\0\u{3}identifier_kind\0") public mutating func decodeMessage(decoder: inout D) throws { while let fieldNumber = try decoder.nextFieldNumber() { @@ -513,21 +544,26 @@ extension Xmtp_Xmtpv4_MessageApi_GetInboxIdsRequest.Request: SwiftProtobuf.Messa // allocates stack space for every case branch when no optimizations are // enabled. https://github.com/apple/swift-protobuf/issues/1034 switch fieldNumber { - case 1: try { try decoder.decodeSingularStringField(value: &self.address) }() + case 1: try { try decoder.decodeSingularStringField(value: &self.identifier) }() + case 2: try { try decoder.decodeSingularEnumField(value: &self.identifierKind) }() default: break } } } public func traverse(visitor: inout V) throws { - if !self.address.isEmpty { - try visitor.visitSingularStringField(value: self.address, fieldNumber: 1) + if !self.identifier.isEmpty { + try visitor.visitSingularStringField(value: self.identifier, fieldNumber: 1) + } + if self.identifierKind != .unspecified { + try visitor.visitSingularEnumField(value: self.identifierKind, fieldNumber: 2) } try unknownFields.traverse(visitor: &visitor) } public static func ==(lhs: Xmtp_Xmtpv4_MessageApi_GetInboxIdsRequest.Request, rhs: Xmtp_Xmtpv4_MessageApi_GetInboxIdsRequest.Request) -> Bool { - if lhs.address != rhs.address {return false} + if lhs.identifier != rhs.identifier {return false} + if lhs.identifierKind != rhs.identifierKind {return false} if lhs.unknownFields != rhs.unknownFields {return false} return true } @@ -535,9 +571,7 @@ extension Xmtp_Xmtpv4_MessageApi_GetInboxIdsRequest.Request: SwiftProtobuf.Messa extension Xmtp_Xmtpv4_MessageApi_GetInboxIdsResponse: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementationBase, SwiftProtobuf._ProtoNameProviding { public static let protoMessageName: String = _protobuf_package + ".GetInboxIdsResponse" - public static let _protobuf_nameMap: SwiftProtobuf._NameMap = [ - 1: .same(proto: "responses"), - ] + public static let _protobuf_nameMap = SwiftProtobuf._NameMap(bytecode: "\0\u{1}responses\0") public mutating func decodeMessage(decoder: inout D) throws { while let fieldNumber = try decoder.nextFieldNumber() { @@ -567,10 +601,7 @@ extension Xmtp_Xmtpv4_MessageApi_GetInboxIdsResponse: SwiftProtobuf.Message, Swi extension Xmtp_Xmtpv4_MessageApi_GetInboxIdsResponse.Response: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementationBase, SwiftProtobuf._ProtoNameProviding { public static let protoMessageName: String = Xmtp_Xmtpv4_MessageApi_GetInboxIdsResponse.protoMessageName + ".Response" - public static let _protobuf_nameMap: SwiftProtobuf._NameMap = [ - 1: .same(proto: "address"), - 2: .standard(proto: "inbox_id"), - ] + public static let _protobuf_nameMap = SwiftProtobuf._NameMap(bytecode: "\0\u{1}identifier\0\u{3}inbox_id\0\u{3}identifier_kind\0") public mutating func decodeMessage(decoder: inout D) throws { while let fieldNumber = try decoder.nextFieldNumber() { @@ -578,8 +609,9 @@ extension Xmtp_Xmtpv4_MessageApi_GetInboxIdsResponse.Response: SwiftProtobuf.Mes // allocates stack space for every case branch when no optimizations are // enabled. https://github.com/apple/swift-protobuf/issues/1034 switch fieldNumber { - case 1: try { try decoder.decodeSingularStringField(value: &self.address) }() + case 1: try { try decoder.decodeSingularStringField(value: &self.identifier) }() case 2: try { try decoder.decodeSingularStringField(value: &self._inboxID) }() + case 3: try { try decoder.decodeSingularEnumField(value: &self.identifierKind) }() default: break } } @@ -590,18 +622,116 @@ extension Xmtp_Xmtpv4_MessageApi_GetInboxIdsResponse.Response: SwiftProtobuf.Mes // allocates stack space for every if/case branch local when no optimizations // are enabled. https://github.com/apple/swift-protobuf/issues/1034 and // https://github.com/apple/swift-protobuf/issues/1182 - if !self.address.isEmpty { - try visitor.visitSingularStringField(value: self.address, fieldNumber: 1) + if !self.identifier.isEmpty { + try visitor.visitSingularStringField(value: self.identifier, fieldNumber: 1) } try { if let v = self._inboxID { try visitor.visitSingularStringField(value: v, fieldNumber: 2) } }() + if self.identifierKind != .unspecified { + try visitor.visitSingularEnumField(value: self.identifierKind, fieldNumber: 3) + } try unknownFields.traverse(visitor: &visitor) } public static func ==(lhs: Xmtp_Xmtpv4_MessageApi_GetInboxIdsResponse.Response, rhs: Xmtp_Xmtpv4_MessageApi_GetInboxIdsResponse.Response) -> Bool { - if lhs.address != rhs.address {return false} + if lhs.identifier != rhs.identifier {return false} if lhs._inboxID != rhs._inboxID {return false} + if lhs.identifierKind != rhs.identifierKind {return false} + if lhs.unknownFields != rhs.unknownFields {return false} + return true + } +} + +extension Xmtp_Xmtpv4_MessageApi_GetNewestEnvelopeRequest: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementationBase, SwiftProtobuf._ProtoNameProviding { + public static let protoMessageName: String = _protobuf_package + ".GetNewestEnvelopeRequest" + public static let _protobuf_nameMap = SwiftProtobuf._NameMap(bytecode: "\0\u{1}topics\0") + + public mutating func decodeMessage(decoder: inout D) throws { + while let fieldNumber = try decoder.nextFieldNumber() { + // The use of inline closures is to circumvent an issue where the compiler + // allocates stack space for every case branch when no optimizations are + // enabled. https://github.com/apple/swift-protobuf/issues/1034 + switch fieldNumber { + case 1: try { try decoder.decodeRepeatedBytesField(value: &self.topics) }() + default: break + } + } + } + + public func traverse(visitor: inout V) throws { + if !self.topics.isEmpty { + try visitor.visitRepeatedBytesField(value: self.topics, fieldNumber: 1) + } + try unknownFields.traverse(visitor: &visitor) + } + + public static func ==(lhs: Xmtp_Xmtpv4_MessageApi_GetNewestEnvelopeRequest, rhs: Xmtp_Xmtpv4_MessageApi_GetNewestEnvelopeRequest) -> Bool { + if lhs.topics != rhs.topics {return false} + if lhs.unknownFields != rhs.unknownFields {return false} + return true + } +} + +extension Xmtp_Xmtpv4_MessageApi_GetNewestEnvelopeResponse: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementationBase, SwiftProtobuf._ProtoNameProviding { + public static let protoMessageName: String = _protobuf_package + ".GetNewestEnvelopeResponse" + public static let _protobuf_nameMap = SwiftProtobuf._NameMap(bytecode: "\0\u{1}results\0") + + public mutating func decodeMessage(decoder: inout D) throws { + while let fieldNumber = try decoder.nextFieldNumber() { + // The use of inline closures is to circumvent an issue where the compiler + // allocates stack space for every case branch when no optimizations are + // enabled. https://github.com/apple/swift-protobuf/issues/1034 + switch fieldNumber { + case 1: try { try decoder.decodeRepeatedMessageField(value: &self.results) }() + default: break + } + } + } + + public func traverse(visitor: inout V) throws { + if !self.results.isEmpty { + try visitor.visitRepeatedMessageField(value: self.results, fieldNumber: 1) + } + try unknownFields.traverse(visitor: &visitor) + } + + public static func ==(lhs: Xmtp_Xmtpv4_MessageApi_GetNewestEnvelopeResponse, rhs: Xmtp_Xmtpv4_MessageApi_GetNewestEnvelopeResponse) -> Bool { + if lhs.results != rhs.results {return false} + if lhs.unknownFields != rhs.unknownFields {return false} + return true + } +} + +extension Xmtp_Xmtpv4_MessageApi_GetNewestEnvelopeResponse.Response: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementationBase, SwiftProtobuf._ProtoNameProviding { + public static let protoMessageName: String = Xmtp_Xmtpv4_MessageApi_GetNewestEnvelopeResponse.protoMessageName + ".Response" + public static let _protobuf_nameMap = SwiftProtobuf._NameMap(bytecode: "\0\u{3}originator_envelope\0") + + public mutating func decodeMessage(decoder: inout D) throws { + while let fieldNumber = try decoder.nextFieldNumber() { + // The use of inline closures is to circumvent an issue where the compiler + // allocates stack space for every case branch when no optimizations are + // enabled. https://github.com/apple/swift-protobuf/issues/1034 + switch fieldNumber { + case 1: try { try decoder.decodeSingularMessageField(value: &self._originatorEnvelope) }() + default: break + } + } + } + + public func traverse(visitor: inout V) throws { + // The use of inline closures is to circumvent an issue where the compiler + // allocates stack space for every if/case branch local when no optimizations + // are enabled. https://github.com/apple/swift-protobuf/issues/1034 and + // https://github.com/apple/swift-protobuf/issues/1182 + try { if let v = self._originatorEnvelope { + try visitor.visitSingularMessageField(value: v, fieldNumber: 1) + } }() + try unknownFields.traverse(visitor: &visitor) + } + + public static func ==(lhs: Xmtp_Xmtpv4_MessageApi_GetNewestEnvelopeResponse.Response, rhs: Xmtp_Xmtpv4_MessageApi_GetNewestEnvelopeResponse.Response) -> Bool { + if lhs._originatorEnvelope != rhs._originatorEnvelope {return false} if lhs.unknownFields != rhs.unknownFields {return false} return true } diff --git a/swift/xmtpv4/message_api/misbehavior_api.connect.swift b/swift/xmtpv4/message_api/misbehavior_api.connect.swift index eeb2f51..15db4e9 100644 --- a/swift/xmtpv4/message_api/misbehavior_api.connect.swift +++ b/swift/xmtpv4/message_api/misbehavior_api.connect.swift @@ -1,4 +1,6 @@ // Code generated by protoc-gen-connect-swift. DO NOT EDIT. +// swift-format-ignore-file +// swiftlint:disable all // // Source: xmtpv4/message_api/misbehavior_api.proto // diff --git a/swift/xmtpv4/message_api/misbehavior_api.pb.swift b/swift/xmtpv4/message_api/misbehavior_api.pb.swift index 2bd953b..a83f34f 100644 --- a/swift/xmtpv4/message_api/misbehavior_api.pb.swift +++ b/swift/xmtpv4/message_api/misbehavior_api.pb.swift @@ -185,7 +185,7 @@ public struct Xmtp_Xmtpv4_MessageApi_UnsignedMisbehaviorReport: Sendable { public init() {} } -public struct Xmtp_Xmtpv4_MessageApi_MisbehaviorReport: @unchecked Sendable { +public struct Xmtp_Xmtpv4_MessageApi_MisbehaviorReport: Sendable { // SwiftProtobuf.Message conformance is added in an extension below. See the // `Message` and `Message+*Additions` files in the SwiftProtobuf library for // methods supported on all messages. @@ -273,27 +273,12 @@ public struct Xmtp_Xmtpv4_MessageApi_QueryMisbehaviorReportsResponse: Sendable { fileprivate let _protobuf_package = "xmtp.xmtpv4.message_api" extension Xmtp_Xmtpv4_MessageApi_Misbehavior: SwiftProtobuf._ProtoNameProviding { - public static let _protobuf_nameMap: SwiftProtobuf._NameMap = [ - 0: .same(proto: "MISBEHAVIOR_UNSPECIFIED"), - 1: .same(proto: "MISBEHAVIOR_UNRESPONSIVE_NODE"), - 2: .same(proto: "MISBEHAVIOR_SLOW_NODE"), - 3: .same(proto: "MISBEHAVIOR_FAILED_REQUEST"), - 4: .same(proto: "MISBEHAVIOR_OUT_OF_ORDER"), - 5: .same(proto: "MISBEHAVIOR_DUPLICATE_SEQUENCE_ID"), - 6: .same(proto: "MISBEHAVIOR_CAUSAL_ORDERING"), - 7: .same(proto: "MISBEHAVIOR_INVALID_PAYLOAD"), - 8: .same(proto: "MISBEHAVIOR_BLOCKCHAIN_INCONSISTENCY"), - ] + public static let _protobuf_nameMap = SwiftProtobuf._NameMap(bytecode: "\0\u{2}\0MISBEHAVIOR_UNSPECIFIED\0\u{1}MISBEHAVIOR_UNRESPONSIVE_NODE\0\u{1}MISBEHAVIOR_SLOW_NODE\0\u{1}MISBEHAVIOR_FAILED_REQUEST\0\u{1}MISBEHAVIOR_OUT_OF_ORDER\0\u{1}MISBEHAVIOR_DUPLICATE_SEQUENCE_ID\0\u{1}MISBEHAVIOR_CAUSAL_ORDERING\0\u{1}MISBEHAVIOR_INVALID_PAYLOAD\0\u{1}MISBEHAVIOR_BLOCKCHAIN_INCONSISTENCY\0") } extension Xmtp_Xmtpv4_MessageApi_LivenessFailure: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementationBase, SwiftProtobuf._ProtoNameProviding { public static let protoMessageName: String = _protobuf_package + ".LivenessFailure" - public static let _protobuf_nameMap: SwiftProtobuf._NameMap = [ - 1: .standard(proto: "response_time_ns"), - 2: .same(proto: "subscribe"), - 3: .same(proto: "query"), - 4: .same(proto: "publish"), - ] + public static let _protobuf_nameMap = SwiftProtobuf._NameMap(bytecode: "\0\u{3}response_time_ns\0\u{1}subscribe\0\u{1}query\0\u{1}publish\0") public mutating func decodeMessage(decoder: inout D) throws { while let fieldNumber = try decoder.nextFieldNumber() { @@ -382,9 +367,7 @@ extension Xmtp_Xmtpv4_MessageApi_LivenessFailure: SwiftProtobuf.Message, SwiftPr extension Xmtp_Xmtpv4_MessageApi_SafetyFailure: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementationBase, SwiftProtobuf._ProtoNameProviding { public static let protoMessageName: String = _protobuf_package + ".SafetyFailure" - public static let _protobuf_nameMap: SwiftProtobuf._NameMap = [ - 1: .same(proto: "envelopes"), - ] + public static let _protobuf_nameMap = SwiftProtobuf._NameMap(bytecode: "\0\u{1}envelopes\0") public mutating func decodeMessage(decoder: inout D) throws { while let fieldNumber = try decoder.nextFieldNumber() { @@ -414,14 +397,7 @@ extension Xmtp_Xmtpv4_MessageApi_SafetyFailure: SwiftProtobuf.Message, SwiftProt extension Xmtp_Xmtpv4_MessageApi_UnsignedMisbehaviorReport: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementationBase, SwiftProtobuf._ProtoNameProviding { public static let protoMessageName: String = _protobuf_package + ".UnsignedMisbehaviorReport" - public static let _protobuf_nameMap: SwiftProtobuf._NameMap = [ - 1: .standard(proto: "reporter_time_ns"), - 2: .standard(proto: "misbehaving_node_id"), - 3: .same(proto: "type"), - 4: .same(proto: "liveness"), - 5: .same(proto: "safety"), - 6: .standard(proto: "submitted_by_node"), - ] + public static let _protobuf_nameMap = SwiftProtobuf._NameMap(bytecode: "\0\u{3}reporter_time_ns\0\u{3}misbehaving_node_id\0\u{1}type\0\u{1}liveness\0\u{1}safety\0\u{3}submitted_by_node\0") public mutating func decodeMessage(decoder: inout D) throws { while let fieldNumber = try decoder.nextFieldNumber() { @@ -508,11 +484,7 @@ extension Xmtp_Xmtpv4_MessageApi_UnsignedMisbehaviorReport: SwiftProtobuf.Messag extension Xmtp_Xmtpv4_MessageApi_MisbehaviorReport: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementationBase, SwiftProtobuf._ProtoNameProviding { public static let protoMessageName: String = _protobuf_package + ".MisbehaviorReport" - public static let _protobuf_nameMap: SwiftProtobuf._NameMap = [ - 1: .standard(proto: "server_time_ns"), - 2: .standard(proto: "unsigned_misbehavior_report"), - 3: .same(proto: "signature"), - ] + public static let _protobuf_nameMap = SwiftProtobuf._NameMap(bytecode: "\0\u{3}server_time_ns\0\u{3}unsigned_misbehavior_report\0\u{1}signature\0") public mutating func decodeMessage(decoder: inout D) throws { while let fieldNumber = try decoder.nextFieldNumber() { @@ -556,9 +528,7 @@ extension Xmtp_Xmtpv4_MessageApi_MisbehaviorReport: SwiftProtobuf.Message, Swift extension Xmtp_Xmtpv4_MessageApi_SubmitMisbehaviorReportRequest: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementationBase, SwiftProtobuf._ProtoNameProviding { public static let protoMessageName: String = _protobuf_package + ".SubmitMisbehaviorReportRequest" - public static let _protobuf_nameMap: SwiftProtobuf._NameMap = [ - 1: .same(proto: "report"), - ] + public static let _protobuf_nameMap = SwiftProtobuf._NameMap(bytecode: "\0\u{1}report\0") public mutating func decodeMessage(decoder: inout D) throws { while let fieldNumber = try decoder.nextFieldNumber() { @@ -611,9 +581,7 @@ extension Xmtp_Xmtpv4_MessageApi_SubmitMisbehaviorReportResponse: SwiftProtobuf. extension Xmtp_Xmtpv4_MessageApi_QueryMisbehaviorReportsRequest: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementationBase, SwiftProtobuf._ProtoNameProviding { public static let protoMessageName: String = _protobuf_package + ".QueryMisbehaviorReportsRequest" - public static let _protobuf_nameMap: SwiftProtobuf._NameMap = [ - 1: .standard(proto: "after_ns"), - ] + public static let _protobuf_nameMap = SwiftProtobuf._NameMap(bytecode: "\0\u{3}after_ns\0") public mutating func decodeMessage(decoder: inout D) throws { while let fieldNumber = try decoder.nextFieldNumber() { @@ -643,9 +611,7 @@ extension Xmtp_Xmtpv4_MessageApi_QueryMisbehaviorReportsRequest: SwiftProtobuf.M extension Xmtp_Xmtpv4_MessageApi_QueryMisbehaviorReportsResponse: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementationBase, SwiftProtobuf._ProtoNameProviding { public static let protoMessageName: String = _protobuf_package + ".QueryMisbehaviorReportsResponse" - public static let _protobuf_nameMap: SwiftProtobuf._NameMap = [ - 1: .same(proto: "reports"), - ] + public static let _protobuf_nameMap = SwiftProtobuf._NameMap(bytecode: "\0\u{1}reports\0") public mutating func decodeMessage(decoder: inout D) throws { while let fieldNumber = try decoder.nextFieldNumber() { diff --git a/swift/xmtpv4/metadata_api/metadata_api.connect.swift b/swift/xmtpv4/metadata_api/metadata_api.connect.swift new file mode 100644 index 0000000..e73626b --- /dev/null +++ b/swift/xmtpv4/metadata_api/metadata_api.connect.swift @@ -0,0 +1,94 @@ +// Code generated by protoc-gen-connect-swift. DO NOT EDIT. +// swift-format-ignore-file +// swiftlint:disable all +// +// Source: xmtpv4/metadata_api/metadata_api.proto +// + +import Connect +import Foundation +import SwiftProtobuf + +/// Metadata for distributed tracing, debugging and synchronization +public protocol Xmtp_Xmtpv4_MetadataApi_MetadataApiClientInterface: Sendable { + + @discardableResult + func `getSyncCursor`(request: Xmtp_Xmtpv4_MetadataApi_GetSyncCursorRequest, headers: Connect.Headers, completion: @escaping @Sendable (ResponseMessage) -> Void) -> Connect.Cancelable + + @available(iOS 13, *) + func `getSyncCursor`(request: Xmtp_Xmtpv4_MetadataApi_GetSyncCursorRequest, headers: Connect.Headers) async -> ResponseMessage + + func `subscribeSyncCursor`(headers: Connect.Headers, onResult: @escaping @Sendable (Connect.StreamResult) -> Void) -> any Connect.ServerOnlyStreamInterface + + @available(iOS 13, *) + func `subscribeSyncCursor`(headers: Connect.Headers) -> any Connect.ServerOnlyAsyncStreamInterface + + @discardableResult + func `getVersion`(request: Xmtp_Xmtpv4_MetadataApi_GetVersionRequest, headers: Connect.Headers, completion: @escaping @Sendable (ResponseMessage) -> Void) -> Connect.Cancelable + + @available(iOS 13, *) + func `getVersion`(request: Xmtp_Xmtpv4_MetadataApi_GetVersionRequest, headers: Connect.Headers) async -> ResponseMessage + + @discardableResult + func `getPayerInfo`(request: Xmtp_Xmtpv4_MetadataApi_GetPayerInfoRequest, headers: Connect.Headers, completion: @escaping @Sendable (ResponseMessage) -> Void) -> Connect.Cancelable + + @available(iOS 13, *) + func `getPayerInfo`(request: Xmtp_Xmtpv4_MetadataApi_GetPayerInfoRequest, headers: Connect.Headers) async -> ResponseMessage +} + +/// Concrete implementation of `Xmtp_Xmtpv4_MetadataApi_MetadataApiClientInterface`. +public final class Xmtp_Xmtpv4_MetadataApi_MetadataApiClient: Xmtp_Xmtpv4_MetadataApi_MetadataApiClientInterface, Sendable { + private let client: Connect.ProtocolClientInterface + + public init(client: Connect.ProtocolClientInterface) { + self.client = client + } + + @discardableResult + public func `getSyncCursor`(request: Xmtp_Xmtpv4_MetadataApi_GetSyncCursorRequest, headers: Connect.Headers = [:], completion: @escaping @Sendable (ResponseMessage) -> Void) -> Connect.Cancelable { + return self.client.unary(path: "/xmtp.xmtpv4.metadata_api.MetadataApi/GetSyncCursor", idempotencyLevel: .unknown, request: request, headers: headers, completion: completion) + } + + @available(iOS 13, *) + public func `getSyncCursor`(request: Xmtp_Xmtpv4_MetadataApi_GetSyncCursorRequest, headers: Connect.Headers = [:]) async -> ResponseMessage { + return await self.client.unary(path: "/xmtp.xmtpv4.metadata_api.MetadataApi/GetSyncCursor", idempotencyLevel: .unknown, request: request, headers: headers) + } + + public func `subscribeSyncCursor`(headers: Connect.Headers = [:], onResult: @escaping @Sendable (Connect.StreamResult) -> Void) -> any Connect.ServerOnlyStreamInterface { + return self.client.serverOnlyStream(path: "/xmtp.xmtpv4.metadata_api.MetadataApi/SubscribeSyncCursor", headers: headers, onResult: onResult) + } + + @available(iOS 13, *) + public func `subscribeSyncCursor`(headers: Connect.Headers = [:]) -> any Connect.ServerOnlyAsyncStreamInterface { + return self.client.serverOnlyStream(path: "/xmtp.xmtpv4.metadata_api.MetadataApi/SubscribeSyncCursor", headers: headers) + } + + @discardableResult + public func `getVersion`(request: Xmtp_Xmtpv4_MetadataApi_GetVersionRequest, headers: Connect.Headers = [:], completion: @escaping @Sendable (ResponseMessage) -> Void) -> Connect.Cancelable { + return self.client.unary(path: "/xmtp.xmtpv4.metadata_api.MetadataApi/GetVersion", idempotencyLevel: .unknown, request: request, headers: headers, completion: completion) + } + + @available(iOS 13, *) + public func `getVersion`(request: Xmtp_Xmtpv4_MetadataApi_GetVersionRequest, headers: Connect.Headers = [:]) async -> ResponseMessage { + return await self.client.unary(path: "/xmtp.xmtpv4.metadata_api.MetadataApi/GetVersion", idempotencyLevel: .unknown, request: request, headers: headers) + } + + @discardableResult + public func `getPayerInfo`(request: Xmtp_Xmtpv4_MetadataApi_GetPayerInfoRequest, headers: Connect.Headers = [:], completion: @escaping @Sendable (ResponseMessage) -> Void) -> Connect.Cancelable { + return self.client.unary(path: "/xmtp.xmtpv4.metadata_api.MetadataApi/GetPayerInfo", idempotencyLevel: .unknown, request: request, headers: headers, completion: completion) + } + + @available(iOS 13, *) + public func `getPayerInfo`(request: Xmtp_Xmtpv4_MetadataApi_GetPayerInfoRequest, headers: Connect.Headers = [:]) async -> ResponseMessage { + return await self.client.unary(path: "/xmtp.xmtpv4.metadata_api.MetadataApi/GetPayerInfo", idempotencyLevel: .unknown, request: request, headers: headers) + } + + public enum Metadata { + public enum Methods { + public static let getSyncCursor = Connect.MethodSpec(name: "GetSyncCursor", service: "xmtp.xmtpv4.metadata_api.MetadataApi", type: .unary) + public static let subscribeSyncCursor = Connect.MethodSpec(name: "SubscribeSyncCursor", service: "xmtp.xmtpv4.metadata_api.MetadataApi", type: .serverStream) + public static let getVersion = Connect.MethodSpec(name: "GetVersion", service: "xmtp.xmtpv4.metadata_api.MetadataApi", type: .unary) + public static let getPayerInfo = Connect.MethodSpec(name: "GetPayerInfo", service: "xmtp.xmtpv4.metadata_api.MetadataApi", type: .unary) + } + } +} diff --git a/swift/xmtpv4/metadata_api/metadata_api.pb.swift b/swift/xmtpv4/metadata_api/metadata_api.pb.swift new file mode 100644 index 0000000..494a6a0 --- /dev/null +++ b/swift/xmtpv4/metadata_api/metadata_api.pb.swift @@ -0,0 +1,417 @@ +// DO NOT EDIT. +// swift-format-ignore-file +// swiftlint:disable all +// +// Generated by the Swift generator plugin for the protocol buffer compiler. +// Source: xmtpv4/metadata_api/metadata_api.proto +// +// For information on using the generated types, please see the documentation: +// https://github.com/apple/swift-protobuf/ + +/// Metadata API + +import SwiftProtobuf + +// If the compiler emits an error on this type, it is because this file +// was generated by a version of the `protoc` Swift plug-in that is +// incompatible with the version of SwiftProtobuf to which you are linking. +// Please ensure that you are building against the same version of the API +// that was used to generate this file. +fileprivate struct _GeneratedWithProtocGenSwiftVersion: SwiftProtobuf.ProtobufAPIVersionCheck { + struct _2: SwiftProtobuf.ProtobufAPIVersion_2 {} + typealias Version = _2 +} + +/// Whether to group spend by hour or day +public enum Xmtp_Xmtpv4_MetadataApi_PayerInfoGranularity: SwiftProtobuf.Enum, Swift.CaseIterable { + public typealias RawValue = Int + case unspecified // = 0 + case hour // = 1 + case day // = 2 + case UNRECOGNIZED(Int) + + public init() { + self = .unspecified + } + + public init?(rawValue: Int) { + switch rawValue { + case 0: self = .unspecified + case 1: self = .hour + case 2: self = .day + default: self = .UNRECOGNIZED(rawValue) + } + } + + public var rawValue: Int { + switch self { + case .unspecified: return 0 + case .hour: return 1 + case .day: return 2 + case .UNRECOGNIZED(let i): return i + } + } + + // The compiler won't synthesize support with the UNRECOGNIZED case. + public static let allCases: [Xmtp_Xmtpv4_MetadataApi_PayerInfoGranularity] = [ + .unspecified, + .hour, + .day, + ] + +} + +public struct Xmtp_Xmtpv4_MetadataApi_GetSyncCursorRequest: Sendable { + // SwiftProtobuf.Message conformance is added in an extension below. See the + // `Message` and `Message+*Additions` files in the SwiftProtobuf library for + // methods supported on all messages. + + public var unknownFields = SwiftProtobuf.UnknownStorage() + + public init() {} +} + +public struct Xmtp_Xmtpv4_MetadataApi_GetSyncCursorResponse: Sendable { + // SwiftProtobuf.Message conformance is added in an extension below. See the + // `Message` and `Message+*Additions` files in the SwiftProtobuf library for + // methods supported on all messages. + + public var latestSync: Xmtp_Xmtpv4_Envelopes_Cursor { + get {return _latestSync ?? Xmtp_Xmtpv4_Envelopes_Cursor()} + set {_latestSync = newValue} + } + /// Returns true if `latestSync` has been explicitly set. + public var hasLatestSync: Bool {return self._latestSync != nil} + /// Clears the value of `latestSync`. Subsequent reads from it will return its default value. + public mutating func clearLatestSync() {self._latestSync = nil} + + public var unknownFields = SwiftProtobuf.UnknownStorage() + + public init() {} + + fileprivate var _latestSync: Xmtp_Xmtpv4_Envelopes_Cursor? = nil +} + +public struct Xmtp_Xmtpv4_MetadataApi_GetVersionRequest: Sendable { + // SwiftProtobuf.Message conformance is added in an extension below. See the + // `Message` and `Message+*Additions` files in the SwiftProtobuf library for + // methods supported on all messages. + + public var unknownFields = SwiftProtobuf.UnknownStorage() + + public init() {} +} + +public struct Xmtp_Xmtpv4_MetadataApi_GetVersionResponse: Sendable { + // SwiftProtobuf.Message conformance is added in an extension below. See the + // `Message` and `Message+*Additions` files in the SwiftProtobuf library for + // methods supported on all messages. + + public var version: String = String() + + public var unknownFields = SwiftProtobuf.UnknownStorage() + + public init() {} +} + +/// Get information about payer spend and message counts for a given time period +public struct Xmtp_Xmtpv4_MetadataApi_GetPayerInfoRequest: Sendable { + // SwiftProtobuf.Message conformance is added in an extension below. See the + // `Message` and `Message+*Additions` files in the SwiftProtobuf library for + // methods supported on all messages. + + public var payerAddresses: [String] = [] + + public var granularity: Xmtp_Xmtpv4_MetadataApi_PayerInfoGranularity = .unspecified + + public var unknownFields = SwiftProtobuf.UnknownStorage() + + public init() {} +} + +/// Response to GetPayerInfoRequest +public struct Xmtp_Xmtpv4_MetadataApi_GetPayerInfoResponse: Sendable { + // SwiftProtobuf.Message conformance is added in an extension below. See the + // `Message` and `Message+*Additions` files in the SwiftProtobuf library for + // methods supported on all messages. + + /// Map of payer address + public var payerInfo: Dictionary = [:] + + public var unknownFields = SwiftProtobuf.UnknownStorage() + + public struct PeriodSummary: Sendable { + // SwiftProtobuf.Message conformance is added in an extension below. See the + // `Message` and `Message+*Additions` files in the SwiftProtobuf library for + // methods supported on all messages. + + public var amountSpentPicodollars: UInt64 = 0 + + public var numMessages: UInt64 = 0 + + public var periodStartUnixSeconds: UInt64 = 0 + + public var unknownFields = SwiftProtobuf.UnknownStorage() + + public init() {} + } + + public struct PayerInfo: Sendable { + // SwiftProtobuf.Message conformance is added in an extension below. See the + // `Message` and `Message+*Additions` files in the SwiftProtobuf library for + // methods supported on all messages. + + public var periodSummaries: [Xmtp_Xmtpv4_MetadataApi_GetPayerInfoResponse.PeriodSummary] = [] + + public var unknownFields = SwiftProtobuf.UnknownStorage() + + public init() {} + } + + public init() {} +} + +// MARK: - Code below here is support for the SwiftProtobuf runtime. + +fileprivate let _protobuf_package = "xmtp.xmtpv4.metadata_api" + +extension Xmtp_Xmtpv4_MetadataApi_PayerInfoGranularity: SwiftProtobuf._ProtoNameProviding { + public static let _protobuf_nameMap = SwiftProtobuf._NameMap(bytecode: "\0\u{2}\0PAYER_INFO_GRANULARITY_UNSPECIFIED\0\u{1}PAYER_INFO_GRANULARITY_HOUR\0\u{1}PAYER_INFO_GRANULARITY_DAY\0") +} + +extension Xmtp_Xmtpv4_MetadataApi_GetSyncCursorRequest: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementationBase, SwiftProtobuf._ProtoNameProviding { + public static let protoMessageName: String = _protobuf_package + ".GetSyncCursorRequest" + public static let _protobuf_nameMap = SwiftProtobuf._NameMap() + + public mutating func decodeMessage(decoder: inout D) throws { + // Load everything into unknown fields + while try decoder.nextFieldNumber() != nil {} + } + + public func traverse(visitor: inout V) throws { + try unknownFields.traverse(visitor: &visitor) + } + + public static func ==(lhs: Xmtp_Xmtpv4_MetadataApi_GetSyncCursorRequest, rhs: Xmtp_Xmtpv4_MetadataApi_GetSyncCursorRequest) -> Bool { + if lhs.unknownFields != rhs.unknownFields {return false} + return true + } +} + +extension Xmtp_Xmtpv4_MetadataApi_GetSyncCursorResponse: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementationBase, SwiftProtobuf._ProtoNameProviding { + public static let protoMessageName: String = _protobuf_package + ".GetSyncCursorResponse" + public static let _protobuf_nameMap = SwiftProtobuf._NameMap(bytecode: "\0\u{3}latest_sync\0") + + public mutating func decodeMessage(decoder: inout D) throws { + while let fieldNumber = try decoder.nextFieldNumber() { + // The use of inline closures is to circumvent an issue where the compiler + // allocates stack space for every case branch when no optimizations are + // enabled. https://github.com/apple/swift-protobuf/issues/1034 + switch fieldNumber { + case 1: try { try decoder.decodeSingularMessageField(value: &self._latestSync) }() + default: break + } + } + } + + public func traverse(visitor: inout V) throws { + // The use of inline closures is to circumvent an issue where the compiler + // allocates stack space for every if/case branch local when no optimizations + // are enabled. https://github.com/apple/swift-protobuf/issues/1034 and + // https://github.com/apple/swift-protobuf/issues/1182 + try { if let v = self._latestSync { + try visitor.visitSingularMessageField(value: v, fieldNumber: 1) + } }() + try unknownFields.traverse(visitor: &visitor) + } + + public static func ==(lhs: Xmtp_Xmtpv4_MetadataApi_GetSyncCursorResponse, rhs: Xmtp_Xmtpv4_MetadataApi_GetSyncCursorResponse) -> Bool { + if lhs._latestSync != rhs._latestSync {return false} + if lhs.unknownFields != rhs.unknownFields {return false} + return true + } +} + +extension Xmtp_Xmtpv4_MetadataApi_GetVersionRequest: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementationBase, SwiftProtobuf._ProtoNameProviding { + public static let protoMessageName: String = _protobuf_package + ".GetVersionRequest" + public static let _protobuf_nameMap = SwiftProtobuf._NameMap() + + public mutating func decodeMessage(decoder: inout D) throws { + // Load everything into unknown fields + while try decoder.nextFieldNumber() != nil {} + } + + public func traverse(visitor: inout V) throws { + try unknownFields.traverse(visitor: &visitor) + } + + public static func ==(lhs: Xmtp_Xmtpv4_MetadataApi_GetVersionRequest, rhs: Xmtp_Xmtpv4_MetadataApi_GetVersionRequest) -> Bool { + if lhs.unknownFields != rhs.unknownFields {return false} + return true + } +} + +extension Xmtp_Xmtpv4_MetadataApi_GetVersionResponse: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementationBase, SwiftProtobuf._ProtoNameProviding { + public static let protoMessageName: String = _protobuf_package + ".GetVersionResponse" + public static let _protobuf_nameMap = SwiftProtobuf._NameMap(bytecode: "\0\u{1}version\0") + + public mutating func decodeMessage(decoder: inout D) throws { + while let fieldNumber = try decoder.nextFieldNumber() { + // The use of inline closures is to circumvent an issue where the compiler + // allocates stack space for every case branch when no optimizations are + // enabled. https://github.com/apple/swift-protobuf/issues/1034 + switch fieldNumber { + case 1: try { try decoder.decodeSingularStringField(value: &self.version) }() + default: break + } + } + } + + public func traverse(visitor: inout V) throws { + if !self.version.isEmpty { + try visitor.visitSingularStringField(value: self.version, fieldNumber: 1) + } + try unknownFields.traverse(visitor: &visitor) + } + + public static func ==(lhs: Xmtp_Xmtpv4_MetadataApi_GetVersionResponse, rhs: Xmtp_Xmtpv4_MetadataApi_GetVersionResponse) -> Bool { + if lhs.version != rhs.version {return false} + if lhs.unknownFields != rhs.unknownFields {return false} + return true + } +} + +extension Xmtp_Xmtpv4_MetadataApi_GetPayerInfoRequest: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementationBase, SwiftProtobuf._ProtoNameProviding { + public static let protoMessageName: String = _protobuf_package + ".GetPayerInfoRequest" + public static let _protobuf_nameMap = SwiftProtobuf._NameMap(bytecode: "\0\u{3}payer_addresses\0\u{1}granularity\0") + + public mutating func decodeMessage(decoder: inout D) throws { + while let fieldNumber = try decoder.nextFieldNumber() { + // The use of inline closures is to circumvent an issue where the compiler + // allocates stack space for every case branch when no optimizations are + // enabled. https://github.com/apple/swift-protobuf/issues/1034 + switch fieldNumber { + case 1: try { try decoder.decodeRepeatedStringField(value: &self.payerAddresses) }() + case 2: try { try decoder.decodeSingularEnumField(value: &self.granularity) }() + default: break + } + } + } + + public func traverse(visitor: inout V) throws { + if !self.payerAddresses.isEmpty { + try visitor.visitRepeatedStringField(value: self.payerAddresses, fieldNumber: 1) + } + if self.granularity != .unspecified { + try visitor.visitSingularEnumField(value: self.granularity, fieldNumber: 2) + } + try unknownFields.traverse(visitor: &visitor) + } + + public static func ==(lhs: Xmtp_Xmtpv4_MetadataApi_GetPayerInfoRequest, rhs: Xmtp_Xmtpv4_MetadataApi_GetPayerInfoRequest) -> Bool { + if lhs.payerAddresses != rhs.payerAddresses {return false} + if lhs.granularity != rhs.granularity {return false} + if lhs.unknownFields != rhs.unknownFields {return false} + return true + } +} + +extension Xmtp_Xmtpv4_MetadataApi_GetPayerInfoResponse: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementationBase, SwiftProtobuf._ProtoNameProviding { + public static let protoMessageName: String = _protobuf_package + ".GetPayerInfoResponse" + public static let _protobuf_nameMap = SwiftProtobuf._NameMap(bytecode: "\0\u{3}payer_info\0") + + public mutating func decodeMessage(decoder: inout D) throws { + while let fieldNumber = try decoder.nextFieldNumber() { + // The use of inline closures is to circumvent an issue where the compiler + // allocates stack space for every case branch when no optimizations are + // enabled. https://github.com/apple/swift-protobuf/issues/1034 + switch fieldNumber { + case 1: try { try decoder.decodeMapField(fieldType: SwiftProtobuf._ProtobufMessageMap.self, value: &self.payerInfo) }() + default: break + } + } + } + + public func traverse(visitor: inout V) throws { + if !self.payerInfo.isEmpty { + try visitor.visitMapField(fieldType: SwiftProtobuf._ProtobufMessageMap.self, value: self.payerInfo, fieldNumber: 1) + } + try unknownFields.traverse(visitor: &visitor) + } + + public static func ==(lhs: Xmtp_Xmtpv4_MetadataApi_GetPayerInfoResponse, rhs: Xmtp_Xmtpv4_MetadataApi_GetPayerInfoResponse) -> Bool { + if lhs.payerInfo != rhs.payerInfo {return false} + if lhs.unknownFields != rhs.unknownFields {return false} + return true + } +} + +extension Xmtp_Xmtpv4_MetadataApi_GetPayerInfoResponse.PeriodSummary: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementationBase, SwiftProtobuf._ProtoNameProviding { + public static let protoMessageName: String = Xmtp_Xmtpv4_MetadataApi_GetPayerInfoResponse.protoMessageName + ".PeriodSummary" + public static let _protobuf_nameMap = SwiftProtobuf._NameMap(bytecode: "\0\u{3}amount_spent_picodollars\0\u{3}num_messages\0\u{3}period_start_unix_seconds\0") + + public mutating func decodeMessage(decoder: inout D) throws { + while let fieldNumber = try decoder.nextFieldNumber() { + // The use of inline closures is to circumvent an issue where the compiler + // allocates stack space for every case branch when no optimizations are + // enabled. https://github.com/apple/swift-protobuf/issues/1034 + switch fieldNumber { + case 1: try { try decoder.decodeSingularUInt64Field(value: &self.amountSpentPicodollars) }() + case 2: try { try decoder.decodeSingularUInt64Field(value: &self.numMessages) }() + case 3: try { try decoder.decodeSingularUInt64Field(value: &self.periodStartUnixSeconds) }() + default: break + } + } + } + + public func traverse(visitor: inout V) throws { + if self.amountSpentPicodollars != 0 { + try visitor.visitSingularUInt64Field(value: self.amountSpentPicodollars, fieldNumber: 1) + } + if self.numMessages != 0 { + try visitor.visitSingularUInt64Field(value: self.numMessages, fieldNumber: 2) + } + if self.periodStartUnixSeconds != 0 { + try visitor.visitSingularUInt64Field(value: self.periodStartUnixSeconds, fieldNumber: 3) + } + try unknownFields.traverse(visitor: &visitor) + } + + public static func ==(lhs: Xmtp_Xmtpv4_MetadataApi_GetPayerInfoResponse.PeriodSummary, rhs: Xmtp_Xmtpv4_MetadataApi_GetPayerInfoResponse.PeriodSummary) -> Bool { + if lhs.amountSpentPicodollars != rhs.amountSpentPicodollars {return false} + if lhs.numMessages != rhs.numMessages {return false} + if lhs.periodStartUnixSeconds != rhs.periodStartUnixSeconds {return false} + if lhs.unknownFields != rhs.unknownFields {return false} + return true + } +} + +extension Xmtp_Xmtpv4_MetadataApi_GetPayerInfoResponse.PayerInfo: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementationBase, SwiftProtobuf._ProtoNameProviding { + public static let protoMessageName: String = Xmtp_Xmtpv4_MetadataApi_GetPayerInfoResponse.protoMessageName + ".PayerInfo" + public static let _protobuf_nameMap = SwiftProtobuf._NameMap(bytecode: "\0\u{3}period_summaries\0") + + public mutating func decodeMessage(decoder: inout D) throws { + while let fieldNumber = try decoder.nextFieldNumber() { + // The use of inline closures is to circumvent an issue where the compiler + // allocates stack space for every case branch when no optimizations are + // enabled. https://github.com/apple/swift-protobuf/issues/1034 + switch fieldNumber { + case 1: try { try decoder.decodeRepeatedMessageField(value: &self.periodSummaries) }() + default: break + } + } + } + + public func traverse(visitor: inout V) throws { + if !self.periodSummaries.isEmpty { + try visitor.visitRepeatedMessageField(value: self.periodSummaries, fieldNumber: 1) + } + try unknownFields.traverse(visitor: &visitor) + } + + public static func ==(lhs: Xmtp_Xmtpv4_MetadataApi_GetPayerInfoResponse.PayerInfo, rhs: Xmtp_Xmtpv4_MetadataApi_GetPayerInfoResponse.PayerInfo) -> Bool { + if lhs.periodSummaries != rhs.periodSummaries {return false} + if lhs.unknownFields != rhs.unknownFields {return false} + return true + } +} diff --git a/swift/xmtpv4/payer_api/payer_api.connect.swift b/swift/xmtpv4/payer_api/payer_api.connect.swift index 2d246cd..38cbd07 100644 --- a/swift/xmtpv4/payer_api/payer_api.connect.swift +++ b/swift/xmtpv4/payer_api/payer_api.connect.swift @@ -1,4 +1,6 @@ // Code generated by protoc-gen-connect-swift. DO NOT EDIT. +// swift-format-ignore-file +// swiftlint:disable all // // Source: xmtpv4/payer_api/payer_api.proto // @@ -17,6 +19,12 @@ public protocol Xmtp_Xmtpv4_PayerApi_PayerApiClientInterface: Sendable { /// Publish envelope @available(iOS 13, *) func `publishClientEnvelopes`(request: Xmtp_Xmtpv4_PayerApi_PublishClientEnvelopesRequest, headers: Connect.Headers) async -> ResponseMessage + + @discardableResult + func `getNodes`(request: Xmtp_Xmtpv4_PayerApi_GetNodesRequest, headers: Connect.Headers, completion: @escaping @Sendable (ResponseMessage) -> Void) -> Connect.Cancelable + + @available(iOS 13, *) + func `getNodes`(request: Xmtp_Xmtpv4_PayerApi_GetNodesRequest, headers: Connect.Headers) async -> ResponseMessage } /// Concrete implementation of `Xmtp_Xmtpv4_PayerApi_PayerApiClientInterface`. @@ -37,9 +45,20 @@ public final class Xmtp_Xmtpv4_PayerApi_PayerApiClient: Xmtp_Xmtpv4_PayerApi_Pay return await self.client.unary(path: "/xmtp.xmtpv4.payer_api.PayerApi/PublishClientEnvelopes", idempotencyLevel: .unknown, request: request, headers: headers) } + @discardableResult + public func `getNodes`(request: Xmtp_Xmtpv4_PayerApi_GetNodesRequest, headers: Connect.Headers = [:], completion: @escaping @Sendable (ResponseMessage) -> Void) -> Connect.Cancelable { + return self.client.unary(path: "/xmtp.xmtpv4.payer_api.PayerApi/GetNodes", idempotencyLevel: .unknown, request: request, headers: headers, completion: completion) + } + + @available(iOS 13, *) + public func `getNodes`(request: Xmtp_Xmtpv4_PayerApi_GetNodesRequest, headers: Connect.Headers = [:]) async -> ResponseMessage { + return await self.client.unary(path: "/xmtp.xmtpv4.payer_api.PayerApi/GetNodes", idempotencyLevel: .unknown, request: request, headers: headers) + } + public enum Metadata { public enum Methods { public static let publishClientEnvelopes = Connect.MethodSpec(name: "PublishClientEnvelopes", service: "xmtp.xmtpv4.payer_api.PayerApi", type: .unary) + public static let getNodes = Connect.MethodSpec(name: "GetNodes", service: "xmtp.xmtpv4.payer_api.PayerApi", type: .unary) } } } diff --git a/swift/xmtpv4/payer_api/payer_api.pb.swift b/swift/xmtpv4/payer_api/payer_api.pb.swift index a8afd72..1e3805f 100644 --- a/swift/xmtpv4/payer_api/payer_api.pb.swift +++ b/swift/xmtpv4/payer_api/payer_api.pb.swift @@ -46,15 +46,35 @@ public struct Xmtp_Xmtpv4_PayerApi_PublishClientEnvelopesResponse: Sendable { public init() {} } +public struct Xmtp_Xmtpv4_PayerApi_GetNodesRequest: Sendable { + // SwiftProtobuf.Message conformance is added in an extension below. See the + // `Message` and `Message+*Additions` files in the SwiftProtobuf library for + // methods supported on all messages. + + public var unknownFields = SwiftProtobuf.UnknownStorage() + + public init() {} +} + +public struct Xmtp_Xmtpv4_PayerApi_GetNodesResponse: Sendable { + // SwiftProtobuf.Message conformance is added in an extension below. See the + // `Message` and `Message+*Additions` files in the SwiftProtobuf library for + // methods supported on all messages. + + public var nodes: Dictionary = [:] + + public var unknownFields = SwiftProtobuf.UnknownStorage() + + public init() {} +} + // MARK: - Code below here is support for the SwiftProtobuf runtime. fileprivate let _protobuf_package = "xmtp.xmtpv4.payer_api" extension Xmtp_Xmtpv4_PayerApi_PublishClientEnvelopesRequest: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementationBase, SwiftProtobuf._ProtoNameProviding { public static let protoMessageName: String = _protobuf_package + ".PublishClientEnvelopesRequest" - public static let _protobuf_nameMap: SwiftProtobuf._NameMap = [ - 1: .same(proto: "envelopes"), - ] + public static let _protobuf_nameMap = SwiftProtobuf._NameMap(bytecode: "\0\u{1}envelopes\0") public mutating func decodeMessage(decoder: inout D) throws { while let fieldNumber = try decoder.nextFieldNumber() { @@ -84,9 +104,7 @@ extension Xmtp_Xmtpv4_PayerApi_PublishClientEnvelopesRequest: SwiftProtobuf.Mess extension Xmtp_Xmtpv4_PayerApi_PublishClientEnvelopesResponse: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementationBase, SwiftProtobuf._ProtoNameProviding { public static let protoMessageName: String = _protobuf_package + ".PublishClientEnvelopesResponse" - public static let _protobuf_nameMap: SwiftProtobuf._NameMap = [ - 1: .standard(proto: "originator_envelopes"), - ] + public static let _protobuf_nameMap = SwiftProtobuf._NameMap(bytecode: "\0\u{3}originator_envelopes\0") public mutating func decodeMessage(decoder: inout D) throws { while let fieldNumber = try decoder.nextFieldNumber() { @@ -113,3 +131,52 @@ extension Xmtp_Xmtpv4_PayerApi_PublishClientEnvelopesResponse: SwiftProtobuf.Mes return true } } + +extension Xmtp_Xmtpv4_PayerApi_GetNodesRequest: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementationBase, SwiftProtobuf._ProtoNameProviding { + public static let protoMessageName: String = _protobuf_package + ".GetNodesRequest" + public static let _protobuf_nameMap = SwiftProtobuf._NameMap() + + public mutating func decodeMessage(decoder: inout D) throws { + // Load everything into unknown fields + while try decoder.nextFieldNumber() != nil {} + } + + public func traverse(visitor: inout V) throws { + try unknownFields.traverse(visitor: &visitor) + } + + public static func ==(lhs: Xmtp_Xmtpv4_PayerApi_GetNodesRequest, rhs: Xmtp_Xmtpv4_PayerApi_GetNodesRequest) -> Bool { + if lhs.unknownFields != rhs.unknownFields {return false} + return true + } +} + +extension Xmtp_Xmtpv4_PayerApi_GetNodesResponse: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementationBase, SwiftProtobuf._ProtoNameProviding { + public static let protoMessageName: String = _protobuf_package + ".GetNodesResponse" + public static let _protobuf_nameMap = SwiftProtobuf._NameMap(bytecode: "\0\u{1}nodes\0") + + public mutating func decodeMessage(decoder: inout D) throws { + while let fieldNumber = try decoder.nextFieldNumber() { + // The use of inline closures is to circumvent an issue where the compiler + // allocates stack space for every case branch when no optimizations are + // enabled. https://github.com/apple/swift-protobuf/issues/1034 + switch fieldNumber { + case 1: try { try decoder.decodeMapField(fieldType: SwiftProtobuf._ProtobufMap.self, value: &self.nodes) }() + default: break + } + } + } + + public func traverse(visitor: inout V) throws { + if !self.nodes.isEmpty { + try visitor.visitMapField(fieldType: SwiftProtobuf._ProtobufMap.self, value: self.nodes, fieldNumber: 1) + } + try unknownFields.traverse(visitor: &visitor) + } + + public static func ==(lhs: Xmtp_Xmtpv4_PayerApi_GetNodesResponse, rhs: Xmtp_Xmtpv4_PayerApi_GetNodesResponse) -> Bool { + if lhs.nodes != rhs.nodes {return false} + if lhs.unknownFields != rhs.unknownFields {return false} + return true + } +}