From cb4c19cece5be73cf136dfbb42fa8a16c5cc11d9 Mon Sep 17 00:00:00 2001 From: Mykhailo Prakhov Date: Fri, 10 May 2024 10:04:46 +0200 Subject: [PATCH] feat(encryption)_: request control node to resend ecnryption keys during restoring account by a seed phrase (#5142) --- ...nities_messenger_token_permissions_test.go | 134 ++++ protocol/messenger_backup.go | 49 +- protocol/messenger_backup_handler.go | 86 ++- protocol/messenger_communities.go | 54 ++ protocol/messenger_handlers.go | 21 + protocol/migrations/migrations.go | 705 +++++++----------- .../application_metadata_message.pb.go | 37 +- .../application_metadata_message.proto | 1 + protocol/protobuf/communities.pb.go | 134 +++- protocol/protobuf/communities.proto | 4 + 10 files changed, 730 insertions(+), 495 deletions(-) diff --git a/protocol/communities_messenger_token_permissions_test.go b/protocol/communities_messenger_token_permissions_test.go index 2a735b087..db754db7d 100644 --- a/protocol/communities_messenger_token_permissions_test.go +++ b/protocol/communities_messenger_token_permissions_test.go @@ -152,6 +152,7 @@ func (s *MessengerCommunitiesTokenPermissionsSuite) SetupTest() { s.bobWaku = wakuNodes[1] s.bob = s.newMessenger(bobPassword, []string{bobAddress}, s.bobWaku, "bob", []Option{}) + s.bob.EnableBackedupMessagesProcessing() s.aliceWaku = wakuNodes[2] s.alice = s.newMessenger(alicePassword, []string{aliceAddress1, aliceAddress2}, s.aliceWaku, "alice", []Option{}) @@ -1750,3 +1751,136 @@ func checkRoleBasedOnThePermissionType(permissionType protobuf.CommunityTokenPer panic("Unknown permission, please, update the test") } } + +func (s *MessengerCommunitiesTokenPermissionsSuite) TestResendEncryptionKeyOnBackupRestore() { + community, chat := s.createCommunity() + + // bob joins the community + s.advertiseCommunityTo(community, s.bob) + s.joinCommunity(community, s.bob, bobPassword, []string{}) + + // setup view channel permission + channelPermissionRequest := requests.CreateCommunityTokenPermission{ + CommunityID: community.ID(), + Type: protobuf.CommunityTokenPermission_CAN_VIEW_CHANNEL, + TokenCriteria: []*protobuf.TokenCriteria{ + &protobuf.TokenCriteria{ + Type: protobuf.CommunityTokenType_ERC20, + ContractAddresses: map[uint64]string{testChainID1: "0x123"}, + Symbol: "TEST", + AmountInWei: "100000000000000000000", + Decimals: uint64(18), + }, + }, + ChatIds: []string{chat.ID}, + } + + // make bob satisfy channel criteria + s.makeAddressSatisfyTheCriteria(testChainID1, bobAddress, channelPermissionRequest.TokenCriteria[0]) + defer s.resetMockedBalances() // reset mocked balances, this test in run with different test cases + + response, err := s.owner.CreateCommunityTokenPermission(&channelPermissionRequest) + s.Require().NoError(err) + s.Require().Len(response.Communities(), 1) + s.Require().True(s.owner.communitiesManager.IsChannelEncrypted(community.IDString(), chat.ID)) + + // reevalate community member permissions in order get encryption keys + community, err = s.owner.communitiesManager.GetByID(community.ID()) + s.Require().NoError(err) + + waitOnChannelKeyToBeDistributedToBob := s.waitOnKeyDistribution(func(sub *CommunityAndKeyActions) bool { + action, ok := sub.keyActions.ChannelKeysActions[chat.CommunityChatID()] + if !ok || action.ActionType != communities.EncryptionKeyAdd { + return false + } + + _, ok = action.Members[common.PubkeyToHex(&s.bob.identity.PublicKey)] + return ok + }) + + err = <-waitOnChannelKeyToBeDistributedToBob + s.Require().NoError(err) + + // bob receives community changes + // channel members should not be empty, + // this info is available only to channel members with encryption key + _, err = WaitOnMessengerResponse( + s.bob, + func(r *MessengerResponse) bool { + c, err := s.bob.GetCommunityByID(community.ID()) + if err != nil { + return false + } + if c == nil { + return false + } + channel := c.Chats()[chat.CommunityChatID()] + if channel != nil && len(channel.Members) < 2 { + return false + } + + return channel.Permissions != nil + }, + "no community that satisfies criteria", + ) + s.Require().NoError(err) + + // owner send message to the channel + msg := s.sendChatMessage(s.owner, chat.ID, "hello to encrypted channel") + + // bob can read the message + response, err = WaitOnMessengerResponse( + s.bob, + func(r *MessengerResponse) bool { + _, ok := r.messages[msg.ID] + return ok + }, + "no messages", + ) + s.Require().NoError(err) + s.Require().Len(response.Messages(), 1) + s.Require().Equal(msg.Text, response.Messages()[0].Text) + + // Simulate backup creation and handling backup message + // As a result, bob sends request to resend encryption keys to the owner + clock, _ := s.bob.getLastClockWithRelatedChat() + + community, err = s.owner.communitiesManager.GetByID(community.ID()) + s.Require().NoError(err) + + backupMessage, err := s.bob.backupCommunity(community, clock) + s.Require().NoError(err) + + err = s.bob.HandleBackup(s.bob.buildMessageState(), backupMessage, nil) + s.Require().NoError(err) + + // regenerate key for the channel in order to check that owner will send keys + // on bob request from `HandleBackup` + _, err = s.owner.encryptor.GenerateHashRatchetKey([]byte(community.IDString() + chat.CommunityChatID())) + s.Require().NoError(err) + + // FIXME: `HandleCommunityEncryptionKeysRequest` does not return any response + // ad-hoc solution - wait for `WaitOnMessengerResponse` timeout + _, _ = WaitOnMessengerResponse( + s.owner, + func(r *MessengerResponse) bool { + return false + }, + "no community that satisfies criteria", + ) + + // msg will be encrypted using new keys + msg = s.sendChatMessage(s.owner, chat.ID, "hello to closed channel with the new key") + + // bob received new keys and can read the message + response, err = WaitOnMessengerResponse( + s.bob, + func(r *MessengerResponse) bool { + _, ok := r.messages[msg.ID] + return ok + }, + "no messages", + ) + s.Require().NoError(err) + s.Require().Len(response.Messages(), 1) +} diff --git a/protocol/messenger_backup.go b/protocol/messenger_backup.go index defb77cd1..ec5558e14 100644 --- a/protocol/messenger_backup.go +++ b/protocol/messenger_backup.go @@ -11,6 +11,7 @@ import ( multiaccountscommon "github.com/status-im/status-go/multiaccounts/common" "github.com/status-im/status-go/multiaccounts/settings" "github.com/status-im/status-go/protocol/common" + "github.com/status-im/status-go/protocol/communities" "github.com/status-im/status-go/protocol/protobuf" ) @@ -301,30 +302,11 @@ func (m *Messenger) backupCommunities(ctx context.Context, clock uint64) ([]*pro for _, c := range cs { _, beingImported := m.importingCommunities[c.IDString()] if !beingImported { - settings, err := m.communitiesManager.GetCommunitySettingsByID(c.ID()) + backupMessage, err := m.backupCommunity(c, clock) if err != nil { return nil, err } - syncControlNode, err := m.communitiesManager.GetSyncControlNode(c.ID()) - if err != nil { - return nil, err - } - - syncMessage, err := c.ToSyncInstallationCommunityProtobuf(clock, settings, syncControlNode) - if err != nil { - return nil, err - } - - err = m.propagateSyncInstallationCommunityWithHRKeys(syncMessage, c) - if err != nil { - return nil, err - } - - backupMessage := &protobuf.Backup{ - Communities: []*protobuf.SyncInstallationCommunity{syncMessage}, - } - backupMessages = append(backupMessages, backupMessage) } } @@ -332,6 +314,33 @@ func (m *Messenger) backupCommunities(ctx context.Context, clock uint64) ([]*pro return backupMessages, nil } +func (m *Messenger) backupCommunity(community *communities.Community, clock uint64) (*protobuf.Backup, error) { + communityId := community.ID() + settings, err := m.communitiesManager.GetCommunitySettingsByID(communityId) + if err != nil { + return nil, err + } + + syncControlNode, err := m.communitiesManager.GetSyncControlNode(communityId) + if err != nil { + return nil, err + } + + syncMessage, err := community.ToSyncInstallationCommunityProtobuf(clock, settings, syncControlNode) + if err != nil { + return nil, err + } + + err = m.propagateSyncInstallationCommunityWithHRKeys(syncMessage, community) + if err != nil { + return nil, err + } + + return &protobuf.Backup{ + Communities: []*protobuf.SyncInstallationCommunity{syncMessage}, + }, nil +} + func (m *Messenger) backupChats(ctx context.Context, clock uint64) []*protobuf.Backup { var oneToOneAndGroupChats []*protobuf.SyncChat m.allChats.Range(func(chatID string, chat *Chat) bool { diff --git a/protocol/messenger_backup_handler.go b/protocol/messenger_backup_handler.go index e7464b8d2..91a20c885 100644 --- a/protocol/messenger_backup_handler.go +++ b/protocol/messenger_backup_handler.go @@ -5,9 +5,13 @@ import ( "go.uber.org/zap" + "github.com/golang/protobuf/proto" + "github.com/status-im/status-go/images" "github.com/status-im/status-go/multiaccounts/errors" "github.com/status-im/status-go/multiaccounts/settings" + "github.com/status-im/status-go/protocol/common" + "github.com/status-im/status-go/protocol/communities" "github.com/status-im/status-go/protocol/identity" "github.com/status-im/status-go/protocol/protobuf" v1protocol "github.com/status-im/status-go/protocol/v1" @@ -59,12 +63,11 @@ func (m *Messenger) handleBackup(state *ReceivedMessageState, message *protobuf. errors = append(errors, err) } - for _, community := range message.Communities { - err = m.handleSyncInstallationCommunity(state, community, nil) - if err != nil { - errors = append(errors, err) - } + communityErrors := m.handleSyncedCommunities(state, message) + if len(communityErrors) > 0 { + errors = append(errors, communityErrors...) } + err = m.handleBackedUpSettings(message.Setting) if err != nil { errors = append(errors, err) @@ -306,3 +309,76 @@ func (m *Messenger) handleWatchOnlyAccount(message *protobuf.SyncAccount) error return nil } + +func (m *Messenger) handleSyncedCommunities(state *ReceivedMessageState, message *protobuf.Backup) []error { + var errors []error + for _, syncCommunity := range message.Communities { + err := m.handleSyncInstallationCommunity(state, syncCommunity, nil) + if err != nil { + errors = append(errors, err) + } + + err = m.requestCommunityKeys(state, syncCommunity) + if err != nil { + errors = append(errors, err) + } + } + + return errors +} + +func (m *Messenger) requestCommunityKeys(state *ReceivedMessageState, syncCommunity *protobuf.SyncInstallationCommunity) error { + if !syncCommunity.Joined { + return nil + } + + community, err := m.GetCommunityByID(syncCommunity.Id) + if err != nil { + return err + } + + if community == nil { + return communities.ErrOrgNotFound + } + + isEncrypted := syncCommunity.Encrypted || len(syncCommunity.EncryptionKeysV2) > 0 + if !isEncrypted { + // check if we have encrypted channels + myPk := m.IdentityPublicKeyString() + for channelID, channel := range community.Chats() { + _, exists := channel.GetMembers()[myPk] + if exists && community.ChannelEncrypted(channelID) { + isEncrypted = true + break + } + } + } + + if isEncrypted { + request := &protobuf.CommunityEncryptionKeysRequest{ + CommunityId: syncCommunity.Id, + } + + payload, err := proto.Marshal(request) + if err != nil { + return err + } + + rawMessage := &common.RawMessage{ + Payload: payload, + Sender: m.identity, + CommunityID: community.ID(), + SkipEncryptionLayer: true, + MessageType: protobuf.ApplicationMetadataMessage_COMMUNITY_ENCRYPTION_KEYS_REQUEST, + } + + _, err = m.SendMessageToControlNode(community, rawMessage) + + if err != nil { + m.logger.Error("failed to request community encryption keys", zap.String("communityId", community.IDString()), zap.Error(err)) + return err + } + } + + return nil +} diff --git a/protocol/messenger_communities.go b/protocol/messenger_communities.go index 5ee1001e2..6ac0547ae 100644 --- a/protocol/messenger_communities.go +++ b/protocol/messenger_communities.go @@ -558,6 +558,60 @@ func (m *Messenger) HandleCommunityUpdateGrant(state *ReceivedMessageState, mess return m.handleCommunityGrant(community, grant, message.Timestamp) } +func (m *Messenger) HandleCommunityEncryptionKeysRequest(state *ReceivedMessageState, message *protobuf.CommunityEncryptionKeysRequest, statusMessage *v1protocol.StatusMessage) error { + community, err := m.communitiesManager.GetByID(message.CommunityId) + if err != nil { + return err + } + + if !community.IsControlNode() { + return communities.ErrNotControlNode + } + signer := state.CurrentMessageState.PublicKey + return m.handleCommunityEncryptionKeysRequest(community, signer) +} + +func (m *Messenger) handleCommunityEncryptionKeysRequest(community *communities.Community, signer *ecdsa.PublicKey) error { + if !community.HasMember(signer) { + return communities.ErrMemberNotFound + } + + keyActions := &communities.EncryptionKeyActions{ + CommunityKeyAction: communities.EncryptionKeyAction{}, + ChannelKeysActions: map[string]communities.EncryptionKeyAction{}, + } + + pkStr := common.PubkeyToHex(signer) + members := make(map[string]*protobuf.CommunityMember) + members[pkStr] = community.GetMember(signer) + + if community.Encrypted() { + keyActions.CommunityKeyAction = communities.EncryptionKeyAction{ + ActionType: communities.EncryptionKeySendToMembers, + Members: members, + } + } + + for channelID, channel := range community.Chats() { + channelMembers := channel.GetMembers() + member, exists := channelMembers[pkStr] + if exists && community.ChannelEncrypted(channelID) { + members[pkStr] = member + keyActions.ChannelKeysActions[channelID] = communities.EncryptionKeyAction{ + ActionType: communities.EncryptionKeySendToMembers, + Members: members, + } + } + } + + err := m.communitiesKeyDistributor.Distribute(community, keyActions) + if err != nil { + m.logger.Error("failed to send community keys", zap.Error(err), zap.String("community ID", community.IDString())) + } + + return nil +} + func (m *Messenger) handleCommunityGrant(community *communities.Community, grant []byte, clock uint64) error { difference, err := m.communitiesManager.HandleCommunityGrant(community, grant, clock) if err == communities.ErrGrantOlder || err == communities.ErrGrantExpired { diff --git a/protocol/messenger_handlers.go b/protocol/messenger_handlers.go index e9142ebef..1055f8f8b 100644 --- a/protocol/messenger_handlers.go +++ b/protocol/messenger_handlers.go @@ -256,6 +256,9 @@ func (m *Messenger) dispatchToHandler(messageState *ReceivedMessageState, protoB case protobuf.ApplicationMetadataMessage_COMMUNITY_UPDATE_GRANT: return m.handleCommunityUpdateGrantProtobuf(messageState, protoBytes, msg, filter) + case protobuf.ApplicationMetadataMessage_COMMUNITY_ENCRYPTION_KEYS_REQUEST: + return m.handleCommunityEncryptionKeysRequestProtobuf(messageState, protoBytes, msg, filter) + default: m.logger.Info("protobuf type not found", zap.String("type", string(msg.ApplicationLayer.Type))) return errors.New("protobuf type not found") @@ -1838,3 +1841,21 @@ func (m *Messenger) handleCommunityUpdateGrantProtobuf(messageState *ReceivedMes } +func (m *Messenger) handleCommunityEncryptionKeysRequestProtobuf(messageState *ReceivedMessageState, protoBytes []byte, msg *v1protocol.StatusMessage, filter transport.Filter) error { + m.logger.Info("handling CommunityEncryptionKeysRequest") + + + + p := &protobuf.CommunityEncryptionKeysRequest{} + err := proto.Unmarshal(protoBytes, p) + if err != nil { + return err + } + + m.outputToCSV(msg.TransportLayer.Message.Timestamp, msg.ApplicationLayer.ID, messageState.CurrentMessageState.Contact.ID, filter.ContentTopic, filter.ChatID, msg.ApplicationLayer.Type, p) + + return m.HandleCommunityEncryptionKeysRequest(messageState, p, msg) + +} + + diff --git a/protocol/migrations/migrations.go b/protocol/migrations/migrations.go index 85916eefe..f53468315 100644 --- a/protocol/migrations/migrations.go +++ b/protocol/migrations/migrations.go @@ -147,7 +147,6 @@ import ( "crypto/sha256" "fmt" "io" - "io/ioutil" "os" "path/filepath" "strings" @@ -157,7 +156,7 @@ import ( func bindataRead(data []byte, name string) ([]byte, error) { gz, err := gzip.NewReader(bytes.NewBuffer(data)) if err != nil { - return nil, fmt.Errorf("read %q: %v", name, err) + return nil, fmt.Errorf("read %q: %w", name, err) } var buf bytes.Buffer @@ -165,7 +164,7 @@ func bindataRead(data []byte, name string) ([]byte, error) { clErr := gz.Close() if err != nil { - return nil, fmt.Errorf("read %q: %v", name, err) + return nil, fmt.Errorf("read %q: %w", name, err) } if clErr != nil { return nil, err @@ -3057,292 +3056,160 @@ func AssetNames() []string { // _bindata is a table, holding each asset generator, mapped to its name. var _bindata = map[string]func() (*asset, error){ - "000001_init.down.db.sql": _000001_initDownDbSql, - - "000001_init.up.db.sql": _000001_initUpDbSql, - - "000002_add_last_ens_clock_value.up.sql": _000002_add_last_ens_clock_valueUpSql, - - "1586358095_add_replace.up.sql": _1586358095_add_replaceUpSql, - - "1588665364_add_image_data.up.sql": _1588665364_add_image_dataUpSql, - - "1589365189_add_pow_target.up.sql": _1589365189_add_pow_targetUpSql, - - "1591277220_add_index_messages.up.sql": _1591277220_add_index_messagesUpSql, - - "1593087212_add_mute_chat_and_raw_message_fields.up.sql": _1593087212_add_mute_chat_and_raw_message_fieldsUpSql, - - "1595862781_add_audio_data.up.sql": _1595862781_add_audio_dataUpSql, - - "1595865249_create_emoji_reactions_table.up.sql": _1595865249_create_emoji_reactions_tableUpSql, - - "1596805115_create_group_chat_invitations_table.up.sql": _1596805115_create_group_chat_invitations_tableUpSql, - - "1597322655_add_invitation_admin_chat_field.up.sql": _1597322655_add_invitation_admin_chat_fieldUpSql, - - "1597757544_add_nickname.up.sql": _1597757544_add_nicknameUpSql, - - "1598955122_add_mentions.up.sql": _1598955122_add_mentionsUpSql, - - "1599641390_add_emoji_reactions_index.up.sql": _1599641390_add_emoji_reactions_indexUpSql, - - "1599720851_add_seen_index_remove_long_messages.up.sql": _1599720851_add_seen_index_remove_long_messagesUpSql, - - "1603198582_add_profile_chat_field.up.sql": _1603198582_add_profile_chat_fieldUpSql, - - "1603816533_add_links.up.sql": _1603816533_add_linksUpSql, - - "1603888149_create_chat_identity_last_published_table.up.sql": _1603888149_create_chat_identity_last_published_tableUpSql, - - "1605075346_add_communities.up.sql": _1605075346_add_communitiesUpSql, - - "1610117927_add_message_cache.up.sql": _1610117927_add_message_cacheUpSql, - - "1610959908_add_dont_wrap_to_raw_messages.up.sql": _1610959908_add_dont_wrap_to_raw_messagesUpSql, - - "1610960912_add_send_on_personal_topic.up.sql": _1610960912_add_send_on_personal_topicUpSql, - - "1612870480_add_datasync_id.up.sql": _1612870480_add_datasync_idUpSql, - - "1614152139_add_communities_request_to_join.up.sql": _1614152139_add_communities_request_to_joinUpSql, - - "1615374373_add_confirmations.up.sql": _1615374373_add_confirmationsUpSql, - - "1617694931_add_notification_center.up.sql": _1617694931_add_notification_centerUpSql, - - "1618923660_create_pin_messages.up.sql": _1618923660_create_pin_messagesUpSql, - - "1619094007_add_joined_chat_field.up.sql": _1619094007_add_joined_chat_fieldUpSql, - - "1619099821_add_last_synced_field.up.sql": _1619099821_add_last_synced_fieldUpSql, - - "1621933219_add_mentioned.up.sql": _1621933219_add_mentionedUpSql, - - "1622010048_add_unviewed_mentions_count.up.sql": _1622010048_add_unviewed_mentions_countUpSql, - - "1622061278_add_message_activity_center_notification_field.up.sql": _1622061278_add_message_activity_center_notification_fieldUpSql, - - "1622464518_set_synced_to_from.up.sql": _1622464518_set_synced_to_fromUpSql, - - "1622464519_add_chat_description.up.sql": _1622464519_add_chat_descriptionUpSql, - - "1622622253_add_pinned_by_to_pin_messages.up.sql": _1622622253_add_pinned_by_to_pin_messagesUpSql, - - "1623938329_add_author_activity_center_notification_field.up.sql": _1623938329_add_author_activity_center_notification_fieldUpSql, - - "1623938330_add_edit_messages.up.sql": _1623938330_add_edit_messagesUpSql, - - "1624978434_add_muted_community.up.sql": _1624978434_add_muted_communityUpSql, - - "1625018910_add_repply_message_activity_center_notification_field.up.sql": _1625018910_add_repply_message_activity_center_notification_fieldUpSql, - - "1625762506_add_deleted_messages.up.sql": _1625762506_add_deleted_messagesUpSql, - - "1627388946_add_communities_synced_at.up.sql": _1627388946_add_communities_synced_atUpSql, - - "1628280060_create-usermessages-index.sql": _1628280060_createUsermessagesIndexSql, - - "1632303896_modify_contacts_table.up.sql": _1632303896_modify_contacts_tableUpSql, - - "1633349838_add_emoji_column_in_chats.up.sql": _1633349838_add_emoji_column_in_chatsUpSql, - - "1634831235_add_highlight_column_in_chats.up.sql": _1634831235_add_highlight_column_in_chatsUpSql, - - "1634896007_add_last_updated_locally_and_removed.up.sql": _1634896007_add_last_updated_locally_and_removedUpSql, - - "1635840039_add_clock_read_at_column_in_chats.up.sql": _1635840039_add_clock_read_at_column_in_chatsUpSql, - - "1637852321_add_received_invitation_admin_column_in_chats.up.sql": _1637852321_add_received_invitation_admin_column_in_chatsUpSql, - - "1645034601_display_name.up.sql": _1645034601_display_nameUpSql, - - "1645034602_add_mutual_contact_request.up.sql": _1645034602_add_mutual_contact_requestUpSql, - - "1650373957_add_contact_request_state.up.sql": _1650373957_add_contact_request_stateUpSql, - - "1656958989_contact_verification.up.sql": _1656958989_contact_verificationUpSql, - - "1658236268_add_discord_message_authors_table.up.sql": _1658236268_add_discord_message_authors_tableUpSql, - - "1659619997_add_discord_messages_table.up.sql": _1659619997_add_discord_messages_tableUpSql, - - "1660226788_create_chat_identity_social_links.up.sql": _1660226788_create_chat_identity_social_linksUpSql, - - "1660226789_add_walletconnectsessions_table.up.sql": _1660226789_add_walletconnectsessions_tableUpSql, - - "1661242854_add_communities_requests_to_leave.up.sql": _1661242854_add_communities_requests_to_leaveUpSql, - - "1662044232_add_chat_image.up.sql": _1662044232_add_chat_imageUpSql, - - "1662106895_add_chat_first_message_timestamp.up.sql": _1662106895_add_chat_first_message_timestampUpSql, - - "1662723928_add_discord_author_image_fields.up.sql": _1662723928_add_discord_author_image_fieldsUpSql, - - "1664195977_add_deleted_for_mes.up.sql": _1664195977_add_deleted_for_mesUpSql, - - "1664367420_add_discord_attachments_table.up.sql": _1664367420_add_discord_attachments_tableUpSql, - - "1665079662_add_spectated_column_in_communities.up.sql": _1665079662_add_spectated_column_in_communitiesUpSql, - - "1665479047_add_community_id_in_notifications.up.sql": _1665479047_add_community_id_in_notificationsUpSql, - - "1665484435_add_encrypted_messages.up.sql": _1665484435_add_encrypted_messagesUpSql, - - "1665560200_add_contact_verification_individual.up.sql": _1665560200_add_contact_verification_individualUpSql, - - "1670921937_add_album_id.up.sql": _1670921937_add_album_idUpSql, - - "1673373000_add_replied.up.sql": _1673373000_add_repliedUpSql, - - "1673428910_add_image_width_height.up.sql": _1673428910_add_image_width_heightUpSql, - - "1674210659_add_contact_request_local_clock.up.sql": _1674210659_add_contact_request_local_clockUpSql, - - "1675212323_add_deleted_by.up.sql": _1675212323_add_deleted_byUpSql, - - "1675247084_add_activity_center_states.up.sql": _1675247084_add_activity_center_statesUpSql, - - "1675272329_fix_protocol_migration.up.sql": _1675272329_fix_protocol_migrationUpSql, - - "1676998418_fix_activity_center_migration.up.sql": _1676998418_fix_activity_center_migrationUpSql, - + "000001_init.down.db.sql": _000001_initDownDbSql, + "000001_init.up.db.sql": _000001_initUpDbSql, + "000002_add_last_ens_clock_value.up.sql": _000002_add_last_ens_clock_valueUpSql, + "1586358095_add_replace.up.sql": _1586358095_add_replaceUpSql, + "1588665364_add_image_data.up.sql": _1588665364_add_image_dataUpSql, + "1589365189_add_pow_target.up.sql": _1589365189_add_pow_targetUpSql, + "1591277220_add_index_messages.up.sql": _1591277220_add_index_messagesUpSql, + "1593087212_add_mute_chat_and_raw_message_fields.up.sql": _1593087212_add_mute_chat_and_raw_message_fieldsUpSql, + "1595862781_add_audio_data.up.sql": _1595862781_add_audio_dataUpSql, + "1595865249_create_emoji_reactions_table.up.sql": _1595865249_create_emoji_reactions_tableUpSql, + "1596805115_create_group_chat_invitations_table.up.sql": _1596805115_create_group_chat_invitations_tableUpSql, + "1597322655_add_invitation_admin_chat_field.up.sql": _1597322655_add_invitation_admin_chat_fieldUpSql, + "1597757544_add_nickname.up.sql": _1597757544_add_nicknameUpSql, + "1598955122_add_mentions.up.sql": _1598955122_add_mentionsUpSql, + "1599641390_add_emoji_reactions_index.up.sql": _1599641390_add_emoji_reactions_indexUpSql, + "1599720851_add_seen_index_remove_long_messages.up.sql": _1599720851_add_seen_index_remove_long_messagesUpSql, + "1603198582_add_profile_chat_field.up.sql": _1603198582_add_profile_chat_fieldUpSql, + "1603816533_add_links.up.sql": _1603816533_add_linksUpSql, + "1603888149_create_chat_identity_last_published_table.up.sql": _1603888149_create_chat_identity_last_published_tableUpSql, + "1605075346_add_communities.up.sql": _1605075346_add_communitiesUpSql, + "1610117927_add_message_cache.up.sql": _1610117927_add_message_cacheUpSql, + "1610959908_add_dont_wrap_to_raw_messages.up.sql": _1610959908_add_dont_wrap_to_raw_messagesUpSql, + "1610960912_add_send_on_personal_topic.up.sql": _1610960912_add_send_on_personal_topicUpSql, + "1612870480_add_datasync_id.up.sql": _1612870480_add_datasync_idUpSql, + "1614152139_add_communities_request_to_join.up.sql": _1614152139_add_communities_request_to_joinUpSql, + "1615374373_add_confirmations.up.sql": _1615374373_add_confirmationsUpSql, + "1617694931_add_notification_center.up.sql": _1617694931_add_notification_centerUpSql, + "1618923660_create_pin_messages.up.sql": _1618923660_create_pin_messagesUpSql, + "1619094007_add_joined_chat_field.up.sql": _1619094007_add_joined_chat_fieldUpSql, + "1619099821_add_last_synced_field.up.sql": _1619099821_add_last_synced_fieldUpSql, + "1621933219_add_mentioned.up.sql": _1621933219_add_mentionedUpSql, + "1622010048_add_unviewed_mentions_count.up.sql": _1622010048_add_unviewed_mentions_countUpSql, + "1622061278_add_message_activity_center_notification_field.up.sql": _1622061278_add_message_activity_center_notification_fieldUpSql, + "1622464518_set_synced_to_from.up.sql": _1622464518_set_synced_to_fromUpSql, + "1622464519_add_chat_description.up.sql": _1622464519_add_chat_descriptionUpSql, + "1622622253_add_pinned_by_to_pin_messages.up.sql": _1622622253_add_pinned_by_to_pin_messagesUpSql, + "1623938329_add_author_activity_center_notification_field.up.sql": _1623938329_add_author_activity_center_notification_fieldUpSql, + "1623938330_add_edit_messages.up.sql": _1623938330_add_edit_messagesUpSql, + "1624978434_add_muted_community.up.sql": _1624978434_add_muted_communityUpSql, + "1625018910_add_repply_message_activity_center_notification_field.up.sql": _1625018910_add_repply_message_activity_center_notification_fieldUpSql, + "1625762506_add_deleted_messages.up.sql": _1625762506_add_deleted_messagesUpSql, + "1627388946_add_communities_synced_at.up.sql": _1627388946_add_communities_synced_atUpSql, + "1628280060_create-usermessages-index.sql": _1628280060_createUsermessagesIndexSql, + "1632303896_modify_contacts_table.up.sql": _1632303896_modify_contacts_tableUpSql, + "1633349838_add_emoji_column_in_chats.up.sql": _1633349838_add_emoji_column_in_chatsUpSql, + "1634831235_add_highlight_column_in_chats.up.sql": _1634831235_add_highlight_column_in_chatsUpSql, + "1634896007_add_last_updated_locally_and_removed.up.sql": _1634896007_add_last_updated_locally_and_removedUpSql, + "1635840039_add_clock_read_at_column_in_chats.up.sql": _1635840039_add_clock_read_at_column_in_chatsUpSql, + "1637852321_add_received_invitation_admin_column_in_chats.up.sql": _1637852321_add_received_invitation_admin_column_in_chatsUpSql, + "1645034601_display_name.up.sql": _1645034601_display_nameUpSql, + "1645034602_add_mutual_contact_request.up.sql": _1645034602_add_mutual_contact_requestUpSql, + "1650373957_add_contact_request_state.up.sql": _1650373957_add_contact_request_stateUpSql, + "1656958989_contact_verification.up.sql": _1656958989_contact_verificationUpSql, + "1658236268_add_discord_message_authors_table.up.sql": _1658236268_add_discord_message_authors_tableUpSql, + "1659619997_add_discord_messages_table.up.sql": _1659619997_add_discord_messages_tableUpSql, + "1660226788_create_chat_identity_social_links.up.sql": _1660226788_create_chat_identity_social_linksUpSql, + "1660226789_add_walletconnectsessions_table.up.sql": _1660226789_add_walletconnectsessions_tableUpSql, + "1661242854_add_communities_requests_to_leave.up.sql": _1661242854_add_communities_requests_to_leaveUpSql, + "1662044232_add_chat_image.up.sql": _1662044232_add_chat_imageUpSql, + "1662106895_add_chat_first_message_timestamp.up.sql": _1662106895_add_chat_first_message_timestampUpSql, + "1662723928_add_discord_author_image_fields.up.sql": _1662723928_add_discord_author_image_fieldsUpSql, + "1664195977_add_deleted_for_mes.up.sql": _1664195977_add_deleted_for_mesUpSql, + "1664367420_add_discord_attachments_table.up.sql": _1664367420_add_discord_attachments_tableUpSql, + "1665079662_add_spectated_column_in_communities.up.sql": _1665079662_add_spectated_column_in_communitiesUpSql, + "1665479047_add_community_id_in_notifications.up.sql": _1665479047_add_community_id_in_notificationsUpSql, + "1665484435_add_encrypted_messages.up.sql": _1665484435_add_encrypted_messagesUpSql, + "1665560200_add_contact_verification_individual.up.sql": _1665560200_add_contact_verification_individualUpSql, + "1670921937_add_album_id.up.sql": _1670921937_add_album_idUpSql, + "1673373000_add_replied.up.sql": _1673373000_add_repliedUpSql, + "1673428910_add_image_width_height.up.sql": _1673428910_add_image_width_heightUpSql, + "1674210659_add_contact_request_local_clock.up.sql": _1674210659_add_contact_request_local_clockUpSql, + "1675212323_add_deleted_by.up.sql": _1675212323_add_deleted_byUpSql, + "1675247084_add_activity_center_states.up.sql": _1675247084_add_activity_center_statesUpSql, + "1675272329_fix_protocol_migration.up.sql": _1675272329_fix_protocol_migrationUpSql, + "1676998418_fix_activity_center_migration.up.sql": _1676998418_fix_activity_center_migrationUpSql, "1677278861_add_deleted_column_to_activity_center_notifications_table.up.sql": _1677278861_add_deleted_column_to_activity_center_notifications_tableUpSql, - - "1677486338_add_community_tokens_table.up.sql": _1677486338_add_community_tokens_tableUpSql, - - "1678292329_add_collapsed_categories.up.sql": _1678292329_add_collapsed_categoriesUpSql, - - "1678800760_add_index_to_raw_messages.up.sql": _1678800760_add_index_to_raw_messagesUpSql, - + "1677486338_add_community_tokens_table.up.sql": _1677486338_add_community_tokens_tableUpSql, + "1678292329_add_collapsed_categories.up.sql": _1678292329_add_collapsed_categoriesUpSql, + "1678800760_add_index_to_raw_messages.up.sql": _1678800760_add_index_to_raw_messagesUpSql, "1678877478_add_communities_requests_to_join_revealed_addresses_table.up.sql": _1678877478_add_communities_requests_to_join_revealed_addresses_tableUpSql, - - "1679326850_add_community_token_owners.up.sql": _1679326850_add_community_token_ownersUpSql, - - "1680011500_add_album_images_count.up.sql": _1680011500_add_album_images_countUpSql, - - "1680114896_add_index_on_album_id.up.sql": _1680114896_add_index_on_album_idUpSql, - - "1681655289_add_mute_till.up.sql": _1681655289_add_mute_tillUpSql, - - "1681934966_add_index_response_to.up.sql": _1681934966_add_index_response_toUpSql, - - "1682528339_add_index_user_messages_unseen.up.sql": _1682528339_add_index_user_messages_unseenUpSql, - - "1683707289_recreate_deleted_for_mes.up.sql": _1683707289_recreate_deleted_for_mesUpSql, - - "1683725607_mark_discord_messages_as_seen.up.sql": _1683725607_mark_discord_messages_as_seenUpSql, - - "1684174617_add_url_previews_to_user_messages.up.sql": _1684174617_add_url_previews_to_user_messagesUpSql, - - "1684175608_add_token_balances.up.sql": _1684175608_add_token_balancesUpSql, - - "1684979808_sync_activity_center_notifications.up.sql": _1684979808_sync_activity_center_notificationsUpSql, - - "1685383829_add_communities_mute_till.up.sql": _1685383829_add_communities_mute_tillUpSql, - - "1685964183_add_chainids_to_revealed_addresses.up.sql": _1685964183_add_chainids_to_revealed_addressesUpSql, - - "1687370421_add_communities_muted_till_new.up.sql": _1687370421_add_communities_muted_till_newUpSql, - - "1687416607_add_communities_check_channel_permission_responses_table.up.sql": _1687416607_add_communities_check_channel_permission_responses_tableUpSql, - - "1687856939_add_community_tokens_decimals.up.sql": _1687856939_add_community_tokens_decimalsUpSql, - - "1687959987_modify_community_tokens_supply_as_string.up.sql": _1687959987_modify_community_tokens_supply_as_stringUpSql, - - "1689258900_add_airdrop_address_to_revealed_addresses.up.sql": _1689258900_add_airdrop_address_to_revealed_addressesUpSql, - - "1689266326_create_communities_events_table.up.sql": _1689266326_create_communities_events_tableUpSql, - - "1689931300_add_community_tokens_deployer_and_priv_level.up.sql": _1689931300_add_community_tokens_deployer_and_priv_levelUpSql, - - "1693311881_add_unfurled_links_to_message_edits.up.sql": _1693311881_add_unfurled_links_to_message_editsUpSql, - - "1693311981_community_shard.up.sql": _1693311981_community_shardUpSql, - - "1695331492_add_status_link_previews.up.sql": _1695331492_add_status_link_previewsUpSql, - - "1695918296_add_validated_at.up.sql": _1695918296_add_validated_atUpSql, - - "1697699419_community_control_node_sync.up.sql": _1697699419_community_control_node_syncUpSql, - - "1698137561_add_profile_showcase_tables.up.sql": _1698137561_add_profile_showcase_tablesUpSql, - - "1698137562_fix_encryption_key_id.up.sql": _1698137562_fix_encryption_key_idUpSql, - - "1698414646_add_padding.up.sql": _1698414646_add_paddingUpSql, - - "1698746210_add_signature_to_revealed_addresses.up.sql": _1698746210_add_signature_to_revealed_addressesUpSql, - - "1699041816_profile_showcase_contacts.up.sql": _1699041816_profile_showcase_contactsUpSql, - - "1699554099_message_segments.up.sql": _1699554099_message_segmentsUpSql, - - "1700044186_message_segments_timestamp.up.sql": _1700044186_message_segments_timestampUpSql, - - "1700044187_curated_communities.up.sql": _1700044187_curated_communitiesUpSql, - - "1700820989_add_resend_automatically_index.up.sql": _1700820989_add_resend_automatically_indexUpSql, - - "1702996953_add_communities_shards_table.up.sql": _1702996953_add_communities_shards_tableUpSql, - - "1704489636_add_album_images.up.sql": _1704489636_add_album_imagesUpSql, - - "1704821941_add_joined_at_for_community.up.sql": _1704821941_add_joined_at_for_communityUpSql, - - "1704832511_add_last_opened_at_for_communities.up.sql": _1704832511_add_last_opened_at_for_communitiesUpSql, - - "1704832512_add_peersyncing.up.sql": _1704832512_add_peersyncingUpSql, - - "1706028033_profile_showcase_address_and_community.up.sql": _1706028033_profile_showcase_address_and_communityUpSql, - - "1706520870_add_bridge_messages_table.up.sql": _1706520870_add_bridge_messages_tableUpSql, - - "1706520871_add_community_description_cache.up.sql": _1706520871_add_community_description_cacheUpSql, - - "1707749393_add_community_grants.up.sql": _1707749393_add_community_grantsUpSql, - - "1707841194_add_profile_showcase_preferences.up.sql": _1707841194_add_profile_showcase_preferencesUpSql, - - "1708062699_activity_data.up.sql": _1708062699_activity_dataUpSql, - - "1708423707_applied_community_events.up.sql": _1708423707_applied_community_eventsUpSql, - - "1708440786_profile_showcase_social_links.up.sql": _1708440786_profile_showcase_social_linksUpSql, - - "1709805967_simplify_profile_showcase_preferences.up.sql": _1709805967_simplify_profile_showcase_preferencesUpSql, - - "1709828431_add_community_description_cache.up.sql": _1709828431_add_community_description_cacheUpSql, - - "1710331283_add_bio_to_contacts.up.sql": _1710331283_add_bio_to_contactsUpSql, - - "1710331284_hash_ratchet_encrypted_messages_key_id.up.sql": _1710331284_hash_ratchet_encrypted_messages_key_idUpSql, - - "1711389881_add_profile_showcase_community_grant.up.sql": _1711389881_add_profile_showcase_community_grantUpSql, - - "1711937186_add_contact_customization_color.up.sql": _1711937186_add_contact_customization_colorUpSql, - - "1712745141_hash_ratchet_encrypted_messages_key_id.up.sql": _1712745141_hash_ratchet_encrypted_messages_key_idUpSql, - - "1712905223_add_parity_to_message_segments.up.sql": _1712905223_add_parity_to_message_segmentsUpSql, - - "1713169458_update_raw_messages_with_resend_features.up.sql": _1713169458_update_raw_messages_with_resend_featuresUpSql, - + "1679326850_add_community_token_owners.up.sql": _1679326850_add_community_token_ownersUpSql, + "1680011500_add_album_images_count.up.sql": _1680011500_add_album_images_countUpSql, + "1680114896_add_index_on_album_id.up.sql": _1680114896_add_index_on_album_idUpSql, + "1681655289_add_mute_till.up.sql": _1681655289_add_mute_tillUpSql, + "1681934966_add_index_response_to.up.sql": _1681934966_add_index_response_toUpSql, + "1682528339_add_index_user_messages_unseen.up.sql": _1682528339_add_index_user_messages_unseenUpSql, + "1683707289_recreate_deleted_for_mes.up.sql": _1683707289_recreate_deleted_for_mesUpSql, + "1683725607_mark_discord_messages_as_seen.up.sql": _1683725607_mark_discord_messages_as_seenUpSql, + "1684174617_add_url_previews_to_user_messages.up.sql": _1684174617_add_url_previews_to_user_messagesUpSql, + "1684175608_add_token_balances.up.sql": _1684175608_add_token_balancesUpSql, + "1684979808_sync_activity_center_notifications.up.sql": _1684979808_sync_activity_center_notificationsUpSql, + "1685383829_add_communities_mute_till.up.sql": _1685383829_add_communities_mute_tillUpSql, + "1685964183_add_chainids_to_revealed_addresses.up.sql": _1685964183_add_chainids_to_revealed_addressesUpSql, + "1687370421_add_communities_muted_till_new.up.sql": _1687370421_add_communities_muted_till_newUpSql, + "1687416607_add_communities_check_channel_permission_responses_table.up.sql": _1687416607_add_communities_check_channel_permission_responses_tableUpSql, + "1687856939_add_community_tokens_decimals.up.sql": _1687856939_add_community_tokens_decimalsUpSql, + "1687959987_modify_community_tokens_supply_as_string.up.sql": _1687959987_modify_community_tokens_supply_as_stringUpSql, + "1689258900_add_airdrop_address_to_revealed_addresses.up.sql": _1689258900_add_airdrop_address_to_revealed_addressesUpSql, + "1689266326_create_communities_events_table.up.sql": _1689266326_create_communities_events_tableUpSql, + "1689931300_add_community_tokens_deployer_and_priv_level.up.sql": _1689931300_add_community_tokens_deployer_and_priv_levelUpSql, + "1693311881_add_unfurled_links_to_message_edits.up.sql": _1693311881_add_unfurled_links_to_message_editsUpSql, + "1693311981_community_shard.up.sql": _1693311981_community_shardUpSql, + "1695331492_add_status_link_previews.up.sql": _1695331492_add_status_link_previewsUpSql, + "1695918296_add_validated_at.up.sql": _1695918296_add_validated_atUpSql, + "1697699419_community_control_node_sync.up.sql": _1697699419_community_control_node_syncUpSql, + "1698137561_add_profile_showcase_tables.up.sql": _1698137561_add_profile_showcase_tablesUpSql, + "1698137562_fix_encryption_key_id.up.sql": _1698137562_fix_encryption_key_idUpSql, + "1698414646_add_padding.up.sql": _1698414646_add_paddingUpSql, + "1698746210_add_signature_to_revealed_addresses.up.sql": _1698746210_add_signature_to_revealed_addressesUpSql, + "1699041816_profile_showcase_contacts.up.sql": _1699041816_profile_showcase_contactsUpSql, + "1699554099_message_segments.up.sql": _1699554099_message_segmentsUpSql, + "1700044186_message_segments_timestamp.up.sql": _1700044186_message_segments_timestampUpSql, + "1700044187_curated_communities.up.sql": _1700044187_curated_communitiesUpSql, + "1700820989_add_resend_automatically_index.up.sql": _1700820989_add_resend_automatically_indexUpSql, + "1702996953_add_communities_shards_table.up.sql": _1702996953_add_communities_shards_tableUpSql, + "1704489636_add_album_images.up.sql": _1704489636_add_album_imagesUpSql, + "1704821941_add_joined_at_for_community.up.sql": _1704821941_add_joined_at_for_communityUpSql, + "1704832511_add_last_opened_at_for_communities.up.sql": _1704832511_add_last_opened_at_for_communitiesUpSql, + "1704832512_add_peersyncing.up.sql": _1704832512_add_peersyncingUpSql, + "1706028033_profile_showcase_address_and_community.up.sql": _1706028033_profile_showcase_address_and_communityUpSql, + "1706520870_add_bridge_messages_table.up.sql": _1706520870_add_bridge_messages_tableUpSql, + "1706520871_add_community_description_cache.up.sql": _1706520871_add_community_description_cacheUpSql, + "1707749393_add_community_grants.up.sql": _1707749393_add_community_grantsUpSql, + "1707841194_add_profile_showcase_preferences.up.sql": _1707841194_add_profile_showcase_preferencesUpSql, + "1708062699_activity_data.up.sql": _1708062699_activity_dataUpSql, + "1708423707_applied_community_events.up.sql": _1708423707_applied_community_eventsUpSql, + "1708440786_profile_showcase_social_links.up.sql": _1708440786_profile_showcase_social_linksUpSql, + "1709805967_simplify_profile_showcase_preferences.up.sql": _1709805967_simplify_profile_showcase_preferencesUpSql, + "1709828431_add_community_description_cache.up.sql": _1709828431_add_community_description_cacheUpSql, + "1710331283_add_bio_to_contacts.up.sql": _1710331283_add_bio_to_contactsUpSql, + "1710331284_hash_ratchet_encrypted_messages_key_id.up.sql": _1710331284_hash_ratchet_encrypted_messages_key_idUpSql, + "1711389881_add_profile_showcase_community_grant.up.sql": _1711389881_add_profile_showcase_community_grantUpSql, + "1711937186_add_contact_customization_color.up.sql": _1711937186_add_contact_customization_colorUpSql, + "1712745141_hash_ratchet_encrypted_messages_key_id.up.sql": _1712745141_hash_ratchet_encrypted_messages_key_idUpSql, + "1712905223_add_parity_to_message_segments.up.sql": _1712905223_add_parity_to_message_segmentsUpSql, + "1713169458_update_raw_messages_with_resend_features.up.sql": _1713169458_update_raw_messages_with_resend_featuresUpSql, "README.md": readmeMd, - - "doc.go": docGo, + "doc.go": docGo, } +// AssetDebug is true if the assets were built with the debug flag enabled. +const AssetDebug = false + // AssetDir returns the file names below a certain // directory embedded in the file by go-bindata. // For example if you run go-bindata on data/... and data contains the // following hierarchy: -// data/ -// foo.txt -// img/ -// a.png -// b.png +// +// data/ +// foo.txt +// img/ +// a.png +// b.png +// // then AssetDir("data") would return []string{"foo.txt", "img"}, // AssetDir("data/img") would return []string{"a.png", "b.png"}, // AssetDir("foo.txt") and AssetDir("notexist") would return an error, and @@ -3375,144 +3242,144 @@ type bintree struct { } var _bintree = &bintree{nil, map[string]*bintree{ - "000001_init.down.db.sql": &bintree{_000001_initDownDbSql, map[string]*bintree{}}, - "000001_init.up.db.sql": &bintree{_000001_initUpDbSql, map[string]*bintree{}}, - "000002_add_last_ens_clock_value.up.sql": &bintree{_000002_add_last_ens_clock_valueUpSql, map[string]*bintree{}}, - "1586358095_add_replace.up.sql": &bintree{_1586358095_add_replaceUpSql, map[string]*bintree{}}, - "1588665364_add_image_data.up.sql": &bintree{_1588665364_add_image_dataUpSql, map[string]*bintree{}}, - "1589365189_add_pow_target.up.sql": &bintree{_1589365189_add_pow_targetUpSql, map[string]*bintree{}}, - "1591277220_add_index_messages.up.sql": &bintree{_1591277220_add_index_messagesUpSql, map[string]*bintree{}}, - "1593087212_add_mute_chat_and_raw_message_fields.up.sql": &bintree{_1593087212_add_mute_chat_and_raw_message_fieldsUpSql, map[string]*bintree{}}, - "1595862781_add_audio_data.up.sql": &bintree{_1595862781_add_audio_dataUpSql, map[string]*bintree{}}, - "1595865249_create_emoji_reactions_table.up.sql": &bintree{_1595865249_create_emoji_reactions_tableUpSql, map[string]*bintree{}}, - "1596805115_create_group_chat_invitations_table.up.sql": &bintree{_1596805115_create_group_chat_invitations_tableUpSql, map[string]*bintree{}}, - "1597322655_add_invitation_admin_chat_field.up.sql": &bintree{_1597322655_add_invitation_admin_chat_fieldUpSql, map[string]*bintree{}}, - "1597757544_add_nickname.up.sql": &bintree{_1597757544_add_nicknameUpSql, map[string]*bintree{}}, - "1598955122_add_mentions.up.sql": &bintree{_1598955122_add_mentionsUpSql, map[string]*bintree{}}, - "1599641390_add_emoji_reactions_index.up.sql": &bintree{_1599641390_add_emoji_reactions_indexUpSql, map[string]*bintree{}}, - "1599720851_add_seen_index_remove_long_messages.up.sql": &bintree{_1599720851_add_seen_index_remove_long_messagesUpSql, map[string]*bintree{}}, - "1603198582_add_profile_chat_field.up.sql": &bintree{_1603198582_add_profile_chat_fieldUpSql, map[string]*bintree{}}, - "1603816533_add_links.up.sql": &bintree{_1603816533_add_linksUpSql, map[string]*bintree{}}, - "1603888149_create_chat_identity_last_published_table.up.sql": &bintree{_1603888149_create_chat_identity_last_published_tableUpSql, map[string]*bintree{}}, - "1605075346_add_communities.up.sql": &bintree{_1605075346_add_communitiesUpSql, map[string]*bintree{}}, - "1610117927_add_message_cache.up.sql": &bintree{_1610117927_add_message_cacheUpSql, map[string]*bintree{}}, - "1610959908_add_dont_wrap_to_raw_messages.up.sql": &bintree{_1610959908_add_dont_wrap_to_raw_messagesUpSql, map[string]*bintree{}}, - "1610960912_add_send_on_personal_topic.up.sql": &bintree{_1610960912_add_send_on_personal_topicUpSql, map[string]*bintree{}}, - "1612870480_add_datasync_id.up.sql": &bintree{_1612870480_add_datasync_idUpSql, map[string]*bintree{}}, - "1614152139_add_communities_request_to_join.up.sql": &bintree{_1614152139_add_communities_request_to_joinUpSql, map[string]*bintree{}}, - "1615374373_add_confirmations.up.sql": &bintree{_1615374373_add_confirmationsUpSql, map[string]*bintree{}}, - "1617694931_add_notification_center.up.sql": &bintree{_1617694931_add_notification_centerUpSql, map[string]*bintree{}}, - "1618923660_create_pin_messages.up.sql": &bintree{_1618923660_create_pin_messagesUpSql, map[string]*bintree{}}, - "1619094007_add_joined_chat_field.up.sql": &bintree{_1619094007_add_joined_chat_fieldUpSql, map[string]*bintree{}}, - "1619099821_add_last_synced_field.up.sql": &bintree{_1619099821_add_last_synced_fieldUpSql, map[string]*bintree{}}, - "1621933219_add_mentioned.up.sql": &bintree{_1621933219_add_mentionedUpSql, map[string]*bintree{}}, - "1622010048_add_unviewed_mentions_count.up.sql": &bintree{_1622010048_add_unviewed_mentions_countUpSql, map[string]*bintree{}}, - "1622061278_add_message_activity_center_notification_field.up.sql": &bintree{_1622061278_add_message_activity_center_notification_fieldUpSql, map[string]*bintree{}}, - "1622464518_set_synced_to_from.up.sql": &bintree{_1622464518_set_synced_to_fromUpSql, map[string]*bintree{}}, - "1622464519_add_chat_description.up.sql": &bintree{_1622464519_add_chat_descriptionUpSql, map[string]*bintree{}}, - "1622622253_add_pinned_by_to_pin_messages.up.sql": &bintree{_1622622253_add_pinned_by_to_pin_messagesUpSql, map[string]*bintree{}}, - "1623938329_add_author_activity_center_notification_field.up.sql": &bintree{_1623938329_add_author_activity_center_notification_fieldUpSql, map[string]*bintree{}}, - "1623938330_add_edit_messages.up.sql": &bintree{_1623938330_add_edit_messagesUpSql, map[string]*bintree{}}, - "1624978434_add_muted_community.up.sql": &bintree{_1624978434_add_muted_communityUpSql, map[string]*bintree{}}, - "1625018910_add_repply_message_activity_center_notification_field.up.sql": &bintree{_1625018910_add_repply_message_activity_center_notification_fieldUpSql, map[string]*bintree{}}, - "1625762506_add_deleted_messages.up.sql": &bintree{_1625762506_add_deleted_messagesUpSql, map[string]*bintree{}}, - "1627388946_add_communities_synced_at.up.sql": &bintree{_1627388946_add_communities_synced_atUpSql, map[string]*bintree{}}, - "1628280060_create-usermessages-index.sql": &bintree{_1628280060_createUsermessagesIndexSql, map[string]*bintree{}}, - "1632303896_modify_contacts_table.up.sql": &bintree{_1632303896_modify_contacts_tableUpSql, map[string]*bintree{}}, - "1633349838_add_emoji_column_in_chats.up.sql": &bintree{_1633349838_add_emoji_column_in_chatsUpSql, map[string]*bintree{}}, - "1634831235_add_highlight_column_in_chats.up.sql": &bintree{_1634831235_add_highlight_column_in_chatsUpSql, map[string]*bintree{}}, - "1634896007_add_last_updated_locally_and_removed.up.sql": &bintree{_1634896007_add_last_updated_locally_and_removedUpSql, map[string]*bintree{}}, - "1635840039_add_clock_read_at_column_in_chats.up.sql": &bintree{_1635840039_add_clock_read_at_column_in_chatsUpSql, map[string]*bintree{}}, - "1637852321_add_received_invitation_admin_column_in_chats.up.sql": &bintree{_1637852321_add_received_invitation_admin_column_in_chatsUpSql, map[string]*bintree{}}, - "1645034601_display_name.up.sql": &bintree{_1645034601_display_nameUpSql, map[string]*bintree{}}, - "1645034602_add_mutual_contact_request.up.sql": &bintree{_1645034602_add_mutual_contact_requestUpSql, map[string]*bintree{}}, - "1650373957_add_contact_request_state.up.sql": &bintree{_1650373957_add_contact_request_stateUpSql, map[string]*bintree{}}, - "1656958989_contact_verification.up.sql": &bintree{_1656958989_contact_verificationUpSql, map[string]*bintree{}}, - "1658236268_add_discord_message_authors_table.up.sql": &bintree{_1658236268_add_discord_message_authors_tableUpSql, map[string]*bintree{}}, - "1659619997_add_discord_messages_table.up.sql": &bintree{_1659619997_add_discord_messages_tableUpSql, map[string]*bintree{}}, - "1660226788_create_chat_identity_social_links.up.sql": &bintree{_1660226788_create_chat_identity_social_linksUpSql, map[string]*bintree{}}, - "1660226789_add_walletconnectsessions_table.up.sql": &bintree{_1660226789_add_walletconnectsessions_tableUpSql, map[string]*bintree{}}, - "1661242854_add_communities_requests_to_leave.up.sql": &bintree{_1661242854_add_communities_requests_to_leaveUpSql, map[string]*bintree{}}, - "1662044232_add_chat_image.up.sql": &bintree{_1662044232_add_chat_imageUpSql, map[string]*bintree{}}, - "1662106895_add_chat_first_message_timestamp.up.sql": &bintree{_1662106895_add_chat_first_message_timestampUpSql, map[string]*bintree{}}, - "1662723928_add_discord_author_image_fields.up.sql": &bintree{_1662723928_add_discord_author_image_fieldsUpSql, map[string]*bintree{}}, - "1664195977_add_deleted_for_mes.up.sql": &bintree{_1664195977_add_deleted_for_mesUpSql, map[string]*bintree{}}, - "1664367420_add_discord_attachments_table.up.sql": &bintree{_1664367420_add_discord_attachments_tableUpSql, map[string]*bintree{}}, - "1665079662_add_spectated_column_in_communities.up.sql": &bintree{_1665079662_add_spectated_column_in_communitiesUpSql, map[string]*bintree{}}, - "1665479047_add_community_id_in_notifications.up.sql": &bintree{_1665479047_add_community_id_in_notificationsUpSql, map[string]*bintree{}}, - "1665484435_add_encrypted_messages.up.sql": &bintree{_1665484435_add_encrypted_messagesUpSql, map[string]*bintree{}}, - "1665560200_add_contact_verification_individual.up.sql": &bintree{_1665560200_add_contact_verification_individualUpSql, map[string]*bintree{}}, - "1670921937_add_album_id.up.sql": &bintree{_1670921937_add_album_idUpSql, map[string]*bintree{}}, - "1673373000_add_replied.up.sql": &bintree{_1673373000_add_repliedUpSql, map[string]*bintree{}}, - "1673428910_add_image_width_height.up.sql": &bintree{_1673428910_add_image_width_heightUpSql, map[string]*bintree{}}, - "1674210659_add_contact_request_local_clock.up.sql": &bintree{_1674210659_add_contact_request_local_clockUpSql, map[string]*bintree{}}, - "1675212323_add_deleted_by.up.sql": &bintree{_1675212323_add_deleted_byUpSql, map[string]*bintree{}}, - "1675247084_add_activity_center_states.up.sql": &bintree{_1675247084_add_activity_center_statesUpSql, map[string]*bintree{}}, - "1675272329_fix_protocol_migration.up.sql": &bintree{_1675272329_fix_protocol_migrationUpSql, map[string]*bintree{}}, - "1676998418_fix_activity_center_migration.up.sql": &bintree{_1676998418_fix_activity_center_migrationUpSql, map[string]*bintree{}}, - "1677278861_add_deleted_column_to_activity_center_notifications_table.up.sql": &bintree{_1677278861_add_deleted_column_to_activity_center_notifications_tableUpSql, map[string]*bintree{}}, - "1677486338_add_community_tokens_table.up.sql": &bintree{_1677486338_add_community_tokens_tableUpSql, map[string]*bintree{}}, - "1678292329_add_collapsed_categories.up.sql": &bintree{_1678292329_add_collapsed_categoriesUpSql, map[string]*bintree{}}, - "1678800760_add_index_to_raw_messages.up.sql": &bintree{_1678800760_add_index_to_raw_messagesUpSql, map[string]*bintree{}}, - "1678877478_add_communities_requests_to_join_revealed_addresses_table.up.sql": &bintree{_1678877478_add_communities_requests_to_join_revealed_addresses_tableUpSql, map[string]*bintree{}}, - "1679326850_add_community_token_owners.up.sql": &bintree{_1679326850_add_community_token_ownersUpSql, map[string]*bintree{}}, - "1680011500_add_album_images_count.up.sql": &bintree{_1680011500_add_album_images_countUpSql, map[string]*bintree{}}, - "1680114896_add_index_on_album_id.up.sql": &bintree{_1680114896_add_index_on_album_idUpSql, map[string]*bintree{}}, - "1681655289_add_mute_till.up.sql": &bintree{_1681655289_add_mute_tillUpSql, map[string]*bintree{}}, - "1681934966_add_index_response_to.up.sql": &bintree{_1681934966_add_index_response_toUpSql, map[string]*bintree{}}, - "1682528339_add_index_user_messages_unseen.up.sql": &bintree{_1682528339_add_index_user_messages_unseenUpSql, map[string]*bintree{}}, - "1683707289_recreate_deleted_for_mes.up.sql": &bintree{_1683707289_recreate_deleted_for_mesUpSql, map[string]*bintree{}}, - "1683725607_mark_discord_messages_as_seen.up.sql": &bintree{_1683725607_mark_discord_messages_as_seenUpSql, map[string]*bintree{}}, - "1684174617_add_url_previews_to_user_messages.up.sql": &bintree{_1684174617_add_url_previews_to_user_messagesUpSql, map[string]*bintree{}}, - "1684175608_add_token_balances.up.sql": &bintree{_1684175608_add_token_balancesUpSql, map[string]*bintree{}}, - "1684979808_sync_activity_center_notifications.up.sql": &bintree{_1684979808_sync_activity_center_notificationsUpSql, map[string]*bintree{}}, - "1685383829_add_communities_mute_till.up.sql": &bintree{_1685383829_add_communities_mute_tillUpSql, map[string]*bintree{}}, - "1685964183_add_chainids_to_revealed_addresses.up.sql": &bintree{_1685964183_add_chainids_to_revealed_addressesUpSql, map[string]*bintree{}}, - "1687370421_add_communities_muted_till_new.up.sql": &bintree{_1687370421_add_communities_muted_till_newUpSql, map[string]*bintree{}}, - "1687416607_add_communities_check_channel_permission_responses_table.up.sql": &bintree{_1687416607_add_communities_check_channel_permission_responses_tableUpSql, map[string]*bintree{}}, - "1687856939_add_community_tokens_decimals.up.sql": &bintree{_1687856939_add_community_tokens_decimalsUpSql, map[string]*bintree{}}, - "1687959987_modify_community_tokens_supply_as_string.up.sql": &bintree{_1687959987_modify_community_tokens_supply_as_stringUpSql, map[string]*bintree{}}, - "1689258900_add_airdrop_address_to_revealed_addresses.up.sql": &bintree{_1689258900_add_airdrop_address_to_revealed_addressesUpSql, map[string]*bintree{}}, - "1689266326_create_communities_events_table.up.sql": &bintree{_1689266326_create_communities_events_tableUpSql, map[string]*bintree{}}, - "1689931300_add_community_tokens_deployer_and_priv_level.up.sql": &bintree{_1689931300_add_community_tokens_deployer_and_priv_levelUpSql, map[string]*bintree{}}, - "1693311881_add_unfurled_links_to_message_edits.up.sql": &bintree{_1693311881_add_unfurled_links_to_message_editsUpSql, map[string]*bintree{}}, - "1693311981_community_shard.up.sql": &bintree{_1693311981_community_shardUpSql, map[string]*bintree{}}, - "1695331492_add_status_link_previews.up.sql": &bintree{_1695331492_add_status_link_previewsUpSql, map[string]*bintree{}}, - "1695918296_add_validated_at.up.sql": &bintree{_1695918296_add_validated_atUpSql, map[string]*bintree{}}, - "1697699419_community_control_node_sync.up.sql": &bintree{_1697699419_community_control_node_syncUpSql, map[string]*bintree{}}, - "1698137561_add_profile_showcase_tables.up.sql": &bintree{_1698137561_add_profile_showcase_tablesUpSql, map[string]*bintree{}}, - "1698137562_fix_encryption_key_id.up.sql": &bintree{_1698137562_fix_encryption_key_idUpSql, map[string]*bintree{}}, - "1698414646_add_padding.up.sql": &bintree{_1698414646_add_paddingUpSql, map[string]*bintree{}}, - "1698746210_add_signature_to_revealed_addresses.up.sql": &bintree{_1698746210_add_signature_to_revealed_addressesUpSql, map[string]*bintree{}}, - "1699041816_profile_showcase_contacts.up.sql": &bintree{_1699041816_profile_showcase_contactsUpSql, map[string]*bintree{}}, - "1699554099_message_segments.up.sql": &bintree{_1699554099_message_segmentsUpSql, map[string]*bintree{}}, - "1700044186_message_segments_timestamp.up.sql": &bintree{_1700044186_message_segments_timestampUpSql, map[string]*bintree{}}, - "1700044187_curated_communities.up.sql": &bintree{_1700044187_curated_communitiesUpSql, map[string]*bintree{}}, - "1700820989_add_resend_automatically_index.up.sql": &bintree{_1700820989_add_resend_automatically_indexUpSql, map[string]*bintree{}}, - "1702996953_add_communities_shards_table.up.sql": &bintree{_1702996953_add_communities_shards_tableUpSql, map[string]*bintree{}}, - "1704489636_add_album_images.up.sql": &bintree{_1704489636_add_album_imagesUpSql, map[string]*bintree{}}, - "1704821941_add_joined_at_for_community.up.sql": &bintree{_1704821941_add_joined_at_for_communityUpSql, map[string]*bintree{}}, - "1704832511_add_last_opened_at_for_communities.up.sql": &bintree{_1704832511_add_last_opened_at_for_communitiesUpSql, map[string]*bintree{}}, - "1704832512_add_peersyncing.up.sql": &bintree{_1704832512_add_peersyncingUpSql, map[string]*bintree{}}, - "1706028033_profile_showcase_address_and_community.up.sql": &bintree{_1706028033_profile_showcase_address_and_communityUpSql, map[string]*bintree{}}, - "1706520870_add_bridge_messages_table.up.sql": &bintree{_1706520870_add_bridge_messages_tableUpSql, map[string]*bintree{}}, - "1706520871_add_community_description_cache.up.sql": &bintree{_1706520871_add_community_description_cacheUpSql, map[string]*bintree{}}, - "1707749393_add_community_grants.up.sql": &bintree{_1707749393_add_community_grantsUpSql, map[string]*bintree{}}, - "1707841194_add_profile_showcase_preferences.up.sql": &bintree{_1707841194_add_profile_showcase_preferencesUpSql, map[string]*bintree{}}, - "1708062699_activity_data.up.sql": &bintree{_1708062699_activity_dataUpSql, map[string]*bintree{}}, - "1708423707_applied_community_events.up.sql": &bintree{_1708423707_applied_community_eventsUpSql, map[string]*bintree{}}, - "1708440786_profile_showcase_social_links.up.sql": &bintree{_1708440786_profile_showcase_social_linksUpSql, map[string]*bintree{}}, - "1709805967_simplify_profile_showcase_preferences.up.sql": &bintree{_1709805967_simplify_profile_showcase_preferencesUpSql, map[string]*bintree{}}, - "1709828431_add_community_description_cache.up.sql": &bintree{_1709828431_add_community_description_cacheUpSql, map[string]*bintree{}}, - "1710331283_add_bio_to_contacts.up.sql": &bintree{_1710331283_add_bio_to_contactsUpSql, map[string]*bintree{}}, - "1710331284_hash_ratchet_encrypted_messages_key_id.up.sql": &bintree{_1710331284_hash_ratchet_encrypted_messages_key_idUpSql, map[string]*bintree{}}, - "1711389881_add_profile_showcase_community_grant.up.sql": &bintree{_1711389881_add_profile_showcase_community_grantUpSql, map[string]*bintree{}}, - "1711937186_add_contact_customization_color.up.sql": &bintree{_1711937186_add_contact_customization_colorUpSql, map[string]*bintree{}}, - "1712745141_hash_ratchet_encrypted_messages_key_id.up.sql": &bintree{_1712745141_hash_ratchet_encrypted_messages_key_idUpSql, map[string]*bintree{}}, - "1712905223_add_parity_to_message_segments.up.sql": &bintree{_1712905223_add_parity_to_message_segmentsUpSql, map[string]*bintree{}}, - "1713169458_update_raw_messages_with_resend_features.up.sql": &bintree{_1713169458_update_raw_messages_with_resend_featuresUpSql, map[string]*bintree{}}, - "README.md": &bintree{readmeMd, map[string]*bintree{}}, - "doc.go": &bintree{docGo, map[string]*bintree{}}, + "000001_init.down.db.sql": {_000001_initDownDbSql, map[string]*bintree{}}, + "000001_init.up.db.sql": {_000001_initUpDbSql, map[string]*bintree{}}, + "000002_add_last_ens_clock_value.up.sql": {_000002_add_last_ens_clock_valueUpSql, map[string]*bintree{}}, + "1586358095_add_replace.up.sql": {_1586358095_add_replaceUpSql, map[string]*bintree{}}, + "1588665364_add_image_data.up.sql": {_1588665364_add_image_dataUpSql, map[string]*bintree{}}, + "1589365189_add_pow_target.up.sql": {_1589365189_add_pow_targetUpSql, map[string]*bintree{}}, + "1591277220_add_index_messages.up.sql": {_1591277220_add_index_messagesUpSql, map[string]*bintree{}}, + "1593087212_add_mute_chat_and_raw_message_fields.up.sql": {_1593087212_add_mute_chat_and_raw_message_fieldsUpSql, map[string]*bintree{}}, + "1595862781_add_audio_data.up.sql": {_1595862781_add_audio_dataUpSql, map[string]*bintree{}}, + "1595865249_create_emoji_reactions_table.up.sql": {_1595865249_create_emoji_reactions_tableUpSql, map[string]*bintree{}}, + "1596805115_create_group_chat_invitations_table.up.sql": {_1596805115_create_group_chat_invitations_tableUpSql, map[string]*bintree{}}, + "1597322655_add_invitation_admin_chat_field.up.sql": {_1597322655_add_invitation_admin_chat_fieldUpSql, map[string]*bintree{}}, + "1597757544_add_nickname.up.sql": {_1597757544_add_nicknameUpSql, map[string]*bintree{}}, + "1598955122_add_mentions.up.sql": {_1598955122_add_mentionsUpSql, map[string]*bintree{}}, + "1599641390_add_emoji_reactions_index.up.sql": {_1599641390_add_emoji_reactions_indexUpSql, map[string]*bintree{}}, + "1599720851_add_seen_index_remove_long_messages.up.sql": {_1599720851_add_seen_index_remove_long_messagesUpSql, map[string]*bintree{}}, + "1603198582_add_profile_chat_field.up.sql": {_1603198582_add_profile_chat_fieldUpSql, map[string]*bintree{}}, + "1603816533_add_links.up.sql": {_1603816533_add_linksUpSql, map[string]*bintree{}}, + "1603888149_create_chat_identity_last_published_table.up.sql": {_1603888149_create_chat_identity_last_published_tableUpSql, map[string]*bintree{}}, + "1605075346_add_communities.up.sql": {_1605075346_add_communitiesUpSql, map[string]*bintree{}}, + "1610117927_add_message_cache.up.sql": {_1610117927_add_message_cacheUpSql, map[string]*bintree{}}, + "1610959908_add_dont_wrap_to_raw_messages.up.sql": {_1610959908_add_dont_wrap_to_raw_messagesUpSql, map[string]*bintree{}}, + "1610960912_add_send_on_personal_topic.up.sql": {_1610960912_add_send_on_personal_topicUpSql, map[string]*bintree{}}, + "1612870480_add_datasync_id.up.sql": {_1612870480_add_datasync_idUpSql, map[string]*bintree{}}, + "1614152139_add_communities_request_to_join.up.sql": {_1614152139_add_communities_request_to_joinUpSql, map[string]*bintree{}}, + "1615374373_add_confirmations.up.sql": {_1615374373_add_confirmationsUpSql, map[string]*bintree{}}, + "1617694931_add_notification_center.up.sql": {_1617694931_add_notification_centerUpSql, map[string]*bintree{}}, + "1618923660_create_pin_messages.up.sql": {_1618923660_create_pin_messagesUpSql, map[string]*bintree{}}, + "1619094007_add_joined_chat_field.up.sql": {_1619094007_add_joined_chat_fieldUpSql, map[string]*bintree{}}, + "1619099821_add_last_synced_field.up.sql": {_1619099821_add_last_synced_fieldUpSql, map[string]*bintree{}}, + "1621933219_add_mentioned.up.sql": {_1621933219_add_mentionedUpSql, map[string]*bintree{}}, + "1622010048_add_unviewed_mentions_count.up.sql": {_1622010048_add_unviewed_mentions_countUpSql, map[string]*bintree{}}, + "1622061278_add_message_activity_center_notification_field.up.sql": {_1622061278_add_message_activity_center_notification_fieldUpSql, map[string]*bintree{}}, + "1622464518_set_synced_to_from.up.sql": {_1622464518_set_synced_to_fromUpSql, map[string]*bintree{}}, + "1622464519_add_chat_description.up.sql": {_1622464519_add_chat_descriptionUpSql, map[string]*bintree{}}, + "1622622253_add_pinned_by_to_pin_messages.up.sql": {_1622622253_add_pinned_by_to_pin_messagesUpSql, map[string]*bintree{}}, + "1623938329_add_author_activity_center_notification_field.up.sql": {_1623938329_add_author_activity_center_notification_fieldUpSql, map[string]*bintree{}}, + "1623938330_add_edit_messages.up.sql": {_1623938330_add_edit_messagesUpSql, map[string]*bintree{}}, + "1624978434_add_muted_community.up.sql": {_1624978434_add_muted_communityUpSql, map[string]*bintree{}}, + "1625018910_add_repply_message_activity_center_notification_field.up.sql": {_1625018910_add_repply_message_activity_center_notification_fieldUpSql, map[string]*bintree{}}, + "1625762506_add_deleted_messages.up.sql": {_1625762506_add_deleted_messagesUpSql, map[string]*bintree{}}, + "1627388946_add_communities_synced_at.up.sql": {_1627388946_add_communities_synced_atUpSql, map[string]*bintree{}}, + "1628280060_create-usermessages-index.sql": {_1628280060_createUsermessagesIndexSql, map[string]*bintree{}}, + "1632303896_modify_contacts_table.up.sql": {_1632303896_modify_contacts_tableUpSql, map[string]*bintree{}}, + "1633349838_add_emoji_column_in_chats.up.sql": {_1633349838_add_emoji_column_in_chatsUpSql, map[string]*bintree{}}, + "1634831235_add_highlight_column_in_chats.up.sql": {_1634831235_add_highlight_column_in_chatsUpSql, map[string]*bintree{}}, + "1634896007_add_last_updated_locally_and_removed.up.sql": {_1634896007_add_last_updated_locally_and_removedUpSql, map[string]*bintree{}}, + "1635840039_add_clock_read_at_column_in_chats.up.sql": {_1635840039_add_clock_read_at_column_in_chatsUpSql, map[string]*bintree{}}, + "1637852321_add_received_invitation_admin_column_in_chats.up.sql": {_1637852321_add_received_invitation_admin_column_in_chatsUpSql, map[string]*bintree{}}, + "1645034601_display_name.up.sql": {_1645034601_display_nameUpSql, map[string]*bintree{}}, + "1645034602_add_mutual_contact_request.up.sql": {_1645034602_add_mutual_contact_requestUpSql, map[string]*bintree{}}, + "1650373957_add_contact_request_state.up.sql": {_1650373957_add_contact_request_stateUpSql, map[string]*bintree{}}, + "1656958989_contact_verification.up.sql": {_1656958989_contact_verificationUpSql, map[string]*bintree{}}, + "1658236268_add_discord_message_authors_table.up.sql": {_1658236268_add_discord_message_authors_tableUpSql, map[string]*bintree{}}, + "1659619997_add_discord_messages_table.up.sql": {_1659619997_add_discord_messages_tableUpSql, map[string]*bintree{}}, + "1660226788_create_chat_identity_social_links.up.sql": {_1660226788_create_chat_identity_social_linksUpSql, map[string]*bintree{}}, + "1660226789_add_walletconnectsessions_table.up.sql": {_1660226789_add_walletconnectsessions_tableUpSql, map[string]*bintree{}}, + "1661242854_add_communities_requests_to_leave.up.sql": {_1661242854_add_communities_requests_to_leaveUpSql, map[string]*bintree{}}, + "1662044232_add_chat_image.up.sql": {_1662044232_add_chat_imageUpSql, map[string]*bintree{}}, + "1662106895_add_chat_first_message_timestamp.up.sql": {_1662106895_add_chat_first_message_timestampUpSql, map[string]*bintree{}}, + "1662723928_add_discord_author_image_fields.up.sql": {_1662723928_add_discord_author_image_fieldsUpSql, map[string]*bintree{}}, + "1664195977_add_deleted_for_mes.up.sql": {_1664195977_add_deleted_for_mesUpSql, map[string]*bintree{}}, + "1664367420_add_discord_attachments_table.up.sql": {_1664367420_add_discord_attachments_tableUpSql, map[string]*bintree{}}, + "1665079662_add_spectated_column_in_communities.up.sql": {_1665079662_add_spectated_column_in_communitiesUpSql, map[string]*bintree{}}, + "1665479047_add_community_id_in_notifications.up.sql": {_1665479047_add_community_id_in_notificationsUpSql, map[string]*bintree{}}, + "1665484435_add_encrypted_messages.up.sql": {_1665484435_add_encrypted_messagesUpSql, map[string]*bintree{}}, + "1665560200_add_contact_verification_individual.up.sql": {_1665560200_add_contact_verification_individualUpSql, map[string]*bintree{}}, + "1670921937_add_album_id.up.sql": {_1670921937_add_album_idUpSql, map[string]*bintree{}}, + "1673373000_add_replied.up.sql": {_1673373000_add_repliedUpSql, map[string]*bintree{}}, + "1673428910_add_image_width_height.up.sql": {_1673428910_add_image_width_heightUpSql, map[string]*bintree{}}, + "1674210659_add_contact_request_local_clock.up.sql": {_1674210659_add_contact_request_local_clockUpSql, map[string]*bintree{}}, + "1675212323_add_deleted_by.up.sql": {_1675212323_add_deleted_byUpSql, map[string]*bintree{}}, + "1675247084_add_activity_center_states.up.sql": {_1675247084_add_activity_center_statesUpSql, map[string]*bintree{}}, + "1675272329_fix_protocol_migration.up.sql": {_1675272329_fix_protocol_migrationUpSql, map[string]*bintree{}}, + "1676998418_fix_activity_center_migration.up.sql": {_1676998418_fix_activity_center_migrationUpSql, map[string]*bintree{}}, + "1677278861_add_deleted_column_to_activity_center_notifications_table.up.sql": {_1677278861_add_deleted_column_to_activity_center_notifications_tableUpSql, map[string]*bintree{}}, + "1677486338_add_community_tokens_table.up.sql": {_1677486338_add_community_tokens_tableUpSql, map[string]*bintree{}}, + "1678292329_add_collapsed_categories.up.sql": {_1678292329_add_collapsed_categoriesUpSql, map[string]*bintree{}}, + "1678800760_add_index_to_raw_messages.up.sql": {_1678800760_add_index_to_raw_messagesUpSql, map[string]*bintree{}}, + "1678877478_add_communities_requests_to_join_revealed_addresses_table.up.sql": {_1678877478_add_communities_requests_to_join_revealed_addresses_tableUpSql, map[string]*bintree{}}, + "1679326850_add_community_token_owners.up.sql": {_1679326850_add_community_token_ownersUpSql, map[string]*bintree{}}, + "1680011500_add_album_images_count.up.sql": {_1680011500_add_album_images_countUpSql, map[string]*bintree{}}, + "1680114896_add_index_on_album_id.up.sql": {_1680114896_add_index_on_album_idUpSql, map[string]*bintree{}}, + "1681655289_add_mute_till.up.sql": {_1681655289_add_mute_tillUpSql, map[string]*bintree{}}, + "1681934966_add_index_response_to.up.sql": {_1681934966_add_index_response_toUpSql, map[string]*bintree{}}, + "1682528339_add_index_user_messages_unseen.up.sql": {_1682528339_add_index_user_messages_unseenUpSql, map[string]*bintree{}}, + "1683707289_recreate_deleted_for_mes.up.sql": {_1683707289_recreate_deleted_for_mesUpSql, map[string]*bintree{}}, + "1683725607_mark_discord_messages_as_seen.up.sql": {_1683725607_mark_discord_messages_as_seenUpSql, map[string]*bintree{}}, + "1684174617_add_url_previews_to_user_messages.up.sql": {_1684174617_add_url_previews_to_user_messagesUpSql, map[string]*bintree{}}, + "1684175608_add_token_balances.up.sql": {_1684175608_add_token_balancesUpSql, map[string]*bintree{}}, + "1684979808_sync_activity_center_notifications.up.sql": {_1684979808_sync_activity_center_notificationsUpSql, map[string]*bintree{}}, + "1685383829_add_communities_mute_till.up.sql": {_1685383829_add_communities_mute_tillUpSql, map[string]*bintree{}}, + "1685964183_add_chainids_to_revealed_addresses.up.sql": {_1685964183_add_chainids_to_revealed_addressesUpSql, map[string]*bintree{}}, + "1687370421_add_communities_muted_till_new.up.sql": {_1687370421_add_communities_muted_till_newUpSql, map[string]*bintree{}}, + "1687416607_add_communities_check_channel_permission_responses_table.up.sql": {_1687416607_add_communities_check_channel_permission_responses_tableUpSql, map[string]*bintree{}}, + "1687856939_add_community_tokens_decimals.up.sql": {_1687856939_add_community_tokens_decimalsUpSql, map[string]*bintree{}}, + "1687959987_modify_community_tokens_supply_as_string.up.sql": {_1687959987_modify_community_tokens_supply_as_stringUpSql, map[string]*bintree{}}, + "1689258900_add_airdrop_address_to_revealed_addresses.up.sql": {_1689258900_add_airdrop_address_to_revealed_addressesUpSql, map[string]*bintree{}}, + "1689266326_create_communities_events_table.up.sql": {_1689266326_create_communities_events_tableUpSql, map[string]*bintree{}}, + "1689931300_add_community_tokens_deployer_and_priv_level.up.sql": {_1689931300_add_community_tokens_deployer_and_priv_levelUpSql, map[string]*bintree{}}, + "1693311881_add_unfurled_links_to_message_edits.up.sql": {_1693311881_add_unfurled_links_to_message_editsUpSql, map[string]*bintree{}}, + "1693311981_community_shard.up.sql": {_1693311981_community_shardUpSql, map[string]*bintree{}}, + "1695331492_add_status_link_previews.up.sql": {_1695331492_add_status_link_previewsUpSql, map[string]*bintree{}}, + "1695918296_add_validated_at.up.sql": {_1695918296_add_validated_atUpSql, map[string]*bintree{}}, + "1697699419_community_control_node_sync.up.sql": {_1697699419_community_control_node_syncUpSql, map[string]*bintree{}}, + "1698137561_add_profile_showcase_tables.up.sql": {_1698137561_add_profile_showcase_tablesUpSql, map[string]*bintree{}}, + "1698137562_fix_encryption_key_id.up.sql": {_1698137562_fix_encryption_key_idUpSql, map[string]*bintree{}}, + "1698414646_add_padding.up.sql": {_1698414646_add_paddingUpSql, map[string]*bintree{}}, + "1698746210_add_signature_to_revealed_addresses.up.sql": {_1698746210_add_signature_to_revealed_addressesUpSql, map[string]*bintree{}}, + "1699041816_profile_showcase_contacts.up.sql": {_1699041816_profile_showcase_contactsUpSql, map[string]*bintree{}}, + "1699554099_message_segments.up.sql": {_1699554099_message_segmentsUpSql, map[string]*bintree{}}, + "1700044186_message_segments_timestamp.up.sql": {_1700044186_message_segments_timestampUpSql, map[string]*bintree{}}, + "1700044187_curated_communities.up.sql": {_1700044187_curated_communitiesUpSql, map[string]*bintree{}}, + "1700820989_add_resend_automatically_index.up.sql": {_1700820989_add_resend_automatically_indexUpSql, map[string]*bintree{}}, + "1702996953_add_communities_shards_table.up.sql": {_1702996953_add_communities_shards_tableUpSql, map[string]*bintree{}}, + "1704489636_add_album_images.up.sql": {_1704489636_add_album_imagesUpSql, map[string]*bintree{}}, + "1704821941_add_joined_at_for_community.up.sql": {_1704821941_add_joined_at_for_communityUpSql, map[string]*bintree{}}, + "1704832511_add_last_opened_at_for_communities.up.sql": {_1704832511_add_last_opened_at_for_communitiesUpSql, map[string]*bintree{}}, + "1704832512_add_peersyncing.up.sql": {_1704832512_add_peersyncingUpSql, map[string]*bintree{}}, + "1706028033_profile_showcase_address_and_community.up.sql": {_1706028033_profile_showcase_address_and_communityUpSql, map[string]*bintree{}}, + "1706520870_add_bridge_messages_table.up.sql": {_1706520870_add_bridge_messages_tableUpSql, map[string]*bintree{}}, + "1706520871_add_community_description_cache.up.sql": {_1706520871_add_community_description_cacheUpSql, map[string]*bintree{}}, + "1707749393_add_community_grants.up.sql": {_1707749393_add_community_grantsUpSql, map[string]*bintree{}}, + "1707841194_add_profile_showcase_preferences.up.sql": {_1707841194_add_profile_showcase_preferencesUpSql, map[string]*bintree{}}, + "1708062699_activity_data.up.sql": {_1708062699_activity_dataUpSql, map[string]*bintree{}}, + "1708423707_applied_community_events.up.sql": {_1708423707_applied_community_eventsUpSql, map[string]*bintree{}}, + "1708440786_profile_showcase_social_links.up.sql": {_1708440786_profile_showcase_social_linksUpSql, map[string]*bintree{}}, + "1709805967_simplify_profile_showcase_preferences.up.sql": {_1709805967_simplify_profile_showcase_preferencesUpSql, map[string]*bintree{}}, + "1709828431_add_community_description_cache.up.sql": {_1709828431_add_community_description_cacheUpSql, map[string]*bintree{}}, + "1710331283_add_bio_to_contacts.up.sql": {_1710331283_add_bio_to_contactsUpSql, map[string]*bintree{}}, + "1710331284_hash_ratchet_encrypted_messages_key_id.up.sql": {_1710331284_hash_ratchet_encrypted_messages_key_idUpSql, map[string]*bintree{}}, + "1711389881_add_profile_showcase_community_grant.up.sql": {_1711389881_add_profile_showcase_community_grantUpSql, map[string]*bintree{}}, + "1711937186_add_contact_customization_color.up.sql": {_1711937186_add_contact_customization_colorUpSql, map[string]*bintree{}}, + "1712745141_hash_ratchet_encrypted_messages_key_id.up.sql": {_1712745141_hash_ratchet_encrypted_messages_key_idUpSql, map[string]*bintree{}}, + "1712905223_add_parity_to_message_segments.up.sql": {_1712905223_add_parity_to_message_segmentsUpSql, map[string]*bintree{}}, + "1713169458_update_raw_messages_with_resend_features.up.sql": {_1713169458_update_raw_messages_with_resend_featuresUpSql, map[string]*bintree{}}, + "README.md": {readmeMd, map[string]*bintree{}}, + "doc.go": {docGo, map[string]*bintree{}}, }} // RestoreAsset restores an asset under the given directory. @@ -3529,7 +3396,7 @@ func RestoreAsset(dir, name string) error { if err != nil { return err } - err = ioutil.WriteFile(_filePath(dir, name), data, info.Mode()) + err = os.WriteFile(_filePath(dir, name), data, info.Mode()) if err != nil { return err } diff --git a/protocol/protobuf/application_metadata_message.pb.go b/protocol/protobuf/application_metadata_message.pb.go index a725845e2..1b603fbf9 100644 --- a/protocol/protobuf/application_metadata_message.pb.go +++ b/protocol/protobuf/application_metadata_message.pb.go @@ -107,6 +107,7 @@ const ( ApplicationMetadataMessage_COMMUNITY_REEVALUATE_PERMISSIONS_REQUEST ApplicationMetadataMessage_Type = 84 ApplicationMetadataMessage_DELETE_COMMUNITY_MEMBER_MESSAGES ApplicationMetadataMessage_Type = 85 ApplicationMetadataMessage_COMMUNITY_UPDATE_GRANT ApplicationMetadataMessage_Type = 86 + ApplicationMetadataMessage_COMMUNITY_ENCRYPTION_KEYS_REQUEST ApplicationMetadataMessage_Type = 87 ) // Enum value maps for ApplicationMetadataMessage_Type. @@ -194,6 +195,7 @@ var ( 84: "COMMUNITY_REEVALUATE_PERMISSIONS_REQUEST", 85: "DELETE_COMMUNITY_MEMBER_MESSAGES", 86: "COMMUNITY_UPDATE_GRANT", + 87: "COMMUNITY_ENCRYPTION_KEYS_REQUEST", } ApplicationMetadataMessage_Type_value = map[string]int32{ "UNKNOWN": 0, @@ -278,6 +280,7 @@ var ( "COMMUNITY_REEVALUATE_PERMISSIONS_REQUEST": 84, "DELETE_COMMUNITY_MEMBER_MESSAGES": 85, "COMMUNITY_UPDATE_GRANT": 86, + "COMMUNITY_ENCRYPTION_KEYS_REQUEST": 87, } ) @@ -379,8 +382,8 @@ var File_application_metadata_message_proto protoreflect.FileDescriptor var file_application_metadata_message_proto_rawDesc = []byte{ 0x0a, 0x22, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x2e, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x08, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x22, 0xdf, - 0x15, 0x0a, 0x1a, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, + 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x08, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x22, 0x86, + 0x16, 0x0a, 0x1a, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x70, @@ -389,7 +392,7 @@ var file_application_metadata_message_proto_rawDesc = []byte{ 0x01, 0x28, 0x0e, 0x32, 0x29, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, - 0x74, 0x79, 0x70, 0x65, 0x22, 0xc9, 0x14, 0x0a, 0x04, 0x54, 0x79, 0x70, 0x65, 0x12, 0x0b, 0x0a, + 0x74, 0x79, 0x70, 0x65, 0x22, 0xf0, 0x14, 0x0a, 0x04, 0x54, 0x79, 0x70, 0x65, 0x12, 0x0b, 0x0a, 0x07, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x10, 0x0a, 0x0c, 0x43, 0x48, 0x41, 0x54, 0x5f, 0x4d, 0x45, 0x53, 0x53, 0x41, 0x47, 0x45, 0x10, 0x01, 0x12, 0x12, 0x0a, 0x0e, 0x43, 0x4f, 0x4e, 0x54, 0x41, 0x43, 0x54, 0x5f, 0x55, 0x50, 0x44, 0x41, 0x54, 0x45, 0x10, 0x02, @@ -543,19 +546,21 @@ var file_application_metadata_message_proto_rawDesc = []byte{ 0x45, 0x5f, 0x43, 0x4f, 0x4d, 0x4d, 0x55, 0x4e, 0x49, 0x54, 0x59, 0x5f, 0x4d, 0x45, 0x4d, 0x42, 0x45, 0x52, 0x5f, 0x4d, 0x45, 0x53, 0x53, 0x41, 0x47, 0x45, 0x53, 0x10, 0x55, 0x12, 0x1a, 0x0a, 0x16, 0x43, 0x4f, 0x4d, 0x4d, 0x55, 0x4e, 0x49, 0x54, 0x59, 0x5f, 0x55, 0x50, 0x44, 0x41, 0x54, - 0x45, 0x5f, 0x47, 0x52, 0x41, 0x4e, 0x54, 0x10, 0x56, 0x22, 0x04, 0x08, 0x0e, 0x10, 0x0e, 0x22, - 0x04, 0x08, 0x41, 0x10, 0x41, 0x22, 0x04, 0x08, 0x42, 0x10, 0x42, 0x22, 0x04, 0x08, 0x47, 0x10, - 0x47, 0x2a, 0x1d, 0x53, 0x59, 0x4e, 0x43, 0x5f, 0x49, 0x4e, 0x53, 0x54, 0x41, 0x4c, 0x4c, 0x41, - 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x50, 0x55, 0x42, 0x4c, 0x49, 0x43, 0x5f, 0x43, 0x48, 0x41, 0x54, - 0x2a, 0x22, 0x53, 0x59, 0x4e, 0x43, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x56, 0x49, 0x54, 0x59, 0x5f, - 0x43, 0x45, 0x4e, 0x54, 0x45, 0x52, 0x5f, 0x4e, 0x4f, 0x54, 0x49, 0x46, 0x49, 0x43, 0x41, 0x54, - 0x49, 0x4f, 0x4e, 0x53, 0x2a, 0x27, 0x53, 0x59, 0x4e, 0x43, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x56, - 0x49, 0x54, 0x59, 0x5f, 0x43, 0x45, 0x4e, 0x54, 0x45, 0x52, 0x5f, 0x4e, 0x4f, 0x54, 0x49, 0x46, - 0x49, 0x43, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x2a, 0x21, 0x43, - 0x4f, 0x4d, 0x4d, 0x55, 0x4e, 0x49, 0x54, 0x59, 0x5f, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x53, 0x5f, - 0x4d, 0x45, 0x53, 0x53, 0x41, 0x47, 0x45, 0x5f, 0x52, 0x45, 0x4a, 0x45, 0x43, 0x54, 0x45, 0x44, - 0x42, 0x0d, 0x5a, 0x0b, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x62, - 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x45, 0x5f, 0x47, 0x52, 0x41, 0x4e, 0x54, 0x10, 0x56, 0x12, 0x25, 0x0a, 0x21, 0x43, 0x4f, 0x4d, + 0x4d, 0x55, 0x4e, 0x49, 0x54, 0x59, 0x5f, 0x45, 0x4e, 0x43, 0x52, 0x59, 0x50, 0x54, 0x49, 0x4f, + 0x4e, 0x5f, 0x4b, 0x45, 0x59, 0x53, 0x5f, 0x52, 0x45, 0x51, 0x55, 0x45, 0x53, 0x54, 0x10, 0x57, + 0x22, 0x04, 0x08, 0x0e, 0x10, 0x0e, 0x22, 0x04, 0x08, 0x41, 0x10, 0x41, 0x22, 0x04, 0x08, 0x42, + 0x10, 0x42, 0x22, 0x04, 0x08, 0x47, 0x10, 0x47, 0x2a, 0x1d, 0x53, 0x59, 0x4e, 0x43, 0x5f, 0x49, + 0x4e, 0x53, 0x54, 0x41, 0x4c, 0x4c, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x50, 0x55, 0x42, 0x4c, + 0x49, 0x43, 0x5f, 0x43, 0x48, 0x41, 0x54, 0x2a, 0x22, 0x53, 0x59, 0x4e, 0x43, 0x5f, 0x41, 0x43, + 0x54, 0x49, 0x56, 0x49, 0x54, 0x59, 0x5f, 0x43, 0x45, 0x4e, 0x54, 0x45, 0x52, 0x5f, 0x4e, 0x4f, + 0x54, 0x49, 0x46, 0x49, 0x43, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x53, 0x2a, 0x27, 0x53, 0x59, 0x4e, + 0x43, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x56, 0x49, 0x54, 0x59, 0x5f, 0x43, 0x45, 0x4e, 0x54, 0x45, + 0x52, 0x5f, 0x4e, 0x4f, 0x54, 0x49, 0x46, 0x49, 0x43, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x53, + 0x54, 0x41, 0x54, 0x45, 0x2a, 0x21, 0x43, 0x4f, 0x4d, 0x4d, 0x55, 0x4e, 0x49, 0x54, 0x59, 0x5f, + 0x45, 0x56, 0x45, 0x4e, 0x54, 0x53, 0x5f, 0x4d, 0x45, 0x53, 0x53, 0x41, 0x47, 0x45, 0x5f, 0x52, + 0x45, 0x4a, 0x45, 0x43, 0x54, 0x45, 0x44, 0x42, 0x0d, 0x5a, 0x0b, 0x2e, 0x2f, 0x3b, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( diff --git a/protocol/protobuf/application_metadata_message.proto b/protocol/protobuf/application_metadata_message.proto index c5d411e0f..94f70ef75 100644 --- a/protocol/protobuf/application_metadata_message.proto +++ b/protocol/protobuf/application_metadata_message.proto @@ -105,5 +105,6 @@ message ApplicationMetadataMessage { COMMUNITY_REEVALUATE_PERMISSIONS_REQUEST = 84; DELETE_COMMUNITY_MEMBER_MESSAGES = 85; COMMUNITY_UPDATE_GRANT = 86; + COMMUNITY_ENCRYPTION_KEYS_REQUEST = 87; } } diff --git a/protocol/protobuf/communities.pb.go b/protocol/protobuf/communities.pb.go index d598e79de..cb2a12033 100644 --- a/protocol/protobuf/communities.pb.go +++ b/protocol/protobuf/communities.pb.go @@ -2591,6 +2591,53 @@ func (x *CommunityUpdateGrant) GetGrants() map[uint32][]byte { return nil } +type CommunityEncryptionKeysRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + CommunityId []byte `protobuf:"bytes,1,opt,name=community_id,json=communityId,proto3" json:"community_id,omitempty"` +} + +func (x *CommunityEncryptionKeysRequest) Reset() { + *x = CommunityEncryptionKeysRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_communities_proto_msgTypes[31] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CommunityEncryptionKeysRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CommunityEncryptionKeysRequest) ProtoMessage() {} + +func (x *CommunityEncryptionKeysRequest) ProtoReflect() protoreflect.Message { + mi := &file_communities_proto_msgTypes[31] + 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 CommunityEncryptionKeysRequest.ProtoReflect.Descriptor instead. +func (*CommunityEncryptionKeysRequest) Descriptor() ([]byte, []int) { + return file_communities_proto_rawDescGZIP(), []int{31} +} + +func (x *CommunityEncryptionKeysRequest) GetCommunityId() []byte { + if x != nil { + return x.CommunityId + } + return nil +} + var File_communities_proto protoreflect.FileDescriptor var file_communities_proto_rawDesc = []byte{ @@ -3085,9 +3132,13 @@ var file_communities_proto_rawDesc = []byte{ 0x39, 0x0a, 0x0b, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, - 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42, 0x0d, 0x5a, 0x0b, 0x2e, 0x2f, - 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x33, + 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x43, 0x0a, 0x1e, 0x43, 0x6f, + 0x6d, 0x6d, 0x75, 0x6e, 0x69, 0x74, 0x79, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, + 0x6e, 0x4b, 0x65, 0x79, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x21, 0x0a, 0x0c, + 0x63, 0x6f, 0x6d, 0x6d, 0x75, 0x6e, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x0c, 0x52, 0x0b, 0x63, 0x6f, 0x6d, 0x6d, 0x75, 0x6e, 0x69, 0x74, 0x79, 0x49, 0x64, 0x42, + 0x0d, 0x5a, 0x0b, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x62, 0x06, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -3103,7 +3154,7 @@ func file_communities_proto_rawDescGZIP() []byte { } var file_communities_proto_enumTypes = make([]protoimpl.EnumInfo, 4) -var file_communities_proto_msgTypes = make([]protoimpl.MessageInfo, 42) +var file_communities_proto_msgTypes = make([]protoimpl.MessageInfo, 43) var file_communities_proto_goTypes = []interface{}{ (CommunityMember_Roles)(0), // 0: protobuf.CommunityMember.Roles (CommunityMember_ChannelRole)(0), // 1: protobuf.CommunityMember.ChannelRole @@ -3140,56 +3191,57 @@ var file_communities_proto_goTypes = []interface{}{ (*DeleteCommunityMemberMessage)(nil), // 32: protobuf.DeleteCommunityMemberMessage (*DeleteCommunityMemberMessages)(nil), // 33: protobuf.DeleteCommunityMemberMessages (*CommunityUpdateGrant)(nil), // 34: protobuf.CommunityUpdateGrant - nil, // 35: protobuf.CommunityTokenMetadata.ContractAddressesEntry - nil, // 36: protobuf.TokenCriteria.ContractAddressesEntry - nil, // 37: protobuf.CommunityDescription.MembersEntry - nil, // 38: protobuf.CommunityDescription.ChatsEntry - nil, // 39: protobuf.CommunityDescription.CategoriesEntry - nil, // 40: protobuf.CommunityDescription.TokenPermissionsEntry - nil, // 41: protobuf.CommunityDescription.BannedMembersEntry - nil, // 42: protobuf.CommunityDescription.PrivateDataEntry - nil, // 43: protobuf.CommunityChat.MembersEntry - nil, // 44: protobuf.WakuMessageArchiveIndex.ArchivesEntry - nil, // 45: protobuf.CommunityUpdateGrant.GrantsEntry - (CommunityTokenType)(0), // 46: protobuf.CommunityTokenType - (*ChatIdentity)(nil), // 47: protobuf.ChatIdentity - (*Shard)(nil), // 48: protobuf.Shard + (*CommunityEncryptionKeysRequest)(nil), // 35: protobuf.CommunityEncryptionKeysRequest + nil, // 36: protobuf.CommunityTokenMetadata.ContractAddressesEntry + nil, // 37: protobuf.TokenCriteria.ContractAddressesEntry + nil, // 38: protobuf.CommunityDescription.MembersEntry + nil, // 39: protobuf.CommunityDescription.ChatsEntry + nil, // 40: protobuf.CommunityDescription.CategoriesEntry + nil, // 41: protobuf.CommunityDescription.TokenPermissionsEntry + nil, // 42: protobuf.CommunityDescription.BannedMembersEntry + nil, // 43: protobuf.CommunityDescription.PrivateDataEntry + nil, // 44: protobuf.CommunityChat.MembersEntry + nil, // 45: protobuf.WakuMessageArchiveIndex.ArchivesEntry + nil, // 46: protobuf.CommunityUpdateGrant.GrantsEntry + (CommunityTokenType)(0), // 47: protobuf.CommunityTokenType + (*ChatIdentity)(nil), // 48: protobuf.ChatIdentity + (*Shard)(nil), // 49: protobuf.Shard } var file_communities_proto_depIdxs = []int32{ 0, // 0: protobuf.CommunityMember.roles:type_name -> protobuf.CommunityMember.Roles 15, // 1: protobuf.CommunityMember.revealed_accounts:type_name -> protobuf.RevealedAccount 1, // 2: protobuf.CommunityMember.channel_role:type_name -> protobuf.CommunityMember.ChannelRole - 35, // 3: protobuf.CommunityTokenMetadata.contract_addresses:type_name -> protobuf.CommunityTokenMetadata.ContractAddressesEntry - 46, // 4: protobuf.CommunityTokenMetadata.tokenType:type_name -> protobuf.CommunityTokenType + 36, // 3: protobuf.CommunityTokenMetadata.contract_addresses:type_name -> protobuf.CommunityTokenMetadata.ContractAddressesEntry + 47, // 4: protobuf.CommunityTokenMetadata.tokenType:type_name -> protobuf.CommunityTokenType 2, // 5: protobuf.CommunityPermissions.access:type_name -> protobuf.CommunityPermissions.Access - 36, // 6: protobuf.TokenCriteria.contract_addresses:type_name -> protobuf.TokenCriteria.ContractAddressesEntry - 46, // 7: protobuf.TokenCriteria.type:type_name -> protobuf.CommunityTokenType + 37, // 6: protobuf.TokenCriteria.contract_addresses:type_name -> protobuf.TokenCriteria.ContractAddressesEntry + 47, // 7: protobuf.TokenCriteria.type:type_name -> protobuf.CommunityTokenType 3, // 8: protobuf.CommunityTokenPermission.type:type_name -> protobuf.CommunityTokenPermission.Type 8, // 9: protobuf.CommunityTokenPermission.token_criteria:type_name -> protobuf.TokenCriteria - 37, // 10: protobuf.CommunityDescription.members:type_name -> protobuf.CommunityDescription.MembersEntry + 38, // 10: protobuf.CommunityDescription.members:type_name -> protobuf.CommunityDescription.MembersEntry 7, // 11: protobuf.CommunityDescription.permissions:type_name -> protobuf.CommunityPermissions - 47, // 12: protobuf.CommunityDescription.identity:type_name -> protobuf.ChatIdentity - 38, // 13: protobuf.CommunityDescription.chats:type_name -> protobuf.CommunityDescription.ChatsEntry - 39, // 14: protobuf.CommunityDescription.categories:type_name -> protobuf.CommunityDescription.CategoriesEntry + 48, // 12: protobuf.CommunityDescription.identity:type_name -> protobuf.ChatIdentity + 39, // 13: protobuf.CommunityDescription.chats:type_name -> protobuf.CommunityDescription.ChatsEntry + 40, // 14: protobuf.CommunityDescription.categories:type_name -> protobuf.CommunityDescription.CategoriesEntry 12, // 15: protobuf.CommunityDescription.admin_settings:type_name -> protobuf.CommunityAdminSettings - 40, // 16: protobuf.CommunityDescription.token_permissions:type_name -> protobuf.CommunityDescription.TokenPermissionsEntry + 41, // 16: protobuf.CommunityDescription.token_permissions:type_name -> protobuf.CommunityDescription.TokenPermissionsEntry 6, // 17: protobuf.CommunityDescription.community_tokens_metadata:type_name -> protobuf.CommunityTokenMetadata - 41, // 18: protobuf.CommunityDescription.banned_members:type_name -> protobuf.CommunityDescription.BannedMembersEntry - 42, // 19: protobuf.CommunityDescription.privateData:type_name -> protobuf.CommunityDescription.PrivateDataEntry - 43, // 20: protobuf.CommunityChat.members:type_name -> protobuf.CommunityChat.MembersEntry + 42, // 18: protobuf.CommunityDescription.banned_members:type_name -> protobuf.CommunityDescription.BannedMembersEntry + 43, // 19: protobuf.CommunityDescription.privateData:type_name -> protobuf.CommunityDescription.PrivateDataEntry + 44, // 20: protobuf.CommunityChat.members:type_name -> protobuf.CommunityChat.MembersEntry 7, // 21: protobuf.CommunityChat.permissions:type_name -> protobuf.CommunityPermissions - 47, // 22: protobuf.CommunityChat.identity:type_name -> protobuf.ChatIdentity + 48, // 22: protobuf.CommunityChat.identity:type_name -> protobuf.ChatIdentity 15, // 23: protobuf.CommunityRequestToJoin.revealed_accounts:type_name -> protobuf.RevealedAccount 15, // 24: protobuf.CommunityEditSharedAddresses.revealed_accounts:type_name -> protobuf.RevealedAccount 10, // 25: protobuf.CommunityRequestToJoinResponse.community:type_name -> protobuf.CommunityDescription - 48, // 26: protobuf.CommunityRequestToJoinResponse.shard:type_name -> protobuf.Shard + 49, // 26: protobuf.CommunityRequestToJoinResponse.shard:type_name -> protobuf.Shard 24, // 27: protobuf.WakuMessageArchive.metadata:type_name -> protobuf.WakuMessageArchiveMetadata 23, // 28: protobuf.WakuMessageArchive.messages:type_name -> protobuf.WakuMessage 24, // 29: protobuf.WakuMessageArchiveIndexMetadata.metadata:type_name -> protobuf.WakuMessageArchiveMetadata - 44, // 30: protobuf.WakuMessageArchiveIndex.archives:type_name -> protobuf.WakuMessageArchiveIndex.ArchivesEntry + 45, // 30: protobuf.WakuMessageArchiveIndex.archives:type_name -> protobuf.WakuMessageArchiveIndex.ArchivesEntry 30, // 31: protobuf.CommunityStorenodes.storenodes:type_name -> protobuf.Storenode 32, // 32: protobuf.DeleteCommunityMemberMessages.messages:type_name -> protobuf.DeleteCommunityMemberMessage - 45, // 33: protobuf.CommunityUpdateGrant.grants:type_name -> protobuf.CommunityUpdateGrant.GrantsEntry + 46, // 33: protobuf.CommunityUpdateGrant.grants:type_name -> protobuf.CommunityUpdateGrant.GrantsEntry 5, // 34: protobuf.CommunityDescription.MembersEntry.value:type_name -> protobuf.CommunityMember 13, // 35: protobuf.CommunityDescription.ChatsEntry.value:type_name -> protobuf.CommunityChat 14, // 36: protobuf.CommunityDescription.CategoriesEntry.value:type_name -> protobuf.CommunityCategory @@ -3585,6 +3637,18 @@ func file_communities_proto_init() { return nil } } + file_communities_proto_msgTypes[31].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CommunityEncryptionKeysRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } } type x struct{} out := protoimpl.TypeBuilder{ @@ -3592,7 +3656,7 @@ func file_communities_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_communities_proto_rawDesc, NumEnums: 4, - NumMessages: 42, + NumMessages: 43, NumExtensions: 0, NumServices: 0, }, diff --git a/protocol/protobuf/communities.proto b/protocol/protobuf/communities.proto index 8c52a2704..5224c816f 100644 --- a/protocol/protobuf/communities.proto +++ b/protocol/protobuf/communities.proto @@ -278,3 +278,7 @@ message CommunityUpdateGrant { bytes community_id = 2; map grants = 3; } + +message CommunityEncryptionKeysRequest { + bytes community_id = 1; +}