status-go/protocol/migrations/migrations.go

2696 lines
192 KiB
Go
Raw Normal View History

// Code generated by go-bindata. DO NOT EDIT.
2019-07-17 22:25:42 +00:00
// sources:
// 000001_init.down.db.sql (65B)
// 000001_init.up.db.sql (2.719kB)
// 000002_add_last_ens_clock_value.up.sql (77B)
// 1586358095_add_replace.up.sql (224B)
// 1588665364_add_image_data.up.sql (186B)
// 1589365189_add_pow_target.up.sql (66B)
// 1591277220_add_index_messages.up.sql (240B)
// 1593087212_add_mute_chat_and_raw_message_fields.up.sql (215B)
// 1595862781_add_audio_data.up.sql (246B)
// 1595865249_create_emoji_reactions_table.up.sql (300B)
// 1596805115_create_group_chat_invitations_table.up.sql (231B)
// 1597322655_add_invitation_admin_chat_field.up.sql (54B)
// 1597757544_add_nickname.up.sql (52B)
// 1598955122_add_mentions.up.sql (52B)
// 1599641390_add_emoji_reactions_index.up.sql (126B)
// 1599720851_add_seen_index_remove_long_messages.up.sql (150B)
// 1603198582_add_profile_chat_field.up.sql (45B)
// 1603816533_add_links.up.sql (48B)
// 1603888149_create_chat_identity_last_published_table.up.sql (407B)
// 1605075346_add_communities.up.sql (6.971kB)
// 1610117927_add_message_cache.up.sql (142B)
// 1610959908_add_dont_wrap_to_raw_messages.up.sql (83B)
// 1610960912_add_send_on_personal_topic.up.sql (82B)
// 1612870480_add_datasync_id.up.sql (111B)
// 1614152139_add_communities_request_to_join.up.sql (831B)
// 1615374373_add_confirmations.up.sql (227B)
// 1617694931_add_notification_center.up.sql (572B)
// 1618923660_create_pin_messages.up.sql (265B)
// 1619094007_add_joined_chat_field.up.sql (101B)
// 1619099821_add_last_synced_field.up.sql (226B)
// 1621933219_add_mentioned.up.sql (70B)
// 1622010048_add_unviewed_mentions_count.up.sql (114B)
// 1622061278_add_message_activity_center_notification_field.up.sql (80B)
// 1622464518_set_synced_to_from.up.sql (105B)
// 1622464519_add_chat_description.up.sql (93B)
// 1622622253_add_pinned_by_to_pin_messages.up.sql (52B)
// 1623938329_add_author_activity_center_notification_field.up.sql (66B)
// 1623938330_add_edit_messages.up.sql (369B)
// 1624978434_add_muted_community.up.sql (82B)
// 1625018910_add_repply_message_activity_center_notification_field.up.sql (86B)
// 1625762506_add_deleted_messages.up.sql (357B)
// 1627388946_add_communities_synced_at.up.sql (87B)
// 1628280060_create-usermessages-index.sql (80B)
// 1632303896_modify_contacts_table.up.sql (1.574kB)
// 1633349838_add_emoji_column_in_chats.up.sql (52B)
// 1634831235_add_highlight_column_in_chats.up.sql (62B)
// 1634896007_add_last_updated_locally_and_removed.up.sql (131B)
// 1635840039_add_clock_read_at_column_in_chats.up.sql (245B)
// 1637852321_add_received_invitation_admin_column_in_chats.up.sql (72B)
// 1645034601_display_name.up.sql (110B)
// 1645034602_add_mutual_contact_request.up.sql (454B)
// 1650373957_add_contact_request_state.up.sql (59B)
// 1656958989_contact_verification.up.sql (624B)
// 1658236268_add_discord_message_authors_table.up.sql (191B)
// 1659619997_add_discord_messages_table.up.sql (371B)
// 1660226788_create_chat_identity_social_links.up.sql (318B)
// 1660226789_add_walletconnectsessions_table.up.sql (215B)
// 1661242854_add_communities_requests_to_leave.up.sql (204B)
// 1662044232_add_chat_image.up.sql (49B)
// 1662106895_add_chat_first_message_timestamp.up.sql (113B)
// 1662723928_add_discord_author_image_fields.up.sql (75B)
// 1664195977_add_deleted_for_mes.up.sql (352B)
// 1664367420_add_discord_attachments_table.up.sql (350B)
// 1665079662_add_spectated_column_in_communities.up.sql (86B)
// 1665479047_add_community_id_in_notifications.up.sql (169B)
// 1665484435_add_encrypted_messages.up.sql (402B)
// 1665560200_add_contact_verification_individual.up.sql (509B)
// 1670921937_add_album_id.up.sql (55B)
// 1673373000_add_replied.up.sql (67B)
// 1673428910_add_image_width_height.up.sql (117B)
// 1674210659_add_contact_request_local_clock.up.sql (691B)
// 1675212323_add_deleted_by.up.sql (57B)
// 1675247084_add_activity_center_states.up.sql (136B)
// 1675272329_fix_protocol_migration.up.sql (183B)
// 1676998418_fix_activity_center_migration.up.sql (178B)
// 1677278861_add_deleted_column_to_activity_center_notifications_table.up.sql (381B)
// 1677486338_add_community_tokens_table.up.sql (527B)
// 1678292329_add_collapsed_categories.up.sql (170B)
// 1678800760_add_index_to_raw_messages.up.sql (88B)
// 1678877478_add_communities_requests_to_join_revealed_addresses_table.up.sql (168B)
// 1679326850_add_community_token_owners.up.sql (206B)
// 1680011500_add_album_images_count.up.sql (71B)
// 1680114896_add_index_on_album_id.up.sql (83B)
// 1681655289_add_mute_till.up.sql (51B)
// 1681934966_add_index_response_to.up.sql (70B)
// 1682528339_add_index_user_messages_unseen.up.sql (104B)
// 1683707289_recreate_deleted_for_mes.up.sql (408B)
// 1683725607_mark_discord_messages_as_seen.up.sql (108B)
// 1684174617_add_url_previews_to_user_messages.up.sql (58B)
// 1684175608_add_token_balances.up.sql (467B)
// 1684979808_sync_activity_center_notifications.up.sql (169B)
// 1685383829_add_communities_mute_till.up.sql (69B)
// 1685964183_add_chainids_to_revealed_addresses.up.sql (88B)
// 1687370421_add_communities_muted_till_new.up.sql (635B)
// 1687416607_add_communities_check_channel_permission_responses_table.up.sql (739B)
// 1687856939_add_community_tokens_decimals.up.sql (65B)
2023-07-13 14:02:03 +00:00
// 1687959987_modify_community_tokens_supply_as_string.up.sql (77B)
// 1689258900_add_airdrop_address_to_revealed_addresses.up.sql (99B)
// 1689266326_create_communities_events_table.up.sql (164B)
// 1689931300_add_community_tokens_deployer_and_priv_level.up.sql (156B)
// README.md (554B)
// doc.go (850B)
2019-07-30 06:14:13 +00:00
package migrations
2019-07-17 22:25:42 +00:00
import (
"bytes"
"compress/gzip"
"crypto/sha256"
2019-07-17 22:25:42 +00:00
"fmt"
"io"
"io/ioutil"
2019-07-17 22:25:42 +00:00
"os"
"path/filepath"
"strings"
"time"
)
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)
2019-07-17 22:25:42 +00:00
}
var buf bytes.Buffer
_, err = io.Copy(&buf, gz)
clErr := gz.Close()
if err != nil {
return nil, fmt.Errorf("read %q: %v", name, err)
2019-07-17 22:25:42 +00:00
}
if clErr != nil {
return nil, err
}
return buf.Bytes(), nil
}
type asset struct {
bytes []byte
info os.FileInfo
digest [sha256.Size]byte
2019-07-17 22:25:42 +00:00
}
type bindataFileInfo struct {
name string
size int64
mode os.FileMode
modTime time.Time
}
func (fi bindataFileInfo) Name() string {
return fi.name
}
func (fi bindataFileInfo) Size() int64 {
return fi.size
}
func (fi bindataFileInfo) Mode() os.FileMode {
return fi.mode
}
func (fi bindataFileInfo) ModTime() time.Time {
return fi.modTime
}
func (fi bindataFileInfo) IsDir() bool {
return false
2019-07-17 22:25:42 +00:00
}
func (fi bindataFileInfo) Sys() interface{} {
return nil
}
var __000001_initDownDbSql = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x72\x09\xf2\x0f\x50\x08\x71\x74\xf2\x71\x55\x48\xce\x48\x2c\x29\xb6\xe6\x42\x12\x29\x2d\x4e\x2d\x8a\xcf\x4d\x2d\x2e\x4e\x4c\x4f\x45\x95\x49\xce\xcf\x2b\x49\x4c\x06\x29\x07\x04\x00\x00\xff\xff\x61\x86\xbd\x5f\x41\x00\x00\x00")
2019-07-17 22:25:42 +00:00
func _000001_initDownDbSqlBytes() ([]byte, error) {
2019-07-17 22:25:42 +00:00
return bindataRead(
__000001_initDownDbSql,
"000001_init.down.db.sql",
2019-07-17 22:25:42 +00:00
)
}
func _000001_initDownDbSql() (*asset, error) {
bytes, err := _000001_initDownDbSqlBytes()
2019-07-17 22:25:42 +00:00
if err != nil {
return nil, err
}
info := bindataFileInfo{name: "000001_init.down.db.sql", size: 65, mode: os.FileMode(0644), modTime: time.Unix(1684179677, 0)}
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x5e, 0xbb, 0x3f, 0x1, 0x75, 0x19, 0x70, 0x86, 0xa7, 0x34, 0x40, 0x17, 0x34, 0x3e, 0x18, 0x51, 0x79, 0xd4, 0x22, 0xad, 0x8f, 0x80, 0xcc, 0xa6, 0xcc, 0x6, 0x2b, 0x62, 0x2, 0x47, 0xba, 0xf9}}
2019-07-17 22:25:42 +00:00
return a, nil
}
var __000001_initUpDbSql = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xa4\x56\xd1\x6f\xe2\xb8\x13\x7e\xe7\xaf\x18\xe9\xf7\x40\x2b\xd1\x9f\xf6\xa4\xbd\xbd\x93\xfa\x44\xd9\xf4\x0e\x1d\x07\x2b\x9a\x9e\xba\x4f\xd6\xe0\x0c\xc4\xc2\xb1\x23\x7b\x02\x8b\xb4\x7f\xfc\xc9\x81\x40\x0c\x81\xee\xea\xfa\x50\xb5\x33\xe3\x19\xcf\x37\xf3\x7d\xce\x68\x9e\x0c\xd3\x04\xd2\xe1\xd3\x24\x81\xf1\x33\x4c\x67\x29\x24\x6f\xe3\x97\xf4\x05\x64\x8e\xec\xe1\xae\x07\xa0\x32\xf8\x67\x38\x1f\xfd\x39\x9c\xc3\x97\xf9\xf8\xef\xe1\xfc\x2b\xfc\x95\x7c\x85\xd9\x14\x46\xb3\xe9\xf3\x64\x3c\x4a\x61\x9e\x7c\x99\x0c\x47\xc9\xa0\x07\x60\xb0\xa0\x63\x7c\xc8\x37\x7d\x9d\x4c\x82\x43\x5a\x6d\xdd\x85\x07\x3e\x27\xcf\xc3\xd7\x49\x0a\xfd\xff\xe1\x2f\xbf\xff\x96\xfd\xda\x0f\xb1\xbc\x2b\x09\xc6\xd3\x34\x4a\x80\x92\xd5\x86\xe0\x69\x36\x9b\x24\xc3\xe9\x65\x86\x74\xfe\x5a\xdf\x80\x55\x41\x9e\xb1\x28\x2f\x32\x64\xa4\x89\x29\x13\xc8\x42\x6a\x2b\xd7\x62\x83\xba\x8a\x0b\x1d\xb3\x7d\x08\x07\xca\x6a\xa1\x95\x14\x6b\xda\xc1\xd3\x64\xf6\x14\x4c\x95\xd9\x28\xda\x52\x26\x0a\xf2\x1e\x57\x24\xa4\xad\x0c\xdf\xc8\xa1\xd1\xff\x68\xb9\x3a\xf4\x90\xf7\x58\xb0\xa0\x62\x41\xce\x9f\xff\x9f\xab\x52\x54\x65\x86\x4c\x7b\x57\xef\xfe\xb1\xd7\x8b\xe6\x29\xad\x61\x94\xa7\x21\xa6\xc9\x5b\xfa\x23\x13\xc4\x2c\x73\xe4\xfd\x3e\xbe\x0d\x5f\x3d\xda\x0b\x2b\x19\x2f\x36\xe4\xd4\x52\x51\x76\x1c\x4e\xd3\xd6\xf3\x70\xf2\x92\x9c\x47\x09\xbc\x85\x17\x6a\x85\x1d\xc5\x55\x46\x86\x95\xb4\xe6\xd2\x55\xe6\x96\xed\xa5\xb9\x46\x73\x0f\x51\x76\xa3\x9e\xdf\x79\xa6\x42\x30\xae\x4e\x18\x67\xb4\x51\x92\x84\x32\x4b\x7b\xb4\xb1\x53\x8b\x8a\x49\xb0\x15\x8c\x7a\x1d\xd7\xab\xd1\x7f\x78\x80\x31\xf7\x3d\xa8\xa2\xb4\x8e\xd1\x30\x70\x8e\xe1\x97\xf2\xc0\xb8\xd0\x04\x39\x7a\x70\x76\xab\x32\x40\x0f\x5b\x02\x47\x7a\x07\xd6\x80\xe2\x70\x78\x9b\x93\x09\x87\x35\x15\xa1\x57\xb3\x02\x65\x96\xca\x28\xa6\x07\x2f\x9d\xd5\xfa\xff\xbd\x1b\x84\xad\x3c\xb9\x66\x79\xf6\x33\xff\x59\xea\x02\x6c\x73\xe5\x4b\x72\x22\xa2\x50\xf2\x47\x12\x33\x19\xc0\xdb\xca\xc9\x8e\x5d\x08\xc8\x79\x56\x06\x59\x59\x73\x44\x0e\x80\xe9\x1b\x77\x8a\x02\xd4\x5b\x4a\x86\x45\x27\xe5\xa1\xee\xaa\x2d\x29\x87\x7c\x57\x29\x0e\xb5\x70\x89\x56\xe3\xb1\x57\x5b\x89\x5a\xdc\x8e\xc9\x55\x46\xd7\x37\x19\xc0\x91\x2f\xad\xf1\x61\x15\xe2\x6b\x35\x92\xd0\xf4\x72\xb8\xd0\x15\xee\x1f\xa0\x24\x32\xd7\x35\xad\x55\xd5\x56\xbc\xb2\xca\xac\x84\x67\xe4\xca\xc7\x95\x4b\x74\x9e\x32\x51\xe3\x7c\x82\xdd\xe1\x56\x94\xb8\xd3\x16\xb3\x96\xd5\xb3\x92\x6b\x72\xa2\x44\xb9\x3e\xdd\xb2\xb1\xe6\xe8\xf3\x38\xb7\xb4\x45\x81\x26\x6b\xe1\x15\xdb\xf7\x9d\x75\xba\x1a\x29\xe9\x74\x2e\x9d\x2d\xba\x3d\x61\x27\x1c\x4a\xee\xf6\xb2\x43\xe3\xc3\x63\x60\xcd\x8d\xdb\x7a\xb5\x32\xc8\x95\xa3\x56\xe7\x47\x1f\x23\xd7\xb3\x68\x8b\xe6\x78\xfa\x39\x79\x03\x95\x7d\x13\x87\xed\x9e\x4d\x63\x4e\xdd\xed\xed\xf7\x8f\x1d\x27\x08\x9d\xcc\xc5\x62\x77\xdc\xac\xd9\x14\xce\x4e\xef\x51\xae\x16\x9e\xdd\x5d\xff\xc3\x7f\xfc\xe9\xc3\xf7\xef\xed\xc5\x1a\xc0\xc3\xa7\x8f\x03\xf8\xf4\xf1\x3e\x38\x54\x36\x68\x68\x30\xa8\xb7\xf9\xf2\x71\x88\xb5\x23\x2c\x4a\x24\x1d\x3f\x27\x1c\xef\x93\xaa\xd6\x62\x4f\x67\x0f\x65\x2d\xbf\x54\x0f\xfc\xfc\x0d\x3d\xb8\xf8\x3a\x0f\x1d\xd5\x47\xb1\x62\x5b\x20\x2b\x89\x5a\xef\xae\x47\x77\x51\xd3\x91\x54\xa5\x22\xc3\x27\xe1\x6f\xb3\xe5\x1d\xcc\x42\x46\x32\xab\xa0\x96\xa7\x85\xf4\xe1\x79\xd8\xa0\x56\xe1\xd5\xa9\x91\x6c\x0a\xc7\xec\xb9\xe4\x54\xd4\xf9\xb5\x15\x6f\x0f\x63\xdf\x01\xbb\xdd\x09\xbd\x60\x5a\x2a\x57\x43\x4d\xa6\xb1\xc4\x4c\x88\xeb\xb4\x2e\x7b\x0e\x5d\xf3\x39\x75\xf6\x0d\xd4\xc9\x98\x4e\x2c\x22\x28\x02\x1f\xde\x47\xec\xae\xf5\xf7\xfd\x63\xef\xdf\x00\x00\x00\xff\xff\xd7\x95\x8b\x6b\x9f\x0a\x00\x00")
2019-07-17 22:25:42 +00:00
func _000001_initUpDbSqlBytes() ([]byte, error) {
2019-07-17 22:25:42 +00:00
return bindataRead(
__000001_initUpDbSql,
"000001_init.up.db.sql",
2019-07-17 22:25:42 +00:00
)
}
func _000001_initUpDbSql() (*asset, error) {
bytes, err := _000001_initUpDbSqlBytes()
2019-07-17 22:25:42 +00:00
if err != nil {
return nil, err
}
info := bindataFileInfo{name: "000001_init.up.db.sql", size: 2719, mode: os.FileMode(0644), modTime: time.Unix(1684179677, 0)}
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x60, 0xdc, 0xeb, 0xe, 0xc2, 0x4f, 0x75, 0xa, 0xf6, 0x3e, 0xc7, 0xc4, 0x4, 0xe2, 0xe1, 0xa4, 0x73, 0x2f, 0x4a, 0xad, 0x1a, 0x0, 0xc3, 0x93, 0x9d, 0x77, 0x3e, 0x31, 0x91, 0x77, 0x2e, 0xc8}}
2019-08-06 21:50:13 +00:00
return a, nil
}
var __000002_add_last_ens_clock_valueUpSql = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x04\xc0\x41\x0a\x85\x20\x10\x06\xe0\xfd\x3b\xc5\x7f\x84\xb7\x6f\x35\xa5\x41\x30\x8d\x10\xe3\x5a\x64\x70\x95\xe8\x42\xeb\xfc\x7d\xc4\xea\x2f\x28\xad\xec\x61\xbd\xcd\x6c\x73\x80\x9c\xc3\x16\x38\x9e\x82\x9a\xc7\x4c\xa5\x8d\x64\xb5\xdb\x9d\xde\x5c\x9f\x82\x43\x14\x12\x14\x12\x99\xe1\xfc\x4e\x91\x15\xff\xe5\xf7\x05\x00\x00\xff\xff\xd0\x66\x8a\xf7\x4d\x00\x00\x00")
func _000002_add_last_ens_clock_valueUpSqlBytes() ([]byte, error) {
return bindataRead(
__000002_add_last_ens_clock_valueUpSql,
"000002_add_last_ens_clock_value.up.sql",
)
}
func _000002_add_last_ens_clock_valueUpSql() (*asset, error) {
bytes, err := _000002_add_last_ens_clock_valueUpSqlBytes()
if err != nil {
return nil, err
}
info := bindataFileInfo{name: "000002_add_last_ens_clock_value.up.sql", size: 77, mode: os.FileMode(0644), modTime: time.Unix(1684179677, 0)}
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x4d, 0x3, 0x8f, 0xd5, 0x85, 0x83, 0x47, 0xbe, 0xf9, 0x82, 0x7e, 0x81, 0xa4, 0xbd, 0xaa, 0xd5, 0x98, 0x18, 0x5, 0x2d, 0x82, 0x42, 0x3b, 0x3, 0x50, 0xc3, 0x1e, 0x84, 0x35, 0xf, 0xb6, 0x2b}}
return a, nil
}
var __1586358095_add_replaceUpSql = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x8c\xce\x31\x0a\xc2\x40\x10\x46\xe1\x3e\xa7\xf8\xc9\x09\xec\x53\x4d\xdc\x09\x08\xe3\x2c\xe8\x2c\xd8\x85\x10\x06\x11\xd6\x28\xd9\xe4\xfe\x56\x56\x5a\x6c\xfd\xe0\xe3\x91\x18\x5f\x60\xd4\x0b\x63\x2f\xbe\x8e\x4f\x2f\x65\xba\x7b\x01\x85\x80\x63\x94\x74\x56\xac\xfe\xce\xd3\xec\xdf\x06\xe3\x9b\x41\xa3\x41\x93\x08\x02\x0f\x94\xc4\xd0\xb6\x5d\x53\xc7\x6d\x19\x7d\x8c\xc2\xa4\xbf\xca\x40\x72\xe5\x4a\x28\x3f\x16\x1f\xe7\xd7\xbe\x6c\x38\xe9\x9f\xa3\x43\xd7\x7c\x02\x00\x00\xff\xff\xca\x94\x3f\xe0\xe0\x00\x00\x00")
func _1586358095_add_replaceUpSqlBytes() ([]byte, error) {
return bindataRead(
__1586358095_add_replaceUpSql,
"1586358095_add_replace.up.sql",
)
}
func _1586358095_add_replaceUpSql() (*asset, error) {
bytes, err := _1586358095_add_replaceUpSqlBytes()
if err != nil {
return nil, err
}
info := bindataFileInfo{name: "1586358095_add_replace.up.sql", size: 224, mode: os.FileMode(0644), modTime: time.Unix(1684179677, 0)}
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xd2, 0xb3, 0xa9, 0xc7, 0x7f, 0x9d, 0x8f, 0x43, 0x8c, 0x9e, 0x58, 0x8d, 0x44, 0xbc, 0xfa, 0x6b, 0x5f, 0x3f, 0x5a, 0xbe, 0xe8, 0xb1, 0x16, 0xf, 0x91, 0x2a, 0xa0, 0x71, 0xbb, 0x8d, 0x6b, 0xcb}}
return a, nil
}
var __1588665364_add_image_dataUpSql = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x94\xcb\x41\x0a\xc2\x40\x0c\x05\xd0\x7d\x4f\xf1\xe9\x19\xc4\x4d\x57\x33\x4e\x04\x21\x66\x40\x32\xe0\xae\x44\x0c\x45\xb0\x58\x8c\x2e\x7a\xfb\x9e\xa1\x07\x78\x89\x95\x6e\xd0\x94\x99\xf0\x0f\xff\x8e\xb3\x47\xd8\xe4\x81\x54\x0a\x4e\x95\xdb\x55\xf0\x9a\x6d\xf2\x71\xb1\xf5\xfd\xb1\x27\x32\xd7\x3c\x74\x3b\xe0\x6f\x5d\x1c\x17\xd1\x5d\xe8\x61\xe1\xc7\x03\x94\xee\x0a\xa9\x0a\x69\xcc\x28\x74\x4e\x8d\x15\x7d\x3f\x74\x5b\x00\x00\x00\xff\xff\xf8\x4b\xbd\xbe\xba\x00\x00\x00")
func _1588665364_add_image_dataUpSqlBytes() ([]byte, error) {
return bindataRead(
__1588665364_add_image_dataUpSql,
"1588665364_add_image_data.up.sql",
)
}
func _1588665364_add_image_dataUpSql() (*asset, error) {
bytes, err := _1588665364_add_image_dataUpSqlBytes()
if err != nil {
return nil, err
}
info := bindataFileInfo{name: "1588665364_add_image_data.up.sql", size: 186, mode: os.FileMode(0644), modTime: time.Unix(1684179677, 0)}
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xd6, 0xc6, 0x35, 0xb4, 0x4c, 0x39, 0x96, 0x29, 0x30, 0xda, 0xf4, 0x8f, 0xcb, 0xf1, 0x9f, 0x84, 0xdc, 0x88, 0xd4, 0xd5, 0xbc, 0xb6, 0x5b, 0x46, 0x78, 0x67, 0x76, 0x1a, 0x5, 0x36, 0xdc, 0xe5}}
return a, nil
}
var __1589365189_add_pow_targetUpSql = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x72\xf4\x09\x71\x0d\x52\x08\x71\x74\xf2\x71\x55\x28\x4a\x2c\x8f\xcf\x4d\x2d\x2e\x4e\x4c\x4f\x2d\x56\x70\x74\x71\x51\x70\xf6\xf7\x09\xf5\xf5\x53\x28\xc8\x2f\x8f\x2f\x49\x2c\x4a\x4f\x2d\x51\x08\x72\x75\xf4\x51\x48\x49\x4d\x4b\x2c\xcd\x29\x51\x30\xd0\x33\x30\xb2\xe6\x02\x04\x00\x00\xff\xff\x49\xd6\x04\x23\x42\x00\x00\x00")
func _1589365189_add_pow_targetUpSqlBytes() ([]byte, error) {
return bindataRead(
__1589365189_add_pow_targetUpSql,
"1589365189_add_pow_target.up.sql",
)
}
func _1589365189_add_pow_targetUpSql() (*asset, error) {
bytes, err := _1589365189_add_pow_targetUpSqlBytes()
if err != nil {
return nil, err
}
info := bindataFileInfo{name: "1589365189_add_pow_target.up.sql", size: 66, mode: os.FileMode(0644), modTime: time.Unix(1684179677, 0)}
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x4e, 0x3a, 0xe2, 0x2e, 0x7d, 0xaf, 0xbb, 0xcc, 0x21, 0xa1, 0x7a, 0x41, 0x9a, 0xd0, 0xbb, 0xa9, 0xc8, 0x35, 0xf9, 0x32, 0x34, 0x46, 0x44, 0x9a, 0x86, 0x40, 0x7c, 0xb9, 0x23, 0xc7, 0x3, 0x3f}}
return a, nil
}
var __1591277220_add_index_messagesUpSql = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xa4\xca\xb1\xaa\x83\x30\x14\x87\xf1\xdd\xa7\xf8\x6f\x2a\x78\xe1\x0e\xe2\xe2\x24\x9a\xa1\x8b\x16\xed\xd0\xed\x10\x63\xa8\xd2\xb4\x81\x73\x4c\x69\xc1\x87\x2f\x1d\x3a\x14\xba\xf5\x5b\xbf\x5f\xd3\x77\x7b\xec\xda\x46\x1d\xb1\x4c\x77\x12\xab\xd9\xcc\x34\x3e\xc8\xcc\x7a\xa5\x65\x2a\xa3\xa8\xee\x55\x75\x50\x5f\x91\xf3\x46\xbb\x37\x25\xf1\xbc\x92\xbf\x92\x09\x2c\x9e\xd1\xb5\x08\x62\x99\x2e\x56\x44\x9f\xac\x20\xf9\xe0\xa8\x86\x3a\x83\x84\x51\x56\x4e\xe2\xff\x1f\x8b\xb1\x6d\x30\xce\x9b\x33\xdd\xb4\x0b\x36\xc3\x5f\x91\x67\x28\xf2\xf4\x35\x96\x09\x8d\x1a\xea\xb4\x8c\x9e\x01\x00\x00\xff\xff\xdb\x1d\x3d\x0b\xf0\x00\x00\x00")
func _1591277220_add_index_messagesUpSqlBytes() ([]byte, error) {
return bindataRead(
__1591277220_add_index_messagesUpSql,
"1591277220_add_index_messages.up.sql",
)
}
func _1591277220_add_index_messagesUpSql() (*asset, error) {
bytes, err := _1591277220_add_index_messagesUpSqlBytes()
if err != nil {
return nil, err
}
info := bindataFileInfo{name: "1591277220_add_index_messages.up.sql", size: 240, mode: os.FileMode(0644), modTime: time.Unix(1684179677, 0)}
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x9c, 0xfe, 0xbe, 0xd5, 0xb8, 0x8f, 0xdd, 0xef, 0xbb, 0xa8, 0xad, 0x7f, 0xed, 0x5b, 0x5b, 0x2f, 0xe6, 0x82, 0x27, 0x78, 0x1f, 0xb9, 0x57, 0xdc, 0x8, 0xc2, 0xb2, 0xa9, 0x9a, 0x4, 0xe1, 0x7a}}
return a, nil
}
2020-07-22 07:41:40 +00:00
var __1593087212_add_mute_chat_and_raw_message_fieldsUpSql = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xa4\xcc\x31\x0e\xc2\x30\x0c\x00\xc0\x9d\x57\xf8\x1f\x4c\x2e\x71\x27\xd3\x48\x90\xce\x51\x94\x1a\x1a\xa1\xa6\x51\xed\x0a\xf1\x7b\x56\x58\x58\x78\xc0\x1d\x72\xa0\x0b\x04\xec\x98\x20\xcf\xc9\x14\xd0\x39\x38\x79\x1e\xcf\x03\x2c\xbb\xc9\x04\x9d\xf7\x4c\x38\x80\xa3\x1e\x47\x0e\xd0\x23\x5f\xe9\x78\xf8\x94\x5b\x7a\xc6\x45\x54\xd3\x5d\xbe\x02\x7d\x94\x16\xa5\xe6\xed\xd5\xac\xac\xf5\xaf\x4a\xea\x14\xdb\xae\x73\xac\xab\x95\x5b\xc9\xe9\xd7\xf8\x0e\x00\x00\xff\xff\xd9\x47\x38\x58\xd7\x00\x00\x00")
2020-06-26 07:46:14 +00:00
2020-07-22 07:41:40 +00:00
func _1593087212_add_mute_chat_and_raw_message_fieldsUpSqlBytes() ([]byte, error) {
2020-06-26 07:46:14 +00:00
return bindataRead(
2020-07-22 07:41:40 +00:00
__1593087212_add_mute_chat_and_raw_message_fieldsUpSql,
"1593087212_add_mute_chat_and_raw_message_fields.up.sql",
2020-06-26 07:46:14 +00:00
)
}
2020-07-22 07:41:40 +00:00
func _1593087212_add_mute_chat_and_raw_message_fieldsUpSql() (*asset, error) {
bytes, err := _1593087212_add_mute_chat_and_raw_message_fieldsUpSqlBytes()
2020-06-26 07:46:14 +00:00
if err != nil {
return nil, err
}
info := bindataFileInfo{name: "1593087212_add_mute_chat_and_raw_message_fields.up.sql", size: 215, mode: os.FileMode(0644), modTime: time.Unix(1684179677, 0)}
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x73, 0x99, 0x61, 0xd1, 0xaa, 0xb4, 0xbf, 0xaf, 0xd7, 0x20, 0x17, 0x40, 0xf9, 0x2, 0xfb, 0xcc, 0x40, 0x2a, 0xd, 0x86, 0x36, 0x30, 0x88, 0x89, 0x25, 0x80, 0x42, 0xb0, 0x5b, 0xe9, 0x73, 0x78}}
2020-06-26 07:46:14 +00:00
return a, nil
}
2020-07-27 15:55:19 +00:00
var __1595862781_add_audio_dataUpSql = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x94\xcb\x41\xaa\xc3\x20\x10\x06\xe0\x7d\x4e\xf1\x93\x33\x3c\xde\x26\x2b\x53\x2d\x14\xa6\x0a\x65\x84\xee\x64\x8a\x52\x02\x4d\x0d\x99\xb8\xc8\xed\x7b\x06\x0f\xf0\x19\x62\xf7\x00\x9b\x99\x1c\x9a\x96\x3d\xad\x45\x55\xde\x45\x61\xac\xc5\x25\x50\xbc\x7b\x48\xcb\x4b\x4d\x9b\x9c\x9f\x2a\x19\x33\x85\x79\x1a\x3a\xe0\x71\x6e\x05\x37\xcf\x5d\x28\xb7\x5d\x8e\xa5\x7e\xd3\xaa\xdd\xf6\x25\x5a\xfe\xff\xc0\xee\xc9\xf0\x81\xe1\x23\x11\xac\xbb\x9a\x48\x8c\x71\x9c\x86\x5f\x00\x00\x00\xff\xff\xeb\x6f\xa0\x62\xf6\x00\x00\x00")
2020-07-10 15:15:04 +00:00
2020-07-27 15:55:19 +00:00
func _1595862781_add_audio_dataUpSqlBytes() ([]byte, error) {
2020-07-10 15:15:04 +00:00
return bindataRead(
2020-07-27 15:55:19 +00:00
__1595862781_add_audio_dataUpSql,
"1595862781_add_audio_data.up.sql",
2020-07-10 15:15:04 +00:00
)
}
2020-07-27 15:55:19 +00:00
func _1595862781_add_audio_dataUpSql() (*asset, error) {
bytes, err := _1595862781_add_audio_dataUpSqlBytes()
2020-07-10 15:15:04 +00:00
if err != nil {
return nil, err
}
info := bindataFileInfo{name: "1595862781_add_audio_data.up.sql", size: 246, mode: os.FileMode(0644), modTime: time.Unix(1684179677, 0)}
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xae, 0xd2, 0xee, 0x55, 0xfb, 0x36, 0xa4, 0x92, 0x66, 0xe, 0x81, 0x62, 0x1e, 0x7a, 0x69, 0xa, 0xd5, 0x4b, 0xa5, 0x6a, 0x8d, 0x1d, 0xce, 0xf3, 0x3e, 0xc0, 0x5f, 0x9c, 0x66, 0x1b, 0xb4, 0xed}}
2020-07-10 15:15:04 +00:00
return a, nil
}
var __1595865249_create_emoji_reactions_tableUpSql = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x7c\xce\xbd\x4e\x03\x31\x10\x04\xe0\xfe\xa4\x7b\x87\x29\x41\xa2\xa0\xa7\x32\x66\x4f\x58\x18\x5f\xe4\x6c\x50\x52\x9d\x2c\x67\x05\x07\x0e\x96\x6c\x87\xe7\x47\xe4\x1a\x7e\x44\xea\x6f\x76\x67\xb4\x27\xc5\x04\x56\xb7\x96\x60\x06\xb8\x91\x41\x5b\xb3\xe6\x35\xe4\x90\x5f\xe7\xa9\x48\x88\x6d\xce\xef\x15\x17\x7d\x07\xcc\x7b\x3c\x29\xaf\xef\x95\xc7\xca\x9b\x47\xe5\x77\x78\xa0\x1d\x46\x07\x3d\xba\xc1\x1a\xcd\xf0\xb4\xb2\x4a\xd3\xd5\x57\x3c\xa6\x1c\xdf\xa6\x8f\x90\x8e\x02\xe3\xf8\xf4\xde\x6d\xac\x3d\x61\xcd\xc7\x12\x05\x4c\xdb\x5f\xb0\x34\xcf\xfb\xbf\x27\x07\xa9\x35\x3c\xcb\xf4\x6d\xc6\x0f\x8f\x2f\xa1\xfd\x8b\x29\xc7\x90\xa6\xb3\x91\x22\xad\x84\xd8\x64\xa9\xbe\xa3\x41\x6d\x2c\xe3\xba\xef\x2e\x6f\xfa\xee\x33\x00\x00\xff\xff\xe4\x28\x05\xe0\x2c\x01\x00\x00")
2020-07-27 15:55:19 +00:00
func _1595865249_create_emoji_reactions_tableUpSqlBytes() ([]byte, error) {
return bindataRead(
2020-07-27 15:55:19 +00:00
__1595865249_create_emoji_reactions_tableUpSql,
"1595865249_create_emoji_reactions_table.up.sql",
)
}
2020-07-27 15:55:19 +00:00
func _1595865249_create_emoji_reactions_tableUpSql() (*asset, error) {
bytes, err := _1595865249_create_emoji_reactions_tableUpSqlBytes()
if err != nil {
return nil, err
}
info := bindataFileInfo{name: "1595865249_create_emoji_reactions_table.up.sql", size: 300, mode: os.FileMode(0644), modTime: time.Unix(1684179677, 0)}
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x3e, 0xc5, 0x43, 0x5c, 0x3d, 0x53, 0x43, 0x2c, 0x1a, 0xa5, 0xb6, 0xbf, 0x7, 0x4, 0x5a, 0x3e, 0x40, 0x8b, 0xa4, 0x57, 0x12, 0x58, 0xbc, 0x42, 0xe2, 0xc3, 0xde, 0x76, 0x98, 0x80, 0xe2, 0xbe}}
return a, nil
}
2020-08-07 13:49:37 +00:00
var __1596805115_create_group_chat_invitations_tableUpSql = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x6c\x8d\xc1\x4a\xc4\x30\x14\x45\xf7\x85\xfe\xc3\x5d\x2a\xb8\x70\xef\x2a\xc6\x57\x0c\xc6\xb4\xa4\xaf\xd2\xae\x4a\xa8\xa1\x06\xb5\x91\x26\xf5\xfb\xc5\x96\x61\x18\x98\xed\x3d\x87\x73\xa5\x25\xc1\x04\x16\x8f\x9a\xa0\x2a\x98\x9a\x41\xbd\x6a\xb9\xc5\xbc\xc6\xed\x67\x9c\x3e\x5c\x1e\xc3\xf2\x1b\xb2\xcb\x21\x2e\x09\x37\x65\x01\x84\x77\xbc\x09\x2b\x9f\x85\x45\x63\xd5\xab\xb0\x03\x5e\x68\x40\x6d\x20\x6b\x53\x69\x25\x19\x96\x1a\x2d\x24\xdd\xfd\xeb\x29\x6e\xeb\xe4\xc1\xd4\xf3\xfe\x60\x3a\xad\x77\x70\xd4\xcf\xb1\x0b\xf8\xed\x53\x72\xb3\xbf\x0e\x53\x76\xd9\x43\x19\xc6\x13\x55\xa2\xd3\x8c\xfb\xa3\xf8\x15\xa7\xcf\x7d\x3f\xe9\x65\x71\xfb\xf0\x17\x00\x00\xff\xff\x34\x03\xb2\x2f\xe7\x00\x00\x00")
func _1596805115_create_group_chat_invitations_tableUpSqlBytes() ([]byte, error) {
return bindataRead(
__1596805115_create_group_chat_invitations_tableUpSql,
"1596805115_create_group_chat_invitations_table.up.sql",
)
}
func _1596805115_create_group_chat_invitations_tableUpSql() (*asset, error) {
bytes, err := _1596805115_create_group_chat_invitations_tableUpSqlBytes()
if err != nil {
return nil, err
}
info := bindataFileInfo{name: "1596805115_create_group_chat_invitations_table.up.sql", size: 231, mode: os.FileMode(0644), modTime: time.Unix(1684179677, 0)}
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x6d, 0xb1, 0x14, 0x6d, 0x54, 0x28, 0x67, 0xc3, 0x23, 0x6a, 0xfc, 0x80, 0xdf, 0x9e, 0x4c, 0x35, 0x36, 0xf, 0xf8, 0xf3, 0x5f, 0xae, 0xad, 0xb, 0xc1, 0x51, 0x8e, 0x17, 0x7, 0xe5, 0x7f, 0x91}}
2020-08-07 13:49:37 +00:00
return a, nil
}
var __1597322655_add_invitation_admin_chat_fieldUpSql = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x72\xf4\x09\x71\x0d\x52\x08\x71\x74\xf2\x71\x55\x48\xce\x48\x2c\x29\x56\x70\x74\x71\x51\x70\xf6\xf7\x09\xf5\xf5\x53\xc8\xcc\x2b\xcb\x2c\x49\x2c\xc9\xcc\xcf\x8b\x4f\x4c\xc9\xcd\xcc\x53\x08\x73\x0c\x72\xf6\x70\x0c\xb2\x06\x04\x00\x00\xff\xff\x51\xe6\x0d\x74\x36\x00\x00\x00")
func _1597322655_add_invitation_admin_chat_fieldUpSqlBytes() ([]byte, error) {
return bindataRead(
__1597322655_add_invitation_admin_chat_fieldUpSql,
"1597322655_add_invitation_admin_chat_field.up.sql",
)
}
func _1597322655_add_invitation_admin_chat_fieldUpSql() (*asset, error) {
bytes, err := _1597322655_add_invitation_admin_chat_fieldUpSqlBytes()
if err != nil {
return nil, err
}
info := bindataFileInfo{name: "1597322655_add_invitation_admin_chat_field.up.sql", size: 54, mode: os.FileMode(0644), modTime: time.Unix(1684179677, 0)}
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xa9, 0x7a, 0xa0, 0xf2, 0xdb, 0x13, 0x91, 0x91, 0xa8, 0x34, 0x1a, 0xa1, 0x49, 0x68, 0xd5, 0xae, 0x2c, 0xd8, 0xd5, 0xea, 0x8f, 0x8c, 0xc7, 0x2, 0x4e, 0x58, 0x2c, 0x3a, 0x14, 0xd4, 0x4f, 0x2c}}
2020-08-07 13:49:37 +00:00
return a, nil
}
2020-08-20 14:06:38 +00:00
var __1597757544_add_nicknameUpSql = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x72\xf4\x09\x71\x0d\x52\x08\x71\x74\xf2\x71\x55\x48\xce\xcf\x2b\x49\x4c\x2e\x29\x56\x70\x74\x71\x51\x70\xf6\xf7\x09\xf5\xf5\x53\xc8\xc9\x4f\x4e\xcc\x89\xcf\xcb\x4c\xce\xce\x4b\xcc\x4d\x55\x08\x71\x8d\x08\xb1\x06\x04\x00\x00\xff\xff\x54\xf7\xdc\x23\x34\x00\x00\x00")
func _1597757544_add_nicknameUpSqlBytes() ([]byte, error) {
return bindataRead(
__1597757544_add_nicknameUpSql,
"1597757544_add_nickname.up.sql",
)
}
func _1597757544_add_nicknameUpSql() (*asset, error) {
bytes, err := _1597757544_add_nicknameUpSqlBytes()
if err != nil {
return nil, err
}
info := bindataFileInfo{name: "1597757544_add_nickname.up.sql", size: 52, mode: os.FileMode(0644), modTime: time.Unix(1684179677, 0)}
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xf4, 0xa2, 0x64, 0x50, 0xc5, 0x4, 0xb9, 0x8b, 0xd1, 0x18, 0x9b, 0xc3, 0x91, 0x36, 0x2a, 0x1f, 0xc3, 0x6c, 0x2d, 0x92, 0xf8, 0x5e, 0xff, 0xb1, 0x59, 0x61, 0x2, 0x1c, 0xe1, 0x85, 0x90, 0xa4}}
2020-08-20 14:06:38 +00:00
return a, nil
}
2020-09-01 10:34:28 +00:00
var __1598955122_add_mentionsUpSql = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x72\xf4\x09\x71\x0d\x52\x08\x71\x74\xf2\x71\x55\x28\x2d\x4e\x2d\x8a\xcf\x4d\x2d\x2e\x4e\x4c\x4f\x2d\x56\x70\x74\x71\x51\x70\xf6\xf7\x09\xf5\xf5\x53\xc8\x4d\xcd\x2b\xc9\xcc\xcf\x2b\x56\x70\xf2\xf1\x77\xb2\xe6\x02\x04\x00\x00\xff\xff\xca\xf8\x74\x41\x34\x00\x00\x00")
func _1598955122_add_mentionsUpSqlBytes() ([]byte, error) {
return bindataRead(
__1598955122_add_mentionsUpSql,
"1598955122_add_mentions.up.sql",
)
}
func _1598955122_add_mentionsUpSql() (*asset, error) {
bytes, err := _1598955122_add_mentionsUpSqlBytes()
if err != nil {
return nil, err
}
info := bindataFileInfo{name: "1598955122_add_mentions.up.sql", size: 52, mode: os.FileMode(0644), modTime: time.Unix(1684179677, 0)}
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x8d, 0x22, 0x17, 0x92, 0xd2, 0x11, 0x4e, 0x7, 0x93, 0x9a, 0x55, 0xfd, 0xb, 0x97, 0xc4, 0x63, 0x6a, 0x81, 0x97, 0xcd, 0xb2, 0xf8, 0x4b, 0x5f, 0x3c, 0xfa, 0x3a, 0x38, 0x53, 0x10, 0xed, 0x9d}}
2020-09-01 10:34:28 +00:00
return a, nil
}
2020-09-09 08:50:59 +00:00
var __1599641390_add_emoji_reactions_indexUpSql = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x72\x0e\x72\x75\x0c\x71\x55\xf0\xf4\x73\x71\x8d\x50\x48\xcd\xcd\xcf\xca\x8c\x2f\x4a\x4d\x4c\x2e\xc9\xcc\xcf\x2b\x8e\xcf\x4d\x2d\x2e\x4e\x4c\x4f\x8d\xcf\x4c\x89\xcf\xc9\x4f\x4e\xcc\x89\x4f\xce\x48\x2c\x01\xf1\x8a\x52\x4b\x8a\x12\x93\x4b\x52\x53\xe2\x33\x53\x2a\x14\xf2\xf3\xd0\x75\x6a\x20\x74\xea\x28\xa0\x68\xd5\x51\x80\xeb\xd5\xb4\xe6\x02\x04\x00\x00\xff\xff\xac\x4f\x19\x15\x7e\x00\x00\x00")
func _1599641390_add_emoji_reactions_indexUpSqlBytes() ([]byte, error) {
return bindataRead(
__1599641390_add_emoji_reactions_indexUpSql,
"1599641390_add_emoji_reactions_index.up.sql",
)
}
func _1599641390_add_emoji_reactions_indexUpSql() (*asset, error) {
bytes, err := _1599641390_add_emoji_reactions_indexUpSqlBytes()
if err != nil {
return nil, err
}
info := bindataFileInfo{name: "1599641390_add_emoji_reactions_index.up.sql", size: 126, mode: os.FileMode(0644), modTime: time.Unix(1684179677, 0)}
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xf9, 0xd8, 0xdc, 0xa7, 0xb, 0x92, 0x7a, 0x61, 0x37, 0x24, 0x1c, 0x77, 0x5e, 0xe, 0x7e, 0xfc, 0x9f, 0x98, 0x7b, 0x65, 0xe7, 0xf9, 0x71, 0x57, 0x89, 0x2d, 0x90, 0x1b, 0xf6, 0x5e, 0x37, 0xe8}}
2020-09-09 08:50:59 +00:00
return a, nil
}
2020-10-01 08:31:23 +00:00
var __1599720851_add_seen_index_remove_long_messagesUpSql = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x54\xcc\xb1\x0a\xc2\x30\x14\x46\xe1\xbd\x4f\xf1\x8f\x2d\x38\x28\x88\x20\x45\x41\xec\x15\xb3\xa4\xd2\x44\xec\x16\x42\x73\x69\x02\xb1\x82\x89\xd0\xc7\x17\xdd\xba\x7f\xe7\x9c\x3b\x3a\x69\x82\x90\x0d\xf5\x10\x17\xc8\x56\x83\x7a\xa1\xb4\x42\x62\x9e\x4c\x7c\x0d\x36\x9a\xc1\xdb\x6c\x82\x33\xc1\xcd\x68\x25\x3e\x89\xdf\xe6\xc9\x29\xd9\x91\x53\xb9\x20\xab\x7f\x56\xd5\xc5\xfd\xd6\xfc\xc6\x0b\x0a\x45\x1a\x3e\x38\xc6\x01\x1b\x3c\xae\xd4\x11\x22\x4f\x63\xf6\x65\xe6\x39\x57\x38\x62\xbb\xde\xef\xea\xe2\x1b\x00\x00\xff\xff\x44\x35\x03\x9f\x96\x00\x00\x00")
func _1599720851_add_seen_index_remove_long_messagesUpSqlBytes() ([]byte, error) {
return bindataRead(
__1599720851_add_seen_index_remove_long_messagesUpSql,
"1599720851_add_seen_index_remove_long_messages.up.sql",
)
}
func _1599720851_add_seen_index_remove_long_messagesUpSql() (*asset, error) {
bytes, err := _1599720851_add_seen_index_remove_long_messagesUpSqlBytes()
if err != nil {
return nil, err
}
info := bindataFileInfo{name: "1599720851_add_seen_index_remove_long_messages.up.sql", size: 150, mode: os.FileMode(0644), modTime: time.Unix(1684179677, 0)}
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x24, 0x1c, 0xc4, 0x78, 0x91, 0xc7, 0xeb, 0xfe, 0xc8, 0xa0, 0xd8, 0x13, 0x27, 0x97, 0xc8, 0x96, 0x56, 0x97, 0x33, 0x2c, 0x1e, 0x16, 0x8a, 0xd3, 0x49, 0x99, 0x3, 0xe9, 0xbb, 0xc4, 0x5, 0x3c}}
return a, nil
}
2020-10-20 15:10:28 +00:00
var __1603198582_add_profile_chat_fieldUpSql = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x72\xf4\x09\x71\x0d\x52\x08\x71\x74\xf2\x71\x55\x48\xce\x48\x2c\x29\x56\x70\x74\x71\x51\x70\xf6\xf7\x09\xf5\xf5\x53\x28\x28\xca\x4f\xcb\xcc\x49\x55\x08\x73\x0c\x72\xf6\x70\x0c\xb2\x06\x04\x00\x00\xff\xff\x3b\xfd\x29\xb5\x2d\x00\x00\x00")
func _1603198582_add_profile_chat_fieldUpSqlBytes() ([]byte, error) {
return bindataRead(
__1603198582_add_profile_chat_fieldUpSql,
"1603198582_add_profile_chat_field.up.sql",
)
}
func _1603198582_add_profile_chat_fieldUpSql() (*asset, error) {
bytes, err := _1603198582_add_profile_chat_fieldUpSqlBytes()
if err != nil {
return nil, err
}
info := bindataFileInfo{name: "1603198582_add_profile_chat_field.up.sql", size: 45, mode: os.FileMode(0644), modTime: time.Unix(1684179677, 0)}
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xaa, 0xca, 0xe, 0x46, 0xa0, 0x9, 0x9d, 0x47, 0x57, 0xe9, 0xfb, 0x17, 0xeb, 0x9c, 0xf6, 0xb8, 0x1d, 0xe9, 0xd, 0x0, 0xd5, 0xe5, 0xd8, 0x9e, 0x60, 0xa, 0xbf, 0x32, 0x2c, 0x52, 0x7f, 0x6a}}
2020-10-20 15:10:28 +00:00
return a, nil
}
2020-10-27 17:35:28 +00:00
var __1603816533_add_linksUpSql = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x72\xf4\x09\x71\x0d\x52\x08\x71\x74\xf2\x71\x55\x28\x2d\x4e\x2d\x8a\xcf\x4d\x2d\x2e\x4e\x4c\x4f\x2d\x56\x70\x74\x71\x51\x70\xf6\xf7\x09\xf5\xf5\x53\xc8\xc9\xcc\xcb\x2e\x56\x70\xf2\xf1\x77\xb2\x06\x04\x00\x00\xff\xff\x1d\x2b\x92\x96\x30\x00\x00\x00")
func _1603816533_add_linksUpSqlBytes() ([]byte, error) {
return bindataRead(
__1603816533_add_linksUpSql,
"1603816533_add_links.up.sql",
)
}
func _1603816533_add_linksUpSql() (*asset, error) {
bytes, err := _1603816533_add_linksUpSqlBytes()
if err != nil {
return nil, err
}
info := bindataFileInfo{name: "1603816533_add_links.up.sql", size: 48, mode: os.FileMode(0644), modTime: time.Unix(1684179677, 0)}
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xc9, 0x24, 0xd6, 0x1d, 0xa, 0x83, 0x1e, 0x4d, 0xf, 0xae, 0x4d, 0x8c, 0x51, 0x32, 0xa8, 0x37, 0xb0, 0x14, 0xfb, 0x32, 0x34, 0xc8, 0xc, 0x4e, 0x5b, 0xc5, 0x15, 0x65, 0x73, 0x0, 0x0, 0x1d}}
2020-10-27 17:35:28 +00:00
return a, nil
}
var __1603888149_create_chat_identity_last_published_tableUpSql = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x8c\x90\xc1\x4a\xc4\x30\x10\x86\xef\x85\xbe\xc3\x1c\x77\x61\xdf\xc0\x53\x1a\x66\x31\x18\xd3\x35\x9b\x8a\x7b\x0a\x63\x1b\x4c\x30\x6e\x0b\xc9\x0a\x7d\x7b\x21\xab\x55\xa1\x88\xc7\xe4\x9f\x9f\xef\x9b\xe1\x1a\x99\x41\x30\xac\x91\x08\x62\x0f\xaa\x35\x80\x4f\xe2\x68\x8e\xd0\x7b\xca\x36\x0c\xee\x9c\x43\x9e\x6d\xa4\x94\xed\x74\x79\x8e\x21\x79\x37\xc0\xa6\xae\xe0\x6b\x02\x1e\x99\xe6\xb7\x4c\x97\xb2\xea\xa4\x84\x83\x16\xf7\x4c\x9f\xe0\x0e\x4f\xd0\x2a\xe0\xad\xda\x4b\xc1\x0d\x68\x3c\x48\xc6\x71\x57\xca\x71\xec\x5f\xed\x3b\xc5\x8b\x03\xa1\xcc\x52\x2e\xa1\xa7\xe4\xa1\x91\x6d\xb3\x7c\xd7\xd5\xf6\xa6\xae\xea\xea\xdf\xc2\xfd\x78\xce\xd4\xe7\xf4\xa9\x7a\x7d\xad\xd9\x16\x60\x78\xa3\x17\x67\xf3\x3c\xb9\xf5\xfc\x4f\xdb\x89\xe6\x38\xd2\xf0\x5b\xb8\x24\x9d\x12\x0f\x1d\x6e\xbe\xe9\xbb\x1f\xa4\xed\xda\x6d\xae\x7b\x7e\x04\x00\x00\xff\xff\xff\xdb\x89\x48\x97\x01\x00\x00")
func _1603888149_create_chat_identity_last_published_tableUpSqlBytes() ([]byte, error) {
return bindataRead(
__1603888149_create_chat_identity_last_published_tableUpSql,
"1603888149_create_chat_identity_last_published_table.up.sql",
)
}
func _1603888149_create_chat_identity_last_published_tableUpSql() (*asset, error) {
bytes, err := _1603888149_create_chat_identity_last_published_tableUpSqlBytes()
if err != nil {
return nil, err
}
info := bindataFileInfo{name: "1603888149_create_chat_identity_last_published_table.up.sql", size: 407, mode: os.FileMode(0644), modTime: time.Unix(1684179677, 0)}
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x7f, 0x9, 0xf, 0xfb, 0xdb, 0x3c, 0x86, 0x70, 0x82, 0xda, 0x10, 0x25, 0xe2, 0x4e, 0x40, 0x45, 0xab, 0x8b, 0x1c, 0x91, 0x7c, 0xf1, 0x70, 0x2e, 0x81, 0xf3, 0x71, 0x45, 0xda, 0xe2, 0xa4, 0x57}}
return a, nil
}
var __1605075346_add_communitiesUpSql = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x94\x58\x5d\x8f\x54\x47\x0e\x7d\x47\xe2\x3f\x5c\xf1\x42\x22\xf1\x50\x65\x57\xd9\x55\x8a\xf6\x61\x80\x41\x42\x3b\x99\x89\x60\x58\x91\x27\x74\xbb\x6f\xf7\xee\xec\x2a\x21\x02\x12\x29\xff\x7e\xe5\x73\xdc\x03\x6c\xd4\x48\xcb\x68\x98\xfe\xa8\x5b\x65\x1f\xdb\xc7\xc7\x75\x71\x75\x7b\xf9\x6a\xb9\xbd\x78\x7a\x75\xb9\xec\xff\xb5\x7e\xfa\xb8\x5c\x3c\x7f\xbe\x3c\xbb\xb9\x7a\xf3\xe3\xf5\xb2\x7f\xff\xcb\x2f\xbf\xff\x7a\xf7\xe9\xcf\x77\x77\xdb\x72\x7b\xf9\xf6\x76\x79\x7e\xf9\xe2\xe2\xcd\xd5\xed\xf2\xe8\xd1\x0f\x0f\x1f\xbc\xf9\xe9\xf9\xc5\xed\xe9\xb1\xd7\x97\xb7\x5f\xaf\xff\x1b\x17\x3d\x7c\xf0\xe5\x11\xbf\x7f\x3c\x7c\x78\xf7\xcb\xe1\xe3\xc7\xf5\x9f\x87\xff\xe7\xa8\x87\x0f\x9e\xbd\xba\x8c\xc3\xb8\xcd\xcb\x17\xcb\xf5\xcd\xed\x72\xf9\xf6\xe5\xeb\xdb\xd7\xf7\xcf\xde\x1d\x3e\xbe\xfb\xe2\xf5\xf2\xdd\xc3\x07\xcb\x72\xb7\x2d\x4f\xaf\x6e\x9e\x62\xfd\xf5\x9b\xab\xab\xe5\xa7\x57\x2f\x7f\xbc\x78\xf5\xf3\xf2\xf7\xcb\x9f\x97\x9b\xeb\xe5\xd9\xcd\xf5\x8b\xab\x97\xcf\x6e\x97\x57\x97\x3f\x5d\x5d\x3c\xbb\x7c\x12\x0f\xfd\xf6\xe1\xee\x8f\xf5\xd3\xe1\xdd\x7f\x0e\x7f\xe2\x69\x7c\xb8\x1d\x3e\xee\x3f\xdc\xfd\xf6\xe9\xee\xfd\xaf\x5f\x6f\x89\x6f\xff\xfd\xfe\xee\xd7\xc3\xb6\x3c\xbd\xb9\xb9\xfa\x7c\xd6\xc9\x87\x17\x17\x57\xaf\xb9\xf3\x1f\x87\x0f\x77\xc7\xbb\x6f\x2f\x8c\x75\xdf\xc3\xe9\x97\xd7\xaf\x2f\x5f\xdd\x2e\x2f\xaf\x6f\x6f\xce\x7b\xf9\xe8\x6e\x7b\xf4\x64\x79\xf4\x85\xcd\xf1\xf6\x0b\x6b\xe3\x2d\xcd\x8b\x57\x27\x0b\x1e\x7d\xbf\xfc\xe3\xe2\xea\xcd\xe5\xeb\xe5\xbb\xb7\x8f\x8b\xce\x9d\x6c\x6b\xf3\xde\x65\x5d\x6b\xf5\x75\xda\x61\x1d\xc7\xba\xb5\xad\x96\xb1\x5b\xcd\x4c\x7d\xef\xbd\xfa\xaa\xfb\xd9\xd6\xee\xbb\x39\xb7\xdd\x6e\xac\xa5\xc8\x61\x5b\xe5\xf1\x13\x62\xb1\xbc\x7d\x5c\xd6\x56\x0f\x47\x95\xad\xd6\xb6\xad\x87\x71\x3c\x6c\xb2\x1b\x87\x4d\x74\x3d\xee\xdb\x61\x5f\x37\xd9\xf7\xdd\x6c\x7d\xfa\x7e\xda\xae\xb6\xd1\xd6\xed\x58\x4a\xdf\x86\xcd\xde\xd6\x7d\xd9\x86\xef\x4a\xef\xc7\x52\xd7\xb2\xb3\xa3\xb4\x2e\xdb\x51\x0e\x32\xd7\x26\x63\x77\xd8\x59\x69\x7b\xdf\xed\x56\x9d\xfb\xe1\xc7\xdd\xae\xcb\x71\xdd\xe9\x5a\xe4\x58\x7c\x15\xd1\xee\xa5\x54\x59\xad\x8e\x32\xea\x5a\x65\xcc\x52\xcb\x3a\x5a\xa9\x5a\x7c\x68\xd1\x66\xa6\xd5\xaa\x89\x4e\x35\xed\x56\x55\xad\x99\xa8\x69\xd3\xf8\x37\x55\x54\x4d\xad\x9b\x58\x8d\xf5\x3a\x74\x58\x80\x60\x5a\xb4\x9b\xc5\xf7\x5a\xac\x9a\x5a\xd5\x66\x8a\xdf\xa9\x6a\x82\x5d\xba\x5a\x3c\xaf\x55\x8b\x89\xba\x16\x2d\xa6\x66\x71\x86\x89\x75\x6b\x1a\xfb\xc6\x12\x3e\x37\xb0\x6e\xc6\x1a\x58\xe4\x3a\xcd\x54\xb5\xab\x68\xd7\xa1\xcd\x5a\xfc\xc6\x59\xf1\x84\xa9\x16\xad\x61\x8e\x56\xeb\xea\x58\xe5\xf0\x29\x76\x16\xec\x97\xff\xc2\x3b\xd8\xdd\xac\x5a\xd5\xaa\x71\x8e\x55\x09\x84\xfe\x8a\x4b\x58\x6e\x1d\x7e\x37\xbc\x73\x4b\x1c\x74\x5a\x58\x11\xbe\xcc\xd8\xc9\x02\x13\x85\x5d\x66\x1d\x18\xba\xba\x0e\xa0\x1a\x9e\x55\x60\x15\xa8\x0e\x6b\x3a\x4d\x80\x5a\x0f\x2f\x60\xd7\x84\x07\x06\x5c\xc2\x62\xd1\x0a\x4f\x24\xf6\xb6\x0a\x14\xe2\xe9\xf0\x08\xf6\x60\x5d\xe0\x14\xfb\x57\xfa\x0e\xff\xba\x76\x9d\x38\xa1\xea\xd4\x16\x3e\x46\x5c\x4c\x61\xb1\x68\x4b\x7f\x54\x9b\x16\xf5\xb0\x2f\x76\xd3\xa9\xae\x15\x9f\xc6\xbb\xc0\xb9\x9f\xc5\x05\x9e\x85\xa9\xb1\x83\x76\x60\x23\x11\x2e\x6d\x71\xb6\xce\x78\x1f\xbe\x87\x4d\x61\xa7\x2a\xd6\xc6\x2b\x03\x2a\x01\xe4\x84\xbb\x1d\x71\x2a\xc8\xb5\x0a\x2b\x0a\xd0\xa1\xf5\xf1\x9c\x03\xf3\x0c\x60\x64\x0f\x50\x30\x60\xc2\x0c\xea\xe9\x07\xb3\x2d\xf2\xd8\x11\x13\xa3\xc7\x5a\x2c\x70\xa8\xc8\xc7\x40\x76\x04\x8a\x88\x55\x43\x34\x3a\xf0\x88\xa8\x21\xb3\x81\xeb\x50\x1e\x38\xb4\x87\xfd\xc0\x79\xc2\xc7\x7a\x16\x97\x9a\xc8\x38\xf2\x4b\x71\xfe\xc4\xae\xb4\x6d\x22\x2b\xe2\xd4\xc8\xe6\x8e\xca\x70\xfc\x2d\x88\x5c\xf8\xac\xb0\x21\xd6\x0b\x9e\x9c\xb0\xcf\x34\x62\xde\x51\x07\x12\xde\x1a\x33\xc4\x10\x31\xa0\xa8\x8c\xf8\x44\x86\x54\xec\x15\x91\x19\x81\x66\xe0\x86\x48\x78\xd4\x0f\x62\x63\xc4\x1b\xb1\x8e\x4c\x1b\xd6\x11\x51\x45\x15\xa3\x7a\x90\xa3\x8c\x4d\x43\x6e\xb2\xfe\x14\x19\xd3\x33\xde\x0d\xf1\x09\x7b\xe6\x59\x5c\x8a\x29\x2a\xf1\x54\xd3\x8a\xb8\xf6\xf0\x0c\xbe\x37\x40\x8d\x7c\x8e\x58\x23\xff\x1d\x71\x6d\x60\x11\xd4\xa1\x16\x8b\xd8\xd6\xe4\x20\xda\xce\xcc\xaf\xc8\xad\x69\xcc\xa4\xe0\x9f\xa8\x4
func _1605075346_add_communitiesUpSqlBytes() ([]byte, error) {
return bindataRead(
__1605075346_add_communitiesUpSql,
"1605075346_add_communities.up.sql",
)
}
func _1605075346_add_communitiesUpSql() (*asset, error) {
bytes, err := _1605075346_add_communitiesUpSqlBytes()
if err != nil {
return nil, err
}
info := bindataFileInfo{name: "1605075346_add_communities.up.sql", size: 6971, mode: os.FileMode(0644), modTime: time.Unix(1687286142, 0)}
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x1f, 0x64, 0xea, 0xb4, 0xae, 0x9e, 0xdb, 0x9, 0x58, 0xb6, 0x5c, 0x7a, 0x50, 0xc5, 0xfe, 0x93, 0x5d, 0x36, 0x85, 0x5d, 0x6a, 0xba, 0xc9, 0x7e, 0x84, 0xd7, 0xbf, 0x2a, 0x53, 0xf3, 0x97, 0xf1}}
return a, nil
}
var __1610117927_add_message_cacheUpSql = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x3c\xcb\xb1\xaa\xc2\x30\x14\x06\xe0\xbd\xd0\x77\xf8\xc7\x7b\xc1\x37\x70\x3a\x86\x53\x0c\xc6\xb4\x9c\x1e\xc5\x4e\x25\xd4\xa0\x1d\xa2\xa5\xc9\xfb\x23\x75\x70\xfe\xf8\x8c\x30\x29\x43\xe9\xe0\x18\xb6\x81\x6f\x15\x7c\xb3\xbd\xf6\x28\x6b\x78\xe5\xe5\xbd\x96\x31\xc5\x9c\xc3\x23\x8e\x53\x98\x9e\x11\x7f\x75\x05\xcc\x77\x5c\x49\xcc\x91\xe4\x5b\xfc\xc5\x39\x74\x62\xcf\x24\x03\x4e\x3c\xa0\xf5\x30\xad\x6f\x9c\x35\x0a\xe1\xce\x91\xe1\xdd\xf6\xca\x9c\x62\x2e\x21\x2d\xb0\x5e\x7f\x75\x93\xff\x7d\x5d\x7d\x02\x00\x00\xff\xff\xcd\x45\x6b\x55\x8e\x00\x00\x00")
func _1610117927_add_message_cacheUpSqlBytes() ([]byte, error) {
return bindataRead(
__1610117927_add_message_cacheUpSql,
"1610117927_add_message_cache.up.sql",
)
}
func _1610117927_add_message_cacheUpSql() (*asset, error) {
bytes, err := _1610117927_add_message_cacheUpSqlBytes()
if err != nil {
return nil, err
}
info := bindataFileInfo{name: "1610117927_add_message_cache.up.sql", size: 142, mode: os.FileMode(0644), modTime: time.Unix(1684179677, 0)}
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x34, 0xf1, 0xf0, 0x82, 0x79, 0x28, 0x19, 0xc2, 0x39, 0x6a, 0xa5, 0x96, 0x59, 0x23, 0xa0, 0xed, 0x60, 0x58, 0x86, 0x9, 0xb9, 0xad, 0xfb, 0xa, 0xe3, 0x47, 0x6e, 0xa1, 0x18, 0xe8, 0x39, 0x2c}}
return a, nil
}
var __1610959908_add_dont_wrap_to_raw_messagesUpSql = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x72\xf4\x09\x71\x0d\x52\x08\x71\x74\xf2\x71\x55\x28\x4a\x2c\x8f\xcf\x4d\x2d\x2e\x4e\x4c\x4f\x2d\x56\x70\x74\x71\x51\x70\xf6\xf7\x09\xf5\xf5\x53\x28\xce\xce\x2c\x88\x4f\x2f\xca\x2f\x2d\x80\x49\xc7\x97\x17\x25\x16\x28\x38\xf9\xfb\xfb\xb8\x3a\xfa\x29\xb8\xb8\xba\x39\x86\xfa\x84\x28\xb8\x39\xfa\x04\xbb\x5a\x73\x01\x02\x00\x00\xff\xff\x3c\x1f\xd3\xe4\x53\x00\x00\x00")
func _1610959908_add_dont_wrap_to_raw_messagesUpSqlBytes() ([]byte, error) {
return bindataRead(
__1610959908_add_dont_wrap_to_raw_messagesUpSql,
"1610959908_add_dont_wrap_to_raw_messages.up.sql",
)
}
func _1610959908_add_dont_wrap_to_raw_messagesUpSql() (*asset, error) {
bytes, err := _1610959908_add_dont_wrap_to_raw_messagesUpSqlBytes()
if err != nil {
return nil, err
}
info := bindataFileInfo{name: "1610959908_add_dont_wrap_to_raw_messages.up.sql", size: 83, mode: os.FileMode(0644), modTime: time.Unix(1684179677, 0)}
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x71, 0x2, 0x9a, 0xca, 0xd4, 0x38, 0x44, 0x30, 0x2b, 0xa8, 0x27, 0x32, 0x63, 0x53, 0x22, 0x60, 0x59, 0x84, 0x23, 0x96, 0x77, 0xf0, 0x56, 0xd7, 0x94, 0xe0, 0x95, 0x28, 0x6, 0x1d, 0x4e, 0xb1}}
return a, nil
}
var __1610960912_add_send_on_personal_topicUpSql = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x04\xc0\xc1\x0a\x82\x21\x0c\x07\xf0\x7b\x4f\xf1\x7f\x8f\x4e\x33\xe7\x69\x29\x94\x9e\x87\xd4\x88\xa0\x54\x5c\xd0\xeb\x7f\x3f\x92\xca\x37\x54\x0a\xc2\xd8\xfd\xaf\x5f\x73\xef\x2f\x73\x50\x8c\xb8\x14\x69\xd7\x0c\xb7\xf1\xd4\x39\x74\xd9\xf6\x39\xfa\x47\x7f\x73\xbd\x1f\x08\xa5\x08\x53\x46\xe4\x44\x4d\x2a\x12\xc9\x9d\xcf\xa7\x23\x00\x00\xff\xff\x14\x1b\x69\x22\x52\x00\x00\x00")
func _1610960912_add_send_on_personal_topicUpSqlBytes() ([]byte, error) {
return bindataRead(
__1610960912_add_send_on_personal_topicUpSql,
"1610960912_add_send_on_personal_topic.up.sql",
)
}
func _1610960912_add_send_on_personal_topicUpSql() (*asset, error) {
bytes, err := _1610960912_add_send_on_personal_topicUpSqlBytes()
if err != nil {
return nil, err
}
info := bindataFileInfo{name: "1610960912_add_send_on_personal_topic.up.sql", size: 82, mode: os.FileMode(0644), modTime: time.Unix(1684179677, 0)}
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x77, 0xac, 0x2f, 0xc4, 0xd, 0xa7, 0x1b, 0x37, 0x30, 0xc2, 0x68, 0xee, 0xde, 0x54, 0x5e, 0xbf, 0x3f, 0xa0, 0xd6, 0xc6, 0x9f, 0xd4, 0x34, 0x12, 0x76, 0x1e, 0x66, 0x4a, 0xfc, 0xf, 0xee, 0xc9}}
return a, nil
}
2021-02-23 15:47:45 +00:00
var __1612870480_add_datasync_idUpSql = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x72\xf4\x09\x71\x0d\x52\x08\x71\x74\xf2\x71\x55\x28\x4a\x2c\x8f\xcf\x4d\x2d\x2e\x4e\x4c\x4f\x2d\x56\x70\x74\x71\x51\x70\xf6\xf7\x09\xf5\xf5\x53\x48\x49\x2c\x49\x2c\xae\xcc\x4b\x8e\xcf\x4c\x51\x70\xf2\xf1\x77\xb2\xe6\x72\x0e\x72\x75\x0c\x71\x55\xf0\xf4\x73\x71\x8d\x50\xc8\x4c\xa9\x88\x4f\x49\x2c\x81\xa9\xf0\xf7\x43\x31\x48\x03\x49\xb7\xa6\x35\x20\x00\x00\xff\xff\x27\x9d\xbe\x49\x6f\x00\x00\x00")
func _1612870480_add_datasync_idUpSqlBytes() ([]byte, error) {
return bindataRead(
__1612870480_add_datasync_idUpSql,
"1612870480_add_datasync_id.up.sql",
)
}
func _1612870480_add_datasync_idUpSql() (*asset, error) {
bytes, err := _1612870480_add_datasync_idUpSqlBytes()
if err != nil {
return nil, err
}
info := bindataFileInfo{name: "1612870480_add_datasync_id.up.sql", size: 111, mode: os.FileMode(0644), modTime: time.Unix(1684179677, 0)}
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x34, 0x9a, 0xbc, 0xfa, 0xaa, 0x8c, 0x9c, 0x37, 0x67, 0x15, 0x9c, 0x7e, 0x78, 0x75, 0x66, 0x82, 0x18, 0x72, 0x10, 0xbc, 0xd4, 0xab, 0x44, 0xfe, 0x57, 0x85, 0x6d, 0x19, 0xf5, 0x96, 0x8a, 0xbe}}
2021-02-23 15:47:45 +00:00
return a, nil
}
2021-01-11 10:32:51 +00:00
var __1614152139_add_communities_request_to_joinUpSql = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x8c\x90\x41\x6f\xe2\x30\x14\x84\xef\xf9\x15\x4f\x9c\x40\xca\x61\xef\x9c\x9c\xec\x8b\x88\xd6\xd8\xc8\x98\xad\x38\x59\xa9\xe3\xaa\x2e\x60\xb7\xb1\xa9\xca\xbf\xaf\x12\x5a\x20\x40\xa1\x47\xfb\xcd\x8c\x66\xbe\x5c\x20\x91\x08\x92\x64\x14\x41\xfb\xcd\x66\xeb\x6c\xb4\x26\xa8\xc6\xbc\x6d\x4d\x88\x41\x45\xaf\x5e\xbc\x75\x00\xc3\x04\xc0\xd6\x90\x51\x9e\x01\xe3\x12\xd8\x82\xd2\x34\x01\x78\xdd\x3e\xae\xad\x56\x2b\xb3\x83\xff\x44\xe4\x13\x22\x7a\x67\xbd\xf6\x7a\x05\x25\x93\xbd\x5f\xe3\x82\x72\xd5\xc6\x5c\x58\xe0\x2f\x16\x64\x41\x25\x0c\x06\x9d\xfb\xb9\x8a\xca\xd6\x77\x65\x5f\xcd\x77\xea\x5a\xc3\x10\xab\x68\x7a\x15\x0e\xf6\x3f\xed\x7d\x26\xca\x29\x11\x4b\xf8\x87\x4b\x18\xda\x7a\x04\x9c\x41\xce\x59\x41\xcb\x5c\x82\xc0\x19\x25\x39\x26\xa3\x71\x92\x24\x3d\x5c\xed\x86\x77\xd3\xd8\x27\xab\xab\x68\xbd\x53\x8d\xd1\xbe\xa9\x43\x47\xea\x0e\x95\xab\xdb\xdb\xc3\x3e\xd0\xd4\x90\x71\x4e\x91\xb0\xcb\xca\x05\xa1\x73\x3c\x95\xaa\x2a\xde\x18\x77\xc9\xbf\x7f\x3f\x5b\x10\x1b\x6b\xc2\x0d\xb9\x33\x1f\xb1\x93\xed\x7e\x0b\xf4\x48\xe2\x67\xb0\x25\x9b\xa3\x90\x6d\x22\xbf\x81\xf5\x98\x94\x76\x00\xd3\x03\x82\xf4\x14\x46\xba\xdf\x3c\x82\x39\x52\xcc\x25\xd8\xfa\x5b\x7e\x8c\x6e\x2d\xa7\xaf\xce\x76\xf6\x01\x85\xe0\x53\xd0\xde\xc5\x4a\xc7\x00\x0f\x13\x14\xd8\xd3\x8c\x93\xcf\x00\x00\x00\xff\xff\xbf\xa2\xec\x31\x3f\x03\x00\x00")
func _1614152139_add_communities_request_to_joinUpSqlBytes() ([]byte, error) {
return bindataRead(
__1614152139_add_communities_request_to_joinUpSql,
"1614152139_add_communities_request_to_join.up.sql",
)
}
func _1614152139_add_communities_request_to_joinUpSql() (*asset, error) {
bytes, err := _1614152139_add_communities_request_to_joinUpSqlBytes()
if err != nil {
return nil, err
}
info := bindataFileInfo{name: "1614152139_add_communities_request_to_join.up.sql", size: 831, mode: os.FileMode(0644), modTime: time.Unix(1684179677, 0)}
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x11, 0x3, 0x26, 0xf9, 0x29, 0x50, 0x4f, 0xcd, 0x46, 0xe5, 0xb1, 0x6b, 0xb9, 0x2, 0x40, 0xb1, 0xdf, 0x4a, 0x4c, 0x7a, 0xda, 0x3, 0x35, 0xcd, 0x2d, 0xcc, 0x80, 0x7d, 0x57, 0x5f, 0x3, 0x5c}}
2021-01-11 10:32:51 +00:00
return a, nil
}
var __1615374373_add_confirmationsUpSql = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x6c\xcd\x4f\x0b\x82\x30\x18\xc7\xf1\xfb\x5e\xc5\xef\xa8\xe0\xa1\x7b\xa7\xb9\x26\x48\x6b\x93\x31\x0f\x9e\xc6\xd2\x15\xa3\xd4\x70\x46\xf8\xee\x23\xe8\x1f\xd4\xf9\xf3\x3c\xbf\x2f\xd3\x9c\x1a\x0e\x43\x73\xc1\x31\xb9\x9b\xed\x7d\x8c\xee\xe8\x6d\x3b\x0e\x87\x30\xf5\x6e\x0e\xe3\x10\x91\x10\xa0\x73\xb3\x8b\xcb\xd0\xda\xd0\x21\x17\x2a\x87\x54\x06\xb2\x16\x22\x23\xc0\xeb\xed\x9f\x5d\xae\xfb\x73\x68\xed\xc9\x2f\xbf\xf6\xcc\xf8\xce\xba\x19\xa5\x34\x6f\xc4\x86\x17\xb4\x16\x06\xab\xc7\x59\xa5\xcb\x1d\xd5\x0d\xb6\xbc\x41\xf2\x69\x65\x5f\xdb\x29\x94\x04\x53\xb2\x10\x25\x33\xd0\xbc\x12\x94\x71\x92\xae\xc9\x3d\x00\x00\xff\xff\x2a\xf5\xf5\x4b\xe3\x00\x00\x00")
func _1615374373_add_confirmationsUpSqlBytes() ([]byte, error) {
return bindataRead(
__1615374373_add_confirmationsUpSql,
"1615374373_add_confirmations.up.sql",
)
}
func _1615374373_add_confirmationsUpSql() (*asset, error) {
bytes, err := _1615374373_add_confirmationsUpSqlBytes()
if err != nil {
return nil, err
}
info := bindataFileInfo{name: "1615374373_add_confirmations.up.sql", size: 227, mode: os.FileMode(0644), modTime: time.Unix(1684179677, 0)}
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xdd, 0xa6, 0x65, 0xc5, 0x1d, 0xb2, 0x77, 0x36, 0xe3, 0x79, 0xda, 0xe8, 0x7a, 0xa4, 0xdf, 0x45, 0xae, 0xd8, 0xb4, 0xba, 0x90, 0xfd, 0x74, 0x71, 0x14, 0x75, 0x73, 0x72, 0xb9, 0x9e, 0x1, 0x81}}
return a, nil
}
var __1617694931_add_notification_centerUpSql = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x8c\x90\x41\x6b\x02\x31\x14\x84\xef\xf9\x15\x73\x54\xf0\xd2\xb3\xf4\x10\x37\x11\x97\xc6\x44\x62\xb6\xd6\xd3\x12\xb2\x91\x06\xba\xeb\x62\x42\xc1\x7f\x5f\x52\x71\xb7\xb0\xa5\xf6\xfa\xde\xf7\x66\xe6\x0d\x15\x86\x6b\x18\xba\x12\x1c\xee\xdd\xa6\x08\xca\x18\x0a\x25\xaa\xad\x84\x75\xce\xf7\xc9\x37\x58\x29\x25\x38\x95\x60\x7c\x4d\x2b\x61\x70\xb2\x1f\xd1\x2f\x49\xb5\x63\xd4\xdc\xef\xf6\xdc\x8c\x07\xcf\x78\x5a\x12\x52\x68\x9e\xf7\x37\x75\xeb\x52\xf8\x0c\xe9\x5a\x3b\xdf\x25\x7f\xa9\xbb\x73\x0a\xa7\xe0\x6c\x0a\xe7\x2e\x62\x46\x80\xd0\xe0\x95\xea\x62\x43\x35\xa4\x32\x90\x95\x10\xd8\xe9\x72\x4b\xf5\x11\x2f\xfc\xb8\x20\x40\x0a\xad\x8f\xc9\xb6\x3d\x4a\x69\x06\x2a\x6f\x7e\xca\xd5\xe9\xda\xfb\x09\x91\x63\xd6\xa3\x47\x1e\x5d\xbc\x1d\x9f\x1b\x3c\xef\x5f\xae\xa9\xd8\xf3\x8c\x35\x21\xb6\x21\x46\xff\x1f\x76\xd2\xd9\xef\x28\x99\xe3\x50\x9a\x8d\xaa\x0c\xb4\x3a\x94\x6c\x6c\xab\x94\x8c\xbf\x4d\xda\x6a\xc2\x2d\x41\x3d\xe8\x2b\xf9\x77\xa5\xb3\x21\xf5\x62\x08\x35\x7f\x64\xf3\x5d\xc8\x43\xe5\x4c\xcd\x97\xe4\x2b\x00\x00\xff\xff\x42\x2c\xa0\x0a\x3c\x02\x00\x00")
func _1617694931_add_notification_centerUpSqlBytes() ([]byte, error) {
return bindataRead(
__1617694931_add_notification_centerUpSql,
"1617694931_add_notification_center.up.sql",
)
}
func _1617694931_add_notification_centerUpSql() (*asset, error) {
bytes, err := _1617694931_add_notification_centerUpSqlBytes()
if err != nil {
return nil, err
}
info := bindataFileInfo{name: "1617694931_add_notification_center.up.sql", size: 572, mode: os.FileMode(0644), modTime: time.Unix(1684179677, 0)}
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x10, 0x45, 0xc6, 0xc9, 0x73, 0xbb, 0x1f, 0xda, 0xa3, 0x4d, 0x19, 0x98, 0x85, 0x2d, 0xca, 0xda, 0xcc, 0x3b, 0x32, 0xff, 0xc7, 0x7b, 0xe3, 0x9f, 0x9b, 0x2a, 0x93, 0xf5, 0xdf, 0x65, 0x38, 0x91}}
return a, nil
}
var __1618923660_create_pin_messagesUpSql = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x7c\xcc\x41\x0b\xc2\x20\x18\xc6\xf1\xbb\x9f\xe2\x3d\x16\xf4\x0d\x3a\xb9\xf1\x56\x92\xb9\x70\x16\xed\x24\xe2\xa4\x49\x6e\x93\x5c\xf5\xf5\xa3\x88\xd8\x0e\x75\xfe\xff\x9e\x27\x97\x48\x15\x82\xa2\x19\x47\x60\x2b\x10\x85\x02\x3c\xb1\x52\x95\x10\x7d\xa7\x5b\x97\x92\x39\xbb\x04\x33\x02\xe0\x6b\x38\x52\x99\x6f\xa8\x84\xbd\x64\x3b\x2a\x2b\xd8\x62\xf5\x9e\x88\x03\xe7\x0b\x02\xf0\xf1\x7a\x44\xc7\xf9\xd1\xf8\x14\xdd\x55\x0f\xbe\x75\x69\x30\x6d\x04\x26\x14\xae\x71\xaa\x6c\x63\x86\x5f\x0f\xa1\xb7\x26\xe8\x7f\xc2\x86\xde\x5e\xf4\xdd\x84\x9b\x7b\xbd\x4f\x5a\xf4\x5d\xe7\x6a\xc8\x8a\x82\x23\x15\xdf\x44\xe6\x4b\xf2\x0c\x00\x00\xff\xff\x44\xad\x25\xa3\x09\x01\x00\x00")
func _1618923660_create_pin_messagesUpSqlBytes() ([]byte, error) {
return bindataRead(
__1618923660_create_pin_messagesUpSql,
"1618923660_create_pin_messages.up.sql",
)
}
func _1618923660_create_pin_messagesUpSql() (*asset, error) {
bytes, err := _1618923660_create_pin_messagesUpSqlBytes()
if err != nil {
return nil, err
}
info := bindataFileInfo{name: "1618923660_create_pin_messages.up.sql", size: 265, mode: os.FileMode(0644), modTime: time.Unix(1684179677, 0)}
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x61, 0x44, 0x3a, 0xbe, 0x30, 0xd2, 0x7e, 0xc0, 0xe2, 0x8e, 0x65, 0x53, 0x54, 0xbb, 0x7a, 0x1c, 0xb3, 0x5d, 0xd2, 0xa6, 0xa9, 0x28, 0xb7, 0xa4, 0x5f, 0x8b, 0x9, 0x5f, 0x17, 0xc1, 0x85, 0x21}}
return a, nil
}
var __1619094007_add_joined_chat_fieldUpSql = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x72\xf4\x09\x71\x0d\x52\x08\x71\x74\xf2\x71\x55\x48\xce\x48\x2c\x29\x56\x70\x74\x71\x51\x70\xf6\xf7\x09\xf5\xf5\x53\xc8\xca\xcf\xcc\x4b\x4d\x51\xf0\xf4\x0b\x51\x70\x71\x75\x73\x0c\xf5\x09\x51\x30\xb0\xe6\x0a\x0d\x70\x71\x0c\x81\xa9\x0e\x76\x0d\x81\x29\xb3\x55\x30\x50\x08\xf7\x70\x0d\x72\x45\x08\xf8\x85\xfa\xf8\x58\x73\x71\x01\x02\x00\x00\xff\xff\xa1\x89\x52\x8b\x65\x00\x00\x00")
func _1619094007_add_joined_chat_fieldUpSqlBytes() ([]byte, error) {
return bindataRead(
__1619094007_add_joined_chat_fieldUpSql,
"1619094007_add_joined_chat_field.up.sql",
)
}
func _1619094007_add_joined_chat_fieldUpSql() (*asset, error) {
bytes, err := _1619094007_add_joined_chat_fieldUpSqlBytes()
if err != nil {
return nil, err
}
info := bindataFileInfo{name: "1619094007_add_joined_chat_field.up.sql", size: 101, mode: os.FileMode(0644), modTime: time.Unix(1684179677, 0)}
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xfa, 0x30, 0x81, 0x3a, 0x2f, 0x9f, 0xb3, 0x0, 0x55, 0x8e, 0x1d, 0xa8, 0xb0, 0x68, 0xf0, 0x40, 0x1a, 0x6c, 0xaa, 0xfc, 0x33, 0xd1, 0xd1, 0x55, 0x3f, 0xf2, 0xbd, 0x54, 0xa1, 0x2b, 0x40, 0x95}}
return a, nil
}
2021-03-25 15:15:22 +00:00
var __1619099821_add_last_synced_fieldUpSql = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x72\xf4\x09\x71\x0d\x52\x08\x71\x74\xf2\x71\x55\x48\xce\x48\x2c\x29\x56\x70\x74\x71\x51\x70\xf6\xf7\x09\xf5\xf5\x53\x28\xae\xcc\x4b\x4e\x4d\x89\x2f\xc9\x57\xf0\xf4\x0b\x71\x75\x77\x0d\x52\x70\x71\x75\x73\x0c\xf5\x09\x51\x30\xb0\xe6\x22\x46\x67\x5a\x51\x7e\x2e\x21\xbd\xa5\xc5\xa9\x45\xf1\xb9\xa9\xc5\xc5\x89\xe9\xa9\x28\x66\xa4\x27\x16\xa0\x18\x40\x82\x36\x84\x8b\xad\xb9\x00\x01\x00\x00\xff\xff\x9d\x7c\x6a\xe7\xe2\x00\x00\x00")
func _1619099821_add_last_synced_fieldUpSqlBytes() ([]byte, error) {
return bindataRead(
__1619099821_add_last_synced_fieldUpSql,
"1619099821_add_last_synced_field.up.sql",
)
}
func _1619099821_add_last_synced_fieldUpSql() (*asset, error) {
bytes, err := _1619099821_add_last_synced_fieldUpSqlBytes()
if err != nil {
return nil, err
}
info := bindataFileInfo{name: "1619099821_add_last_synced_field.up.sql", size: 226, mode: os.FileMode(0644), modTime: time.Unix(1684179677, 0)}
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xf, 0x52, 0x22, 0xe, 0x2f, 0xd7, 0x93, 0x5f, 0x42, 0xc2, 0x93, 0x4, 0x35, 0x6f, 0xc9, 0x19, 0xed, 0x6b, 0x52, 0x6f, 0xae, 0x99, 0xe2, 0x68, 0x3d, 0x4f, 0x40, 0xe, 0xe1, 0xa, 0x47, 0x21}}
2021-03-25 15:15:22 +00:00
return a, nil
}
var __1621933219_add_mentionedUpSql = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x04\xc0\x31\x0a\x80\x30\x0c\x05\xd0\xdd\x53\xfc\x7b\x38\xa5\x36\x9d\x62\x0b\x9a\xce\x22\x18\xc4\xa1\x15\x8c\xde\xdf\x47\xa2\xbc\x40\x29\x08\xe3\x73\x7b\xb6\x66\xee\xfb\x69\x0e\x8a\x11\x53\x91\x3a\x67\x34\xeb\xef\x75\x77\x3b\x10\x4a\x11\xa6\x8c\xc8\x89\xaa\x28\x12\xc9\xca\xe3\xf0\x07\x00\x00\xff\xff\x76\x1d\xdd\xab\x46\x00\x00\x00")
func _1621933219_add_mentionedUpSqlBytes() ([]byte, error) {
return bindataRead(
__1621933219_add_mentionedUpSql,
"1621933219_add_mentioned.up.sql",
)
}
func _1621933219_add_mentionedUpSql() (*asset, error) {
bytes, err := _1621933219_add_mentionedUpSqlBytes()
if err != nil {
return nil, err
}
info := bindataFileInfo{name: "1621933219_add_mentioned.up.sql", size: 70, mode: os.FileMode(0644), modTime: time.Unix(1684179677, 0)}
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x36, 0x76, 0x8a, 0xc9, 0x7, 0x8f, 0xa5, 0xcb, 0x12, 0x21, 0x4e, 0xfe, 0x96, 0x77, 0xcf, 0x7f, 0x76, 0x75, 0x36, 0x2c, 0xf8, 0x1d, 0x13, 0xcb, 0xcd, 0x6e, 0x70, 0xbf, 0xf5, 0x93, 0x67, 0xd1}}
return a, nil
}
var __1622010048_add_unviewed_mentions_countUpSql = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x72\xf4\x09\x71\x0d\x52\x08\x71\x74\xf2\x71\x55\x48\xce\x48\x2c\x29\x56\x70\x74\x71\x51\x70\xf6\xf7\x09\xf5\xf5\x53\x28\xcd\x2b\xcb\x4c\x2d\x4f\x4d\x89\xcf\x4d\xcd\x2b\xc9\xcc\xcf\x2b\x8e\x4f\xce\x2f\xcd\x2b\x51\xf0\xf4\x0b\x51\x70\x71\x75\x73\x0c\xf5\x09\x51\x30\xb0\xe6\x0a\x0d\x70\x71\x0c\x81\x69\x0f\x76\x0d\xc1\xa9\xcf\x16\xa4\x1a\x10\x00\x00\xff\xff\x0f\xdf\x43\x35\x72\x00\x00\x00")
func _1622010048_add_unviewed_mentions_countUpSqlBytes() ([]byte, error) {
return bindataRead(
__1622010048_add_unviewed_mentions_countUpSql,
"1622010048_add_unviewed_mentions_count.up.sql",
)
}
func _1622010048_add_unviewed_mentions_countUpSql() (*asset, error) {
bytes, err := _1622010048_add_unviewed_mentions_countUpSqlBytes()
if err != nil {
return nil, err
}
info := bindataFileInfo{name: "1622010048_add_unviewed_mentions_count.up.sql", size: 114, mode: os.FileMode(0644), modTime: time.Unix(1684179677, 0)}
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x7c, 0x16, 0x85, 0xa6, 0x5b, 0xe1, 0x66, 0xb9, 0x84, 0xbe, 0x7f, 0xa, 0x77, 0x23, 0xb9, 0xef, 0x8e, 0x2, 0x8, 0xfc, 0x61, 0xb2, 0x43, 0xa9, 0x63, 0xae, 0xb4, 0xdf, 0x30, 0xb1, 0x61, 0x4b}}
return a, nil
}
var __1622061278_add_message_activity_center_notification_fieldUpSql = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x04\xc0\xb1\x0a\xc3\x20\x10\x06\xe0\xbd\x4f\xf1\xbf\x47\xa7\xb3\xda\xe9\xaa\x50\x74\x16\x91\x4b\xb8\x21\x0a\xf1\x08\xe4\xed\xf3\x11\xe7\xf0\x47\x26\xc7\x01\xad\x9b\x5e\x6a\x77\xed\x32\x4c\xce\x3a\xa6\xe9\xa6\xbd\x99\xce\xb1\x40\xde\xe3\x93\xb8\xfc\x22\x0e\x59\xab\xed\x02\xc7\xc9\xc1\x87\x2f\x15\xce\x88\x85\xf9\xfd\x7a\x02\x00\x00\xff\xff\xa2\xbd\x4d\x28\x50\x00\x00\x00")
func _1622061278_add_message_activity_center_notification_fieldUpSqlBytes() ([]byte, error) {
return bindataRead(
__1622061278_add_message_activity_center_notification_fieldUpSql,
"1622061278_add_message_activity_center_notification_field.up.sql",
)
}
func _1622061278_add_message_activity_center_notification_fieldUpSql() (*asset, error) {
bytes, err := _1622061278_add_message_activity_center_notification_fieldUpSqlBytes()
if err != nil {
return nil, err
}
info := bindataFileInfo{name: "1622061278_add_message_activity_center_notification_field.up.sql", size: 80, mode: os.FileMode(0644), modTime: time.Unix(1684179677, 0)}
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x8, 0xc, 0xa6, 0x1f, 0xa5, 0xc6, 0x7c, 0x6f, 0xab, 0x2c, 0x2d, 0xb5, 0xa4, 0xdd, 0xc1, 0xd6, 0x44, 0x83, 0xf9, 0xb1, 0xa5, 0xce, 0x34, 0x3d, 0x2, 0xa9, 0x35, 0xcf, 0xc6, 0xb2, 0x43, 0x37}}
return a, nil
}
2021-05-31 12:42:38 +00:00
var __1622464518_set_synced_to_fromUpSql = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x0a\x0d\x70\x71\x0c\x71\x55\x48\xce\x48\x2c\x29\x56\x08\x76\x0d\x51\x28\xae\xcc\x4b\x4e\x4d\x89\x2f\xc9\x57\xb0\x55\x28\x2e\x29\x4a\x2b\xc9\xcc\x4d\xd5\x50\x57\x2d\x56\xd7\x51\x50\xcf\xcb\x2f\x57\xd7\x54\xd0\x55\xb0\x30\x33\x31\x30\xd0\x81\x29\x4d\x2b\xca\xcf\x25\xa4\xd8\x9a\x0b\x10\x00\x00\xff\xff\x55\xfe\xb4\x0a\x69\x00\x00\x00")
func _1622464518_set_synced_to_fromUpSqlBytes() ([]byte, error) {
return bindataRead(
__1622464518_set_synced_to_fromUpSql,
"1622464518_set_synced_to_from.up.sql",
)
}
func _1622464518_set_synced_to_fromUpSql() (*asset, error) {
bytes, err := _1622464518_set_synced_to_fromUpSqlBytes()
if err != nil {
return nil, err
}
info := bindataFileInfo{name: "1622464518_set_synced_to_from.up.sql", size: 105, mode: os.FileMode(0644), modTime: time.Unix(1684179677, 0)}
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x33, 0x3e, 0x2b, 0xa, 0x1e, 0xc7, 0x6d, 0x6f, 0xd1, 0x1d, 0xe8, 0x4b, 0xdd, 0x92, 0x76, 0xea, 0xf2, 0x3e, 0x15, 0x85, 0xc4, 0xc3, 0x31, 0xf1, 0xc0, 0xa2, 0xd7, 0x47, 0xde, 0x4e, 0xfd, 0xc6}}
2021-05-31 12:42:38 +00:00
return a, nil
}
var __1622464519_add_chat_descriptionUpSql = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x72\xf4\x09\x71\x0d\x52\x08\x71\x74\xf2\x71\x55\x48\xce\x48\x2c\x29\x56\x70\x74\x71\x51\x70\xf6\xf7\x09\xf5\xf5\x53\x48\x49\x2d\x4e\x2e\xca\x2c\x28\xc9\xcc\xcf\x53\x08\x71\x8d\x08\x51\x70\x71\x75\x73\x0c\xf5\x09\x51\x50\x52\xb2\xe6\x0a\x0d\x70\x71\x0c\x81\x69\x0a\x76\x0d\x41\x51\x6d\x0b\x56\x02\x08\x00\x00\xff\xff\x12\x5c\x00\x32\x5d\x00\x00\x00")
func _1622464519_add_chat_descriptionUpSqlBytes() ([]byte, error) {
return bindataRead(
__1622464519_add_chat_descriptionUpSql,
"1622464519_add_chat_description.up.sql",
)
}
func _1622464519_add_chat_descriptionUpSql() (*asset, error) {
bytes, err := _1622464519_add_chat_descriptionUpSqlBytes()
if err != nil {
return nil, err
}
info := bindataFileInfo{name: "1622464519_add_chat_description.up.sql", size: 93, mode: os.FileMode(0644), modTime: time.Unix(1684179677, 0)}
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x36, 0x2e, 0x89, 0x31, 0xec, 0xef, 0xeb, 0x43, 0xf5, 0x96, 0x6d, 0xce, 0x91, 0x8a, 0x37, 0x2a, 0x11, 0x7a, 0x3f, 0xd9, 0x10, 0xbb, 0xa1, 0xbc, 0x7, 0xe0, 0x3b, 0xa5, 0xf4, 0xa6, 0xf4, 0xa1}}
return a, nil
}
var __1622622253_add_pinned_by_to_pin_messagesUpSql = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x72\xf4\x09\x71\x0d\x52\x08\x71\x74\xf2\x71\x55\x28\xc8\xcc\x8b\xcf\x4d\x2d\x2e\x4e\x4c\x4f\x2d\x56\x70\x74\x71\x51\x70\xf6\xf7\x09\xf5\xf5\x03\x89\xe7\xa5\xa6\xc4\x27\x55\x2a\x84\xb8\x46\x84\x58\x73\x01\x02\x00\x00\xff\xff\x49\x42\xde\xda\x34\x00\x00\x00")
func _1622622253_add_pinned_by_to_pin_messagesUpSqlBytes() ([]byte, error) {
return bindataRead(
__1622622253_add_pinned_by_to_pin_messagesUpSql,
"1622622253_add_pinned_by_to_pin_messages.up.sql",
)
}
func _1622622253_add_pinned_by_to_pin_messagesUpSql() (*asset, error) {
bytes, err := _1622622253_add_pinned_by_to_pin_messagesUpSqlBytes()
if err != nil {
return nil, err
}
info := bindataFileInfo{name: "1622622253_add_pinned_by_to_pin_messages.up.sql", size: 52, mode: os.FileMode(0644), modTime: time.Unix(1684179677, 0)}
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x9b, 0x94, 0xa3, 0x45, 0x91, 0x1e, 0x66, 0xd1, 0x96, 0x5a, 0xaf, 0xfa, 0x29, 0x39, 0xa8, 0x3a, 0x97, 0x4c, 0x65, 0x6, 0x96, 0x90, 0x4c, 0xfe, 0xce, 0x7d, 0x5d, 0xd4, 0xb3, 0x8, 0x6d, 0x5f}}
return a, nil
}
2021-06-08 06:07:45 +00:00
var __1623938329_add_author_activity_center_notification_fieldUpSql = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x72\xf4\x09\x71\x0d\x52\x08\x71\x74\xf2\x71\x55\x48\x4c\x2e\xc9\x2c\xcb\x2c\xa9\x8c\x4f\x4e\xcd\x2b\x49\x2d\x8a\xcf\xcb\x2f\xc9\x4c\xcb\x4c\x4e\x2c\xc9\xcc\xcf\x2b\x56\x70\x74\x71\x51\x70\xf6\xf7\x09\xf5\xf5\x53\x48\x2c\x2d\xc9\xc8\x2f\x52\x08\x71\x8d\x08\xb1\xe6\x02\x04\x00\x00\xff\xff\xc4\xaa\x64\x1f\x42\x00\x00\x00")
2021-06-03 13:11:55 +00:00
2021-06-08 06:07:45 +00:00
func _1623938329_add_author_activity_center_notification_fieldUpSqlBytes() ([]byte, error) {
2021-06-03 13:11:55 +00:00
return bindataRead(
2021-06-08 06:07:45 +00:00
__1623938329_add_author_activity_center_notification_fieldUpSql,
"1623938329_add_author_activity_center_notification_field.up.sql",
2021-06-03 13:11:55 +00:00
)
}
2021-06-08 06:07:45 +00:00
func _1623938329_add_author_activity_center_notification_fieldUpSql() (*asset, error) {
bytes, err := _1623938329_add_author_activity_center_notification_fieldUpSqlBytes()
2021-06-03 13:11:55 +00:00
if err != nil {
return nil, err
}
info := bindataFileInfo{name: "1623938329_add_author_activity_center_notification_field.up.sql", size: 66, mode: os.FileMode(0644), modTime: time.Unix(1684179677, 0)}
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x36, 0xe6, 0xa7, 0xd5, 0x26, 0xff, 0xab, 0x92, 0x88, 0xf0, 0xd3, 0x34, 0xd9, 0x2f, 0xe7, 0x18, 0x1a, 0x40, 0xf9, 0xbe, 0x8e, 0xfc, 0xd0, 0x4f, 0x1f, 0x4a, 0xb9, 0x83, 0x3f, 0xa9, 0xde, 0xb}}
2021-06-03 13:11:55 +00:00
return a, nil
}
2021-06-08 06:07:45 +00:00
var __1623938330_add_edit_messagesUpSql = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x74\x8f\xc1\x8a\x83\x30\x14\x45\xf7\xf9\x8a\xb7\x54\xf0\x0f\x5c\xbd\xd1\xc7\x8c\x4c\x8c\x25\xc4\x52\x57\x41\xcc\xa3\x95\xb6\x08\x26\x42\x3f\xbf\x08\x16\x29\xc4\xf5\xb9\xf7\x72\x2e\x4a\x43\x1a\x0c\xfe\x48\x82\xc5\xf3\x6c\x9f\xec\x7d\x7f\x65\x0f\x58\x96\x50\x34\xb2\xad\x15\xb0\x1b\x03\x3b\xdb\x07\xa8\x94\xa1\x5f\xd2\xb9\x10\x85\x26\x34\x14\x6b\xda\x35\xee\x21\x11\x00\xc3\x63\x1a\xee\x9f\x12\xa8\xc6\x80\x6a\xa5\xcc\x56\x72\xeb\x83\x1d\x1d\x9c\x51\x17\x7f\xf8\xcd\xb6\xa1\x23\xec\xa7\x65\x1e\x38\x8a\x02\xbf\x42\x14\x1c\x4c\x9d\x74\x55\xa3\xee\xe0\x9f\xba\x64\x74\xa9\x48\xf7\x63\x95\x2a\xe9\x12\x3b\x66\x77\x3d\xbb\xa9\x34\x2a\x16\x4c\xf6\x60\xb6\x49\xa7\xb9\x78\x07\x00\x00\xff\xff\x6a\x1b\xa7\x21\x71\x01\x00\x00")
2021-06-08 06:07:45 +00:00
func _1623938330_add_edit_messagesUpSqlBytes() ([]byte, error) {
return bindataRead(
2021-06-08 06:07:45 +00:00
__1623938330_add_edit_messagesUpSql,
"1623938330_add_edit_messages.up.sql",
)
}
2021-06-08 06:07:45 +00:00
func _1623938330_add_edit_messagesUpSql() (*asset, error) {
bytes, err := _1623938330_add_edit_messagesUpSqlBytes()
if err != nil {
return nil, err
}
info := bindataFileInfo{name: "1623938330_add_edit_messages.up.sql", size: 369, mode: os.FileMode(0644), modTime: time.Unix(1684179677, 0)}
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x7e, 0xd2, 0xce, 0xe, 0x5c, 0x19, 0xbe, 0x5e, 0x29, 0xbe, 0x9b, 0x31, 0x53, 0x76, 0xb2, 0xc8, 0x56, 0xf0, 0x82, 0xfe, 0x7d, 0x6c, 0xe8, 0x5c, 0xe9, 0x7a, 0x5d, 0x5, 0xc4, 0x92, 0x38, 0xe3}}
return a, nil
}
var __1624978434_add_muted_communityUpSql = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x4c\xc6\x21\x1a\x84\x20\x10\x05\xe0\xbe\xa7\x78\xf7\xd8\x34\x2c\x43\x7a\xcb\x7c\x9f\x0e\xd9\xa0\x04\x02\x1a\x84\xfb\x5b\x6d\xbf\xd0\x75\x81\x4b\xa0\x62\xbf\x7a\x9f\x67\x1b\xad\xde\xdb\xcb\x90\x18\xf1\x33\x96\x7f\x46\x9f\xa3\x1e\x08\x66\x44\x36\x47\x2e\x24\xa2\x26\x29\x74\x24\xe1\xaa\xdf\xcf\x13\x00\x00\xff\xff\x67\xa1\x66\x87\x52\x00\x00\x00")
func _1624978434_add_muted_communityUpSqlBytes() ([]byte, error) {
return bindataRead(
__1624978434_add_muted_communityUpSql,
"1624978434_add_muted_community.up.sql",
)
}
func _1624978434_add_muted_communityUpSql() (*asset, error) {
bytes, err := _1624978434_add_muted_communityUpSqlBytes()
if err != nil {
return nil, err
}
info := bindataFileInfo{name: "1624978434_add_muted_community.up.sql", size: 82, mode: os.FileMode(0644), modTime: time.Unix(1684179677, 0)}
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x6, 0xdc, 0x6e, 0x6f, 0x97, 0xc7, 0x3d, 0x50, 0xab, 0x80, 0x87, 0x44, 0x43, 0x38, 0xe6, 0xc5, 0xc1, 0x91, 0x26, 0xf, 0x16, 0xe, 0xd9, 0x32, 0x37, 0x25, 0x96, 0x25, 0x6, 0xc8, 0xb5, 0x4a}}
return a, nil
}
var __1625018910_add_repply_message_activity_center_notification_fieldUpSql = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x04\xc0\x41\x0a\x42\x21\x10\x06\xe0\x7d\xa7\xf8\xef\xd1\x6a\x4c\x5b\x4d\x4f\x08\x5d\x8b\xc8\x14\x03\xa5\xa1\x43\xe0\xed\xdf\x47\x9c\xc2\x13\x89\x1c\x07\xd4\x66\xfa\x57\xdb\xa5\x49\x37\x99\xa5\x0f\xd3\x97\xb6\x6a\x3a\xfa\x02\x79\x8f\x5b\xe4\xfc\x38\x30\xe5\xf7\xd9\xe5\x2b\x6b\xd5\xb7\xc0\x71\x74\xf0\xe1\x4e\x99\x13\x8e\xcc\x7c\xbd\x9c\x01\x00\x00\xff\xff\x74\xe9\xc7\x31\x56\x00\x00\x00")
func _1625018910_add_repply_message_activity_center_notification_fieldUpSqlBytes() ([]byte, error) {
return bindataRead(
__1625018910_add_repply_message_activity_center_notification_fieldUpSql,
"1625018910_add_repply_message_activity_center_notification_field.up.sql",
)
}
func _1625018910_add_repply_message_activity_center_notification_fieldUpSql() (*asset, error) {
bytes, err := _1625018910_add_repply_message_activity_center_notification_fieldUpSqlBytes()
if err != nil {
return nil, err
}
info := bindataFileInfo{name: "1625018910_add_repply_message_activity_center_notification_field.up.sql", size: 86, mode: os.FileMode(0644), modTime: time.Unix(1684179677, 0)}
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xf2, 0x52, 0x12, 0x40, 0xd8, 0x6f, 0x71, 0x97, 0x46, 0x39, 0xaa, 0x74, 0x41, 0xcd, 0x45, 0x4c, 0xe8, 0xd9, 0xe2, 0x56, 0x8e, 0x78, 0x18, 0x62, 0xf6, 0xa8, 0x36, 0xe9, 0x9a, 0x1f, 0xc, 0xb1}}
return a, nil
}
var __1625762506_add_deleted_messagesUpSql = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x74\x8f\xdf\x4a\xc3\x30\x14\xc6\xef\xf3\x14\xdf\x65\x0b\x7b\x83\x5d\x9d\x35\x67\x5a\x3c\x4b\x24\xa6\xe2\xae\xc2\x68\x0e\x5a\x9c\x0c\x96\xf6\xfd\x45\x2c\x14\xa5\xbd\xfe\x7d\x7f\x49\x22\x07\x44\x3a\x08\x63\x2a\x7a\x4f\x5f\x5a\xca\xe5\x5d\x0b\xc8\x5a\x34\x5e\xba\x93\x43\xd6\xab\x8e\x9a\x71\xf0\x5e\x60\xf9\x48\x9d\x44\x1c\x49\x5e\x78\x6f\x4c\x13\x98\x22\xaf\x45\xa4\x5f\x5f\x41\x65\x80\xfe\x7a\xeb\x3f\xd1\xba\xc8\x0f\x1c\xe0\x7c\x84\xeb\x44\x76\x3f\xe4\xe3\x32\xa6\x21\xe3\x95\x42\xf3\x48\x7f\xd9\x1c\xb5\x85\xcb\x6d\xba\xf7\xba\x8a\x36\x1c\xcf\xa1\x3d\x51\x38\xe3\x89\xcf\xd5\x90\x6b\x53\x2f\x0f\x5a\x67\xf9\x6d\xfd\x41\x5a\x76\xa4\xb9\xd3\xbb\x7f\x52\xcd\xc3\x58\xaa\x45\xb8\x9b\xd7\xd5\x7b\xf3\x1d\x00\x00\xff\xff\xe9\x4c\x40\xd6\x65\x01\x00\x00")
func _1625762506_add_deleted_messagesUpSqlBytes() ([]byte, error) {
return bindataRead(
__1625762506_add_deleted_messagesUpSql,
"1625762506_add_deleted_messages.up.sql",
)
}
func _1625762506_add_deleted_messagesUpSql() (*asset, error) {
bytes, err := _1625762506_add_deleted_messagesUpSqlBytes()
if err != nil {
return nil, err
}
info := bindataFileInfo{name: "1625762506_add_deleted_messages.up.sql", size: 357, mode: os.FileMode(0644), modTime: time.Unix(1684179677, 0)}
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xd5, 0x61, 0x42, 0xb6, 0x8c, 0x7f, 0x2d, 0xec, 0xa9, 0x6d, 0x3d, 0x0, 0xa3, 0x32, 0xd8, 0x4a, 0x38, 0x5c, 0x97, 0xfc, 0x68, 0xde, 0xa9, 0xb7, 0xd8, 0xde, 0xb, 0x29, 0x93, 0xdc, 0x81, 0xf8}}
return a, nil
}
var __1627388946_add_communities_synced_atUpSql = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x72\xf4\x09\x71\x0d\x52\x08\x71\x74\xf2\x71\x55\x48\xce\xcf\xcd\x2d\xcd\xcb\x2c\xc9\x4c\x2d\x8e\x47\x62\x2b\x38\xba\xb8\x28\x38\xfb\xfb\x84\xfa\xfa\x29\x14\x57\xe6\x25\xa7\xa6\xc4\x27\x96\x28\x84\x78\xfa\xba\x06\x87\x38\xfa\x06\x28\xb8\xb8\xba\x39\x86\xfa\x84\x28\x18\x28\xf8\xf9\x87\x28\xf8\x85\xfa\xf8\x58\x73\x01\x02\x00\x00\xff\xff\x1e\x20\xbb\x45\x57\x00\x00\x00")
func _1627388946_add_communities_synced_atUpSqlBytes() ([]byte, error) {
return bindataRead(
__1627388946_add_communities_synced_atUpSql,
"1627388946_add_communities_synced_at.up.sql",
)
}
func _1627388946_add_communities_synced_atUpSql() (*asset, error) {
bytes, err := _1627388946_add_communities_synced_atUpSqlBytes()
if err != nil {
return nil, err
}
info := bindataFileInfo{name: "1627388946_add_communities_synced_at.up.sql", size: 87, mode: os.FileMode(0644), modTime: time.Unix(1684179677, 0)}
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xc1, 0xbd, 0x9b, 0x6a, 0xc9, 0x1a, 0x7a, 0x34, 0xcf, 0x5f, 0x80, 0x9e, 0x8c, 0x1c, 0xc0, 0xec, 0x4e, 0x78, 0xb0, 0x2d, 0x15, 0x77, 0x38, 0x4a, 0x6a, 0x5, 0x84, 0xf5, 0x8d, 0x8b, 0xbe, 0x9}}
return a, nil
}
var __1628280060_createUsermessagesIndexSql = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x72\x0e\x72\x75\x0c\x71\x55\xf0\xf4\x73\x71\x8d\x50\x28\x2d\x4e\x2d\x8a\xcf\x4d\x2d\x2e\x4e\x4c\x4f\x2d\x8e\x2f\x4a\x4d\x4c\x81\xf3\x14\xfc\xfd\x50\xa5\x35\x72\xf2\x93\x13\x73\xe2\x93\x33\x12\x4b\xe2\x33\x53\x74\x14\x8a\x53\x53\xf3\x34\xad\xb9\x00\x01\x00\x00\xff\xff\xd5\xb8\x15\xac\x50\x00\x00\x00")
func _1628280060_createUsermessagesIndexSqlBytes() ([]byte, error) {
return bindataRead(
__1628280060_createUsermessagesIndexSql,
"1628280060_create-usermessages-index.sql",
)
}
func _1628280060_createUsermessagesIndexSql() (*asset, error) {
bytes, err := _1628280060_createUsermessagesIndexSqlBytes()
if err != nil {
return nil, err
}
info := bindataFileInfo{name: "1628280060_create-usermessages-index.sql", size: 80, mode: os.FileMode(0644), modTime: time.Unix(1684179677, 0)}
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x10, 0x6f, 0x70, 0x47, 0x40, 0xab, 0xa8, 0x60, 0xe0, 0xf9, 0x8, 0x7e, 0x19, 0x9d, 0xba, 0x33, 0x16, 0xfc, 0x3c, 0xdc, 0xa8, 0xa6, 0x53, 0x61, 0x39, 0x82, 0x91, 0xcf, 0x69, 0xd8, 0xf2, 0xcf}}
return a, nil
}
2021-10-01 14:50:16 +00:00
var __1632303896_modify_contacts_tableUpSql = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x9c\x54\xc1\x6e\xa3\x30\x10\xbd\xfb\x2b\x46\x95\xaa\x26\x55\xd5\x2a\x6d\xe2\x3d\xa0\x1c\x68\x70\xb4\xd1\x52\xa8\x80\x68\x7b\xb3\x1c\xe3\x6c\xac\x10\x1c\xc5\x86\xdd\xfc\xfd\x0a\x0a\x09\x64\x8b\xca\x96\x1b\x6f\xe6\x3d\xde\x3c\xcd\x60\xbb\x11\x09\x20\xb2\x9f\x5d\x02\x5c\xa5\x86\x71\xa3\xc1\x76\x1c\x98\xf9\xee\xf2\xc5\x03\x16\xc7\x22\x86\x67\xdf\x77\x89\xed\x81\x43\xe6\xf6\xd2\x8d\x60\x6e\xbb\x21\xb1\xd0\x67\xe4\x0d\xd3\xb4\x14\xa0\x99\xfe\xaa\xc6\x2a\x51\x7c\xdb\x6d\x01\xcd\x02\x62\x47\x04\x16\x9e\x43\xde\xc0\xec\xf6\xf4\x24\xe2\x7b\x27\xc1\xc1\x46\xfc\x19\xe8\xa3\x36\x62\x47\x0d\xfb\xa5\x87\x43\x0b\xa1\xe5\xab\x53\x30\x4f\xfd\x21\x89\xaa\x71\xa7\x30\x82\x9f\xdf\x49\x40\xe0\x92\x07\xee\xe2\x07\x81\x9b\x6b\x3c\xc2\x63\x3c\xc6\x13\x3c\xbe\xbe\xb1\x3e\x54\x6a\xcd\xfe\xb9\xe0\xb7\x47\x3c\xc1\x4f\x78\xd2\x25\x57\xc7\xd0\xc3\xda\x23\xe6\x78\x8d\x9f\xf0\xaa\xb6\xd7\x8a\xa8\x56\x7d\x37\x07\x2a\x3d\x87\x54\x22\xc3\xae\xfe\xd6\x40\x4d\x5a\xb3\xd0\xc9\xae\xfd\x37\x89\x15\xd6\xc9\x49\x14\x67\x09\x4d\x25\xdf\xa6\x6c\x27\x5a\xd4\x76\xe9\x52\xa1\xb9\x06\x34\x16\x89\x30\xa2\xb5\x0d\xa5\xdb\xbb\x3a\xd3\x3b\xf8\x47\x0d\x39\xc4\x25\x11\x81\x79\xe0\xbf\x9c\x68\xe8\x3d\x77\xcf\x8f\xaa\xa4\xc0\xf6\x9c\xf2\xb5\x1e\xe4\x04\xb4\x22\x29\xd1\x0b\xc7\x30\x9d\xc2\xd5\x15\xf8\xc1\xc5\xb7\x61\x11\x82\xb7\x74\xdd\x21\x82\xf2\xa9\x04\x81\xbc\x2d\xc2\x28\x84\x41\x48\x5c\x32\x8b\x60\x54\x39\xdb\x30\x43\x65\x2c\x52\x23\xcd\xf1\xbc\xf8\xb2\xda\x10\x59\xac\x8b\xbc\xaf\x70\x2a\xe3\x7e\xaa\x22\xd5\x34\x17\x07\xb9\x96\x9c\x19\xa9\x52\x7a\x10\x5c\x1d\x62\x0d\x39\x34\x85\xf3\xfb\x7d\xb6\x4a\x24\xa7\x5b\x71\x2c\x22\x7b\xb8\x45\xbf\x55\x96\xc4\xb0\x12\xc0\x95\x4a\xc0\x28\x38\x88\x9d\xca\x05\x98\x8d\xd0\x05\x98\x64\xbb\x54\xa3\x8f\x4f\xde\x09\xfc\xd7\xfa\xe6\x8b\x24\x3a\xfe\x0c\xcd\xb6\xb3\x51\x11\xff\x67\x3b\x65\xa6\x07\x23\x16\xb9\xe4\x82\xca\x74\xad\x7a\x74\x37\x8e\xb1\x47\xb7\x39\xc8\x55\x66\x04\x35\x8a\x1a\x96\x6c\x7b\x30\x12\xa6\x0d\x2d\x86\xe0\xc5\xba\xd1\x9c\x25\x59\x9f\x94\xf6\x1b\x65\x94\x85\x6e\x1f\x10\x2a\xe1\xce\x13\xb1\xba\xea\x16\xfa\x1b\x00\x00\xff\xff\xc7\x82\x3b\x63\x26\x06\x00\x00")
2021-03-24 08:04:03 +00:00
func _1632303896_modify_contacts_tableUpSqlBytes() ([]byte, error) {
return bindataRead(
__1632303896_modify_contacts_tableUpSql,
"1632303896_modify_contacts_table.up.sql",
)
}
func _1632303896_modify_contacts_tableUpSql() (*asset, error) {
bytes, err := _1632303896_modify_contacts_tableUpSqlBytes()
if err != nil {
return nil, err
}
info := bindataFileInfo{name: "1632303896_modify_contacts_table.up.sql", size: 1574, mode: os.FileMode(0644), modTime: time.Unix(1684179677, 0)}
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x81, 0x1e, 0x6c, 0x3c, 0xd, 0xd7, 0x7d, 0xbb, 0x19, 0xbc, 0xe4, 0x7, 0xfd, 0xf8, 0x66, 0x6d, 0x78, 0xf6, 0x4, 0xe6, 0x51, 0xe4, 0xe6, 0xdc, 0xe, 0x5a, 0x2e, 0xac, 0xe6, 0xe7, 0x24, 0x69}}
2021-03-24 08:04:03 +00:00
return a, nil
}
var __1633349838_add_emoji_column_in_chatsUpSql = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x72\xf4\x09\x71\x0d\x52\x08\x71\x74\xf2\x71\x55\x48\xce\x48\x2c\x29\x56\x70\x74\x71\x51\x70\xf6\xf7\x09\xf5\xf5\x53\x48\xcd\xcd\xcf\xca\x54\x08\x71\x8d\x08\x51\x70\x71\x75\x73\x0c\xf5\x09\x51\x50\x52\xb2\xe6\x02\x04\x00\x00\xff\xff\x90\x35\x91\xff\x34\x00\x00\x00")
func _1633349838_add_emoji_column_in_chatsUpSqlBytes() ([]byte, error) {
return bindataRead(
__1633349838_add_emoji_column_in_chatsUpSql,
"1633349838_add_emoji_column_in_chats.up.sql",
)
}
func _1633349838_add_emoji_column_in_chatsUpSql() (*asset, error) {
bytes, err := _1633349838_add_emoji_column_in_chatsUpSqlBytes()
if err != nil {
return nil, err
}
info := bindataFileInfo{name: "1633349838_add_emoji_column_in_chats.up.sql", size: 52, mode: os.FileMode(0644), modTime: time.Unix(1684179677, 0)}
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xcb, 0x33, 0xcb, 0x3b, 0xa9, 0x99, 0x77, 0x6a, 0xea, 0xc4, 0x39, 0xd7, 0xa1, 0x49, 0xa7, 0xdf, 0xff, 0x72, 0xda, 0x34, 0x21, 0x67, 0x66, 0xca, 0x65, 0x46, 0x1, 0xa6, 0x4e, 0xf9, 0x38, 0x86}}
return a, nil
}
var __1634831235_add_highlight_column_in_chatsUpSql = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x72\xf4\x09\x71\x0d\x52\x08\x71\x74\xf2\x71\x55\x48\xce\x48\x2c\x29\x56\x70\x74\x71\x51\x70\xf6\xf7\x09\xf5\xf5\x53\xc8\xc8\x4c\xcf\xc8\xc9\x4c\xcf\x28\x51\x70\xf2\xf7\xf7\x71\x75\xf4\x53\x70\x71\x75\x73\x0c\xf5\x09\x51\x70\x73\xf4\x09\x76\xb5\xe6\x02\x04\x00\x00\xff\xff\xca\x1c\x2b\x08\x3e\x00\x00\x00")
func _1634831235_add_highlight_column_in_chatsUpSqlBytes() ([]byte, error) {
return bindataRead(
__1634831235_add_highlight_column_in_chatsUpSql,
"1634831235_add_highlight_column_in_chats.up.sql",
)
}
func _1634831235_add_highlight_column_in_chatsUpSql() (*asset, error) {
bytes, err := _1634831235_add_highlight_column_in_chatsUpSqlBytes()
if err != nil {
return nil, err
}
info := bindataFileInfo{name: "1634831235_add_highlight_column_in_chats.up.sql", size: 62, mode: os.FileMode(0644), modTime: time.Unix(1684179677, 0)}
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xaa, 0x63, 0x5c, 0x73, 0x19, 0x83, 0xbd, 0x35, 0x80, 0x9f, 0x66, 0xec, 0x4c, 0xbc, 0x9d, 0x2d, 0x52, 0x91, 0x6d, 0xb3, 0x2b, 0x87, 0xde, 0x24, 0x46, 0x5c, 0xd, 0xfd, 0x78, 0xf5, 0xe3, 0xe9}}
return a, nil
}
var __1634896007_add_last_updated_locally_and_removedUpSql = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x72\xf4\x09\x71\x0d\x52\x08\x71\x74\xf2\x71\x55\x48\xce\xcf\x2b\x49\x4c\x2e\x29\x56\x70\x74\x71\x51\x70\xf6\xf7\x09\xf5\xf5\x53\x28\x4a\xcd\xcd\x2f\x4b\x4d\x51\x70\xf2\xf7\xf7\x71\x75\xf4\x53\x70\x71\x75\x73\x0c\xf5\x09\x51\x70\x73\xf4\x09\x76\xb5\xe6\x22\xa4\x3d\x27\xb1\xb8\x24\xbe\xb4\x20\x25\xb1\x24\x35\x25\x3e\x27\x3f\x39\x31\x27\xa7\x52\xc1\xd3\x2f\x04\x6e\x8e\x81\x35\x17\x20\x00\x00\xff\xff\xab\xe8\x7d\xf0\x83\x00\x00\x00")
func _1634896007_add_last_updated_locally_and_removedUpSqlBytes() ([]byte, error) {
return bindataRead(
__1634896007_add_last_updated_locally_and_removedUpSql,
"1634896007_add_last_updated_locally_and_removed.up.sql",
)
}
func _1634896007_add_last_updated_locally_and_removedUpSql() (*asset, error) {
bytes, err := _1634896007_add_last_updated_locally_and_removedUpSqlBytes()
if err != nil {
return nil, err
}
info := bindataFileInfo{name: "1634896007_add_last_updated_locally_and_removed.up.sql", size: 131, mode: os.FileMode(0644), modTime: time.Unix(1684179677, 0)}
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x2e, 0xa8, 0x34, 0xe2, 0xc0, 0x62, 0xc8, 0xd6, 0x5a, 0x87, 0xe3, 0x70, 0xe1, 0xc4, 0x16, 0x9c, 0x60, 0x2e, 0x98, 0xf0, 0x91, 0x84, 0xbe, 0xe0, 0xdf, 0x3e, 0x4d, 0x24, 0xc4, 0x6c, 0x40, 0x17}}
return a, nil
}
2021-10-12 10:33:32 +00:00
var __1635840039_add_clock_read_at_column_in_chatsUpSql = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x7c\xcc\xc1\x6a\x83\x30\x18\x07\xf0\xbb\x4f\xf1\x3f\x6e\xe0\x61\x77\xd9\x21\x33\x19\x08\x59\x1c\x2e\xc2\x6e\x1f\x21\xf9\x68\xa5\x51\xc1\x68\xe9\xe3\x97\x1c\x2a\xf6\xd2\x07\xf8\xfd\x84\xb6\xaa\x83\x15\x5f\x5a\xc1\x9f\xdd\x9a\x20\xa4\x44\xdd\xea\xfe\xc7\x60\x61\x17\x68\xe4\x94\xdc\x89\x13\xb9\x95\x7c\x9c\xfd\x85\xae\x2e\x6e\x8c\xc6\x58\x48\xf5\x2d\x7a\x6d\xf1\x51\x15\xfd\xaf\x14\xf6\x71\xfc\x29\xfb\x1a\x7f\x66\x52\x77\x2a\x93\xc6\x48\xf5\x8f\x38\x7b\x17\x29\x73\x1a\x02\x25\xe6\x89\x46\x9e\xd6\x61\x9e\x38\x1c\x29\x0d\xe1\x86\xd6\x60\x4b\xbc\xec\xfd\xdb\x93\x2e\x91\x79\x89\xdd\x97\x38\x04\xef\x55\x71\x0f\x00\x00\xff\xff\xab\x82\x7c\xe1\xf5\x00\x00\x00")
func _1635840039_add_clock_read_at_column_in_chatsUpSqlBytes() ([]byte, error) {
return bindataRead(
__1635840039_add_clock_read_at_column_in_chatsUpSql,
"1635840039_add_clock_read_at_column_in_chats.up.sql",
)
}
func _1635840039_add_clock_read_at_column_in_chatsUpSql() (*asset, error) {
bytes, err := _1635840039_add_clock_read_at_column_in_chatsUpSqlBytes()
if err != nil {
return nil, err
}
info := bindataFileInfo{name: "1635840039_add_clock_read_at_column_in_chats.up.sql", size: 245, mode: os.FileMode(0644), modTime: time.Unix(1684179677, 0)}
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x6c, 0xba, 0x3f, 0xba, 0x1a, 0x71, 0xa8, 0x9, 0x19, 0xbe, 0x1e, 0x38, 0x50, 0x30, 0x3a, 0x52, 0x15, 0x29, 0xee, 0x49, 0x19, 0x6f, 0x53, 0xc2, 0xc6, 0x6c, 0xd9, 0x80, 0x7e, 0xb9, 0x58, 0x7a}}
2021-10-12 10:33:32 +00:00
return a, nil
}
var __1637852321_add_received_invitation_admin_column_in_chatsUpSql = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x72\xf4\x09\x71\x0d\x52\x08\x71\x74\xf2\x71\x55\x48\xce\x48\x2c\x29\x56\x70\x74\x71\x51\x70\xf6\xf7\x09\xf5\xf5\x53\x28\x4a\x4d\x4e\xcd\x2c\x4b\x4d\x89\xcf\xcc\x2b\xcb\x2c\x49\x2c\xc9\xcc\xcf\x8b\x4f\x4c\xc9\xcd\xcc\x53\x08\x71\x8d\x08\x51\x70\x71\x75\x73\x0c\xf5\x09\x51\x50\x52\xb2\xe6\x02\x04\x00\x00\xff\xff\xe2\x70\xa1\x0b\x48\x00\x00\x00")
func _1637852321_add_received_invitation_admin_column_in_chatsUpSqlBytes() ([]byte, error) {
return bindataRead(
__1637852321_add_received_invitation_admin_column_in_chatsUpSql,
"1637852321_add_received_invitation_admin_column_in_chats.up.sql",
)
}
func _1637852321_add_received_invitation_admin_column_in_chatsUpSql() (*asset, error) {
bytes, err := _1637852321_add_received_invitation_admin_column_in_chatsUpSqlBytes()
if err != nil {
return nil, err
}
info := bindataFileInfo{name: "1637852321_add_received_invitation_admin_column_in_chats.up.sql", size: 72, mode: os.FileMode(0644), modTime: time.Unix(1684179677, 0)}
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x70, 0x8b, 0x92, 0x56, 0x83, 0x70, 0x7f, 0x6, 0xb2, 0xd, 0x1c, 0x2f, 0xcc, 0x93, 0xc3, 0x85, 0x8c, 0xc2, 0x38, 0x94, 0x7e, 0x88, 0x3f, 0x39, 0x34, 0xf8, 0x90, 0xcf, 0x83, 0x68, 0x3d, 0xe5}}
2022-02-17 15:13:10 +00:00
return a, nil
}
var __1645034601_display_nameUpSql = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x72\xf4\x09\x71\x0d\x52\x08\x71\x74\xf2\x71\x55\x48\xce\xcf\x2b\x49\x4c\x2e\x29\x56\x70\x74\x71\x51\x70\xf6\xf7\x09\xf5\xf5\x53\x48\xc9\x2c\x2e\xc8\x49\xac\x8c\xcf\x4b\xcc\x4d\x55\x08\x71\x8d\x08\x51\xf0\xf3\x0f\x51\xf0\x0b\xf5\xf1\x51\x70\x71\x75\x73\x0c\xf5\x09\x51\x50\x52\xb2\xe6\x0a\x0d\x70\x71\x0c\x41\x32\x21\xd8\x35\x04\x55\xab\x2d\x58\x19\x20\x00\x00\xff\xff\xb1\x9a\x55\xd1\x6e\x00\x00\x00")
func _1645034601_display_nameUpSqlBytes() ([]byte, error) {
return bindataRead(
__1645034601_display_nameUpSql,
"1645034601_display_name.up.sql",
)
}
func _1645034601_display_nameUpSql() (*asset, error) {
bytes, err := _1645034601_display_nameUpSqlBytes()
if err != nil {
return nil, err
}
info := bindataFileInfo{name: "1645034601_display_name.up.sql", size: 110, mode: os.FileMode(0644), modTime: time.Unix(1684179677, 0)}
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x15, 0xfc, 0xda, 0x70, 0x53, 0x19, 0x90, 0x20, 0x4, 0x1c, 0x99, 0x42, 0x53, 0x1a, 0xd6, 0xb8, 0xbb, 0x8a, 0xe8, 0xbe, 0xcc, 0xb7, 0xc, 0x7f, 0x73, 0x50, 0x18, 0xf1, 0x8b, 0x18, 0x54, 0x64}}
return a, nil
}
var __1645034602_add_mutual_contact_requestUpSql = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x8c\x90\xc1\x6a\xc3\x30\x10\x44\xef\xfa\x8a\x3d\xda\x90\x3f\xf0\x49\xb6\x05\x35\x55\xa4\x22\x94\xd2\x9c\x84\x50\x17\x23\x52\x3b\xad\x77\x7d\xe8\xdf\x97\xd0\x24\x44\xd0\x94\x9c\x67\xde\xec\xec\x74\x4e\x49\xaf\xc0\xcb\x56\x2b\x48\xc7\x99\x63\xe2\xb0\xe0\xd7\x8a\xc4\x04\x95\x00\xa0\x3c\xce\x79\x1e\xc3\x01\xbf\xe1\x55\xba\xee\x49\x3a\x30\xd6\x83\xd9\x69\xbd\x11\x70\x85\xee\xe9\x27\x3e\xf2\xba\x20\xb4\xda\xb6\x85\xc4\x79\x42\xe2\x38\x7d\xc2\x60\x7c\xa1\xbc\xb8\x61\x2b\xdd\x1e\x9e\xd5\x1e\xaa\x9b\x06\x9b\xdb\x73\xb5\xa8\x1b\x21\xa4\xf6\xca\x95\x0f\x10\xc8\xbe\x87\xce\xea\xdd\xd6\x5c\x81\x09\x89\xe2\x88\x21\xbf\x5f\x6a\x36\x0f\xb3\xe7\x41\x42\xfa\x38\xa6\xc3\xa9\x6c\x89\xae\x84\xcb\x25\xff\x5f\x9e\x38\x32\xfe\xf2\xe2\xbc\xfc\x60\x7a\xf5\x76\xc7\x68\x4d\x19\x5d\xfd\x69\xab\x1b\xf1\x13\x00\x00\xff\xff\xdb\x9e\x87\x1a\xc6\x01\x00\x00")
func _1645034602_add_mutual_contact_requestUpSqlBytes() ([]byte, error) {
return bindataRead(
__1645034602_add_mutual_contact_requestUpSql,
"1645034602_add_mutual_contact_request.up.sql",
)
}
func _1645034602_add_mutual_contact_requestUpSql() (*asset, error) {
bytes, err := _1645034602_add_mutual_contact_requestUpSqlBytes()
if err != nil {
return nil, err
}
info := bindataFileInfo{name: "1645034602_add_mutual_contact_request.up.sql", size: 454, mode: os.FileMode(0644), modTime: time.Unix(1684179677, 0)}
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x1a, 0xe0, 0x5d, 0x68, 0xb8, 0x50, 0xa4, 0xbb, 0x3e, 0x4f, 0x2, 0x87, 0xad, 0x87, 0x6e, 0x38, 0xdf, 0xc8, 0x4c, 0xe2, 0x5f, 0xd1, 0x6, 0xdc, 0xe7, 0xbd, 0x4a, 0x9c, 0xf3, 0x91, 0xa1, 0x51}}
return a, nil
}
var __1650373957_add_contact_request_stateUpSql = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x72\xf4\x09\x71\x0d\x52\x08\x71\x74\xf2\x71\x55\x48\xce\xcf\x2b\x49\x4c\x2e\x29\x56\x70\x74\x71\x51\x70\xf6\xf7\x09\xf5\xf5\x83\x89\xc5\x17\xa5\x16\x96\xa6\x16\x97\xc4\x17\x97\x24\x96\xa4\x2a\x78\xfa\x85\x58\x73\x01\x02\x00\x00\xff\xff\x0c\x1a\x7b\x73\x3b\x00\x00\x00")
func _1650373957_add_contact_request_stateUpSqlBytes() ([]byte, error) {
return bindataRead(
__1650373957_add_contact_request_stateUpSql,
"1650373957_add_contact_request_state.up.sql",
)
}
func _1650373957_add_contact_request_stateUpSql() (*asset, error) {
bytes, err := _1650373957_add_contact_request_stateUpSqlBytes()
if err != nil {
return nil, err
}
info := bindataFileInfo{name: "1650373957_add_contact_request_state.up.sql", size: 59, mode: os.FileMode(0644), modTime: time.Unix(1684179677, 0)}
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x5e, 0xc1, 0x3f, 0x29, 0xe, 0x19, 0x86, 0x1a, 0x4c, 0x6c, 0x2a, 0x90, 0x9d, 0xdf, 0xb1, 0xb, 0x72, 0x25, 0xcd, 0x6c, 0x5f, 0xd, 0x51, 0x9e, 0x85, 0xc0, 0x9, 0xb7, 0xbc, 0x87, 0x23, 0xec}}
return a, nil
}
var __1656958989_contact_verificationUpSql = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x84\x91\xc1\x6e\xea\x30\x10\x45\xf7\xfe\x8a\xbb\x04\x89\x05\xfb\xe8\x2d\xfc\x12\xa3\x5a\x35\x0e\x75\xc6\x02\x56\x28\x0a\xa6\x8d\x44\x13\x88\x9d\x7e\x7f\x65\x52\x28\x48\x40\x97\x96\xef\x9d\x39\x47\xc3\x15\x09\x03\xe2\xff\x95\x40\xd5\x36\xa1\xac\x82\x07\xcf\x32\xa4\xb9\xb2\x73\x8d\x2f\xd7\xd5\xbb\xba\x2a\x43\xdd\x36\x1b\x1f\xca\xd0\x7b\x48\x4d\xc8\xc4\x8c\x5b\x45\x98\x26\x8c\xd9\x45\xc6\xe9\xaa\x5e\x08\xba\xdb\xfb\x87\x69\x02\x30\x96\x1a\x11\xf3\xc3\x52\x39\x83\xce\x09\x62\x25\x0b\x2a\x10\xba\xde\x07\xb7\xdd\xf4\xde\x75\x1e\x23\x06\xd4\x5b\x90\x58\x11\x16\x46\xce\xb9\x59\xe3\x55\xac\x91\x6b\xa4\xb9\x9e\x29\x99\x12\x8c\x58\x28\x9e\x8a\x09\xc3\x50\xbe\x86\x8c\x83\xb5\x55\xea\x97\x36\xc6\xfa\xc3\xb6\x8c\x3b\xca\xf0\x20\xc4\xc6\x58\x4a\x7a\xc9\x2d\xc1\xe4\x4b\x99\x25\x4f\x91\x6f\x4c\x3b\x77\xec\x9d\x0f\x03\xfa\xae\x6b\x3f\x4f\x26\x27\x83\x13\x61\x7b\xfb\xae\x3e\xca\xfd\xde\x35\xef\x6e\x70\x3c\xa3\xc4\xaf\x9f\x49\xcf\x38\x87\x98\x3f\xb4\x8d\x77\x97\x91\x9d\x3b\xec\xeb\xbf\x5a\x8f\xae\x7a\x3f\x9d\xe6\xba\x20\xc3\x63\x20\x2a\x45\x89\xa6\x3e\xf6\x0e\x56\xcb\x37\x2b\x30\xba\x88\x4e\xce\x86\xe3\x7b\x37\x62\xe3\x84\x7d\x07\x00\x00\xff\xff\x72\xf9\xde\x4a\x70\x02\x00\x00")
func _1656958989_contact_verificationUpSqlBytes() ([]byte, error) {
return bindataRead(
__1656958989_contact_verificationUpSql,
"1656958989_contact_verification.up.sql",
)
}
func _1656958989_contact_verificationUpSql() (*asset, error) {
bytes, err := _1656958989_contact_verificationUpSqlBytes()
if err != nil {
return nil, err
}
info := bindataFileInfo{name: "1656958989_contact_verification.up.sql", size: 624, mode: os.FileMode(0644), modTime: time.Unix(1684179677, 0)}
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x3a, 0x3f, 0x28, 0x38, 0x33, 0xdb, 0xe9, 0x4d, 0xc0, 0x54, 0x8c, 0x2a, 0x73, 0xc4, 0xdd, 0x5c, 0xc5, 0x1a, 0x93, 0x4b, 0x6, 0x13, 0xbe, 0x42, 0xd2, 0x7f, 0xd4, 0xc, 0xc5, 0x4e, 0x6d, 0xce}}
return a, nil
}
var __1658236268_add_discord_message_authors_tableUpSql = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x64\xcc\xc1\x0a\x82\x40\x10\xc6\xf1\xfb\x3e\xc5\x77\x2c\xe8\x0d\x3a\x59\x6d\xb4\x64\x1a\xeb\x88\x7a\x92\x41\xa5\x96\x52\x61\x76\xed\xf9\x43\x83\x08\xba\xfe\x66\xfe\xdf\xde\xea\x88\x34\x28\xda\xc5\x1a\xe6\x88\x24\x25\xe8\xd2\x64\x94\xa1\x75\xbe\x19\xa5\xad\xfb\xce\x7b\xbe\x75\x35\x4f\xe1\x3e\x8a\xc7\x4a\x01\xae\x05\xe9\x92\x70\xb5\xe6\x12\xd9\x0a\x67\x5d\x2d\x69\x92\xc7\xf1\x46\x01\x03\xf7\xdd\xe7\xe3\x57\xe7\x45\x71\xbd\x1b\x38\x8c\xf2\x7f\x1e\x5c\xf3\xf8\x86\x33\xf0\x8b\x03\x4b\x3d\xc9\x73\x21\xb5\x46\x61\xe8\x94\xe6\x04\x9b\x16\xe6\xb0\x55\xea\x1d\x00\x00\xff\xff\x8d\xc7\xa3\xca\xbf\x00\x00\x00")
func _1658236268_add_discord_message_authors_tableUpSqlBytes() ([]byte, error) {
return bindataRead(
__1658236268_add_discord_message_authors_tableUpSql,
"1658236268_add_discord_message_authors_table.up.sql",
)
}
func _1658236268_add_discord_message_authors_tableUpSql() (*asset, error) {
bytes, err := _1658236268_add_discord_message_authors_tableUpSqlBytes()
if err != nil {
return nil, err
}
info := bindataFileInfo{name: "1658236268_add_discord_message_authors_table.up.sql", size: 191, mode: os.FileMode(0644), modTime: time.Unix(1684179677, 0)}
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x3d, 0xb7, 0xdb, 0x79, 0x1, 0x15, 0xe7, 0x76, 0x5d, 0x22, 0x54, 0x82, 0x9a, 0xbe, 0x24, 0xc1, 0x82, 0xcf, 0x67, 0x91, 0x53, 0xcc, 0xac, 0x74, 0x18, 0x61, 0x69, 0x68, 0x19, 0xca, 0x2b, 0xa8}}
return a, nil
}
var __1659619997_add_discord_messages_tableUpSql = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x6c\xcf\x41\x6b\xc2\x30\x1c\x05\xf0\x7b\x3e\xc5\xc3\xd3\x06\xfb\x06\x9e\xb2\x36\x62\x58\x6c\x47\xfc\x77\xea\xa9\x94\xe6\x3f\x2d\xd8\x54\x92\xf4\xb0\x6f\x3f\x2a\xeb\x50\xf1\x98\xfc\xf2\xde\x23\xd2\x90\xb2\x20\xf9\x6e\x14\xc6\xc8\xa1\xee\x39\xc6\xe6\xc8\x11\x32\xcf\x91\x95\xa6\xda\x14\x70\x5d\x6c\x87\xe0\x66\xab\x3b\x07\x52\x7b\x42\xae\x56\xb2\x32\x84\xc5\x62\x29\x44\x66\x95\x24\xf5\x57\xa5\x57\x28\x4a\x82\xda\xeb\x2d\x6d\x1f\xf3\x11\x2f\x02\x98\x4b\x3e\xad\xde\x48\x7b\xc0\x87\x3a\x5c\x33\x45\x65\xcc\x9b\x00\x9a\x31\x9d\x86\xf0\xbf\x75\x4b\xe9\xe7\xc2\xf8\x92\x36\x5b\x4b\x7b\x0f\x5d\xcf\x31\x35\xfd\x05\xba\xa0\xe7\x52\xb3\xeb\x12\xbb\xe9\xc1\x74\xdf\x0e\x3e\xb1\x4f\xd7\x8d\xe9\x1c\xf8\x9b\x03\xfb\x96\x1f\x3f\x7b\x8f\xed\xa9\xf1\x9e\xcf\xcf\xf1\x38\x76\x67\x37\x93\x78\xc5\x4e\xd3\xba\xac\x08\xb6\xdc\xe9\x7c\x29\x7e\x03\x00\x00\xff\xff\x0b\x32\xec\x85\x73\x01\x00\x00")
func _1659619997_add_discord_messages_tableUpSqlBytes() ([]byte, error) {
return bindataRead(
__1659619997_add_discord_messages_tableUpSql,
"1659619997_add_discord_messages_table.up.sql",
)
}
func _1659619997_add_discord_messages_tableUpSql() (*asset, error) {
bytes, err := _1659619997_add_discord_messages_tableUpSqlBytes()
if err != nil {
return nil, err
}
info := bindataFileInfo{name: "1659619997_add_discord_messages_table.up.sql", size: 371, mode: os.FileMode(0644), modTime: time.Unix(1684179677, 0)}
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xde, 0x12, 0x9c, 0x96, 0xe2, 0x42, 0x3f, 0x94, 0x62, 0xc2, 0x76, 0xab, 0x3b, 0x4c, 0x85, 0x36, 0x48, 0xcc, 0x73, 0x60, 0x93, 0x5a, 0xd6, 0x7, 0xd6, 0x0, 0xee, 0x1b, 0x1e, 0x34, 0x58, 0x99}}
return a, nil
}
2022-08-02 12:56:26 +00:00
var __1660226788_create_chat_identity_social_linksUpSql = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x8c\x8e\x41\x6a\xc3\x30\x10\x45\xf7\x3a\xc5\x5f\xc6\x90\x1b\x64\xa5\x8a\x09\x15\x55\xe5\x54\x19\x97\x64\x25\x84\x22\xa8\x88\x88\xc1\x96\x4d\x7b\xfb\xe2\xd2\xba\x9b\x52\xb2\x7d\x33\x6f\xe6\x29\x47\x92\x09\x2c\x1f\x0c\x41\xef\x61\x5b\x06\x9d\xf4\x91\x8f\x88\x6f\xa1\xfa\x7c\x49\xb7\x9a\xeb\x87\x1f\xfb\x98\x43\xf1\x25\xdf\xae\x23\x36\x02\x3f\x63\xbc\x4a\xa7\x1e\xa5\xfb\x32\x6d\x67\xcc\x56\x00\xcb\x96\xaf\xe9\xbd\x82\xe9\xc4\x2b\x99\x86\xb2\x82\xce\xea\x97\x8e\x36\xdf\x57\xb6\xbf\x4a\x83\xd6\x42\xb5\x76\x6f\xb4\x62\x38\x3a\x18\xa9\x48\x34\x3b\x21\xee\x6e\x2d\x61\xac\x7e\x48\x31\xe5\x39\x5d\xfe\x8d\xc5\xc1\xe9\x67\xe9\xce\x78\xa2\xf3\x5f\x7f\x97\xd2\x58\xfa\x78\xf5\x73\x28\x53\x82\xb6\xbc\xba\xa2\xd9\x7d\x06\x00\x00\xff\xff\x93\xc8\x9a\xf7\x3e\x01\x00\x00")
func _1660226788_create_chat_identity_social_linksUpSqlBytes() ([]byte, error) {
return bindataRead(
__1660226788_create_chat_identity_social_linksUpSql,
"1660226788_create_chat_identity_social_links.up.sql",
)
}
func _1660226788_create_chat_identity_social_linksUpSql() (*asset, error) {
bytes, err := _1660226788_create_chat_identity_social_linksUpSqlBytes()
if err != nil {
return nil, err
}
info := bindataFileInfo{name: "1660226788_create_chat_identity_social_links.up.sql", size: 318, mode: os.FileMode(0644), modTime: time.Unix(1684179677, 0)}
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x3c, 0x76, 0x40, 0xe9, 0x85, 0xc4, 0x38, 0xf8, 0xe5, 0x5d, 0xe8, 0x13, 0x46, 0x1b, 0xc, 0x1, 0xe9, 0x2f, 0x74, 0xd1, 0x79, 0x59, 0xa4, 0xdb, 0x4a, 0x4a, 0xf4, 0x98, 0x58, 0x3c, 0x57, 0xd3}}
2022-08-02 12:56:26 +00:00
return a, nil
}
var __1660226789_add_walletconnectsessions_tableUpSql = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x64\xcb\x31\x8b\x83\x30\x18\x87\xf1\x3d\x9f\xe2\x3f\xde\xc1\x2d\x37\xdf\x94\xb3\xaf\x10\x1a\xad\xc4\x57\xd0\x29\x04\x7d\x0b\x82\x8d\x62\xd2\xf6\xeb\x17\x3a\x74\x71\x7d\x7e\x3c\x85\x23\xcd\x04\xd6\xff\x96\x60\x4a\xd4\x17\x06\xf5\xa6\xe5\x16\xcf\xb0\x2c\x92\xfd\xb8\xc6\x28\x63\xf6\x8f\x5f\x9f\x24\xa5\x79\x8d\x09\x5f\x0a\xd8\x44\x76\x3f\x4f\x68\x9c\xa9\xb4\x1b\x70\xa6\xe1\x7d\xd7\x9d\xb5\x3f\x0a\x98\xc2\xb6\xf9\x18\x6e\x02\xa6\x9e\x8f\x74\xdf\x97\xa3\xcc\xf1\xba\x1e\xeb\xb8\x4b\xc8\x32\xf9\x90\xc1\xa6\xa2\x96\x75\xd5\xe0\x44\xa5\xee\x2c\xa3\xe8\x9c\xa3\x9a\xfd\x47\xd4\xf7\x9f\x7a\x05\x00\x00\xff\xff\x0e\x47\x6e\x3f\xd7\x00\x00\x00")
func _1660226789_add_walletconnectsessions_tableUpSqlBytes() ([]byte, error) {
return bindataRead(
__1660226789_add_walletconnectsessions_tableUpSql,
"1660226789_add_walletconnectsessions_table.up.sql",
)
}
func _1660226789_add_walletconnectsessions_tableUpSql() (*asset, error) {
bytes, err := _1660226789_add_walletconnectsessions_tableUpSqlBytes()
if err != nil {
return nil, err
}
info := bindataFileInfo{name: "1660226789_add_walletconnectsessions_table.up.sql", size: 215, mode: os.FileMode(0644), modTime: time.Unix(1684179677, 0)}
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xf8, 0x5c, 0x72, 0x2, 0xed, 0x36, 0x19, 0x91, 0x4d, 0x1a, 0xc1, 0xab, 0x84, 0xfa, 0x41, 0xb1, 0x46, 0xa5, 0xdb, 0x3f, 0x76, 0x47, 0xd3, 0x75, 0x3c, 0x6a, 0x8e, 0x78, 0xe6, 0x41, 0xdc, 0x7f}}
return a, nil
}
var __1661242854_add_communities_requests_to_leaveUpSql = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x6c\x8d\xb1\xce\x82\x30\x18\x45\xf7\x3e\xc5\x1d\x21\xf9\xdf\xe0\x9f\x4a\xf3\x11\x1b\x6b\x4b\x4a\x35\x32\x35\x5a\x3a\x34\x80\xa8\x80\x09\x6f\x6f\x62\x5c\x48\x5c\xef\xcd\x39\x47\x58\xe2\x8e\xe0\x78\xa1\x08\xb2\x84\x36\x0e\x74\x96\xb5\xab\x11\xc6\x61\x58\x6e\x69\x4e\x71\xf2\xcf\xf8\x58\xe2\x34\x4f\x7e\x1e\x7d\x1f\x2f\xaf\x88\x8c\x01\xa9\x45\xa1\x4c\xf1\x81\xf4\x51\xa9\x3f\x06\xdc\x97\x6b\x9f\x82\xef\xe2\x8a\x13\xb7\x62\xc7\xed\xe6\x0e\xfd\x18\x3a\x48\xed\xb6\xeb\x37\xb5\xfa\x5f\xca\xca\xca\x03\xb7\x0d\xf6\xd4\x20\x4b\x6d\x0e\xa3\x21\x8c\x2e\x95\x14\x0e\x96\x2a\xc5\x05\xb1\xfc\x9f\xbd\x03\x00\x00\xff\xff\xc1\xbf\x3e\x0f\xcc\x00\x00\x00")
func _1661242854_add_communities_requests_to_leaveUpSqlBytes() ([]byte, error) {
return bindataRead(
__1661242854_add_communities_requests_to_leaveUpSql,
"1661242854_add_communities_requests_to_leave.up.sql",
)
}
func _1661242854_add_communities_requests_to_leaveUpSql() (*asset, error) {
bytes, err := _1661242854_add_communities_requests_to_leaveUpSqlBytes()
if err != nil {
return nil, err
}
info := bindataFileInfo{name: "1661242854_add_communities_requests_to_leave.up.sql", size: 204, mode: os.FileMode(0644), modTime: time.Unix(1684179677, 0)}
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x49, 0x2e, 0x7d, 0x14, 0xef, 0x6e, 0x95, 0x4b, 0x6, 0x70, 0x2e, 0xd1, 0xf6, 0x59, 0xf9, 0xe, 0x56, 0xa, 0x9c, 0x80, 0x18, 0xca, 0xb9, 0x49, 0x19, 0xf, 0x89, 0x94, 0x36, 0x6d, 0x93, 0x9a}}
return a, nil
}
var __1662044232_add_chat_imageUpSql = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x72\xf4\x09\x71\x0d\x52\x08\x71\x74\xf2\x71\x55\x48\xce\x48\x2c\x29\x56\x70\x74\x71\x51\x70\xf6\xf7\x09\xf5\xf5\x53\xc8\xcc\x4d\x4c\x4f\x8d\x2f\x48\xac\xcc\xc9\x4f\x4c\x51\x70\xf2\xf1\x77\xb2\xe6\x02\x04\x00\x00\xff\xff\x5c\x94\x74\xdb\x31\x00\x00\x00")
func _1662044232_add_chat_imageUpSqlBytes() ([]byte, error) {
return bindataRead(
__1662044232_add_chat_imageUpSql,
"1662044232_add_chat_image.up.sql",
)
}
func _1662044232_add_chat_imageUpSql() (*asset, error) {
bytes, err := _1662044232_add_chat_imageUpSqlBytes()
if err != nil {
return nil, err
}
info := bindataFileInfo{name: "1662044232_add_chat_image.up.sql", size: 49, mode: os.FileMode(0644), modTime: time.Unix(1684179677, 0)}
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xb3, 0x74, 0xdf, 0x50, 0x79, 0x73, 0x9e, 0xd0, 0xff, 0xa4, 0xd3, 0x87, 0xc3, 0x48, 0x31, 0x6c, 0xdf, 0xa6, 0x20, 0x85, 0xe6, 0x4e, 0x19, 0x9d, 0xef, 0xcc, 0x84, 0x2b, 0x5d, 0x44, 0x34, 0x6}}
return a, nil
}
var __1662106895_add_chat_first_message_timestampUpSql = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x72\xf4\x09\x71\x0d\x52\x08\x71\x74\xf2\x71\x55\x48\xce\x48\x2c\x29\x56\x70\x74\x71\x51\x70\xf6\xf7\x09\xf5\xf5\x53\x48\xcb\x2c\x2a\x2e\x89\xcf\x4d\x2d\x2e\x4e\x4c\x4f\x8d\x2f\xc9\xcc\x4d\x2d\x2e\x49\xcc\x2d\x50\xf0\xf4\x0b\x51\x70\x71\x75\x73\x0c\xf5\x09\x51\x30\xb0\xe6\x0a\x0d\x70\x71\x0c\x81\x69\x0f\x76\x0d\xc1\xa9\xcf\x56\xc1\xc0\x1a\x10\x00\x00\xff\xff\x2f\xa5\x56\xd7\x71\x00\x00\x00")
func _1662106895_add_chat_first_message_timestampUpSqlBytes() ([]byte, error) {
return bindataRead(
__1662106895_add_chat_first_message_timestampUpSql,
"1662106895_add_chat_first_message_timestamp.up.sql",
)
}
func _1662106895_add_chat_first_message_timestampUpSql() (*asset, error) {
bytes, err := _1662106895_add_chat_first_message_timestampUpSqlBytes()
if err != nil {
return nil, err
}
info := bindataFileInfo{name: "1662106895_add_chat_first_message_timestamp.up.sql", size: 113, mode: os.FileMode(0644), modTime: time.Unix(1684179677, 0)}
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x8b, 0x55, 0x74, 0xfa, 0xf5, 0x51, 0x85, 0x19, 0xfd, 0xfb, 0x6, 0x79, 0x4d, 0x1d, 0xd, 0x3, 0x46, 0x66, 0x34, 0x1e, 0xce, 0x91, 0x21, 0x29, 0xf6, 0x71, 0xe7, 0x31, 0x39, 0x8f, 0x9d, 0x5}}
return a, nil
}
var __1662723928_add_discord_author_image_fieldsUpSql = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x72\xf4\x09\x71\x0d\x52\x08\x71\x74\xf2\x71\x55\x48\xc9\x2c\x4e\xce\x2f\x4a\x89\xcf\x4d\x2d\x2e\x4e\x4c\x4f\x8d\x4f\x2c\x2d\xc9\xc8\x2f\x2a\x56\x70\x74\x71\x51\x70\xf6\xf7\x09\xf5\xf5\x53\x48\x2c\x4b\x2c\x49\x2c\x8a\xcf\xcc\x05\xc9\x17\x24\x56\xe6\xe4\x27\xa6\x28\x38\xf9\xf8\x3b\x59\x73\x71\x01\x02\x00\x00\xff\xff\x2f\xb6\x3a\xc5\x4b\x00\x00\x00")
func _1662723928_add_discord_author_image_fieldsUpSqlBytes() ([]byte, error) {
return bindataRead(
__1662723928_add_discord_author_image_fieldsUpSql,
"1662723928_add_discord_author_image_fields.up.sql",
)
}
func _1662723928_add_discord_author_image_fieldsUpSql() (*asset, error) {
bytes, err := _1662723928_add_discord_author_image_fieldsUpSqlBytes()
if err != nil {
return nil, err
}
info := bindataFileInfo{name: "1662723928_add_discord_author_image_fields.up.sql", size: 75, mode: os.FileMode(0644), modTime: time.Unix(1684179677, 0)}
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x1e, 0x5b, 0x48, 0x57, 0x98, 0x55, 0x9a, 0xf1, 0x75, 0xf7, 0xb5, 0x41, 0x5e, 0x96, 0xc5, 0xce, 0xfc, 0x30, 0x5c, 0x15, 0x35, 0x9e, 0x4e, 0x4a, 0x3b, 0x38, 0x42, 0xc4, 0x27, 0x3c, 0x87, 0xbf}}
return a, nil
}
2022-09-28 11:42:17 +00:00
var __1664195977_add_deleted_for_mesUpSql = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x7c\x8e\x41\x6a\xc3\x30\x10\x45\xf7\x3a\xc5\x5f\xda\x90\x1b\x64\x35\xb1\x26\xad\xe9\x44\x2a\xaa\x5c\x9a\x95\x28\xd6\xb4\x98\xa6\x18\xa2\xf8\xfe\xa5\x60\x30\x2e\x6e\xd6\x6f\xde\xfc\x47\x12\x39\x20\xd2\x41\x18\x53\xd1\x6b\xfa\xd6\x52\xde\x3f\xb5\x80\xac\x45\xe3\xa5\x3b\x39\x64\xbd\xe8\x4d\x73\xfa\x18\x7f\x39\x0e\xde\x0b\x2c\x1f\xa9\x93\x88\x23\xc9\x0b\xef\x8d\x69\x02\x53\xe4\xad\x4f\x69\xad\x17\x54\x06\xe8\x2f\x63\xff\x85\xd6\x45\x7e\xe0\x00\xe7\x23\x5c\x27\xb2\x33\xc0\xac\xa5\x21\xe3\x95\x42\xf3\x48\x6b\x5c\xc6\xe9\xda\xeb\x26\xfa\xc7\x78\x0e\xed\x89\xc2\x19\x4f\x7c\xae\x86\x5c\x9b\x7a\xa9\x6d\x9d\xe5\xb7\xfb\xb5\x69\xe9\x49\xf3\xb6\x77\x7f\x14\xcd\xc3\xad\x54\xcb\xe1\x6e\xae\xac\xf7\xe6\x27\x00\x00\xff\xff\x2f\xc2\xbe\x8e\x60\x01\x00\x00")
func _1664195977_add_deleted_for_mesUpSqlBytes() ([]byte, error) {
return bindataRead(
__1664195977_add_deleted_for_mesUpSql,
"1664195977_add_deleted_for_mes.up.sql",
)
}
func _1664195977_add_deleted_for_mesUpSql() (*asset, error) {
bytes, err := _1664195977_add_deleted_for_mesUpSqlBytes()
if err != nil {
return nil, err
}
info := bindataFileInfo{name: "1664195977_add_deleted_for_mes.up.sql", size: 352, mode: os.FileMode(0644), modTime: time.Unix(1684179677, 0)}
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x7d, 0x9d, 0x13, 0x9, 0xaa, 0x44, 0x14, 0x93, 0xe2, 0xf5, 0x53, 0xb7, 0x79, 0xa8, 0x18, 0xf0, 0x6c, 0xa4, 0x9c, 0x73, 0xc1, 0xaa, 0xc5, 0x2e, 0xc5, 0x41, 0xd7, 0x24, 0xb0, 0xd7, 0xb8, 0xdf}}
2022-09-28 11:42:17 +00:00
return a, nil
}
var __1664367420_add_discord_attachments_tableUpSql = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x7c\x90\xc1\x4e\xc3\x30\x0c\x86\xef\x79\x8a\xff\xc8\x24\xde\x60\xa7\x96\x05\x11\x51\x12\xd4\x79\x5a\x77\x8a\x42\x63\x20\x52\x93\x4e\x4b\x90\x28\x4f\x8f\x80\x55\x1a\xaa\xe0\x68\xff\xfe\x2c\x7f\xbe\x69\x65\x45\x12\x54\xd5\x8d\x84\xba\x85\x36\x04\xd9\xa9\x2d\x6d\xe1\x43\xee\xc7\x93\xb7\x91\x73\x76\x2f\x6c\x5d\x29\xae\x7f\x8d\x9c\x4a\xc6\x95\x00\x82\x07\xc9\x8e\xf0\xd8\xaa\x87\xaa\x3d\xe0\x5e\x1e\xbe\x71\xbd\x6b\x9a\x6b\x81\x05\x3f\xcf\xcf\xf9\xdb\x69\x38\x37\x2e\xa0\xe7\x30\xb0\x4d\x2e\xf2\x1f\x51\x0e\x1f\x6c\x9f\xa6\xc2\x19\x4a\xff\xce\x8f\x6e\x1a\x46\xe7\x51\x37\xa6\xfe\xaa\xfb\x31\x15\x4e\xc5\x96\xe9\xf8\xb3\x4d\xac\xb0\x57\x74\x67\x76\x84\xd6\xec\xd5\x66\x2d\xc4\x59\x5f\xe9\x8d\xec\xe0\xe3\xa5\xe3\x7c\x77\xb6\xc1\xbf\xc3\xe8\xff\xff\xb1\x94\x5d\xad\x85\xf8\x0c\x00\x00\xff\xff\xec\xb0\x4b\x53\x5e\x01\x00\x00")
func _1664367420_add_discord_attachments_tableUpSqlBytes() ([]byte, error) {
return bindataRead(
__1664367420_add_discord_attachments_tableUpSql,
"1664367420_add_discord_attachments_table.up.sql",
)
}
func _1664367420_add_discord_attachments_tableUpSql() (*asset, error) {
bytes, err := _1664367420_add_discord_attachments_tableUpSqlBytes()
if err != nil {
return nil, err
}
info := bindataFileInfo{name: "1664367420_add_discord_attachments_table.up.sql", size: 350, mode: os.FileMode(0644), modTime: time.Unix(1684179677, 0)}
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x48, 0xe1, 0xb6, 0x4f, 0x6f, 0x92, 0x0, 0xb4, 0xf, 0x55, 0x12, 0x1c, 0x98, 0x6d, 0xbc, 0x1e, 0xfd, 0xae, 0x1c, 0xce, 0xd1, 0x3d, 0x2, 0x21, 0x2e, 0xc0, 0x13, 0xa, 0xb2, 0xec, 0x81, 0x13}}
return a, nil
}
var __1665079662_add_spectated_column_in_communitiesUpSql = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x4c\xc6\x31\x0e\x02\x21\x10\x05\xd0\xde\x53\xfc\x7b\x58\x0d\x32\x54\x5f\x26\xd1\xa1\x36\x06\x29\x28\x70\x37\x81\xbd\xff\xb6\xdb\x3d\xa1\xeb\x0b\x2e\x81\x8a\xba\x8d\x71\xfc\xfb\xea\x6d\x7e\x2e\x86\xc4\x88\x87\xb1\x3c\x33\xe6\xde\xea\xfa\xae\xf6\x43\x30\x23\xb2\x39\x72\x21\x11\x35\x49\xa1\x23\x09\xdf\x7a\xbf\x9d\x01\x00\x00\xff\xff\xe5\x76\xfe\x9f\x56\x00\x00\x00")
func _1665079662_add_spectated_column_in_communitiesUpSqlBytes() ([]byte, error) {
return bindataRead(
__1665079662_add_spectated_column_in_communitiesUpSql,
"1665079662_add_spectated_column_in_communities.up.sql",
)
}
func _1665079662_add_spectated_column_in_communitiesUpSql() (*asset, error) {
bytes, err := _1665079662_add_spectated_column_in_communitiesUpSqlBytes()
if err != nil {
return nil, err
}
info := bindataFileInfo{name: "1665079662_add_spectated_column_in_communities.up.sql", size: 86, mode: os.FileMode(0644), modTime: time.Unix(1684179677, 0)}
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xa0, 0x5d, 0xfe, 0xe2, 0xbe, 0xdf, 0xba, 0x45, 0xe9, 0xfc, 0xa7, 0x5f, 0xda, 0x19, 0xdb, 0x40, 0x96, 0x59, 0x78, 0xa, 0xd7, 0x4a, 0xca, 0x1a, 0x93, 0xfb, 0xae, 0x6d, 0x74, 0x7, 0x36, 0xdd}}
return a, nil
}
var __1665479047_add_community_id_in_notificationsUpSql = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x9c\xcc\x41\x0a\xc2\x30\x10\x05\xd0\xbd\xa7\xf8\x47\x70\xdf\xd5\xd8\x56\x14\xc6\x14\x42\xe2\x36\xc4\x18\x71\x16\x49\xa4\x99\x0a\xde\x5e\xbc\x82\xfb\xc7\x23\x76\xb3\x85\xa3\x03\xcf\x88\x49\xe5\x2d\xfa\x09\x29\x57\xcd\x6b\xa8\x4d\xe5\x21\x29\xaa\xb4\xda\x41\xd3\x84\x71\x61\x7f\x31\x48\xad\x94\xad\xfe\xa4\xdc\x71\x25\x3b\x9e\xc8\x0e\xbb\xbf\xaa\x92\xcb\x2d\xaf\xfd\x29\xaf\xd0\x35\xea\xd6\x71\x36\x0e\x66\x71\x30\x9e\x19\xd3\x7c\x24\xcf\x0e\xfb\xe1\x1b\x00\x00\xff\xff\x4a\xec\x5a\x0b\xa9\x00\x00\x00")
func _1665479047_add_community_id_in_notificationsUpSqlBytes() ([]byte, error) {
return bindataRead(
__1665479047_add_community_id_in_notificationsUpSql,
"1665479047_add_community_id_in_notifications.up.sql",
)
}
func _1665479047_add_community_id_in_notificationsUpSql() (*asset, error) {
bytes, err := _1665479047_add_community_id_in_notificationsUpSqlBytes()
if err != nil {
return nil, err
}
info := bindataFileInfo{name: "1665479047_add_community_id_in_notifications.up.sql", size: 169, mode: os.FileMode(0644), modTime: time.Unix(1684179677, 0)}
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xd9, 0x8f, 0x8b, 0x1c, 0xaa, 0x6a, 0x56, 0xd6, 0xa5, 0x88, 0x57, 0x13, 0x8f, 0xea, 0xb9, 0x23, 0x82, 0x50, 0xb7, 0x65, 0x1f, 0xab, 0xfa, 0x23, 0x6f, 0x0, 0x7, 0xb6, 0x6e, 0xb5, 0x85, 0x44}}
return a, nil
}
2022-09-21 16:05:29 +00:00
var __1665484435_add_encrypted_messagesUpSql = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x84\x90\xcf\x4a\xc4\x30\x10\xc6\xef\x79\x8a\x39\xae\xb0\x27\xaf\x9e\xd2\x3a\x42\x71\x9c\x2c\x21\x82\x7b\x0a\xa1\x0d\x6d\xd0\xda\xd0\xc4\x43\xdf\x5e\x52\xbb\xa0\x54\xe8\x31\xbf\xf9\xfe\x84\xaf\xd6\x28\x0d\x82\x91\x15\x21\x0c\x2e\x0d\x76\x76\xb9\x1d\x7c\xb6\xfe\xb3\x9d\x97\x98\x7d\x67\x47\x9f\x92\xeb\x7d\x82\x93\x80\x55\x03\x15\xa9\x0a\x2e\xba\x79\x91\xfa\x0a\xcf\x78\x05\xc5\x50\x2b\x7e\xa2\xa6\x36\xa0\xf1\x42\xb2\xc6\xb3\x00\x48\xa1\xff\xd1\xb2\x32\xc0\xaf\x44\x05\x1a\x43\xd0\xb0\xf9\xc3\x72\x18\x7d\xca\x6e\x8c\xfb\xcb\x14\x43\xbb\x0f\x89\x6e\xf9\x98\x5c\xb7\x3f\x74\x29\xaf\x70\x15\xdd\x47\xa8\x94\x22\x94\x5c\x9e\xfd\x3c\x7d\x45\x1b\xfe\x31\xbd\xfb\xa5\xf0\xdf\xdd\xe2\xee\x41\x88\x6d\x9d\x86\x1f\xf1\xed\x68\x1d\x7b\x8b\xb7\x5b\x9a\xe2\x23\xcb\xe9\x66\x39\x6f\x3f\x28\x9d\xdf\x01\x00\x00\xff\xff\x3e\x6b\x6a\x7f\x92\x01\x00\x00")
func _1665484435_add_encrypted_messagesUpSqlBytes() ([]byte, error) {
return bindataRead(
__1665484435_add_encrypted_messagesUpSql,
"1665484435_add_encrypted_messages.up.sql",
)
}
func _1665484435_add_encrypted_messagesUpSql() (*asset, error) {
bytes, err := _1665484435_add_encrypted_messagesUpSqlBytes()
if err != nil {
return nil, err
}
info := bindataFileInfo{name: "1665484435_add_encrypted_messages.up.sql", size: 402, mode: os.FileMode(0644), modTime: time.Unix(1684179677, 0)}
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x8f, 0x5c, 0x1e, 0x1c, 0x7f, 0xae, 0x5f, 0xeb, 0x3c, 0x6c, 0xcd, 0xc2, 0x99, 0x48, 0x5c, 0x83, 0xa0, 0xa2, 0x97, 0x5, 0x39, 0x82, 0x71, 0x90, 0x47, 0x21, 0x84, 0x29, 0x19, 0xa4, 0x7a, 0x90}}
2022-09-21 16:05:29 +00:00
return a, nil
}
2022-10-24 11:33:47 +00:00
var __1665560200_add_contact_verification_individualUpSql = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x94\x90\xc1\x6a\x03\x21\x10\x86\xef\x3e\xc5\x1c\x5b\xe8\xa1\xf7\x3d\xd9\x5d\x03\x4b\x8d\x1b\x8c\x81\xe4\x24\xe2\x4e\x52\x61\xa3\xa9\xce\x06\xfa\xf6\x25\xc9\x36\x6d\x20\xa5\xf4\xa8\xf3\xfd\x9f\xe3\xcf\xa5\x11\x1a\x0c\x7f\x91\x02\xc6\x82\xd9\xee\xb1\x14\xb7\xc3\x02\xbc\x69\xa0\xee\xe4\x6a\xae\xc0\xa7\x48\xce\x93\x3d\x62\x0e\xdb\xe0\x1d\x85\x14\x6d\x21\x47\x63\x81\x56\x99\x8a\xfd\xb4\x38\x4f\xe1\x18\xe8\xc3\x7a\x8c\x84\xd9\xc6\x44\xd7\xd0\x7f\xac\xd0\x88\x19\x5f\x49\x03\xcf\x15\x63\x8d\xee\x16\x93\xff\x06\xcf\xf8\x3e\x62\xa1\x52\x31\x56\x6b\xc1\x8d\x98\xa0\x76\x06\xaa\x33\x20\xd6\xed\xd2\x2c\xef\x47\x6c\x88\x7d\x38\x86\x7e\x74\x03\x3c\x30\x80\x6d\x4e\x7b\x7b\xaa\x00\x8c\x58\x9b\x27\x06\x40\xe9\xf6\xec\xdf\xdc\x30\x60\xdc\xe1\xf9\xe6\xfc\x80\x5a\x49\x79\x1a\x4d\x52\xec\xad\xa3\xf3\xf2\x5f\xc3\xef\x5f\x5c\xb0\x72\x48\xb1\xe0\x55\x99\xf1\x30\x84\xbf\x52\xbf\x15\x74\x9f\x0e\xfd\x65\xbd\x85\x6e\xe7\x5c\x6f\xe0\x55\x6c\xa0\x53\x50\x77\x6a\x26\xdb\xda\x80\x16\x0b\xc9\x6b\xc1\x1e\x2b\xf6\x19\x00\x00\xff\xff\xfa\x97\x1b\xc5\xfd\x01\x00\x00")
func _1665560200_add_contact_verification_individualUpSqlBytes() ([]byte, error) {
return bindataRead(
__1665560200_add_contact_verification_individualUpSql,
"1665560200_add_contact_verification_individual.up.sql",
)
}
func _1665560200_add_contact_verification_individualUpSql() (*asset, error) {
bytes, err := _1665560200_add_contact_verification_individualUpSqlBytes()
if err != nil {
return nil, err
}
info := bindataFileInfo{name: "1665560200_add_contact_verification_individual.up.sql", size: 509, mode: os.FileMode(0644), modTime: time.Unix(1684179677, 0)}
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xc5, 0xbb, 0x61, 0xfd, 0xbf, 0x33, 0x1d, 0x4e, 0x5f, 0xbd, 0x86, 0x42, 0xb0, 0x6c, 0xf7, 0x39, 0x19, 0x6e, 0x72, 0x35, 0xfd, 0x1b, 0xd6, 0xbd, 0xf6, 0x81, 0x21, 0xc4, 0xaa, 0x6, 0x62, 0x40}}
return a, nil
}
var __1670921937_add_album_idUpSql = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x72\xf4\x09\x71\x0d\x52\x08\x71\x74\xf2\x71\x55\x28\x2d\x4e\x2d\x8a\xcf\x4d\x2d\x2e\x4e\x4c\x4f\x2d\x56\x70\x74\x71\x51\x70\xf6\xf7\x09\xf5\xf5\x53\x48\xcc\x49\x2a\xcd\x8d\xcf\x4c\x51\x08\x73\x0c\x72\xf6\x70\x0c\xb2\xe6\x02\x04\x00\x00\xff\xff\x8d\x2a\x26\x80\x37\x00\x00\x00")
func _1670921937_add_album_idUpSqlBytes() ([]byte, error) {
return bindataRead(
__1670921937_add_album_idUpSql,
"1670921937_add_album_id.up.sql",
)
}
func _1670921937_add_album_idUpSql() (*asset, error) {
bytes, err := _1670921937_add_album_idUpSqlBytes()
if err != nil {
return nil, err
}
info := bindataFileInfo{name: "1670921937_add_album_id.up.sql", size: 55, mode: os.FileMode(0644), modTime: time.Unix(1684179677, 0)}
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x7e, 0xae, 0x83, 0x58, 0xb7, 0x77, 0x5, 0xca, 0xe3, 0xda, 0x32, 0x8f, 0x7b, 0xa4, 0x2f, 0x4c, 0xaf, 0x5f, 0xfa, 0x94, 0x36, 0xe4, 0xf9, 0x7, 0xc6, 0xd6, 0xb7, 0x90, 0xf3, 0xe5, 0xb5, 0x3}}
return a, nil
}
var __1673373000_add_repliedUpSql = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x04\xc0\x41\x0a\x84\x30\x0c\x05\xd0\xab\xfc\x7b\xcc\x2a\x9d\xa6\xab\x6f\x0b\x9a\xae\x45\x30\x88\xa0\x20\x0d\xde\xdf\x27\x34\x9d\x61\x92\xa8\x78\xc3\xc7\x7a\x7b\xc4\x76\x78\x40\x72\xc6\xbf\xb1\x4f\x15\xc3\x9f\xeb\xf4\x1d\xa9\x35\xaa\x54\x64\x2d\xd2\x69\x28\xc2\x45\x7f\x5f\x00\x00\x00\xff\xff\xe8\x90\x33\x73\x43\x00\x00\x00")
func _1673373000_add_repliedUpSqlBytes() ([]byte, error) {
return bindataRead(
__1673373000_add_repliedUpSql,
"1673373000_add_replied.up.sql",
)
}
func _1673373000_add_repliedUpSql() (*asset, error) {
bytes, err := _1673373000_add_repliedUpSqlBytes()
if err != nil {
return nil, err
}
info := bindataFileInfo{name: "1673373000_add_replied.up.sql", size: 67, mode: os.FileMode(0644), modTime: time.Unix(1684179677, 0)}
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xd5, 0x1c, 0xae, 0xf2, 0xf, 0xb4, 0xc2, 0xba, 0x3c, 0xfe, 0x7b, 0xb0, 0xf, 0xf, 0xd5, 0xbc, 0xe2, 0xa7, 0xad, 0x50, 0xd9, 0x5a, 0xe8, 0x96, 0x22, 0x65, 0x89, 0xcf, 0x4a, 0x9a, 0x1b, 0x94}}
return a, nil
}
var __1673428910_add_image_width_heightUpSql = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x72\xf4\x09\x71\x0d\x52\x08\x71\x74\xf2\x71\x55\x28\x2d\x4e\x2d\x8a\xcf\x4d\x2d\x2e\x4e\x4c\x4f\x2d\x56\x70\x74\x71\x51\x70\xf6\xf7\x09\xf5\xf5\x53\xc8\xcc\x4d\x4c\x4f\x8d\x2f\xcf\x4c\x29\xc9\x50\xf0\xf4\x0b\x71\x75\x77\x0d\xb2\xe6\x22\x41\x67\x46\x6a\x66\x7a\x46\x09\x42\x2b\x20\x00\x00\xff\xff\xd0\x3e\xff\x8c\x75\x00\x00\x00")
func _1673428910_add_image_width_heightUpSqlBytes() ([]byte, error) {
return bindataRead(
__1673428910_add_image_width_heightUpSql,
"1673428910_add_image_width_height.up.sql",
)
}
func _1673428910_add_image_width_heightUpSql() (*asset, error) {
bytes, err := _1673428910_add_image_width_heightUpSqlBytes()
if err != nil {
return nil, err
}
info := bindataFileInfo{name: "1673428910_add_image_width_height.up.sql", size: 117, mode: os.FileMode(0644), modTime: time.Unix(1684179677, 0)}
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x74, 0xda, 0x93, 0x2a, 0x9b, 0x6b, 0xb7, 0x96, 0xcd, 0xac, 0xf, 0xaf, 0x54, 0x89, 0x9e, 0x91, 0x5b, 0xd0, 0x4a, 0xa, 0x8d, 0x9e, 0x80, 0x66, 0x26, 0x9e, 0xb5, 0xa9, 0x8, 0xec, 0x2d, 0x6c}}
return a, nil
}
2023-02-01 17:29:09 +00:00
var __1674210659_add_contact_request_local_clockUpSql = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xac\x91\xc1\x6a\xc2\x40\x10\x86\xef\x79\x8a\xff\x01\xf4\xd2\x1e\xc5\x43\x34\x0b\x16\x6c\x5a\x6a\xa4\xc7\x30\x66\xa7\x66\x71\xb3\xab\x3b\x13\xc1\xb7\x2f\x55\x04\xdb\x52\x48\xc1\xeb\x2c\xfb\xcd\xc7\x37\x59\xbe\xac\xcc\x1b\xaa\x7c\xb6\x34\x68\x62\x50\x6a\x54\x90\x17\x05\xe6\x2f\xcb\xf5\x73\x79\x9d\xd5\x89\x0f\x3d\x8b\xd6\x3e\x36\xe4\xeb\xc6\xc7\x66\x87\xa7\xb2\x9a\xfc\x1b\x90\xb8\x8b\xca\x77\x20\x88\x92\xf2\x85\x90\x8d\xc7\x98\xa5\xb8\xe3\x80\xce\x6d\x13\xa9\x8b\x61\x04\xcf\x74\x74\x61\x8b\x8f\x98\xb0\x8f\xa2\x9c\x9c\x9e\x40\xc1\x82\x95\x53\x20\x0f\xee\x36\x94\x12\x89\x74\x1c\xf4\x0b\xb2\xe9\x15\x2d\x9f\x46\x88\x01\xda\x32\x36\xc9\x6d\x5b\x85\x38\xcb\x23\x68\xeb\x04\x4e\x70\x24\xef\x2c\xe4\xe0\xb3\xf5\x6b\x91\x57\x37\xd2\x2b\x53\xfd\xb2\xbd\x68\x4e\x31\xcf\x57\x26\x03\x80\xf7\x85\x29\x41\xd6\xb2\x45\xb5\x30\xe5\x79\x86\x3f\xbf\x3d\x64\x80\x29\x8b\x49\x36\x68\xd9\xed\x75\xa6\xf0\x24\x5a\xf7\x7b\x4b\xca\xf6\xf2\xe4\x4f\xf7\x8a\x35\xc4\xe6\xdb\xa1\x7e\x16\x68\x49\xea\x73\x85\xba\x97\x21\x21\x1e\xaf\x21\x3e\x03\x00\x00\xff\xff\x1c\x56\x1e\xac\xb3\x02\x00\x00")
2023-01-20 14:28:30 +00:00
func _1674210659_add_contact_request_local_clockUpSqlBytes() ([]byte, error) {
return bindataRead(
__1674210659_add_contact_request_local_clockUpSql,
"1674210659_add_contact_request_local_clock.up.sql",
)
}
func _1674210659_add_contact_request_local_clockUpSql() (*asset, error) {
bytes, err := _1674210659_add_contact_request_local_clockUpSqlBytes()
if err != nil {
return nil, err
}
info := bindataFileInfo{name: "1674210659_add_contact_request_local_clock.up.sql", size: 691, mode: os.FileMode(0644), modTime: time.Unix(1684180118, 0)}
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x92, 0x72, 0x39, 0xfe, 0x72, 0x98, 0xfc, 0x91, 0x20, 0x10, 0xe8, 0xf5, 0xac, 0x79, 0xa8, 0x1c, 0xca, 0x7b, 0x35, 0xa, 0xc1, 0x56, 0x49, 0x9a, 0xfc, 0xbd, 0x64, 0x9d, 0xdf, 0xd2, 0x60, 0x70}}
2023-01-20 14:28:30 +00:00
return a, nil
}
var __1675212323_add_deleted_byUpSql = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x72\xf4\x09\x71\x0d\x52\x08\x71\x74\xf2\x71\x55\x28\x2d\x4e\x2d\x8a\xcf\x4d\x2d\x2e\x4e\x4c\x4f\x2d\x56\x70\x74\x71\x51\x70\xf6\xf7\x09\xf5\xf5\x53\x48\x49\xcd\x49\x2d\x49\x4d\x89\x4f\xaa\x54\x08\x73\x0c\x72\xf6\x70\x0c\xb2\xe6\x02\x04\x00\x00\xff\xff\x50\x0a\xe8\xde\x39\x00\x00\x00")
func _1675212323_add_deleted_byUpSqlBytes() ([]byte, error) {
return bindataRead(
__1675212323_add_deleted_byUpSql,
"1675212323_add_deleted_by.up.sql",
)
}
func _1675212323_add_deleted_byUpSql() (*asset, error) {
bytes, err := _1675212323_add_deleted_byUpSqlBytes()
if err != nil {
return nil, err
}
info := bindataFileInfo{name: "1675212323_add_deleted_by.up.sql", size: 57, mode: os.FileMode(0644), modTime: time.Unix(1684180118, 0)}
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x85, 0x37, 0x29, 0x2f, 0xd, 0x5a, 0xb6, 0xdb, 0xa7, 0x8, 0x86, 0xfc, 0x7a, 0x70, 0xd8, 0x4d, 0xe6, 0xf0, 0x57, 0xe7, 0xd1, 0x95, 0xd5, 0x4, 0x40, 0x2f, 0x7a, 0x5, 0x4f, 0xc2, 0x97, 0xbc}}
return a, nil
}
var __1675247084_add_activity_center_statesUpSql = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x74\xcb\xb1\x0a\xc2\x30\x10\x06\xe0\xfd\x9e\xe2\xa7\x53\x33\x3a\x77\x4a\xe5\x84\x40\x48\xa0\x39\xc5\x2d\x84\x72\x60\x97\x0c\xe6\x10\x7c\x7b\x27\xc7\x3e\xc0\x77\xdd\xd8\x0b\x43\xfc\x1a\x19\x08\x37\xa4\x2c\xe0\x67\x28\x52\xd0\x76\x3b\x3e\x87\x7d\xeb\xae\xdd\xf4\x5d\x87\x35\xd3\x81\x99\x80\x57\x1b\x75\xa8\x76\xac\x39\x47\xf6\x89\xdc\x42\x14\x52\xe1\x4d\x10\x92\xe4\x53\x3b\xfd\xe5\xe4\xf0\xf0\xf1\xce\x05\xf3\xc5\x2d\xf4\x0b\x00\x00\xff\xff\x09\xb9\x69\x4b\x88\x00\x00\x00")
func _1675247084_add_activity_center_statesUpSqlBytes() ([]byte, error) {
return bindataRead(
__1675247084_add_activity_center_statesUpSql,
"1675247084_add_activity_center_states.up.sql",
)
}
func _1675247084_add_activity_center_statesUpSql() (*asset, error) {
bytes, err := _1675247084_add_activity_center_statesUpSqlBytes()
if err != nil {
return nil, err
}
info := bindataFileInfo{name: "1675247084_add_activity_center_states.up.sql", size: 136, mode: os.FileMode(0644), modTime: time.Unix(1684180118, 0)}
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xba, 0x90, 0x7d, 0x55, 0xc7, 0x40, 0x29, 0x26, 0x97, 0x45, 0x5c, 0xdf, 0xba, 0x61, 0xb, 0xfc, 0x3d, 0x7a, 0x6c, 0x42, 0xe4, 0x95, 0x78, 0xb0, 0xc5, 0x1f, 0x73, 0xe9, 0x33, 0x51, 0xc8, 0x81}}
return a, nil
}
2023-02-01 17:29:09 +00:00
var __1675272329_fix_protocol_migrationUpSql = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x0a\x0d\x70\x71\x0c\x71\x55\x48\xce\xcf\x2b\x49\x4c\x2e\x29\x56\x08\x76\x0d\x81\x71\xe2\x8b\x52\x0b\x4b\x53\x8b\x4b\xe2\x8b\x4b\x12\x4b\x52\x15\x6c\x15\x9c\x1d\x83\x5d\xb9\x14\x14\x14\x14\xc2\x3d\x5c\xfd\x14\x12\x53\x52\x52\x53\x14\x42\x3c\x5c\xfd\xc0\x62\x0a\x0a\x46\x5c\x0a\x0a\xae\x7e\x2e\xd6\x5c\x5c\xc4\x18\x5a\x94\x9a\x9b\x5f\x92\x8a\xc3\xec\x8c\xc4\xe2\x78\xb0\xf9\xf1\xa5\xc5\xc8\x56\x18\xc3\xac\x00\x04\x00\x00\xff\xff\x70\x56\x51\x26\xb7\x00\x00\x00")
func _1675272329_fix_protocol_migrationUpSqlBytes() ([]byte, error) {
return bindataRead(
__1675272329_fix_protocol_migrationUpSql,
"1675272329_fix_protocol_migration.up.sql",
)
}
func _1675272329_fix_protocol_migrationUpSql() (*asset, error) {
bytes, err := _1675272329_fix_protocol_migrationUpSqlBytes()
if err != nil {
return nil, err
}
info := bindataFileInfo{name: "1675272329_fix_protocol_migration.up.sql", size: 183, mode: os.FileMode(0644), modTime: time.Unix(1684180118, 0)}
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xb6, 0xe0, 0x11, 0x4c, 0x66, 0x55, 0x72, 0xd3, 0xe6, 0x98, 0xa4, 0xe7, 0x44, 0xf9, 0x3b, 0x3a, 0x3f, 0xd9, 0x91, 0x1e, 0x4f, 0xfc, 0x56, 0x63, 0xe5, 0xa4, 0x83, 0xfc, 0x7c, 0xcf, 0x18, 0x99}}
2023-02-01 17:29:09 +00:00
return a, nil
}
var __1676998418_fix_activity_center_migrationUpSql = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x74\xcd\xb1\x0a\xc2\x30\x14\x85\xe1\x3d\x4f\x71\xc6\x3a\x3a\x3b\xa5\xe5\x14\x03\x31\x81\xe4\x82\x6e\x21\x94\x80\x5d\x3a\x98\x8b\xe0\xdb\x8b\x8b\x74\xe9\xfc\xf3\xf3\x4d\x89\x56\x08\xb1\xa3\x27\xe0\x66\x84\x28\xe0\xc3\x65\xc9\xa8\x8b\xae\xef\x55\x3f\x65\x69\x9b\xb6\x57\xe9\x5a\xb5\x75\x0c\x06\x78\xd6\x5e\x7a\x6b\x1b\xc6\x18\x3d\x6d\x30\xa7\x8b\x31\x2e\x64\x26\x81\x0b\x12\x8f\xde\x4c\xcf\x49\x70\x06\xee\x57\x26\xee\xb4\xe1\x9f\xe6\x14\x6f\x07\xff\x4f\xf9\x06\x00\x00\xff\xff\x69\x48\x3f\x07\xb2\x00\x00\x00")
func _1676998418_fix_activity_center_migrationUpSqlBytes() ([]byte, error) {
return bindataRead(
__1676998418_fix_activity_center_migrationUpSql,
"1676998418_fix_activity_center_migration.up.sql",
)
}
func _1676998418_fix_activity_center_migrationUpSql() (*asset, error) {
bytes, err := _1676998418_fix_activity_center_migrationUpSqlBytes()
if err != nil {
return nil, err
}
info := bindataFileInfo{name: "1676998418_fix_activity_center_migration.up.sql", size: 178, mode: os.FileMode(0644), modTime: time.Unix(1684180118, 0)}
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x8a, 0xdc, 0x64, 0xb1, 0x47, 0x67, 0xda, 0x2c, 0x26, 0x29, 0x6b, 0x6f, 0xb, 0xfa, 0x45, 0xf3, 0xad, 0x8b, 0x1a, 0x5f, 0x1c, 0xed, 0xd7, 0xea, 0x54, 0xf5, 0x3f, 0xb8, 0xf6, 0xf9, 0x44, 0x53}}
return a, nil
}
var __1677278861_add_deleted_column_to_activity_center_notifications_tableUpSql = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x8c\xce\xc1\x4a\x03\x31\x10\xc6\xf1\x7b\x9e\xe2\x3b\x2a\xec\x1b\x78\x4a\x9b\x29\x08\x63\x02\x35\x0b\xde\x42\x48\x22\x1d\xd0\x5d\x69\x46\xd1\xb7\x17\xb1\xeb\x45\xd8\xed\x75\x18\xfe\xdf\xcf\x72\xa4\x23\xa2\xdd\x31\x21\x17\x95\x0f\xd1\xaf\x54\xda\xa4\xed\x9c\xa6\x59\xe5\x59\x4a\x56\x99\xa7\x6e\x00\xeb\x1c\xf6\x81\xc7\x07\x8f\xda\x5e\x9a\xb6\x8a\x5d\x08\x4c\xd6\xc3\x87\x08\x3f\x32\xc3\xd1\xc1\x8e\x1c\x71\xb0\xfc\x48\x77\xc6\xec\x8f\x64\x23\xe1\xde\x3b\x7a\xfa\x37\x50\x4e\x59\x93\xd4\x74\xa9\xa5\x2a\xfd\x55\x7a\x6f\x35\xe5\x52\xda\xdb\xcf\x49\xea\xa7\x01\x82\x5f\xc7\xdd\x5c\x4a\xc3\x02\x1b\xf0\xd7\x1a\xb0\xc4\x6e\xb7\x3c\x2b\x8e\xfc\xae\xa7\xf9\x7c\x2d\xe7\xf7\x7b\x53\xf3\x1d\x00\x00\xff\xff\x8f\xc5\x28\x67\x7d\x01\x00\x00")
func _1677278861_add_deleted_column_to_activity_center_notifications_tableUpSqlBytes() ([]byte, error) {
return bindataRead(
__1677278861_add_deleted_column_to_activity_center_notifications_tableUpSql,
"1677278861_add_deleted_column_to_activity_center_notifications_table.up.sql",
)
}
func _1677278861_add_deleted_column_to_activity_center_notifications_tableUpSql() (*asset, error) {
bytes, err := _1677278861_add_deleted_column_to_activity_center_notifications_tableUpSqlBytes()
if err != nil {
return nil, err
}
info := bindataFileInfo{name: "1677278861_add_deleted_column_to_activity_center_notifications_table.up.sql", size: 381, mode: os.FileMode(0644), modTime: time.Unix(1684180118, 0)}
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x38, 0x3a, 0x95, 0xaf, 0x81, 0xb0, 0x85, 0x8d, 0x73, 0xda, 0x7b, 0x2a, 0x35, 0xa6, 0xaa, 0xcc, 0x4c, 0x35, 0xa3, 0xa8, 0xbd, 0xd1, 0x37, 0xe8, 0x5d, 0x83, 0xa4, 0x33, 0x1f, 0x10, 0xe4, 0xe6}}
return a, nil
}
var __1677486338_add_community_tokens_tableUpSql = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x8c\x91\xb1\x6e\x83\x30\x10\x86\x77\x9e\xe2\x94\x29\x91\x18\x3a\x54\x5d\x3a\x39\xad\x91\x50\x5d\xa8\xc0\x91\x92\x09\x19\x7c\xb4\x56\xb1\x8d\x6c\x33\xf0\xf6\x15\x51\x1b\x85\x3a\x43\xd6\xdf\xdf\xef\x3b\x7d\xf7\x52\x51\xc2\x29\x70\xb2\x67\x14\xf2\x0c\x8a\x92\x03\x3d\xe6\x35\xaf\xa1\xb3\x5a\x4f\x46\x85\xb9\x09\xf6\x1b\x8d\x87\x6d\x02\x57\xa1\x92\xc0\xe9\x91\x9f\x1b\xc5\x81\xb1\x34\x01\x10\x52\x3a\xf4\x3e\x7e\x08\xf3\x88\x90\x17\xeb\xd0\x08\x8d\x31\xea\x67\xdd\xda\x21\xce\x25\xfa\xce\xa9\x31\x28\x6b\x6e\x94\xa6\x71\x1c\xe6\xd5\x04\x78\xa5\x19\x39\x30\x0e\x0f\x0b\xa0\x4c\xaf\x8c\x0a\xd8\xfc\x92\xfb\xb2\x64\x94\x14\x31\x9d\x11\x56\xd3\xf3\xca\x4e\x18\xdf\xa3\x13\xed\x80\x77\xe0\x0e\xb5\x5d\xbe\xc7\xa1\x6f\x24\xfa\xe0\xa6\x2e\xdc\x51\xeb\xbe\x84\x32\x8b\xcb\xff\x72\x24\x8e\x83\x9d\x1b\x1f\x44\x88\xcd\x29\x2d\x3e\xb1\x69\x85\xc7\xa7\xc7\xb5\x8c\xcb\x84\xcd\x66\x01\x3f\xaa\xfc\x9d\x54\x27\x78\xa3\xa7\xed\xf5\xe9\xd2\xbf\x53\xa5\x97\x0d\x76\xc9\xee\x39\xf9\x09\x00\x00\xff\xff\x3d\x3b\x02\x66\x0f\x02\x00\x00")
func _1677486338_add_community_tokens_tableUpSqlBytes() ([]byte, error) {
return bindataRead(
__1677486338_add_community_tokens_tableUpSql,
"1677486338_add_community_tokens_table.up.sql",
)
}
func _1677486338_add_community_tokens_tableUpSql() (*asset, error) {
bytes, err := _1677486338_add_community_tokens_tableUpSqlBytes()
if err != nil {
return nil, err
}
info := bindataFileInfo{name: "1677486338_add_community_tokens_table.up.sql", size: 527, mode: os.FileMode(0644), modTime: time.Unix(1684180118, 0)}
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xfb, 0x7b, 0x3d, 0x7e, 0x79, 0xc4, 0x3a, 0xf1, 0xda, 0x4b, 0xc6, 0xd1, 0xd, 0xfb, 0xb2, 0xb9, 0x7f, 0x81, 0x29, 0xab, 0xd8, 0x1, 0x20, 0xd7, 0xe1, 0xaf, 0x3e, 0x67, 0x1b, 0xdb, 0xf9, 0xd5}}
return a, nil
}
2023-03-14 13:33:32 +00:00
var __1678292329_add_collapsed_categoriesUpSql = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x72\x0e\x72\x75\x0c\x71\x55\x08\x71\x74\xf2\x71\x55\x48\xce\xcf\xc9\x49\x2c\x28\x4e\x4d\x89\x4f\xce\xcf\xcd\x2d\xcd\xcb\x2c\xa9\x8c\x4f\x4e\x2c\x49\x4d\xcf\x2f\xca\x4c\x2d\x56\xd0\xe0\x52\x50\x40\x48\x64\xa6\x28\x84\x39\x06\x39\x7b\x38\x06\x29\xf8\xf9\x87\x28\xf8\x85\xfa\xf8\xe8\x80\x14\x40\xd4\xe3\x94\x0f\xf5\xf3\x0c\x0c\x75\xd5\x40\x36\x47\x07\x59\x93\xa6\x82\xbf\x9f\x82\xb3\xbf\x9f\x9b\x8f\xa7\x73\x88\x42\x90\x6b\x80\x8f\xa3\xb3\x2b\x97\xa6\x35\x17\x20\x00\x00\xff\xff\x49\x26\xa5\xb1\xaa\x00\x00\x00")
2023-03-08 17:47:09 +00:00
func _1678292329_add_collapsed_categoriesUpSqlBytes() ([]byte, error) {
return bindataRead(
__1678292329_add_collapsed_categoriesUpSql,
"1678292329_add_collapsed_categories.up.sql",
)
}
func _1678292329_add_collapsed_categoriesUpSql() (*asset, error) {
bytes, err := _1678292329_add_collapsed_categoriesUpSqlBytes()
if err != nil {
return nil, err
}
info := bindataFileInfo{name: "1678292329_add_collapsed_categories.up.sql", size: 170, mode: os.FileMode(0644), modTime: time.Unix(1684180118, 0)}
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x46, 0x63, 0x86, 0xd5, 0x7, 0xe2, 0x25, 0x15, 0x1b, 0xfe, 0xf3, 0xe, 0x50, 0x48, 0x11, 0x3c, 0x7c, 0xc6, 0xe5, 0xab, 0x8d, 0x1f, 0xe8, 0x3c, 0xcb, 0xf0, 0x8d, 0xa7, 0x49, 0x4c, 0x16, 0x4f}}
2023-03-14 13:33:32 +00:00
return a, nil
}
var __1678800760_add_index_to_raw_messagesUpSql = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x72\x0e\x72\x75\x0c\x71\x55\xf0\xf4\x73\x71\x8d\x50\x28\x4a\x2c\x8f\xcf\x4d\x2d\x2e\x4e\x4c\x4f\x2d\x8e\x4f\xad\x28\xc8\x2c\x4a\x4d\x89\xcf\x4c\xa9\x50\xf0\xf7\x43\x91\x53\xd0\x80\xb2\xe2\x4b\x2a\x0b\x52\x75\x14\x8a\x53\xf3\x4a\xc0\x64\x4a\x7c\x72\x7e\x69\x5e\x89\xa6\x35\x17\x20\x00\x00\xff\xff\xbf\x46\xf3\xa9\x58\x00\x00\x00")
func _1678800760_add_index_to_raw_messagesUpSqlBytes() ([]byte, error) {
return bindataRead(
__1678800760_add_index_to_raw_messagesUpSql,
"1678800760_add_index_to_raw_messages.up.sql",
)
}
func _1678800760_add_index_to_raw_messagesUpSql() (*asset, error) {
bytes, err := _1678800760_add_index_to_raw_messagesUpSqlBytes()
if err != nil {
return nil, err
}
info := bindataFileInfo{name: "1678800760_add_index_to_raw_messages.up.sql", size: 88, mode: os.FileMode(0644), modTime: time.Unix(1684180118, 0)}
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x9d, 0xd9, 0x8d, 0x22, 0x46, 0xae, 0x7b, 0x53, 0x3e, 0x51, 0x39, 0xad, 0xad, 0x38, 0x50, 0x6, 0xfa, 0xb9, 0xc4, 0x9f, 0x8d, 0xd2, 0x67, 0x0, 0xef, 0x58, 0x13, 0xab, 0x6a, 0x67, 0xf3, 0x7e}}
2023-03-08 17:47:09 +00:00
return a, nil
}
feat: add verified wallet accounts to community requests This commit extends the `CommunityRequestToJoin` with `RevealedAddresses` which represent wallet addresses and signatures provided by the sender, to proof a community owner ownership of those wallet addresses. **Note: This only works with keystore files maanged by status-go** At high level, the follwing happens: 1. User instructs Status to send a request to join to a community. By adding a password hash to the instruction, Status will try to unlock the users keystore and verify each wallet account. 2. For every verified wallet account, a signature is created for the following payload, using each wallet's private key ``` keccak256(chatkey + communityID + requestToJoinID) ``` A map of walletAddress->signature is then attached to the community request to join, which will be sent to the community owner 3. The owner node receives the request, and if the community requires users to hold tokens to become a member, it will check and verify whether the given wallet addresses are indeed owned by the sender. If any signature provided by the request cannot be recovered, the request is immediately declined by the owner. 4. The verified addresses are then added to the owner node's database such that, once the request should be accepted, the addresses can be used to check on chain whether they own the necessary funds to fulfill the community's permissions The checking of required funds is **not** part of this commit. It will be added in a follow-up commit.
2023-03-17 09:19:40 +00:00
var __1678877478_add_communities_requests_to_join_revealed_addresses_tableUpSql = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x54\xcc\xc1\xca\x82\x50\x10\xc5\xf1\xfd\x7d\x8a\xb3\x54\xf0\x0d\xbe\x95\x7e\x4c\x20\xdd\x34\x74\x02\x5d\x0d\xd2\x9d\xc5\x8d\x54\x72\xb4\xe7\x0f\xc2\x88\xd6\xe7\x7f\x7e\xff\x0d\xe5\x4c\xe0\xbc\xf0\x84\xf2\x80\xaa\x66\x50\x57\xb6\xdc\xe2\x3a\x8f\xe3\x36\xc5\x35\xaa\xc9\xa2\x8f\x4d\x6d\x35\x59\x67\xb9\xcd\x71\x92\x45\x9f\x3a\xdc\x35\xc8\x10\xc2\xa2\x66\x6a\x48\x1c\xb0\x77\x12\x03\x0a\x5f\x17\x6f\xae\xba\x78\x9f\x39\x60\x2f\xc1\xd4\xf1\xcf\x70\x6e\xca\x53\xde\xf4\x38\x52\x9f\x7c\x81\xec\x73\x48\x5d\xfa\xe7\x5e\x01\x00\x00\xff\xff\xbe\xbf\x0f\x39\xa8\x00\x00\x00")
func _1678877478_add_communities_requests_to_join_revealed_addresses_tableUpSqlBytes() ([]byte, error) {
return bindataRead(
__1678877478_add_communities_requests_to_join_revealed_addresses_tableUpSql,
"1678877478_add_communities_requests_to_join_revealed_addresses_table.up.sql",
)
}
func _1678877478_add_communities_requests_to_join_revealed_addresses_tableUpSql() (*asset, error) {
bytes, err := _1678877478_add_communities_requests_to_join_revealed_addresses_tableUpSqlBytes()
if err != nil {
return nil, err
}
info := bindataFileInfo{name: "1678877478_add_communities_requests_to_join_revealed_addresses_table.up.sql", size: 168, mode: os.FileMode(0644), modTime: time.Unix(1684180118, 0)}
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x82, 0x1, 0xb4, 0xb2, 0x94, 0x25, 0xd5, 0x2e, 0x45, 0xc3, 0xb1, 0x2c, 0xeb, 0x1a, 0x52, 0xe0, 0x4b, 0x9b, 0x46, 0xf4, 0xc, 0xac, 0x1, 0x1e, 0x90, 0xbc, 0x64, 0x38, 0x10, 0xf1, 0xaf, 0xac}}
feat: add verified wallet accounts to community requests This commit extends the `CommunityRequestToJoin` with `RevealedAddresses` which represent wallet addresses and signatures provided by the sender, to proof a community owner ownership of those wallet addresses. **Note: This only works with keystore files maanged by status-go** At high level, the follwing happens: 1. User instructs Status to send a request to join to a community. By adding a password hash to the instruction, Status will try to unlock the users keystore and verify each wallet account. 2. For every verified wallet account, a signature is created for the following payload, using each wallet's private key ``` keccak256(chatkey + communityID + requestToJoinID) ``` A map of walletAddress->signature is then attached to the community request to join, which will be sent to the community owner 3. The owner node receives the request, and if the community requires users to hold tokens to become a member, it will check and verify whether the given wallet addresses are indeed owned by the sender. If any signature provided by the request cannot be recovered, the request is immediately declined by the owner. 4. The verified addresses are then added to the owner node's database such that, once the request should be accepted, the addresses can be used to check on chain whether they own the necessary funds to fulfill the community's permissions The checking of required funds is **not** part of this commit. It will be added in a follow-up commit.
2023-03-17 09:19:40 +00:00
return a, nil
}
var __1679326850_add_community_token_ownersUpSql = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x64\x8d\x41\xaa\x83\x30\x14\x45\xe7\x59\xc5\x1d\x2a\xb8\x83\x3f\xca\x97\x57\x08\x4d\x63\xd1\x57\xd0\x91\x88\x0a\x95\x92\x04\x4c\xa4\x74\xf7\xa5\x29\x0e\xa4\xd3\x7b\x39\xe7\x94\x35\x49\x26\xb0\xfc\xd7\x04\x75\x82\xa9\x18\xd4\xaa\x86\x1b\x8c\xde\xda\xcd\x2d\xf1\xd5\x47\xff\x98\x5d\xef\x9f\x6e\x5e\x03\x32\x01\x8c\xf7\x61\x71\xfd\x32\x41\x19\x4e\x88\xb9\x69\x5d\x08\x60\x98\xa6\x75\x0e\x01\x4c\xed\xf1\x48\xf0\x71\x46\x59\x69\xfd\x89\x9b\xaa\x94\x0d\x25\xdc\xfa\xcd\xc5\x1f\xeb\xb5\x56\x17\x59\x77\x38\x53\x97\xed\xe9\x62\x6f\x15\x5f\x77\x2e\xf2\x3f\xf1\x0e\x00\x00\xff\xff\x7d\xa9\x13\x2e\xce\x00\x00\x00")
func _1679326850_add_community_token_ownersUpSqlBytes() ([]byte, error) {
return bindataRead(
__1679326850_add_community_token_ownersUpSql,
"1679326850_add_community_token_owners.up.sql",
)
}
func _1679326850_add_community_token_ownersUpSql() (*asset, error) {
bytes, err := _1679326850_add_community_token_ownersUpSqlBytes()
if err != nil {
return nil, err
}
info := bindataFileInfo{name: "1679326850_add_community_token_owners.up.sql", size: 206, mode: os.FileMode(0644), modTime: time.Unix(1684180118, 0)}
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xe9, 0xe6, 0x25, 0x67, 0xd1, 0xd6, 0x54, 0x88, 0xb1, 0x80, 0x1e, 0x2d, 0x9c, 0xfa, 0x1c, 0xc7, 0x63, 0x6e, 0xf9, 0x66, 0xb1, 0x68, 0xc6, 0xf8, 0x51, 0xb6, 0xd5, 0x4e, 0x93, 0x39, 0x5e, 0xc0}}
return a, nil
}
var __1680011500_add_album_images_countUpSql = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x72\xf4\x09\x71\x0d\x52\x08\x71\x74\xf2\x71\x55\x28\x2d\x4e\x2d\x8a\xcf\x4d\x2d\x2e\x4e\x4c\x4f\x2d\x56\x70\x74\x71\x51\x70\xf6\xf7\x09\xf5\xf5\x53\x48\xcc\x49\x2a\xcd\x8d\xcf\xcc\x05\x89\xc7\x27\xe7\x97\xe6\x95\x28\x78\xfa\x85\x28\xb8\xb8\xba\x39\x86\xfa\x84\x28\x18\x58\x73\x01\x02\x00\x00\xff\xff\x14\x0a\x0d\x8a\x47\x00\x00\x00")
func _1680011500_add_album_images_countUpSqlBytes() ([]byte, error) {
return bindataRead(
__1680011500_add_album_images_countUpSql,
"1680011500_add_album_images_count.up.sql",
)
}
func _1680011500_add_album_images_countUpSql() (*asset, error) {
bytes, err := _1680011500_add_album_images_countUpSqlBytes()
if err != nil {
return nil, err
}
info := bindataFileInfo{name: "1680011500_add_album_images_count.up.sql", size: 71, mode: os.FileMode(0644), modTime: time.Unix(1684180118, 0)}
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x2e, 0x55, 0x99, 0x31, 0xcc, 0x80, 0x78, 0xc3, 0x51, 0x13, 0x63, 0x6f, 0x1a, 0xfd, 0x53, 0xd2, 0xf4, 0x13, 0x4b, 0xb2, 0x4f, 0x99, 0xb8, 0x7b, 0x7, 0x99, 0xb6, 0xab, 0x88, 0x2e, 0x7, 0x8}}
return a, nil
}
var __1680114896_add_index_on_album_idUpSql = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x72\x0e\x72\x75\x0c\x71\x55\xf0\xf4\x73\x71\x8d\x50\xf0\x74\x53\xf0\xf3\x0f\x51\x70\x8d\xf0\x0c\x0e\x09\x56\xc8\x4c\xa9\x88\x4f\xcc\x49\x2a\xcd\x8d\xcf\x4c\x51\xf0\xf7\x53\x28\x2d\x4e\x2d\x8a\xcf\x4d\x2d\x2e\x4e\x4c\x4f\x2d\x56\xd0\xc8\xc9\x4f\x4e\xcc\x89\x4f\xce\x48\x2c\x89\xcf\x4c\xd1\x51\x80\xa9\xd4\xb4\x06\x04\x00\x00\xff\xff\xb6\x12\xc4\xce\x53\x00\x00\x00")
func _1680114896_add_index_on_album_idUpSqlBytes() ([]byte, error) {
return bindataRead(
__1680114896_add_index_on_album_idUpSql,
"1680114896_add_index_on_album_id.up.sql",
)
}
func _1680114896_add_index_on_album_idUpSql() (*asset, error) {
bytes, err := _1680114896_add_index_on_album_idUpSqlBytes()
if err != nil {
return nil, err
}
info := bindataFileInfo{name: "1680114896_add_index_on_album_id.up.sql", size: 83, mode: os.FileMode(0644), modTime: time.Unix(1684180118, 0)}
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xb3, 0x7e, 0xd5, 0xcd, 0x2d, 0xab, 0xd4, 0x32, 0x26, 0x50, 0x3a, 0x5b, 0x8e, 0x1c, 0xcc, 0x35, 0xf8, 0xa1, 0x2a, 0xc1, 0x23, 0xf6, 0x90, 0xfe, 0x84, 0x3, 0xde, 0x5a, 0xee, 0xc6, 0xfc, 0x2a}}
return a, nil
}
2023-04-16 15:06:00 +00:00
var __1681655289_add_mute_tillUpSql = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x72\xf4\x09\x71\x0d\x52\x08\x71\x74\xf2\x71\x55\x48\xce\x48\x2c\x29\x56\x70\x74\x71\x51\x70\xf6\xf7\x09\xf5\xf5\x53\xc8\x2d\x2d\x49\x4d\x89\x2f\xc9\xcc\xc9\x51\x08\xf1\xf4\x75\x0d\x0e\x71\xf4\x0d\xb0\xe6\x02\x04\x00\x00\xff\xff\xc5\x03\xbe\x71\x33\x00\x00\x00")
func _1681655289_add_mute_tillUpSqlBytes() ([]byte, error) {
return bindataRead(
__1681655289_add_mute_tillUpSql,
"1681655289_add_mute_till.up.sql",
)
}
func _1681655289_add_mute_tillUpSql() (*asset, error) {
bytes, err := _1681655289_add_mute_tillUpSqlBytes()
if err != nil {
return nil, err
}
info := bindataFileInfo{name: "1681655289_add_mute_till.up.sql", size: 51, mode: os.FileMode(0644), modTime: time.Unix(1688509829, 0)}
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xd1, 0xbe, 0xce, 0xb8, 0xe1, 0x30, 0xe7, 0xa7, 0xe0, 0x7d, 0x97, 0xf4, 0x26, 0xb8, 0x57, 0x1d, 0x2a, 0xed, 0x18, 0xf2, 0xa, 0xe3, 0x77, 0x29, 0x18, 0x55, 0x9, 0x74, 0x2c, 0x24, 0x5a, 0x19}}
2023-04-16 15:06:00 +00:00
return a, nil
}
var __1681934966_add_index_response_toUpSql = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x72\x0e\x72\x75\x0c\x71\x55\xf0\xf4\x73\x71\x8d\x50\x28\x2d\x4e\x2d\x8a\xcf\x4d\x2d\x2e\x4e\x4c\x4f\x2d\x8e\x2f\x4a\x2d\x2e\xc8\xcf\x2b\x4e\x8d\x2f\xc9\x57\xf0\xf7\x43\x95\xd4\x40\x92\xd4\xb4\xe6\x02\x04\x00\x00\xff\xff\xda\x79\x8c\xd2\x46\x00\x00\x00")
func _1681934966_add_index_response_toUpSqlBytes() ([]byte, error) {
return bindataRead(
__1681934966_add_index_response_toUpSql,
"1681934966_add_index_response_to.up.sql",
)
}
func _1681934966_add_index_response_toUpSql() (*asset, error) {
bytes, err := _1681934966_add_index_response_toUpSqlBytes()
if err != nil {
return nil, err
}
info := bindataFileInfo{name: "1681934966_add_index_response_to.up.sql", size: 70, mode: os.FileMode(0644), modTime: time.Unix(1688509829, 0)}
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x3b, 0xed, 0xa6, 0x7e, 0x51, 0xf2, 0xa1, 0x3c, 0x78, 0x9a, 0xa7, 0x7a, 0x51, 0x25, 0x7d, 0xdd, 0x4b, 0xf3, 0x45, 0xeb, 0x3f, 0xad, 0x23, 0x3e, 0xac, 0x16, 0x28, 0x62, 0x7, 0x8c, 0xe0, 0xa0}}
return a, nil
}
var __1682528339_add_index_user_messages_unseenUpSql = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x72\x0e\x72\x75\x0c\x71\x55\xf0\xf4\x73\x71\x8d\xe0\x52\x50\x50\x50\xc8\x4c\xa9\x88\x2f\x2d\x4e\x2d\x8a\xcf\x4d\x2d\x2e\x4e\x4c\x4f\x2d\x8e\x2f\xcd\x2b\x4e\x4d\xcd\x53\xf0\xf7\x53\x40\x11\x57\xd0\xc8\xc9\x4f\x4e\xcc\x89\x4f\xce\x48\x2c\x89\xcf\x4c\xd1\x51\x48\xce\xc9\x4f\xce\x8e\x2f\x4b\xcc\x29\x4d\xd5\xe4\x0a\xf7\x70\x0d\x72\x55\xf0\xf3\x0f\xd1\x00\x69\xd6\xe4\x02\x04\x00\x00\xff\xff\x3e\xb9\x19\x58\x68\x00\x00\x00")
func _1682528339_add_index_user_messages_unseenUpSqlBytes() ([]byte, error) {
return bindataRead(
__1682528339_add_index_user_messages_unseenUpSql,
"1682528339_add_index_user_messages_unseen.up.sql",
)
}
func _1682528339_add_index_user_messages_unseenUpSql() (*asset, error) {
bytes, err := _1682528339_add_index_user_messages_unseenUpSqlBytes()
if err != nil {
return nil, err
}
info := bindataFileInfo{name: "1682528339_add_index_user_messages_unseen.up.sql", size: 104, mode: os.FileMode(0644), modTime: time.Unix(1688509829, 0)}
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x35, 0xfa, 0x98, 0xdd, 0x74, 0x5e, 0x21, 0x1f, 0xf2, 0x56, 0x17, 0x96, 0xfe, 0xbb, 0x44, 0x4c, 0xa1, 0xd8, 0x9f, 0x2e, 0x6, 0x2f, 0xd8, 0x23, 0xec, 0x94, 0x8c, 0x53, 0xf3, 0xf0, 0x40, 0xe7}}
return a, nil
}
var __1683707289_recreate_deleted_for_mesUpSql = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x8c\x90\xc1\x4a\x04\x31\x0c\x86\xef\x7d\x8a\xff\xb8\x0b\xfb\x06\x73\x8a\x35\xab\xc5\x4e\x3b\xa4\x51\xdc\x53\xd1\x9d\x2a\xb2\x2b\x03\x56\xdf\x5f\xa6\x0e\x28\x1e\x1c\x73\x0c\x5f\xfe\x7c\x89\x15\x26\x65\x28\x5d\x78\x86\xdb\x23\x44\x05\xdf\xbb\xa4\x09\x1f\xb5\xbc\xe5\xd7\x52\xeb\xc3\x73\xa9\x79\x2c\xe7\xf2\x5e\xc6\xfc\x34\xb5\x66\x7e\x3c\x61\x63\x00\xe0\x78\x9e\x8e\x27\xb4\x72\x41\xf9\x8a\xa5\x85\x84\x5b\xef\x77\x0d\x58\x22\xf2\xcb\x88\x3b\x12\x7b\x4d\xbf\x81\x41\x5c\x4f\x72\xc0\x0d\x1f\xb0\xf9\xa6\xb7\x66\xdb\x19\xe3\x42\x62\x51\x44\x81\xf0\xe0\xc9\xf2\xbc\x25\xae\xcb\x25\xf6\x6c\xf5\xcb\x6e\xf7\xd3\x61\x2f\xb1\xff\x7b\xbc\x33\xe6\x52\xe2\xb0\x3c\x65\x0d\x25\xaf\x2c\xff\x61\x67\x2b\xe1\x40\x3d\x63\xed\x80\xce\x7c\x06\x00\x00\xff\xff\x81\x0b\x39\x59\x98\x01\x00\x00")
func _1683707289_recreate_deleted_for_mesUpSqlBytes() ([]byte, error) {
return bindataRead(
__1683707289_recreate_deleted_for_mesUpSql,
"1683707289_recreate_deleted_for_mes.up.sql",
)
}
func _1683707289_recreate_deleted_for_mesUpSql() (*asset, error) {
bytes, err := _1683707289_recreate_deleted_for_mesUpSqlBytes()
if err != nil {
return nil, err
}
info := bindataFileInfo{name: "1683707289_recreate_deleted_for_mes.up.sql", size: 408, mode: os.FileMode(0644), modTime: time.Unix(1688509829, 0)}
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x5b, 0x9d, 0xd6, 0x45, 0x41, 0x29, 0x44, 0xf6, 0x14, 0x38, 0xeb, 0xdf, 0x6b, 0x5d, 0x9c, 0x45, 0x4b, 0xc3, 0xa8, 0xbd, 0x38, 0x14, 0xd9, 0x73, 0xf1, 0x51, 0xbb, 0x9f, 0x14, 0x36, 0xf2, 0x11}}
return a, nil
}
var __1683725607_mark_discord_messages_as_seenUpSql = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x0a\x0d\x70\x71\x0c\x71\x55\x28\x2d\x4e\x2d\x8a\xcf\x4d\x2d\x2e\x4e\x4c\x4f\x2d\xe6\x0a\x76\x0d\x51\x28\x4e\x4d\xcd\x53\xb0\x55\x30\xe4\x0a\xf7\x70\x0d\x72\xe5\x52\x50\x50\x50\x48\xc9\x2c\x4e\xce\x2f\x4a\x81\xa9\x8b\xcf\x4c\x51\xf0\x0c\x56\xf0\xf3\x0f\x51\xf0\x0b\xf5\xf1\x01\x2b\x71\xf4\x73\xc1\xa6\x4c\xd1\x56\x41\x5d\x9d\x0b\x10\x00\x00\xff\xff\x6a\xdb\x6b\x54\x6c\x00\x00\x00")
func _1683725607_mark_discord_messages_as_seenUpSqlBytes() ([]byte, error) {
return bindataRead(
__1683725607_mark_discord_messages_as_seenUpSql,
"1683725607_mark_discord_messages_as_seen.up.sql",
)
}
func _1683725607_mark_discord_messages_as_seenUpSql() (*asset, error) {
bytes, err := _1683725607_mark_discord_messages_as_seenUpSqlBytes()
if err != nil {
return nil, err
}
info := bindataFileInfo{name: "1683725607_mark_discord_messages_as_seen.up.sql", size: 108, mode: os.FileMode(0644), modTime: time.Unix(1688509829, 0)}
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xd7, 0x2a, 0xc3, 0x43, 0xea, 0x5e, 0x3, 0x2e, 0xce, 0x79, 0xea, 0xa5, 0x67, 0x61, 0x8c, 0xe4, 0xb9, 0xb7, 0x4d, 0xd5, 0xd5, 0xb0, 0x35, 0xc8, 0x2b, 0xa0, 0x3f, 0xd8, 0xde, 0xea, 0x4e, 0x16}}
return a, nil
}
URL unfurling (initial implementation) (#3471) This is the initial implementation for the new URL unfurling requirements. The most important one is that only the message sender will pay the privacy cost for unfurling and extracting metadata from websites. Once the message is sent, the unfurled data will be stored at the protocol level and receivers will just profit and happily decode the metadata to render it. Further development of this URL unfurling capability will be mostly guided by issues created on clients. For the moment in status-mobile: https://github.com/status-im/status-mobile/labels/url-preview - https://github.com/status-im/status-mobile/issues/15918 - https://github.com/status-im/status-mobile/issues/15917 - https://github.com/status-im/status-mobile/issues/15910 - https://github.com/status-im/status-mobile/issues/15909 - https://github.com/status-im/status-mobile/issues/15908 - https://github.com/status-im/status-mobile/issues/15906 - https://github.com/status-im/status-mobile/issues/15905 ### Terminology In the code, I've tried to stick to the word "unfurl URL" to really mean the process of extracting metadata from a website, sort of lower level. I use "link preview" to mean a higher level structure which is enriched by unfurled data. "link preview" is also how designers refer to it. ### User flows 1. Carol needs to see link previews while typing in the chat input field. Notice from the diagram nothing is persisted and that status-go endpoints are essentially stateless. ``` #+begin_src plantuml :results verbatim Client->>Server: Call wakuext_getTextURLs Server-->>Client: Normalized URLs Client->>Client: Render cached unfurled URLs Client->>Server: Unfurl non-cached URLs.\nCall wakuext_unfurlURLs Server->>Website: Fetch metadata Website-->>Server: Metadata (thumbnail URL, title, etc) Server->>Website: Fetch thumbnail Server->>Website: Fetch favicon Website-->>Server: Favicon bytes Website-->>Server: Thumbnail bytes Server->>Server: Decode & process images Server-->>Client: Unfurled data (thumbnail data URI, etc) #+end_src ``` ``` ,------. ,------. ,-------. |Client| |Server| |Website| `--+---' `--+---' `---+---' | Call wakuext_getTextURLs | | | ---------------------------------------> | | | | | Normalized URLs | | | <- - - - - - - - - - - - - - - - - - - - | | | | |----. | | | | Render cached unfurled URLs | | |<---' | | | | | | Unfurl non-cached URLs. | | | Call wakuext_unfurlURLs | | | ---------------------------------------> | | | | | | Fetch metadata | | | ------------------------------------> | | | | | Metadata (thumbnail URL, title, etc)| | | <- - - - - - - - - - - - - - - - - - | | | | | Fetch thumbnail | | | ------------------------------------> | | | | | Fetch favicon | | | ------------------------------------> | | | | | Favicon bytes | | | <- - - - - - - - - - - - - - - - - - | | | | | Thumbnail bytes | | | <- - - - - - - - - - - - - - - - - - | | | | |----. | | | | Decode & process images | | |<---' | | | | | Unfurled data (thumbnail data URI, etc)| | | <- - - - - - - - - - - - - - - - - - - - | ,--+---. ,--+---. ,---+---. |Client| |Server| |Website| `------' `------' `-------' ``` 2. Carol sends the text message with link previews in the RPC request wakuext_sendChatMessages. status-go assumes the link previews are good because it can't and shouldn't attempt to re-unfurl them. ``` #+begin_src plantuml :results verbatim Client->>Server: Call wakuext_sendChatMessages Server->>Server: Transform link previews to\nbe proto-marshalled Server->DB: Write link previews serialized as JSON Server-->>Client: Updated message response #+end_src ``` ``` ,------. ,------. ,--. |Client| |Server| |DB| `--+---' `--+---' `+-' | Call wakuext_sendChatMessages| | | -----------------------------> | | | | | |----. | | | | Transform link previews to | | |<---' be proto-marshalled | | | | | | | | | Write link previews serialized as JSON| | | --------------------------------------> | | | | Updated message response | | | <- - - - - - - - - - - - - - - | ,--+---. ,--+---. ,+-. |Client| |Server| |DB| `------' `------' `--' ``` 3. The message was sent over waku and persisted locally in Carol's device. She should now see the link previews in the chat history. There can be many link previews shared by other chat members, therefore it is important to serve the assets via the media server to avoid overloading the ReactNative bridge with lots of big JSON payloads containing base64 encoded data URIs (maybe this concern is meaningless for desktop). When a client is rendering messages with link previews, they will have the field linkPreviews, and the thumbnail URL will point to the local media server. ``` #+begin_src plantuml :results verbatim Client->>Server: GET /link-preview/thumbnail (media server) Server->>DB: Read from user_messages.unfurled_links Server->Server: Unmarshal JSON Server-->>Client: HTTP Content-Type: image/jpeg/etc #+end_src ``` ``` ,------. ,------. ,--. |Client| |Server| |DB| `--+---' `--+---' `+-' | GET /link-preview/thumbnail (media server)| | | ------------------------------------------> | | | | | | Read from user_messages.unfurled_links| | | --------------------------------------> | | | | |----. | | | | Unmarshal JSON | | |<---' | | | | | HTTP Content-Type: image/jpeg/etc | | | <- - - - - - - - - - - - - - - - - - - - - | ,--+---. ,--+---. ,+-. |Client| |Server| |DB| `------' `------' `--' ``` ### Some limitations of the current implementation The following points will become separate issues in status-go that I'll work on over the next couple weeks. In no order of importance: - Improve how multiple links are fetched; retries on failure and testing how unfurling behaves around the timeout limits (deterministically, not by making real HTTP calls as I did). https://github.com/status-im/status-go/issues/3498 - Unfurl favicons and store them in the protobuf too. - For this PR, I added unfurling support only for websites with OpenGraph https://ogp.me/ meta tags. Other unfurlers will be implemented on demand. The next one will probably be for oEmbed https://oembed.com/, the protocol supported by YouTube, for example. - Resize and/or compress thumbnails (and favicons). Often times, thumbnails are huge for the purposes of link previews. There is already support for compressing JPEGs in status-go, but I prefer to work with compression in a separate PR because I'd like to also solve the problem for PNGs (probably convert them to JPEGs, plus compress them). This would be a safe choice for thumbnails, favicons not so much because transparency is desirable. - Editing messages is not yet supported. - I haven't coded any artificial limit on the number of previews or on the size of the thumbnail payload. This will be done in a separate issue. I have heard the ideal solution may be to split messages into smaller chunks of ~125 KiB because of libp2p, but that might be too complicated at this stage of the product (?). - Link preview deletion. - For the moment, OpenGraph metadata is extracted by requesting data for the English language (and fallback to whatever is available). In the future, we'll want to unfurl by respecting the user's local device language. Some websites, like GoDaddy, are already localized based on the device's IP, but many aren't. - The website's description text should be limited by a certain number of characters, especially because it's outside our control. Exactly how much has not been decided yet, so it'll be done separately. - URL normalization can be tricky, so I implemented only the basics to help with caching. For example, the url https://status.im and HTTPS://status.im are considered identical. Also, a URL is considered valid for unfurling if its TLD exists according to publicsuffix.EffectiveTLDPlusOne. This was essential, otherwise the default Go url.Parse approach would consider many invalid URLs valid, and thus the server would waste resources trying to unfurl the unfurleable. ### Other requirements - If the message is edited, the link previews should reflect the edited text, not the original one. This has been aligned with the design team as well. - If the website's thumbnail or the favicon can't be fetched, just ignore them. The only mandatory piece of metadata is the website's title and URL. - Link previews in clients should be generated in near real-time, that is, as the user types, previews are updated. In mobile this performs very well, and it's what other clients like WhatsApp, Telegram, and Facebook do. ### Decisions - While the user typing in the input field, the client is constantly (debounced) asking status-go to parse the text and extract normalized URLs and then the client checks if they're already in its in-memory cache. If they are, no RPC call is made. I chose this approach to achieve the best possible performance in mobile and avoid the whole RPC overhead, since the chat experience is already not smooth enough. The mobile client uses URLs as cache keys in a hashmap, i.e. if the key is present, it means the preview is readily available (naive, but good enough for now). This decision also gave me more flexibility to find the best UX at this stage of the feature. - Due to the requirement that users should be able to see independent loading indicators for each link preview, when status-go can't unfurl a URL, it doesn't return it in the response. - As an initial implementation, I added the BLOB column unfurled_links to the user_messages table. The preview data is then serialized as JSON before being stored in this column. I felt that creating a separate table and the related code for this initial PR would be inconvenient. Is that reasonable to you? Once things stabilize I can create a proper table if we want to avoid this kind of solution with serialized columns.
2023-05-18 18:43:06 +00:00
var __1684174617_add_url_previews_to_user_messagesUpSql = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x72\xf4\x09\x71\x0d\x52\x08\x71\x74\xf2\x71\x55\x28\x2d\x4e\x2d\x8a\xcf\x4d\x2d\x2e\x4e\x4c\x4f\x2d\x56\x70\x74\x71\x51\x70\xf6\xf7\x09\xf5\xf5\x53\x28\xcd\x4b\x2b\x2d\xca\x49\x4d\x89\xcf\xc9\xcc\xcb\x2e\x56\x70\xf2\xf1\x77\xb2\xe6\x02\x04\x00\x00\xff\xff\x02\x1d\x55\x37\x3a\x00\x00\x00")
func _1684174617_add_url_previews_to_user_messagesUpSqlBytes() ([]byte, error) {
return bindataRead(
__1684174617_add_url_previews_to_user_messagesUpSql,
"1684174617_add_url_previews_to_user_messages.up.sql",
)
}
func _1684174617_add_url_previews_to_user_messagesUpSql() (*asset, error) {
bytes, err := _1684174617_add_url_previews_to_user_messagesUpSqlBytes()
if err != nil {
return nil, err
}
info := bindataFileInfo{name: "1684174617_add_url_previews_to_user_messages.up.sql", size: 58, mode: os.FileMode(0644), modTime: time.Unix(1688509829, 0)}
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xdc, 0xb0, 0x72, 0xe3, 0xe4, 0xa9, 0x63, 0x82, 0xea, 0x52, 0x70, 0xb6, 0xa0, 0x73, 0x55, 0x7a, 0x78, 0xa8, 0xd2, 0xb0, 0xf4, 0x78, 0x8a, 0xd, 0x5a, 0xa2, 0x9d, 0x92, 0xdc, 0xce, 0x1c, 0x71}}
URL unfurling (initial implementation) (#3471) This is the initial implementation for the new URL unfurling requirements. The most important one is that only the message sender will pay the privacy cost for unfurling and extracting metadata from websites. Once the message is sent, the unfurled data will be stored at the protocol level and receivers will just profit and happily decode the metadata to render it. Further development of this URL unfurling capability will be mostly guided by issues created on clients. For the moment in status-mobile: https://github.com/status-im/status-mobile/labels/url-preview - https://github.com/status-im/status-mobile/issues/15918 - https://github.com/status-im/status-mobile/issues/15917 - https://github.com/status-im/status-mobile/issues/15910 - https://github.com/status-im/status-mobile/issues/15909 - https://github.com/status-im/status-mobile/issues/15908 - https://github.com/status-im/status-mobile/issues/15906 - https://github.com/status-im/status-mobile/issues/15905 ### Terminology In the code, I've tried to stick to the word "unfurl URL" to really mean the process of extracting metadata from a website, sort of lower level. I use "link preview" to mean a higher level structure which is enriched by unfurled data. "link preview" is also how designers refer to it. ### User flows 1. Carol needs to see link previews while typing in the chat input field. Notice from the diagram nothing is persisted and that status-go endpoints are essentially stateless. ``` #+begin_src plantuml :results verbatim Client->>Server: Call wakuext_getTextURLs Server-->>Client: Normalized URLs Client->>Client: Render cached unfurled URLs Client->>Server: Unfurl non-cached URLs.\nCall wakuext_unfurlURLs Server->>Website: Fetch metadata Website-->>Server: Metadata (thumbnail URL, title, etc) Server->>Website: Fetch thumbnail Server->>Website: Fetch favicon Website-->>Server: Favicon bytes Website-->>Server: Thumbnail bytes Server->>Server: Decode & process images Server-->>Client: Unfurled data (thumbnail data URI, etc) #+end_src ``` ``` ,------. ,------. ,-------. |Client| |Server| |Website| `--+---' `--+---' `---+---' | Call wakuext_getTextURLs | | | ---------------------------------------> | | | | | Normalized URLs | | | <- - - - - - - - - - - - - - - - - - - - | | | | |----. | | | | Render cached unfurled URLs | | |<---' | | | | | | Unfurl non-cached URLs. | | | Call wakuext_unfurlURLs | | | ---------------------------------------> | | | | | | Fetch metadata | | | ------------------------------------> | | | | | Metadata (thumbnail URL, title, etc)| | | <- - - - - - - - - - - - - - - - - - | | | | | Fetch thumbnail | | | ------------------------------------> | | | | | Fetch favicon | | | ------------------------------------> | | | | | Favicon bytes | | | <- - - - - - - - - - - - - - - - - - | | | | | Thumbnail bytes | | | <- - - - - - - - - - - - - - - - - - | | | | |----. | | | | Decode & process images | | |<---' | | | | | Unfurled data (thumbnail data URI, etc)| | | <- - - - - - - - - - - - - - - - - - - - | ,--+---. ,--+---. ,---+---. |Client| |Server| |Website| `------' `------' `-------' ``` 2. Carol sends the text message with link previews in the RPC request wakuext_sendChatMessages. status-go assumes the link previews are good because it can't and shouldn't attempt to re-unfurl them. ``` #+begin_src plantuml :results verbatim Client->>Server: Call wakuext_sendChatMessages Server->>Server: Transform link previews to\nbe proto-marshalled Server->DB: Write link previews serialized as JSON Server-->>Client: Updated message response #+end_src ``` ``` ,------. ,------. ,--. |Client| |Server| |DB| `--+---' `--+---' `+-' | Call wakuext_sendChatMessages| | | -----------------------------> | | | | | |----. | | | | Transform link previews to | | |<---' be proto-marshalled | | | | | | | | | Write link previews serialized as JSON| | | --------------------------------------> | | | | Updated message response | | | <- - - - - - - - - - - - - - - | ,--+---. ,--+---. ,+-. |Client| |Server| |DB| `------' `------' `--' ``` 3. The message was sent over waku and persisted locally in Carol's device. She should now see the link previews in the chat history. There can be many link previews shared by other chat members, therefore it is important to serve the assets via the media server to avoid overloading the ReactNative bridge with lots of big JSON payloads containing base64 encoded data URIs (maybe this concern is meaningless for desktop). When a client is rendering messages with link previews, they will have the field linkPreviews, and the thumbnail URL will point to the local media server. ``` #+begin_src plantuml :results verbatim Client->>Server: GET /link-preview/thumbnail (media server) Server->>DB: Read from user_messages.unfurled_links Server->Server: Unmarshal JSON Server-->>Client: HTTP Content-Type: image/jpeg/etc #+end_src ``` ``` ,------. ,------. ,--. |Client| |Server| |DB| `--+---' `--+---' `+-' | GET /link-preview/thumbnail (media server)| | | ------------------------------------------> | | | | | | Read from user_messages.unfurled_links| | | --------------------------------------> | | | | |----. | | | | Unmarshal JSON | | |<---' | | | | | HTTP Content-Type: image/jpeg/etc | | | <- - - - - - - - - - - - - - - - - - - - - | ,--+---. ,--+---. ,+-. |Client| |Server| |DB| `------' `------' `--' ``` ### Some limitations of the current implementation The following points will become separate issues in status-go that I'll work on over the next couple weeks. In no order of importance: - Improve how multiple links are fetched; retries on failure and testing how unfurling behaves around the timeout limits (deterministically, not by making real HTTP calls as I did). https://github.com/status-im/status-go/issues/3498 - Unfurl favicons and store them in the protobuf too. - For this PR, I added unfurling support only for websites with OpenGraph https://ogp.me/ meta tags. Other unfurlers will be implemented on demand. The next one will probably be for oEmbed https://oembed.com/, the protocol supported by YouTube, for example. - Resize and/or compress thumbnails (and favicons). Often times, thumbnails are huge for the purposes of link previews. There is already support for compressing JPEGs in status-go, but I prefer to work with compression in a separate PR because I'd like to also solve the problem for PNGs (probably convert them to JPEGs, plus compress them). This would be a safe choice for thumbnails, favicons not so much because transparency is desirable. - Editing messages is not yet supported. - I haven't coded any artificial limit on the number of previews or on the size of the thumbnail payload. This will be done in a separate issue. I have heard the ideal solution may be to split messages into smaller chunks of ~125 KiB because of libp2p, but that might be too complicated at this stage of the product (?). - Link preview deletion. - For the moment, OpenGraph metadata is extracted by requesting data for the English language (and fallback to whatever is available). In the future, we'll want to unfurl by respecting the user's local device language. Some websites, like GoDaddy, are already localized based on the device's IP, but many aren't. - The website's description text should be limited by a certain number of characters, especially because it's outside our control. Exactly how much has not been decided yet, so it'll be done separately. - URL normalization can be tricky, so I implemented only the basics to help with caching. For example, the url https://status.im and HTTPS://status.im are considered identical. Also, a URL is considered valid for unfurling if its TLD exists according to publicsuffix.EffectiveTLDPlusOne. This was essential, otherwise the default Go url.Parse approach would consider many invalid URLs valid, and thus the server would waste resources trying to unfurl the unfurleable. ### Other requirements - If the message is edited, the link previews should reflect the edited text, not the original one. This has been aligned with the design team as well. - If the website's thumbnail or the favicon can't be fetched, just ignore them. The only mandatory piece of metadata is the website's title and URL. - Link previews in clients should be generated in near real-time, that is, as the user types, previews are updated. In mobile this performs very well, and it's what other clients like WhatsApp, Telegram, and Facebook do. ### Decisions - While the user typing in the input field, the client is constantly (debounced) asking status-go to parse the text and extract normalized URLs and then the client checks if they're already in its in-memory cache. If they are, no RPC call is made. I chose this approach to achieve the best possible performance in mobile and avoid the whole RPC overhead, since the chat experience is already not smooth enough. The mobile client uses URLs as cache keys in a hashmap, i.e. if the key is present, it means the preview is readily available (naive, but good enough for now). This decision also gave me more flexibility to find the best UX at this stage of the feature. - Due to the requirement that users should be able to see independent loading indicators for each link preview, when status-go can't unfurl a URL, it doesn't return it in the response. - As an initial implementation, I added the BLOB column unfurled_links to the user_messages table. The preview data is then serialized as JSON before being stored in this column. I felt that creating a separate table and the related code for this initial PR would be inconvenient. Is that reasonable to you? Once things stabilize I can create a proper table if we want to avoid this kind of solution with serialized columns.
2023-05-18 18:43:06 +00:00
return a, nil
}
var __1684175608_add_token_balancesUpSql = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x8c\x90\xcd\x4a\x03\x31\x14\x85\xf7\xf3\x14\x87\xae\x5a\x98\x97\x88\xf1\x0e\x06\x63\xa6\xa4\xa9\xd8\xd5\x90\x26\x01\x83\x33\x89\x24\xed\xc2\xb7\x17\xa4\xf8\x37\x65\x74\x7d\xcf\x39\xf7\xe3\xe3\x9a\x98\x21\x18\x76\x23\x09\xa2\x83\xea\x0d\xe8\x49\xec\xcc\x0e\xa7\xfc\x12\xd2\x70\xb4\xa3\x4d\x2e\x54\xac\x1b\xe0\x5c\x43\x19\xac\xf7\x25\xd4\x8a\x47\xa6\xf9\x1d\xd3\x1f\x15\xb5\x97\xb2\x6d\x70\xe9\x24\x3b\x85\x85\x73\x7d\x9b\x8e\x79\x5c\x08\xfc\xfd\xc1\xe5\x31\x97\xd9\x1d\xb7\xd4\xb1\xbd\x34\x58\xad\xbe\xa2\x3e\xb8\x38\xd9\xb1\x42\x28\x73\x65\xc9\x87\xea\x4a\x7c\x3d\xc5\x9c\xfe\xb7\x77\x2e\x73\xf4\x5f\xc1\x8b\xb3\xab\xfc\xee\xd9\xc6\x34\x44\x3f\xc3\xd9\x6a\xf1\xc0\xf4\x01\xf7\x74\xc0\xfa\xbb\xe8\xf6\xb3\xd3\xfe\x10\xb8\x41\xaf\xc0\x7b\xd5\x49\xc1\x0d\x34\x6d\x25\xe3\xd4\x6c\x9a\xf7\x00\x00\x00\xff\xff\x66\x62\xf6\xfb\xd3\x01\x00\x00")
func _1684175608_add_token_balancesUpSqlBytes() ([]byte, error) {
return bindataRead(
__1684175608_add_token_balancesUpSql,
"1684175608_add_token_balances.up.sql",
)
}
func _1684175608_add_token_balancesUpSql() (*asset, error) {
bytes, err := _1684175608_add_token_balancesUpSqlBytes()
if err != nil {
return nil, err
}
info := bindataFileInfo{name: "1684175608_add_token_balances.up.sql", size: 467, mode: os.FileMode(0644), modTime: time.Unix(1688509829, 0)}
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x1b, 0x4e, 0xe0, 0x48, 0x34, 0x1, 0x4d, 0x88, 0x11, 0x54, 0x20, 0x52, 0x5c, 0x57, 0x14, 0xa9, 0xa9, 0x36, 0xa4, 0x28, 0x59, 0x48, 0xa8, 0xa, 0x76, 0xec, 0x37, 0xee, 0x9e, 0xd2, 0x20, 0xaa}}
return a, nil
}
var __1684979808_sync_activity_center_notificationsUpSql = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x94\xcc\xc1\x09\x02\x31\x10\x05\xd0\xbb\x55\xfc\x12\xbc\x7b\x8a\x26\x82\x30\x66\x41\x26\xe7\x30\x64\x23\xcc\x25\x2b\xe6\x2b\xd8\xbd\x1d\x08\x36\xf0\x82\x68\xba\x41\xc3\x51\x12\xac\xd1\xdf\xce\x4f\x6d\x7d\xb0\x3f\xeb\xa4\xb1\x4f\x84\x18\x71\x5a\xa4\x5c\x33\x5e\x8f\xd5\xd8\xd7\x6a\xc4\x25\x2b\xf2\xa2\xc8\x45\x04\x31\x9d\x43\x11\xc5\xfe\xb0\xfb\x05\x8e\x8d\x7e\xf7\x66\xf4\x6d\xfc\xeb\x7e\x03\x00\x00\xff\xff\x09\xb8\x1a\x7c\xa9\x00\x00\x00")
func _1684979808_sync_activity_center_notificationsUpSqlBytes() ([]byte, error) {
return bindataRead(
__1684979808_sync_activity_center_notificationsUpSql,
"1684979808_sync_activity_center_notifications.up.sql",
)
}
func _1684979808_sync_activity_center_notificationsUpSql() (*asset, error) {
bytes, err := _1684979808_sync_activity_center_notificationsUpSqlBytes()
if err != nil {
return nil, err
}
info := bindataFileInfo{name: "1684979808_sync_activity_center_notifications.up.sql", size: 169, mode: os.FileMode(0644), modTime: time.Unix(1688509829, 0)}
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xd8, 0xf5, 0xf7, 0x94, 0xa9, 0xa1, 0x60, 0x26, 0x9d, 0xca, 0x31, 0xf, 0x14, 0xd, 0x70, 0xf8, 0xab, 0x40, 0x29, 0x73, 0x61, 0xbd, 0x1b, 0xb6, 0xc4, 0x31, 0x77, 0x9e, 0x32, 0xa8, 0xce, 0x6d}}
return a, nil
}
var __1685383829_add_communities_mute_tillUpSql = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x72\xf4\x09\x71\x0d\x52\x08\x71\x74\xf2\x71\x55\x48\xce\xcf\xcd\x2d\xcd\xcb\x2c\xc9\x4c\x2d\x8e\x47\x62\x2b\x38\xba\xb8\x28\x38\xfb\xfb\x84\xfa\xfa\x29\xe4\x96\x96\xa4\xa6\xc4\x97\x64\xe6\xe4\x28\x84\x78\xfa\xba\x06\x87\x38\xfa\x06\x58\x73\x01\x02\x00\x00\xff\xff\x12\xa7\x7e\x43\x45\x00\x00\x00")
func _1685383829_add_communities_mute_tillUpSqlBytes() ([]byte, error) {
return bindataRead(
__1685383829_add_communities_mute_tillUpSql,
"1685383829_add_communities_mute_till.up.sql",
)
}
func _1685383829_add_communities_mute_tillUpSql() (*asset, error) {
bytes, err := _1685383829_add_communities_mute_tillUpSqlBytes()
if err != nil {
return nil, err
}
info := bindataFileInfo{name: "1685383829_add_communities_mute_till.up.sql", size: 69, mode: os.FileMode(0644), modTime: time.Unix(1688509829, 0)}
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xbf, 0x58, 0x96, 0xe5, 0x66, 0xcb, 0xde, 0xed, 0x76, 0xb8, 0x5a, 0x86, 0x81, 0x9a, 0x60, 0x51, 0x12, 0x37, 0x54, 0x9a, 0x36, 0x3e, 0xd1, 0x4a, 0xbe, 0x9a, 0xab, 0x20, 0x7f, 0x1d, 0xf4, 0x73}}
return a, nil
}
var __1685964183_add_chainids_to_revealed_addressesUpSql = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x04\xc0\x41\x0a\x42\x21\x10\x06\xe0\xfd\x3b\xc5\xdc\xa3\x95\xf5\xdc\x59\x41\x4c\xd0\x6e\x10\xe7\x87\x26\x52\xc9\xd1\xce\xff\xbe\x90\x38\x3e\x88\xc3\x39\x45\x2a\xbd\xd6\xd5\x6c\x1a\x5c\x06\x7e\x0b\x3e\x5d\x66\x97\x4f\xb7\x26\x03\x7f\xe4\x2f\x54\xb2\xea\x80\x3b\x9c\xc2\xbe\xd3\xe5\x9e\x9e\xd7\x1b\x95\x77\xb6\x26\xa6\x4e\x1c\x5f\x7c\xda\xb6\x23\x00\x00\xff\xff\x9e\xc9\xd7\x81\x58\x00\x00\x00")
func _1685964183_add_chainids_to_revealed_addressesUpSqlBytes() ([]byte, error) {
return bindataRead(
__1685964183_add_chainids_to_revealed_addressesUpSql,
"1685964183_add_chainids_to_revealed_addresses.up.sql",
)
}
func _1685964183_add_chainids_to_revealed_addressesUpSql() (*asset, error) {
bytes, err := _1685964183_add_chainids_to_revealed_addressesUpSqlBytes()
if err != nil {
return nil, err
}
info := bindataFileInfo{name: "1685964183_add_chainids_to_revealed_addresses.up.sql", size: 88, mode: os.FileMode(0644), modTime: time.Unix(1688509829, 0)}
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xc, 0xb5, 0xa8, 0xd7, 0xad, 0x9c, 0x54, 0xa5, 0xe9, 0xdb, 0x42, 0x2d, 0xd0, 0xd7, 0x22, 0x1, 0x93, 0xf3, 0x4f, 0x53, 0xf7, 0x1e, 0xbe, 0x4b, 0xac, 0xc7, 0x63, 0x15, 0xdf, 0xe0, 0x6, 0xf8}}
return a, nil
}
var __1687370421_add_communities_muted_till_newUpSql = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x94\x52\xb1\x6e\x83\x30\x10\xdd\xfd\x15\x6f\x6c\x25\x0f\xd9\x33\x19\x72\x48\xa8\xc6\x46\xc6\x19\x32\xa1\x08\x5c\xc9\x6d\x02\x28\x38\x91\xf8\xfb\x4a\x01\x05\x5a\x5a\x29\xdd\x2c\xdf\xbb\xf7\xee\xde\xbd\xd8\x90\xb0\x04\x2b\x22\x49\xa8\xda\xf3\xf9\xda\xf8\xe0\x5d\x5f\x56\x6d\x37\xe0\x85\x01\x80\xaf\x11\x49\x1d\x41\x69\x0b\xb5\x97\x12\xb9\x49\x33\x61\x0e\x78\xa3\x03\xb4\x42\xac\x55\x22\xd3\xd8\xc2\x50\x2e\x45\x4c\xfc\xde\xd5\x5d\xfc\xed\x18\x5c\xf9\xe9\x86\x7b\xfb\xf8\x5b\xbb\xbe\xba\xf8\x2e\xf8\xb6\xf9\x4e\x3a\x96\x3f\x5a\xdf\xb8\x1a\x91\xd6\x92\x84\x9a\x15\x77\x94\x88\xbd\xb4\x48\x84\x2c\x26\xfe\x9b\xbb\xf8\x77\xff\x24\xb8\xef\x5c\x15\x8e\xe1\x49\xf4\xf9\xfa\x2f\x64\x19\xfc\xe9\x04\x9b\x66\x54\x58\x91\xe5\x93\xe2\xd0\x54\xae\x2e\x8f\x61\x2e\xac\x99\x36\xec\x75\xcb\x58\xaa\x0a\x32\x16\xa9\xb2\x7a\x7d\x82\x82\x24\xc5\x16\xbe\xe6\x4b\x47\xf9\xd2\x48\x3e\xd9\xc6\x1f\x9e\xf0\x79\x61\x3e\xce\xc8\xb1\xe1\x8b\x99\x12\xa3\xb3\x1f\x5a\x8f\xf7\x96\xb1\x9d\xd1\xf9\xaf\x99\x58\x82\x84\xb4\x64\xfe\x4a\x8e\x21\x25\x32\xc2\x6a\xa3\x05\xc1\x57\x00\x00\x00\xff\xff\xe9\x48\xce\x39\x7b\x02\x00\x00")
func _1687370421_add_communities_muted_till_newUpSqlBytes() ([]byte, error) {
return bindataRead(
__1687370421_add_communities_muted_till_newUpSql,
"1687370421_add_communities_muted_till_new.up.sql",
)
}
func _1687370421_add_communities_muted_till_newUpSql() (*asset, error) {
bytes, err := _1687370421_add_communities_muted_till_newUpSqlBytes()
if err != nil {
return nil, err
}
info := bindataFileInfo{name: "1687370421_add_communities_muted_till_new.up.sql", size: 635, mode: os.FileMode(0644), modTime: time.Unix(1688509829, 0)}
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x65, 0x73, 0x96, 0x1d, 0xc8, 0x3e, 0xca, 0xf5, 0xdc, 0xe3, 0xac, 0x3f, 0x9c, 0xc3, 0x67, 0x12, 0x9c, 0x19, 0x1, 0x4, 0x2b, 0xea, 0x6b, 0xe1, 0x59, 0x59, 0x89, 0x3d, 0xef, 0x4a, 0x6e, 0xbe}}
return a, nil
}
var __1687416607_add_communities_check_channel_permission_responses_tableUpSql = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xac\x91\xd1\x6a\x83\x30\x14\x86\xef\x7d\x8a\x43\xaf\x5a\xf0\x0d\x76\x95\xba\xc8\x64\x99\x96\x34\x8e\xf6\x2a\x88\x66\x78\xa8\x26\xe2\x49\x37\xfa\xf6\xc3\x8d\x16\xdd\x5a\x1c\xac\xd7\xf9\xcf\x39\x5f\xfe\x2f\x92\x9c\x29\x0e\x8a\xad\x05\x87\x24\x86\x34\x53\xc0\x77\xc9\x56\x6d\xa1\x74\x6d\x7b\xb4\xe8\xd1\x90\x2e\x6b\x53\x1e\x74\x59\x17\xd6\x9a\x46\x77\xa6\x6f\x91\x08\x9d\xd5\xbd\xa1\xce\x59\x32\x04\xcb\x00\x2e\x23\x27\x8d\x15\xbc\x32\x19\x3d\x31\xf9\xb5\x32\xcd\x85\x08\x87\x40\x5d\xf8\x6b\x6f\xf0\xc8\x63\x96\x0b\x05\x8b\xc5\x10\x7b\x47\xf3\xa1\x9d\x6d\x4e\xa3\x53\xa4\xa9\xf0\x48\x6f\x68\x2a\x58\x67\x99\xe0\x2c\xfd\x3d\xae\x64\xce\x2f\x0b\x0a\x5b\xe9\xce\x91\xff\xd7\x92\x1f\x14\x1a\x2b\x02\xc5\x77\x6a\xf2\xad\x5b\xe7\xae\xa7\x37\x32\x79\x61\x72\x0f\xcf\x7c\xbf\x1c\x37\x16\x9e\xeb\x59\x41\x96\x42\x94\xa5\xb1\x48\x22\x05\x92\x6f\x04\x8b\x78\xb0\x7a\x08\x82\x3f\xea\x1a\x11\x78\x77\x30\x56\x97\x3d\x7a\xd3\x63\x31\xf8\x3a\x36\xfe\xdb\xd6\x84\x73\x4e\xc9\xbd\xd4\x9e\x49\xe6\x72\xb3\x25\x85\x53\xfe\xdb\x9d\x7d\x06\x00\x00\xff\xff\x71\xb4\x26\x0c\xe3\x02\x00\x00")
func _1687416607_add_communities_check_channel_permission_responses_tableUpSqlBytes() ([]byte, error) {
return bindataRead(
__1687416607_add_communities_check_channel_permission_responses_tableUpSql,
"1687416607_add_communities_check_channel_permission_responses_table.up.sql",
)
}
func _1687416607_add_communities_check_channel_permission_responses_tableUpSql() (*asset, error) {
bytes, err := _1687416607_add_communities_check_channel_permission_responses_tableUpSqlBytes()
if err != nil {
return nil, err
}
info := bindataFileInfo{name: "1687416607_add_communities_check_channel_permission_responses_table.up.sql", size: 739, mode: os.FileMode(0644), modTime: time.Unix(1688509829, 0)}
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xc2, 0x6, 0x3, 0x1a, 0xde, 0x9d, 0xbc, 0x50, 0x9d, 0xf1, 0x6d, 0x5a, 0x1c, 0x28, 0x92, 0x19, 0x89, 0x76, 0x4e, 0x8b, 0x60, 0xa9, 0xf, 0xe9, 0x76, 0xf1, 0xee, 0x75, 0x92, 0xbd, 0xda, 0x72}}
return a, nil
}
var __1687856939_add_community_tokens_decimalsUpSql = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x72\xf4\x09\x71\x0d\x52\x08\x71\x74\xf2\x71\x55\x48\xce\xcf\xcd\x2d\xcd\xcb\x2c\xa9\x8c\x2f\xc9\xcf\x4e\xcd\x2b\x56\x70\x74\x71\x51\x70\xf6\xf7\x09\xf5\xf5\x53\x48\x49\x4d\xce\xcc\x4d\xcc\x29\x56\xf0\xf4\x0b\x51\x70\x71\x75\x73\x0c\xf5\x09\x51\x30\xb4\xb0\xe6\x02\x04\x00\x00\xff\xff\x00\x67\xca\x06\x41\x00\x00\x00")
func _1687856939_add_community_tokens_decimalsUpSqlBytes() ([]byte, error) {
return bindataRead(
__1687856939_add_community_tokens_decimalsUpSql,
"1687856939_add_community_tokens_decimals.up.sql",
)
}
func _1687856939_add_community_tokens_decimalsUpSql() (*asset, error) {
bytes, err := _1687856939_add_community_tokens_decimalsUpSqlBytes()
if err != nil {
return nil, err
}
info := bindataFileInfo{name: "1687856939_add_community_tokens_decimals.up.sql", size: 65, mode: os.FileMode(0644), modTime: time.Unix(1689694156, 0)}
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x59, 0x76, 0x42, 0x70, 0xc9, 0x7b, 0x16, 0xf6, 0xfe, 0x7, 0x1c, 0x99, 0xe5, 0x38, 0xfd, 0xa0, 0x3b, 0x93, 0x40, 0xbc, 0x66, 0xc2, 0xd1, 0xdd, 0xe9, 0xc7, 0xbf, 0xae, 0x36, 0xcc, 0x46, 0x57}}
return a, nil
}
2023-07-13 14:02:03 +00:00
var __1687959987_modify_community_tokens_supply_as_stringUpSql = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x72\xf4\x09\x71\x0d\x52\x08\x71\x74\xf2\x71\x55\x48\xce\xcf\xcd\x2d\xcd\xcb\x2c\xa9\x8c\x2f\xc9\xcf\x4e\xcd\x2b\x56\x70\x74\x71\x51\x70\xf6\xf7\x09\xf5\xf5\x53\x28\x2e\x2d\x28\xc8\xa9\x8c\x2f\x2e\x29\x52\x08\x71\x8d\x08\x51\xf0\xf3\x0f\x51\xf0\x0b\xf5\xf1\x51\x70\x71\x75\x73\x0c\xf5\x09\x51\x50\x52\xb2\xe6\x02\x04\x00\x00\xff\xff\x0f\x6c\x6c\xe2\x4d\x00\x00\x00")
func _1687959987_modify_community_tokens_supply_as_stringUpSqlBytes() ([]byte, error) {
return bindataRead(
__1687959987_modify_community_tokens_supply_as_stringUpSql,
"1687959987_modify_community_tokens_supply_as_string.up.sql",
)
}
func _1687959987_modify_community_tokens_supply_as_stringUpSql() (*asset, error) {
bytes, err := _1687959987_modify_community_tokens_supply_as_stringUpSqlBytes()
if err != nil {
return nil, err
}
info := bindataFileInfo{name: "1687959987_modify_community_tokens_supply_as_string.up.sql", size: 77, mode: os.FileMode(0644), modTime: time.Unix(1689694156, 0)}
2023-07-13 14:02:03 +00:00
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x57, 0x89, 0xbf, 0x9b, 0xed, 0x9b, 0x18, 0x3f, 0x84, 0xb5, 0x3c, 0x78, 0x40, 0x60, 0xea, 0x33, 0x26, 0x50, 0x3, 0xda, 0x28, 0x92, 0xd3, 0xb6, 0xff, 0x40, 0xa7, 0x19, 0x2, 0xa7, 0x17, 0xf9}}
return a, nil
}
var __1689258900_add_airdrop_address_to_revealed_addressesUpSql = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x34\xc9\x31\x0e\xc2\x30\x0c\x05\xd0\x9d\x53\xf8\x1e\x4c\x29\xcd\x66\x1a\x09\x95\xd9\x8a\xf0\x1f\x8c\x68\x0d\x76\xca\xf9\x99\x98\x5f\xe1\xb5\xde\x68\x2d\x13\x57\x7a\xf8\xb6\x1d\xbb\x0d\x43\x4a\xe0\x73\x20\x47\xca\x70\x79\xba\xed\x12\xf8\xa2\xbf\xa0\xd2\x55\x03\x99\x48\x2a\xf3\x4c\x97\xc6\xf7\xeb\x42\x96\xd2\x2d\x34\xfc\xfd\x77\x9a\x5a\xe3\x5a\x96\xf3\xe9\x17\x00\x00\xff\xff\xa2\x39\x8f\xf1\x63\x00\x00\x00")
func _1689258900_add_airdrop_address_to_revealed_addressesUpSqlBytes() ([]byte, error) {
return bindataRead(
__1689258900_add_airdrop_address_to_revealed_addressesUpSql,
"1689258900_add_airdrop_address_to_revealed_addresses.up.sql",
)
}
func _1689258900_add_airdrop_address_to_revealed_addressesUpSql() (*asset, error) {
bytes, err := _1689258900_add_airdrop_address_to_revealed_addressesUpSqlBytes()
if err != nil {
return nil, err
}
info := bindataFileInfo{name: "1689258900_add_airdrop_address_to_revealed_addresses.up.sql", size: 99, mode: os.FileMode(0644), modTime: time.Unix(1689694156, 0)}
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xea, 0x7e, 0xaf, 0x5c, 0xd, 0xe5, 0x1e, 0x67, 0x1a, 0x6d, 0xd, 0x28, 0x20, 0x7a, 0x1a, 0x45, 0x6e, 0xba, 0x80, 0x91, 0xb0, 0xd6, 0xfd, 0xc2, 0xb9, 0x42, 0x5c, 0x8d, 0x6e, 0x3e, 0x6e, 0xb2}}
return a, nil
}
var __1689266326_create_communities_events_tableUpSql = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x54\xcc\xb1\x0a\xc2\x30\x14\x85\xe1\xbd\x4f\x71\x46\x05\xdf\xc0\x29\x09\xb7\x10\xbc\x26\x25\x8d\x60\x27\x91\x36\xc3\x1d\x9a\x4a\x13\xf5\xf5\x05\xa1\x43\xe7\xf3\x9d\xdf\x04\x52\x91\x10\x95\x66\x82\x6d\xe1\x7c\x04\xdd\x6d\x1f\x7b\x8c\xcb\x3c\xbf\xb3\x54\x49\xe5\x91\x3e\x29\xd7\x82\x43\x03\xc8\x04\xcd\x5e\xff\xa5\xbb\x31\xa3\x0b\xf6\xaa\xc2\x80\x0b\x0d\xf0\x0e\xc6\xbb\x96\xad\x89\x08\xd4\xb1\x32\x74\x6a\x80\xf5\xf9\xdd\x12\xbb\xef\xb6\x4d\xa9\x8c\xab\xbc\xaa\x2c\x79\x0f\x1a\xe0\x78\xfe\x05\x00\x00\xff\xff\x17\xa1\x63\xc0\xa4\x00\x00\x00")
func _1689266326_create_communities_events_tableUpSqlBytes() ([]byte, error) {
return bindataRead(
__1689266326_create_communities_events_tableUpSql,
"1689266326_create_communities_events_table.up.sql",
)
}
func _1689266326_create_communities_events_tableUpSql() (*asset, error) {
bytes, err := _1689266326_create_communities_events_tableUpSqlBytes()
if err != nil {
return nil, err
}
info := bindataFileInfo{name: "1689266326_create_communities_events_table.up.sql", size: 164, mode: os.FileMode(0644), modTime: time.Unix(1689856170, 0)}
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xf5, 0x4e, 0xe, 0xba, 0x29, 0x16, 0x46, 0x38, 0x19, 0xa4, 0x5, 0x40, 0x46, 0xaf, 0x9a, 0x6, 0x89, 0xe0, 0x9c, 0xcc, 0xec, 0x8a, 0xb, 0x40, 0x85, 0x6f, 0xcc, 0x5, 0x24, 0x2a, 0x33, 0xfa}}
return a, nil
}
var __1689931300_add_community_tokens_deployer_and_priv_levelUpSql = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x72\xf4\x09\x71\x0d\x52\x08\x71\x74\xf2\x71\x55\x48\xce\xcf\xcd\x2d\xcd\xcb\x2c\xa9\x8c\x2f\xc9\xcf\x4e\xcd\x2b\x56\x70\x74\x71\x51\x70\xf6\xf7\x09\xf5\xf5\x53\x48\x49\x2d\xc8\xc9\xaf\x4c\x2d\x52\x08\x71\x8d\x08\x51\xf0\xf3\x0f\x51\xf0\x0b\xf5\xf1\x51\x70\x71\x75\x73\x0c\xf5\x09\x51\x50\x52\xb2\xe6\x22\xd6\xa8\x82\xa2\xcc\xb2\xcc\x9c\xd4\xf4\xd4\xe2\xf8\x9c\xd4\xb2\xd4\x1c\x05\x4f\x3f\x2c\x26\x1a\x59\x73\x01\x02\x00\x00\xff\xff\x7a\x52\x66\x6c\x9c\x00\x00\x00")
func _1689931300_add_community_tokens_deployer_and_priv_levelUpSqlBytes() ([]byte, error) {
return bindataRead(
__1689931300_add_community_tokens_deployer_and_priv_levelUpSql,
"1689931300_add_community_tokens_deployer_and_priv_level.up.sql",
)
}
func _1689931300_add_community_tokens_deployer_and_priv_levelUpSql() (*asset, error) {
bytes, err := _1689931300_add_community_tokens_deployer_and_priv_levelUpSqlBytes()
if err != nil {
return nil, err
}
info := bindataFileInfo{name: "1689931300_add_community_tokens_deployer_and_priv_level.up.sql", size: 156, mode: os.FileMode(0644), modTime: time.Unix(1692220039, 0)}
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x3f, 0x24, 0xd9, 0x4d, 0xe, 0x4b, 0xe3, 0x4c, 0xd1, 0xc, 0x72, 0xd4, 0x99, 0xe4, 0xb9, 0xb8, 0xe9, 0x38, 0x9e, 0x11, 0x48, 0xea, 0xe3, 0x5d, 0xd9, 0xd0, 0xef, 0x96, 0x38, 0x5a, 0xd4, 0xa5}}
return a, nil
}
var _readmeMd = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x54\x91\xc1\xce\xd3\x30\x10\x84\xef\x7e\x8a\x91\x7a\x01\xa9\x2a\x8f\xc0\x0d\x71\x82\x03\x48\x1c\xc9\x36\x9e\x36\x96\x1c\x6f\xf0\xae\x93\xe6\xed\x91\xa3\xc2\xdf\xff\x66\xed\xd8\x33\xdf\x78\x4f\xa7\x13\xbe\xea\x06\x57\x6c\x35\x39\x31\xa7\x7b\x15\x4f\x5a\xec\x73\x08\xbf\x08\x2d\x79\x7f\x4a\x43\x5b\x86\x17\xfd\x8c\x21\xea\x56\x5e\x47\x90\x4a\x14\x75\x48\xde\x64\x37\x2c\x6a\x96\xae\x99\x48\x05\xf6\x27\x77\x13\xad\x08\xae\x8a\x51\xe7\x25\xf3\xf1\xa9\x9f\xf9\x58\x58\x2c\xad\xbc\xe0\x8b\x56\xf0\x21\x5d\xeb\x4c\x95\xb3\xae\x84\x60\xd4\xdc\xe6\x82\x5d\x1b\x36\x6d\x39\x62\x92\xf5\xb8\x11\xdb\x92\xd3\x28\xce\xe0\x13\xe1\x72\xcd\x3c\x63\xd4\x65\x87\xae\xac\xe8\xc3\x28\x2e\x67\x44\x66\x3a\x21\x25\xa2\x72\xac\x14\x67\xbc\x84\x9f\x53\x32\x8c\x52\x70\x25\x56\xd6\xfd\x8d\x05\x37\xad\x30\x9d\x9f\xa6\x86\x0f\xcd\x58\x7f\xcf\x34\x93\x3b\xed\x90\x9f\xa4\x1f\xcf\x30\x85\x4d\x07\x58\xaf\x7f\x25\xc4\x9d\xf3\x72\x64\x84\xd0\x7f\xf9\x9b\x3a\x2d\x84\xef\x85\x48\x66\x8d\xd8\x88\x9b\x8c\x8c\x98\x5b\xf6\x74\x14\x4e\x33\x0d\xc9\xe0\x93\x38\xda\x12\xc5\x69\xbd\xe4\xf0\x2e\x7a\x78\x07\x1c\xfe\x13\x9f\x91\x29\x31\x95\x7b\x7f\x62\x59\x37\xb4\xe5\x5e\x25\xfe\x33\xee\xd5\x53\x71\xd6\xda\x3a\xd8\xcb\xde\x2e\xf8\xa1\x90\x55\x53\x0c\xc7\xaa\x0d\xe9\x76\x14\x29\x1c\x7b\x68\xdd\x2f\xe1\x6f\x00\x00\x00\xff\xff\x3c\x0a\xc2\xfe\x2a\x02\x00\x00")
func readmeMdBytes() ([]byte, error) {
return bindataRead(
_readmeMd,
"README.md",
)
}
func readmeMd() (*asset, error) {
bytes, err := readmeMdBytes()
if err != nil {
return nil, err
}
info := bindataFileInfo{name: "README.md", size: 554, mode: os.FileMode(0644), modTime: time.Unix(1684179677, 0)}
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x1c, 0x6e, 0xfb, 0xcc, 0x81, 0x94, 0x4d, 0x8c, 0xa0, 0x3b, 0x5, 0xb0, 0x18, 0xd6, 0xbb, 0xb3, 0x79, 0xc8, 0x8f, 0xff, 0xc1, 0x10, 0xf9, 0xf, 0x20, 0x1b, 0x4a, 0x74, 0x96, 0x42, 0xd7, 0xa8}}
return a, nil
}
var _docGo = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x84\x52\x3f\x8f\xdb\x3e\x0c\xdd\xf3\x29\x1e\x6e\xb9\xe5\x22\x07\xf8\xfd\xa6\xdb\x3a\x74\xe8\xd2\x2e\xd9\x0b\x46\xa6\x6d\x22\x32\xe5\x8a\xf4\x39\xf9\xf6\x85\x74\x17\x9c\x51\x14\xe8\x4a\x89\x8f\xef\x5f\xd7\xe1\x3c\x89\x61\x90\xc4\x10\x83\x72\x64\x33\x2a\x77\x5c\x38\xd2\x6a\x8c\xa7\x51\x7c\x5a\x2f\x21\xe6\xb9\x33\x27\x5f\xed\x28\x73\x37\xcb\x58\xc8\xb9\x7b\xfb\xff\xe9\xd0\x75\x88\xa4\xcf\x8e\x89\xb4\x4f\xdc\xb0\x0c\xe6\x54\x5c\x74\xc4\x26\x3e\x81\xb0\x14\x1e\xe4\x16\xf0\xc5\x91\x98\xcc\xe1\x13\xf9\xb3\xc1\x27\x46\x24\xe3\x0a\x33\xe4\x82\x31\x1f\x2f\xa2\x3d\x39\x85\x3a\xfa\x36\xec\x26\x95\x61\xa4\x94\xb8\xc7\x50\xf2\xdc\x76\x8d\x66\x46\x2f\x85\xa3\xe7\x72\x7f\x01\x99\xb1\x43\x69\x66\xab\xfb\x13\xbd\x31\x34\x7f\x9c\x07\x69\xff\x6f\x45\xd8\x72\xb9\x1a\xc8\xc0\xb7\x85\xa3\x73\x1f\x0e\x15\xeb\xfb\x8f\xf3\xd7\x57\x9c\x27\xae\xf0\x55\x5a\x1e\x1a\x85\x66\x9e\x32\xf7\x06\xcf\x18\x72\x4a\x79\x6b\x0f\xab\xca\x0d\x2e\x33\x9b\xd3\xbc\x20\x66\x7d\x63\x75\xc9\x5a\xd1\x56\x4d\x72\xe5\xf6\xcf\xb7\x0c\x51\x71\xa1\xf4\xee\x5e\x93\x7e\x7e\x37\xe8\x11\x44\x5c\x4b\x61\xf5\x74\x6f\x2b\xac\xb1\xdc\x97\x8a\x85\x77\xe6\x92\xd5\x9a\xbc\xa5\x64\xcf\x31\xa7\xdd\xbc\xa2\xd9\x44\x85\x3f\x1d\x73\xba\x24\x7e\xc1\x36\x49\x9c\x30\x33\xa9\xb5\x40\xda\x87\x44\xce\xe6\x9f\xfb\x10\x85\x73\x99\xad\x0a\xae\xfc\xaa\xbb\x15\xb3\x16\xe7\x91\xc3\x8e\x50\x33\x7f\xa1\xf8\x51\x85\xc7\x95\xd5\xd8\x40\x7f\x98\xf2\x08\x79\x63\x50\xdf\xe3\x74\x3a\x9d\xfe\xfb\x19\x42\x68\x5d\xe0\x1b\xcd\x4b\xa5\xe9\xb5\xa3\x9b\xa4\x84\x0b\x43\x46\xcd\x85\xfb\xca\x8a\x6f\x62\xad\x64\x31\x09\xab\xd7\xcc\x2a\x5e\x4e\x3d\x97\xaa\x47\xf7\x7a\xfe\x66\x59\x38\x1c\x16\x8a\x57\x1a\x19\xf6\x2b\x89\x73\x0d\x7a\xcc\xaf\x23\x2b\xd7\x3a\xec\xcb\x77\x5c\xae\xe3\xde\xec\x63\x46\x08\xdd\xe7\x20\x8c\x19\xe1\xf0\x3b\x00\x00\xff\xff\x12\xcd\x7f\xc4\x52\x03\x00\x00")
2019-07-17 22:25:42 +00:00
func docGoBytes() ([]byte, error) {
return bindataRead(
_docGo,
"doc.go",
)
}
func docGo() (*asset, error) {
bytes, err := docGoBytes()
if err != nil {
return nil, err
}
info := bindataFileInfo{name: "doc.go", size: 850, mode: os.FileMode(0644), modTime: time.Unix(1684179677, 0)}
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xa0, 0xcc, 0x41, 0xe1, 0x61, 0x12, 0x97, 0xe, 0x36, 0x8c, 0xa7, 0x9e, 0xe0, 0x6e, 0x59, 0x9e, 0xee, 0xd5, 0x4a, 0xcf, 0x1e, 0x60, 0xd6, 0xc3, 0x3a, 0xc9, 0x6c, 0xf2, 0x86, 0x5a, 0xb4, 0x1e}}
2019-07-17 22:25:42 +00:00
return a, nil
}
// Asset loads and returns the asset for the given name.
// It returns an error if the asset could not be found or
// could not be loaded.
func Asset(name string) ([]byte, error) {
canonicalName := strings.Replace(name, "\\", "/", -1)
if f, ok := _bindata[canonicalName]; ok {
2019-07-17 22:25:42 +00:00
a, err := f()
if err != nil {
return nil, fmt.Errorf("Asset %s can't read by error: %v", name, err)
}
return a.bytes, nil
}
return nil, fmt.Errorf("Asset %s not found", name)
}
// AssetString returns the asset contents as a string (instead of a []byte).
func AssetString(name string) (string, error) {
data, err := Asset(name)
return string(data), err
}
2019-07-17 22:25:42 +00:00
// MustAsset is like Asset but panics when Asset would return an error.
// It simplifies safe initialization of global variables.
func MustAsset(name string) []byte {
a, err := Asset(name)
if err != nil {
panic("asset: Asset(" + name + "): " + err.Error())
}
return a
}
// MustAssetString is like AssetString but panics when Asset would return an
// error. It simplifies safe initialization of global variables.
func MustAssetString(name string) string {
return string(MustAsset(name))
}
2019-07-17 22:25:42 +00:00
// AssetInfo loads and returns the asset info for the given name.
// It returns an error if the asset could not be found or
// could not be loaded.
func AssetInfo(name string) (os.FileInfo, error) {
canonicalName := strings.Replace(name, "\\", "/", -1)
if f, ok := _bindata[canonicalName]; ok {
2019-07-17 22:25:42 +00:00
a, err := f()
if err != nil {
return nil, fmt.Errorf("AssetInfo %s can't read by error: %v", name, err)
}
return a.info, nil
}
return nil, fmt.Errorf("AssetInfo %s not found", name)
}
// AssetDigest returns the digest of the file with the given name. It returns an
// error if the asset could not be found or the digest could not be loaded.
func AssetDigest(name string) ([sha256.Size]byte, error) {
canonicalName := strings.Replace(name, "\\", "/", -1)
if f, ok := _bindata[canonicalName]; ok {
a, err := f()
if err != nil {
return [sha256.Size]byte{}, fmt.Errorf("AssetDigest %s can't read by error: %v", name, err)
}
return a.digest, nil
}
return [sha256.Size]byte{}, fmt.Errorf("AssetDigest %s not found", name)
}
// Digests returns a map of all known files and their checksums.
func Digests() (map[string][sha256.Size]byte, error) {
mp := make(map[string][sha256.Size]byte, len(_bindata))
for name := range _bindata {
a, err := _bindata[name]()
if err != nil {
return nil, err
}
mp[name] = a.digest
}
return mp, nil
}
2019-07-17 22:25:42 +00:00
// AssetNames returns the names of the assets.
func AssetNames() []string {
names := make([]string, 0, len(_bindata))
for name := range _bindata {
names = append(names, name)
}
return names
}
// _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,
"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,
feat: add verified wallet accounts to community requests This commit extends the `CommunityRequestToJoin` with `RevealedAddresses` which represent wallet addresses and signatures provided by the sender, to proof a community owner ownership of those wallet addresses. **Note: This only works with keystore files maanged by status-go** At high level, the follwing happens: 1. User instructs Status to send a request to join to a community. By adding a password hash to the instruction, Status will try to unlock the users keystore and verify each wallet account. 2. For every verified wallet account, a signature is created for the following payload, using each wallet's private key ``` keccak256(chatkey + communityID + requestToJoinID) ``` A map of walletAddress->signature is then attached to the community request to join, which will be sent to the community owner 3. The owner node receives the request, and if the community requires users to hold tokens to become a member, it will check and verify whether the given wallet addresses are indeed owned by the sender. If any signature provided by the request cannot be recovered, the request is immediately declined by the owner. 4. The verified addresses are then added to the owner node's database such that, once the request should be accepted, the addresses can be used to check on chain whether they own the necessary funds to fulfill the community's permissions The checking of required funds is **not** part of this commit. It will be added in a follow-up commit.
2023-03-17 09:19:40 +00:00
"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,
"README.md": readmeMd,
2023-06-29 07:23:02 +00:00
"doc.go": docGo,
}
2019-07-17 22:25:42 +00:00
// 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
// 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
2019-07-17 22:25:42 +00:00
// AssetDir("") will return []string{"data"}.
func AssetDir(name string) ([]string, error) {
node := _bintree
if len(name) != 0 {
canonicalName := strings.Replace(name, "\\", "/", -1)
pathList := strings.Split(canonicalName, "/")
2019-07-17 22:25:42 +00:00
for _, p := range pathList {
node = node.Children[p]
if node == nil {
return nil, fmt.Errorf("Asset %s not found", name)
}
}
}
if node.Func != nil {
return nil, fmt.Errorf("Asset %s not found", name)
}
rv := make([]string, 0, len(node.Children))
for childName := range node.Children {
rv = append(rv, childName)
}
return rv, nil
}
type bintree struct {
Func func() (*asset, error)
Children map[string]*bintree
}
2019-07-17 22:25:42 +00:00
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{}},
"README.md": &bintree{readmeMd, map[string]*bintree{}},
"doc.go": &bintree{docGo, map[string]*bintree{}},
2019-07-17 22:25:42 +00:00
}}
// RestoreAsset restores an asset under the given directory.
2019-07-17 22:25:42 +00:00
func RestoreAsset(dir, name string) error {
data, err := Asset(name)
if err != nil {
return err
}
info, err := AssetInfo(name)
if err != nil {
return err
}
err = os.MkdirAll(_filePath(dir, filepath.Dir(name)), os.FileMode(0755))
if err != nil {
return err
}
err = ioutil.WriteFile(_filePath(dir, name), data, info.Mode())
2019-07-17 22:25:42 +00:00
if err != nil {
return err
}
return os.Chtimes(_filePath(dir, name), info.ModTime(), info.ModTime())
2019-07-17 22:25:42 +00:00
}
// RestoreAssets restores an asset under the given directory recursively.
2019-07-17 22:25:42 +00:00
func RestoreAssets(dir, name string) error {
children, err := AssetDir(name)
// File
if err != nil {
return RestoreAsset(dir, name)
}
// Dir
for _, child := range children {
err = RestoreAssets(dir, filepath.Join(name, child))
if err != nil {
return err
}
}
return nil
}
func _filePath(dir, name string) string {
canonicalName := strings.Replace(name, "\\", "/", -1)
return filepath.Join(append([]string{dir}, strings.Split(canonicalName, "/")...)...)
2019-07-17 22:25:42 +00:00
}