syntax = "proto3"; option go_package = "./;protobuf"; package protobuf; message Backup { uint64 clock = 1; string id = 2; repeated SyncInstallationContactV2 contacts = 3; } message PairInstallation { uint64 clock = 1; string installation_id = 2; string device_type = 3; string name = 4; } message SyncInstallationContact { uint64 clock = 1; string id = 2; string profile_image = 3; string ens_name = 4; uint64 last_updated = 5; repeated string system_tags = 6; string local_nickname = 7; } message SyncInstallationContactV2 { uint64 clock = 1; string id = 2; string profile_image = 3; string ens_name = 4; uint64 last_updated = 5; repeated string system_tags = 6; string local_nickname = 7; bool added = 9; bool blocked = 10; bool muted = 11; bool removed = 12; } message SyncInstallationAccount { uint64 clock = 1; string profile_image = 2; uint64 last_updated = 3; } message SyncInstallationPublicChat { uint64 clock = 1; string id = 2; } message SyncCommunity { uint64 clock = 1; bytes id = 2; bytes private_key = 3; bytes description = 4; bool joined = 5; bool verified = 6; bool muted = 7; repeated SyncCommunityRequestsToJoin requests_to_join = 8; } message SyncCommunityRequestsToJoin { bytes id = 1; string public_key = 2; uint64 clock = 3; string ens_name = 4; string chat_id = 5; bytes community_id = 6; uint64 state = 7; } message SyncInstallation { repeated SyncInstallationContact contacts = 1; repeated SyncInstallationPublicChat public_chats = 2; SyncInstallationAccount account = 3; repeated SyncCommunity communities = 4; } message SyncChatRemoved { uint64 clock = 1; string id = 2; } message SyncChatMessagesRead { uint64 clock = 1; string id = 2; }