diff --git a/go/keystore_api/v1/keystore.pb.go b/go/keystore_api/v1/keystore.pb.go index de7b6213..d84940bb 100644 --- a/go/keystore_api/v1/keystore.pb.go +++ b/go/keystore_api/v1/keystore.pb.go @@ -170,7 +170,7 @@ func (x GetKeystoreStatusResponse_KeystoreStatus) Number() protoreflect.EnumNumb // Deprecated: Use GetKeystoreStatusResponse_KeystoreStatus.Descriptor instead. func (GetKeystoreStatusResponse_KeystoreStatus) EnumDescriptor() ([]byte, []int) { - return file_keystore_api_v1_keystore_proto_rawDescGZIP(), []int{16, 0} + return file_keystore_api_v1_keystore_proto_rawDescGZIP(), []int{20, 0} } // Wrapper class for errors from the Keystore API @@ -517,6 +517,198 @@ func (x *EncryptV2Request) GetRequests() []*EncryptV2Request_Request { return nil } +// Encrypt a message for yourself +type SelfEncryptRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Requests []*SelfEncryptRequest_Request `protobuf:"bytes,1,rep,name=requests,proto3" json:"requests,omitempty"` +} + +func (x *SelfEncryptRequest) Reset() { + *x = SelfEncryptRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_keystore_api_v1_keystore_proto_msgTypes[7] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SelfEncryptRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SelfEncryptRequest) ProtoMessage() {} + +func (x *SelfEncryptRequest) ProtoReflect() protoreflect.Message { + mi := &file_keystore_api_v1_keystore_proto_msgTypes[7] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SelfEncryptRequest.ProtoReflect.Descriptor instead. +func (*SelfEncryptRequest) Descriptor() ([]byte, []int) { + return file_keystore_api_v1_keystore_proto_rawDescGZIP(), []int{7} +} + +func (x *SelfEncryptRequest) GetRequests() []*SelfEncryptRequest_Request { + if x != nil { + return x.Requests + } + return nil +} + +// Response type for SelfEncryptRequest +type SelfEncryptResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Responses []*SelfEncryptResponse_Response `protobuf:"bytes,1,rep,name=responses,proto3" json:"responses,omitempty"` +} + +func (x *SelfEncryptResponse) Reset() { + *x = SelfEncryptResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_keystore_api_v1_keystore_proto_msgTypes[8] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SelfEncryptResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SelfEncryptResponse) ProtoMessage() {} + +func (x *SelfEncryptResponse) ProtoReflect() protoreflect.Message { + mi := &file_keystore_api_v1_keystore_proto_msgTypes[8] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SelfEncryptResponse.ProtoReflect.Descriptor instead. +func (*SelfEncryptResponse) Descriptor() ([]byte, []int) { + return file_keystore_api_v1_keystore_proto_rawDescGZIP(), []int{8} +} + +func (x *SelfEncryptResponse) GetResponses() []*SelfEncryptResponse_Response { + if x != nil { + return x.Responses + } + return nil +} + +// SelfDecryptRequest +type SelfDecryptRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Requests []*SelfDecryptRequest_Request `protobuf:"bytes,1,rep,name=requests,proto3" json:"requests,omitempty"` +} + +func (x *SelfDecryptRequest) Reset() { + *x = SelfDecryptRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_keystore_api_v1_keystore_proto_msgTypes[9] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SelfDecryptRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SelfDecryptRequest) ProtoMessage() {} + +func (x *SelfDecryptRequest) ProtoReflect() protoreflect.Message { + mi := &file_keystore_api_v1_keystore_proto_msgTypes[9] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SelfDecryptRequest.ProtoReflect.Descriptor instead. +func (*SelfDecryptRequest) Descriptor() ([]byte, []int) { + return file_keystore_api_v1_keystore_proto_rawDescGZIP(), []int{9} +} + +func (x *SelfDecryptRequest) GetRequests() []*SelfDecryptRequest_Request { + if x != nil { + return x.Requests + } + return nil +} + +// Get the private preferences topic identifier +type GetPrivatePreferencesTopicIdentifierResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Identifier string `protobuf:"bytes,1,opt,name=identifier,proto3" json:"identifier,omitempty"` +} + +func (x *GetPrivatePreferencesTopicIdentifierResponse) Reset() { + *x = GetPrivatePreferencesTopicIdentifierResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_keystore_api_v1_keystore_proto_msgTypes[10] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetPrivatePreferencesTopicIdentifierResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetPrivatePreferencesTopicIdentifierResponse) ProtoMessage() {} + +func (x *GetPrivatePreferencesTopicIdentifierResponse) ProtoReflect() protoreflect.Message { + mi := &file_keystore_api_v1_keystore_proto_msgTypes[10] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetPrivatePreferencesTopicIdentifierResponse.ProtoReflect.Descriptor instead. +func (*GetPrivatePreferencesTopicIdentifierResponse) Descriptor() ([]byte, []int) { + return file_keystore_api_v1_keystore_proto_rawDescGZIP(), []int{10} +} + +func (x *GetPrivatePreferencesTopicIdentifierResponse) GetIdentifier() string { + if x != nil { + return x.Identifier + } + return "" +} + // Request to create an invite payload, and store the topic keys in the Keystore type CreateInviteRequest struct { state protoimpl.MessageState @@ -531,7 +723,7 @@ type CreateInviteRequest struct { func (x *CreateInviteRequest) Reset() { *x = CreateInviteRequest{} if protoimpl.UnsafeEnabled { - mi := &file_keystore_api_v1_keystore_proto_msgTypes[7] + mi := &file_keystore_api_v1_keystore_proto_msgTypes[11] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -544,7 +736,7 @@ func (x *CreateInviteRequest) String() string { func (*CreateInviteRequest) ProtoMessage() {} func (x *CreateInviteRequest) ProtoReflect() protoreflect.Message { - mi := &file_keystore_api_v1_keystore_proto_msgTypes[7] + mi := &file_keystore_api_v1_keystore_proto_msgTypes[11] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -557,7 +749,7 @@ func (x *CreateInviteRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use CreateInviteRequest.ProtoReflect.Descriptor instead. func (*CreateInviteRequest) Descriptor() ([]byte, []int) { - return file_keystore_api_v1_keystore_proto_rawDescGZIP(), []int{7} + return file_keystore_api_v1_keystore_proto_rawDescGZIP(), []int{11} } func (x *CreateInviteRequest) GetContext() *message_contents.InvitationV1_Context { @@ -594,7 +786,7 @@ type CreateInviteResponse struct { func (x *CreateInviteResponse) Reset() { *x = CreateInviteResponse{} if protoimpl.UnsafeEnabled { - mi := &file_keystore_api_v1_keystore_proto_msgTypes[8] + mi := &file_keystore_api_v1_keystore_proto_msgTypes[12] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -607,7 +799,7 @@ func (x *CreateInviteResponse) String() string { func (*CreateInviteResponse) ProtoMessage() {} func (x *CreateInviteResponse) ProtoReflect() protoreflect.Message { - mi := &file_keystore_api_v1_keystore_proto_msgTypes[8] + mi := &file_keystore_api_v1_keystore_proto_msgTypes[12] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -620,7 +812,7 @@ func (x *CreateInviteResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use CreateInviteResponse.ProtoReflect.Descriptor instead. func (*CreateInviteResponse) Descriptor() ([]byte, []int) { - return file_keystore_api_v1_keystore_proto_rawDescGZIP(), []int{8} + return file_keystore_api_v1_keystore_proto_rawDescGZIP(), []int{12} } func (x *CreateInviteResponse) GetConversation() *message_contents.ConversationReference { @@ -649,7 +841,7 @@ type SaveInvitesRequest struct { func (x *SaveInvitesRequest) Reset() { *x = SaveInvitesRequest{} if protoimpl.UnsafeEnabled { - mi := &file_keystore_api_v1_keystore_proto_msgTypes[9] + mi := &file_keystore_api_v1_keystore_proto_msgTypes[13] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -662,7 +854,7 @@ func (x *SaveInvitesRequest) String() string { func (*SaveInvitesRequest) ProtoMessage() {} func (x *SaveInvitesRequest) ProtoReflect() protoreflect.Message { - mi := &file_keystore_api_v1_keystore_proto_msgTypes[9] + mi := &file_keystore_api_v1_keystore_proto_msgTypes[13] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -675,7 +867,7 @@ func (x *SaveInvitesRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use SaveInvitesRequest.ProtoReflect.Descriptor instead. func (*SaveInvitesRequest) Descriptor() ([]byte, []int) { - return file_keystore_api_v1_keystore_proto_rawDescGZIP(), []int{9} + return file_keystore_api_v1_keystore_proto_rawDescGZIP(), []int{13} } func (x *SaveInvitesRequest) GetRequests() []*SaveInvitesRequest_Request { @@ -697,7 +889,7 @@ type SaveInvitesResponse struct { func (x *SaveInvitesResponse) Reset() { *x = SaveInvitesResponse{} if protoimpl.UnsafeEnabled { - mi := &file_keystore_api_v1_keystore_proto_msgTypes[10] + mi := &file_keystore_api_v1_keystore_proto_msgTypes[14] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -710,7 +902,7 @@ func (x *SaveInvitesResponse) String() string { func (*SaveInvitesResponse) ProtoMessage() {} func (x *SaveInvitesResponse) ProtoReflect() protoreflect.Message { - mi := &file_keystore_api_v1_keystore_proto_msgTypes[10] + mi := &file_keystore_api_v1_keystore_proto_msgTypes[14] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -723,7 +915,7 @@ func (x *SaveInvitesResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use SaveInvitesResponse.ProtoReflect.Descriptor instead. func (*SaveInvitesResponse) Descriptor() ([]byte, []int) { - return file_keystore_api_v1_keystore_proto_rawDescGZIP(), []int{10} + return file_keystore_api_v1_keystore_proto_rawDescGZIP(), []int{14} } func (x *SaveInvitesResponse) GetResponses() []*SaveInvitesResponse_Response { @@ -745,7 +937,7 @@ type CreateAuthTokenRequest struct { func (x *CreateAuthTokenRequest) Reset() { *x = CreateAuthTokenRequest{} if protoimpl.UnsafeEnabled { - mi := &file_keystore_api_v1_keystore_proto_msgTypes[11] + mi := &file_keystore_api_v1_keystore_proto_msgTypes[15] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -758,7 +950,7 @@ func (x *CreateAuthTokenRequest) String() string { func (*CreateAuthTokenRequest) ProtoMessage() {} func (x *CreateAuthTokenRequest) ProtoReflect() protoreflect.Message { - mi := &file_keystore_api_v1_keystore_proto_msgTypes[11] + mi := &file_keystore_api_v1_keystore_proto_msgTypes[15] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -771,7 +963,7 @@ func (x *CreateAuthTokenRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use CreateAuthTokenRequest.ProtoReflect.Descriptor instead. func (*CreateAuthTokenRequest) Descriptor() ([]byte, []int) { - return file_keystore_api_v1_keystore_proto_rawDescGZIP(), []int{11} + return file_keystore_api_v1_keystore_proto_rawDescGZIP(), []int{15} } func (x *CreateAuthTokenRequest) GetTimestampNs() uint64 { @@ -794,7 +986,7 @@ type SaveV1ConversationsRequest struct { func (x *SaveV1ConversationsRequest) Reset() { *x = SaveV1ConversationsRequest{} if protoimpl.UnsafeEnabled { - mi := &file_keystore_api_v1_keystore_proto_msgTypes[12] + mi := &file_keystore_api_v1_keystore_proto_msgTypes[16] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -807,7 +999,7 @@ func (x *SaveV1ConversationsRequest) String() string { func (*SaveV1ConversationsRequest) ProtoMessage() {} func (x *SaveV1ConversationsRequest) ProtoReflect() protoreflect.Message { - mi := &file_keystore_api_v1_keystore_proto_msgTypes[12] + mi := &file_keystore_api_v1_keystore_proto_msgTypes[16] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -820,7 +1012,7 @@ func (x *SaveV1ConversationsRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use SaveV1ConversationsRequest.ProtoReflect.Descriptor instead. func (*SaveV1ConversationsRequest) Descriptor() ([]byte, []int) { - return file_keystore_api_v1_keystore_proto_rawDescGZIP(), []int{12} + return file_keystore_api_v1_keystore_proto_rawDescGZIP(), []int{16} } func (x *SaveV1ConversationsRequest) GetConversations() []*message_contents.ConversationReference { @@ -840,7 +1032,7 @@ type SaveV1ConversationsResponse struct { func (x *SaveV1ConversationsResponse) Reset() { *x = SaveV1ConversationsResponse{} if protoimpl.UnsafeEnabled { - mi := &file_keystore_api_v1_keystore_proto_msgTypes[13] + mi := &file_keystore_api_v1_keystore_proto_msgTypes[17] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -853,7 +1045,7 @@ func (x *SaveV1ConversationsResponse) String() string { func (*SaveV1ConversationsResponse) ProtoMessage() {} func (x *SaveV1ConversationsResponse) ProtoReflect() protoreflect.Message { - mi := &file_keystore_api_v1_keystore_proto_msgTypes[13] + mi := &file_keystore_api_v1_keystore_proto_msgTypes[17] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -866,7 +1058,7 @@ func (x *SaveV1ConversationsResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use SaveV1ConversationsResponse.ProtoReflect.Descriptor instead. func (*SaveV1ConversationsResponse) Descriptor() ([]byte, []int) { - return file_keystore_api_v1_keystore_proto_rawDescGZIP(), []int{13} + return file_keystore_api_v1_keystore_proto_rawDescGZIP(), []int{17} } // Response for GetV2Conversations @@ -881,7 +1073,7 @@ type GetConversationsResponse struct { func (x *GetConversationsResponse) Reset() { *x = GetConversationsResponse{} if protoimpl.UnsafeEnabled { - mi := &file_keystore_api_v1_keystore_proto_msgTypes[14] + mi := &file_keystore_api_v1_keystore_proto_msgTypes[18] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -894,7 +1086,7 @@ func (x *GetConversationsResponse) String() string { func (*GetConversationsResponse) ProtoMessage() {} func (x *GetConversationsResponse) ProtoReflect() protoreflect.Message { - mi := &file_keystore_api_v1_keystore_proto_msgTypes[14] + mi := &file_keystore_api_v1_keystore_proto_msgTypes[18] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -907,7 +1099,7 @@ func (x *GetConversationsResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use GetConversationsResponse.ProtoReflect.Descriptor instead. func (*GetConversationsResponse) Descriptor() ([]byte, []int) { - return file_keystore_api_v1_keystore_proto_rawDescGZIP(), []int{14} + return file_keystore_api_v1_keystore_proto_rawDescGZIP(), []int{18} } func (x *GetConversationsResponse) GetConversations() []*message_contents.ConversationReference { @@ -930,7 +1122,7 @@ type GetKeystoreStatusRequest struct { func (x *GetKeystoreStatusRequest) Reset() { *x = GetKeystoreStatusRequest{} if protoimpl.UnsafeEnabled { - mi := &file_keystore_api_v1_keystore_proto_msgTypes[15] + mi := &file_keystore_api_v1_keystore_proto_msgTypes[19] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -943,7 +1135,7 @@ func (x *GetKeystoreStatusRequest) String() string { func (*GetKeystoreStatusRequest) ProtoMessage() {} func (x *GetKeystoreStatusRequest) ProtoReflect() protoreflect.Message { - mi := &file_keystore_api_v1_keystore_proto_msgTypes[15] + mi := &file_keystore_api_v1_keystore_proto_msgTypes[19] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -956,7 +1148,7 @@ func (x *GetKeystoreStatusRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetKeystoreStatusRequest.ProtoReflect.Descriptor instead. func (*GetKeystoreStatusRequest) Descriptor() ([]byte, []int) { - return file_keystore_api_v1_keystore_proto_rawDescGZIP(), []int{15} + return file_keystore_api_v1_keystore_proto_rawDescGZIP(), []int{19} } func (x *GetKeystoreStatusRequest) GetWalletAddress() string { @@ -978,7 +1170,7 @@ type GetKeystoreStatusResponse struct { func (x *GetKeystoreStatusResponse) Reset() { *x = GetKeystoreStatusResponse{} if protoimpl.UnsafeEnabled { - mi := &file_keystore_api_v1_keystore_proto_msgTypes[16] + mi := &file_keystore_api_v1_keystore_proto_msgTypes[20] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -991,7 +1183,7 @@ func (x *GetKeystoreStatusResponse) String() string { func (*GetKeystoreStatusResponse) ProtoMessage() {} func (x *GetKeystoreStatusResponse) ProtoReflect() protoreflect.Message { - mi := &file_keystore_api_v1_keystore_proto_msgTypes[16] + mi := &file_keystore_api_v1_keystore_proto_msgTypes[20] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1004,7 +1196,7 @@ func (x *GetKeystoreStatusResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use GetKeystoreStatusResponse.ProtoReflect.Descriptor instead. func (*GetKeystoreStatusResponse) Descriptor() ([]byte, []int) { - return file_keystore_api_v1_keystore_proto_rawDescGZIP(), []int{16} + return file_keystore_api_v1_keystore_proto_rawDescGZIP(), []int{20} } func (x *GetKeystoreStatusResponse) GetStatus() GetKeystoreStatusResponse_KeystoreStatus { @@ -1022,6 +1214,7 @@ type InitKeystoreRequest struct { unknownFields protoimpl.UnknownFields // Types that are assignable to Bundle: + // // *InitKeystoreRequest_V1 Bundle isInitKeystoreRequest_Bundle `protobuf_oneof:"bundle"` } @@ -1029,7 +1222,7 @@ type InitKeystoreRequest struct { func (x *InitKeystoreRequest) Reset() { *x = InitKeystoreRequest{} if protoimpl.UnsafeEnabled { - mi := &file_keystore_api_v1_keystore_proto_msgTypes[17] + mi := &file_keystore_api_v1_keystore_proto_msgTypes[21] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1042,7 +1235,7 @@ func (x *InitKeystoreRequest) String() string { func (*InitKeystoreRequest) ProtoMessage() {} func (x *InitKeystoreRequest) ProtoReflect() protoreflect.Message { - mi := &file_keystore_api_v1_keystore_proto_msgTypes[17] + mi := &file_keystore_api_v1_keystore_proto_msgTypes[21] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1055,7 +1248,7 @@ func (x *InitKeystoreRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use InitKeystoreRequest.ProtoReflect.Descriptor instead. func (*InitKeystoreRequest) Descriptor() ([]byte, []int) { - return file_keystore_api_v1_keystore_proto_rawDescGZIP(), []int{17} + return file_keystore_api_v1_keystore_proto_rawDescGZIP(), []int{21} } func (m *InitKeystoreRequest) GetBundle() isInitKeystoreRequest_Bundle { @@ -1094,7 +1287,7 @@ type InitKeystoreResponse struct { func (x *InitKeystoreResponse) Reset() { *x = InitKeystoreResponse{} if protoimpl.UnsafeEnabled { - mi := &file_keystore_api_v1_keystore_proto_msgTypes[18] + mi := &file_keystore_api_v1_keystore_proto_msgTypes[22] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1107,7 +1300,7 @@ func (x *InitKeystoreResponse) String() string { func (*InitKeystoreResponse) ProtoMessage() {} func (x *InitKeystoreResponse) ProtoReflect() protoreflect.Message { - mi := &file_keystore_api_v1_keystore_proto_msgTypes[18] + mi := &file_keystore_api_v1_keystore_proto_msgTypes[22] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1120,7 +1313,7 @@ func (x *InitKeystoreResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use InitKeystoreResponse.ProtoReflect.Descriptor instead. func (*InitKeystoreResponse) Descriptor() ([]byte, []int) { - return file_keystore_api_v1_keystore_proto_rawDescGZIP(), []int{18} + return file_keystore_api_v1_keystore_proto_rawDescGZIP(), []int{22} } func (x *InitKeystoreResponse) GetError() *KeystoreError { @@ -1139,6 +1332,7 @@ type SignDigestRequest struct { Digest []byte `protobuf:"bytes,1,opt,name=digest,proto3" json:"digest,omitempty"` // Types that are assignable to Signer: + // // *SignDigestRequest_IdentityKey // *SignDigestRequest_PrekeyIndex Signer isSignDigestRequest_Signer `protobuf_oneof:"signer"` @@ -1147,7 +1341,7 @@ type SignDigestRequest struct { func (x *SignDigestRequest) Reset() { *x = SignDigestRequest{} if protoimpl.UnsafeEnabled { - mi := &file_keystore_api_v1_keystore_proto_msgTypes[19] + mi := &file_keystore_api_v1_keystore_proto_msgTypes[23] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1160,7 +1354,7 @@ func (x *SignDigestRequest) String() string { func (*SignDigestRequest) ProtoMessage() {} func (x *SignDigestRequest) ProtoReflect() protoreflect.Message { - mi := &file_keystore_api_v1_keystore_proto_msgTypes[19] + mi := &file_keystore_api_v1_keystore_proto_msgTypes[23] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1173,7 +1367,7 @@ func (x *SignDigestRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use SignDigestRequest.ProtoReflect.Descriptor instead. func (*SignDigestRequest) Descriptor() ([]byte, []int) { - return file_keystore_api_v1_keystore_proto_rawDescGZIP(), []int{19} + return file_keystore_api_v1_keystore_proto_rawDescGZIP(), []int{23} } func (x *SignDigestRequest) GetDigest() []byte { @@ -1232,7 +1426,7 @@ type GetRefreshJobRequest struct { func (x *GetRefreshJobRequest) Reset() { *x = GetRefreshJobRequest{} if protoimpl.UnsafeEnabled { - mi := &file_keystore_api_v1_keystore_proto_msgTypes[20] + mi := &file_keystore_api_v1_keystore_proto_msgTypes[24] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1245,7 +1439,7 @@ func (x *GetRefreshJobRequest) String() string { func (*GetRefreshJobRequest) ProtoMessage() {} func (x *GetRefreshJobRequest) ProtoReflect() protoreflect.Message { - mi := &file_keystore_api_v1_keystore_proto_msgTypes[20] + mi := &file_keystore_api_v1_keystore_proto_msgTypes[24] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1258,7 +1452,7 @@ func (x *GetRefreshJobRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetRefreshJobRequest.ProtoReflect.Descriptor instead. func (*GetRefreshJobRequest) Descriptor() ([]byte, []int) { - return file_keystore_api_v1_keystore_proto_rawDescGZIP(), []int{20} + return file_keystore_api_v1_keystore_proto_rawDescGZIP(), []int{24} } func (x *GetRefreshJobRequest) GetJobType() JobType { @@ -1280,7 +1474,7 @@ type GetRefreshJobResponse struct { func (x *GetRefreshJobResponse) Reset() { *x = GetRefreshJobResponse{} if protoimpl.UnsafeEnabled { - mi := &file_keystore_api_v1_keystore_proto_msgTypes[21] + mi := &file_keystore_api_v1_keystore_proto_msgTypes[25] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1293,7 +1487,7 @@ func (x *GetRefreshJobResponse) String() string { func (*GetRefreshJobResponse) ProtoMessage() {} func (x *GetRefreshJobResponse) ProtoReflect() protoreflect.Message { - mi := &file_keystore_api_v1_keystore_proto_msgTypes[21] + mi := &file_keystore_api_v1_keystore_proto_msgTypes[25] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1306,7 +1500,7 @@ func (x *GetRefreshJobResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use GetRefreshJobResponse.ProtoReflect.Descriptor instead. func (*GetRefreshJobResponse) Descriptor() ([]byte, []int) { - return file_keystore_api_v1_keystore_proto_rawDescGZIP(), []int{21} + return file_keystore_api_v1_keystore_proto_rawDescGZIP(), []int{25} } func (x *GetRefreshJobResponse) GetLastRunNs() int64 { @@ -1329,7 +1523,7 @@ type SetRefeshJobRequest struct { func (x *SetRefeshJobRequest) Reset() { *x = SetRefeshJobRequest{} if protoimpl.UnsafeEnabled { - mi := &file_keystore_api_v1_keystore_proto_msgTypes[22] + mi := &file_keystore_api_v1_keystore_proto_msgTypes[26] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1342,7 +1536,7 @@ func (x *SetRefeshJobRequest) String() string { func (*SetRefeshJobRequest) ProtoMessage() {} func (x *SetRefeshJobRequest) ProtoReflect() protoreflect.Message { - mi := &file_keystore_api_v1_keystore_proto_msgTypes[22] + mi := &file_keystore_api_v1_keystore_proto_msgTypes[26] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1355,7 +1549,7 @@ func (x *SetRefeshJobRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use SetRefeshJobRequest.ProtoReflect.Descriptor instead. func (*SetRefeshJobRequest) Descriptor() ([]byte, []int) { - return file_keystore_api_v1_keystore_proto_rawDescGZIP(), []int{22} + return file_keystore_api_v1_keystore_proto_rawDescGZIP(), []int{26} } func (x *SetRefeshJobRequest) GetJobType() JobType { @@ -1382,7 +1576,7 @@ type SetRefreshJobResponse struct { func (x *SetRefreshJobResponse) Reset() { *x = SetRefreshJobResponse{} if protoimpl.UnsafeEnabled { - mi := &file_keystore_api_v1_keystore_proto_msgTypes[23] + mi := &file_keystore_api_v1_keystore_proto_msgTypes[27] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1395,7 +1589,7 @@ func (x *SetRefreshJobResponse) String() string { func (*SetRefreshJobResponse) ProtoMessage() {} func (x *SetRefreshJobResponse) ProtoReflect() protoreflect.Message { - mi := &file_keystore_api_v1_keystore_proto_msgTypes[23] + mi := &file_keystore_api_v1_keystore_proto_msgTypes[27] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1408,7 +1602,7 @@ func (x *SetRefreshJobResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use SetRefreshJobResponse.ProtoReflect.Descriptor instead. func (*SetRefreshJobResponse) Descriptor() ([]byte, []int) { - return file_keystore_api_v1_keystore_proto_rawDescGZIP(), []int{23} + return file_keystore_api_v1_keystore_proto_rawDescGZIP(), []int{27} } // A mapping of topics to their decrypted invitations @@ -1423,7 +1617,7 @@ type TopicMap struct { func (x *TopicMap) Reset() { *x = TopicMap{} if protoimpl.UnsafeEnabled { - mi := &file_keystore_api_v1_keystore_proto_msgTypes[24] + mi := &file_keystore_api_v1_keystore_proto_msgTypes[28] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1436,7 +1630,7 @@ func (x *TopicMap) String() string { func (*TopicMap) ProtoMessage() {} func (x *TopicMap) ProtoReflect() protoreflect.Message { - mi := &file_keystore_api_v1_keystore_proto_msgTypes[24] + mi := &file_keystore_api_v1_keystore_proto_msgTypes[28] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1449,7 +1643,7 @@ func (x *TopicMap) ProtoReflect() protoreflect.Message { // Deprecated: Use TopicMap.ProtoReflect.Descriptor instead. func (*TopicMap) Descriptor() ([]byte, []int) { - return file_keystore_api_v1_keystore_proto_rawDescGZIP(), []int{24} + return file_keystore_api_v1_keystore_proto_rawDescGZIP(), []int{28} } func (x *TopicMap) GetTopics() map[string]*TopicMap_TopicData { @@ -1474,7 +1668,7 @@ type DecryptV1Request_Request struct { func (x *DecryptV1Request_Request) Reset() { *x = DecryptV1Request_Request{} if protoimpl.UnsafeEnabled { - mi := &file_keystore_api_v1_keystore_proto_msgTypes[25] + mi := &file_keystore_api_v1_keystore_proto_msgTypes[29] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1487,7 +1681,7 @@ func (x *DecryptV1Request_Request) String() string { func (*DecryptV1Request_Request) ProtoMessage() {} func (x *DecryptV1Request_Request) ProtoReflect() protoreflect.Message { - mi := &file_keystore_api_v1_keystore_proto_msgTypes[25] + mi := &file_keystore_api_v1_keystore_proto_msgTypes[29] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1538,6 +1732,7 @@ type DecryptResponse_Response struct { unknownFields protoimpl.UnknownFields // Types that are assignable to Response: + // // *DecryptResponse_Response_Result // *DecryptResponse_Response_Error Response isDecryptResponse_Response_Response `protobuf_oneof:"response"` @@ -1546,7 +1741,7 @@ type DecryptResponse_Response struct { func (x *DecryptResponse_Response) Reset() { *x = DecryptResponse_Response{} if protoimpl.UnsafeEnabled { - mi := &file_keystore_api_v1_keystore_proto_msgTypes[26] + mi := &file_keystore_api_v1_keystore_proto_msgTypes[30] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1559,7 +1754,7 @@ func (x *DecryptResponse_Response) String() string { func (*DecryptResponse_Response) ProtoMessage() {} func (x *DecryptResponse_Response) ProtoReflect() protoreflect.Message { - mi := &file_keystore_api_v1_keystore_proto_msgTypes[26] + mi := &file_keystore_api_v1_keystore_proto_msgTypes[30] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1624,7 +1819,7 @@ type DecryptResponse_Response_Success struct { func (x *DecryptResponse_Response_Success) Reset() { *x = DecryptResponse_Response_Success{} if protoimpl.UnsafeEnabled { - mi := &file_keystore_api_v1_keystore_proto_msgTypes[27] + mi := &file_keystore_api_v1_keystore_proto_msgTypes[31] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1637,7 +1832,7 @@ func (x *DecryptResponse_Response_Success) String() string { func (*DecryptResponse_Response_Success) ProtoMessage() {} func (x *DecryptResponse_Response_Success) ProtoReflect() protoreflect.Message { - mi := &file_keystore_api_v1_keystore_proto_msgTypes[27] + mi := &file_keystore_api_v1_keystore_proto_msgTypes[31] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1674,7 +1869,7 @@ type DecryptV2Request_Request struct { func (x *DecryptV2Request_Request) Reset() { *x = DecryptV2Request_Request{} if protoimpl.UnsafeEnabled { - mi := &file_keystore_api_v1_keystore_proto_msgTypes[28] + mi := &file_keystore_api_v1_keystore_proto_msgTypes[32] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1687,7 +1882,7 @@ func (x *DecryptV2Request_Request) String() string { func (*DecryptV2Request_Request) ProtoMessage() {} func (x *DecryptV2Request_Request) ProtoReflect() protoreflect.Message { - mi := &file_keystore_api_v1_keystore_proto_msgTypes[28] + mi := &file_keystore_api_v1_keystore_proto_msgTypes[32] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1738,20 +1933,276 @@ type EncryptV1Request_Request struct { func (x *EncryptV1Request_Request) Reset() { *x = EncryptV1Request_Request{} if protoimpl.UnsafeEnabled { - mi := &file_keystore_api_v1_keystore_proto_msgTypes[29] + mi := &file_keystore_api_v1_keystore_proto_msgTypes[33] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *EncryptV1Request_Request) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*EncryptV1Request_Request) ProtoMessage() {} + +func (x *EncryptV1Request_Request) ProtoReflect() protoreflect.Message { + mi := &file_keystore_api_v1_keystore_proto_msgTypes[33] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use EncryptV1Request_Request.ProtoReflect.Descriptor instead. +func (*EncryptV1Request_Request) Descriptor() ([]byte, []int) { + return file_keystore_api_v1_keystore_proto_rawDescGZIP(), []int{4, 0} +} + +func (x *EncryptV1Request_Request) GetRecipient() *message_contents.PublicKeyBundle { + if x != nil { + return x.Recipient + } + return nil +} + +func (x *EncryptV1Request_Request) GetPayload() []byte { + if x != nil { + return x.Payload + } + return nil +} + +func (x *EncryptV1Request_Request) GetHeaderBytes() []byte { + if x != nil { + return x.HeaderBytes + } + return nil +} + +// A single encryption response +type EncryptResponse_Response struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Types that are assignable to Response: + // + // *EncryptResponse_Response_Result + // *EncryptResponse_Response_Error + Response isEncryptResponse_Response_Response `protobuf_oneof:"response"` +} + +func (x *EncryptResponse_Response) Reset() { + *x = EncryptResponse_Response{} + if protoimpl.UnsafeEnabled { + mi := &file_keystore_api_v1_keystore_proto_msgTypes[34] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *EncryptResponse_Response) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*EncryptResponse_Response) ProtoMessage() {} + +func (x *EncryptResponse_Response) ProtoReflect() protoreflect.Message { + mi := &file_keystore_api_v1_keystore_proto_msgTypes[34] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use EncryptResponse_Response.ProtoReflect.Descriptor instead. +func (*EncryptResponse_Response) Descriptor() ([]byte, []int) { + return file_keystore_api_v1_keystore_proto_rawDescGZIP(), []int{5, 0} +} + +func (m *EncryptResponse_Response) GetResponse() isEncryptResponse_Response_Response { + if m != nil { + return m.Response + } + return nil +} + +func (x *EncryptResponse_Response) GetResult() *EncryptResponse_Response_Success { + if x, ok := x.GetResponse().(*EncryptResponse_Response_Result); ok { + return x.Result + } + return nil +} + +func (x *EncryptResponse_Response) GetError() *KeystoreError { + if x, ok := x.GetResponse().(*EncryptResponse_Response_Error); ok { + return x.Error + } + return nil +} + +type isEncryptResponse_Response_Response interface { + isEncryptResponse_Response_Response() +} + +type EncryptResponse_Response_Result struct { + Result *EncryptResponse_Response_Success `protobuf:"bytes,1,opt,name=result,proto3,oneof"` +} + +type EncryptResponse_Response_Error struct { + Error *KeystoreError `protobuf:"bytes,2,opt,name=error,proto3,oneof"` +} + +func (*EncryptResponse_Response_Result) isEncryptResponse_Response_Response() {} + +func (*EncryptResponse_Response_Error) isEncryptResponse_Response_Response() {} + +// Wrapper object for success response +type EncryptResponse_Response_Success struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Encrypted *message_contents.Ciphertext `protobuf:"bytes,1,opt,name=encrypted,proto3" json:"encrypted,omitempty"` +} + +func (x *EncryptResponse_Response_Success) Reset() { + *x = EncryptResponse_Response_Success{} + if protoimpl.UnsafeEnabled { + mi := &file_keystore_api_v1_keystore_proto_msgTypes[35] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *EncryptResponse_Response_Success) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*EncryptResponse_Response_Success) ProtoMessage() {} + +func (x *EncryptResponse_Response_Success) ProtoReflect() protoreflect.Message { + mi := &file_keystore_api_v1_keystore_proto_msgTypes[35] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use EncryptResponse_Response_Success.ProtoReflect.Descriptor instead. +func (*EncryptResponse_Response_Success) Descriptor() ([]byte, []int) { + return file_keystore_api_v1_keystore_proto_rawDescGZIP(), []int{5, 0, 0} +} + +func (x *EncryptResponse_Response_Success) GetEncrypted() *message_contents.Ciphertext { + if x != nil { + return x.Encrypted + } + return nil +} + +// A single encryption request +type EncryptV2Request_Request struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Payload []byte `protobuf:"bytes,1,opt,name=payload,proto3" json:"payload,omitempty"` + HeaderBytes []byte `protobuf:"bytes,2,opt,name=header_bytes,json=headerBytes,proto3" json:"header_bytes,omitempty"` + ContentTopic string `protobuf:"bytes,3,opt,name=content_topic,json=contentTopic,proto3" json:"content_topic,omitempty"` +} + +func (x *EncryptV2Request_Request) Reset() { + *x = EncryptV2Request_Request{} + if protoimpl.UnsafeEnabled { + mi := &file_keystore_api_v1_keystore_proto_msgTypes[36] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *EncryptV2Request_Request) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*EncryptV2Request_Request) ProtoMessage() {} + +func (x *EncryptV2Request_Request) ProtoReflect() protoreflect.Message { + mi := &file_keystore_api_v1_keystore_proto_msgTypes[36] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use EncryptV2Request_Request.ProtoReflect.Descriptor instead. +func (*EncryptV2Request_Request) Descriptor() ([]byte, []int) { + return file_keystore_api_v1_keystore_proto_rawDescGZIP(), []int{6, 0} +} + +func (x *EncryptV2Request_Request) GetPayload() []byte { + if x != nil { + return x.Payload + } + return nil +} + +func (x *EncryptV2Request_Request) GetHeaderBytes() []byte { + if x != nil { + return x.HeaderBytes + } + return nil +} + +func (x *EncryptV2Request_Request) GetContentTopic() string { + if x != nil { + return x.ContentTopic + } + return "" +} + +// Request type +type SelfEncryptRequest_Request struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Payload []byte `protobuf:"bytes,1,opt,name=payload,proto3" json:"payload,omitempty"` +} + +func (x *SelfEncryptRequest_Request) Reset() { + *x = SelfEncryptRequest_Request{} + if protoimpl.UnsafeEnabled { + mi := &file_keystore_api_v1_keystore_proto_msgTypes[37] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *EncryptV1Request_Request) String() string { +func (x *SelfEncryptRequest_Request) String() string { return protoimpl.X.MessageStringOf(x) } -func (*EncryptV1Request_Request) ProtoMessage() {} +func (*SelfEncryptRequest_Request) ProtoMessage() {} -func (x *EncryptV1Request_Request) ProtoReflect() protoreflect.Message { - mi := &file_keystore_api_v1_keystore_proto_msgTypes[29] +func (x *SelfEncryptRequest_Request) ProtoReflect() protoreflect.Message { + mi := &file_keystore_api_v1_keystore_proto_msgTypes[37] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1762,61 +2213,48 @@ func (x *EncryptV1Request_Request) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use EncryptV1Request_Request.ProtoReflect.Descriptor instead. -func (*EncryptV1Request_Request) Descriptor() ([]byte, []int) { - return file_keystore_api_v1_keystore_proto_rawDescGZIP(), []int{4, 0} -} - -func (x *EncryptV1Request_Request) GetRecipient() *message_contents.PublicKeyBundle { - if x != nil { - return x.Recipient - } - return nil +// Deprecated: Use SelfEncryptRequest_Request.ProtoReflect.Descriptor instead. +func (*SelfEncryptRequest_Request) Descriptor() ([]byte, []int) { + return file_keystore_api_v1_keystore_proto_rawDescGZIP(), []int{7, 0} } -func (x *EncryptV1Request_Request) GetPayload() []byte { +func (x *SelfEncryptRequest_Request) GetPayload() []byte { if x != nil { return x.Payload } return nil } -func (x *EncryptV1Request_Request) GetHeaderBytes() []byte { - if x != nil { - return x.HeaderBytes - } - return nil -} - -// A single encryption response -type EncryptResponse_Response struct { +// Response type +type SelfEncryptResponse_Response struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Types that are assignable to Response: - // *EncryptResponse_Response_Result - // *EncryptResponse_Response_Error - Response isEncryptResponse_Response_Response `protobuf_oneof:"response"` + // + // *SelfEncryptResponse_Response_Result + // *SelfEncryptResponse_Response_Error + Response isSelfEncryptResponse_Response_Response `protobuf_oneof:"response"` } -func (x *EncryptResponse_Response) Reset() { - *x = EncryptResponse_Response{} +func (x *SelfEncryptResponse_Response) Reset() { + *x = SelfEncryptResponse_Response{} if protoimpl.UnsafeEnabled { - mi := &file_keystore_api_v1_keystore_proto_msgTypes[30] + mi := &file_keystore_api_v1_keystore_proto_msgTypes[38] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *EncryptResponse_Response) String() string { +func (x *SelfEncryptResponse_Response) String() string { return protoimpl.X.MessageStringOf(x) } -func (*EncryptResponse_Response) ProtoMessage() {} +func (*SelfEncryptResponse_Response) ProtoMessage() {} -func (x *EncryptResponse_Response) ProtoReflect() protoreflect.Message { - mi := &file_keystore_api_v1_keystore_proto_msgTypes[30] +func (x *SelfEncryptResponse_Response) ProtoReflect() protoreflect.Message { + mi := &file_keystore_api_v1_keystore_proto_msgTypes[38] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1827,74 +2265,74 @@ func (x *EncryptResponse_Response) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use EncryptResponse_Response.ProtoReflect.Descriptor instead. -func (*EncryptResponse_Response) Descriptor() ([]byte, []int) { - return file_keystore_api_v1_keystore_proto_rawDescGZIP(), []int{5, 0} +// Deprecated: Use SelfEncryptResponse_Response.ProtoReflect.Descriptor instead. +func (*SelfEncryptResponse_Response) Descriptor() ([]byte, []int) { + return file_keystore_api_v1_keystore_proto_rawDescGZIP(), []int{8, 0} } -func (m *EncryptResponse_Response) GetResponse() isEncryptResponse_Response_Response { +func (m *SelfEncryptResponse_Response) GetResponse() isSelfEncryptResponse_Response_Response { if m != nil { return m.Response } return nil } -func (x *EncryptResponse_Response) GetResult() *EncryptResponse_Response_Success { - if x, ok := x.GetResponse().(*EncryptResponse_Response_Result); ok { +func (x *SelfEncryptResponse_Response) GetResult() *SelfEncryptResponse_Response_Success { + if x, ok := x.GetResponse().(*SelfEncryptResponse_Response_Result); ok { return x.Result } return nil } -func (x *EncryptResponse_Response) GetError() *KeystoreError { - if x, ok := x.GetResponse().(*EncryptResponse_Response_Error); ok { +func (x *SelfEncryptResponse_Response) GetError() *KeystoreError { + if x, ok := x.GetResponse().(*SelfEncryptResponse_Response_Error); ok { return x.Error } return nil } -type isEncryptResponse_Response_Response interface { - isEncryptResponse_Response_Response() +type isSelfEncryptResponse_Response_Response interface { + isSelfEncryptResponse_Response_Response() } -type EncryptResponse_Response_Result struct { - Result *EncryptResponse_Response_Success `protobuf:"bytes,1,opt,name=result,proto3,oneof"` +type SelfEncryptResponse_Response_Result struct { + Result *SelfEncryptResponse_Response_Success `protobuf:"bytes,1,opt,name=result,proto3,oneof"` } -type EncryptResponse_Response_Error struct { +type SelfEncryptResponse_Response_Error struct { Error *KeystoreError `protobuf:"bytes,2,opt,name=error,proto3,oneof"` } -func (*EncryptResponse_Response_Result) isEncryptResponse_Response_Response() {} +func (*SelfEncryptResponse_Response_Result) isSelfEncryptResponse_Response_Response() {} -func (*EncryptResponse_Response_Error) isEncryptResponse_Response_Response() {} +func (*SelfEncryptResponse_Response_Error) isSelfEncryptResponse_Response_Response() {} -// Wrapper object for success response -type EncryptResponse_Response_Success struct { +// Success response +type SelfEncryptResponse_Response_Success struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Encrypted *message_contents.Ciphertext `protobuf:"bytes,1,opt,name=encrypted,proto3" json:"encrypted,omitempty"` + Encrypted []byte `protobuf:"bytes,1,opt,name=encrypted,proto3" json:"encrypted,omitempty"` } -func (x *EncryptResponse_Response_Success) Reset() { - *x = EncryptResponse_Response_Success{} +func (x *SelfEncryptResponse_Response_Success) Reset() { + *x = SelfEncryptResponse_Response_Success{} if protoimpl.UnsafeEnabled { - mi := &file_keystore_api_v1_keystore_proto_msgTypes[31] + mi := &file_keystore_api_v1_keystore_proto_msgTypes[39] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *EncryptResponse_Response_Success) String() string { +func (x *SelfEncryptResponse_Response_Success) String() string { return protoimpl.X.MessageStringOf(x) } -func (*EncryptResponse_Response_Success) ProtoMessage() {} +func (*SelfEncryptResponse_Response_Success) ProtoMessage() {} -func (x *EncryptResponse_Response_Success) ProtoReflect() protoreflect.Message { - mi := &file_keystore_api_v1_keystore_proto_msgTypes[31] +func (x *SelfEncryptResponse_Response_Success) ProtoReflect() protoreflect.Message { + mi := &file_keystore_api_v1_keystore_proto_msgTypes[39] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1905,46 +2343,44 @@ func (x *EncryptResponse_Response_Success) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use EncryptResponse_Response_Success.ProtoReflect.Descriptor instead. -func (*EncryptResponse_Response_Success) Descriptor() ([]byte, []int) { - return file_keystore_api_v1_keystore_proto_rawDescGZIP(), []int{5, 0, 0} +// Deprecated: Use SelfEncryptResponse_Response_Success.ProtoReflect.Descriptor instead. +func (*SelfEncryptResponse_Response_Success) Descriptor() ([]byte, []int) { + return file_keystore_api_v1_keystore_proto_rawDescGZIP(), []int{8, 0, 0} } -func (x *EncryptResponse_Response_Success) GetEncrypted() *message_contents.Ciphertext { +func (x *SelfEncryptResponse_Response_Success) GetEncrypted() []byte { if x != nil { return x.Encrypted } return nil } -// A single encryption request -type EncryptV2Request_Request struct { +// Request type +type SelfDecryptRequest_Request struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Payload []byte `protobuf:"bytes,1,opt,name=payload,proto3" json:"payload,omitempty"` - HeaderBytes []byte `protobuf:"bytes,2,opt,name=header_bytes,json=headerBytes,proto3" json:"header_bytes,omitempty"` - ContentTopic string `protobuf:"bytes,3,opt,name=content_topic,json=contentTopic,proto3" json:"content_topic,omitempty"` + Payload []byte `protobuf:"bytes,1,opt,name=payload,proto3" json:"payload,omitempty"` } -func (x *EncryptV2Request_Request) Reset() { - *x = EncryptV2Request_Request{} +func (x *SelfDecryptRequest_Request) Reset() { + *x = SelfDecryptRequest_Request{} if protoimpl.UnsafeEnabled { - mi := &file_keystore_api_v1_keystore_proto_msgTypes[32] + mi := &file_keystore_api_v1_keystore_proto_msgTypes[40] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *EncryptV2Request_Request) String() string { +func (x *SelfDecryptRequest_Request) String() string { return protoimpl.X.MessageStringOf(x) } -func (*EncryptV2Request_Request) ProtoMessage() {} +func (*SelfDecryptRequest_Request) ProtoMessage() {} -func (x *EncryptV2Request_Request) ProtoReflect() protoreflect.Message { - mi := &file_keystore_api_v1_keystore_proto_msgTypes[32] +func (x *SelfDecryptRequest_Request) ProtoReflect() protoreflect.Message { + mi := &file_keystore_api_v1_keystore_proto_msgTypes[40] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1955,32 +2391,18 @@ func (x *EncryptV2Request_Request) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use EncryptV2Request_Request.ProtoReflect.Descriptor instead. -func (*EncryptV2Request_Request) Descriptor() ([]byte, []int) { - return file_keystore_api_v1_keystore_proto_rawDescGZIP(), []int{6, 0} +// Deprecated: Use SelfDecryptRequest_Request.ProtoReflect.Descriptor instead. +func (*SelfDecryptRequest_Request) Descriptor() ([]byte, []int) { + return file_keystore_api_v1_keystore_proto_rawDescGZIP(), []int{9, 0} } -func (x *EncryptV2Request_Request) GetPayload() []byte { +func (x *SelfDecryptRequest_Request) GetPayload() []byte { if x != nil { return x.Payload } return nil } -func (x *EncryptV2Request_Request) GetHeaderBytes() []byte { - if x != nil { - return x.HeaderBytes - } - return nil -} - -func (x *EncryptV2Request_Request) GetContentTopic() string { - if x != nil { - return x.ContentTopic - } - return "" -} - // Mirrors xmtp.envelope schema type SaveInvitesRequest_Request struct { state protoimpl.MessageState @@ -1995,7 +2417,7 @@ type SaveInvitesRequest_Request struct { func (x *SaveInvitesRequest_Request) Reset() { *x = SaveInvitesRequest_Request{} if protoimpl.UnsafeEnabled { - mi := &file_keystore_api_v1_keystore_proto_msgTypes[33] + mi := &file_keystore_api_v1_keystore_proto_msgTypes[41] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2008,7 +2430,7 @@ func (x *SaveInvitesRequest_Request) String() string { func (*SaveInvitesRequest_Request) ProtoMessage() {} func (x *SaveInvitesRequest_Request) ProtoReflect() protoreflect.Message { - mi := &file_keystore_api_v1_keystore_proto_msgTypes[33] + mi := &file_keystore_api_v1_keystore_proto_msgTypes[41] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2021,7 +2443,7 @@ func (x *SaveInvitesRequest_Request) ProtoReflect() protoreflect.Message { // Deprecated: Use SaveInvitesRequest_Request.ProtoReflect.Descriptor instead. func (*SaveInvitesRequest_Request) Descriptor() ([]byte, []int) { - return file_keystore_api_v1_keystore_proto_rawDescGZIP(), []int{9, 0} + return file_keystore_api_v1_keystore_proto_rawDescGZIP(), []int{13, 0} } func (x *SaveInvitesRequest_Request) GetContentTopic() string { @@ -2052,6 +2474,7 @@ type SaveInvitesResponse_Response struct { unknownFields protoimpl.UnknownFields // Types that are assignable to Response: + // // *SaveInvitesResponse_Response_Result // *SaveInvitesResponse_Response_Error Response isSaveInvitesResponse_Response_Response `protobuf_oneof:"response"` @@ -2060,7 +2483,7 @@ type SaveInvitesResponse_Response struct { func (x *SaveInvitesResponse_Response) Reset() { *x = SaveInvitesResponse_Response{} if protoimpl.UnsafeEnabled { - mi := &file_keystore_api_v1_keystore_proto_msgTypes[34] + mi := &file_keystore_api_v1_keystore_proto_msgTypes[42] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2073,7 +2496,7 @@ func (x *SaveInvitesResponse_Response) String() string { func (*SaveInvitesResponse_Response) ProtoMessage() {} func (x *SaveInvitesResponse_Response) ProtoReflect() protoreflect.Message { - mi := &file_keystore_api_v1_keystore_proto_msgTypes[34] + mi := &file_keystore_api_v1_keystore_proto_msgTypes[42] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2086,7 +2509,7 @@ func (x *SaveInvitesResponse_Response) ProtoReflect() protoreflect.Message { // Deprecated: Use SaveInvitesResponse_Response.ProtoReflect.Descriptor instead. func (*SaveInvitesResponse_Response) Descriptor() ([]byte, []int) { - return file_keystore_api_v1_keystore_proto_rawDescGZIP(), []int{10, 0} + return file_keystore_api_v1_keystore_proto_rawDescGZIP(), []int{14, 0} } func (m *SaveInvitesResponse_Response) GetResponse() isSaveInvitesResponse_Response_Response { @@ -2138,7 +2561,7 @@ type SaveInvitesResponse_Response_Success struct { func (x *SaveInvitesResponse_Response_Success) Reset() { *x = SaveInvitesResponse_Response_Success{} if protoimpl.UnsafeEnabled { - mi := &file_keystore_api_v1_keystore_proto_msgTypes[35] + mi := &file_keystore_api_v1_keystore_proto_msgTypes[43] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2151,7 +2574,7 @@ func (x *SaveInvitesResponse_Response_Success) String() string { func (*SaveInvitesResponse_Response_Success) ProtoMessage() {} func (x *SaveInvitesResponse_Response_Success) ProtoReflect() protoreflect.Message { - mi := &file_keystore_api_v1_keystore_proto_msgTypes[35] + mi := &file_keystore_api_v1_keystore_proto_msgTypes[43] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2164,7 +2587,7 @@ func (x *SaveInvitesResponse_Response_Success) ProtoReflect() protoreflect.Messa // Deprecated: Use SaveInvitesResponse_Response_Success.ProtoReflect.Descriptor instead. func (*SaveInvitesResponse_Response_Success) Descriptor() ([]byte, []int) { - return file_keystore_api_v1_keystore_proto_rawDescGZIP(), []int{10, 0, 0} + return file_keystore_api_v1_keystore_proto_rawDescGZIP(), []int{14, 0, 0} } func (x *SaveInvitesResponse_Response_Success) GetConversation() *message_contents.ConversationReference { @@ -2188,7 +2611,7 @@ type TopicMap_TopicData struct { func (x *TopicMap_TopicData) Reset() { *x = TopicMap_TopicData{} if protoimpl.UnsafeEnabled { - mi := &file_keystore_api_v1_keystore_proto_msgTypes[36] + mi := &file_keystore_api_v1_keystore_proto_msgTypes[44] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2201,7 +2624,7 @@ func (x *TopicMap_TopicData) String() string { func (*TopicMap_TopicData) ProtoMessage() {} func (x *TopicMap_TopicData) ProtoReflect() protoreflect.Message { - mi := &file_keystore_api_v1_keystore_proto_msgTypes[36] + mi := &file_keystore_api_v1_keystore_proto_msgTypes[44] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2214,7 +2637,7 @@ func (x *TopicMap_TopicData) ProtoReflect() protoreflect.Message { // Deprecated: Use TopicMap_TopicData.ProtoReflect.Descriptor instead. func (*TopicMap_TopicData) Descriptor() ([]byte, []int) { - return file_keystore_api_v1_keystore_proto_rawDescGZIP(), []int{24, 0} + return file_keystore_api_v1_keystore_proto_rawDescGZIP(), []int{28, 0} } func (x *TopicMap_TopicData) GetCreatedNs() uint64 { @@ -2364,179 +2787,221 @@ var file_keystore_api_v1_keystore_proto_rawDesc = []byte{ 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, 0xc7, 0x01, 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, 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, + 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, 0xc7, 0x01, + 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, 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, 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, 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, 0x55, - 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, 0x42, 0x4d, 0x0a, 0x1e, 0x6f, 0x72, 0x67, 0x2e, 0x78, 0x6d, 0x74, - 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x6b, 0x65, 0x79, 0x73, 0x74, 0x6f, 0x72, 0x65, - 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x5a, 0x2b, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, - 0x63, 0x6f, 0x6d, 0x2f, 0x78, 0x6d, 0x74, 0x70, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x76, - 0x33, 0x2f, 0x67, 0x6f, 0x2f, 0x6b, 0x65, 0x79, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x5f, 0x61, 0x70, - 0x69, 0x2f, 0x76, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 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, 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, 0x55, 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, 0x42, 0x4d, 0x0a, 0x1e, 0x6f, 0x72, 0x67, 0x2e, + 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x6b, 0x65, 0x79, 0x73, 0x74, + 0x6f, 0x72, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x5a, 0x2b, 0x67, 0x69, 0x74, 0x68, + 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x78, 0x6d, 0x74, 0x70, 0x2f, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x2f, 0x76, 0x33, 0x2f, 0x67, 0x6f, 0x2f, 0x6b, 0x65, 0x79, 0x73, 0x74, 0x6f, 0x72, 0x65, + 0x5f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -2552,97 +3017,110 @@ func file_keystore_api_v1_keystore_proto_rawDescGZIP() []byte { } var file_keystore_api_v1_keystore_proto_enumTypes = make([]protoimpl.EnumInfo, 3) -var file_keystore_api_v1_keystore_proto_msgTypes = make([]protoimpl.MessageInfo, 38) +var file_keystore_api_v1_keystore_proto_msgTypes = make([]protoimpl.MessageInfo, 46) var file_keystore_api_v1_keystore_proto_goTypes = []interface{}{ (ErrorCode)(0), // 0: xmtp.keystore_api.v1.ErrorCode (JobType)(0), // 1: xmtp.keystore_api.v1.JobType - (GetKeystoreStatusResponse_KeystoreStatus)(0), // 2: xmtp.keystore_api.v1.GetKeystoreStatusResponse.KeystoreStatus - (*KeystoreError)(nil), // 3: xmtp.keystore_api.v1.KeystoreError - (*DecryptV1Request)(nil), // 4: xmtp.keystore_api.v1.DecryptV1Request - (*DecryptResponse)(nil), // 5: xmtp.keystore_api.v1.DecryptResponse - (*DecryptV2Request)(nil), // 6: xmtp.keystore_api.v1.DecryptV2Request - (*EncryptV1Request)(nil), // 7: xmtp.keystore_api.v1.EncryptV1Request - (*EncryptResponse)(nil), // 8: xmtp.keystore_api.v1.EncryptResponse - (*EncryptV2Request)(nil), // 9: xmtp.keystore_api.v1.EncryptV2Request - (*CreateInviteRequest)(nil), // 10: xmtp.keystore_api.v1.CreateInviteRequest - (*CreateInviteResponse)(nil), // 11: xmtp.keystore_api.v1.CreateInviteResponse - (*SaveInvitesRequest)(nil), // 12: xmtp.keystore_api.v1.SaveInvitesRequest - (*SaveInvitesResponse)(nil), // 13: xmtp.keystore_api.v1.SaveInvitesResponse - (*CreateAuthTokenRequest)(nil), // 14: xmtp.keystore_api.v1.CreateAuthTokenRequest - (*SaveV1ConversationsRequest)(nil), // 15: xmtp.keystore_api.v1.SaveV1ConversationsRequest - (*SaveV1ConversationsResponse)(nil), // 16: xmtp.keystore_api.v1.SaveV1ConversationsResponse - (*GetConversationsResponse)(nil), // 17: xmtp.keystore_api.v1.GetConversationsResponse - (*GetKeystoreStatusRequest)(nil), // 18: xmtp.keystore_api.v1.GetKeystoreStatusRequest - (*GetKeystoreStatusResponse)(nil), // 19: xmtp.keystore_api.v1.GetKeystoreStatusResponse - (*InitKeystoreRequest)(nil), // 20: xmtp.keystore_api.v1.InitKeystoreRequest - (*InitKeystoreResponse)(nil), // 21: xmtp.keystore_api.v1.InitKeystoreResponse - (*SignDigestRequest)(nil), // 22: xmtp.keystore_api.v1.SignDigestRequest - (*GetRefreshJobRequest)(nil), // 23: xmtp.keystore_api.v1.GetRefreshJobRequest - (*GetRefreshJobResponse)(nil), // 24: xmtp.keystore_api.v1.GetRefreshJobResponse - (*SetRefeshJobRequest)(nil), // 25: xmtp.keystore_api.v1.SetRefeshJobRequest - (*SetRefreshJobResponse)(nil), // 26: xmtp.keystore_api.v1.SetRefreshJobResponse - (*TopicMap)(nil), // 27: xmtp.keystore_api.v1.TopicMap - (*DecryptV1Request_Request)(nil), // 28: xmtp.keystore_api.v1.DecryptV1Request.Request - (*DecryptResponse_Response)(nil), // 29: xmtp.keystore_api.v1.DecryptResponse.Response - (*DecryptResponse_Response_Success)(nil), // 30: xmtp.keystore_api.v1.DecryptResponse.Response.Success - (*DecryptV2Request_Request)(nil), // 31: xmtp.keystore_api.v1.DecryptV2Request.Request - (*EncryptV1Request_Request)(nil), // 32: xmtp.keystore_api.v1.EncryptV1Request.Request - (*EncryptResponse_Response)(nil), // 33: xmtp.keystore_api.v1.EncryptResponse.Response - (*EncryptResponse_Response_Success)(nil), // 34: xmtp.keystore_api.v1.EncryptResponse.Response.Success - (*EncryptV2Request_Request)(nil), // 35: xmtp.keystore_api.v1.EncryptV2Request.Request - (*SaveInvitesRequest_Request)(nil), // 36: xmtp.keystore_api.v1.SaveInvitesRequest.Request - (*SaveInvitesResponse_Response)(nil), // 37: xmtp.keystore_api.v1.SaveInvitesResponse.Response - (*SaveInvitesResponse_Response_Success)(nil), // 38: xmtp.keystore_api.v1.SaveInvitesResponse.Response.Success - (*TopicMap_TopicData)(nil), // 39: xmtp.keystore_api.v1.TopicMap.TopicData - nil, // 40: xmtp.keystore_api.v1.TopicMap.TopicsEntry - (*message_contents.InvitationV1_Context)(nil), // 41: xmtp.message_contents.InvitationV1.Context - (*message_contents.SignedPublicKeyBundle)(nil), // 42: xmtp.message_contents.SignedPublicKeyBundle - (*message_contents.ConversationReference)(nil), // 43: xmtp.message_contents.ConversationReference - (*message_contents.PrivateKeyBundleV1)(nil), // 44: xmtp.message_contents.PrivateKeyBundleV1 - (*message_contents.Ciphertext)(nil), // 45: xmtp.message_contents.Ciphertext - (*message_contents.PublicKeyBundle)(nil), // 46: xmtp.message_contents.PublicKeyBundle - (*message_contents.InvitationV1)(nil), // 47: xmtp.message_contents.InvitationV1 + (GetKeystoreStatusResponse_KeystoreStatus)(0), // 2: xmtp.keystore_api.v1.GetKeystoreStatusResponse.KeystoreStatus + (*KeystoreError)(nil), // 3: xmtp.keystore_api.v1.KeystoreError + (*DecryptV1Request)(nil), // 4: xmtp.keystore_api.v1.DecryptV1Request + (*DecryptResponse)(nil), // 5: xmtp.keystore_api.v1.DecryptResponse + (*DecryptV2Request)(nil), // 6: xmtp.keystore_api.v1.DecryptV2Request + (*EncryptV1Request)(nil), // 7: xmtp.keystore_api.v1.EncryptV1Request + (*EncryptResponse)(nil), // 8: xmtp.keystore_api.v1.EncryptResponse + (*EncryptV2Request)(nil), // 9: xmtp.keystore_api.v1.EncryptV2Request + (*SelfEncryptRequest)(nil), // 10: xmtp.keystore_api.v1.SelfEncryptRequest + (*SelfEncryptResponse)(nil), // 11: xmtp.keystore_api.v1.SelfEncryptResponse + (*SelfDecryptRequest)(nil), // 12: xmtp.keystore_api.v1.SelfDecryptRequest + (*GetPrivatePreferencesTopicIdentifierResponse)(nil), // 13: xmtp.keystore_api.v1.GetPrivatePreferencesTopicIdentifierResponse + (*CreateInviteRequest)(nil), // 14: xmtp.keystore_api.v1.CreateInviteRequest + (*CreateInviteResponse)(nil), // 15: xmtp.keystore_api.v1.CreateInviteResponse + (*SaveInvitesRequest)(nil), // 16: xmtp.keystore_api.v1.SaveInvitesRequest + (*SaveInvitesResponse)(nil), // 17: xmtp.keystore_api.v1.SaveInvitesResponse + (*CreateAuthTokenRequest)(nil), // 18: xmtp.keystore_api.v1.CreateAuthTokenRequest + (*SaveV1ConversationsRequest)(nil), // 19: xmtp.keystore_api.v1.SaveV1ConversationsRequest + (*SaveV1ConversationsResponse)(nil), // 20: xmtp.keystore_api.v1.SaveV1ConversationsResponse + (*GetConversationsResponse)(nil), // 21: xmtp.keystore_api.v1.GetConversationsResponse + (*GetKeystoreStatusRequest)(nil), // 22: xmtp.keystore_api.v1.GetKeystoreStatusRequest + (*GetKeystoreStatusResponse)(nil), // 23: xmtp.keystore_api.v1.GetKeystoreStatusResponse + (*InitKeystoreRequest)(nil), // 24: xmtp.keystore_api.v1.InitKeystoreRequest + (*InitKeystoreResponse)(nil), // 25: xmtp.keystore_api.v1.InitKeystoreResponse + (*SignDigestRequest)(nil), // 26: xmtp.keystore_api.v1.SignDigestRequest + (*GetRefreshJobRequest)(nil), // 27: xmtp.keystore_api.v1.GetRefreshJobRequest + (*GetRefreshJobResponse)(nil), // 28: xmtp.keystore_api.v1.GetRefreshJobResponse + (*SetRefeshJobRequest)(nil), // 29: xmtp.keystore_api.v1.SetRefeshJobRequest + (*SetRefreshJobResponse)(nil), // 30: xmtp.keystore_api.v1.SetRefreshJobResponse + (*TopicMap)(nil), // 31: xmtp.keystore_api.v1.TopicMap + (*DecryptV1Request_Request)(nil), // 32: xmtp.keystore_api.v1.DecryptV1Request.Request + (*DecryptResponse_Response)(nil), // 33: xmtp.keystore_api.v1.DecryptResponse.Response + (*DecryptResponse_Response_Success)(nil), // 34: xmtp.keystore_api.v1.DecryptResponse.Response.Success + (*DecryptV2Request_Request)(nil), // 35: xmtp.keystore_api.v1.DecryptV2Request.Request + (*EncryptV1Request_Request)(nil), // 36: xmtp.keystore_api.v1.EncryptV1Request.Request + (*EncryptResponse_Response)(nil), // 37: xmtp.keystore_api.v1.EncryptResponse.Response + (*EncryptResponse_Response_Success)(nil), // 38: xmtp.keystore_api.v1.EncryptResponse.Response.Success + (*EncryptV2Request_Request)(nil), // 39: xmtp.keystore_api.v1.EncryptV2Request.Request + (*SelfEncryptRequest_Request)(nil), // 40: xmtp.keystore_api.v1.SelfEncryptRequest.Request + (*SelfEncryptResponse_Response)(nil), // 41: xmtp.keystore_api.v1.SelfEncryptResponse.Response + (*SelfEncryptResponse_Response_Success)(nil), // 42: xmtp.keystore_api.v1.SelfEncryptResponse.Response.Success + (*SelfDecryptRequest_Request)(nil), // 43: xmtp.keystore_api.v1.SelfDecryptRequest.Request + (*SaveInvitesRequest_Request)(nil), // 44: xmtp.keystore_api.v1.SaveInvitesRequest.Request + (*SaveInvitesResponse_Response)(nil), // 45: xmtp.keystore_api.v1.SaveInvitesResponse.Response + (*SaveInvitesResponse_Response_Success)(nil), // 46: xmtp.keystore_api.v1.SaveInvitesResponse.Response.Success + (*TopicMap_TopicData)(nil), // 47: xmtp.keystore_api.v1.TopicMap.TopicData + nil, // 48: xmtp.keystore_api.v1.TopicMap.TopicsEntry + (*message_contents.InvitationV1_Context)(nil), // 49: xmtp.message_contents.InvitationV1.Context + (*message_contents.SignedPublicKeyBundle)(nil), // 50: xmtp.message_contents.SignedPublicKeyBundle + (*message_contents.ConversationReference)(nil), // 51: xmtp.message_contents.ConversationReference + (*message_contents.PrivateKeyBundleV1)(nil), // 52: xmtp.message_contents.PrivateKeyBundleV1 + (*message_contents.Ciphertext)(nil), // 53: xmtp.message_contents.Ciphertext + (*message_contents.PublicKeyBundle)(nil), // 54: xmtp.message_contents.PublicKeyBundle + (*message_contents.InvitationV1)(nil), // 55: xmtp.message_contents.InvitationV1 } var file_keystore_api_v1_keystore_proto_depIdxs = []int32{ 0, // 0: xmtp.keystore_api.v1.KeystoreError.code:type_name -> xmtp.keystore_api.v1.ErrorCode - 28, // 1: xmtp.keystore_api.v1.DecryptV1Request.requests:type_name -> xmtp.keystore_api.v1.DecryptV1Request.Request - 29, // 2: xmtp.keystore_api.v1.DecryptResponse.responses:type_name -> xmtp.keystore_api.v1.DecryptResponse.Response - 31, // 3: xmtp.keystore_api.v1.DecryptV2Request.requests:type_name -> xmtp.keystore_api.v1.DecryptV2Request.Request - 32, // 4: xmtp.keystore_api.v1.EncryptV1Request.requests:type_name -> xmtp.keystore_api.v1.EncryptV1Request.Request - 33, // 5: xmtp.keystore_api.v1.EncryptResponse.responses:type_name -> xmtp.keystore_api.v1.EncryptResponse.Response - 35, // 6: xmtp.keystore_api.v1.EncryptV2Request.requests:type_name -> xmtp.keystore_api.v1.EncryptV2Request.Request - 41, // 7: xmtp.keystore_api.v1.CreateInviteRequest.context:type_name -> xmtp.message_contents.InvitationV1.Context - 42, // 8: xmtp.keystore_api.v1.CreateInviteRequest.recipient:type_name -> xmtp.message_contents.SignedPublicKeyBundle - 43, // 9: xmtp.keystore_api.v1.CreateInviteResponse.conversation:type_name -> xmtp.message_contents.ConversationReference - 36, // 10: xmtp.keystore_api.v1.SaveInvitesRequest.requests:type_name -> xmtp.keystore_api.v1.SaveInvitesRequest.Request - 37, // 11: xmtp.keystore_api.v1.SaveInvitesResponse.responses:type_name -> xmtp.keystore_api.v1.SaveInvitesResponse.Response - 43, // 12: xmtp.keystore_api.v1.SaveV1ConversationsRequest.conversations:type_name -> xmtp.message_contents.ConversationReference - 43, // 13: xmtp.keystore_api.v1.GetConversationsResponse.conversations:type_name -> xmtp.message_contents.ConversationReference - 2, // 14: xmtp.keystore_api.v1.GetKeystoreStatusResponse.status:type_name -> xmtp.keystore_api.v1.GetKeystoreStatusResponse.KeystoreStatus - 44, // 15: xmtp.keystore_api.v1.InitKeystoreRequest.v1:type_name -> xmtp.message_contents.PrivateKeyBundleV1 - 3, // 16: xmtp.keystore_api.v1.InitKeystoreResponse.error:type_name -> xmtp.keystore_api.v1.KeystoreError - 1, // 17: xmtp.keystore_api.v1.GetRefreshJobRequest.job_type:type_name -> xmtp.keystore_api.v1.JobType - 1, // 18: xmtp.keystore_api.v1.SetRefeshJobRequest.job_type:type_name -> xmtp.keystore_api.v1.JobType - 40, // 19: xmtp.keystore_api.v1.TopicMap.topics:type_name -> xmtp.keystore_api.v1.TopicMap.TopicsEntry - 45, // 20: xmtp.keystore_api.v1.DecryptV1Request.Request.payload:type_name -> xmtp.message_contents.Ciphertext - 46, // 21: xmtp.keystore_api.v1.DecryptV1Request.Request.peer_keys:type_name -> xmtp.message_contents.PublicKeyBundle - 30, // 22: xmtp.keystore_api.v1.DecryptResponse.Response.result:type_name -> xmtp.keystore_api.v1.DecryptResponse.Response.Success - 3, // 23: xmtp.keystore_api.v1.DecryptResponse.Response.error:type_name -> xmtp.keystore_api.v1.KeystoreError - 45, // 24: xmtp.keystore_api.v1.DecryptV2Request.Request.payload:type_name -> xmtp.message_contents.Ciphertext - 46, // 25: xmtp.keystore_api.v1.EncryptV1Request.Request.recipient:type_name -> xmtp.message_contents.PublicKeyBundle - 34, // 26: xmtp.keystore_api.v1.EncryptResponse.Response.result:type_name -> xmtp.keystore_api.v1.EncryptResponse.Response.Success - 3, // 27: xmtp.keystore_api.v1.EncryptResponse.Response.error:type_name -> xmtp.keystore_api.v1.KeystoreError - 45, // 28: xmtp.keystore_api.v1.EncryptResponse.Response.Success.encrypted:type_name -> xmtp.message_contents.Ciphertext - 38, // 29: xmtp.keystore_api.v1.SaveInvitesResponse.Response.result:type_name -> xmtp.keystore_api.v1.SaveInvitesResponse.Response.Success - 3, // 30: xmtp.keystore_api.v1.SaveInvitesResponse.Response.error:type_name -> xmtp.keystore_api.v1.KeystoreError - 43, // 31: xmtp.keystore_api.v1.SaveInvitesResponse.Response.Success.conversation:type_name -> xmtp.message_contents.ConversationReference - 47, // 32: xmtp.keystore_api.v1.TopicMap.TopicData.invitation:type_name -> xmtp.message_contents.InvitationV1 - 39, // 33: xmtp.keystore_api.v1.TopicMap.TopicsEntry.value:type_name -> xmtp.keystore_api.v1.TopicMap.TopicData - 34, // [34:34] is the sub-list for method output_type - 34, // [34:34] is the sub-list for method input_type - 34, // [34:34] is the sub-list for extension type_name - 34, // [34:34] is the sub-list for extension extendee - 0, // [0:34] is the sub-list for field type_name + 32, // 1: xmtp.keystore_api.v1.DecryptV1Request.requests:type_name -> xmtp.keystore_api.v1.DecryptV1Request.Request + 33, // 2: xmtp.keystore_api.v1.DecryptResponse.responses:type_name -> xmtp.keystore_api.v1.DecryptResponse.Response + 35, // 3: xmtp.keystore_api.v1.DecryptV2Request.requests:type_name -> xmtp.keystore_api.v1.DecryptV2Request.Request + 36, // 4: xmtp.keystore_api.v1.EncryptV1Request.requests:type_name -> xmtp.keystore_api.v1.EncryptV1Request.Request + 37, // 5: xmtp.keystore_api.v1.EncryptResponse.responses:type_name -> xmtp.keystore_api.v1.EncryptResponse.Response + 39, // 6: xmtp.keystore_api.v1.EncryptV2Request.requests:type_name -> xmtp.keystore_api.v1.EncryptV2Request.Request + 40, // 7: xmtp.keystore_api.v1.SelfEncryptRequest.requests:type_name -> xmtp.keystore_api.v1.SelfEncryptRequest.Request + 41, // 8: xmtp.keystore_api.v1.SelfEncryptResponse.responses:type_name -> xmtp.keystore_api.v1.SelfEncryptResponse.Response + 43, // 9: xmtp.keystore_api.v1.SelfDecryptRequest.requests:type_name -> xmtp.keystore_api.v1.SelfDecryptRequest.Request + 49, // 10: xmtp.keystore_api.v1.CreateInviteRequest.context:type_name -> xmtp.message_contents.InvitationV1.Context + 50, // 11: xmtp.keystore_api.v1.CreateInviteRequest.recipient:type_name -> xmtp.message_contents.SignedPublicKeyBundle + 51, // 12: xmtp.keystore_api.v1.CreateInviteResponse.conversation:type_name -> xmtp.message_contents.ConversationReference + 44, // 13: xmtp.keystore_api.v1.SaveInvitesRequest.requests:type_name -> xmtp.keystore_api.v1.SaveInvitesRequest.Request + 45, // 14: xmtp.keystore_api.v1.SaveInvitesResponse.responses:type_name -> xmtp.keystore_api.v1.SaveInvitesResponse.Response + 51, // 15: xmtp.keystore_api.v1.SaveV1ConversationsRequest.conversations:type_name -> xmtp.message_contents.ConversationReference + 51, // 16: xmtp.keystore_api.v1.GetConversationsResponse.conversations:type_name -> xmtp.message_contents.ConversationReference + 2, // 17: xmtp.keystore_api.v1.GetKeystoreStatusResponse.status:type_name -> xmtp.keystore_api.v1.GetKeystoreStatusResponse.KeystoreStatus + 52, // 18: xmtp.keystore_api.v1.InitKeystoreRequest.v1:type_name -> xmtp.message_contents.PrivateKeyBundleV1 + 3, // 19: xmtp.keystore_api.v1.InitKeystoreResponse.error:type_name -> xmtp.keystore_api.v1.KeystoreError + 1, // 20: xmtp.keystore_api.v1.GetRefreshJobRequest.job_type:type_name -> xmtp.keystore_api.v1.JobType + 1, // 21: xmtp.keystore_api.v1.SetRefeshJobRequest.job_type:type_name -> xmtp.keystore_api.v1.JobType + 48, // 22: xmtp.keystore_api.v1.TopicMap.topics:type_name -> xmtp.keystore_api.v1.TopicMap.TopicsEntry + 53, // 23: xmtp.keystore_api.v1.DecryptV1Request.Request.payload:type_name -> xmtp.message_contents.Ciphertext + 54, // 24: xmtp.keystore_api.v1.DecryptV1Request.Request.peer_keys:type_name -> xmtp.message_contents.PublicKeyBundle + 34, // 25: xmtp.keystore_api.v1.DecryptResponse.Response.result:type_name -> xmtp.keystore_api.v1.DecryptResponse.Response.Success + 3, // 26: xmtp.keystore_api.v1.DecryptResponse.Response.error:type_name -> xmtp.keystore_api.v1.KeystoreError + 53, // 27: xmtp.keystore_api.v1.DecryptV2Request.Request.payload:type_name -> xmtp.message_contents.Ciphertext + 54, // 28: xmtp.keystore_api.v1.EncryptV1Request.Request.recipient:type_name -> xmtp.message_contents.PublicKeyBundle + 38, // 29: xmtp.keystore_api.v1.EncryptResponse.Response.result:type_name -> xmtp.keystore_api.v1.EncryptResponse.Response.Success + 3, // 30: xmtp.keystore_api.v1.EncryptResponse.Response.error:type_name -> xmtp.keystore_api.v1.KeystoreError + 53, // 31: xmtp.keystore_api.v1.EncryptResponse.Response.Success.encrypted:type_name -> xmtp.message_contents.Ciphertext + 42, // 32: xmtp.keystore_api.v1.SelfEncryptResponse.Response.result:type_name -> xmtp.keystore_api.v1.SelfEncryptResponse.Response.Success + 3, // 33: xmtp.keystore_api.v1.SelfEncryptResponse.Response.error:type_name -> xmtp.keystore_api.v1.KeystoreError + 46, // 34: xmtp.keystore_api.v1.SaveInvitesResponse.Response.result:type_name -> xmtp.keystore_api.v1.SaveInvitesResponse.Response.Success + 3, // 35: xmtp.keystore_api.v1.SaveInvitesResponse.Response.error:type_name -> xmtp.keystore_api.v1.KeystoreError + 51, // 36: xmtp.keystore_api.v1.SaveInvitesResponse.Response.Success.conversation:type_name -> xmtp.message_contents.ConversationReference + 55, // 37: xmtp.keystore_api.v1.TopicMap.TopicData.invitation:type_name -> xmtp.message_contents.InvitationV1 + 47, // 38: xmtp.keystore_api.v1.TopicMap.TopicsEntry.value:type_name -> xmtp.keystore_api.v1.TopicMap.TopicData + 39, // [39:39] is the sub-list for method output_type + 39, // [39:39] is the sub-list for method input_type + 39, // [39:39] is the sub-list for extension type_name + 39, // [39:39] is the sub-list for extension extendee + 0, // [0:39] is the sub-list for field type_name } func init() { file_keystore_api_v1_keystore_proto_init() } @@ -2736,7 +3214,7 @@ func file_keystore_api_v1_keystore_proto_init() { } } file_keystore_api_v1_keystore_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CreateInviteRequest); i { + switch v := v.(*SelfEncryptRequest); i { case 0: return &v.state case 1: @@ -2748,7 +3226,7 @@ func file_keystore_api_v1_keystore_proto_init() { } } file_keystore_api_v1_keystore_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CreateInviteResponse); i { + switch v := v.(*SelfEncryptResponse); i { case 0: return &v.state case 1: @@ -2760,7 +3238,7 @@ func file_keystore_api_v1_keystore_proto_init() { } } file_keystore_api_v1_keystore_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SaveInvitesRequest); i { + switch v := v.(*SelfDecryptRequest); i { case 0: return &v.state case 1: @@ -2772,7 +3250,7 @@ func file_keystore_api_v1_keystore_proto_init() { } } file_keystore_api_v1_keystore_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SaveInvitesResponse); i { + switch v := v.(*GetPrivatePreferencesTopicIdentifierResponse); i { case 0: return &v.state case 1: @@ -2784,7 +3262,7 @@ func file_keystore_api_v1_keystore_proto_init() { } } file_keystore_api_v1_keystore_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CreateAuthTokenRequest); i { + switch v := v.(*CreateInviteRequest); i { case 0: return &v.state case 1: @@ -2796,7 +3274,7 @@ func file_keystore_api_v1_keystore_proto_init() { } } file_keystore_api_v1_keystore_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SaveV1ConversationsRequest); i { + switch v := v.(*CreateInviteResponse); i { case 0: return &v.state case 1: @@ -2808,7 +3286,7 @@ func file_keystore_api_v1_keystore_proto_init() { } } file_keystore_api_v1_keystore_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SaveV1ConversationsResponse); i { + switch v := v.(*SaveInvitesRequest); i { case 0: return &v.state case 1: @@ -2820,7 +3298,7 @@ func file_keystore_api_v1_keystore_proto_init() { } } file_keystore_api_v1_keystore_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetConversationsResponse); i { + switch v := v.(*SaveInvitesResponse); i { case 0: return &v.state case 1: @@ -2832,7 +3310,7 @@ func file_keystore_api_v1_keystore_proto_init() { } } file_keystore_api_v1_keystore_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetKeystoreStatusRequest); i { + switch v := v.(*CreateAuthTokenRequest); i { case 0: return &v.state case 1: @@ -2844,7 +3322,7 @@ func file_keystore_api_v1_keystore_proto_init() { } } file_keystore_api_v1_keystore_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetKeystoreStatusResponse); i { + switch v := v.(*SaveV1ConversationsRequest); i { case 0: return &v.state case 1: @@ -2856,7 +3334,7 @@ func file_keystore_api_v1_keystore_proto_init() { } } file_keystore_api_v1_keystore_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*InitKeystoreRequest); i { + switch v := v.(*SaveV1ConversationsResponse); i { case 0: return &v.state case 1: @@ -2868,7 +3346,7 @@ func file_keystore_api_v1_keystore_proto_init() { } } file_keystore_api_v1_keystore_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*InitKeystoreResponse); i { + switch v := v.(*GetConversationsResponse); i { case 0: return &v.state case 1: @@ -2880,7 +3358,7 @@ func file_keystore_api_v1_keystore_proto_init() { } } file_keystore_api_v1_keystore_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SignDigestRequest); i { + switch v := v.(*GetKeystoreStatusRequest); i { case 0: return &v.state case 1: @@ -2892,7 +3370,7 @@ func file_keystore_api_v1_keystore_proto_init() { } } file_keystore_api_v1_keystore_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetRefreshJobRequest); i { + switch v := v.(*GetKeystoreStatusResponse); i { case 0: return &v.state case 1: @@ -2904,7 +3382,7 @@ func file_keystore_api_v1_keystore_proto_init() { } } file_keystore_api_v1_keystore_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetRefreshJobResponse); i { + switch v := v.(*InitKeystoreRequest); i { case 0: return &v.state case 1: @@ -2916,7 +3394,7 @@ func file_keystore_api_v1_keystore_proto_init() { } } file_keystore_api_v1_keystore_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SetRefeshJobRequest); i { + switch v := v.(*InitKeystoreResponse); i { case 0: return &v.state case 1: @@ -2928,7 +3406,7 @@ func file_keystore_api_v1_keystore_proto_init() { } } file_keystore_api_v1_keystore_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SetRefreshJobResponse); i { + switch v := v.(*SignDigestRequest); i { case 0: return &v.state case 1: @@ -2940,7 +3418,7 @@ func file_keystore_api_v1_keystore_proto_init() { } } file_keystore_api_v1_keystore_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*TopicMap); i { + switch v := v.(*GetRefreshJobRequest); i { case 0: return &v.state case 1: @@ -2952,7 +3430,7 @@ func file_keystore_api_v1_keystore_proto_init() { } } file_keystore_api_v1_keystore_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DecryptV1Request_Request); i { + switch v := v.(*GetRefreshJobResponse); i { case 0: return &v.state case 1: @@ -2964,7 +3442,7 @@ func file_keystore_api_v1_keystore_proto_init() { } } file_keystore_api_v1_keystore_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DecryptResponse_Response); i { + switch v := v.(*SetRefeshJobRequest); i { case 0: return &v.state case 1: @@ -2976,7 +3454,7 @@ func file_keystore_api_v1_keystore_proto_init() { } } file_keystore_api_v1_keystore_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DecryptResponse_Response_Success); i { + switch v := v.(*SetRefreshJobResponse); i { case 0: return &v.state case 1: @@ -2988,7 +3466,7 @@ func file_keystore_api_v1_keystore_proto_init() { } } file_keystore_api_v1_keystore_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DecryptV2Request_Request); i { + switch v := v.(*TopicMap); i { case 0: return &v.state case 1: @@ -3000,7 +3478,7 @@ func file_keystore_api_v1_keystore_proto_init() { } } file_keystore_api_v1_keystore_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*EncryptV1Request_Request); i { + switch v := v.(*DecryptV1Request_Request); i { case 0: return &v.state case 1: @@ -3012,7 +3490,7 @@ func file_keystore_api_v1_keystore_proto_init() { } } file_keystore_api_v1_keystore_proto_msgTypes[30].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*EncryptResponse_Response); i { + switch v := v.(*DecryptResponse_Response); i { case 0: return &v.state case 1: @@ -3024,7 +3502,7 @@ func file_keystore_api_v1_keystore_proto_init() { } } file_keystore_api_v1_keystore_proto_msgTypes[31].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*EncryptResponse_Response_Success); i { + switch v := v.(*DecryptResponse_Response_Success); i { case 0: return &v.state case 1: @@ -3036,7 +3514,7 @@ func file_keystore_api_v1_keystore_proto_init() { } } file_keystore_api_v1_keystore_proto_msgTypes[32].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*EncryptV2Request_Request); i { + switch v := v.(*DecryptV2Request_Request); i { case 0: return &v.state case 1: @@ -3048,7 +3526,7 @@ func file_keystore_api_v1_keystore_proto_init() { } } file_keystore_api_v1_keystore_proto_msgTypes[33].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SaveInvitesRequest_Request); i { + switch v := v.(*EncryptV1Request_Request); i { case 0: return &v.state case 1: @@ -3060,7 +3538,7 @@ func file_keystore_api_v1_keystore_proto_init() { } } file_keystore_api_v1_keystore_proto_msgTypes[34].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SaveInvitesResponse_Response); i { + switch v := v.(*EncryptResponse_Response); i { case 0: return &v.state case 1: @@ -3072,7 +3550,7 @@ func file_keystore_api_v1_keystore_proto_init() { } } file_keystore_api_v1_keystore_proto_msgTypes[35].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SaveInvitesResponse_Response_Success); i { + switch v := v.(*EncryptResponse_Response_Success); i { case 0: return &v.state case 1: @@ -3084,6 +3562,102 @@ func file_keystore_api_v1_keystore_proto_init() { } } file_keystore_api_v1_keystore_proto_msgTypes[36].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*EncryptV2Request_Request); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_keystore_api_v1_keystore_proto_msgTypes[37].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SelfEncryptRequest_Request); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_keystore_api_v1_keystore_proto_msgTypes[38].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SelfEncryptResponse_Response); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_keystore_api_v1_keystore_proto_msgTypes[39].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SelfEncryptResponse_Response_Success); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_keystore_api_v1_keystore_proto_msgTypes[40].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SelfDecryptRequest_Request); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_keystore_api_v1_keystore_proto_msgTypes[41].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SaveInvitesRequest_Request); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_keystore_api_v1_keystore_proto_msgTypes[42].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SaveInvitesResponse_Response); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_keystore_api_v1_keystore_proto_msgTypes[43].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SaveInvitesResponse_Response_Success); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_keystore_api_v1_keystore_proto_msgTypes[44].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*TopicMap_TopicData); i { case 0: return &v.state @@ -3096,23 +3670,27 @@ func file_keystore_api_v1_keystore_proto_init() { } } } - file_keystore_api_v1_keystore_proto_msgTypes[11].OneofWrappers = []interface{}{} - file_keystore_api_v1_keystore_proto_msgTypes[17].OneofWrappers = []interface{}{ + file_keystore_api_v1_keystore_proto_msgTypes[15].OneofWrappers = []interface{}{} + file_keystore_api_v1_keystore_proto_msgTypes[21].OneofWrappers = []interface{}{ (*InitKeystoreRequest_V1)(nil), } - file_keystore_api_v1_keystore_proto_msgTypes[19].OneofWrappers = []interface{}{ + file_keystore_api_v1_keystore_proto_msgTypes[23].OneofWrappers = []interface{}{ (*SignDigestRequest_IdentityKey)(nil), (*SignDigestRequest_PrekeyIndex)(nil), } - file_keystore_api_v1_keystore_proto_msgTypes[26].OneofWrappers = []interface{}{ + file_keystore_api_v1_keystore_proto_msgTypes[30].OneofWrappers = []interface{}{ (*DecryptResponse_Response_Result)(nil), (*DecryptResponse_Response_Error)(nil), } - file_keystore_api_v1_keystore_proto_msgTypes[30].OneofWrappers = []interface{}{ + file_keystore_api_v1_keystore_proto_msgTypes[34].OneofWrappers = []interface{}{ (*EncryptResponse_Response_Result)(nil), (*EncryptResponse_Response_Error)(nil), } - file_keystore_api_v1_keystore_proto_msgTypes[34].OneofWrappers = []interface{}{ + file_keystore_api_v1_keystore_proto_msgTypes[38].OneofWrappers = []interface{}{ + (*SelfEncryptResponse_Response_Result)(nil), + (*SelfEncryptResponse_Response_Error)(nil), + } + file_keystore_api_v1_keystore_proto_msgTypes[42].OneofWrappers = []interface{}{ (*SaveInvitesResponse_Response_Result)(nil), (*SaveInvitesResponse_Response_Error)(nil), } @@ -3122,7 +3700,7 @@ func file_keystore_api_v1_keystore_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_keystore_api_v1_keystore_proto_rawDesc, NumEnums: 3, - NumMessages: 38, + NumMessages: 46, NumExtensions: 0, NumServices: 0, }, diff --git a/go/message_api/v1/message_api.pb.go b/go/message_api/v1/message_api.pb.go index 1222af5e..dd46ff38 100644 --- a/go/message_api/v1/message_api.pb.go +++ b/go/message_api/v1/message_api.pb.go @@ -143,6 +143,7 @@ type Cursor struct { // This way we can handle both methods // // Types that are assignable to Cursor: + // // *Cursor_Index Cursor isCursor_Cursor `protobuf_oneof:"cursor"` } diff --git a/go/message_api/v3/mls.pb.go b/go/message_api/v3/mls.pb.go index e86af28e..75ed7c85 100644 --- a/go/message_api/v3/mls.pb.go +++ b/go/message_api/v3/mls.pb.go @@ -179,7 +179,6 @@ func (x *RegisterInstallationRequest) GetSigningKeyPublic() []byte { return nil } -// type RegisterInstallationResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -809,6 +808,7 @@ type GetIdentityUpdatesResponse_Update struct { TimestampNs uint64 `protobuf:"varint,1,opt,name=timestamp_ns,json=timestampNs,proto3" json:"timestamp_ns,omitempty"` // Types that are assignable to Kind: + // // *GetIdentityUpdatesResponse_Update_NewInstallation // *GetIdentityUpdatesResponse_Update_RevokedInstallation Kind isGetIdentityUpdatesResponse_Update_Kind `protobuf_oneof:"kind"` diff --git a/go/message_contents/ciphertext.pb.go b/go/message_contents/ciphertext.pb.go index 9ceed39a..d0a56673 100644 --- a/go/message_contents/ciphertext.pb.go +++ b/go/message_contents/ciphertext.pb.go @@ -32,6 +32,7 @@ type Ciphertext struct { unknownFields protoimpl.UnknownFields // Types that are assignable to Union: + // // *Ciphertext_Aes256GcmHkdfSha256 Union isCiphertext_Union `protobuf_oneof:"union"` } diff --git a/go/message_contents/composite.pb.go b/go/message_contents/composite.pb.go index 28016550..9c52b88a 100644 --- a/go/message_contents/composite.pb.go +++ b/go/message_contents/composite.pb.go @@ -77,6 +77,7 @@ type Composite_Part struct { unknownFields protoimpl.UnknownFields // Types that are assignable to Element: + // // *Composite_Part_Part // *Composite_Part_Composite Element isComposite_Part_Element `protobuf_oneof:"element"` diff --git a/go/message_contents/contact.pb.go b/go/message_contents/contact.pb.go index d29c7f7c..7b9df860 100644 --- a/go/message_contents/contact.pb.go +++ b/go/message_contents/contact.pb.go @@ -130,6 +130,7 @@ type ContactBundle struct { unknownFields protoimpl.UnknownFields // Types that are assignable to Version: + // // *ContactBundle_V1 // *ContactBundle_V2 Version isContactBundle_Version `protobuf_oneof:"version"` diff --git a/go/message_contents/invitation.pb.go b/go/message_contents/invitation.pb.go index 206a2c6c..aea64918 100644 --- a/go/message_contents/invitation.pb.go +++ b/go/message_contents/invitation.pb.go @@ -39,6 +39,7 @@ type InvitationV1 struct { // message encryption scheme and keys for this conversation. // // Types that are assignable to Encryption: + // // *InvitationV1_Aes256GcmHkdfSha256 Encryption isInvitationV1_Encryption `protobuf_oneof:"encryption"` } @@ -249,6 +250,7 @@ type SealedInvitation struct { unknownFields protoimpl.UnknownFields // Types that are assignable to Version: + // // *SealedInvitation_V1 Version isSealedInvitation_Version `protobuf_oneof:"version"` } diff --git a/go/message_contents/message.pb.go b/go/message_contents/message.pb.go index 8bb8a649..5e213a37 100644 --- a/go/message_contents/message.pb.go +++ b/go/message_contents/message.pb.go @@ -269,6 +269,7 @@ type Message struct { unknownFields protoimpl.UnknownFields // Types that are assignable to Version: + // // *Message_V1 // *Message_V2 Version isMessage_Version `protobuf_oneof:"version"` diff --git a/go/message_contents/private_key.pb.go b/go/message_contents/private_key.pb.go index 97356241..e1066b6b 100644 --- a/go/message_contents/private_key.pb.go +++ b/go/message_contents/private_key.pb.go @@ -36,6 +36,7 @@ type SignedPrivateKey struct { // private key // // Types that are assignable to Union: + // // *SignedPrivateKey_Secp256K1_ Union isSignedPrivateKey_Union `protobuf_oneof:"union"` // public key for this private key @@ -181,6 +182,7 @@ type PrivateKey struct { // private key // // Types that are assignable to Union: + // // *PrivateKey_Secp256K1_ Union isPrivateKey_Union `protobuf_oneof:"union"` // public key for this private key @@ -321,6 +323,7 @@ type PrivateKeyBundle struct { unknownFields protoimpl.UnknownFields // Types that are assignable to Version: + // // *PrivateKeyBundle_V1 // *PrivateKeyBundle_V2 Version isPrivateKeyBundle_Version `protobuf_oneof:"version"` @@ -464,6 +467,7 @@ type EncryptedPrivateKeyBundle struct { unknownFields protoimpl.UnknownFields // Types that are assignable to Version: + // // *EncryptedPrivateKeyBundle_V1 Version isEncryptedPrivateKeyBundle_Version `protobuf_oneof:"version"` } diff --git a/go/message_contents/public_key.pb.go b/go/message_contents/public_key.pb.go index 98e03dbb..4144db6f 100644 --- a/go/message_contents/public_key.pb.go +++ b/go/message_contents/public_key.pb.go @@ -32,6 +32,7 @@ type UnsignedPublicKey struct { CreatedNs uint64 `protobuf:"varint,1,opt,name=created_ns,json=createdNs,proto3" json:"created_ns,omitempty"` // Types that are assignable to Union: + // // *UnsignedPublicKey_Secp256K1Uncompressed_ Union isUnsignedPublicKey_Union `protobuf_oneof:"union"` } @@ -223,6 +224,7 @@ type PublicKey struct { Timestamp uint64 `protobuf:"varint,1,opt,name=timestamp,proto3" json:"timestamp,omitempty"` Signature *Signature `protobuf:"bytes,2,opt,name=signature,proto3,oneof" json:"signature,omitempty"` // Types that are assignable to Union: + // // *PublicKey_Secp256K1Uncompressed_ Union isPublicKey_Union `protobuf_oneof:"union"` } diff --git a/go/message_contents/signature.pb.go b/go/message_contents/signature.pb.go index b0980ad6..8efe6cb5 100644 --- a/go/message_contents/signature.pb.go +++ b/go/message_contents/signature.pb.go @@ -30,6 +30,7 @@ type Signature struct { unknownFields protoimpl.UnknownFields // Types that are assignable to Union: + // // *Signature_EcdsaCompact // *Signature_WalletEcdsaCompact Union isSignature_Union `protobuf_oneof:"union"` diff --git a/go/mls/message_contents/message.pb.go b/go/mls/message_contents/message.pb.go index 2ea225da..3d09ef5a 100644 --- a/go/mls/message_contents/message.pb.go +++ b/go/mls/message_contents/message.pb.go @@ -29,6 +29,7 @@ type WelcomeMessage struct { unknownFields protoimpl.UnknownFields // Types that are assignable to Version: + // // *WelcomeMessage_V1_ Version isWelcomeMessage_Version `protobuf_oneof:"version"` } @@ -96,6 +97,7 @@ type GroupMessage struct { unknownFields protoimpl.UnknownFields // Types that are assignable to Version: + // // *GroupMessage_V1_ Version isGroupMessage_Version `protobuf_oneof:"version"` } diff --git a/proto/keystore_api/v1/keystore.proto b/proto/keystore_api/v1/keystore.proto index 814b7278..99211551 100644 --- a/proto/keystore_api/v1/keystore.proto +++ b/proto/keystore_api/v1/keystore.proto @@ -110,6 +110,49 @@ message EncryptV2Request { repeated Request requests = 1; } +// Encrypt a message for yourself +message SelfEncryptRequest { + // Request type + message Request { + bytes payload = 1; + } + + repeated Request requests = 1; +} + +// Response type for SelfEncryptRequest +message SelfEncryptResponse { + // Response type + message Response { + // Success response + message Success { + bytes encrypted = 1; + } + + oneof response { + Success result = 1; + KeystoreError error = 2; + } + } + + repeated Response responses = 1; +} + +// SelfDecryptRequest +message SelfDecryptRequest { + // Request type + message Request { + bytes payload = 1; + } + + repeated Request requests = 1; +} + +// Get the private preferences topic identifier +message GetPrivatePreferencesTopicIdentifierResponse { + string identifier = 1; +} + // Request to create an invite payload, and store the topic keys in the Keystore message CreateInviteRequest { xmtp.message_contents.InvitationV1.Context context = 1;