feat(ActivityCenter): Add missing AC notifications for verification requests (#3029)

* feat(ActivityCenter): Add missing AC notifications for verification requests
* fix(Contacts): Fix updates for trusted and untrustworthy statuses
* feat(ActivityCenter): Add test for trusted verification request and AC notifications
* feat(Contacts): Trusted and untrustworthy statuses should be unknown for verificated side
This commit is contained in:
Mikhail Rogachev 2022-12-26 08:35:46 +04:00 committed by GitHub
parent d98d83d308
commit 5005b7b3cf
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
9 changed files with 251 additions and 249 deletions

View File

@ -4003,15 +4003,6 @@ func (m *Messenger) handleRetrievedMessages(chatWithMessages map[transport.Filte
continue
}
case protobuf.ContactVerificationTrusted:
logger.Debug("Handling ContactVerificationTrusted")
err = m.HandleContactVerificationTrusted(messageState, msg.ParsedMessage.Interface().(protobuf.ContactVerificationTrusted))
if err != nil {
logger.Warn("failed to handle ContactVerificationTrusted", zap.Error(err))
allMessagesProcessed = false
continue
}
case protobuf.CommunityInvitation:
logger.Debug("Handling CommunityInvitation")
invitation := msg.ParsedMessage.Interface().(protobuf.CommunityInvitation)

View File

@ -119,6 +119,11 @@ func (m *Messenger) SendContactVerificationRequest(ctx context.Context, contactI
VerificationRequests: []*verification.Request{verifRequest},
}
err = m.createOrUpdateOutgoingContactVerificationNotification(contact, response, verifRequest, chatMessage, nil)
if err != nil {
return nil, err
}
response.AddMessage(chatMessage)
m.prepareMessages(response.messages)
@ -231,6 +236,27 @@ func (m *Messenger) CancelVerificationRequest(ctx context.Context, id string) (*
return nil, err
}
notification, err := m.persistence.GetActivityCenterNotificationByID(types.FromHex(id))
if err != nil {
return nil, err
}
if notification != nil {
err := m.persistence.UpdateActivityCenterNotificationContactVerificationStatus(notification.ID, verification.RequestStatusCANCELED)
if err != nil {
return nil, err
}
notification.ContactVerificationStatus = verification.RequestStatusCANCELED
message := notification.Message
message.ContactVerificationState = common.ContactVerificationStateCanceled
err = m.persistence.UpdateActivityCenterNotificationMessage(notification.ID, message)
if err != nil {
return nil, err
}
response.AddActivityCenterNotification(notification)
}
return response, nil
}
@ -394,26 +420,6 @@ func (m *Messenger) VerifiedTrusted(ctx context.Context, request *requests.Verif
chat.Active = false
}
r := &protobuf.ContactVerificationTrusted{
Clock: clock,
}
encodedMessage, err := proto.Marshal(r)
if err != nil {
return nil, err
}
_, err = m.dispatchMessage(ctx, common.RawMessage{
LocalChatID: chat.ID,
Payload: encodedMessage,
MessageType: protobuf.ApplicationMetadataMessage_CONTACT_VERIFICATION_TRUSTED,
ResendAutomatically: true,
})
if err != nil {
return nil, err
}
verifRequest, err := m.verificationDatabase.GetLatestVerificationRequestSentTo(contactID)
if err != nil {
return nil, err
@ -507,6 +513,39 @@ func (m *Messenger) VerifiedUntrustworthy(ctx context.Context, request *requests
return nil, err
}
chat, ok := m.allChats.Load(contactID)
clock, _ := chat.NextClockAndTimestamp(m.getTimesource())
if !ok {
publicKey, err := contact.PublicKey()
if err != nil {
return nil, err
}
chat = OneToOneFromPublicKey(publicKey, m.getTimesource())
// We don't want to show the chat to the user
chat.Active = false
}
verifRequest, err := m.verificationDatabase.GetLatestVerificationRequestSentTo(contactID)
if err != nil {
return nil, err
}
if verifRequest == nil {
return nil, errors.New("no contact verification found")
}
verifRequest.RequestStatus = verification.RequestStatusUNTRUSTWORTHY
verifRequest.RepliedAt = clock
err = m.verificationDatabase.SaveVerificationRequest(verifRequest)
if err != nil {
return nil, err
}
err = m.SyncVerificationRequest(context.Background(), verifRequest)
if err != nil {
return nil, err
}
// We sync the contact with the other devices
err = m.syncContact(context.Background(), contact)
if err != nil {
@ -763,7 +802,7 @@ func (m *Messenger) HandleRequestContactVerification(state *ReceivedMessageState
state.AllVerificationRequests = append(state.AllVerificationRequests, persistedVR)
return m.createContactVerificationNotification(contact, state, persistedVR, chatMessage, nil)
return m.createOrUpdateIncomingContactVerificationNotification(contact, state, persistedVR, chatMessage, nil)
}
func ValidateAcceptContactVerification(request protobuf.AcceptContactVerification) error {
@ -859,7 +898,7 @@ func (m *Messenger) HandleAcceptContactVerification(state *ReceivedMessageState,
state.Response.AddMessage(msg)
err = m.createContactVerificationNotification(contact, state, persistedVR, msg, chatMessage)
err = m.createOrUpdateOutgoingContactVerificationNotification(contact, state.Response, persistedVR, msg, chatMessage)
if err != nil {
return err
}
@ -930,7 +969,7 @@ func (m *Messenger) HandleDeclineContactVerification(state *ReceivedMessageState
state.Response.AddMessage(msg)
}
return m.createContactVerificationNotification(contact, state, persistedVR, msg, nil)
return m.createOrUpdateOutgoingContactVerificationNotification(contact, state.Response, persistedVR, msg, nil)
}
func (m *Messenger) HandleCancelContactVerification(state *ReceivedMessageState, request protobuf.CancelContactVerification) error {
@ -983,98 +1022,30 @@ func (m *Messenger) HandleCancelContactVerification(state *ReceivedMessageState,
state.Response.AddMessage(msg)
}
return m.createContactVerificationNotification(contact, state, persistedVR, msg, nil)
}
func (m *Messenger) HandleContactVerificationTrusted(state *ReceivedMessageState, request protobuf.ContactVerificationTrusted) error {
if common.IsPubKeyEqual(state.CurrentMessageState.PublicKey, &m.identity.PublicKey) {
return nil // Is ours, do nothing
}
if len(request.Id) == 0 {
return errors.New("invalid ContactVerificationTrusted")
}
myPubKey := hexutil.Encode(crypto.FromECDSAPub(&m.identity.PublicKey))
contactID := hexutil.Encode(crypto.FromECDSAPub(state.CurrentMessageState.PublicKey))
contact := state.CurrentMessageState.Contact
if !contact.Added || !contact.HasAddedUs {
m.logger.Debug("Received a verification trusted for a non mutual contact", zap.String("contactID", contactID))
return errors.New("must be a mutual contact")
}
err := m.verificationDatabase.SetTrustStatus(contactID, verification.TrustStatusTRUSTED, m.getTimesource().GetCurrentTime())
if err != nil {
return err
}
err = m.SyncTrustedUser(context.Background(), contactID, verification.TrustStatusTRUSTED)
if err != nil {
return err
}
persistedVR, err := m.verificationDatabase.GetVerificationRequest(request.Id)
if err != nil {
m.logger.Debug("Error obtaining verification request", zap.Error(err))
return err
}
if persistedVR != nil && persistedVR.RepliedAt > request.Clock {
return nil // older message, ignore it
}
if persistedVR.RequestStatus == verification.RequestStatusCANCELED {
return nil // Do nothing, We have already cancelled the verification request
}
if persistedVR == nil {
// This is a response for which we have not received its request before
persistedVR = &verification.Request{}
persistedVR.From = contactID
persistedVR.To = myPubKey
}
persistedVR.RequestStatus = verification.RequestStatusTRUSTED
err = m.verificationDatabase.SaveVerificationRequest(persistedVR)
if err != nil {
m.logger.Debug("Error storing verification request", zap.Error(err))
return err
}
err = m.SyncVerificationRequest(context.Background(), persistedVR)
if err != nil {
return err
}
state.AllVerificationRequests = append(state.AllVerificationRequests, persistedVR)
contact.VerificationStatus = VerificationStatusVERIFIED
contact.LastUpdatedLocally = m.getTimesource().GetCurrentTime()
err = m.persistence.SaveContact(contact, nil)
if err != nil {
return err
}
state.ModifiedContacts.Store(contact.ID, true)
state.AllContacts.Store(contact.ID, contact)
// We sync the contact with the other devices
err = m.syncContact(context.Background(), contact)
if err != nil {
return err
}
// TODO: create or update activity center notification
return nil
return m.createOrUpdateIncomingContactVerificationNotification(contact, state, persistedVR, msg, nil)
}
func (m *Messenger) GetLatestVerificationRequestFrom(contactID string) (*verification.Request, error) {
return m.verificationDatabase.GetLatestVerificationRequestFrom(contactID)
}
func (m *Messenger) createContactVerificationNotification(contact *Contact, messageState *ReceivedMessageState, vr *verification.Request, chatMessage *common.Message, replyMessage *common.Message) error {
func (m *Messenger) createOrUpdateOutgoingContactVerificationNotification(contact *Contact, response *MessengerResponse, vr *verification.Request, chatMessage *common.Message, replyMessage *common.Message) error {
notification := &ActivityCenterNotification{
ID: types.FromHex(vr.ID),
Name: contact.CanonicalName(),
Type: ActivityCenterNotificationTypeContactVerification,
Author: chatMessage.From,
Message: chatMessage,
ReplyMessage: replyMessage,
Timestamp: chatMessage.WhisperTimestamp,
ChatID: contact.ID,
ContactVerificationStatus: vr.RequestStatus,
}
return m.addActivityCenterNotification(response, notification)
}
func (m *Messenger) createOrUpdateIncomingContactVerificationNotification(contact *Contact, messageState *ReceivedMessageState, vr *verification.Request, chatMessage *common.Message, replyMessage *common.Message) error {
notification := &ActivityCenterNotification{
ID: types.FromHex(vr.ID),
Name: contact.CanonicalName(),
@ -1087,11 +1058,10 @@ func (m *Messenger) createContactVerificationNotification(contact *Contact, mess
ContactVerificationStatus: vr.RequestStatus,
}
return m.addActivityCenterNotification(messageState, notification)
return m.addActivityCenterNotification(messageState.Response, notification)
}
func (m *Messenger) createContactVerificationMessage(challenge string, chat *Chat, state *ReceivedMessageState, verificationStatus common.ContactVerificationState) (*common.Message, error) {
chatMessage := &common.Message{}
chatMessage.ID = state.CurrentMessageState.MessageID
chatMessage.From = state.CurrentMessageState.Contact.ID

View File

@ -278,6 +278,107 @@ func (s *MessengerVerificationRequests) TestAcceptVerificationRequests() {
}
func (s *MessengerVerificationRequests) TestTrustedVerificationRequests() {
theirMessenger := s.newMessenger(s.shh)
_, err := theirMessenger.Start()
s.Require().NoError(err)
s.mutualContact(theirMessenger)
theirPk := types.EncodeHex(crypto.FromECDSAPub(&theirMessenger.identity.PublicKey))
challenge := "challenge"
resp, err := s.m.SendContactVerificationRequest(context.Background(), theirPk, challenge)
s.Require().NoError(err)
s.Require().Len(resp.VerificationRequests, 1)
verificationRequestID := resp.VerificationRequests[0].ID
s.Require().Len(resp.Messages(), 1)
s.Require().NotEmpty(resp.Messages()[0].OutgoingStatus)
s.Require().Equal(challenge, resp.Messages()[0].Text)
s.Require().Equal(common.ContactVerificationStatePending, resp.Messages()[0].ContactVerificationState)
// Wait for the message to reach its destination
resp, err = WaitOnMessengerResponse(
theirMessenger,
func(r *MessengerResponse) bool {
return len(r.VerificationRequests) > 0 && len(r.ActivityCenterNotifications()) > 0
},
"no messages",
)
s.Require().NoError(err)
s.Require().Len(resp.VerificationRequests, 1)
s.Require().Equal(resp.VerificationRequests[0].ID, verificationRequestID)
s.Require().Equal(resp.ActivityCenterNotifications()[0].Type, ActivityCenterNotificationTypeContactVerification)
s.Require().Equal(resp.ActivityCenterNotifications()[0].ContactVerificationStatus, verification.RequestStatusPENDING)
s.Require().NotNil(resp.ActivityCenterNotifications()[0].Message)
s.Require().Equal(challenge, resp.ActivityCenterNotifications()[0].Message.Text)
s.Require().Equal(common.ContactVerificationStatePending, resp.ActivityCenterNotifications()[0].Message.ContactVerificationState)
s.Require().Len(resp.Messages(), 1)
s.Require().Empty(resp.Messages()[0].OutgoingStatus)
s.Require().Equal(challenge, resp.Messages()[0].Text)
s.Require().Equal(common.ContactVerificationStatePending, resp.Messages()[0].ContactVerificationState)
resp, err = theirMessenger.AcceptContactVerificationRequest(context.Background(), verificationRequestID, "hello back")
s.Require().NoError(err)
s.Require().NoError(err)
s.Require().Len(resp.VerificationRequests, 1)
s.Require().Equal(resp.VerificationRequests[0].ID, verificationRequestID)
s.Require().Equal(resp.VerificationRequests[0].RequestStatus, verification.RequestStatusACCEPTED)
s.Require().NotEmpty(resp.VerificationRequests[0].RepliedAt)
s.Require().Len(resp.ActivityCenterNotifications(), 1)
s.Require().Equal(resp.ActivityCenterNotifications()[0].ID.String(), verificationRequestID)
s.Require().Equal(resp.ActivityCenterNotifications()[0].ContactVerificationStatus, verification.RequestStatusACCEPTED)
s.Require().Equal(common.ContactVerificationStateAccepted, resp.ActivityCenterNotifications()[0].Message.ContactVerificationState)
s.Require().Len(resp.Messages(), 1)
s.Require().Equal(common.ContactVerificationStateAccepted, resp.Messages()[0].ContactVerificationState)
s.Require().NotNil(resp.ActivityCenterNotifications()[0].ReplyMessage)
s.Require().NotEmpty(resp.ActivityCenterNotifications()[0].ReplyMessage.OutgoingStatus)
s.Require().Equal("hello back", resp.ActivityCenterNotifications()[0].ReplyMessage.Text)
// Wait for the message to reach its destination
resp, err = WaitOnMessengerResponse(
s.m,
func(r *MessengerResponse) bool {
return len(r.VerificationRequests) > 0
},
"no messages",
)
s.Require().NoError(err)
s.Require().Len(resp.VerificationRequests, 1)
s.Require().Equal(resp.VerificationRequests[0].ID, verificationRequestID)
messages := resp.Messages()
s.Require().Len(messages, 2)
s.Require().Len(resp.ActivityCenterNotifications(), 1)
s.Require().Equal(resp.ActivityCenterNotifications()[0].ID.String(), verificationRequestID)
s.Require().Equal(resp.ActivityCenterNotifications()[0].ContactVerificationStatus, verification.RequestStatusACCEPTED)
s.Require().Equal(common.ContactVerificationStateAccepted, resp.ActivityCenterNotifications()[0].Message.ContactVerificationState)
s.Require().NotNil(resp.ActivityCenterNotifications()[0].ReplyMessage)
s.Require().Empty(resp.ActivityCenterNotifications()[0].ReplyMessage.OutgoingStatus)
s.Require().Equal("hello back", resp.ActivityCenterNotifications()[0].ReplyMessage.Text)
resp, err = s.m.VerifiedTrusted(context.Background(), &requests.VerifiedTrusted{ID: types.FromHex(verificationRequestID)})
s.Require().NoError(err)
s.Require().NotNil(resp)
s.Require().Len(resp.ActivityCenterNotifications(), 1)
s.Require().Equal(resp.ActivityCenterNotifications()[0].ID.String(), verificationRequestID)
s.Require().Equal(resp.ActivityCenterNotifications()[0].ContactVerificationStatus, verification.RequestStatusTRUSTED)
s.Require().Equal(common.ContactVerificationStateTrusted, resp.ActivityCenterNotifications()[0].Message.ContactVerificationState)
s.Require().Len(resp.Messages(), 1)
s.Require().Equal(common.ContactVerificationStateTrusted, resp.Messages()[0].ContactVerificationState)
}
func (s *MessengerVerificationRequests) TestUnthrustworthyVerificationRequests() {
theirMessenger := s.newMessenger(s.shh)
_, err := theirMessenger.Start()

View File

@ -232,7 +232,7 @@ func (m *Messenger) createMessageNotification(chat *Chat, messageState *Received
CommunityID: chat.CommunityID,
}
err := m.addActivityCenterNotification(messageState, notification)
err := m.addActivityCenterNotification(messageState.Response, notification)
if err != nil {
m.logger.Warn("failed to create activity center notification", zap.Error(err))
}
@ -333,7 +333,7 @@ func (m *Messenger) createContactRequestNotification(contact *Contact, messageSt
ChatID: contact.ID,
}
return m.addActivityCenterNotification(messageState, notification)
return m.addActivityCenterNotification(messageState.Response, notification)
}
func (m *Messenger) handleCommandMessage(state *ReceivedMessageState, message *common.Message) error {
@ -1683,13 +1683,13 @@ func (m *Messenger) HandleChatMessage(state *ReceivedMessageState) error {
return nil
}
func (m *Messenger) addActivityCenterNotification(state *ReceivedMessageState, notification *ActivityCenterNotification) error {
func (m *Messenger) addActivityCenterNotification(response *MessengerResponse, notification *ActivityCenterNotification) error {
err := m.persistence.SaveActivityCenterNotification(notification)
if err != nil {
m.logger.Warn("failed to save notification", zap.Error(err))
return err
}
state.Response.AddActivityCenterNotification(notification)
response.AddActivityCenterNotification(notification)
return nil
}

View File

@ -78,7 +78,6 @@ const (
ApplicationMetadataMessage_DECLINE_CONTACT_VERIFICATION ApplicationMetadataMessage_Type = 52
ApplicationMetadataMessage_SYNC_TRUSTED_USER ApplicationMetadataMessage_Type = 53
ApplicationMetadataMessage_SYNC_VERIFICATION_REQUEST ApplicationMetadataMessage_Type = 54
ApplicationMetadataMessage_CONTACT_VERIFICATION_TRUSTED ApplicationMetadataMessage_Type = 55
ApplicationMetadataMessage_SYNC_CONTACT_REQUEST_DECISION ApplicationMetadataMessage_Type = 56
ApplicationMetadataMessage_COMMUNITY_REQUEST_TO_LEAVE ApplicationMetadataMessage_Type = 57
ApplicationMetadataMessage_SYNC_DELETE_FOR_ME_MESSAGE ApplicationMetadataMessage_Type = 58
@ -143,7 +142,6 @@ var ApplicationMetadataMessage_Type_name = map[int32]string{
52: "DECLINE_CONTACT_VERIFICATION",
53: "SYNC_TRUSTED_USER",
54: "SYNC_VERIFICATION_REQUEST",
55: "CONTACT_VERIFICATION_TRUSTED",
56: "SYNC_CONTACT_REQUEST_DECISION",
57: "COMMUNITY_REQUEST_TO_LEAVE",
58: "SYNC_DELETE_FOR_ME_MESSAGE",
@ -208,7 +206,6 @@ var ApplicationMetadataMessage_Type_value = map[string]int32{
"DECLINE_CONTACT_VERIFICATION": 52,
"SYNC_TRUSTED_USER": 53,
"SYNC_VERIFICATION_REQUEST": 54,
"CONTACT_VERIFICATION_TRUSTED": 55,
"SYNC_CONTACT_REQUEST_DECISION": 56,
"COMMUNITY_REQUEST_TO_LEAVE": 57,
"SYNC_DELETE_FOR_ME_MESSAGE": 58,
@ -293,63 +290,62 @@ func init() {
}
var fileDescriptor_ad09a6406fcf24c7 = []byte{
// 914 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x84, 0x55, 0x5b, 0x77, 0x13, 0x37,
0x10, 0x6e, 0x20, 0x4d, 0x40, 0xb9, 0x29, 0x22, 0x17, 0xe7, 0x6e, 0x0c, 0x0d, 0x01, 0x5a, 0xd3,
0x42, 0xef, 0x94, 0x07, 0x59, 0x9a, 0xd8, 0xc2, 0xbb, 0xd2, 0x22, 0x69, 0xcd, 0x71, 0x5f, 0x74,
0x96, 0xe2, 0x72, 0x72, 0x0e, 0x10, 0x1f, 0x62, 0x1e, 0xf2, 0x2f, 0xfa, 0x7b, 0xfb, 0xd4, 0xa3,
0xbd, 0x3a, 0xb6, 0x53, 0x9e, 0x92, 0x9d, 0xf9, 0x34, 0xa3, 0xf9, 0xe6, 0xfb, 0x64, 0xd4, 0x48,
0x86, 0xc3, 0xf7, 0x67, 0x7f, 0x25, 0xa3, 0xb3, 0xf3, 0x8f, 0xee, 0xc3, 0x60, 0x94, 0xbc, 0x4d,
0x46, 0x89, 0xfb, 0x30, 0xb8, 0xb8, 0x48, 0xde, 0x0d, 0x9a, 0xc3, 0x4f, 0xe7, 0xa3, 0x73, 0x72,
0x2b, 0xfd, 0xf3, 0xe6, 0xf3, 0xdf, 0x8d, 0x7f, 0xd6, 0xd0, 0x2e, 0xad, 0x0e, 0x84, 0x39, 0x3e,
0xcc, 0xe0, 0x64, 0x1f, 0xdd, 0xbe, 0x38, 0x7b, 0xf7, 0x31, 0x19, 0x7d, 0xfe, 0x34, 0xa8, 0xcd,
0xd5, 0xe7, 0x4e, 0x96, 0x75, 0x15, 0x20, 0x35, 0xb4, 0x38, 0x4c, 0x2e, 0xdf, 0x9f, 0x27, 0x6f,
0x6b, 0x37, 0xd2, 0x5c, 0xf1, 0x49, 0x5e, 0xa0, 0xf9, 0xd1, 0xe5, 0x70, 0x50, 0xbb, 0x59, 0x9f,
0x3b, 0x59, 0x7d, 0xfa, 0xb0, 0x59, 0xf4, 0x6b, 0x5e, 0xdf, 0xab, 0x69, 0x2f, 0x87, 0x03, 0x9d,
0x1e, 0x6b, 0xfc, 0xbb, 0x82, 0xe6, 0xfd, 0x27, 0x59, 0x42, 0x8b, 0xb1, 0xec, 0x4a, 0xf5, 0x5a,
0xe2, 0xaf, 0x08, 0x46, 0xcb, 0xac, 0x43, 0xad, 0x0b, 0xc1, 0x18, 0xda, 0x06, 0x3c, 0x47, 0x08,
0x5a, 0x65, 0x4a, 0x5a, 0xca, 0xac, 0x8b, 0x23, 0x4e, 0x2d, 0xe0, 0x1b, 0xe4, 0x00, 0xed, 0x84,
0x10, 0xb6, 0x40, 0x9b, 0x8e, 0x88, 0xf2, 0x70, 0x79, 0xe4, 0x26, 0xd9, 0x44, 0xeb, 0x11, 0x15,
0xda, 0x09, 0x69, 0x2c, 0x0d, 0x02, 0x6a, 0x85, 0x92, 0x78, 0xde, 0x87, 0x4d, 0x5f, 0xb2, 0xab,
0xe1, 0xaf, 0xc9, 0x3d, 0x74, 0xa4, 0xe1, 0x55, 0x0c, 0xc6, 0x3a, 0xca, 0xb9, 0x06, 0x63, 0xdc,
0xa9, 0xd2, 0xce, 0x6a, 0x2a, 0x0d, 0x65, 0x29, 0x68, 0x81, 0x3c, 0x42, 0xc7, 0x94, 0x31, 0x88,
0xac, 0xfb, 0x12, 0x76, 0x91, 0x3c, 0x46, 0x0f, 0x38, 0xb0, 0x40, 0x48, 0xf8, 0x22, 0xf8, 0x16,
0xd9, 0x46, 0x77, 0x0a, 0xd0, 0x78, 0xe2, 0x36, 0xd9, 0x40, 0xd8, 0x80, 0xe4, 0x57, 0xa2, 0x88,
0x1c, 0xa1, 0xbd, 0xc9, 0xda, 0xe3, 0x80, 0x25, 0x4f, 0xcd, 0xd4, 0x90, 0x2e, 0x27, 0x10, 0x2f,
0xcf, 0x4e, 0x53, 0xc6, 0x54, 0x2c, 0x2d, 0x5e, 0x21, 0x77, 0xd1, 0xc1, 0x74, 0x3a, 0x8a, 0x5b,
0x81, 0x60, 0xce, 0xef, 0x05, 0xaf, 0x92, 0x43, 0xb4, 0x5b, 0xec, 0x83, 0x29, 0x0e, 0x8e, 0xf2,
0x1e, 0x68, 0x2b, 0x0c, 0x84, 0x20, 0x2d, 0x5e, 0x23, 0x0d, 0x74, 0x18, 0xc5, 0xa6, 0xe3, 0xa4,
0xb2, 0xe2, 0x54, 0xb0, 0xac, 0x84, 0x86, 0xb6, 0x30, 0x56, 0x67, 0x94, 0x63, 0xcf, 0xd0, 0xff,
0x63, 0x9c, 0x06, 0x13, 0x29, 0x69, 0x00, 0xaf, 0x93, 0x3d, 0xb4, 0x3d, 0x0d, 0x7e, 0x15, 0x83,
0xee, 0x63, 0x42, 0xee, 0xa3, 0xfa, 0x35, 0xc9, 0xaa, 0xc4, 0x1d, 0x3f, 0xf5, 0xac, 0x7e, 0x29,
0x7f, 0x78, 0xc3, 0x8f, 0x34, 0x2b, 0x9d, 0x1f, 0xdf, 0xf4, 0x12, 0x84, 0x50, 0xbd, 0x14, 0x4e,
0x43, 0xce, 0xf3, 0x16, 0xd9, 0x41, 0x9b, 0x6d, 0xad, 0xe2, 0x28, 0xa5, 0xc5, 0x09, 0xd9, 0x13,
0x36, 0x9b, 0x6e, 0x9b, 0xac, 0xa3, 0x95, 0x2c, 0xc8, 0x41, 0x5a, 0x61, 0xfb, 0xb8, 0xe6, 0xd1,
0x4c, 0x85, 0x61, 0x2c, 0x85, 0xed, 0x3b, 0x0e, 0x86, 0x69, 0x11, 0xa5, 0xe8, 0x1d, 0x52, 0x43,
0x1b, 0x55, 0x6a, 0xac, 0xce, 0xae, 0xbf, 0x75, 0x95, 0x29, 0xb7, 0xad, 0xdc, 0x4b, 0x25, 0x24,
0xde, 0x23, 0x6b, 0x68, 0x29, 0x12, 0xb2, 0x94, 0xfd, 0xbe, 0xf7, 0x0e, 0x70, 0x51, 0x79, 0xe7,
0xc0, 0xdf, 0xc4, 0x58, 0x6a, 0x63, 0x53, 0x58, 0xe7, 0xd0, 0xcf, 0xc2, 0x21, 0x80, 0x31, 0xbf,
0x1c, 0x79, 0x51, 0xcd, 0xd2, 0x4c, 0xde, 0x1a, 0xd7, 0xc9, 0x2e, 0xda, 0xa2, 0x52, 0xc9, 0x7e,
0xa8, 0x62, 0xe3, 0x42, 0xb0, 0x5a, 0x30, 0xd7, 0xa2, 0x96, 0x75, 0xf0, 0xdd, 0xd2, 0x55, 0xe9,
0xc8, 0x1a, 0x42, 0xd5, 0x03, 0x8e, 0x1b, 0x7e, 0x6b, 0x55, 0x38, 0x6f, 0x65, 0x3c, 0x81, 0x1c,
0xdf, 0x23, 0x08, 0x2d, 0xb4, 0x28, 0xeb, 0xc6, 0x11, 0xbe, 0x5f, 0x2a, 0xd2, 0x33, 0xdb, 0xf3,
0x93, 0x32, 0x90, 0x16, 0x74, 0x06, 0xfd, 0xa6, 0x54, 0xe4, 0x64, 0x3a, 0x73, 0x23, 0x70, 0x7c,
0xec, 0x15, 0x37, 0x13, 0xc2, 0x85, 0x09, 0x85, 0x31, 0xc0, 0xf1, 0x83, 0x94, 0x09, 0x8f, 0x69,
0x29, 0xd5, 0x0d, 0xa9, 0xee, 0xe2, 0x13, 0xb2, 0x85, 0x48, 0x76, 0xc3, 0x00, 0xa8, 0x76, 0x1d,
0x61, 0xac, 0xd2, 0x7d, 0xfc, 0xd0, 0xd3, 0x98, 0xc6, 0x0d, 0x58, 0x2b, 0x64, 0x1b, 0x3f, 0x22,
0x75, 0xb4, 0x5f, 0x2d, 0x82, 0x6a, 0xd6, 0x11, 0x3d, 0x70, 0x21, 0x6d, 0x4b, 0xb0, 0x81, 0x90,
0x5d, 0xfc, 0xd8, 0x2f, 0x31, 0x3d, 0x13, 0x69, 0x75, 0x2a, 0x02, 0x70, 0x91, 0x60, 0x36, 0xd6,
0x80, 0xbf, 0xf5, 0xfe, 0x4e, 0x33, 0xaf, 0x69, 0x10, 0x80, 0x2d, 0xad, 0xf6, 0x5d, 0xca, 0x69,
0xf6, 0xa2, 0x14, 0x76, 0x2a, 0x04, 0xd9, 0xf4, 0xe4, 0x69, 0xb0, 0x3a, 0xf3, 0xd8, 0xd5, 0xe4,
0x13, 0x72, 0x8c, 0x1a, 0xd7, 0xca, 0xa2, 0x52, 0xed, 0xf7, 0xd5, 0x06, 0x4a, 0x70, 0x3e, 0x91,
0xc1, 0x3f, 0xf8, 0x91, 0x8a, 0xa3, 0x45, 0x87, 0x1e, 0xe8, 0x52, 0xfd, 0xf8, 0xa9, 0x17, 0xc5,
0xc4, 0xfd, 0xae, 0x00, 0x9e, 0xf9, 0x12, 0xc5, 0x53, 0x34, 0x13, 0xf1, 0x63, 0x29, 0x0d, 0xab,
0x63, 0x63, 0x81, 0xbb, 0xd8, 0x80, 0xc6, 0x3f, 0x95, 0x1b, 0x1f, 0x47, 0x97, 0xf3, 0xfd, 0x9c,
0xb1, 0x3d, 0x5d, 0xaf, 0xa8, 0x82, 0x7f, 0x29, 0x35, 0x31, 0xc1, 0x8d, 0xe3, 0xc0, 0x84, 0xf1,
0xad, 0x7f, 0xcd, 0x5e, 0xa9, 0x19, 0x24, 0x05, 0x40, 0x7b, 0x80, 0x7f, 0xf3, 0xf9, 0xb4, 0x44,
0xee, 0x05, 0xff, 0x2e, 0x87, 0x95, 0x25, 0x7e, 0x2f, 0xc5, 0x61, 0x68, 0x0f, 0x78, 0xf1, 0x7c,
0xe3, 0xe7, 0xfe, 0xbd, 0xa9, 0xea, 0x32, 0x2a, 0x19, 0x04, 0x53, 0xd6, 0xfc, 0xc3, 0x73, 0x97,
0xe7, 0x66, 0x32, 0xf3, 0xa2, 0xb5, 0xf2, 0xe7, 0x52, 0xf3, 0xc9, 0xf3, 0xe2, 0x17, 0xf3, 0xcd,
0x42, 0xfa, 0xdf, 0xb3, 0xff, 0x02, 0x00, 0x00, 0xff, 0xff, 0xc3, 0x1d, 0x3f, 0x82, 0xd8, 0x07,
0x00, 0x00,
// 908 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x84, 0x55, 0x5b, 0x73, 0x13, 0x37,
0x14, 0x6e, 0x20, 0x4d, 0x40, 0xb9, 0xa0, 0x88, 0x5c, 0x9c, 0xbb, 0x31, 0x34, 0x04, 0x68, 0x4d,
0x0b, 0x6d, 0xa7, 0x2d, 0xe5, 0x41, 0x96, 0x4e, 0x6c, 0xe1, 0x5d, 0x69, 0x91, 0xb4, 0x66, 0xdc,
0x17, 0xcd, 0x52, 0x5c, 0x26, 0x33, 0x40, 0x3c, 0xc4, 0x3c, 0xe4, 0x9f, 0xf6, 0x57, 0xf4, 0x37,
0x74, 0xb4, 0x57, 0x27, 0xd9, 0x90, 0xa7, 0x64, 0xcf, 0xf7, 0xe9, 0x48, 0xe7, 0x3b, 0xdf, 0x39,
0x46, 0xad, 0x64, 0x3c, 0xfe, 0x70, 0xfc, 0x77, 0x32, 0x39, 0x3e, 0xf9, 0xe4, 0x3e, 0x8e, 0x26,
0xc9, 0xbb, 0x64, 0x92, 0xb8, 0x8f, 0xa3, 0xd3, 0xd3, 0xe4, 0xfd, 0xa8, 0x3d, 0xfe, 0x7c, 0x32,
0x39, 0x21, 0xb7, 0xd2, 0x3f, 0x6f, 0xbf, 0xfc, 0xd3, 0xfa, 0x6f, 0x19, 0x6d, 0xd1, 0xea, 0x40,
0x98, 0xf3, 0xc3, 0x8c, 0x4e, 0x76, 0xd0, 0xed, 0xd3, 0xe3, 0xf7, 0x9f, 0x92, 0xc9, 0x97, 0xcf,
0xa3, 0xc6, 0x4c, 0x73, 0xe6, 0x70, 0x51, 0x57, 0x01, 0xd2, 0x40, 0xf3, 0xe3, 0xe4, 0xec, 0xc3,
0x49, 0xf2, 0xae, 0x71, 0x23, 0xc5, 0x8a, 0x4f, 0xf2, 0x12, 0xcd, 0x4e, 0xce, 0xc6, 0xa3, 0xc6,
0xcd, 0xe6, 0xcc, 0xe1, 0xf2, 0xb3, 0x47, 0xed, 0xe2, 0xbe, 0xf6, 0xd5, 0x77, 0xb5, 0xed, 0xd9,
0x78, 0xa4, 0xd3, 0x63, 0xad, 0x7f, 0x97, 0xd0, 0xac, 0xff, 0x24, 0x0b, 0x68, 0x3e, 0x96, 0x7d,
0xa9, 0xde, 0x48, 0xfc, 0x0d, 0xc1, 0x68, 0x91, 0xf5, 0xa8, 0x75, 0x21, 0x18, 0x43, 0xbb, 0x80,
0x67, 0x08, 0x41, 0xcb, 0x4c, 0x49, 0x4b, 0x99, 0x75, 0x71, 0xc4, 0xa9, 0x05, 0x7c, 0x83, 0xec,
0xa2, 0xcd, 0x10, 0xc2, 0x0e, 0x68, 0xd3, 0x13, 0x51, 0x1e, 0x2e, 0x8f, 0xdc, 0x24, 0x6b, 0x68,
0x25, 0xa2, 0x42, 0x3b, 0x21, 0x8d, 0xa5, 0x41, 0x40, 0xad, 0x50, 0x12, 0xcf, 0xfa, 0xb0, 0x19,
0x4a, 0x76, 0x3e, 0xfc, 0x2d, 0xb9, 0x8f, 0xf6, 0x35, 0xbc, 0x8e, 0xc1, 0x58, 0x47, 0x39, 0xd7,
0x60, 0x8c, 0x3b, 0x52, 0xda, 0x59, 0x4d, 0xa5, 0xa1, 0x2c, 0x25, 0xcd, 0x91, 0xc7, 0xe8, 0x80,
0x32, 0x06, 0x91, 0x75, 0xd7, 0x71, 0xe7, 0xc9, 0x13, 0xf4, 0x90, 0x03, 0x0b, 0x84, 0x84, 0x6b,
0xc9, 0xb7, 0xc8, 0x06, 0xba, 0x5b, 0x90, 0xa6, 0x81, 0xdb, 0x64, 0x15, 0x61, 0x03, 0x92, 0x9f,
0x8b, 0x22, 0xb2, 0x8f, 0xb6, 0x2f, 0xe6, 0x9e, 0x26, 0x2c, 0x78, 0x69, 0x2e, 0x15, 0xe9, 0x72,
0x01, 0xf1, 0x62, 0x3d, 0x4c, 0x19, 0x53, 0xb1, 0xb4, 0x78, 0x89, 0xdc, 0x43, 0xbb, 0x97, 0xe1,
0x28, 0xee, 0x04, 0x82, 0x39, 0xdf, 0x17, 0xbc, 0x4c, 0xf6, 0xd0, 0x56, 0xd1, 0x0f, 0xa6, 0x38,
0x38, 0xca, 0x07, 0xa0, 0xad, 0x30, 0x10, 0x82, 0xb4, 0xf8, 0x0e, 0x69, 0xa1, 0xbd, 0x28, 0x36,
0x3d, 0x27, 0x95, 0x15, 0x47, 0x82, 0x65, 0x29, 0x34, 0x74, 0x85, 0xb1, 0x3a, 0x93, 0x1c, 0x7b,
0x85, 0xbe, 0xce, 0x71, 0x1a, 0x4c, 0xa4, 0xa4, 0x01, 0xbc, 0x42, 0xb6, 0xd1, 0xc6, 0x65, 0xf2,
0xeb, 0x18, 0xf4, 0x10, 0x13, 0xf2, 0x00, 0x35, 0xaf, 0x00, 0xab, 0x14, 0x77, 0x7d, 0xd5, 0x75,
0xf7, 0xa5, 0xfa, 0xe1, 0x55, 0x5f, 0x52, 0x1d, 0x9c, 0x1f, 0x5f, 0xf3, 0x16, 0x84, 0x50, 0xbd,
0x12, 0x4e, 0x43, 0xae, 0xf3, 0x3a, 0xd9, 0x44, 0x6b, 0x5d, 0xad, 0xe2, 0x28, 0x95, 0xc5, 0x09,
0x39, 0x10, 0x36, 0xab, 0x6e, 0x83, 0xac, 0xa0, 0xa5, 0x2c, 0xc8, 0x41, 0x5a, 0x61, 0x87, 0xb8,
0xe1, 0xd9, 0x4c, 0x85, 0x61, 0x2c, 0x85, 0x1d, 0x3a, 0x0e, 0x86, 0x69, 0x11, 0xa5, 0xec, 0x4d,
0xd2, 0x40, 0xab, 0x15, 0x34, 0x95, 0x67, 0xcb, 0xbf, 0xba, 0x42, 0xca, 0x6e, 0x2b, 0xf7, 0x4a,
0x09, 0x89, 0xb7, 0xc9, 0x1d, 0xb4, 0x10, 0x09, 0x59, 0xda, 0x7e, 0xc7, 0xcf, 0x0e, 0x70, 0x51,
0xcd, 0xce, 0xae, 0x7f, 0x89, 0xb1, 0xd4, 0xc6, 0xa6, 0x18, 0x9d, 0x3d, 0x5f, 0x0b, 0x87, 0x00,
0xa6, 0xe6, 0x65, 0xdf, 0x9b, 0xaa, 0xce, 0x33, 0xf9, 0xd5, 0xb8, 0x49, 0xb6, 0xd0, 0x3a, 0x95,
0x4a, 0x0e, 0x43, 0x15, 0x1b, 0x17, 0x82, 0xd5, 0x82, 0xb9, 0x0e, 0xb5, 0xac, 0x87, 0xef, 0x95,
0x53, 0x95, 0x96, 0xac, 0x21, 0x54, 0x03, 0xe0, 0xb8, 0xe5, 0xbb, 0x56, 0x85, 0xf3, 0xab, 0x8c,
0x17, 0x90, 0xe3, 0xfb, 0x04, 0xa1, 0xb9, 0x0e, 0x65, 0xfd, 0x38, 0xc2, 0x0f, 0x4a, 0x47, 0x7a,
0x65, 0x07, 0xbe, 0x52, 0x06, 0xd2, 0x82, 0xce, 0xa8, 0xdf, 0x95, 0x8e, 0xbc, 0x08, 0x67, 0xd3,
0x08, 0x1c, 0x1f, 0x78, 0xc7, 0xd5, 0x52, 0xb8, 0x30, 0xa1, 0x30, 0x06, 0x38, 0x7e, 0x98, 0x2a,
0xe1, 0x39, 0x1d, 0xa5, 0xfa, 0x21, 0xd5, 0x7d, 0x7c, 0x48, 0xd6, 0x11, 0xc9, 0x5e, 0x18, 0x00,
0xd5, 0xae, 0x27, 0x8c, 0x55, 0x7a, 0x88, 0x1f, 0x79, 0x19, 0xd3, 0xb8, 0x01, 0x6b, 0x85, 0xec,
0xe2, 0xc7, 0xa4, 0x89, 0x76, 0xaa, 0x46, 0x50, 0xcd, 0x7a, 0x62, 0x00, 0x2e, 0xa4, 0x5d, 0x09,
0x36, 0x10, 0xb2, 0x8f, 0x9f, 0xf8, 0x26, 0xa6, 0x67, 0x22, 0xad, 0x8e, 0x44, 0x00, 0x2e, 0x12,
0xcc, 0xc6, 0x1a, 0xf0, 0xf7, 0x7e, 0xbe, 0x53, 0xe4, 0x0d, 0x0d, 0x02, 0xb0, 0xe5, 0xa8, 0xfd,
0x90, 0x6a, 0x9a, 0x6d, 0x94, 0x62, 0x9c, 0x0a, 0x43, 0xb6, 0xbd, 0x78, 0x1a, 0xac, 0xce, 0x66,
0xec, 0x3c, 0xf8, 0x94, 0x1c, 0xa0, 0xd6, 0x95, 0xb6, 0xa8, 0x5c, 0xfb, 0x63, 0xd5, 0x81, 0x92,
0x9c, 0x57, 0x64, 0xf0, 0x4f, 0xbe, 0xa4, 0xe2, 0x68, 0x71, 0xc3, 0x00, 0x74, 0xe9, 0x7e, 0xfc,
0xcc, 0x9b, 0xe2, 0xc2, 0xfb, 0xce, 0x11, 0x9e, 0xfb, 0x14, 0xc5, 0x2a, 0xaa, 0x65, 0xfc, 0x5c,
0x5a, 0xc3, 0xea, 0xd8, 0x58, 0xe0, 0x2e, 0x36, 0xa0, 0xf1, 0x2f, 0x65, 0xc7, 0xa7, 0xd9, 0x65,
0x7d, 0xbf, 0x96, 0x1d, 0xbf, 0x50, 0xb9, 0xe3, 0xc0, 0x84, 0xf1, 0x89, 0x7f, 0xcb, 0x76, 0x50,
0x8d, 0x04, 0x01, 0xd0, 0x01, 0xe0, 0xdf, 0x3d, 0x9e, 0xa6, 0xc8, 0x9d, 0xee, 0xb7, 0x6e, 0x58,
0x19, 0xfe, 0x8f, 0xb2, 0xf5, 0x86, 0x0e, 0x80, 0x17, 0xcb, 0x19, 0xbf, 0xf0, 0xdb, 0xa4, 0xca,
0xcb, 0xa8, 0x64, 0x10, 0x5c, 0x1a, 0xbc, 0x3f, 0xbd, 0x32, 0x39, 0x56, 0x5b, 0xf7, 0xcb, 0xce,
0xd2, 0x5f, 0x0b, 0xed, 0xa7, 0x2f, 0x8a, 0xdf, 0xc3, 0xb7, 0x73, 0xe9, 0x7f, 0xcf, 0xff, 0x0f,
0x00, 0x00, 0xff, 0xff, 0x84, 0x77, 0xdc, 0x48, 0xb6, 0x07, 0x00, 0x00,
}

View File

@ -68,7 +68,6 @@ message ApplicationMetadataMessage {
DECLINE_CONTACT_VERIFICATION = 52;
SYNC_TRUSTED_USER = 53;
SYNC_VERIFICATION_REQUEST = 54;
CONTACT_VERIFICATION_TRUSTED = 55;
SYNC_CONTACT_REQUEST_DECISION = 56;
COMMUNITY_REQUEST_TO_LEAVE = 57;
SYNC_DELETE_FOR_ME_MESSAGE = 58;

View File

@ -122,53 +122,6 @@ func (m *AcceptContactVerification) GetResponse() string {
return ""
}
type ContactVerificationTrusted struct {
Clock uint64 `protobuf:"varint,1,opt,name=clock,proto3" json:"clock,omitempty"`
Id string `protobuf:"bytes,2,opt,name=id,proto3" json:"id,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *ContactVerificationTrusted) Reset() { *m = ContactVerificationTrusted{} }
func (m *ContactVerificationTrusted) String() string { return proto.CompactTextString(m) }
func (*ContactVerificationTrusted) ProtoMessage() {}
func (*ContactVerificationTrusted) Descriptor() ([]byte, []int) {
return fileDescriptor_d6997df64de39454, []int{2}
}
func (m *ContactVerificationTrusted) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_ContactVerificationTrusted.Unmarshal(m, b)
}
func (m *ContactVerificationTrusted) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_ContactVerificationTrusted.Marshal(b, m, deterministic)
}
func (m *ContactVerificationTrusted) XXX_Merge(src proto.Message) {
xxx_messageInfo_ContactVerificationTrusted.Merge(m, src)
}
func (m *ContactVerificationTrusted) XXX_Size() int {
return xxx_messageInfo_ContactVerificationTrusted.Size(m)
}
func (m *ContactVerificationTrusted) XXX_DiscardUnknown() {
xxx_messageInfo_ContactVerificationTrusted.DiscardUnknown(m)
}
var xxx_messageInfo_ContactVerificationTrusted proto.InternalMessageInfo
func (m *ContactVerificationTrusted) GetClock() uint64 {
if m != nil {
return m.Clock
}
return 0
}
func (m *ContactVerificationTrusted) GetId() string {
if m != nil {
return m.Id
}
return ""
}
type DeclineContactVerification struct {
Clock uint64 `protobuf:"varint,1,opt,name=clock,proto3" json:"clock,omitempty"`
Id string `protobuf:"bytes,2,opt,name=id,proto3" json:"id,omitempty"`
@ -181,7 +134,7 @@ func (m *DeclineContactVerification) Reset() { *m = DeclineContactVerifi
func (m *DeclineContactVerification) String() string { return proto.CompactTextString(m) }
func (*DeclineContactVerification) ProtoMessage() {}
func (*DeclineContactVerification) Descriptor() ([]byte, []int) {
return fileDescriptor_d6997df64de39454, []int{3}
return fileDescriptor_d6997df64de39454, []int{2}
}
func (m *DeclineContactVerification) XXX_Unmarshal(b []byte) error {
@ -228,7 +181,7 @@ func (m *CancelContactVerification) Reset() { *m = CancelContactVerifica
func (m *CancelContactVerification) String() string { return proto.CompactTextString(m) }
func (*CancelContactVerification) ProtoMessage() {}
func (*CancelContactVerification) Descriptor() ([]byte, []int) {
return fileDescriptor_d6997df64de39454, []int{4}
return fileDescriptor_d6997df64de39454, []int{3}
}
func (m *CancelContactVerification) XXX_Unmarshal(b []byte) error {
@ -266,7 +219,6 @@ func (m *CancelContactVerification) GetId() string {
func init() {
proto.RegisterType((*RequestContactVerification)(nil), "protobuf.RequestContactVerification")
proto.RegisterType((*AcceptContactVerification)(nil), "protobuf.AcceptContactVerification")
proto.RegisterType((*ContactVerificationTrusted)(nil), "protobuf.ContactVerificationTrusted")
proto.RegisterType((*DeclineContactVerification)(nil), "protobuf.DeclineContactVerification")
proto.RegisterType((*CancelContactVerification)(nil), "protobuf.CancelContactVerification")
}
@ -276,7 +228,7 @@ func init() {
}
var fileDescriptor_d6997df64de39454 = []byte{
// 208 bytes of a gzipped FileDescriptorProto
// 194 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0x92, 0x4a, 0xce, 0xcf, 0x2b,
0x49, 0x4c, 0x2e, 0x89, 0x2f, 0x4b, 0x2d, 0xca, 0x4c, 0xcb, 0x4c, 0x4e, 0x2c, 0xc9, 0xcc, 0xcf,
0xd3, 0x2b, 0x28, 0xca, 0x2f, 0xc9, 0x17, 0xe2, 0x00, 0x53, 0x49, 0xa5, 0x69, 0x4a, 0x01, 0x5c,
@ -286,8 +238,8 @@ var fileDescriptor_d6997df64de39454 = []byte{
0x46, 0x0d, 0xce, 0x20, 0x84, 0x80, 0x52, 0x2c, 0x97, 0xa4, 0x63, 0x72, 0x72, 0x6a, 0x01, 0x09,
0x06, 0xf2, 0x71, 0x31, 0x65, 0xa6, 0x48, 0x30, 0x81, 0x4d, 0x62, 0xca, 0x4c, 0x11, 0x92, 0xe2,
0xe2, 0x28, 0x4a, 0x2d, 0x2e, 0xc8, 0xcf, 0x2b, 0x86, 0x99, 0x0f, 0xe7, 0x2b, 0x39, 0x71, 0x49,
0x61, 0x31, 0x38, 0xa4, 0xa8, 0xb4, 0xb8, 0x24, 0x35, 0x85, 0x38, 0xf3, 0x41, 0x66, 0xb8, 0xa4,
0x26, 0xe7, 0x64, 0xe6, 0xa5, 0x92, 0xed, 0x46, 0x25, 0x47, 0x2e, 0x49, 0xe7, 0xc4, 0xbc, 0xe4,
0xd4, 0x1c, 0xb2, 0x8d, 0x70, 0xe2, 0x8d, 0xe2, 0xd6, 0xd3, 0xb7, 0x86, 0x45, 0x45, 0x12, 0x1b,
0x98, 0x65, 0x0c, 0x08, 0x00, 0x00, 0xff, 0xff, 0x9c, 0x91, 0x98, 0xa6, 0xb9, 0x01, 0x00, 0x00,
0xb9, 0xa4, 0x26, 0xe7, 0x64, 0xe6, 0xa5, 0x92, 0x6d, 0xbe, 0x92, 0x23, 0x97, 0xa4, 0x73, 0x62,
0x5e, 0x72, 0x6a, 0x0e, 0xd9, 0x46, 0x38, 0xf1, 0x46, 0x71, 0xeb, 0xe9, 0x5b, 0xc3, 0x82, 0x31,
0x89, 0x0d, 0xcc, 0x32, 0x06, 0x04, 0x00, 0x00, 0xff, 0xff, 0xd4, 0x2b, 0x89, 0x8f, 0x75, 0x01,
0x00, 0x00,
}

View File

@ -14,11 +14,6 @@ message AcceptContactVerification {
string response = 3;
}
message ContactVerificationTrusted {
uint64 clock = 1;
string id = 2;
}
message DeclineContactVerification {
uint64 clock = 1;
string id = 2;

View File

@ -308,8 +308,6 @@ func (m *StatusMessage) HandleApplication() error {
return m.unmarshalProtobufData(new(protobuf.AcceptContactVerification))
case protobuf.ApplicationMetadataMessage_CANCEL_CONTACT_VERIFICATION:
return m.unmarshalProtobufData(new(protobuf.CancelContactVerification))
case protobuf.ApplicationMetadataMessage_CONTACT_VERIFICATION_TRUSTED:
return m.unmarshalProtobufData(new(protobuf.ContactVerificationTrusted))
case protobuf.ApplicationMetadataMessage_DECLINE_CONTACT_VERIFICATION:
return m.unmarshalProtobufData(new(protobuf.DeclineContactVerification))
case protobuf.ApplicationMetadataMessage_SYNC_TRUSTED_USER: